개발/운영 데이터나 테이블을 드랍했을 시 사용할수 있는 오라클 제공 flashback 기능이다.
이 기능은 간단하게 휴지통 개념으로 보면되고 우리가 테이블을 지우거나 데이터를 날려도 휴지통에 보관하고 있기에 복구가 가능하다.
-- DELETE, DROP 하여 휴지통에 저장된 내역 확인
SELECT * FROM RECYCLEBIN
WHERE ORIGINAL_NAME = '테이블명' ;
--DROP, DELETE된 테이블 복원 (복원시 새이름으로 테이블 생성하여 지워진 데이터나 테이블을 복원)
flashback TABLE "BIN$crpyJAUNZLfgVAAAAAAAAA==$0" to before drop RENAME TO '테이블명'
;
-- INVALID된것을 재컴파일
SELECT * FROM ALL_OBJECTS
WHERE 1=1
AND OBJECT_TYPE IN ('VIEW', 'FUNCTION', 'PROCEDURE', 'PACKAGE BODY', 'PACKAGE')
AND STATUS = 'INVALID'
;
-- 프로시저, 펑션, 패키지, 뷰 등 INVALID 된것을 재컴파일
EXEC DBMS_UTILITY.compile_schema(schema => '사용자', compile_all => false