DBCA创建数据库的时候,默认是不使用flash_recovery_area,不开启归档的。
本文以2个节点的rac为例,所阐述的内容是在新建数据库后,如何设置闪回恢复区,如何开启归档,设置归档路径。
1:设置flash_recovery_area(以下操作在一个节点上执行即可)
默认值如下:
SQL> show parameter db_recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 0
设置参数:
SQL> alter system set db_recovery_file_dest_size=1800m;
System altered.
SQL> alter system set db_recovery_file_dest='+FRA1';
System altered.
在2个节点查看参数信息,结果一致:
SQL> show parameter db_recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string +FRA1
db_recovery_file_dest_size big integer 1800M
2:开启归档模式
---关闭所有数据库实例
[root@rac1 bin]# ./srvctl stop database -d narutom
---数据库启动到mount阶段
[root@rac1 bin]# ./srvctl start database -d narutom -o mount
---开启归档模式
sql> alter database archivelog;
在执行该命令的节点1,执行archive log list显示如下:
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 3
Next log sequence to archive 4
Current log sequence 4
但是2节点显示还是未归档,这是因为2节点加载的是旧的控制文件,关闭所有数据库实例,并重启。
3:重启数据库实例
[root@rac1 bin]# ./srvctl stop database -d narutom
[root@rac1 bin]# ./srvctl start database -d narutom
重启后,2个实例都是enable Automatic archival,并使用flash_recovery_area来存放归档。
4:不使用flash_recovery_area存放归档,使用log_archive_dest_n这个参数,来设置归档路径。
指定这个参数后,就不会再往flash_recovery_area存放归档;
以下以使用log_archive_dest_1这个参数为例:
(1)首先在+FRA1磁盘组下创建目录:
ASMCMD> mkdir arch1
ASMCMD> mkdir arch2
ASMCMD> mkdir arch
(2)设置归档目录,2种方式,任选一种。
把2个节点的归档放在一个目录下面,在任意节点执行下列语句
SQL>alter system set log_archive_dest_1='location=+FRA1/arch';
把2个节点的归档放在不同的目录下
在节点1执行:SQL> alter system set log_archive_dest_1='location=+FRA1/arch1' sid='narutom1';
在节点2执行:SQL> alter system set log_archive_dest_1='location=+FRA1/arch2' sid='narutom2';
5:log_archive_dest_1这个参数设置归档目录后,再次使用flash_recovery_area,执行下面命令:
SQL> alter system set log_archive_dest_1='location=use_db_recovery_file_dest';
如果把这个参数置空,alter system set log_archive_dest_1='';
执行这个命令的话,oracle并不会去使用flash_recovery_area,oracle数据库会自动把归档放在一个目录下,
而这个目录并不是我们所希望的。
end!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25923810/viewspace-1068504/
,如需转载,请注明出处,否则将追究法律责任。