一台主资料库服务器(Primary)
一台备援资料库服务器(Standby)
两台服务器分别安装Oracle10g软体
1. 前置工作﹕准备一台主资料库服务器(Primary) ,与一台备援资料库服务器(Standby),两台服务器分别安装Oracle10g软体,Primary资料库的实例命为:zdtoradb,Standby资料库的实例命为:zdtoradbsb。
2. 打开Primary资料库的Forced logging模式查询此模式是否已经打开﹕select force_logging from v$database;开啟此模式﹕alter database force logging;备注﹕Forced logging模式可以防止用户通过Nologging子句方式不将相关记录写入redo log中,避免Primary与 Standby资料不一致,Standby异常等。
3. 根据Primary的目录结构,在Standby上建立相应的目录(/u02/oradata/zdtoradbsb---数据文件目录,/u09/archivelog/zdtoradbsb ---归档目录等),另外在Primary上建立目录﹕/u09/standbyarchivelog/zdtoradb,Standby上建立目录﹕/u09/standbyarchivelog/zdtoradbsb。
4 配置Primary的tnsnames.ora文件,Standby的tnsnames.ora与listener.ora文件,文件的位置为﹕$ORACLE_HOME/network/admin/,配置方法如下﹕ Primary的tnsnames.ora文件:增加Primary到standby的DBlink连接﹔ Standby的tnsnames.ora文件:直接Copy Primary的tnsnames.ora文件﹔ Standby的listener.ora文件;直接用Primary的 listener.ora文件内容中倒数第五行前面的全部内容覆盖Standby相同位置的listener.ora文件内容。
5.配置Primary的动态参数文件(spfile)与Standby的静态参数文件(pfile),文件的位置在﹕$ORACLE_HOME/dbs,配置方法如下﹕Primary的initzdtoradb.ora文件: *.db_name=zdtoradb *.db_unique_name=zdtoradb *.db_file_name_convert='zdtoradbsb','zdtoradb' scope=spfile *.log_file_name_convert='zdtoradbsb','zdtoradb' scope=spfile *.fal_client='zdtoradb' *.fal_server='zdtoradbsb' *.log_archive_config='DG_CONFIG=(zdtoradb,zdtoradbsb)' *.log_archive_dest_1='LOCATION=/u09/archivelog/zdtoradb/ VALID_FOR=(ALL_LOGFILES, ALL_ROLES) DB_UNIQUE_NAME =zdtoradb' *.log_archive_dest_2='service=zdtoradbsb LGWR ASYNC VALID_FOR= (ONLINE_LOGFILES, PRIMARY_ROLE) DB_UNIQUE_NAME=zdtoradbsb' *.log_archive_dest_state_1='ENABLE' *.log_archive_dest_state_2='ENABLE' *. standby_archive_dest='/u09/standbyarchivelog/zdtoradb/' *.standby_file_management='AUTO'Standby的initzdtoradbsb.ora文件: *.db_file_name_convert='zdtoradb','zdtoradbsb' *.db_unique_name='zdtoradbsb' *.fal_client='zdtoradbsb' *.fal_server='zdtoradb' *.instance_name='zdtoradbsb' *.log_archive_config='DG_CONFIG=(zdtoradb,zdtoradbsb)' *.log_archive_dest_1='location=/u09/archivelog/zdtoradbsb/ VALID_FOR=(ALL_LOGFILES, ALL_ROLES)DB_UNIQUE_NAME=zdtoradbsb' *.log_archive_dest_2='SERVICE=zdtoradb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES, PRIMARY_ROLE) DB_UNIQUE_NAME=zdtoradb' *.log_archive_dest_state_1='ENABLE' *.log_archive_dest_state_2='ENABLE' *.log_file_name_convert='zdtoradb','zdtoradbsb' *.standby_archive_dest='/u09/standbyarchive/zdtoradbsb' *.standby_file_management='AUTO'
6. Primary 与Standby DB密码文件设置Primary密码文件设置:orapwd file=$ORACLE_HOME/dbs/orapwzdtoradb.ora password=newpass entries=10Standby密码文件设置:orapwd file=$ORACLE_HOME/dbs/orapwzdtoradbsb.ora password=newpass entries=10备注﹕redo传输服务通过认証的网络会话来传输redo log,其中password必确保redo log数据的顺利传输。
7.Primary DB其他设定 SQL> startup mount pfile=’$ORACLE_HOME/dbs/initzdtoradb.ora’ SQL> alter database archivelog; SQL> archive log list; (如DB本为archivelog模式,可跳过此步) SQL> alter database create standby controlfile as ‘/u02/oradata/zdtoradb/sbcontrol.ctl’; SQL> create spfile from pfile (注:若要创建pfile,执行create pfile=’ $ORACLE_HOME/dbs/initzdtoradb.ora’from spfile) SQL> shutdown immediate
8.将primary上的数据文件传输至Standby上的对应位置 在primary上执行﹕scp /u02/oradata/zdtoradb/* ipaddress /u零02/oradata/zdtoradbsb/ 。 备注﹕ipaddress为Standby的IP地址
9.启动Standby,创建spfile,并启动redo 应用 export ORACLE_SID=zdtoradbsb sqlplus / as sysdba SQL> startup nomount pfile=’$ORACLE_HOME/dbs/initzdtoradbsb.ora’ SQL> alter database mount standby database; SQL> create spfile from pfile; SQL> alter database recover managed standby database disconnect from session; (同时在primary database中执行几次日志切换,如下: ORACLE_SID=zdtoradb SQL>alter system switch logfile; SQL>alter system switch logfile; SQL>exit
10.检测Data Guard是否成功Primary:SQL> select process,status from v$managed_standby;PROCESS STATUS--------- ------------ARCH CLOSINGARCH CLOSINGLNS WRITING同时在Primary上切换日志文件,alter system switch logfileStandby:SQL> select process,status from v$managed_standby;PROCESS STATUS--------- ------------ARCH CONNECTEDARCH CONNECTEDMRP0 WAIT_FOR_LOGRFS IDLESQL> select sequence#,first_time,next_time,applied from v$archived_log;SEQUENCE# FIRST_TIM NEXT_TIME APP---------- --------- --------- ---7693 21-NOV-07 21-NOV-07 YES7694 21-NOV-07 21-NOV-07 YES7695 21-NOV-07 21-NOV-07 YES7696 21-NOV-07 21-NOV-07 YES备注﹕要确保MRP零与RFS进程起来,其中MRP零负责应用日志,RFS负责接收日志。
已经在每一步下面备注具体的注意事项,请大家注意。