当前位置:文档之家› Oracle 11g DataGuard 配置详细说明

Oracle 11g DataGuard 配置详细说明

Oracle 11g DataGuard 配置详细说明1.判断DataGuard是否安装select * from v$option where parameter = 'Oracle Data Guard';2. 数据库环境说明主库配置:IP:192.168.228.133(Oracle11g1),数据库名:db1,监听服务名:db1pri,网络服务名:pri从库配置:IP:192.168.229.134(Oracle11g2),数据库名:db1,监听服务名:db1dg ,网络服务名:dg数据库程序安装路径:/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs数据库存放路径:/oracledata/db13.监听配置在做oracle dataguard主从库配置时候,一定要配置静态监听,否则可能出现监听服务解析错误,不能连接的问题,监听配置如下:主库配置如下:[oracle@Oracle11g1 admin]$ pwd/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin[oracle@Oracle11g1 admin]$ cat listener.ora# listener.ora Network Configuration File:/oracleapp/oinstall/oracle/product/1.2.0/dbhome_1/network/admin/listener.ora# Generated by Oracle configuration tools.WU =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 1521))))SID_LIST_WU =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME =db1pri)(ORACLE_HOME = /oracleapp/oinstall/oracle/product/11.2.0/dbhome_1)(SID_NAME = db1)))ADR_BASE_WU = /oracleapp/oinstall/oracle#注意这里的global_dbname=db1pri,SID_NAME=db1,这个SID_NAME 应与你对外提供服务的 $ORACLE_SID 一致,即数据库:db1[oracle@Oracle11g1 admin]$ cat tnsnames.ora# tnsnames.ora Network Configuration File:/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools.pri =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g1)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db1pri)))dg =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db1dg)))#tnsname pri中的 SERVICE_NAME=db1pri ,这里的服务名为db1pri而不是通常的 db1,因为在 listener.ora 中已经注册了db1pri,lsnrctl 启动时会监听db1pri ,并对应到SID_NAME=db1上。

此处的pri,dg为数据库参数文件中(initdb1.ora)的DB_UNIQUE_NAME的名字,即对外提供的服务名。

从库配置如下:[oracle@Oracle11g2 admin]$ cat listener.ora# listener.ora Network Configuration File:/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora # Generated by Oracle configuration tools.WU =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 1521))))SID_LIST_WU =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = db1dg)(ORACLE_HOME = /oracleapp/oinstall/oracle/product/11.2.0/dbhome_1)(SID_NAME = db1)))ADR_BASE_WU = /oracleapp/oinstall/oracle[oracle@Oracle11g2 admin]$ cat tnsnames.ora# tnsnames.ora Network Configuration File:/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools.pri =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g1)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db1pri)))dg =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db1dg)))分别用tnsping命令测试监听服务是否可用,正常显示信息如下:(tnsping对方的时候,有可能linux防火墙限制了,会提示TNS-12560: TNS: 协议适配器错误)[oracle@Oracle11g2 dbs]$ tnsping dgTNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 27-MAY-2014 15:39:34 Copyright (c) 1997, 2009, Oracle. All rights reserved.Used parameter files:Used TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db1dg)))OK (10 msec)[oracle@Oracle11g2 dbs]$ tnsping priTNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 27-MAY-2014 15:40:16 Copyright (c) 1997, 2009, Oracle. All rights reserved.Used parameter files:Used TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =db1 pri)))OK (10 msec)[oracle@Oracle11g2 dbs]$4.主库前期准备设置强制写日志[oracle@Oracle11g2 admin]$ sqlplus / as sysdbaSQL> select FORCE_LOGGING from v$database;NOSQL> alter database force logging;SQL> select FORCE_LOGGING from v$database;YES5. 创建口令文件通过dbca命令创建的数据库会自动在/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs目录下创建orapwdb1密码文件,也可以通过如下命令创建[oracle@Oracle11g1 admin]$orapwdfile=/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs/orapwdb1 password=oracle entries=5密码文件为orapw(数据库ID),这里为orapwdb1.6.修改主库初始化参数在initdb1.ora文件下增加如下参数:[oracle@Oracle11g2 dbs]$ vim initdb1.ora*.db_name='db1' #注意保持同一个DataGuard中所有数据库DB_NAME相同(物理standby dataguard)。

*.DB_UNIQUE_NAME=pri #为每一个数据库指定一个唯一的名称,该参数一经指定不会再发生变化,除非你主动修改它。

*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(pri,dg)' #(启动db接受或发送redo data,包括所有库的db_unique_name)*.LOG_ARCHIVE_DEST_1= 'LOCATION=/oracleapp/oinstall/oracle/archiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pri' #(主库归档目的地)*.LOG_ARCHIVE_DEST_2= 'SERVICE=dg LGWR ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg' #(当该库充当主库角色时,设置物理备库redo data的传输目的地,两种归档方式LGWR ARCn,ARCn只支持最高性能的保护模式;ASYNC异步传输,SYNC同步传输)#*.LOG_ARCHIVE_MAX_PROCESSES=5 (指定归档进程的数量(1-30),默认值通常是4。

相关主题