日期:2014-05-16 浏览次数:20542 次
一、ORACLE闪回原理和配置:
如果Oracle10g数据库中误删除了一个表中的记录,例如删除了一个非常重要的雇员信息,并且该事务已经提交了,如何快速找回误删除的数据呢?
这种情况下可以利用Oracle10g数据库的闪回功能实现找回丢失的数据。具体的说就是行闪回。
行级闪回是指获取先前某个时间点或某个SCN值时表的行数据。行级闪回有两种方式,一是闪回到某个时间点,二是闪回到某个SCN号。
实验如下:
首先以SYS用户连接数据库,查询数据库是否开启了闪回功能。
SQL> select flashback_on from v$database;
FLASHBACK_ON ------------------ NO
SQL> |
如果没有开启闪回功能,则需要SHUTDOWN IMMEDIATE数据库,然后将数据库加载到MOUNT状态,使用ALTER DATABASE FLASHBACK ON 开启数据库闪回功能。
还需要设置参数db_flashback_retention_target。实例如下:
SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup mount; ORACLE 例程已经启动。
Total System Global Area 289406976 bytes Fixed Size 1248600 bytes Variable Size 92275368 bytes Database Buffers 192937984 bytes Redo Buffers 2945024 bytes 数据库装载完毕。
SQL> select name,log_mode,open_mode,flashback_on from v$database;
NAME LOG_MODE OPEN_MODE FLASHBACK_ON
|