oracle dataguard配置规范文档
ORACLE9i下配置Data Guard
ORACLE9i下配置DataGuard本文中涉及的软件及硬件环境如下:机器a(主机名:test1)以下简称主库(cuss_1),双网卡配置,通过IP为10.5.31.42的网卡与局域网连接,通过IP为192.168.1.1的网卡与机器b直接相连。
机器b(主机名:test2)以下简称从库(cuss_2),双网卡配置,通过IP为10.5.31.43的网卡与局域网连接,通过IP为192.168.1.2的网卡与机器a直接相连。
操作系统:RHEL3.0_u7数据库版本:9.2.0.4时间校验一下******************************************************************************* *****************关于ORACLE数据库的安装1.主从两机操作系统参数修改(以root用户)vi /etc/sysctl.conf 修改后为:kernel.sysrq=1kernel.shmmax=1073741824# 这个参数为服务器ram的一半kernel.msgmni=1024kernel.sem=100 32000 100 100fs.file-max=65535net.ipv4.ip_local_port_range=1024 65000net.ipv4.tcp_max_syn_backlog=81922.主从两机重启网卡,使第一步的设置生效(以root用户)/etc/init.d/network restart3.主从两机建立ORACLE安装用户(以root用户)4.主从两机建立相关目录(777权限)(以root用户)5.主从两机ORACLE用户环境变量设置6.使ORACLE用户环境变量生效7.在主库上安装ORACLE(以ORACLE用户)选择只安装software 不安装数据库8.打包主库上的ORACLE安装后的文件,ftp到从库解开(以ORACLE用户)9.在主库上用dbca建立数据库(以ORACLE用户)。
安装规范_数据库_Oracle10g_DataGuard实施文档
文档标识文件状态:[] 草稿[√] 正式发布[ ] 正在修改Oracle Dataguard实施文档版本:1.0.0编制涂青2015年2月1日审核批准年月日生效日期:年月日修订历史记录日期版本修订说明作者目录第一章引言 (4)**. 编写目的 (4)**. 定义、首字母缩写词和缩略语 (4)第二章................................................................................................. 安装主、备库O RACLE软件4**. 安装前规划 (4)**. 修改/ETC/HOSTS(主、备) (4)**. 检查并建立相关目录(主、备) (4)**. 数据文件目录 (4)**. 归档日志文件目录 (5)**. 临时备份文件目录 (5)**. 做好数据备份 (5)第三章................................................................................................................ D ATA G UARD配置5**. SQLPLUS登录主库,修改为强制归档模式,并修改相关参数 (5)**. 重启主库至OPEN状态并开启归档模式 (6)**. 编辑主库及备库的TNSNAME.ORA文件 (6)**. 在主库进入RMAN模式 (6)**. 在主库上生成备库的控制文件及参数文件 (7)**. 将主库RMAN生产的备份文件、控制文件、参数文件、密码文件拷贝至备库 (7)**. 在主库上生成“造目录”文件 (7)**. 在主库 (7)**. 在备库 (7)**. 在备库上更改参数文件FAPDBWB.PFILE,修改其中主备库相关参数 (7)**. 在备库上将STANDBY控制文件拷到参数文件中所指位置 (9)**. 在备库上使用修改的参数文件启动备库数据库 (9)**. 在备库上用RMAN恢复备份 (9)**. 在备库上创建SPFILE文件 (9)**. 在主库和备库上增加STANDBY REDOLOGFILE文件 (10)**. 查询主库状态 (10)**. 在备节点开启DG同步状态 (10)**. 主备库查询比对 (11)第一章引言1.1. 编写目的本文档描述了配置Oracle Dataguard的详细步骤,编写的目的是为了使用者能够快速进行ORACLE DataGuard的配置,以便实现数据的容灾或其他查询等目的。
(完整word版)OracleDataguard操作手册20160912
Oracale dataguard操作手册第一.dataguard的好处:它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库的快速切换与灾难性恢复,提供了灾难保护并防止数据丢失。
Data Guard只是在软件上对数据库进行设置,并不需要额外购买任何组件。
用户能够在对主数据库影响很小的情况下,实现主备数据库的同步。
而主备机之间的数据差异只限于在线日志部分,因此可以被用作数据容灾解决方案。
第二.选用什么DG模式?DG有三种模式,最大保护(Maximum protection),最大性能(Maximum performance),最大可用性(Maximum availability),默认的就是最大性能模式。
再实际的应用种使用最大性能模式比较多。
三种保护模式:可以在V$DATABASE中查看到DataGuard的保护模式SELECT PROTECTION_MODE, PROTECTION_LEVEL FROMV$DATABASE;第三.物理standby还是逻辑standby?1,物理stand by直接从primary接受archived log,然后直接做恢复,效率较高,因为是使用最底层的块级别上的复制。
逻辑stand by是把primary接收过来的archived log解析为sql语句,然后做同步,效率较低,因为是执行SQL语句。
2,Physical standby的APPLY节点为MOUNT状态,Logical standby节点为OPEN状态,可分担primary上部分的查询和报表服务。
3,Physical standby可以实现与Primary来回switchover;logical standby切为Primary ,不能再切回来。
4,Physical standby可以切换为Logical standby ,但是logical 不能转换为Physical。
综合以上采取:物理standby模式,效率高,数据完整性好。
oracle数据库Data Guard安装文档
oracle数据库Data Guard安装文档2014年11月10日10:461准备工作Primary Server IP: 10.101.248.97Standby Server IP: 10.101.248.98Primary Net Service Name: creditStandby Net Service Name: creditPrimary ORACLE_SID= creditStandby ORACLE_SID= creditORACLE_BASE=/oracleORACLE_HOME=/oracle/product/11.2.0/db_12credit数据库data guard 搭建2.1主备安装11.2.0.4RDBMS主库备库均安装相同版本的11.2.0.4RDBMS数据库软件并netca建立监听。
除此之外主库dbca创建credit数据库实例。
2.2主库端基本参数设置调整固定日志切换频率为300秒五分钟SQL> alter system set archive_lag_target=300 scope=both;开启强制日志记录SQL> alter database force logging;设置本地归档路径SQL> alter system set log_archive_dest_1='location=/arch' scope=both;设置undo保留时间为一天24小时SQL> alter system set undo_retention=86400 scope=both;SQL> alter tablespace undotbs1 retention guarantee;关闭11g新特性调整密码不过期SQL> alter profile default limit PASSWORD_LIFE_TIME unlimited;调整登入限制SQL> alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;开启数据库归档SQL> alter database archivelog;设置备库归档路径SQL>ALTER SYSTEM SET log_archive_dest_2='service=credit_std arch async VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=credit'SCOPE=BOTH;应用归档路径SQL>ALTER SYSTEM set LOG_ARCHIVE_DEST_STATE_1=ENABLE SCOPE=BOTH;SQL>ALTER SYSTEM set LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH;设置falover切换参数SQL>ALTER SYSTEM set FAL_SERVER=' credit' SCOPE=BOTH;SQL>ALTER SYSTEM set FAL_CLIENT=' credit_std' SCOPE=BOTH;SQL>ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT =AUTO SCOPE=both;SQL>ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT =MANUAL SCOPE=both;创建连接主备连接串vi $ORACLE_HOME/network/admin/tnsnames.ora添加如下内容CREDIT =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.101.248.97)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = credit)))CREDIT_STD =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.101.248.98)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = credit)))2.3创建备库文件并传送到备库创建备库参数文件create pfile from spfile;创建备库控制文件ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/control01.ctl';拷贝参数文件($ORACLE_HOME/dbs/initcredit.ora)和控制文件到备库目录下($ORACLE_HOME/dbs/.和/oradata/credit)拷贝密码文件($ORACLE_HOME/dbs/orapwcredit)到备库($ORACLE_HOME/dbs/.) 拷贝数据文件(/oradata/credit/*.dbf)到备库(/oradata/credit/.)拷贝tns文件($ORACLE_HOME/network/admin/tnsnames.ora)到备库相同目录创建监听文件2.4备库端设置创建日志文件夹内mkdir /oracle/diag/rdbms/credit/credit修改参数文件Vi $ORACLE_HOME/dbs/initcredit.oralog_archive_dest_2='SERVICE=credit arch ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=credit'FAL_SERVER='credit' SCOPE=BOTH;FAL_CLIENT='credit_std' SCOPE=BOTH;*.control_files='/oradata/credit/control01.ctl'2.5 Mount备库应用日志1.[oracle@jason oracle]$ mkdir -p /oracle/admin/credit2.[oracle@jason admin]$ mkdir adump dpdump pfile开启mrp进程应用日志SQL> alter database recover managed standby database disconnect fromsession;关闭mrp进程SQL> alter database recover managed standby database cancel;创建备库日志文件并重新开始mrp进程alter database add logfile group 1 '/oradata/credit/redo01.log' size 200m;alter database add logfile group 2 '/oradata/credit/redo02.log' size 200m;alter database add logfile group 3 '/oradata/credit/redo03.log' size 200m;alter database add logfile group 4 '/oradata/credit/redo04.log' size 200m;alter database add logfile group 5 '/oradata/credit/redo05.log' size 200m;SQL> alter database recover managed standby database disconnect fromsession;SQL> alter database recover managed standby database cancel;2.6验证data gurad同步情况主库切换日志SQL>alter system switch logfile;主备查询sequence#大小是否相同SQL>select max(sequence#) from v$archived_log;主备是否一致SQL>SELECT SEQUENCE#, APPLIED,FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;select * from v$standby_log; -->检查StandbyRedo log是否启用。
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配置步骤一:测试环境主数据库: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 配置详细说明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上。
oracle 11.2.0.4 dataguard(copy)配置
OS version:RHEL6.5oracle version:11.2.0.4primary:ip:192.168.1.221hostname:nodepSID:testydbname:testydb_unique_name:testypnet service name: testypstandby:ip:192.168.1.222hostname:nodesSID:testydbname:testydb_unique_name:testysnet service name: testys1、主库配置(#####主库应该为mount状态下#####)a)主库启动Force LoggingSYS@testy> alter database force logging;--验证:SYS@testy> select FORCE_LOGGING from v$database;b)检查口令文件$ ls -l $ORACLE_HOME/dbs-rw-r----- 1 oracle dba 5120 Oct 18 20:46 orapwtestyc)确定主库为归档模式,否则修改为归档SYS@testy> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /archivelog/testy/Oldest online log sequence 66Next log sequence to archive 68Current log sequence 68d)配置监听和service_names主库配置:[oracle@nodep]$ cat $ORACLE_HOME/network/admin/listener.ora# listener.ora Network Configuration File: /oracle/product/11.2.0/network/admin/listener.ora # Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = testy)(ORACLE_HOME = /oracle/product/11.2.0)(SID_NAME = testy)))LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = nodep)(PORT = 1521)) ##备库HOST修改为nodes)ADR_BASE_LISTENER = /oracle[oracle@nodep]$ cat $ORACLE_HOME/network/admin/tnsnames.ora# tnsnames.ora Network Configuration File: /oracle/product/11.2.0/network/admin/tnsnames.ora# Generated by Oracle configuration tools.TESTYS =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = nodes)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = testy) #参数service_names应该和tnsnames.ora文件中SERVICE_NAME =一致。
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因测试环境不同,做法按默认命令为准。
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上。
(完整版)oracle11g dataguard 完全手册
oracle11g dataguard 完全手册一、前言:网络上关于dataguard的配置文章很多,但是很多打着oracle11g的文章实际都是只能在9 10 上运行,比如FAL_CLIENT在11g中已经废弃,但是现在网络上的文章都是没有标注这一点。
而且对于具体含义语焉不详对于新手只能知其然而不知其所以然。
这篇文章我就想让像我这样的人对于dataguard配置不仅仅知道怎么配置,还要知道为什么需要这样配置,这样的效果才是最好的。
这篇文章不仅仅是记录如何配置,还介绍了为什么是这样,以及注意要点,我希望这个文章可以作为进行dataguard配置的一个参考手册。
二、前提1.主库是归档模式:如果我们不清楚为什么是归档模式,那我们就应该也不会清楚dataguard是用来做什么的。
透过很多修饰的官方语言,我们需要明确DG(dataguard简称,后同)实际上的作用就是用来高可用。
而实现原理就是从主库获取数据到从库,在主库发生异常的时候,从库接管主库,完成身份的变化。
可以一个主库,最多9个从库。
同时分为逻辑standby和物理standby这里我们讨论的是物理standby.一旦创建并配置成standby 后,dg 负责传输primary数据库redo data 到standby 数据库,standby 数据库通过应用接收到的redo data 保持与primary 数据库的事务一致。
这下清楚了吧,需要保证主从库一致,需要传输archive log和redo log到从库,如果不是归档模式无法保证主从库的数据一致。
2.从库只需要安装数据库软件,数据从主库传输后完成。
3.很多人说11g有了active dataguard(ADG),逻辑standby 实际上已经没什么用处了。
4.主从库硬件最好一致。
oracle数据库版本需要一致。
(1)内存检查项:# grep MemTotal /proc/meminfo交换分区检查项:如果内存在1-2G,swap是1.5倍;2-16G,1倍;超过16G,设置为16G即可。
完整版Oracle DataGuard文档
完整版Oracle DataGuard文档目录1、主库准备工作 (3)1.1、检查数据库是否支持Data Guard(企业版才支持),是否归档模式,Enable force logging (3)1.2、如果主库没有密码文件则建立密码文件,从而可以OS验证的方式登陆 (3)1.3、配置standby redolog(最佳性能模式可以忽略,如果将来变成备库且要转为其它两种模式则要建立) (4)1.4、设置主库初始化参数 (4)1.5、备份主库数据文件 (5)1.6、在主库上建立备库控制文件(控制文件通常需要有多份,手工将文件复制几份) (6)1.7、为备库准备init参数 (6)1.8、拷贝上面生成的文件backup_%T.bak、stdby_control01/02/03.ctl、initPHYSTDBY.ora到备库所在主机 (7)2、建立备库 (8)2.1、设置环境变量并建立备库一些必需目录 (8)2.2、在备库主机上生成密码文件,且sys密码和主库得一致 (8)2.4、在备库上建立spfile (9)2.5、启动物理备库 (9)2.7、配置standby redolog(最佳性能模式可以忽略,如果要转为其它两种模式则要建立) (9)2.8、在备库上,启动redo apply (10)3、主备库各参数文件内容 (10)3.1、主备库listener.ora一样,如果有不一样也是host不一样 (10)3.2、主备库tnsnames.ora一样,如果有不一样也是host和port不一样 (11)3.3、init$ORACLE_SID.ora (12)4、主库归档测试 (15)5、修改主库DataGuard保护模式 (16)5.1、LGWR传送日志的配置方法: (16)5.2、修改主库DataGuard保护模式 (17)5.3、主库修改初始化参数(主库db_wending操作) (17)5.4、主库通过命令行修改数据保护模式,重启主数据库(主库db_wending操作) (17)5.5、重启主库(主库操作) (17)5.6、查看主库保护模式是否变更成功(主库操作) (18)5.7、修改备库的log_archive_dest_2初始化参数方便数据库角色切换(备库操作) (18)5.8、查看备库数据保护模式(备库操作) (18)5.9、验证一下“最高可用性”切换成果 (19)6、DataGuard关启状态 (20)7、主备数据库切换 (21)7.1、正常切换: (21)7.2、非正常切换:(即主服务器当机的情况)启动failover (22)8、常用维护SQL (22)1、主库准备工作Host IP DB_NAME DB_UNIQUE_NAME Net Service Name(网络服务名) 主库192.168.137.128 ORCLDB WENDING db_wending备库192.168.137.129 ORCLDB PHYSTDBY db_phystdby保护模式:默认最大性能模式注意DataGuard启动顺序:启动顺序:先standby ,后primary;关闭顺序:先primary ,后standby;1.1、检查数据库是否支持Data Guard(企业版才支持),是否归档模式,Enable force logging$ sqlplus '/as sysdba'SQL> select * from v$option where parameter = 'Managed Standby';确认主库处于归档模式SQL> archive log list (先检查是否归档模式,不是则修改)startup mountalter database archivelog;alter database open;将primary数据库置为FORCE LOGGING模式SQL> alter database force logging; (强制产生日志)1.2、如果主库没有密码文件则建立密码文件,从而可以OS验证的方式登陆$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=iamwangnc entries=51.3、配置standby redolog(最佳性能模式可以忽略,如果将来变成备库且要转为其它两种模式则要建立)SQL> alter database add standby logfilegroup 4 ('/orahome/oradata/WENDING/stdby_redo04.log') size 50m,group 5 ('/orahome/oradata/WENDING/stdby_redo05.log') size 50m,group 6 ('/orahome/oradata/WENDING/stdby_redo06.log') size 50m,group 7 ('/orahome/oradata/WENDING/stdby_redo07.log') size 50m;standby redolog的组数参考公式:(online redolog组数 + 1) * 数据库线程数;单机线程数为1,RAC一般为2。
Oracle11GDataGuard搭建详细步骤文档
ORACLE 11G 搭建DATAGUARD步骤ORACLE 11G 搭建DATAGUARD步骤1安装环境在主机1上安装数据库软件,并建监听和实例,在主机2上安装数据库软件,2主数据库配置2.1设置数据库强制归档sqlplus / as sysdbaSQL> ALTER DATABASE FORCE LOGGING;SQL> select force_logging from v$database;FOR---YES2.2添加STANDBY日志文件SQL>alter database add standby logfile group 4 ('/oradata/dbtest/redo04.log') size 50m;SQL>alter database add standby logfile group 5 ('/oradata/dbtest/redo05.log') size 50m;SQL>alter database add standby logfile group 6 ('/oradata/dbtest/redo06.log')size 50m;SQL>alter database add standby logfile group 7 ('/oradata/dbtest/redo07.log') size 50m;SQL> select * from v$logfile order by 1;2.3修改参数文件2.3.1生成pfileSQL>create pfile from spfile;SQL>shutdown immediate;2.3.2修改pfilevi $ORACLE_HOME/dbs/initdbtest.ora在最后添加如下内容:*.db_unique_name=dbtest1*.fal_server='dbtest1'*.fal_client='dbtest2'*.standby_file_management=auto*.db_file_name_convert='/oradata/dbtest/','/oradata/dbtest/'*.log_file_name_convert='/oradata/dbtest/','/oradata/dbtest/'*.log_archive_config='dg_config=(dbtest1,dbtest2)'*.log_archive_dest_2='service=dbtest2 LGWR SYNC AFFIRMvalid_for=(online_logfiles,primary_role) db_unique_name=dbtest2'*.log_archive_dest_state_2='ENABLE'2.3.3生成spfileSQL> create spfile from pfile;File created.2.4修改监听配置文件2.5修改TNS配置文件[oracle@dg1 admin]$ cat tnsnames.ora# tnsnames.ora Network Configuration File:/oracle/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools.DBTEST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.132.3)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dbtest1)))DBTEST1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.132.3)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dbtest1)))DBTEST2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.132.4)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dbtest2)))EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))2.6重启监听服务lsnrctl stoplsnrctl start2.7配置最大可用模式SQL> startupORACLE instance startedSQL> alter database set standby database to maximize availability;Database altered.SQL> exit2.8备份数据库[oracle@dg1 admin]$ rman target /RMAN> backup database plus archivelog;RMAN> backup current controlfile for standby;RMAN> exit备份完成后会在闪回区生产备份文件3备数据库配置3.1建立相应的文件目录包括dump文件目录,闪回区,数据文件目录,可以通过show parameter dest 命令查看mkdir -p /oracle/app/oracle/admin/dbtest/adumpmkdir -p /oracle/app/oracle/admin/dbtest/dpdumpmkdir -p /oracle/app/oracle/diag/rdbms/dbtest1/dbtest/tracemkdir -p /oracle/app/oracle/diag/rdbms/dbtest1/dbtest/cdumpmkdir -p /oracle/app/oracle/flash_recovery_areamkdir -p /oradata/dbtest3.2从主数据库服务器上拷贝文件注意:下面命令在主数据库上执行3.2.1拷贝闪回区内容[oracle@dg1 admin]$ cd /oracle/app/oracle/flash_recovery_areascp -r ./* 192.168.132.4:/oracle/app/oracle/flash_recovery_area/3.2.2拷贝参数文件[oracle@dg1 flash_recovery_area]$ cd $ORACLE_HOME/dbsscp ./* 192.168.132.4:/oracle/app/oracle/product/11.2.0/db_1/dbs/3.2.3拷贝监听文件[oracle@dg1 dbs]$ cd ../network/admin/scp *.ora192.168.132.4:/oracle/app/oracle/product/11.2.0/db_1/network/admin/3.3修改监听配置文件修改ip地址3.4修改TNS配置文件修改ip地址3.5重启监听服务lsnrctl stoplsnrctl start3.6恢复数据库[oracle@dg2 admin]$ rman target sys/funo1234@dbtest1 auxiliary /RMAN> duplicate target database for standby nofilenamecheck;RMAN> exit3.7修改参数文件[oracle@dg2 admin]$ sqlplus / as sysdbaSQL> shutdown immediate;vi $ORACLE_HOME/dbs/initdbtest.ora修改如下内容*.db_unique_name=dbtest2SQL> create spfile from pfile;3.8启动数据库SQL> startup nomount;SQL> alter database mount standby database;SQL> alter database add standby logfile;SQL> alter database add standby logfile;SQL> alter database add standby logfile;SQL> alter database add standby logfile;SQL> alter database recover managed standby database using current logfile disconnect from session;3.9验证主库备库均执行如下命令:SQL> archive log list;主库备库如果最后一行数字相同,说明配置成功3.10切换到只读模式SQL> alter database recover managed standby database cancel;SQL> alter database open read only;3.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;。
dataguard配置
Oracle dataguard配置文档一、Dataguard简介 (3)二、dataguard原理 (3)三、dataguard配置要求 (4)1. 环境要求 (4)2. 环境规划 (4)3. dataguard配置要求 (4)4. 配置dataguard所需工具 (4)四、操作系统及oracle11g环境配置 (4)1.操作系统磁盘分区 (4)2.oracle11g环境能数配置 (4)1.向/etc/security/limits增加以下记录 (4)2.向/etc/sysctl.conf增加以下记录 (4)3.以oracle用户执行以下命令 (5)4.向/etc/pam.d/login增加以下记录 (5)5.向oracle参数文件bash.profile里增加以下记录 (5)五、安装oralce11g数据库 (5)1.要求在两台服务器上仅安装数据库软件。
(5)2.配置监听程序 (5)3.在主服务器上建库 (5)六、Dataguard配置 (6)1.数据库要处于完全归档状态 (6)2.对主数据库进行rman备份 (6)3.在主库上运行netmgr命令,进行如下配置 (6)4.生成数据库pfile, (7)5.修改主数据库pfile文件 (7)6.备库参数文件置 (8)7.在主库和备库上用netca建立本地服务名 (8)8. 在备库上以oracle用户建立与主库相对应的目录文件 (9)19. 将主库产生的rman备份文件,参数文件,密码文件,日志文件拷贝到备库 (9)10. 在备库上执行以下操作 (9)11. 备用数据库建立完毕。
(9)七、dataguard数据库故障排查 (10)1. 检查备用数据库和主用数据库的状态 (10)2. 测试dataguard日志是否传输 (10)3.测试dml,ddl语句是否传输 (10)八、dataguard主备库切换 (11)1. 将备库转换成主库模式 (11)2. 将主库转换成备库模式 (11)2一、Dataguard简介Dataguard是oracle集成化灾难恢复解决方案,该技术可以维护生产数据库一个或多个同步备份,由一个生产数据库和苦干备用数据库组成,并形成珍上独立的,易于管理的数据保护方案,支持异地远程容灾。
Oracle_11G_DataGuard配置
目录1.判断DataGuard是否安装 (2)2. 网络配置 (2)3.监听配置 (2)4.主库前期准备 (3)5. 创建口令文件 (3)6.修改主库初始化参数 (4)7.修改数据库运行在归档模式下 (4)8. 创建备份库需要的控制文件 (4)9. 备份生产数据库 (5)10.修改备库pfile (5)11.将控制文件 (5)12.在备库上创建口令文件 (5)13.在备库上创建spfile (5)14.启动物理备用数据库 (6)15.配置Standby Redo Log (6)16. Start Redo Apply (6)1.判断DataGuard是否安装select * from v$option where parameter = 'Oracle Data Guard';2. 网络配置192.168.1.10(orcl)------------------------------------192.168.1.20(dg)3.监听配置主库[oracle@node1 ~]$ cd /u01/app/product/11.2.0/db_1/network/admin [oracle@node1 admin]$ cat listener.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))))[oracle@node1 admin]$ cat tnsnames.oraORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))DG =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = dg)))备库[oracle@node1 admin]$ cat listener.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521))))[oracle@node1 admin]$ cat tnsnames.oraORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))DG =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = dg)))4.主库前期准备设置强制写日志SQL> select FORCE_LOGGING from v$database;NOSQL> alter database force logging;SQL> select FORCE_LOGGING from v$database;YES5. 创建口令文件orapwd file=$ORACLE_HOME/dbs/orapwdb1 password=oracle entries=56.修改主库初始化参数创建主库pfilesql > create pfile from spfile;修改pfileDB_UNIQUE_NAME=orclLOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,dg)'LOG_ARCHIVE_DEST_1= 'LOCATION=/u01/app/archiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'LOG_ARCHIVE_DEST_2= 'SERVICE=dg LGWR ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=dg'LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_FORMAT=%t_%s_%r.arcFAL_SERVER=dgFAL_CLIENT=orclSTANDBY_FILE_MANAGEMENT=AUTOPfile 拷贝到备库上scp –rp /u01/app/product/11.2.0/db_1/dbs/initorcl.ora node2:/u01/app/product/11.2.0/db_1/dbs/7.修改数据库运行在归档模式下SHUTDOWN IMMEDIATE;STARTUP MOUNT;ALTER DATABASE ARCHIVELOG;ALTER DATABASE OPEN;8. 创建备份库需要的控制文件创建控制文件Shutdown immediateSTARTUP MOUNT;ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/orcl.ctl';ALTER DATABASE OPEN;创建主库pfileShutdown immediatestartup pfile='//u01/app/oracle/product/11.2.0/dbhome_1/dbs/20011.ora'sql> create spfile from pfile='//u01/app/oracle/product/11.2.0/dbhome_1/dbs/20011.ora';(先把原来的干掉)shutdown immediate;startup9. 备份生产数据库scp -rp /u01/oradata/ORCL node2:/u01/oradata/scp –rp /u01/app/admin/orcl node2:/u01/app/admin(记得在备库创建admin) 10.修改备库pfileDB_UNIQUE_NAME=orclLOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,dg)'LOG_ARCHIVE_FORMAT=log%t_%s_%r.arcLOG_ARCHIVE_DEST_1='LOCATION=/u01/app/archiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=dg'LOG_ARCHIVE_DEST_2='SERVICE=orcl ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=orcl'LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLEFAL_SERVER=orclFAL_CLIENT=dgSTANDBY_FILE_MANAGEMENT=AUTO11.将控制文件scp -rp /tmp/dg.ctl node2:/u01/oradata/ORCL/controlfile/scp -rp /tmp/dg.ctl node2:/u01/flash_recovery_area/orcl/controlfile/ 12.在备库上创建口令文件orapwd file=$ORACLE_HOME/dbs/orapwdb1 password=oracle entries=5 13.在备库上创建spfileShutdown immediatestartup pfile='//u01/app/oracle/product/11.2.0/dbhome_1/dbs/20011.ora'CREATE SPFILE FROM PFILE;14.启动物理备用数据库STARTUP MOUNT;15.配置Standby Redo Log在两边都配置standby redo log在主库查看日志组的数量和每个日志文件的大小SQL> SELECT GROUP#, BYTES FROM V$LOG;在备库库查看日志组的数量和每个日志文件的大小SQL> SELECT GROUP#, BYTES FROM V$STANDBY_LOG;创建日志组和redo log文件SQL> ALTER DATABASE ADD STANDBY LOGFILE group 4('/oracle/dbs/slog1.rdo') SIZE 50M; SQL> ALTER DATABASE ADD STANDBY LOGFILE group 5 ('/oracle/dbs/slog2.rdo') SIZE 50M; SQL>ALTER DATABASE ADD STANDBY LOGFILE group 6 ('/oracle/dbs/slog3.rdo') SIZE 50M; SQL> ALTER DATABASE ADD STANDBY LOGFILE group 7('/oracle/dbs/slog4.rdo') SIZE 50M;16. Start Redo ApplyALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;查看哪些归档日志被APPLY了在备库SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;在主库强制日志切换到当前的online redo log file.ALTER SYSTEM ARCHIVE LOG CURRENT;在备库查看新的被归档的redo dataSELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#; 在备库查看接收到的被应用的redoSQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;查看数据库的角色select database_role,protection_mode,protection_level from v$database;主备库切换1.查看主库的状态SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;2.将主库切换至备用模式SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH -> SESSION SHUTDOWN;3.关闭、装载主数据库SQL> SHUTDOWN ABORT;SQL> STARTUP MOUNT;4.查看备库准备向主库模式切换SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;SWITCHOVER_STATUS-----------------TO_PRIMARY1 row selected5.切换备库至主库模式SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;6.打开新的主数据库SQL> ALTER DATABASE OPEN;7. 在新的备库服务器上启动 REDO apply。
oracle Dataguard配置详细步骤
如果你想在备库进行备份,并同时备份归档日志的话,必须使用 all_logfiles。
2)配置重做日志到备库
alter system set log_archive_dest_2='SERVICE=orcldg lgwr sync valid_for=(online_logfile,primary_role)
************************************************************************************
六、闪回数据库
建议开始闪回特性
1)配置闪回恢复区
查询:
show parameter db_recovery_file_dest
)
)
LISTENER =
(DESCRIPTION_LIST = (DESCFra bibliotekIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primaryDB)(PORT = 1521))
)
)
****************************************************************************************
三、创建standby logfiles
1.standby logfiles的大小和redo logfiles一样
2.standby redo日志文件组数比primary数据库的online redo日志组数至少多一个
2)配置tnsnames
#vi $ORACLE_HOME/network/admin/tnsnames.ora
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 10g dataguard配置规范文档北京深思天成科技有限公司Version:0.1编写人:张一Last Update:2012/11/08目录1.部署前的准备工作 (3)1.1操作系统平台的检查 (3)1.2网络的测试 (3)1.3.oracle的介质及相关补丁 (3)2.规划方案 (3)2.1 体系结构图dataguard日志传输分为三种 (3)2.1.1 归档日志传输体系结构图为 (4)2.1.2 在线日志异步传输体系结构图为 (4)2.1.3 在线日志同步传输体系结构图为 (5)2.2 Oracle dataguard 数据库的保护模式 (6)最大保护(maximum protection) (6)最大可用(maximum availability) (6)最大性能(maximum performance) (6)3.安装配置过程 (6)3.1 软件安装 (6)3.1.1 在备机上安装数据库软件 (6)3.1.2 升级oracle为10.2.4 ,保持主备库数据库小版本一致 (11)3.2 初始化配置 (14)3.2.1 修改主库为归档模式 (14)3.2.2 修改主库的参数 (15)3.2.3备库参数文件修改后为: (16)3.2.4 配置密码文件 (16)3.2.5 在oracle用户下创建相关目录 (17)3.2.6配置相关监听 (17)3.2.7 查看主库的监听并修改 (19)3.2.8 备份主库并将备份传到备库所在的主机 (19)3.2.9 创建控制文件并传送到备库参数control_files所指定的路径和命名 (20)3.2.10 启动数据库到mount状态 (21)3.2.11 在备库进行数据库的恢复 (21)3.2.12 备库启动介质恢复进程mrp (21)3.3 功能性配置 (21)4.检查项 (22)5. 测试方法 (23)6.日常维护命令 (24)6.1启动备库至mount状态,并启动mrp进程 (24)6.2 取消日志应用进程,并启动到open read only状态 (25)6.3 关闭备库 (25)6.4 备库归档日志gap问题的解决 (25)6.5 修改为最大保护模式 (26)6.6修改为最大可用模式 (27)6.7 dataguard切换临时表空间 (28)7.技术资料来源 (30)1.部署前的准备工作1.1操作系统平台的检查Dataguard要求主备库的操作系统一致,当然操作系统可以由小版本的差异.但是操作系统的位数还是要求一致的, 64位操作系统必须和64位的做主备.命令: oslevel –sbootinfo -y1.2网络的测试确保主机和备机的网络是相通的利用ping 命令来测试是否有丢包现象主库主机添加备库的信息vi /etc/hosts备库主机名备库的ip地址备库主机添加主库的信息Vi /etc/hosts主库的主机名主库的ip地址1.3.oracle的介质及相关补丁Oracle 10g for aix 的安装包Oracle 10g 10.2.4 for aix的补丁2.规划方案2.1 体系结构图dataguard日志传输分为三种第一种为归档日志传输第二种是在线日志异步传输第三种为在线日志同步传输2.1.1 归档日志传输体系结构图为这种方式最大的问题是:Primary Database只有在发生归档时才会发送日志到Standby Database,如果Primary Database 异常宕机,联机日志中的Redo内容会丢失,因此这种方式没法避免数据丢失的问题。
要想避免数据丢失,就必须使用LGWR,而使用LGWR又有SYNC和ASYNC两种方式。
缺省Primary Database使用的就是ARCH进程2.1.2 在线日志异步传输体系结构图为2.1.3 在线日志同步传输体系结构图为使用LGWR SYNC方式时,可以同时使用NET_TIMEOUT参数,这个参数单位是秒,代表如果多长时间内网络发送没有响应,LGWR进程就会抛出错误。
LOG_ARCHIVE_DEST_2=‘SERVICE=testbak LGWR SYNC NET_TIMEOUT=30’2.2 Oracle dataguard 数据库的保护模式最大保护(maximum protection)最大保护和最大可用模式需要用到备库的在线日志传输,当主库产生事务时,需要同时向主库的redoh和备库的standby log写日志,当由于故障日志写不到备库的standby log里时,主库会自动宕机,因而对网路要求非常高这种方式要求Standby Database必须配置Standby Redo log,而Primary Database必须使用LGWR、SYNC、AFFIRM方式归档到Standby Database。
最大可用(maximum availability)最大可用模式跟最大保护模式相类似,不同的是当由于故障日志写不到备库的standby log时,会自动转变为最大性能模式,等数据库恢复正常后再转变为为最大可用模式这种模式要求Standby Database必须配置Standby Redo log,而Primary Database必须配置为LGWR、SYNC、AFFIRM方式归档。
最大性能(maximum performance)最大性能模式在传输归档日志的情况下可以不需要备库的standby log, 即便是需要备库的standby log 也可以不同步这种模式通过LGWR ASYNC或者ARCH实现,Standby Database也不强求使用Standby Redo Log。
本文中主要针对dataguard 的单向传输和最大性能模式,也是生产中常用的3.安装配置过程3.1 软件安装创建数据库用户、组、环境变量就省过了3.1.1 在备机上安装数据库软件3.1.2 升级oracle为10.2.4 ,保持主备库数据库小版本一致3.2 初始化配置3.2.1 修改主库为归档模式3.2.2 修改主库的参数主库主要修改下文中的log_archive_dest_23.2.3备库参数文件修改后为:1.参数fal_client和fal_server 的作用自动裂隙检测Fal_client是指standby database 本身的所对应的监听的网络服务名Fal_server是指primary database在standby database 所体现的网络服务名2.log_file_name_convert和db_file_name_convert 参数的作用是主库到备库日志文件和数据文件的转换,可以指数据文件,也可以指目录, 最长可以为65536个字节.表现为‘主库文件或者目录’,’备库文件或者目录’, ‘主库文件或者目录’,’备库文件或者目录’….. 如果主库和备库所对应的目录和文件与备库的相通可以不用配置这两个参数3.standby_file_management这个参数必须为auto 模式,避免手工干预4.remote_login_passwordfile=’EXCLUSIVE’5.db_unique_name 为standby database的实例名6.db_name必须和primary database相同7.background_dump_dest,audit_file_dest,core_dump_dest,user_dump_dest,db_recovery_file_d est,control_files参数所以对应目录的存在,并且属主为oracle3.2.4 配置密码文件要求备库的密码文件的密码需要跟主库的密码文件密码完全一致密码文件默认在$ORACLE_HOME/dbs/命令为orapwd file=orapw$ORACLE_SID password=主库的密码3.2.5 在oracle用户下创建相关目录3.2.6配置相关监听备库的监听为:备库监听为:Listener.oraSID_NAME 数据库的实例名Global_dbname 是指数据库的service_names这个参数,即服务名,默认一般与数据库的实例名相通,可以动态修改ORACLE_HOME 即为环境变量的$ORACLE_HOME 注意最后没有’/’HOST 是指数据库所在的主机名或者主机的ip地址,如果是主机名需要/etc/hosts中添加Port 默认为1521端口,可以通过local_listener修改Tnsnames.oraTestbb,testdg只是网络服务名,可以随意修改Server 分为shared(共享模式)、delicated(专用模式),当然这两种模式在数据库中可以共存默认为delicatedService_name 是指oracle的参数service_names3.2.7 查看主库的监听并修改3.2.8 备份主库并将备份传到备库所在的主机注意: 如果不用带库的话,存放到备库的备份所在路径要跟主库备份路径相同10g中有rman catalog 可以自动注册,9i的话可以通过操作系统创建link来达到目的3.2.9 创建控制文件并传送到备库参数control_files所指定的路径和命名主库:Alter database create standby controlfile as ‘/home/oracle/control.ctl’;主库:主库传输standby 控制文件到备库control_files所指定的备库:3.2.10 启动数据库到mount状态3.2.11 在备库进行数据库的恢复rman target sys/qwe123@testbakrun{allocate channel c1 type disk;allocate channel c2 type disk;restore database;};3.2.12 备库启动介质恢复进程mrp3.3 功能性配置配置定期删除备库归档日志的脚本cd /home/oraclevi archived.sqlselect name from v\$archived_log where applied='YES' and deleted='NO';vi rmandelarch.shexport ORACLE_SID=testbakexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1export NLS_LANG=AMERICAN_AMERICA.AL32UTF8exportPATH=$ORACLE_HOME/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:$PATH cd /home/oracle/cat /dev/null > archived.txtsqlplus sys/qwe123@testbak as sysdba <<EOFset echo offset pagesize 0set heading offset feedback offset lines 50spool /home/oracle/archived.txt@archived.sqlspool offEOFcat archived.txt |xargs rm -rf -rman target sys/qwe123@testbak <<EOFrun{crosscheck copy;delete noprompt expired copy;}EOFexit赋予rmandelarch.sh脚本执行的权限并加入到crontab 中Oracle 用户下chmod u+x rmandelarch.sh4.检查项备库:检查归档日志接收和日志应用的具体情况select process,status,sequence#,blocks,block# from v$managed_standby;PROCESS STATUS SEQUENCE# BLOCKS BLOCK# ------------------ ------------------------ ---------- ---------- ----------MRP0 WAIT_FOR_LOG 568 0 0 RFS RECEIVING 0 0 0 RFS ATTACHED 567 17963 17963注:如果sequenc#与主数据库归档日志号一致则Dataguard工作正常如果status状态为WAIT_FOR_GAP则dataguard与主数据库不同步,Dataguard工作不正常备库:检查备库备库应用日志跟接受日志的差距Select,dest_name,database_mode ,archived_thread#,archived_seq#,applied_thread#,applied_se q#,db_unique_name from v$archive_dest_status;主库:检查主库正在正在传送那个日志select process,status,thread#,sequence# ,group# from v$managed_standby;5. 测试方法无论oracle dataguard, stream replication还是advanced replication 只是复制ddl,dml的操作主库:备库:6.日常维护命令6.1启动备库至mount状态,并启动mrp进程6.2 取消日志应用进程,并启动到open read only状态6.3 关闭备库6.4 备库归档日志gap问题的解决备库在mount状态下执行从主库物理复制到原库的归档目录下然后进行注册alter database register physical logfile '/back/arch2/1_61_798203094.arc' 6.5 修改为最大保护模式备库操作:创建standby log注意备库中的standby log要比redo 至少要多一组主库操作修改log_archive_dest_2 为lgwr sync模式主库修改为最大保护模式备库:6.6修改为最大可用模式在上述最大保护模式下主库:主库修改为最大可用模式备库显示为:6.7 dataguard切换临时表空间Dataguard主库在切换临时表空间,会造成备库的临时表空间无临时文件主库操作:备库操作:7.技术资料来源Oracle 10g 官方文档Oracle 官方技术支持网站。