oracle rac环境中归档日志的存放方式有如下几种方式:1. 本地文件系统2. 集群文件系统3. 网络文件系统(nfs)4. 自动存储管理(asm)
oracle rac环境中归档日志的存放方式有如下几种方式:
1. 本地文件系统
2. 集群文件系统
3. 网络文件系统(nfs)
4. 自动存储管理(asm)
归档日志的存放方式决定了归档日志可以采用的备份方式。对于方式2、3、4,归档日志的备份与单实例归档日志的备份是一样的,对于方式1,归档日志的备份要复杂一些,可以通过每个节点各自进行备份,也可在备份软件(这里只veritas netbackup)端进行一定的设置,然后统一备份所有节点的归档日志。但要注意归档日志的恢复,应该让所有thread生成的归档对应用归档的实例可见。
方式2、3、4,rman脚本如下:
run {
allocate channel ch00 device type sbt;
sql 'alter system archive log current';
backup
format 'arch_%d_%s_%p_%t'
(archivelog all delete input);
release channel ch00;
}
备注:在采用nfs方式进行归档日志备份时可能会遇到如下错误:
ora-27054: nfs file system where the file is created or resides is not mounted with correct options
该错误的解决方法有两种:
1.在进行nfs文件系统mount的时候指定rszie、wsize大于等于32768
2.通过在数据库参数文件中加入*.event='10298 trace name context forever, level 32',跳过oracle10g对nfs文件系统的检查
对于方式1,rman脚本如下:
方法一:其中like后指定的路径可区分出不同thread的归档即可,rman脚本如下:
run {
allocate channel ch00 device type sbt;
sql 'alter system archive log current';
backup
format 'arch_%d_%s_%p_%t'
(archivelog like '/archive2/%' delete input);
release channel ch00;
}
方法二:在veritas netbackup中进行特定设置
首先设置tns可以连接到不同的节点,然后在nbu中建立两个policy,policy1指定备份脚本,,policy2的备份脚本为空,policy2的只设置application backup类型的schedule。rman脚本如下:
run {
allocate channel ch00 device type sbt connect'sys/sys@node1'parms \env=(nb_ora_policy=node1_policy, nb_ora_client=node1_vip)\;
allocate channel ch01 device type sbt connect'sys/sys@node2'parms \env=(nb_ora_policy=node2_policy, nb_ora_client=node2_vip) \;
sql 'alter system archive log current';
backup
format 'arch_%d_%s_%p_%t'
(archivelog all);
release channel ch00;
release channel ch01;
}