windows-oracle 11g dataguard with dgbroker
一: DG的配置
oracle dg 考验dba综合能力。首先明确3个知识点: SID, SERVICE_NAME,,DB_NAME, DB_UNIQUE_NAME
SID: 实例名,用于标识一个数据库的。oracle在启动的时候,会根据SID和 ORACLE_HOME hash 内存地址,可以观察pfile文件可以更加清晰:
这就是系统参数启动的时候sid,在安装数据库时候定义。注意,她在整个域里面并不是唯一标识。
service_name 服务名,pfile。spfile都可配置,可随时更改!!服务名注册到监听,然后请求数据库的信息才能由监听反馈到实例,dg 相互通信可以用服务名来区别2个不同的服务。
DB_NAME:数据库名称,这个就是sid
DB_UNIQUE_NAME 数据库名称的全局唯一标识!!!,dg 就是靠这个来传送信息到standby的。 通常在tnsnames.ora 的连接标识符 用 DB_UNIQUE_NAME 表示,这样准确无误。
但是注意, tnsnames.ora的连接表示符,压根和db_unique_name 一点关系都没有
看GIS1,GIS2就是连接标识符。
有了上述知识开搞
配置pfile,pfile,pfile,重要的说三遍
---主库 DB_UNIQUE_NAME=gis1 LOG_ARCHIVE_CONFIG='DG_CONFIG=(gis1,gis2)' LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/product/archive/dg1/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=gis1' LOG_ARCHIVE_DEST_2='SERVICE=gis2 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=gis2' LOG_ARCHIVE_DEST_STATE_1=ENABLE LOG_ARCHIVE_DEST_STATE_2=ENABLE LOG_ARCHIVE_FORMAT=%t_%s_%r.arc LOG_ARCHIVE_MAX_PROCESSES=10 FAL_SERVER=dg2 FAL_CLIENT=dg1 DB_FILE_NAME_CONVERT='gis2','gis1' LOG_FILE_NAME_CONVERT='/home/oracle/product/archive/','/home/oracle/product/archive/' STANDBY_FILE_MANAGEMENT=AUTO --备库 DB_NAME=dg1 DB_UNIQUE_NAME=dg2 LOG_ARCHIVE_CONFIG='DG_CONFIG=(dg1,dg2)' LOG_ARCHIVE_DEST_1= 'LOCATION=/home/oracle/product/archive/dg2/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dg2' LOG_ARCHIVE_DEST_2='SERVICE=dg1 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg1' LOG_ARCHIVE_DEST_STATE_1=ENABLE LOG_ARCHIVE_DEST_STATE_2=ENABLE LOG_ARCHIVE_FORMAT=%t_%s_%r.arc LOG_ARCHIVE_MAX_PROCESSES=10 FAL_SERVER=dg1 FAL_CLIENT=dg2 DB_FILE_NAME_CONVERT='dg1','dg2' LOG_FILE_NAME_CONVERT='/home/oracle/product/archive/dg1/','/home/oracle/product/archive/dg2/' STANDBY_FILE_MANAGEMENT=AUTO
二:broker的 配置
1:主副都执行: SQL> alter system set dg_broker_start = true; System altered. SQL> show parameter dg_broker_start; NAME TYPE VALUE ------------------------------------ ---------------------- ------------------------------ dg_broker_start boolean TRUE 2:主监听配置静态监听 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) (SID_DESC = (GLOBAL_DBNAME = gis1.g5air) (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1) (SID_NAME = gis) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = TEMP)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = D:\app\Administrator 3:副监听配置静态监听 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) (SID_DESC = (GLOBAL_DBNAME = gis2.g5air) (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1) (SID_NAME = gis) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = TEMP)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = D:\app\Administrator 4:主副都reload 监听 5:主进入dgmgrl C:\Windows\system32>dgmgrl sys/qaz123 DGMGRL for 64-bit Windows: Version 11.2.0.3.0 - 64bit Production Copyright (c) 2000, 2009, Oracle. All rights reserved. 欢迎使用 DGMGRL, 要获取有关信息请键入 "help"。 已连接。 6:配置dg broker DGMGRL> create configuration 'ORADG-HA' as primary database is 'gis1' connect identifier is gis1; 已创建配置 "ORADG-HA", 其中主数据库为 "gis1" DGMGRL> show configuration 配置 - ORADG-HA 保护模式: MaxPerformance 数据库: gis1 - 主数据库 快速启动故障转移: DISABLED 配置状态: DISABLED 7:添加备库 DGMGRL> add database 'gis2' as connect identifier is 'gis2' maintained as physical; 已添加数据库 "gis2" DGMGRL> show configuration 配置 - ORADG-HA 保护模式: MaxPerformance 数据库: gis1 - 主数据库 gis2 - 物理备用数据库 快速启动故障转移: DISABLED 配置状态: DISABLED 8:启用配置 DGMGRL> show configuration 配置 - ORADG-HA 保护模式: MaxPerformance 数据库: gis1 - 主数据库 gis2 - 物理备用数据库 快速启动故障转移: DISABLED 配置状态: DISABLED DGMGRL> enable configuration; 已启用。 DGMGRL> show configuration 配置 - ORADG-HA 保护模式: MaxPerformance 数据库: gis1 - 主数据库 gis2 - 物理备用数据库 快速启动故障转移: DISABLED 配置状态: SUCCESS 1: 删除dgmgr DGMGRL> show configuration; 配置 - DGORA11G 保护模式: MaxPerformance 数据库: gis1 - 主数据库 gis2 - 物理备用数据库 (禁用) 快速启动故障转移: DISABLED 配置状态: SUCCESS DGMGRL> disable CONFIGURATION; 已禁用。 DGMGRL> show configuration; 配置 - DGORA11G 保护模式: MaxPerformance 数据库: gis1 - 主数据库 gis2 - 物理备用数据库 快速启动故障转移: DISABLED 配置状态: DISABLED DGMGRL> remove CONFIGURATION; 已移去配置 DGMGRL> DGMGRL> show CONFIGURATION; ORA-16532: Data Guard 中介配置不存在 配置详细资料不能由 DGMGRL 确定
三:切换
switchover:
dgmgr1>switchover to gis2
failover:
disable gaurd: 备库执行: SQL> alter database recover managed standby database finish force; SQL> alter database commit to switchover to primary; SQL> alter database open;
monkeybron