ORACLE 오라클 쿼리 복구

2014.01.25 21:01

졸리운_곰 조회 수:3450

 

오라클 쿼리 복구

[출처] 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 86127
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78632
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95352
83 전사아키텍처 프레임워크 개념 file 졸리운_곰 2014.06.05 2608
82 전사아키텍처 개념 file 졸리운_곰 2014.06.05 2149
81 [데이타모델링실무] 연습문제풀이 2014-04-15 [화] secret 졸리운_곰 2014.04.15 0
80 2014-04-14~18 데이타베이스진흥원 : 데이타베이스모델링 교육 secret 졸리운_곰 2014.04.14 0
79 Oracle DECODE문을 IF문처럼 사용하기. 졸리운_곰 2014.01.25 2472
78 [ORACLE] NVL함수 & DECODE함수 졸리운_곰 2014.01.25 2468
77 ※ Oracle 오라클 DECODE 함수 file 졸리운_곰 2014.01.25 2770
76 오라클 백업 및 복구(Datapump) 졸리운_곰 2014.01.25 2122
75 (Oracle) delete 복구 졸리운_곰 2014.01.25 2421
» 오라클 쿼리 복구 졸리운_곰 2014.01.25 3450
73 오라클 플래쉬백 사용하기(Flashback Query) 졸리운_곰 2014.01.25 2603
72 체크 제약조건 적용사례 졸리운_곰 2014.01.19 3169
71 유용한 오라클 쿼리 – 코멘트 조회 등 졸리운_곰 2014.01.02 4953
70 계층구조 쿼리의 활용 졸리운_곰 2014.01.02 3353
69 PL/SQL의 에러 처리방법 가을의곰을... 2013.12.27 4849
68 PL/SQL 예외 처리 가을의곰을... 2013.12.27 3375
67 [PLSQL] 상수와 변수 가을의곰을... 2013.12.27 4442
66 ORCLE 문자열을 숫자로, 숫자를 문자로, TO_CHAR(), TO_NUMBER() 가을의곰을... 2013.12.27 4797
65 PL_SQL 1일차 file 가을의곰을... 2013.12.27 4528
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED