data guard配置

合集下载

windows环境DataGuard配置

windows环境DataGuard配置

1. DataGuard配置主机:192.168.0.7(primary)备机:192.168.0.8(standby)配置条件:分别在primary、standby上安装数据库,并自动创建实例;安装路径、数据库实例名(citizen)和密码都设置成一样特别注意:文件夹权限必须与administartor一致1.1. Primary主机操作1、设置主数据库为force logging 模式SQL>sqlplus "/as sysdba"SQL>alter database force logging;2、设置主数据库为归档模式,并以mount 启动数据库SQL>archive log listSQL>shutdown immediateSQL>startup mountSQL>alter database archivelog;SQL>archive log list3、添加"备用联机日志文件"SQL>select * from v$logfile;再添加:alter database add standby logfile group 4 ('D:\app\oradata\orcl\redo04.log') size 50m;alter database add standby logfile group 5 ('D:\app\oradata\orcl\redo05.log') size 50m;alter database add standby logfile group 6 ('D:\app\oradata\orcl\redo06.log') size 50m;alter database add standby logfile group 7 ('D:\app\oradata\orcl\redo07.log')size 50m;路径与原来的日志路径一样4、创建主库的初始化参数给备库用SQL>Create pfile from spfile;产生的文件名为initcitizen.ora 存放目录默认放在$ORACLE_HOME/database下5、在主库创建监听和配置tnsnams.oralistener.ora配置如下:SID_LIST_LISTENER中添加:红色添加(SID_DESC =(GLOBAL_DBNAME = citizen)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(SID_NAME = citizen))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = WIN-RKCE8P1N4VV)(PORT = 1521))))此处HOST 最好使用主机名tnsnames.ora配置如下:添加:primary =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 19.128.249.51)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = citizen)))standby =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 19.128.249.52)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = citizen)))监听配置完后,重启监听后,需要时间久一点primary 的服务才能启动起来。

DATAGUARD配置参数详细解释

DATAGUARD配置参数详细解释

DATAGUARD配置参数详细解释DB_NAME只需注意DataGuard的主备各节点instance使用相同的db_name即可。

推荐与service_name一致。

DB_UNIQUE_NAMEPrimary与Standby端数据库的唯一名字,设定后不可再更改。

注意:如果主备db_unique_name不一样,需要与LOG_ARCHIVE_CONFIG配合使用db_unique_name并未规定需要与数据库service_name一致,可以自定义任意名称。

LOG_ARCHIVE_CONFIG列出主备库上的DB_UNIQUE_NAME 参数。

默认情况下,定义该参数能确保主备库数据库能够互相识别对方Primary与Standby端的db_unique_name不一致时如在主备库db_unique_name不一致的情况下未配置LOG_ARCHIVE_CONFIG则会出现如下报错ORA-16057: DGID from server not in Data Guard configuration原因:主库没有设置参数log_archive_config解决方法*.log_archive_config='dg_config=( Primary, Standby)'alter system set log_archive_config='dg_config=( Primary, Standby)' scope=both; Primary与Standby端的db_unique_name一致时LOG_ARCHIVE_DEST_1本地归档路径。

Primary与Standby需要定义各自的online redo log的归档地址,以系统实际的存放路径为准。

格式如下:Primary Site:*.LOG_ARCHIVE_DEST_1='LOCATION=/arch/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) 'Standby Site:*.LOG_ARCHIVE_DEST_1='LOCATION=/stdby/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) '注意:在LOG_ARCHIVE_DEST_n设置DB_UNIQUE_NAME表示该参数在DB_UNIQUE_NAME指定的数据库上生效,设置为本地的db_unique_name。

DataGuard配置说明

DataGuard配置说明

Oracle Data Guard配置同一操作系统平台的单机普通存储数据库的Data Guard配置操作系统:Windows 2003 Server主数据库名称:dgmain备数据库名称:dgstand1.启动主数据库的强制日志记录功能,避免Nologging子句的影响ALTER DATABASE FORCE LOGGING;2.配置日志传递的安全认证一般情况,设定remote_login_passwordfile=exclusive,并且配置tnsnames.ora即可3.配置主数据库的初始化参数#主库作为主数据库的配置:DB_NAME=dgmain#主备数据库必须相同DB_UNIQUE_NAME=DGMAIN#主备数据库不能相同LOG_ARCHIVE_CONFIG='DG_CONFIG=(DGMAIN,DGSTAND)''#DataGuard专用配置,主备数据库相同control_files='E:\Oracle\oradata\DGMAIN\control01.ctl','E:\Ora cle\oradata\DGMAIN\control02.ctl','E:\Oracle\oradata\DGMAIN\contro l03.ctl'#控制文件LOG_ARCHIVE_DEST_1='LOCATION=E:\Oracle\oradata\DGMAIN\ARCH\ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DGMAIN'#主数据库归档地址LOG_ARCHIVE_DEST_2='SERVICE=DGSTAND ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DGSTAND'#备用数据库归档地址,由该配置指定向备用数据库写归档日志LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_FORMAT=%t_%s_%r.arc 归档日志文件名格式LOG_ARCHIVE_MAX_PROCESSES=30#默认是4,可以不修改#主库作为备用数据库的配置:FAL_SERVER=DGSTANDFAL_CLIENT=DGMAINDB_FILE_NAME_CONVERT='DGSTAND','DGMAIN'LOG_FILE_NAME_CONVERT='DGSTAND','DGMAIN'STANDBY_FILE_MANAGEMENT=AUTO4.启动数据库归档模式SHUTDOWN IMMEDIATE;STARTUP MOUNT;ALTER DATABASE ARCHIVELOG;ALTER DATABASE OPEN;5.在主库创建备用重做日志。

Oracle_Data_Guard配置步骤

Oracle_Data_Guard配置步骤

Oracle Data Guard配置步骤一:测试环境主数据库:windows English XP;版本ora9i(9.2.0.1.0);IP地址192.168.1.38;主机名:CISCOSYS;实例SID:PRIMARY备用数据库:windows English XP;版本ora9i(9.2.0.1.0);IP地址192.168.1.111;主机名:CISCOROUTER;实例SID:STANDBY二:运行Data Guard的条件1、在主数据库和备用数据库的所有机器上必须安装同一个版本的Oracle企业版。

:SELECT * FROM V$VERSION;2、主数据库必须运行在归档模式下,推荐主和备用数据库都是force Logging模式,这样方便双向自由切换:ALTER DATABASE FORCE LOGGING;3、主数据库和备用数据库的操作系统必须一样(允许版本不同),备用数据库可以使用与主数据库不同的目录结构,ORACLE推荐使用相同的目录结构。

4、主备用数据库硬件系统的体系结构必须相同,但允许主备数据库硬件的配置可以不同如:CPU数量、内存大小、存储配置等。

5、主备数据库可以是单实例的数据库,也可以是多实例的RAC数据库。

6、每个主备数据库必须有它自己的控制文件,ORACLE NET不同,必须分别修改。

三:运行Data Guard的具体步骤1、主数据库和备用数据库的Oracle安装的时候都选择相同的安装路径D:\oracle\ora92;并且先不要安装数据库,即在安装过程中“数据库配置”一项下面选择“只安装软件”;2、在主数据库上使用DBCA命令建一个数据库,SID设为PRIMARY;3、设置主数据库归档路径为D:\oracle\ora92\database\Archive:SQL>alter system setlog_archive_dest_1='LOCATION=d:\oracle\ora92\database\Archive MANDATORY' scope=both;4、将主数据库实例、数据库关闭,然后启动实例,但不打开数据库,只启动到数据库挂载模式: SQL>shutdown immediate; SQL>startup mount;5、将主数据库设置成归档状态和自动归档模式:SQL>alter database archivelog; SQL>alter system set log_archive_start=true scope=spfile;6、在主数据库上面创建备用数据库的控制文件standby.ctl:SQL>alter database create standby controlfile as 'd:\oracle\oradata\standby.ctl';7、在主数据库上面创建备用数据库的初始化参数文件standby.ora(将其拷贝回备用数据库后转换成备用数据库的spfile):SQL>createpfile='e:\oracle\oradata\standby.ora' from spfile;8、查看主数据库的数据文件及其的位置:SQL>select name from v$datafile;记下查询结果中的数据文件的位置。

最新Oracle 11g DataGuard 配置详细说明

最新Oracle 11g DataGuard  配置详细说明

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上。

dataguard配置文档_分析

dataguard配置文档_分析

Oracle Dataguard一、新建STANDBY数据库1、在开始运行-REGEDIT-打开注册表,定位至新建字符串值(大写)ORACLE_SID(数值数据为主库的名称)2、开始-运行-cmd输入oradim -new -sid (数据库名称)完成实例的建设。

二、配置监听与网络服务分别在主库和备用库上配置监听和网络服务名(可用oracle net configuration assistant配置工具)两个节点的配置相同一个网络服务名指向主库,另一个指向备用库1、监听程序配置(主库与STANDBY库配置一样)完成监听程序的配置2、配置本地NET服务名配置。

服务名输入为数据库名。

主机名输入为主库的IP地址网络服务名为主库名称。

继续配置STANDBY的NET服务名这里改为STANDBY的IP地址网络服务名改为(oraclestandby)这里改变名称时需要到主库更改选项。

完成网络服务名配置和监听配置。

以上步骤需主库与STANDBY库同时设置。

服务名都为实例名。

三、配置主库server1、ALTER DATABASE FORCE LOGGING;使其使用强制记录方式2、改初始化文件(加上以下一行):检查是否为pfile或者spfile文件:select value from v$parameter where name = 'spfile'; *.log_archive_dest_2='SERVICE=ORCLSTANDBY'注:可用以下命令:alter system set log_archive_dest_2='service=STANDBY名' scope=spfile;alter system set log_archive_dest_2='service=STANDBY名' scope=both;(当初始化文件是spfile,用这条参数可以不用重启数据库)图中DEST_4因测试环境不同,做法按默认命令为准。

Dataguard配置手册

DATAGUARD配置手册一、DATAGUARD体系架构图二、配置步骤1.首先在节点1用dbca创建实例,节点2不安装实例,只装数据库软件即可,如果节点1是现成运行的数据库,则不需要新建;2.把主节点1的TNSNAMES.ORA配置成如下,并把该文件复制到备节点2的相同目录下:ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))ORCLBAK =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orclbak)))注:这里要注意红色部分,要根据自己的情况对IP和服务名进行调整;3.配置两个节点的监听:listener.ora设置如下(用现成的监听文件即可,无需修改):主节点1设置:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = shck70data279)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))红色部分位节点1的主机名,确认好配置后把这个监听文件拷贝到节点2相同的目录下,并调整:备节点2设置:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = shck70data280)(PORT = 1521)))(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))注:这里将红色的主机名改为节点2的主机名4.主节点设置强制写日志SQL> select FORCE_LOGGING from v$database;NOSQL> alter database force logging;SQL> select FORCE_LOGGING from v$database;YES5.把主节点的密码文件拷到备节点相同的目录下(名字要一样,别改名,本例是pwdorcl.ora文件):6.主节点创建PFILE并增加修改如下:SQL>create pfile from spfle;找到initorcl.ora文件:orcl.__db_cache_size=5251268608orcl.__java_pool_size=16777216orcl.__large_pool_size=16777216orcl.__oracle_base='E:\u01'#ORACLE_BASE set from environmentorcl.__pga_aggregate_target=2147483648orcl.__sga_target=6408896512orcl.__shared_io_pool_size=0orcl.__shared_pool_size=1056964608orcl.__streams_pool_size=16777216*.audit_file_dest='E:\u01\admin\orcl\adump'*.audit_trail='db'* patible='11.2.0.0.0'*.control_files='E:\u01\oradata\orcl\control01.ctl','E:\u01\fast_recovery_area\orcl\control02.ctl'*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='E:\u01\fast_recovery_area'*.db_recovery_file_dest_size=52428800000*.diagnostic_dest='E:\u01'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_format='ARC%S_%R.%T'*.nls_language='SIMPLIFIED CHINESE'*.nls_territory='CHINA'*.open_cursors=300*.pga_aggregate_target=2131755008*.processes=1500*.remote_login_passwordfile='EXCLUSIVE'*.sessions=1655*.sga_target=6396313600*.undo_tablespace='UNDOTBS1'--下面为增加的内容:DB_UNIQUE_NAME=orclLOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orclbak)'LOG_ARCHIVE_DEST_1= 'LOCATION=E:\u01\fast_recovery_area\orcl VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'LOG_ARCHIVE_DEST_2= 'SERVICE=orclbak LGWR ASYNC affirm VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orclbak'LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_FORMAT=%t_%s_%r.arcFAL_SERVER=orclbakFAL_CLIENT=orclSTANDBY_FILE_MANAGEMENT=AUTO7.在备端创建几个跟主端同样的目录:E:\u01\oradata\orcl,E:\u01\fast_recovery_area\orcl,E:\u01\admin\orcl\adump,E:\u01\admin\orcl\bdump,E:\u01\admin\orcl\pfile然后创建STANDBY控制文件并拷贝至备端的相同目录SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'e:\control01.ctl';然后把E:\control01.ctl复制到备端的E:\u01\oradata\orcl下8.根据6的参数文件内容,拷贝到到备端,并增加修改内容如下(记住pfile文件名要一样,也是叫initorcl.ora,路径是:E:\u01\product\11.2.0\dbhome_1\database\initorcl.ora):备库的参数文件如下:orcl.__db_cache_size=5251268608orcl.__java_pool_size=16777216orcl.__large_pool_size=16777216orcl.__oracle_base='E:\u01'#ORACLE_BASE set from environmentorcl.__pga_aggregate_target=2147483648orcl.__sga_target=6408896512orcl.__shared_io_pool_size=0orcl.__shared_pool_size=1056964608orcl.__streams_pool_size=16777216*.audit_file_dest='E:\u01\admin\orcl\adump'*.audit_trail='db'* patible='11.2.0.0.0'*.control_files='E:\u01\oradata\orcl\control01.ctl'--这里不同于主端,注意只指定一个控制文件即可*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='E:\u01\fast_recovery_area'*.db_recovery_file_dest_size=524288000000*.diagnostic_dest='E:\u01'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_format='ARC%S_%R.%T'*.nls_language='SIMPLIFIED CHINESE'*.nls_territory='CHINA'*.open_cursors=300*.pga_aggregate_target=2131755008*.processes=1500*.remote_login_passwordfile='EXCLUSIVE'*.sessions=1655*.sga_target=6396313600*.undo_tablespace='UNDOTBS1'--调整以下内容:DB_UNIQUE_NAME=orclbakLOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orclbak)'LOG_ARCHIVE_DEST_1= 'LOCATION=E:\u01\fast_recovery_area\orcl VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orclbak'LOG_ARCHIVE_DEST_2= 'SERVICE=orcl LGWR ASYNC affirm VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_FORMAT=%t_%s_%r.arcFAL_SERVER=orclFAL_CLIENT=orclbakSTANDBY_FILE_MANAGEMENT=AUTO9.关闭主端数据库并把数据文件拷贝至备端的相同目录下:SQL>shutdown immediate然后把主端的E:\u01\oradata\orcl目录复制到备端同样的目录下,这里千万要注意,控制文件千万别复制过去,因为步骤7已将standby 控制文件复制过去;10.在主,备端同时建立standby重做日志:主端此时OPEN数据库,然后创建以下日志,SQL>statupSQL>ALTER DATABASE ADD STANDBY LOGFILE group 4('E:\u01\oradata\standby_log\slog1.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 5('E:\u01\oradata\standby_log\slog2.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 6('E:\u01\oradata\standby_log\slog3.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 7('E:\u01\oradata\standby_log\slog4.rdo') SIZE 200M;备端先mount起来再创建:SQL>starup nomountSQL>alter database mount;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 4('E:\u01\oradata\standby_log\slog1.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 5('E:\u01\oradata\standby_log\slog2.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 6('E:\u01\oradata\standby_log\slog3.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 7('E:\u01\oradata\standby_log\slog4.rdo') SIZE 200M;11.备端进行同步操作SQL>shutdown immediate;SQL>startup nomount;SQL>alter database mount standby database;SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;此时先用步骤12,13查看DG是否同步正常,如正常(这里判断的方法是:用步骤13语句在主端看是否有LNS字样的同步日志出现,如出现ERROR则需要诊断不同步的原因,另外用步骤12在备端查看归档日志是否处于YES的应用状态),可进行下列操作切换到OPEN状态下同步:要切换到OPEN READ ONLY状态下的操作:SQL>alter database recover managed standby database cancel;SQL>alter database open read only;其实在open read only状态下也可以进行日志同步:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;这样就可以既可以实时查数据,也可以同步数据--到此配置完毕,以下为内容为维护DATAGUARD使用:12.查看备库日志应用状态:SQL>SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME,applied FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;.13.查看主库日志归档情况:SQL>set lines 180SQL>col message format a70SQL>select * from V$DATAGUARD_STATUS;14.查看数据库主备状态:SQL>SELECT SWITCHOVER_STATUS FROM V$DATABASE;15.查看备库standby_log状态:SQL>select thread#,sequence#,used,archived,status from v$standby_log;16.查看归档文件是否连续SQL> select thread#,low_sequence#,high_sequence# from v$archive_gap;。

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上。

Oracle Dataguard 配置介绍

Oracle Dataguard 配置介绍编写人:殷小春1.Oracle Dataguard介绍和主要优点1.1Oracl e Dataguard介绍Dataguard最主要的功能是冗灾,备库通过生产库传输过来的归档日志(或重做条目)自动维护备用数据库,保持生产库和备库数据的一致,这样当生产库发生故障时,可以马上将原来的备库切换成生产库,使系统迅速恢复正常,并且切换后无实时数据损失。

故障生产库在恢复后,可以作为新的备库使用,将数据和当前生产库同步。

Oracle10G中,备库只能运行在恢复模式,恢复模式中无法进行数据查询,只有以只读模式打开后才能查询数据,但此时不能同步恢复操作。

Oracle11G可以在打开数据库的同时进行恢复操作,备库可以一边和主库同步数据,一边进行数据查询和备份,这样既解决了数据库的容灾,也能缓解主服务器的压力,比如历史查询、或者大型报表统计这些耗资源的操作,就能放到备库上进行,提高生产库的运行效率。

缺点:无法将数据库还原到某一个时间点,主库和备库都只能保持在最新的数据状态。

1.2主要工作模式DATA GUARD可以分为物理STANDBY和逻辑STANDBY两种。

二者的最大差别在于,物理STANDBY应用的是主库的归档日志,而逻辑STANDBY应用的是主库的归档日志中提取的SQL语句。

由于二者这一点的区别,决定了物理STANDBY无论从逻辑结构和物理结构都是和主库保持一致,而逻辑STANDBY则只需保证逻辑结构一致,且逻辑STANDBY在应用SQL语句的时候,数据库可以处于打开的状态。

如果从DATA GUARD的保护模式分,可以分为三种不同的保护模式:1. 最大保护模式1)这种模式提供了最高级别的数据保护能力;2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;3)主库找不到合适的备库写入时,主库会自动关闭,防止未受保护的数据出现;4)优点:该模式可以保证备库没有数据丢失;5)缺点:主库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对网络等客观条件要求非常的高,主库的性能会因此受到非常大的冲击。

Oracle11gDataGuard配置EM

Oracle11gDataGuard配置EM
主库执行如下操作
1、在数据库主机hosts文件添加主机地址映射,解决EM监听程序状态显示为关闭的问题。

2、配置系统环境变量如下
ORACLE_HOSTNAME=PC-NAME
ORACLE_SID=orcl
ORACLE_UNQNAME=orcl
CMD窗口执行
set ORACLE_HOSTNAME=PC-NAME
set ORACLE_SID=orcl
set ORACLE_UNQNAME=orcl
3、连接数据库,使用如下命令解锁sysman用户。

4、alter user sysman account unlock;
5、使用emca -deconfig dbcontrol db命令删除配置
6、使用emca -repos drop删除repository
7、使用emca -config dbcontrol db -repos create 创建Database Control。

8、根据提示,输入数据库信息,待创建完毕,稍等片刻,等待EM启动完毕,根据提示的路径访问EM。

访问地址参考:https://主库IP:5500/em
注:①如果需要访问备库的EM,需要将备库切换成主库,再进行配置,配置后即可进行访问。

②进行主备切换后,需要对EM重新配置。

常用命令参考
重新配置语句emca -config dbcontrol db
重新配置端口命令
emca -reconfig ports -dbcontrol_http_port 1159
emca -reconfig ports -agent_port 3939。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

按照步骤来,细心点便可配置成功。

当然,若是不小心出现错误了,那就是比较悲剧的事情,仔细检查吧。

我当时配置的时候不小心把口令文件删了,登陆rman时,附加数据库怎么也连不上为备库standby1准备参数文件:1.1 修改主库orcl的参数SYS@orcl>alter system set log_archive_dest_1=2 'location=$ORACLE_BASE/oradata/orcl/archive3 valid_for=(ALL_LOGFILES,ALL_ROLES)4 db_unique_name=(orcl)';System altered.System altered.SYS@orcl>alter system set log_archive_dest_2=2 'service=standby13 valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)4 db_unique_name=standby15 LGWR ASYNC REOPEN=10';System altered.1.2 生成备库的初始化文件和密码文件SYS@orcl>host SYS@orcl>create pfile from spfile;File created.SYS@orcl>host cp $ORACLE_HOME/dbs/initorcl.ora$ORACLE_HOME/dbs/initstandby1.oracp $ORACLE_HOME/dbs/orapworcl $ORACLE_HOME/dbs/orapwstandby11.3修改主库的初始化文件,添加如下参数,重启后将数据库置于forcelogging;并增加standby log 文件SYS@orcl>alter system setlog_archive_config='DG_CONFIG=(orcl,standby1)';SYS@orcl>alter system set standby_file_management=auto; SYS@orcl>alter system setstandby_archive_dest='$ORACLE_BASE/oradata/orcl/archive'; SYS@orcl>alter system set fal_client=orcl;SYS@orcl>alter system set fal_server=standby1;SYS@orcl>shutdown immediate;SYS@orcl>startup mount;SYS@orcl>alter database force logging;SYS@orcl>alter database open;SYS@orcl>alter database add standby logfile group 4'/u01/app/oracle/oradata/orcl/srl01.log' size 50M;SYS@orcl>alter database add standby logfile group 5'/u01/app/oracle/oradata/orcl/srl02.log' size 50M;SYS@orcl>alter database add standby logfile group 6'/u01/app/oracle/oradata/orcl/srl03.log' size 50M;SYS@orcl>alter database add standby logfile group 7'/u01/app/oracle/oradata/orcl/srl04.log' size 50M;1.4修改备库的初始化文件[oracle@pc1 dbs]$ vi $ORACLE_HOME/dbs/initstandby1.ora 1)将所有的orcl替换为:standby1:g/orcl/s//standby1/g2)修改:db_name='orcl'log_archive_dest_2='service=orclvalid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)db_unique_name=orclLGWR ASYNC REOPEN=10';创建备库的目录:[oracle@pc1 admin]$ cd $ORACLE_BASE/admin[oracle@pc1 admin]$ mkdir standby1[oracle@pc1 admin]$ cd $ORACLE_BASE/admin/standby1[oracle@pc1 standby1]$ mkdir adump bdump cdump dpdump pfile udump [oracle@pc1 standby1]$ cd $ORACLE_BASE/oradata[oracle@pc1 oradata]$ mkdir standby1[oracle@pc1 oradata]$ cd $ORACLE_BASE/oradata/standby1 [oracle@pc1 standby1]$ mkdir archive启动备库到Nomount状态[oracle@pc1 standby1]$ export ORACLE_SID=standby1sqlplus / as sysdbacreate spfile from pfile;startup nomount;为备库添加参数:SYS@standby1>alter system set db_unique_name='standby1' scope=spfile;alter system setlog_archive_config='DG_CONFIG=(orcl,standby1)';alter system set fal_client='standby1';alter system set fal_server='orcl';alter system set standby_file_management=auto;alter system setstandby_archive_dest='$ORACLE_BASE/oradata/standby1/archive'; alter system setdb_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app /oracle/oradata/standby1' scope=spfile;alter system setlog_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/ap p/oracle/oradata/standby1' scope=spfile;###配置listener.ora文件和tnsnames.ora文件tnsnames.ora文件:[oracle@pc1 dbs]$ vi $ORACLE_HOME/network/admin/tnsnames.ora 增加:STANDBY1 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = )))listener.ora文件:(Optional)[oracle@pc1 dbs]$ vi $ORACLE_HOME/network/admin/listener.ora listener.ora文件修改后如下:# listener.ora Network Configuration File:/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.or a# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = )(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)(SID_NAME = orcl))(SID_DESC =(GLOBAL_DBNAME = )(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)(SID_NAME = standby1)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))))[oracle@pc1 oradata]$ lsnrctl reload[oracle@pc1 oradata]$ tnsping orcl[oracle@pc1 oradata]$ tnsping standby1####修改备库standby1的参数:SYS@standby1>alter system set db_unique_name='standby1' scope=spfile;alter system setlog_archive_config='DG_CONFIG=(orcl,standby1)';alter system set fal_client='standby1';alter system set fal_server='orcl';alter system set standby_file_management=auto;alter system setstandby_archive_dest='$ORACLE_BASE/oradata/standby1/archive'; alter system setdb_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app /oracle/oradata/standby1' scope=spfile;alter system setlog_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/ap p/oracle/oradata/standby1' scope=spfile;shutdown immediate;startup nomount;create pfile from spfile;####对主库orcl进行备份[oracle@pc1 ~]$ rman target /RMAN>run { allocate channel c1 type disk;backup database format '/home/oracle/orcl_full_%U.bak'; backup archivelog all format'/home/oracle/orcl_Archive_%U.bak';backup current controlfile for standby format'/home/oracle/orcl_controlforsb_%U.bak';release channel c1;}####将备份集应用到备库standby1[oracle@pc1 dbs]$ rman target sys/oracle@orcl auxiliarysys/oracle@standby1RMAN> duplicate target database for standby;####检查备库standby1的状态:SYS@standby1>select open_mode,database_role,protection_mode from v$database;SYS@standby1>select dest_id,dest_name,destination,status from v$archive_dest;SYS@standby1>select group#,status,type,member from v$logfile order by type,group#;SYS@standby1>selectlog_mode,guard_status,database_role,protection_mode fromv$database;####当physical standby创建完成后,standby数据库处于mounted状态,这意味着:备库只接收来自主库的归档日志文件,但不应用。

相关文档
最新文档