Flashback是Oracle中一个重要的功能,想要使用闪回数据库功能,需要将数据库置于闪回数据库的状态。
1.检查数据库是否开启归档状态
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 25
Next log sequence to archive 27
Current log sequence 27
如果数据库为开启归档模式
--关闭数据库
SQL> shutdown immediate
--打开数据库都mount阶段
SQL> startup mount
--开启归档模式
SQL> alter database archivelog;
--打开数据库
SQL> alter database open;
2.检查数据库是否启用数据库闪回功能
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
NO
3.修改db_recovery_file_dest、db_recovery_file_dest_size及db_flashback_retention_target三个参数内容1)db_recovery_file_dest、db_recovery_file_dest_size两个参数用于指定闪回日志存放位置及最大大小。可以根据具体环境做相应调整使用alter system set语句进行修改
SQL> show parameter db_recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/oracle/fast_recovery_area
db_recovery_file_dest_size big integer 4182M
2)查看db_flashback_retention_target保留时间
SQL> show parameter db_flashback
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 1440
4.启动数据库到mount阶段
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 784998400 bytes
Fixed Size 2257352 bytes
Variable Size 478154296 bytes
Database Buffers 301989888 bytes
Redo Buffers 2596864 bytes
Database mounted.
5.启用flashback功能,并打开数据库
--启用flashback功能
SQL> alter database flashback on;
Database altered.
--打开数据库
SQL> alter database open;
Database altered.
6.验证闪回功能是否已开启
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
YES