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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29785807/viewspace-2149488/