1、测试环境
10.2.0.1.0 on 2.6.18-53.el5
192.168.1.101 rac1
192.168.1.102 rac2
2、RAC归档一般放在所有节点都可以看到的地方,方便RMAN发现所有的归档日志。
RMAN>backup archivelog all delete all input format '.......';
3、RAC归档方案有:
--使用OCFS共享存储
--使用NFS共享存储
--使用交叉互备(即本方案缺点:大量互传归档,慎用)
--任何节点只有它自己的归档日志,使用时再合并
4、本文演示的交叉互备方案需大量互传归档,慎用
5、如发现错误欢迎立即提出,方便及时更正
一、在一个非常大的文件系统上建立目录
1、在RAC1上建目录,rac1-rac2路径一致
$ mkdir /u01/arch
$ ll -d /u01/arch
drwxr-xr-x 2 oracle oinstall 4096 Jul 6 11:01 /u01/arch
2、在RAC2上建目录,rac1-rac2路径一致
[oracle@rac2 ~]$ mkdir /u01/arch
[oracle@rac2 ~]$ ll -d /u01/arch
drwxr-xr-x 2 oracle oinstall 4096 Jul 6 11:01 /u01/arch
1、本地归档设置
alter system set log_archive_dest_1='location=/u01/arch';
2、分别查看tnsnames中针对另一节点的tnsnames.ora
[oracle@rac1 ~]$ head -12 $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
RACDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
(INSTANCE_NAME = RACDB1)
)
)
[oracle@rac2 ~]$ head -12 $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora.rac2 Network Configuration File: /u01/db_1/network/admin/tnsnames.ora.rac2
# Generated by Oracle configuration tools.
RACDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
(INSTANCE_NAME = RACDB1)
)
)
2、交叉归档,这样每个节点都可以读到其他节点的归档
alter system set log_archive_dest_2='service=RACDB2' sid='RACDB1';
alter system set log_archive_dest_2='service=RACDB1' sid='RACDB2';
alter system set standby_archive_dest='/u01/arch';
3、确认参数设置生效
col value for a25
col name for a20
select inst_id,name,value from gv$parameter
where name in ('standby_archive_dest','log_archive_dest_2','log_archive_dest_1');
INST_ID NAME VALUE
---------- -------------------- -------------------------
1 log_archive_dest_1 location=/u01/arch
1 log_archive_dest_2 service=RACDB2
1 standby_archive_dest /u01/arch
2 log_archive_dest_1 location=/u01/arch
2 log_archive_dest_2 service=RACDB1
2 standby_archive_dest /u01/arch
6 rows selected.
4、典型错误演示:service=*设置错误,传输归档到对方节点时会有以下错误
alter system set log_archive_dest_2='service=rac2' sid='RACDB1';
alter system set log_archive_dest_2='service=rac1' sid='RACDB2';
alter system set standby_archive_dest='/u01/arch';
SYS@RACDB2> alter system archive log current;
$ tail -f /u01/admin/RACDB/bdump/*.log
Mon Jul 7 17:42:46 2014
Thread 2 advanced to log sequence 32
Current log# 4 seq# 32 mem# 0: +DG1/racdb/redo04.log
Mon Jul 7 17:42:46 2014
Error 12514 received logging on to the standby
Mon Jul 7 17:42:46 2014
Errors in file /u01/admin/RACDB/bdump/racdb2_arc1_5696.trc:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
PING[ARC1]: Heartbeat failed to connect to standby 'rac1'. Error is 12514.
三、调整归档日志文件命名方式
SYS@RACDB1> alter system set log_archive_format ='arch_%S_%R_%T.arc' scope=spfile;
SYS@RACDB1> select value from v$spparameter where name='log_archive_format';
--arch_%S_%R_%T.arc
%s: 日志序列号
%S:日志序列号(带有前导0)。
%t: 重做线程编号。
%T: 重做线程编号(带有前导0)
%a: %A:数据库ID号
%d: 数据库ID号
%r: RESETLOGS的id值
四、为RAC数据库开启归档
1、关闭所有节点数据库实例
$ srvctl stop database -d RACDB
$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....B1.inst application OFFLINE OFFLINE
ora....B2.inst application ONLINE OFFLINE
ora.RACDB.db application OFFLINE OFFLINE
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
2、在其中一个节点上开归档
SYS@RACDB1> startup mount
SYS@RACDB1> alter database archivelog;
SYS@RACDB1> alter database open;
3、开启所有节点数据库实例
$ srvctl stop database -d RACDB
$ srvctl start database -d RACDB;sleep 60
4、验证归档是否开启
SYS@RACDB1> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/arch
Oldest online log sequence 26
Next log sequence to archive 27
Current log sequence 27
五、测试、确认以上配置达到目的
1、 当前无任何归档日志
[oracle@rac1 ~]$ ls -1 /u01/arch/*
ls: /u01/arch/*: No such file or directory
[oracle@rac2 ~]$ ls -1 /u01/arch/*
ls: /u01/arch/*: No such file or directory
2、切换REDO生成归档
SYS@RACDB2> alter system archive log current;
3、注意事项、测试、确认以上配置达到目的
[oracle@rac1 ~]$ ls -1 /u01/arch/*
/u01/arch/arch_0000000033_0851859689_0001.arc
/u01/arch/arch_0000000038_0851859689_0002.arc
[oracle@rac2 ~]$ ls -1 /u01/arch/*
/u01/arch/arch_0000000033_0851859689_0001.arc
/u01/arch/arch_0000000038_0851859689_0002.arc
zcs0237
2014.07.06
More cleaner and more efficient!
本文转自ICT时空dbasdk的博客,原文链接:link,如需转载请自行联系原博主。