一、环境介绍
搭建一套ADG灾备环境。主库环境为12.1.2.0 RAC,备库同主库,软件补丁均已安装。
二、配置步骤
2.1 归档node
select log_mode from v$database; #####是否为归档模式 alter database force logging; #####强制归档
2.2 主库standby logsql
alter database add standby logfile thread 1 group 5 ('+DATADG') size 2048M; alter database add standby logfile thread 1 group 6 ('+DATADG') size 2048M; alter database add standby logfile thread 1 group 7 ('+DATADG') size 2048M; alter database add standby logfile thread 1 group 8 ('+DATADG') size 2048M; alter database add standby logfile thread 1 group 9 ('+DATADG') size 2048M; alter database add standby logfile thread 1 group 10 ('+DATADG') size 2048M; alter database add standby logfile thread 2 group 11 ('+DATADG') size 2048M; alter database add standby logfile thread 2 group 12 ('+DATADG') size 2048M; alter database add standby logfile thread 2 group 13 ('+DATADG') size 2048M; alter database add standby logfile thread 2 group 14 ('+DATADG') size 2048M; alter database add standby logfile thread 2 group 15 ('+DATADG') size 2048M; alter database add standby logfile thread 2 group 16 ('+DATADG') size 2048M;
三、文件
3.1 密码文件数据库
拷贝主库密码文件到备库,最开始放在$ORACLE_HOME/dbs目录下,后续配置完成后,须要将密码文件存放在ASM磁盘组中并进行更名。 scp orapwbmacdb IP: $ORACLE_HOME/dbs1 ASMCMD> pwcopy /u01/app/oracle/product/12.1.0/dbhome_1/dbs/orapwbmacdb1 +datadg/bmacdbdg/password/orapwbmacdb copying /u01/app/oracle/product/12.1.0/dbhome_1/dbs/orapwbmacdb1 -> +datadg/bmacdbdg/password/orapwbmacdb
3.2 参数文件session
拷贝主库参数文件到备库,放在$ORACLE_HOME/dbs目录下,恢复完成后,须要将参数文件存放在ASM磁盘组中,并经过pfile指定其位置。参数文件内容以下: *.audit_file_dest='/u01/app/oracle/admin/bmacdb/adump' *.control_files='+DATADG/BMACDB/control01.ctl','+DATADG/BMACDB/control02.ctl' *.db_file_name_convert='+DATADG/BMACDB/DATAFILE/','+DATADG/BMACDB/DATAFILE/','+SSDDG/BMACDB/DATAFILE/','+DATADG/BMACDB/DATAFILE/','+DATADG/bmacdb/','+DATADG/BMACDB/DATAFILE/' *.db_unique_name='bmacdbdg' *.log_archive_config='DG_CONFIG=(bmacdb,bmacdbdg)' *.log_archive_dest_1='LOCATION=+ARCHDG VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=bmacdbdg' *.log_archive_dest_2='SERVICE=BMACDB1 ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=BMACDB' *.log_file_name_convert='+SSDDG/bmacdb/','+LOGDG/BMACDB/ONLINELOG/' *.fal_server='BMACDB' 以上参数时咱们须要修改的地方。
3.3 目录结构oracle
mkdir -p /u01/app/oracle/admin/bmacdb/adump ASM: +DATADG/BMACDB/DATAFILE +LOGDG/BMACDB/ONLINELOG 建立完目录结构后,启动数据库到nomount状态。 startup nomount
3.4 配置监听app
在配置ADG开始阶段,须要在备库静态注册监听,搭建完成后,能够将静态注册信息删掉。静态注册信息以下:/u01/app/12.1.0/grid/network/admin/listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = bmacdbdg) (ORACLE_HOME = /u01/app/oracle/product/12.1.0/dbhome_1) (SID_NAME = bmacdb1) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 1521)) ) ) 配置完监听后启动监听,静态监听信息以下: Service "bmacdbdg" has 1 instance(s). Instance "bmacdb1", status UNKNOWN, has 1 handler(s) for this service... 主库链接串配置 主库tnsnames.ora新增到备库的链接串,而且在RAC两个节点同时新增: BMACDBDG = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = bmacdbdg) ) ) 配置完成后,进行连通性测试: sqlplus sys/password@BMACDBDG as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Tue Jun 18 14:28:16 2019 Copyright (c) 1982, 2014, Oracle. All rights reserved. 备库链接串配置 备库tnsnames.ora新增到主库的链接串,而且在RAC两个节点同时新增: BMACDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = bmacdb) ) ) 配置完成后,进行连通性测试: sqlplus sys/password@BMACDB as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Tue Jun 18 14:29:29 2019 Copyright (c) 1982, 2014, Oracle. All rights reserved.
四、恢复备库async
source /home/oracle/.profile rman target sys/password@BMACDB auxiliary sys/password@BMACDBDG <<EOF run { allocate channel cl1 type disk; allocate auxiliary channel c1 type disk; duplicate target database for standby from active database nofilenamecheck; release channel c1; release channel cl1; } EOF 给脚本授予执行权限并执行脚本: chmod +x dg.sh nohup ./dg.sh &
五、修改主库参数ide
alter system set log_archive_config='dg_config=(bmacdb,bmacadg,bmacdg,bmacdbdg)'; alter system set log_archive_dest_4='service=BMACDBDG async valid_for=(online_logfiles,primary_role) db_unique_name=bmacdbdg';
六、备库spfile测试
SQL> create spfile ='+datadg/bmacdbdg/spfilebmacdb.ora' from pfile; File created. oracle@bmacdrdb1:/home/oracle>cd $ORACLE_HOME/dbs oracle@bmacdrdb1:/u01/app/oracle/product/12.1.0/dbhome_1/dbs>cat initbmacdb1.ora spfile ='+datadg/bmacdbdg/spfilebmacdb.ora'
七、备库RAC添加资源this
srvctl add database -db bmacdbdg -dbname bmacdb -oraclehome /u01/app/oracle/product/12.1.0/dbhome_1 -dbtype RAC -role PHYSICAL_STANDBY srvctl add instance -db bmacdbdg -instance bmacdb1 -node bmacdrdb1 srvctl add instance -db bmacdbdg -instance bmacdb2 -node bmacdrdb2 srvctl modify database -db bmacdbdg -spfile '+datadg/bmacdbdg/spfilebmacdb.ora' -pwfile '+datadg/bmacdbdg/password/orapwbmacdb' srvctl modify database -db bmacdbdg -diskgroup DATADG,LOGDG 备库配置信息: oracle@bmacdrdb1:/home/oracle>srvctl config database -d bmacdbdg Database unique name: bmacdbdg Database name: bmacdb Oracle home: /u01/app/oracle/product/12.1.0/dbhome_1 Oracle user: oracle Spfile: +datadg/bmacdbdg/spfilebmacdb.ora Password file: +datadg/bmacdbdg/password/orapwbmacdb Domain: Start options: open Stop options: immediate Database role: PHYSICAL_STANDBY Management policy: AUTOMATIC Server pools: Disk Groups: DATADG,LOGDG Mount point paths: Services: Type: RAC Start concurrency: Stop concurrency: OSDBA group: dba OSOPER group: oper Database instances: bmacdb1,bmacdb2 Configured nodes: bmacdrdb1,bmacdrdb2 Database is administrator managed
八、应用日志
alter database recover managed standby database disconnect from session; alter database recover managed standby database cancel; alter database open; alter database recover managed standby database using current logfile disconnect; select open_Mode,DATABASE_ROLE from v$database; OPEN_MODE DATABASE_ROLE -------------------- ---------------- READ ONLY WITH APPLY PHYSICAL STANDBY