模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)(5)

On jystdrac2:

mkdir -p /opt/app/oracle/admin/mynas/adump mkdir -p /opt/app/oracle/diag/rdbms/mynas/jyzhao2 cd /opt/app/oracle/diag/rdbms/mynas/jyzhao2 mkdir trace cdump

4.4 修改备库参数文件

*.audit_file_dest='/opt/app/oracle/admin/mynas/adump' *.audit_trail='db' *.cluster_database=true *.compatible='11.2.0.4.0' *.control_files='+DATA/mynas/controlfile/current.260.919999027','+FRA/mynas/controlfile/current.256.919999029' *.db_block_size=8192 *.db_create_file_dest='+DATA' *.db_domain='' *.db_file_name_convert='+data1/jyzhao','+data/mynas' *.db_name='jyzhao' *.db_recovery_file_dest='+FRA' *.db_recovery_file_dest_size=4621074432 *.db_unique_name='mynas' *.diagnostic_dest='/opt/app/oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=jyzhaoXDB)' *.fal_server='jyzhao' jyzhao2.instance_number=2 jyzhao1.instance_number=1 *.java_jit_enabled=TRUE jyzhao1.local_listener='LISTENER_JYZHAO1' jyzhao2.local_listener='LISTENER_JYZHAO2' *.log_archive_config='DG_CONFIG=(jyzhao,mynas)' *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=mynas' *.log_archive_dest_2='SERVICE=jyzhao ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyzhao' *.log_archive_dest_state_1='ENABLE' *.log_archive_dest_state_2='ENABLE' *.log_file_name_convert='+data1/jyzhao','+data/mynas','+fra1/jyzhao','+fra/mynas' *.memory_target=536870912 *.open_cursors=300 *.processes=150 *.remote_listener='jyrac-scan:1521' *.remote_login_passwordfile='exclusive' jyzhao2.thread=2 jyzhao1.thread=1 jyzhao2.undo_tablespace='UNDOTBS2' jyzhao1.undo_tablespace='UNDOTBS1'

注意:我这里的环境备库和主库的磁盘组名称有区别,一定要仔细区分清楚,比如控制文件的全路径确认写正确。
4.5 拷贝tnsnames.ora文件
拷贝tnsnames.ora文件到备库2个节点:

scp $ORACLE_HOME/network/admin/tnsnames.ora 192.168.1.61:$ORACLE_HOME/network/admin/tnsnames.ora scp $ORACLE_HOME/network/admin/tnsnames.ora 192.168.1.63:$ORACLE_HOME/network/admin/tnsnames.ora

注:这里拷贝后需要修改LOCAL_LISTENER参数 (仅在备库端所有节点操作).这里的LOCAL_LISTENER参数是设置的tnsnames中配置的别名。

LISTENER_JYZHAO1=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = jystdrac1-vip)(PORT = 1521))) LISTENER_JYZHAO2=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = jystdrac2-vip)(PORT = 1521)))

4.6 创建ASM相关目录

ASMCMD> mkdir +data/MYNAS ASMCMD> cd +data/MYNAS ASMCMD> mkdir PARAMETERFILE DATAFILE CONTROLFILE TEMPFILE ONLINELOG ASMCMD> mkdir +fra/MYNAS ASMCMD> cd +fra/MYNAS ASMCMD> mkdir ARCHIVELOG CONTROLFILE ONLINELOG STANDBYLOG 5.备库恢复数据库

使用启动实例到nomount状态

初始化standby数据库

确认已创建ORLs和SRLs

确认备库tnsnames.ora

启动MRP

创建spfile然后使用spfile启动数据库

5.1 使用启动实例到nomount状态
在备库节点1操作:

sqlplus / as sysdba startup nomount pfile=$ORACLE_HOME/dbs/pfile_for_standby.txt

5.2 初始化standby数据库
这里常用的两种方案:直接duplicate创建;使用RMAN手工恢复。

①使用duplicate命令创建standby数据库:

rman target sys/oracle@jyzhao1 auxiliary / DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK;

②使用RMAN恢复standby数据库:

rman target / restore controlfile from '/public/hotback/jyzhao/standby/control_for_standby.ctl'; alter database mount; restore database;

根据实际情况或自己更熟悉的方式选择任意一种即可。
这里的恢复操作实际在实验过程中碰到一个问题,具体内容可参考:《案例:Oracle报错ASM磁盘组不存在或没有mount》。

5.3 确认已创建ORLs和SRLs
查询v$logfile

SQL> SELECT MEMBER FROM V$LOGFILE; MEMBER ---------------------------------------------------------------- +DATA/mynas/onlinelog/group_2.267.951608745 +FRA/mynas/onlinelog/group_2.258.951608751 +DATA/mynas/onlinelog/group_1.266.951608731 +FRA/mynas/onlinelog/group_1.257.951608737 +DATA/mynas/onlinelog/group_3.268.951608757 +FRA/mynas/onlinelog/group_3.259.951608763 +DATA/mynas/onlinelog/group_4.269.951608769 +FRA/mynas/onlinelog/group_4.260.951608775 +FRA/mynas/standbylog/standby_group_11.log +FRA/mynas/standbylog/standby_group_12.log +FRA/mynas/standbylog/standby_group_13.log +FRA/mynas/standbylog/standby_group_21.log +FRA/mynas/standbylog/standby_group_22.log +FRA/mynas/standbylog/standby_group_23.log 14 rows selected.

在ASMCMD中查询没有也会后续自动创建的,确定路径没问题就可以,路径如果有问题,很可能是之前的convert参数设置有问题。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/41b909d7fe2e6d6da5927df0d4318bef.html