Oracle 11g DataGuard 配置详细说明121.判断DataGuard是否安装3select * from v$option where parameter = 'Oracle Data Guard';42. 数据库环境说明5主库配置:IP:192.168.228.133(Oracle11g1),数据库名:db1,监听服6务名:db1pri,网络服务名:pri从库配置:IP:192.168.229.134(Oracle11g2),数据库名:db1,监听服78务名:db1dg ,网络服务名:dg9数据库程序安装路径:/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs1011数据库存放路径:/oracledata/db1123.监听配置13在做oracle dataguard主从库配置时候,一定要配置静态监听,否则可14能出现监听服务解析错误,不能连接的问题,监听配置如下:15主库配置如下:16[oracle@Oracle11g1 admin]$ pwd17/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin 18[oracle@Oracle11g1 admin]$ cat listener.ora19# listener.ora Network Configuration File:/oracleapp/oinstall/oracle/product/1.2.0/dbhome_1/network/admin/list2021ener.ora# Generated by Oracle configuration tools.2223WU =24(DESCRIPTION_LIST =25(DESCRIPTION =26(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 271521))28)29)30SID_LIST_WU =31(SID_LIST =32(SID_DESC =33(GLOBAL_DBNAME =db1pri)34(ORACLE_HOME =35/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1)36(SID_NAME = db1)37)38)39ADR_BASE_WU = /oracleapp/oinstall/oracle40#注意这里的global_dbname=db1pri,SID_NAME=db1,这个SID_NAME 应与41你对外提供服务的 $ORACLE_SID 一致,即数据库:db142[oracle@Oracle11g1 admin]$ cat tnsnames.ora43# tnsnames.ora Network Configuration File:44/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin/tns 45names.ora46# Generated by Oracle configuration tools.47pri =48(DESCRIPTION =49(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g1)(PORT = 1521)) (CONNECT_DATA =5051(SERVER = DEDICATED)52(SERVICE_NAME = db1pri))5354)55dg =56(DESCRIPTION =57(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 1521)) 58(CONNECT_DATA =59(SERVER = DEDICATED)60(SERVICE_NAME = db1dg)61)62)63#tnsname pri 中的 SERVICE_NAME=db1pri ,这里的服务名为db1pri而64不是通常的 db1,因为在 listener.ora 中已经注册了db1pri,lsnrctl 启动65时会监听db1pri ,并对应到SID_NAME=db1上。
此处的pri,dg为数据库参66数文件中(initdb1.ora)的DB_UNIQUE_NAME的名字,即对外提供的服务名。
6768从库配置如下:69[oracle@Oracle11g2 admin]$ cat listener.ora70# listener.ora Network Configuration File:71/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin/lis 72tener.ora73# Generated by Oracle configuration tools.74WU =75(DESCRIPTION_LIST =76(DESCRIPTION =77(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 1521))7879))8081SID_LIST_WU =82(SID_LIST =(SID_DESC =8384(GLOBAL_DBNAME = db1dg)85(ORACLE_HOME =86/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1)87(SID_NAME = db1)88)89)90ADR_BASE_WU = /oracleapp/oinstall/oracle91[oracle@Oracle11g2 admin]$ cat tnsnames.ora92# tnsnames.ora Network Configuration File:93/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin/tns 94names.ora# Generated by Oracle configuration tools.959697pri =98(DESCRIPTION =99(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g1)(PORT = 1521))(CONNECT_DATA =100101(SERVER = DEDICATED)102(SERVICE_NAME = db1pri)103)104)105dg =106(DESCRIPTION =107(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 1521)) 108(CONNECT_DATA =109(SERVER = DEDICATED)110(SERVICE_NAME = db1dg)111)112)113分别用tnsping命令测试监听服务是否可用,正常显示信息如下:114115(tnsping对方的时候,有可能linux防火墙限制了,会提示TNS-12560: 116TNS: 协议适配器错误)[oracle@Oracle11g2 dbs]$ tnsping dg117118119TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 12027-MAY-2014 15:39:34121122Copyright (c) 1997, 2009, Oracle. All rights reserved.123Used parameter files:124125126Used TNSNAMES adapter to resolve the alias127128Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = 129TCP)(HOST = Oracle11g2)(PORT = 1521)) (CONNECT_DATA = (SERVER = 130DEDICATED) (SERVICE_NAME = db1dg)))131OK (10 msec)[oracle@Oracle11g2 dbs]$ tnsping pri132133134TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 13527-MAY-2014 15:40:16136137Copyright (c) 1997, 2009, Oracle. All rights reserved.138139Used parameter files:140141142Used TNSNAMES adapter to resolve the alias143Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = 144TCP)(HOST = Oracle11g1)(PORT = 1521)) (CONNECT_DATA = (SERVER = 145DEDICATED) (SERVICE_NAME =db1 pri)))146OK (10 msec)147[oracle@Oracle11g2 dbs]$1484.主库前期准备149设置强制写日志150[oracle@Oracle11g2 admin]$ sqlplus / as sysdba151SQL> select FORCE_LOGGING from v$database;152NO153SQL> alter database force logging;154SQL> select FORCE_LOGGING from v$database;155YES1565. 创建口令文件157通过dbca命令创建的数据库会自动在158/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs目录下创建159orapwdb1密码文件,也可以通过如下命令创建[oracle@Oracle11g1 admin]$orapwd160161file=/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs/orapwdb1 162password=oracle entries=5密码文件为orapw(数据库ID),这里为orapwdb1.1631646.修改主库初始化参数165在initdb1.ora文件下增加如下参数:166[oracle@Oracle11g2 dbs]$ vim initdb1.ora167*.db_name='db1' #注意保持同一个DataGuard中所有数据库DB_NAME168相同(物理standby dataguard)。