多语言展示
当前在线:1435今日阅读:39今日分享:10

允许停主库的物理Standby的经验分享

之前发表一遍在不允许停主库的情况下创建物理Standby,所以本次经验是允许停主库的情况下, Rman在线创建物理Standby 。
工具/原料
1

一台主资料库服务器(Primary)

2

一台备援资料库服务器(Standby)

3

两台服务器分别安装Oracle10g软体

方法/步骤
1

1. 前置工作﹕准备一台主资料库服务器(Primary) ,与一台备援资料库服务器(Standby),两台服务器分别安装Oracle10g软体,Primary资料库的实例命为:zdtoradb,Standby资料库的实例命为:zdtoradbsb。

2

2. 打开Primary资料库的Forced logging模式查询此模式是否已经打开﹕select force_logging from v$database;开啟此模式﹕alter database force logging;备注﹕Forced logging模式可以防止用户通过Nologging子句方式不将相关记录写入redo log中,避免Primary与 Standby资料不一致,Standby异常等。

3

3. 根据Primary的目录结构,在Standby上建立相应的目录(/u02/oradata/zdtoradbsb---数据文件目录,/u09/archivelog/zdtoradbsb ---归档目录等),另外在Primary上建立目录﹕/u09/standbyarchivelog/zdtoradb,Standby上建立目录﹕/u09/standbyarchivelog/zdtoradbsb。

4

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

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

6. Primary 与Standby DB密码文件设置Primary密码文件设置:orapwd file=$ORACLE_HOME/dbs/orapwzdtoradb.ora    password=newpass entries=10Standby密码文件设置:orapwd file=$ORACLE_HOME/dbs/orapwzdtoradbsb.ora    password=newpass entries=10备注﹕redo传输服务通过认証的网络会话来传输redo log,其中password必确保redo log数据的顺利传输。

7

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

8.将primary上的数据文件传输至Standby上的对应位置    在primary上执行﹕scp /u02/oradata/zdtoradb/* ipaddress /u零02/oradata/zdtoradbsb/ 。    备注﹕ipaddress为Standby的IP地址

9

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

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负责接收日志。

注意事项

已经在每一步下面备注具体的注意事项,请大家注意。

推荐信息