本文的操作系统环境是AIX 6.1. 在ORACLE RAC 的环境里运行DBCA 进行创建数据库时,如果选择打开FLASHBACK 功能,就需要设置DB_RECOVERY_AREA.
这个时候如果输入不是群集的文件系统,又不是ASM的磁盘目录,则将提示输入的目录不是群集的目录.
AIX的群集文件系统GPFS,需要另外购买和安装,这里不讨论。同时这次的ORACLE RAC 10GR2没有使用ASM,所以也无法使用asm设置DB_RECOVERY_AREA的目录。
鉴于上面的原因,笔者先在DBCA的安装过程中,关闭FLASHBACK的功能,等到数据库建立完成后,再重新配置。
ORACLE RAC的FLASHBACK后期安装设置的步骤为: 数据库设置为归档模式,然后再打开数据库的FLASHBACK 功能,具体描述如下:[@more@]
1.在两个节点设置归档日志的目录
在OS中配置归档日志存放的目录,两个节点都要配置.
AIX的操作步骤简述如下:
NODE1:
#smitty lvm 创建20G的LV(lv_archivelog)
#smitty jfs2 使用上面创建的LV,创建一个JFS2的文件系统,挂载在/archivelog/node1
#mount /archivelog/node1
#chown -R oracle:dba /archivelog/node1
#chmod -R 755 /archivelog/node1
SQL>alter system set log_archive_dest_1='LOCATION=/archivelog/node1' scope=spfile;
SQL>shutdown immediate;
NODE2:
#smitty lvm 创建20G的LV(lv_archivelog)
#smitty jfs2 使用上面创建的LV,创建一个JFS2的文件系统,挂载在/archivelog/node2
#mount /archivelog/node2
#chown -R oracle:dba /archivelog/node2
#chmod -R 755 /archivelog/node2
SQL>alter system set log_archive_dest_1='LOCATION=/archivelog/node2' scope=spfile;
SQL>shutdown immediate;
NODE1:
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open;
SQL>alter system switch logfile;
SQL>select name from v$archived_log; ##查看有没有产生归档日志文件
NODE2:
SQL>startup;
2. 设置FLASHBACK
db_recovery_file_dest是DB级的参数,不是INST级的参数,所以两个节点设置这个参数的值需要相同,否则第二个实例无法启动.
通过各种方法,在两个节点上可以同时读写同一个目录,这里的目录是/oracle/flash_recovery_file/
NODE1,NODE2:
#su - oracle
$cd /oracle
$mkdir flash_recovery_area
SQL>alter system set db_recovery_file_dest_size=2g scope=spfile;
SQL>alter system set db_recovery_file_dest='/oracle/flash_recovery_area/' scope=spfile;
SQL>shutdown immediate;
NODE1:
SQL>startup mount;
SQL>alter database flashback on;
SQL>alter database open;
NODE2:
SQL>startup;
3.查询数据库的归档模式,FLASHBACK设置情况
查询数据库归档模式:
SQL>archive log list; #归档模式
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /archivelog/zwsc2
Oldest online log sequence 1
Next log sequence to archive 4
Current log sequence 4
查询FLASHBACK的设置情况
SQL>SELECT FLASHBACK_ON FROM V$DATABASE;
FLASHBACK_ON
------------------
YES ## 已经打开,没有打开的值为NO.