본문 바로가기

카테고리 없음

오라클 drop/delete table 복구


개발/운영 데이터나 테이블을 드랍했을 시 사용할수 있는 오라클 제공 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