오라클 drop 된 테이블 복원 ( Flashback ) Recycle Bin 에 있는 객체 조회 및 쿼리방법
실수로 삭제하지 않아야 할 테이블을 삭제했을 경우 당혹스러울 때가 있는데 오라클에서는 drop 된 테이블도 복원할 수 있는 기능이 있습니다.
바로 Flashback 이라는 기능인데 테이블을 drop 할 때 데이터베이스는 테이블과 연관된 공간을 바로 제거하지는 않습니다.
데이터베이스는 테이블의 이름을 변경하여 관련 오브젝트를 Recycle Bin에 넣습니다.
위에서 말한대로 사용자가 실수로 테이블을 drop 했을 때 복구할 수 있습니다.
이 기능을 Flashback Drop 이라고하며 FLASHBACK TABLE 문을 사용하여 테이블을 복원 가능합니다.
FLASHBACK TABLE 문을 사용하기 전에 Recycle Bin의 작동 방식과 관리방법을 이해하도록 하겠습니다.
FlashBack 에 대한 내용은 4가지 주제로 구성됩니다.
2. Recycle Bin 에 있는 객체 조회 및 쿼리방법
2. Recycle Bin 에 있는 객체 조회 및 쿼리방법
오라클 데이터베이스는 Recycle Bin 에 있는 오브젝트에 대한 정보를 얻는 2가지 View 를 제공합니다.
USER_RECYCLEBIN
- 이 View 는 사용자가 자신의 삭제된 객체를 Recycle Bin에 표시하는데 사용할 수 있습니다.
synonym 으로 RECYCLEBIN 을 사용할 수 있습니다.
DBA_RECYCLEBIN
- 이 View 는 관리자에게 제공된 것으로 Recycle Bin 에 있는 모든 삭제된 객체를 볼 수 있습니다.
이러한 View 의 한가지 용도는 데이터베이스가 삭제된 객체에 할당한 이름을 식별한 것입니다.
아래 예시 참조
SELECT object_name , original_name FROM dba_recyclebin WHERE owner = 'SCOTT' ; OBJECT_NAME ORIGINAL_NAME ------------------------------ ----------------------- BIN$Ulu8B5c+Oz3gUOABLqObkg==$0 EMPLOYEES
SQL Plus Command 인 SHOW RECYCLEBIN 을 사용하여 Recycle Bin 의 내용을 조회할 수 있습니다.
SQL> show recyclebin ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ---------------- ------------------- EMPLOYEES BIN$Ulu8B5c+Oz3gUOABLqObkg==$0 TABLE 2017-06-20:14:00:19
다른 객체를 쿼리할 수 있는것처럼 Recycle Bin 에 있는 객체를 쿼리할 수 있습니다.
그러나 Recycle Bin 에서 식별된대로 객체의 이름을 지정해야 합니다.
SELECT * FROM "BIN$Ulu8B5c+Oz3gUOABLqObkg==$0";
다음에는 Recycle Bin 에 있는 객체를 제거하는 방법에 대해 알아보겠습니다.
'IT > Oracle' 카테고리의 다른 글
오라클 drop 된 테이블 복원 ( Flashback ) Recycle Bin 에서 테이블 복원 (4) | 2017.06.24 |
---|---|
오라클 drop 된 테이블 복원 ( Flashback ) Recycle Bin 에서 객체제거 (0) | 2017.06.23 |
오라클 drop 된 테이블 복원 ( Flashback ) Recycle Bin 이란 무엇인가 (0) | 2017.06.21 |
오라클 SQL 튜닝 by Nested Loops Join (0) | 2017.06.20 |
오라클 테이블 생성 ( not null enable ) (1) | 2017.06.01 |