recyclebin学习
recyclebin学习
views: user_recyclebin recyclebin dba_recyclebin SELECT object_name, original_name FROM dba_recyclebin WHERE owner = 'HR'; show recyclebin ----------只能普通用户使用 SELECT * FROM "BIN$yrMKlZaVMhfgNAgAIMenRA==$0"; create table xxx as select * from "BIN$yrMKlZaVMhfgNAgAIMenRA==$0";
貌似可以重建已被drop的表
清除对象:
hr.int_admin_emp ----》 BIN$jsleilx392mk2=293$0 1. PURGE TABLE BIN$jsleilx392mk2=293$0; 2. PURGE TABLE int_admin_emp(ORIGINAL_NAME); 3. PURGE TABLESPACE example;------清除位于某tbs中的所有表 4. PURGE TABLESPACE example USER oe; ----清除所有位于某tbs,且属于mouuser的所有表 5. PURGE RECYCLEBIN; ----清除当前用户所属对象 6. purge dba_recyclebin ; ----sysdba权限用户清空recyclebin
恢复删除的对象:
SELECT object_name, original_name, createtime FROM recyclebin; OBJECT_NAME ORIGINAL_NAME CREATETIME ------------------------------ --------------- -------------------BIN $yrMKlZaLMhfgNAgAIMenRA==$0 INT2_ADMIN_EMP 2006-02-05:21:05:52 BIN$yrMKlZaVMhfgNAgAIMenRA==$0 INT2_ADMIN_EMP 2006-02-05:21:25:13 BIN$yrMKlZaQMhfgNAgAIMenRA==$0 INT2_ADMIN_EMP 2006-02-05:22:05:53 FLASHBACK TABLE "BIN$yrMKlZaVMhfgNAgAIMenRA==$0" TO BEFORE DROP; flashback table hr.EMP_1 to before drop;
恢复删除的依赖对象:
1、确定原来的对象名
SELECT OBJECT_NAME, ORIGINAL_NAME, TYPE FROM RECYCLEBIN; OBJECT_NAME ORIGINAL_NAME TYPE ------------------------------ ------------------------- -------- BIN$DBo9UChtZSbgQFeMiAdCcQ==$0 JHIST_JOB_IX INDEX BIN$DBo9UChuZSbgQFeMiAdCcQ==$0 JHIST_EMPLOYEE_IX INDEX BIN$DBo9UChvZSbgQFeMiAdCcQ==$0 JHIST_DEPARTMENT_IX INDEX BIN$DBo9UChwZSbgQFeMiAdCcQ==$0 JHIST_EMP_ID_ST_DATE_PK INDEX BIN$DBo9UChxZSbgQFeMiAdCcQ==$0 JOB_HISTORY TABLE
2、查找已恢复的表的相关index
SELECT INDEX_NAME FROM USER_INDEXES WHERE TABLE_NAME = 'JOB_HISTORY'; INDEX_NAME ------------------------------ BIN$DBo9UChwZSbgQFeMiAdCcQ==$0 BIN$DBo9UChtZSbgQFeMiAdCcQ==$0 BIN$DBo9UChuZSbgQFeMiAdCcQ==$0 BIN$DBo9UChvZSbgQFeMiAdCcQ==$0
3、重命名index
ALTER INDEX "BIN$DBo9UChtZSbgQFeMiAdCcQ==$0" RENAME TO JHIST_JOB_IX; ALTER INDEX "BIN$DBo9UChuZSbgQFeMiAdCcQ==$0" RENAME TO JHIST_EMPLOYEE_IX;