ORACLE 오라클 쿼리 복구

2014.01.25 21:01

졸리운_곰 조회 수:3463

 

오라클 쿼리 복구

[출처] http://keizwer.tistory.com/entry/%EC%BF%BC%EB%A6%AC-%EC%97%90%EB%94%94%ED%84%B0-%ED%88%B4%EC%9D%B4-%EB%82%A0%EB%A0%A4%EB%A8%B9%EC%9D%80-%EC%BF%BC%EB%A6%AC-%EB%B3%B5%EA%B5%AC%ED%95%98%EA%B8%B0

 


 

먼저.. 오라클에 해당하는 내용이다.

쿼리문을 커맨드창이나 메모장에서 작성하기는.... 흠좀무 다..
그래서 쿼리 에디터 툴을 쓰기 마련이다.
오라클에서 제공하는 SQL Developer나 두꺼비를 쓰던지 귤을 쓰던지 쿼리를 작성을 하게 된다.
그러다가 느닷없이 재앙은 다가온다.. 어플리케이션이 갑자기 죽어 버린다. 저장도 안 했는데...
다행스럽게도 재 시작하면 이전 쿼리를 복구 시켜 준다거나 쿼리 히스토리가 기록되어 있어서
복구 시키면 된다.
하지만.. 때때로 이 놈이 복구가 안 되는 수가 있다. 이럴땐 진짜 의욕상실이다.
해서 에디터 프로그램에서 날려먹은 쿼리를 DB에서 찾아 오는 방법도 알아 둘 필요가 있다고 느꼈다.
어제 그랬으니까 -_-

실행환경은 ORACLE 10g 다.
v$sqlareav$sqltext는 퍼포먼스 확인이나 lock 걸린 쿼리 잡아내는 용도로 쓰이지만 복구용으로 써 보자.

0. 최대한 빨리 실행해야 한다. 이유는 묻지 말자.

1. v$sqlarea 테이블에서 기억나는 쿼리 구문으로 찾는다.     

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

  select *
     from v$sqlarea
    where sql_text like '%emp%'

   시간을 기억하고 있다면 조건절에 first_load_time 를 거는 것은 좋은 생각.
   조회하는 시간 포맷은 아래와 같다. 

  select sql_text,sql_id,first_load_time
     from v$sqlarea
  where sql_text like '%emp%'
     and first_load_time > '2008-09-24/20:00:00'


2. 쿼리가 1000byte미만이라면 모든 쿼리가 나오겠지만 1000바이트 이상이라면
   쿼리의 뒷부분이 날아가 있다. 나머지 쿼리도 모두 복구해 보자.
   쿼리를 찾았다면 해당 row의 SQL_ID 를 복사해 둔다.
   예를 들어서 SQL_ID가 '53dchps3sn7p2' 라고 하자.

3. v$sqltext 테이블에서 조각을 끼워 맞춘다.
   출력은 text output 으로 하는 것이 좋다. 긁어서 에디터에 붙여야 하므로..  

    select *
     from v$sqltext
    where sql_id = '53dchps3sn7p2'
    order by piece

 
   결과값으로 나온 쿼리는 일정한 바이트에 따라서 잘려져 있으므로
   에디터에서 정상적인 쿼리가 되도록 수정해야 한다. 캡숑 삽질이다.

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86919
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79210
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95942
13 [데이터 수집 및 전처리] 주식 전종목 어떻게 불러올까? 거래소 종목 불러오기 file 졸리운_곰 2023.12.09 1704
12 [데이터 수집 및 전처리] [Python/파이썬]네이버증권API 활용 - 회사명, 종목코드 받아오기 file 졸리운_곰 2023.12.08 1510
11 [데이터 수집 및 전처리] 네이버 금융(차트)에서 주가 갈무리(크롤링)하기 file 졸리운_곰 2023.12.08 1497
10 [데이터 수집 및 전처리] 네이버 증권에서 일봉, 주봉 데이터 가져오기 file 졸리운_곰 2023.12.08 1504
9 [데이터 수집 및 전처리] (놀라운) 한글 데이터 짱! AwesomeKorean_Data file 졸리운_곰 2023.03.07 1200
8 [데이터 수집 및 전처리] Crawling, Scraping file 졸리운_곰 2022.05.21 1477
7 [데이터분석][데이터수집 전처리] MS 엑셀(Excel)에서 UTF-8 로 된 csv 파일 가져오기 file 졸리운_곰 2021.09.30 1417
6 카프카 설치 시 가장 중요한 설정 4가지 졸리운_곰 2021.07.13 1930
5 Prometheus Query(PromQL) 기본 이해하기 file 졸리운_곰 2020.12.17 1416
4 [인프라 모니터링 오픈소스] Prometheus 를 알아보자 file 졸리운_곰 2020.12.17 1913
3 Prometheus + Grafana 대시보드 file 졸리운_곰 2020.12.17 2493
2 Grafana란? file 졸리운_곰 2020.12.17 2166
1 Importing wikipedia dump to MySql 졸리운_곰 2020.10.04 2500
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED