Oracle Delete表恢復(ODU)

chenoracle發表於2017-12-29


Oracle Delete表恢復(ODU)


表中資料被
DELETE

·   (1)將引數unload_deleted設定為YES

·   (2)生成資料字典:unload dict

·   (3)恢復表: unload table username.tablename


---模擬誤刪除

create table t0 as select * from dba_objects;

create table t0_bak as select * from t0;

select count(*) from t0; ---86159

delete t0 where object_id>85000; commit;

select count(*) from t0; ---84141

一:將引數unload_deleted設定為YES

二:生成資料字典

三:恢復表


rename t0 to tt0;

CREATE TABLE "CHEN"."T0"

(

    "OWNER" VARCHAR2(30) ,

    "OBJECT_NAME" VARCHAR2(128) ,

    "SUBOBJECT_NAME" VARCHAR2(30) ,

    "OBJECT_ID" NUMBER ,

    "DATA_OBJECT_ID" NUMBER ,

    "OBJECT_TYPE" VARCHAR2(19) ,

    "CREATED" DATE ,

    "LAST_DDL_TIME" DATE ,

    "TIMESTAMP" VARCHAR2(19) ,

    "STATUS" VARCHAR2(7) ,

    "TEMPORARY" VARCHAR2(1) ,

    "GENERATED" VARCHAR2(1) ,

    "SECONDARY" VARCHAR2(1) ,

    "NAMESPACE" NUMBER ,

    "EDITION_NAME" VARCHAR2(30)

);


四:通過sqlldr將資料載入到資料庫


5:驗證資料

select count(*) from t0; ---86159

select * from t0 where object_id>85000;

......

 

 

原文連結如下:

http://www.laoxiong.net/category/odu

http://www.laoxiong.net/odu_recover_drop_table.html#more-95

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2149488/,如需轉載,請註明出處,否則將追究法律責任。

相關文章