Oracle Delete表恢复(ODU)

本文介绍了一种在Oracle数据库中恢复被误删除表数据的方法。主要包括:调整unload_deleted参数为YES,生成数据字典unloaddict,使用unloadtable命令恢复表数据。并通过一个实例演示了整个恢复过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值