DataGuard重启文档
Oracle 11G数据库DataGuard灾备切换方案
Oracle 11G数据库DataGuard灾备切换方案一、检查1、确定MRP进程在正常运行备库执行如下SQL确定MRP进程正常:2、确定有足够的归档进程在所有的主备库实例上查询参数LOG_ARCHIVE_MAX_PROCESSES,确定其值大于等于4,但不会太大3、确定目标备库的REDO为clear状态虽然在发起SWITCHOVER TO PRIMARY命令时,备库的REDO会自动转换为CLEAR 状态,但依然建议在SWITCHOVER前REDO为CLEAR状态。
确保正确设置了LOG_FILE_NAME_CONVERT参数。
行CLEAR4、确定没有大量的GAP5主备库分别执行如下SQL,查看tempfile是否正常,如果备库上缺失文件则需要进行二、切换1、检查主库是否可切换至STANDBY主库执行如下SQL执行检查如上的SQL查询结果如果为”” 或者””表示主库可切换至STANDBY,如果不为这两个值,则说明REDO传输存在问题。
2、停止主库第一个节点以外的所有实例(RAC)最好使用shutdown normal或者shutdown immediate方式停止数据库。
如果使用了shutdown abort将其他节点进行了关闭,则需等待RAC reconfig完成,且第一个节点将其余REDO正常前滚或回滚3、切换主库至STANDBY角色如果遇到已为”PHYSICAL STANDBY”,则可继续(这种问题的出现其中一个可能是数据库有大量的数据文件)。
4、确定STANDBY收到EOR5、检查STANDBY能够切换至PRIMARY如上的SQL查询结果如果为”PRIMARY” 或者””表示目标备库可切换至PRIMARY,如果不为这两个值,则说明REDO传输或者应用存在问题。
6、切换备库至PRIMARY7、打开新的主库8、检查新主库的TEMPFILE如果存在问题则进行处理。
9、重启新的备库10、意外或回退参考Appendix A.4.5 Roll Back After Unsuccessful Switchover and Start Over三、无法正常切换的处理若主数据库异常中断无法连接做switchover处理,需要将灾备环境强制切换为主库(即failover),需要注意的是,此种切换是将备库强制进行切换,可能会由于主备库之间并未完全同步导致有数据丢失,需慎重处理。
运维手册_数据库_DataGuard日常运维手册
文档标识文件状态:[] 草稿[√] 正式发布[ ] 正在修改Oracle RAC+DataGuard运维手册版本:1.0.0编制周光晖2015年01月20审核批准年月日生效日期:年月日修订历史记录日期版本修订说明作者目录第一章引言 (3)**. 编写目的 (3)**. 定义、首字母缩写词和缩略语 (4)第二章......................................................................................................... D ATA G UARD状态查询4**. 检查主备库的D ATA G UARD状态信息 (4)**. 检查进程 (4)**. 检查归档状态 (4)**. 检查最后应用的日志S EQUENCE (5)**. 查看是否使用实时应用 (5)**. 检查GAP (5)**. 检查保护模式 (5)**. 相关视图 (6)第三章................................................................................................................... SWITCHOVER 6**. 确认主库状态是否支持切换操作 (6)**. 执行主库转换 (7)**. 关闭并MOUNT新备库 (7)**. 确认老备库状态 (7)**. 切换目标备库为主库 (7)**. 打开新主库 (8)**. 启动新备库的日志应用 (8)**. 开启新备库的ADG (8)第一章引言1.1. 编写目的本文档描述了Oracle 11gR2 RAC+ADG操作手册。
包含RAC DOWN机测试,日常查询状态,启停RAC等指令同时包含oracle 11g R2 ACTIVE DATAGUARD 的日常维护指令。
1.2. 定义、首字母缩写词和缩略语第二章DataGuard状态查询2.1. 检查主备库的DataGuard状态信息SQL> Alter session set nls_date_format ='‘YYYY-MM-DD HH24:MISS';SQL> SELECT MESSAGE FROM V$DATAGUARD_STATUS;使用V$DATAGUARD_STATUS结合alert日志信息,判断DataGuard使用过程中的错误信息,查看当前日志应用的状态。
数据中心opera 做dataguard 安装文档
DataGuard 10g 实施文档报告人:jason实施人:jason概述结合目前的数据库保护策略,需要对数据中心opera数据库做dataguard 以便于对数据库进行最大程度保护。
TASK 1在opera数据库获取相应的文件,包括数据库文件,日志文件,密码文件,控制文件,初始化参数文件。
并且对opera数据库做相应的备份。
1.收集文件的相应目录,登录到(10.90.1.1) 服务器d:\ 创建 stage 目录。
2.提取初始化参数文件。
3.对opera数据库做完整备份。
4.提取tnsnames.ora、sqlnet.ora、listener.ora 文件。
5.把提取的opera数据库的相应文件拷贝到standby 服务器上。
TASK 2在standby 数据库配置NET SERVICE 文件配置tnsnames.ora文件在primary 数据库和standby 数据库OPERA2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = OPERA)(INSTANCE_NAME = OPERA2)))OPERA1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = OPERA)(INSTANCE_NAME = OPERA1)))STANDBY =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.90.1.x)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = OPERA)))TASK 3创建standby 数据库的instance和database在standby数据库上创建密码文件。
(完整word版)OracleDataguard操作手册20160912
Oracale dataguard操作手册第一。
dataguard的好处:它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库的快速切换与灾难性恢复,提供了灾难保护并防止数据丢失.Data Guard只是在软件上对数据库进行设置,并不需要额外购买任何组件。
用户能够在对主数据库影响很小的情况下,实现主备数据库的同第二。
选用什么DG模式?DG有三种模式,最大保护(Maximum protection),最大性能(Maximum performance),最大可用性(Maximum availability),默认的就是最大性能模式。
再实际的应用种使用最大性能模式比较多。
三种保护模式:可以在V$DATABASE中查看到DataGuard的保护模式SELECT PROTECTION_MODE, PROTECTION_LEVEL FROM V$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模式,效率高,数据完整性好。
第四。
如何创建物理standby?见附件一:ORACLE 11G 搭建DATAGUARD步骤大概步骤如下:首先:配置主库1.1设置数据库强制归档1.2添加STANDBY日志文件1.3修改参数文件1.4修改监听配置文件1.5修改TNS配置文件1.6重启监听服务1.7启动数据库,配置DG模式:最大可用性模式或者最大性能模式1.8备份数据库其次:配置备库。
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 数据库备份软件Dataguard 监控和维护文档
ORACLE 数据库备份软件Dataguard监控和维护文档一、运行状态监控① 查看后台logtail -f $ORACLE_BASE/admin/spring/bdump/alert_spring.log主机正常状态显示:A:下一次提交的日志序列号为7410B:日志7410不能写入,原因是7409还没有完成。
(这个属正常提示,多核CPU导致,7409 完成后,即显示A)备机正常状态显示:A:接收到主机序号为7409的日志。
B:成功写入7409 号日志。
C:等待7410 号日志。
二、主机正常状态下主备机角色切换(此操作没有太大实际意义,主机正常,没有必要切换,切换需要重新配置参数,包括中间件服务器)(谨记:无论哪台做主机,其服务名必为spring,否则前台应用会出错)主机操作:(必须先操作主机,再操作备机)①切换成备机状态sqlplus / as sysdbaalter database commit to switchover to physical standby with session shutdown;shutdown immediate;②修改启动参数(如果没有,需要增加)$ORACLE_HOME/dbs/initspring.ora*.fal_client='springsty' (本机服务名)*.fal_server='spring' (对方服务名)*.log_archive_dest_1='LOCATION=/data/oracle/oradata/spring/arch' (本地日志存放位置)*.log_archive_format='%t_%s_%r.dbf' (日志格式)*.standby_archive_dest='/data/oracle/oradata/spring/archive/' (本机接收primary传过来的日志存放位置)*.standby_file_management='AUTO' (自动管理standby 日志)*.service_names=springsty (本机服务名, 切换成备机要用springsty)*.local_listener='(ADDRESS_LIST=(Address=(Protocol=TCP)(Host=138.136.10.30)(Port=1521) )(Address=(Protocol=IPC)(Key=springsty)))' (本地监听,注意host 和key)③修改tns --- - $ORACLE_HOME/network/admin/tnsnames.ora注意spring与springsty的ip地址,应该对调一下。
DataGuard完整文档
目录数据库高可用部署方案 (2)一、DataGuard介绍 (2)1.物理standby (2)2.逻辑standby (3)1.最大保护 (3)2.最大可用性 (4)3.最大性能 (4)二、安装环境 (4)1.设备列表 (4)2.重要步骤思路 (5)三、在主库的准备工作 (5)1.系统准备 (5)2.开启归档模式和强制记录日志模式 (6)3.添加standby日志文件 (7)4.准备参数文件 (8)5.修改监听文件 (11)6.修改tns配置文件 (12)7.重启监听并测试 (13)8.在主库rman里备份数据库 (13)四、备库配置 (14)1.环境准备 (14)2.建立与主库一致的目录 (14)3.从主库copy参数文件及监听文件到备库上 (14)4.在standby库修改配置文件 (15)5.修改参数文件和密码文件 (17)6.备库创建 (19)五、测试 (21)1.查看switchover_status (21)2.测试数据是否及时同步 (21)六、primary库与standby库切换操作 (26)1.在primary库上操作。
(26)4、重启数据库,置于mount状态 (26)2.在原standby库上配置 (27)七、汇总 (27)数据库高可用部署方案一、DataGuard介绍DataGuard是ORACLE公司推出的一种高可用性数据库方案,最主要功能是冗灾、数据保护、故障恢复等。
它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库快速切换与灾难性恢复。
Data Guard只是在软件上对数据库进行设置,并不需要额外购买任何组件。
用户能够在对主数据库影响很小的情况下,实现主备数据库的同步。
而主备机之间的数据差异只限于在线日志部分,因此被不少企业用作数据容灾解决方案。
DataGuard可分为物理standby 和逻辑standby:1.物理standby主备库之间物理结构,逻辑结构保护一致。
Dataguard 维护文档
SELECT DEST_ID,VALID_TYPE,VALID_ROLE,VALID_NOW FROM V$ARCHIVE_DEST;
三.常见错误
3.1.0
standby服务器里存在日志,但日志无法恢复.
ORA-19909: datafile 1 belongs to an orphan incarnation
alter system set log_archive_dest_state_2 = 'enable';
5):新备库(原主库)开启Redo apply
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
-rw-r----- 1 oracle oinstall 1024 Mar 29 16:50 1_119_714650269.arch
-rw-r----- 1 oracle oinstall 1024 Mar 29 16:50 1_120_714650269.arch
scp 1_116_714650269.arch 1_117_714650269.arch 1_118_714650269.arch 1_119_714650269.arch 1_120_714650269.arch 192.168.143.219:/archive
正常状况,可以切换。
2:查询结果为空的
Dataguard配置不正确,确认dataguard配置,
(例如:
所有LOG_ARCHIVE_DEST_n参数是否正确。
tnsnames.ora里面是否配置正确,是否可以连通。
密码文件Orapw$ORACLE_SID是否正确,可用sqlplus sys/sys@beadb as sysdba 测试。
DataGuard日常维护技巧
正确的开关机顺序是:启动的时候,先备库的listener,再启动备库,再启动主库的listener,再启动主库。
关闭的时候,先关闭主库,再关闭备库。
--为主数据库或备用数据库添加/删除日志组SQL> alter database add standby logfile group 5 '/oracle/oradata/orcl/standbyredo05.log' size 100M;SQL> alter database drop standby logfile group 5;--查询DataGuard当前处于哪种日志传输方式:SQL> select process,client_process,sequence#,status from v$managed_standby;PROCESS列显示进程信息CLIENT_PROCESS列显示对应的主数据库中的进程SEQUENCE#列显示归档redo的序列号STATUS列显示的进程状态--查询standby库中所有已被应用的归档文件信息(不论该归档文件是否还存在)SQL> select first_time,first_change#,next_change#,sequence# from v$log_history;--最后一个被应用的logSQL> SELECT THREAD#, MAX(SEQUENCE#) AS "LAST_APPLIED_LOG" FROM V$LOG_HISTORY GROUP BY THREAD#;--在primary server上查询有哪些日志没有被传输到StandbySQL> SELECT LOCAL.THREAD#, LOCAL.SEQUENCE# FROM (SELECT THREAD#, SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=1) LOCAL WHERE LOCAL.SEQUENCE# NOT IN(SELECT SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=2 AND THREAD# = LOCAL.THREAD#);--对于troubleshooting有用SQL> SELECT MESSAGE FROM V$DATAGUARD_STATUS;m.监控恢复操作的进程SELECT ARCHIVED_THREAD#, ARCHIVED_SEQ#, APPLIED_THREAD#, APPLIED_SEQ# FROM V$ARCHIVE_DEST_STA TUS;--从正在恢复状态只读打开;SQL> Alter DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SQL> Alter DATABASE OPEN READ ONL Y;--切换回到恢复状态;SQL> Alter DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;切换角色注意:Swithover时只能先从Primary切到Standby,再从Standby切到Primary.1、在主库端select database_role,switchover_status from v$database;如果是to standby 表可以正常切换.直接执行ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;否则执行: ALTER DA TABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;SQL> shutdown immediate;SQL> startup nomount;SQL> alter database mount standby database;SQL> select database_role from v$database;SQL> alter database recover managed standby database disconnect from session;2、在备库端select database_role,switchover_status from v$database;如果是to_primary 表可以正常切换.执行:ALTER DA TABASE COMMIT TO SWITCHOVER TO PRIMARY;否则执行: ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;shutdown immediate;startup;然后观察主备库日志,如果正常的话会看到备库会自动应用日志.failover测试1. 备库上检查是否存在归档中断SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;2. 在主库上执行语句并找出归档文件SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND SEQUENCE# BETWEEN XX AND XX;--如果存在拷贝相应的归档到STANDBY数据库,并注册.SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'xxx';***其他情况(primary数据库无法打开):--检查归档文件是否完整分别在primary/standby执行下列语句:SQL> select distinct thread#,max(sequence#) over(partition by thread#) a from v$archived_log;把相差的归档复制到待转换的standby服务器3. 启动failoverSQL> alter database recover managed standby database finish force;FORCE关键字将会停止当前活动的RFS进程,以便立刻执行failover。
dataguard应用技术实施文档
创建data guard数据库——RAC-单机该文档将分步介绍如何创建data guard数据库,主要包括以下几项内容:●为从数据库的创建准备主数据库●创建物理备份数据库●验证物理备份数据库安装配置约定:●操作系统选用red hat as 3.0●数据库选用oracle 9i 9206●主数据库为2节点RAC,主机名为node1和node2,集群sid为wwwdb●从数据库只安装软件,主机名、dbname和sid都为standby●所有操作已经注明在主、从服务器上进行1.为从数据库的创建准备主数据库在创建从数据库之前,必须确认主数据库进行了正确的配置。
1)Enable forced logging在主数据库创建完成后,需要把数据库改到force logging模式下,使用下面的命令:sql>alter database force logging;在生产过程中,该命令可能要等待一定的时间才能完成,因为执行之前要等待没有写入日志的操作完成,一个节点上执行就可以了。
2)Enable Archiving (我们实施的一般都是归档模式,所以不用修改)先验证主数据库是否在归档模式下,执行下面的命令:SQL> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination /opt/oracle/product/920/dbs/archOldest online log sequence 0Current log sequence 1显示非归档模式和自动归档关闭,则需要执行下面的命令修改:Sql>SHUTDOWN IMMEDIATE;Sql>STARTUP MOUNT;Sql>ALTER DATABASE ARCHIVELOG;Sql>ALTER DATABASE OPEN;再次验证主数据库是否在归档模式下,执行下面的命令:SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /opt/oracle/product/920/dbs/archOldest online log sequence 0Next log sequence to archive 1Current log sequence 1显示归档模式和自动归档打开,可以进入下一步。
完整版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集成化灾难恢复解决方案,该技术可以维护生产数据库一个或多个同步备份,由一个生产数据库和苦干备用数据库组成,并形成珍上独立的,易于管理的数据保护方案,支持异地远程容灾。
dataguard 重启
停dataguard主库:SELECT MESSAGE FROM V$DATAGUARD_STATUS;alter system set log_archive_dest_state_2=defer scope=both sid='*';备库:SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY; SELECT MESSAGE FROM V$DATAGUARD_STATUS;select process,status,sequence# from v$managed_standbyselect thread#, low_sequence#, high_sequence# from v$archive_gap;ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;备库shutdown immediate启dataguardstartup nomount;alter database mount standby database;ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;主库:alter system set log_archive_dest_state_2=ENABLE scope=both sid='*';============================================================================ ======当 alertSun Apr 23 02:19:37 2017Media Recovery Waiting for thread 2 sequence 5272Sun Apr 23 06:34:17 2017Fetching gap sequence in thread 2, gap sequence 5272-5272SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROMV$MANAGED_STANDBY;PROCESS STATUS THREAD# SEQUENCE# BLOCK# BLOCKS--------- ------------ ---------- ---------- ---------- ----------MRP0 WAIT_FOR_GAP 2 5272 0 0解决方案:In Data Guard Environment with single standby database no need to mention the FAL parameter. However if primary having multiple standby databases then we have an option to set the FAL_SERVER to multiple destination as a fallback plan.From 11.2 no need to mention FAL_CLIENT primary will take it from log_archive_dest_n (remote destination standby from where it received the FAL request) service.For example,1. On standby MRP now waiting for GAP sequence 24.SQL> select process,sequence#,status from v$managed_standby;PROCESS SEQUENCE# STATUS--------- ---------- ------------ARCH 0 CONNECTEDARCH 0 CONNECTEDARCH 0 CONNECTEDARCH 0 CONNECTEDMRP0 24 WAIT_FOR_GAPRFS 0 IDLERFS 28 IDLE7 rows selected.2. The corresponding Alert log shows FAL fetching the GAP sequence.-------------Standby Alert log-----------Wed Nov 30 19:44:43 2011Fetching gap sequence in thread 1, gap sequence 24-253. But FAL defined on standby,SQL> show parameter fal;NAME TYPE VALUE------------------------------------ -----------------------------------------fal_client stringfal_server stringSQL>4. Standby received sequence 24-25 and now applying sequence 28.SQL> select process,sequence#,status from v$managed_standby;PROCESS SEQUENCE# STATUS--------- ---------- ------------ARCH 0 CONNECTEDARCH 0 CONNECTEDARCH 0 CONNECTEDARCH 0 CONNECTEDMRP0 28 WAIT_FOR_LOGRFS 0 IDLERFS 28 IDLERFS 0 IDLERFS 0 IDLE9 rows selected.。
Linux下Oracle10_Dataguard配置与应用
Linux下Oracle10_Dataguard配置与应用DataGuard 双节点node1 node21.在node2上配置网络包括网卡mac地址,ip,dns名并测试网络2.在node1上运行终端terminal命令——env |grep PATH3.在node1上创建数据库选择特殊数据库类型4.在node1上运行终端terminal命令——env |grep ORA全局数据库名要和配置文件里的oracle_sid设置的同名。
5.在node1上不设置默认归档日志,alter system setdb_recovery_file_dest='' scope=spfile;同时需要启用arch日志进程并手工创建归档日志目录及路径(mkdir -p /u01/app/arch 在DBCA上添加相关归档路径/u01/app/arch)注意事项:在更换默认归档路径后,不会立即生效,应重新生成spfile文件create spfile='' from pfile;创建数据库开始——结束完成后1.在node1上运行终端命令——ps -ef 查看进程,出现oracle相关服务进程注意:/etc/hosts 查看id,IP 在/etc/hosts下node1和node2都需配置为主机设置快捷方式ca(dbca)——netmgr & 也可以主数据库创建listener查看listener——在/oracle下执行cd network/admin/里面有个listener.ora文件编辑文件命令vi listener.oraca配置tnsname.ora node1和node2都需配置(连接后台服务的)注意:在从库上面也要在建立一个一模一样的库采取方法:从主库复制一份过去详见:最下面使用RMAN duplicate命令复制数据库注意:在从库上面也要在建立一个一模一样的库采取方法:从主库复制一份过去详见:最下面使用RMAN duplicate命令复制数据库ps -ef | more查看配置是否成功也可以在netca界面上看结果ps -ef |grep oracle 查看进程-----------------------------------1.在node2上配置listener,tnsname2.配置完后测试两个node的网络互通。
dataguard配置手册
ORACLE10G DATAGUARD PHYISCAL STANDBY配置指导修订记录目录1、部署环境: (4)2、准备工作 (4)3、正式开始配置 (5)3.1 设置主数据库为 force logging 模式 (5)3.2 设置主数据库为归档模式 (5)3.3 数据文件拷贝 (5)3.31、拷贝主库的数据文件到备库中 (5)3.32、创建从库的控制文件 (6)3.33 从库创建admin 目录 (6)3.34 在从库上创建密码文件 (6)3.35 创建从库flash_recovery_area 目录 (7)3.4修改spfile 文件 (7)3.41、创建pfile 文件 (7)3.42、创建spfile 文件 (9)3.5创建备机redo日志 (10)3.6配置网络,修改listener.ora ,tnsnames.ora (10)3.61 配置 (10)3.62 测试网络配置 (14)3.7启动主备服务 (14)3.71 主库 (15)3.72 备库 (15)3.73 测试归档 (15)4、日常维护 (16)4.1 正确打开主库和备库 (16)4.2 正确关闭顺序 (16)4.3 备库Read-only模式打开 (16)4.4 日志传输状态监控 (17)4.5 备库归档目录维护 (17)5、主库正常切换 (18)5.1人工干预正常切换 (18)5.2 通过运行脚本实现主库正常切换 (19)6、主库灾难切换 (19)6.1 人工干预主库灾难切换 (19)6.2通过运行脚本实现主库灾难切换 (20)1、部署环境:Oracle 10G DataGuard主库:HOSTNAME: primary IP: 139.0.0.31 SID=ccpbs备库:HOSTNAME: standby IP: 139.0.0.32 SID=ccpbsoracle version:10.2.0.1OS platform : OEL5.4VMware 运行主备虚拟机Data Guard 默认是 maximize performance,可以用以下语句来进行模式间的切换。
DG-管理手册
DG 管理手册起停DGOracle 11G DataGuard重启详细过程场景,重启数据库,不重启linux系统,所以不用考虑监听程序,1 数据库关闭1。
1 关闭主库SHUTDOWN IMMEDIATE;1.2 关闭备库ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SHUTDOWN IMMEDIATE;2 数据库启动,开启的时候先开备库启动备库监听,再开主库2。
1 启动备库#STARTUP MOUNT;# ALTER DATABASE OPEN;# 这里不用设置归档,归档设置一次是永久生效的,直接startup启动就行2.2 启动主库STARTUP ;SQL〉STARTUP ;2。
3 启动备库应用alter database recover managed standby database using current logfile disconnect;管理视图1.V$managed_standby 改视图显示给定物理备用库数据库后台的当前状态信息,使用此视图,可根据进程来确定活动,如果不是RAC,以下查询中的THREAD#列始终包含数字1Select process,client_process,thread#,sequence#,status from v$managed_standbySELECT pid,process,status,client_process,client_pid,thread#,sequence#,block#,blocksFROM v$managed_standby2.V$dataguard_status,该视图显示有关重做数据的不同信息。
包括由主数据库生成但备用数据库不能使用的重做数据,以及尚未应用于备用数据库的重做数据量,该视图直观显示如果主数据库在当前时间点崩溃,会丢失多少重做数据。
Select *v$dataguard_status3.V$standby_apply_snapshot 该视图显示当前应用重做数据的速率(KB/s)Select to_char(snapshot_time,’dd-mm-rr hh24:mi:ss’) snapshot_time,thread#,sequence #,applied_scn,aaply_rate from v$standby_apply_snapshot4.V$recovery_progress 使用改视图,可监控高效恢复操作,并评估当前正在执行操作所需时间5.V$database_block_corruption在11g之前此视图又rman 记录6.v$archive_gap监测归档日志间隔如果主数据库生成归档日志,但并没有在备用数据库上接收到,就会产生日志间隔。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DG重启步骤
一、关闭主库与备库
1、关闭主库(192.168.9.2,192.168.9.3),两台服务器同时做
用oracle用户关数据库
su - oracle
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
用root用户关crs软件
. ~grid/.bash_profile ——加载grid用户的环境变量
crsctl stop crs ——关crs软件
2、关闭备库(192.168.9.12,192.168.9.13)
su - oracle
sqlplus / as sysdba
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; ——只在一台服务器上做SHUTDOWN IMMEDIATE; ——两台服务器同时关数据库
用root用户关crs软件,两台服务器同时做
. ~grid/.bash_profile ——加载grid用户的环境变量
crsctl stop crs ——关crs软件
二、开启主库与备库
注意:当开启主库两台服务器和备库两台服务器的时候,一般crs软件及数据库默认自动启动。
这时需要确认主与备数据的状态
1、先开备库
(1) 开启备库两台服务器按钮,开启后确认crs软件状态,备库两台服务器上同时做
su - grid
crsctl check crs
当四个进程全部都是online状态时,crs软件状态正常。
有一个进程不online,也是不正常。
(2) 查看备库的状态,备库默认是随着系统自启动的
select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY
如果不是read only状态,需要重新关闭主库并启动到read only状态
shutdown immeidate;
startup mount;
alter database open read only;
2、开主库
(1) 开启两台服务器按钮,开启后确认crs软件状态,备库两台服务器上同时做
su - grid
crsctl check crs
当四个进程全部都是online状态时,crs软件状态正常。
有一个进程不online,也是不正常。
(2) 确认数据库状态,主库其中一台服务器上做
su - grid
crsctl stat res -t
下图是数据库正常时的状态,对照下图的状态,看是否一致
(3)确认主库已启动
OPEN_MODE
--------------------
READ WRITE
3、备库启动应用
su - oracle
sqlplus / as sysdba
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE disconnect from session;
4、测试:主库上alter system switch logfile;执行2遍
5、check,查看归档是否及时应用
先检查备库的归档日志同步情况
SQL> SELECT NAME,applied FROM v$archived_log;
......
NAME
--------------------------------------------------------------------------------
APPLIED
---------
/data/oracle/oradgdata/standby_archive/1_20866_821708334.dbf
YES
/data/oracle/oradgdata/standby_archive/1_20867_821708334.dbf
YES
/data/oracle/oradgdata/standby_archive/1_20868_821708334.dbf
YES
/data/oracle/oradgdata/standby_archive/1_20869_821708334.dbf
YES
2800 rows selected.
SQL>
如果发现全部都是YES,证明归档日志已经在同步。
6、然后再check archive log
主库:
SQL> archive log list;
备库:
SQL> archive log list;
看Current log sequence数值是否相同了,相同表明同步一致了。