日期: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