flashback table to timestamp
oracle中经常碰到误删除数据的情况,之前都是通过as of timestamp 进行查询,然后进行update等反操作,今天发现可以直接flashbak table to 误操作之前的一个时间点,但是需要开始行迁移即:
1 | alter table[schema.]table_name enable row movement; |
语法:flashback table [schema.]table_name[,…n] to {[scn] [timestamp] [[enable disable] triggers]}
https://docs.oracle.com/cd/B28359\_01/server.111/b28286/statements\_9012.htm
当然这样的话就直接还原到误删除 的时间点了,有时候不确定是什么时候的误删除,可以通过as of timestamp 查询一下数据是否符合要求,如果符合要求就可以使用
1 | SQL> FLASHBACK TABLE scott.dept TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '11' minute); |
既可。
原文作者: liups.com
原文链接: http://liups.cn/posts/e3a72c01/
许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议