Oracle 闪回truncate 删除的表中数据 说明:数据库默认闪回时间为一天说明:数据库默认闪回时间为一天
【1】查询恢复设置时间】查询恢复设置时间
SQL> show parameter flashback
flashback 功能默认为功能默认为1440分钟,也就一天时间分钟,也就一天时间
【2】查看数据库闪回状态是否可用】查看数据库闪回状态是否可用
SQL> select flashback_on from v$database;
FLASHBACK_ON
-----------
NO
flashback_on 为NO,也就是没有开flashback 功能,当truncate 删除数据时,无法使用flashback
【3】设置flashback_on 为开启状态,要求数据库必须在mount 状态下打开状态下打开 SQL> shutdown immediate;
数据库已经关闭。数据库已经关闭。
已经卸载数据库。已经卸载数据库。
ORACLE 例程已经关闭。例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。例程已经启动。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 109052708 bytes
Database Buffers 155189248 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。数据库装载完毕。
SQL> alter database flashback on;
数据库已更改。数据库已更改。
说明:如果数据库为非归档模块,会提示“必须启用介质恢复功能” 解决方法:1)SQL> shutdown immediate;
2)SQL> startup mount;
3)SQL> alter database archivelog;
【4】truncate 删除表中数据删除表中数据
SQL> truncate table jg_rk;
表被截断。 ----数据被删除数据被删除
SQL> select * from dept;
未选定行 ----表中数据不存在表中数据不存在
【5】恢复删除数据(必须以DBA 的身份登陆后)的身份登陆后)
SQL> shutdown immediate
数据库已经关闭。数据库已经关闭。
已经卸载数据库。已经卸载数据库。
ORACLE 例程已经关闭。例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。例程已经启动。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes Variable Size 117441316 bytes
Database Buffers 146800640 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。数据库装载完毕。
SQL> flashback database to timestamp
2 to_timestamp('2010-10-08 13:30:30','yyyy-mm-dd hh24:mi:ss'); 闪回完成。闪回完成。truncate删除数据
SQL> alter database open read write;
数据库已更改。数据库已更改。
SQL>select * from jg_rk; 可以查看恢复的数据可以查看恢复的数据
注意:注意: 一旦resetlogs 之后,将不能再flashback 至resetlogs 之前的时间点。之前的时间点。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论