Oracle 10g RAC环境下创建物理DATAGUARD(一)

2014-11-24 18:11:19 · 作者: · 浏览: 0

为一个RAC搭建standby和单节点搭建方法基本一致,我们可以把RAC看成是一个单节点的数据库,只需要保证所有节点的日志能传送到备库即可。


只安装软件,不要创建数据库。ORACLE软件版本和主库保持一致。


二、修改主库参数


节点1执行:


SQL> show parameter spfile



NAME TYPE VALUE


------------------------------------ ----------- ------------------------------


spfile string /dev/raw/raw14



节点2执行:


SQL> show parameter spfile



NAME TYPE VALUE


------------------------------------ ----------- ------------------------------


spfile string /dev/raw/raw14



可见,在本例中,RAC各节点共用一个spfile,所以,我们修改参数时,可以只需在一个节点下修改就可以了。



--强制数据库LOGGING


SQL> ALTER DATABASE FORCE LOGGING;



Database altered.




--修改DATAGUARD相关参数


SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=primary scope=spfile;



System altered.



SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(primary,standby)' scope=spfile;



System altered.



SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/soft/archivelog/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=primary' scope=spfile;



System altered.



SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=standby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby' scope=spfile;



System altered.



SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE scope=spfile;



System altered.



SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE scope=spfile;



System altered.



SQL> ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE scope=spfile;



System altered.



SQL> ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' scope=spfile;



System altered.



SQL> ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=4 scope=spfile;



System altered.




SQL> ALTER SYSTEM SET COMPATIBLE = '10.2.0.3' scope=spfile;



System altered.



--以下几个参数是为了SWITCH OVER用的,是可选参数。


--但是为了以后可能发生的SWITCH OVER更方便,应该养成设置这些参数的习惯


SQL> ALTER SYSTEM SET FAL_CLIENT = PRIMARY SCOPE=SPFILE;



System altered.



SQL> ALTER SYSTEM SET FAL_SERVER = STANDBY SCOPE=SPFILE;



System altered.



SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT =AUTO SCOPE=SPFILE;



System altered.



SQL> ALTER SYSTEM SET DB_FILE_NAME_CONVERT='/soft/oradata/rac/','/dev/raw/' SCOPE=SPFILE;



System altered.



SQL> ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='/soft/oradata/rac/','/dev/raw/' SCOPE=SPFILE;



System altered.



--在本文测试环境下,由于主库和备库路径不一致,所以要设置路径转换参数。



三、修改主库为归档模式


1、--关闭所有实例


--注意:修改以上参数后,必须把所有实例都关闭。否则在启动实例的时候可能会导致错误:


--ORA-00600: internal error code, arguments: [kccsbck_first], [2], [2241198041],


[], [], [], [], []



SQL> shutdown immediate


Database closed.


Database dismounted.


ORACLE instance shut down.




2、修改为归档模式


--关闭所有节点


SQL> shutdown immediate


Database closed.


Database dismounted.


ORACLE instance shut down.



--在其中一个节点启用归档


SQL> startup mount


ORACLE instance started.



Total System Global Area 159383552 bytes


Fixed Size 1260672 bytes


Variable Size 79692672 bytes


Database Buffers 75497472 bytes


Redo Buffers 2932736 bytes


Database mounted.


SQL> alter database archivelog;



Database altered.



SQL> alter database open;




Database altered.



10GR2以前,在RAC环境下修改归档必须先把设置参数cluster_database=false,把数据库设置为归档后再把该参数设置为true,但这个步骤在10GR2可以省略。




四、备份数据库


1、备份数据库


备份操作在节点1(rac1)上执行。


由于归档在不同的节点下,故要连接所有节点进行备份:


[oracle@rac1 ~]$ $ORACLE_HOME/bin/rman target /



Recovery Manager: Release 10.2.0.3.0 - Production on Wed Apr 30 14:48:23 2008



Copyright (c) 1982, 2005, Oracle. All rights reserved.



connected to target database: RAC (DBID=2232067446)



RMAN> run


2> {


3> allocate channel c1 device type disk format '/soft/backup/%U' connect sys/test@rac1;


4> allocate chann