ORACLE 11GR2 RAC TO RAC DATAGUARD 配置方案
--by lxx
1.1 前言
本文记录oracle 11gr2 Dataguard physical standby的配置过程。
主备数据库都是oracle 11gr2 rac环境,参数文件,控制文件,数据文件和归档日志都保存在ASM DG上面。采用Maximum Performance方式,即日志同步采取lgwr noaffirm方式。
1.2 环境规划
环境如下:
主库
备库
操作系统
Oracle Linux Server release 6.3
Oracle Linux Server release 6.3
主机名
orcl1orcl2
orclstd1orclstd2
数据库版本
oracle 11.2.0.3
oracle 11.2.0.3
集版本
GI 11.2.0.3
GI 11.2.0.3
DB_NAME
orcl
orcl
DB_UNIQUE_NAME
orcl
orclstd
instance_name
orcl1,orcl2
orcl1,orcl2
service_name
orcl
orclstd
ORACLE_HOME(GI)
/oracle/app/grid
/oracle/app/grid
ORACLE_HOME(DB)
/oracle/app/oracle/product/11.2.0/db_1
/oracle/app/oracle/product/11.2.0/db_1
数据存储方式
ASM
ASM
文件管理
OMF
OMF
spfile目录
+DATA
+DATA
控制文件目录
+DATA
+DATA
数据文件目录
+DATA
+DATA
归档日志目录
+DATA
+DATA
监听端口
1521
1521
1.3 环境准备
主库:
双节点  11g  R2  Grid  Infrastructure  (11.2.0.3)已经安装配置完毕;
双节点Oracel  RAC  Software  (11.2.0.3)已经安装配置完毕;
集数据库”orcl”已经创建于ASM 上;
数据库运行于归档模式;
备库:
双节点  11g  R2  Grid  Infrastructure  (11.2.0.3)已经安装配置完毕
双节点Oracel  RAC  Software  (11.2.0.3)已经安装配置完毕;
主备库:
在各节点/etc/hosts加入两端主机名IP映射关系。
192.168.0.11  orcl1
192.168.0.13  orcl1-vip
10.0.0.11      orcl1-priv
192.168.0.12  orcl2
192.168.0.14  orcl2-vip
10.0.0.12      orcl2-priv
192.168.0.15  cluster-scan
192.168.0.21  orclstd1
192.168.0.23  orclstd1-vip
10.0.0.21      orclstd1-priv
192.168.0.22  orclstd2
192.168.0.24  orclstd2-vip
10.0.0.22      orclstd2-priv
192.168.0.25  clusterstd-scan
1.4 主库配置
1.4.1 打开force logging
SQL>  ALTER  DATABASE  FORCE  LOGGING;
1.4.2创建 Standby Redo 日志
Standy log 的推荐数目为:
(# of online redo logs per primary instance + 1) * # of instances
目前有两个节点,每个节点有两个日志组,每个日志成员大小为 64m,每个日志组里都有一个成员。所以下面给每个节点添加三个日志组:
select  group#,thread#,bytes/1024/1024  "SIZE(M)",members  from  v$log;
alter system set standby_file_management=manual scope=both sid='*';
alter database add standby logfile thread 1 group 5 ('+DATA') size 64m;
alter database add standby logfile thread 1 group 6 ('+DATA') size 64m;
alter database add standby logfile thread 1 group 7 ('+DATA') size 64m;
alter database add standby logfile thread 2 group 8 ('+DATA') size 64m;
alter database add standby logfile thread 2 group 9 ('+DATA') size 64m;
alter database add standby logfile thread 2 group 10 ('+DATA') size 64m;
alter system set standby_file_management=auto scope=both sid='*';
select group#,thread#,status from v$standby_log;
1.4.3 设置参数文件
linux安装oracle 11g--设置主备库数据文件路径对应关系
alter system set db_file_name_convert='+DATA','+DATA' scope=spfile sid='*';
alter system set log_file_name_convert='+DATA','+DATA' scope=spfile sid='*';
alter system set fal_client='orcl' scope=spfile sid='*';
alter system set fal_server='orclstd' scope=spfile sid='*';
--log_archive_config指定数据库唯一名
alter system set log_archive_config='DG_CONFIG=(orcl,orclstd)' scope=spfile sid='*';
alter system set log_archive_dest_1='LOCATION=+DATA VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl' scope=spfile sid='*';
alter system set log_archive_dest_2='SERVICE=orclstd ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orclstd' scope=spfile sid='*';
alter system set log_archive_dest_state_1=ENABLE scope=spfile sid='*';
alter system set log_archive_dest_state_2=ENABLE scope=spfile sid='*';
alter system set log_archive_format='%t_%s_%r.arc' scope=spfile sid='*';
alter system set log_archive_max_processes=10 scope=spfile sid='*';
alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile sid='*';
alter system set standby_file_management=auto scope=spfile sid='*';
--上面是归档切换时候采用apply redo的方式,如果改为lgwr传输方式,则使用下面语句:
alter system set log_archive_dest_2='SERVICE=orclstd LGWR ASYNC NOAFIRM VALID_FOR(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orclstd' scope=spfile sid='*';
--重启数据库生效:
$ srvctl  stop  database  -d orcl
$ srvctl  start  database  -d orcl