행위

"오라클 데이터 복구"의 두 판 사이의 차이

DB CAFE

11번째 줄: 11번째 줄:
 
※ 설정  
 
※ 설정  
 
1. 자동 언두 관리 시스템을 사용해야 합니다. (UNDO_MANAGEMENT 파라미터를 AUTO로 설정)
 
1. 자동 언두 관리 시스템을 사용해야 합니다. (UNDO_MANAGEMENT 파라미터를 AUTO로 설정)
  - UNDO_MANAGEMENT = AUTO
+
<source>
 
+
    UNDO_MANAGEMENT = AUTO
 +
</source>
 
2. 이전의 어느 시점까지의 언두(UNDO)정보를 보유하여 Flashback Query를 수행할것인지 UNDO_RETENTION 파라미터를 설정해야 한다.
 
2. 이전의 어느 시점까지의 언두(UNDO)정보를 보유하여 Flashback Query를 수행할것인지 UNDO_RETENTION 파라미터를 설정해야 한다.
   - ALTER SYSTEM SET UNDO_RETENTION=1200
+
<source>
 +
   ALTER SYSTEM SET UNDO_RETENTION=1200
 +
</source>
  
 
설정 확인 =>
 
설정 확인 =>
31번째 줄: 34번째 줄:
 
SQL
 
SQL
 
</source>
 
</source>
 
 
 
 
 
  
 
※ 사용자
 
※ 사용자
 
 
 
 
Flashback 기능을 이용하기 위해서 DBMS_FLASHBACK 패키지에 대한 EXECUTE권한이 있어야 합니다.
 
Flashback 기능을 이용하기 위해서 DBMS_FLASHBACK 패키지에 대한 EXECUTE권한이 있어야 합니다.
 
 
 
 
  
 
▶ Flashback을 사용할 수 있는 조건
 
▶ Flashback을 사용할 수 있는 조건
 
 
 
 
하지만 모두 복구 할 수 있는 것은 아니다.
 
하지만 모두 복구 할 수 있는 것은 아니다.
 
 
  
 
오라클은 데이터를 FLASHBACK이라는 임시 저장소에 가지고 있는다.  
 
오라클은 데이터를 FLASHBACK이라는 임시 저장소에 가지고 있는다.  
 
 
자료가 쌓이는 로그이다. 그렇기 때문에 일정시간 이내의 자료들은 어느정도 복구 가능하다.
 
자료가 쌓이는 로그이다. 그렇기 때문에 일정시간 이내의 자료들은 어느정도 복구 가능하다.
 
 
시스템의 설정, 버퍼의 크기에 따라 복구 할 수 있는 시간은 제한적 이다. (오라클 서버의 메모리 세팅에 따라 달라진다.)
 
시스템의 설정, 버퍼의 크기에 따라 복구 할 수 있는 시간은 제한적 이다. (오라클 서버의 메모리 세팅에 따라 달라진다.)
또한 제약조건이 추가되거나 컬림이 추가 된 경우, DROP한 후 PURGE한 경우 복원할 수 없다.
 
 
  
 +
'''또한 제약조건이 추가되거나 컬림이 추가 된 경우, DROP한 후 PURGE한 경우 복원할 수 없다.'''
  
 
  
 
▶ 테이블
 
▶ 테이블
 +
<source lang=sql>
 
SELECT *
 
SELECT *
FROM [TABLE 명] AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '수치' 단위)
+
  FROM [TABLE 명] AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '수치' 단위)
 
WHERE [조회조건]
 
WHERE [조회조건]
 
+
</source>
 
   
 
   
  
76번째 줄: 59번째 줄:
  
 
▶ 프로시저
 
▶ 프로시저
 +
<source lang=sql>
 
SELECT *
 
SELECT *
 
FROM DBA_SOURCE AS OF TIMESTAMP (SYSTIMESTAMP-INTERVAL '수치' 단위)
 
FROM DBA_SOURCE AS OF TIMESTAMP (SYSTIMESTAMP-INTERVAL '수치' 단위)
 
WHERE NAME = '프로시저이름'
 
WHERE NAME = '프로시저이름'
 
+
</source>
 
   
 
   
  
87번째 줄: 71번째 줄:
  
 
▶ EX)
 
▶ EX)
 
+
<source lang=sql>
 
SELECT  *   
 
SELECT  *   
 
FROM TEST_TABLE AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '20' MINUTE)   
 
FROM TEST_TABLE AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '20' MINUTE)   
 
WHERE COMPANY = 'SK'
 
WHERE COMPANY = 'SK'
 
+
</source>
 
 
 
 
 
 
 
테이블명과 조건을 입력하고 조회화면 20분 이전의 데이터가 조회된다.
 
테이블명과 조건을 입력하고 조회화면 20분 이전의 데이터가 조회된다.
 
 
 
단위는 SECOND, MINUTE, HOUR, DAY로 바꿔 쓸 수 있다.
 
단위는 SECOND, MINUTE, HOUR, DAY로 바꿔 쓸 수 있다.
 
  
 
오라클 9i(RELEASE 2이상) 이후부터 지원한다.
 
오라클 9i(RELEASE 2이상) 이후부터 지원한다.
 
 
 
출처: http://goddaehee.tistory.com/56?category=275012 [갓대희의 작은공간]
 

2019년 1월 24일 (목) 08:03 판

thumb_up 추천메뉴 바로가기


[Oracle| 오라클 데이터 복구 (TIMESTAMP)

데이터를 실수로 삭제(delete, truncate는 불가) 하고 commit하였을때 실수로 지운다던지, 복원을 시켜야 한다던지 당황하고 멘붕이 왔던 경험이 많을 것이다.

이때 특정시간 또는 시점으로 되돌릴 수 있는 기능이 Oracle Flashback 기능이다. 이 플래시백 기능을 통해 as of timestamp 구문을 사용하여 삭제 전의 데이터를 조회하여 복구 할 수 있다.


▶ Flashback을 사용할 수 있는 조건 ※ 설정 1. 자동 언두 관리 시스템을 사용해야 합니다. (UNDO_MANAGEMENT 파라미터를 AUTO로 설정)

UNDO_MANAGEMENT = AUTO

2. 이전의 어느 시점까지의 언두(UNDO)정보를 보유하여 Flashback Query를 수행할것인지 UNDO_RETENTION 파라미터를 설정해야 한다.

ALTER SYSTEM SET UNDO_RETENTION=1200

설정 확인 =>

show paramter undo;

NAME                     TYPE
-----------------------------------------------
VALUE
------------------------
undo_management          string
auto
auto_retention           integer
1200
UNDOTBS1
SQL

※ 사용자 Flashback 기능을 이용하기 위해서 DBMS_FLASHBACK 패키지에 대한 EXECUTE권한이 있어야 합니다.

▶ Flashback을 사용할 수 있는 조건 하지만 모두 복구 할 수 있는 것은 아니다.

오라클은 데이터를 FLASHBACK이라는 임시 저장소에 가지고 있는다. 자료가 쌓이는 로그이다. 그렇기 때문에 일정시간 이내의 자료들은 어느정도 복구 가능하다. 시스템의 설정, 버퍼의 크기에 따라 복구 할 수 있는 시간은 제한적 이다. (오라클 서버의 메모리 세팅에 따라 달라진다.)

또한 제약조건이 추가되거나 컬림이 추가 된 경우, DROP한 후 PURGE한 경우 복원할 수 없다.


▶ 테이블

SELECT *
  FROM [TABLE 명] AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '수치' 단위)
WHERE [조회조건]



▶ 프로시저

SELECT *
FROM DBA_SOURCE AS OF TIMESTAMP (SYSTIMESTAMP-INTERVAL '수치' 단위)
WHERE NAME = '프로시저이름'




▶ EX)

SELECT  *  
FROM TEST_TABLE AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '20' MINUTE)  
WHERE COMPANY = 'SK'

테이블명과 조건을 입력하고 조회화면 20분 이전의 데이터가 조회된다. 단위는 SECOND, MINUTE, HOUR, DAY로 바꿔 쓸 수 있다.

오라클 9i(RELEASE 2이상) 이후부터 지원한다.