首先数据库得处于归档模式。
1.确定数据库为归档模式。
节点1:
archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/archivelog1
Oldest online log sequence 1
Next log sequence to archive 1
Current log sequence 1
节点2:
archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/archivelog1
Oldest online log sequence 1
Next log sequence to archive 1
Current log sequence 1
2.修改闪回区大小。
alter system set db_recovery_file_dest_size=2g scope=both;
在这里说下这个SCOPE的参数详解:
SCOPE参数值有三个选项。
SCOPE=MEMORY:只改变当前实例运行,亦即初始化参数改变了只对当前实例有效,当实例重启之后,初始化参数值还原。
SCOPE=SPFILE:只改变SPFILE的设置。亦即改变初始化参数文件内容。实例重启后参数生效。
SCOPE=BOTH,既改变实例也改变SPFILE。指定这个选项相当于不带参数的alter system语句。需要注意的是,如果修改静态参数,必须指定SPFILE参数(必须表明SCOPE=MEMOEY或者SCOPE=SPFILE),否则会报错。
3.修改闪回区位置,这个位置要位于共享存储区域。
alter system set db_recovery_file_dest='+RECOVERYDEST' scope=both;
4.修改保留时间。
alter system set db_flashback_retention_target=1440 scope=spfile;
以上三个步骤分别在两个节点都执行。 在RAC 的环境中,可以改成SCOPE=SPFILE 或者加个 sid=* 这样的话就只需要改一个节点的就好了。 另一个重启就会读取新的参数配置。
5.关闭两节点的数据库并启动第一节点到MOUNT 状态下。
6.开启数据库闪回。在第一节点执行:
alter database flashback on;
7.打开第二节点的数据库。
8. 查看是否开启闪回。
节点1:
select flashback_on from v$database;
FLASHBACK_ON
------------------
YES
节点2:
select flashback_on from v$database;
FLASHBACK_ON
------------------
YES