Oracle數據拯救計劃

 当我们误删/修改数据之后,要进行数据恢复,需要有数据库管理员权限才能实现,所以奉劝各位修改数据要好好确认,搞出异常来就很麻烦了。下面是一个数据恢复简单的例子:

DML Sql

 这里展示了修改的sql

UPDATE XX_MES_PROCESS SET PROCESS_ID=2;
commit;

管理员查询修改的时间点

select * from V$SQL WHERE  SQL_TEXT like '%UPDATE XX_MES_PROCESS SET PROCESS_ID=2%'

备份数据,删除修改

create table lin.XX_MES_PROCESS_bak as select * from lin.XX_MES_PROCESS as of timestamp to_timestamp('2024-01-05 23:00:34','yyyy-mm-dd hh24:mi:ss');
SELECT * FROM lin.XX_MES_PROCESS_bak
DELETE * FROM lin.XX_MES_PROCESS ;
INSERT INTO lin.XX_MES_PROCESS SELECT * FROM lin.XX_MES_PROCESS_bak;
COMMIT;

非管理員方式

 在11g環境測試過,只能回復數據還在內存內的數據,時間過長落盤後只能使用使用磁盤存儲

create table xx_lin_20240621 as 
SELECT * FROM xx_mes_wip   AS OF TIMESTAMP TO_TIMESTAMP('2024-06-21 08:50:00', 'YYYY-MM-DD HH24:MI:SS')  where  overdue_date=trunc(sysdate) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值