RAC归档存储方案:交叉互备

RAC归档存储方案:交叉互备


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!


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/210154/viewspace-1211923/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/210154/viewspace-1211923/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值