oracle_dataguard介绍
- 格式:ppt
- 大小:944.00 KB
- 文档页数:50
oracle dataguard原理(一)Oracle DataGuard原理详解介绍Oracle DataGuard是Oracle数据库提供的一种数据冗余和灾难恢复解决方案。
它通过实时数据复制和自动故障转移来提供数据保护和高可用性。
本文将从浅入深,逐步解释Oracle DataGuard的相关原理。
数据冗余•数据冗余是指将数据库中的数据复制到另一个位置,以保护数据免受硬件故障、自然灾害和人为错误的影响。
•在Oracle DataGuard中,数据冗余是通过将主数据库中的数据异步或同步复制到一个或多个备用数据库实现的。
•备用数据库是主数据库的精确副本,它可以提供故障转移和灾难恢复的能力。
主备同步•主备同步是指主数据库和备用数据库之间的数据复制是实时的并保持同步。
•在Oracle DataGuard中,主备同步有两种模式,即同步模式和异步模式。
•同步模式要求主数据库将数据写入本地磁盘后,等待至少一个备用数据库确认接收并写入数据,确保数据一致性和可靠性。
•异步模式允许主数据库立即提交事务,并异步地将数据发送给备用数据库。
这种模式下,主备数据库之间可能存在一定的数据延迟。
数据传输•数据传输是指主数据库将数据发送给备用数据库的过程。
•在Oracle DataGuard中,数据传输可以通过物理复制或逻辑复制来实现。
•物理复制是将主数据库的物理数据文件复制到备用数据库。
这种复制方式效率高,适用于大型数据库。
•逻辑复制是将主数据库的逻辑数据写入备用数据库。
这种复制方式可以跨不同操作系统平台和数据库版本。
自动故障转移•自动故障转移是指在主数据库发生故障时,备用数据库可以自动接管主数据库的功能。
•Oracle DataGuard提供了故障切换的功能,可以迅速将备用数据库切换为主数据库,实现连续的应用程序可用性。
•故障切换是基于Oracle Grid Infrastructure和Fast-Start Failover技术实现的,它能够在故障发生时自动检测和处理。
[DataGuard全解析]2.OracleDataGuard参数介绍Data Guard作为Oracle提供的一个高可用及灾备解决方案,理解并可以实施它对于DBA来说是非常重要套的技能上节介绍了有关Data Guard的概念,这节将介绍相关的一些参数[Data Guard全解析]1.Oracle Data Guard 概念介绍有的参数是做为备库角色时才生效的,会单独说出来1. DB_NAME该参数指定Oracle数据库的名称Data Guard环境中所有数据库的DB_NAME需保持一致db_name= dg12. DB_UNIQUE_NAME该参数指定Oracle数据库的唯一名称Data Guard环境中所有数据库的DB_UNIQUE_NAME都不能一致DB_UNIQUE_NAME=dg13. LOG_ARCHIVE_CONFIG该参数主要用来指定Data Guard环境中哪些数据库可以传输日志文件该参数指定的数据库名称为DB_UNIQUE_NAME该参数主备库需设置一致LOG_ARCHIVE_CONFIG='DG_CONFIG=(dg1,dg2)'4. LOG_ARCHIVE_FORMAT该参数设置归档日志文件的命名格式LOG_ARCHIVE_FORMAT=%t_%s_%r.arc5. LOG_ARCHIVE_DEST_n该参数控制数据库归档文件的路径,其包含下面子参数n=1一般为本地归档路径log_archive_dest_1='LOCATION=/oralog/archVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=dg1'5.1 LOCATION指定本地归档路径,必须为第一个参数,不能和service同时出现5.2 VALID_FOR决定redo数据可以写入目标路径的条件VALID_FOR=(redo_log_type,database_role)redo_log_type 取值范围:•ONLINE_LOGFILE•STANDBY_LOGFILE•ALL_LOGFILESdatabase_role取值范围•PRIMARY_ROLE•STANDBY_ROLE•ALL_ROLES5.3 DB_UNIQUE_NAME指定该归档路径有效的db unique name总结:上面的配置的意思为满足下列条件时就会归档日志文件 :•当数据库unique名为dg1时•无论其是主库或者备库角色•无论是归档online redo log还是standby logn>1一般为归档至远程数据库log_archive_dest_2='SERVICE=dg2 LGWR SYNC AFFIRMVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=dg2'5.4 SERVICE指定远程数据库的service name,必须为第一个参数,不能和location同时出现5.5 LGWR ARCH指定收集和传输redo数据的后台进程,包括:•ARCH:此为默认配置,但是只能用于最大性能模式•LGWR:使用LGWR进程,可用于所有保护模式无法同时使用2个进程用于发送redo数据到目标路径5.6 SYNC ASYNC默认值:ASYNC•SYNC(同步)时,redo data在传输到所有启用的路径前transaction不可以commit•ASYNC(异步)时,redo data在传输到所有启用的路径前transaction可以commit5.7 AFFIRM NOAFFIRM•AFFIRM时,在主库redo data写入所有备库standby redo log 后确认已收到redo log,当SYNC属性指定时该属性是默认值•NOAFFIRM时,AFFIRM时,在主库redo data 写入所有备库redo log前确认已收到redo log,当ASYNC属性指定时该属性是默认值总结:上面的配置的意思为满足下列条件时就会归档日志文件到远程路径 :•当数据库unique 名为dg2时•需要处于主库角色•需要归档的redo data是online log file•使用LGWR进程•必须等所有redo data传输到目标路径才可以完成commit•在redo data完成传输到standby redo log后才确认完成主库保护模式相应的属性需求:上图表面了我们实际需求的保护模式相对应的一些参数设置6. LOG_ARCHIVE_DEST_STATE_n该参数控制LOG_ARCHIVE_DEST_n参数的有效性LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLE具体请查看如下连接Oracle基本参数(LOG_ARCHIVE_DEST_STATE_n)7. REMOTE_LOGIN_PASSWORDFILE该参数在使用密码文件验证时必须使用EXCLUSIVE具体请查看如下连接Oracle基本参数(REMOTE_LOGIN_PASSWORDFILE)8. DB_FILE_NAME_CONVERT该参数控制主库数据文件到备库时的路径转换规则如主备库目录结构一直可直接写服务名该参数只在备库(Standby)角色时有效,但Oracle建议主库也设置,方便以后的角色转换DB_FILE_NAME_CONVERT = 'string1' ,'string2' , 'string3' , 'string4' , ...•string1 是主库数据文件的路径•string2 是备库数据文件的路径•string3 是主库数据文件的路径•string4 是备库数据文件的路径以此类推,数量不限9. LOG_FILE_NAME_CONVERT该参数控制主库online log file到备库时的路径转换规则如主备库目录结构一直可直接写服务名该参数只在备库(Standby)角色时有效,但Oracle建议主库也设置,方便以后的角色转换LOG_FILE_NAME_CONVERT ='string1' , 'string2' , 'string3' , 'string4' , ...•string1 是主库数据文件的路径•string2 是备库数据文件的路径•string3 是主库数据文件的路径•string4 是备库数据文件的路径以此类推,数量不限10. STANDBY_FILE_MANAGEMENT该参数控制是否自动在备库中建立主库新建的数据文件注意下面两点:•不会自动创建日志文件•如果数据文件重名会覆盖现有文件该参数只在备库(Standby)角色时有效,但Oracle建议主库也设置,方便以后的角色转换STANDBY_FILE_MANAGEMENT=AUTO11. FAL_SERVERFAL=fetch archive log,这个参数设定备库从哪里获取归档日志,一般设定为主库的服务名(service name)该参数只在备库(Standby)角色时有效,但Oracle建议主库也设置,方便以后的角色转换FAL_SERVER=dg212. FAL_CLIENT设定FAL的客户端名称,一把为本地数据库的服务名该参数只在备库(Standby)角色时有效,但Oracle建议主库也设置,方便以后的角色转换FAL_CLIENT=dg1好了DataGuard需要用到的参数讲到这了,下节介绍Data Guard 是如何工作的。
OracleDataGuard数据备份方案详解Oracle DataGuard是一种数据库级别的HA方案最主要功能是冗灾数据保护故障恢复等在生产数据库的事务一致性时使用生产库的物理全备份(或物理COPY)创建备库备库会通过生产库传输过来的归档日志(或重做条目)自动维护备用数据库将重做数据应用到备用库本文介绍使用RMAN 备份创建备库(dataguard)一:Oracle DataGuard环境概述软件环境操作系统Red Linux Enterprise as数据库版本Oracle g releaseprimary databaeIP:ORACLE_SID=dbdb_unique_name=dbstandby databaseIP:ORACLE_SID=standbydb_unique_name=standby二主数据库(db )做准备设置主数据库为Force loggingSQL> alter database force logging;创建密码文件cd $ORACLE_HOME/dbs/orapwdfile=orapwdb password= force=y修改主库的初始化参数alter system set log_archive_config= dg_config=(db standby) scope=both;alter system set log_archive_dest_ = location=/u /db/arch scope=both;alter system set db_unique_name= db scope=both;生成数据库备份RMAN> connect target sys/RMAN> backup database format= /oracle/rmanback/%d_%s dbf plus archivelog;[oracle@oracle rmanback]$ lsDB _ dbfDB _ dbf生成备库的control fileSQL>alter database create standby controlfile as /oracle/r manback/ctontrl配置listener ora 和tnsnames ora文件启动lintener ora[oracle@oracle dbs]$ lsnrctl statusLSNRCTL for Linux: Versio n Production on JUN : : Service db has instance(s) Instance db status READY has handler(s) for this service Service db _XPT has instance(s) Instance db status READY has handler(s) for this service The mand pleted successfully配置rnsnames oravi $ORACLE_HOME/neork/admin/tnsnames oradb = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = )) ) (CONNECT_DATA = (SERVICE_NAME = db )standby = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = )) ) (CONNECT_DATA = (SERVICE_NAME = standby) ) )三创建standby database设置环境变量并安装oracle软件#环境变量设成与主库一样#只安装软件不安装库/runInstaller –silent –responseFile /tmp/installoracle rsp建立相关的目录cd $ORACLE_HOME/dbs/orapwdfile=orapwSID password= force=y#注要密码要与主库的一样否则会归档失败建立密码文件cd $ORACLE_HOME/dbs/orapwd file=orapwSID password= force=y#注要密码要与主库的一样否则会归档失败建立参数文件(pfile)db_name = standbyshared_pool_size = Mundo_management = AUTOundo_tablespace = undotbssga_max_size = Msga_target = Mdb_ k_cache_size = M standby_file_management=AUTOfal_server= db fal_client= standby log_archive_dest_ = location=/u /app/oracle/product/ /dbs/arch log_archive_dest_ = SERVICE=db REOPEN= log_archive_dest_state_ = ENABLE log_archive_dest_state_ = ENABLECP主数据库RMAN备份及控制文件到备库注意:备份存放位置要与primary database RMAN备份文件的位置相同控制文件存放位置要与生成standby database controlfile的位置相同scp /oracle/rmanback/*dbf root@ :/oracle/rmanback/scp /oracle/rmanback/* ctl root@ :/oracle/oracle/oradata/standby利用备用的控制文件把备用数据库启到mountSQL>connect / as sysdbaconnnpcted to an idle instance.SQL>startup nomount pfile=$ORACLE_HOME/dbs/initstandby oraSQL>alter database mount standby database配置listener ora 和tnsnames ora文件与主库相同启动listener tnsnames ora也与主库配置的一样当主备库的监听都启动后进行测试以例下面能顺利进行tnsping db tnsping standbySQL> sqlplus sys/ @db SQL> sqlplus sys/ @standby转储数据库RMAN>connect target /connected to target database TEST(DBID= )RMAN> restore database恢复数据库SQL>recover managed standby database disconnect from s ession #如果有需要应用的日志并想手工应用可以运行如下命令SQL>recover automatic standby database检查standby database是否创建成功a 在primary database 上切换日志SQL> alter system switch logfileb 在primary database上运行下面的语句SQL> select max(sequence#) from v$archived_log;MAX(SEQUENCE#)c 在standby database上运行下面的语句SQL> select sequence# applied from v$archived_log order by sequence#; SEQUENCE# APP YES YES YES若在上步中的max sequence#在的的app状态为YES说明standby database 成功创建以spfile启动并设为只读SQL> create spfile from pfile;SQL> shutdown immedaiteSQL> startup mountSQL> alter database recover managed standby database disconnect from session;SQL> alter database open read only;lishixinzhi/Article/program/Oracle/201311/17534。
oracle dataguard 监控指标
OracleDataGuard是一种用于保护生产数据库的解决方案,它通过将数据和事务复制到备用数据库来提供高可用性和灾难恢复。
为了确保 DataGuard 正常运行,需要监控一些关键指标。
以下是几个重要的监控指标:
1. 传输延迟:传输延迟是指从生产数据库到备用数据库传输日志文件所需的时间。
如果传输延迟过高,可能会影响恢复时间目标(RTO)。
建议将传输延迟保持在几秒钟以内。
2. 应用延迟:应用延迟是指从备用数据库接收到日志文件到应用到备用数据库的时间。
如果应用延迟过高,可能会影响恢复点目标(RPO)。
建议将应用延迟保持在几秒钟以内。
3. 日志应用速度:日志应用速度是指备用数据库每秒钟可以应用的日志文件数量。
如果日志应用速度过低,可能会导致日志文件堆积,从而影响 RPO 和 RTO。
4. 主备同步状态:主备同步状态表示主数据库和备用数据库之间的同步状态。
如果主备同步失效,可能会导致备用数据库无法恢复生产数据库的数据。
5. 网络带宽利用率:网络带宽利用率是指 DataGuard 复制过程中网络带宽的利用率。
如果网络带宽利用率过高,可能会影响其他应用程序的性能。
以上是 Oracle DataGuard 监控的几个重要指标。
通过监控这些指标,可以确保 DataGuard 的正常运行,提高数据库的可用性和灾
难恢复能力。
Oracle DataGuard简介Oracle DataGuard是Oracle自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级别的高可用性方案。
DataGuard可以提供Oracle数据库的冗灾、数据保护、故障恢复等,实现数据库快速切换与灾难性恢复。
在生产数据库的保证"事务一致性"时,使用生产库的物理全备份创建备库,备库会通过生产库传输过来的归档日志或重做条目自动维护备用数据库。
DataGuard数据同步技术有以下优势:1)Oracle数据库自身内置的功能,与每个Oracle新版本的新特性都完全兼容,且不需要另外付费。
2)配置管理较简单,不需要熟悉其他第三方的软件产品。
3)物理Standby数据库支持任何类型的数据对象和数据类型;4)逻辑Standby数据库处于打开状态,可以在保持数据同步的同时执行查询等操作。
5)在最大保护模式下,可确保数据的零丢失。
一、架构Oracle DataGuard由一个primary数据库(生产数据库)及一个或多个standby数据库(最多9个)组成。
组成Data Guard的数据库通过Oracle Net连接,并且有可以分布于不同地域。
只要各库之间可以相互通信,它们的物理位置并没有什么限制,不受操作系统的限制。
1.Primary 数据库DataGuard包含一个primary数据库即被大部分应用访问的生产数据库,该库既可以是单实例数据库,也可以是RAC。
2.Standby 数据库Standby数据库是primary数据库的复制(事务上一致)。
在同一个Data Guard中可以最多创建9个standby数据库。
一旦创建完成,Data Guard通过应用primary数据库的redo 自动维护每一个standby数据库。
Standby数据库同样即可以是单实例数据库,也可以是RAC结构。
Dataguard简介1.Oracle为Oracle数据提供的灾难恢复解决方案。
2.Oarcle提供的轻量级别的解决方案,生产库一旦出现问题是灾难性的,即使用RMAN备份数据来恢复业务需要一定时间,对于电视台24小时节目来说,dataguard提供了很好的解决办法。
3.Dataguard是oracle数据库企业版的特性,别的版本不支持。
4.备库自动创建和维护生产数据库的一个和多个事物一致的副本在Oracle中一个事务是由一个可执行的SQL语句开始,一个可执行SQL语句产生对实例的调用。
在事务开始时,被赋给一个可用回滚段,记录该事务的回滚项。
一个事务以下列任何一个出现而结束。
◆当COMMIT或ROLLBACK(没有SAVEPOINT子句)语句发出。
◆一个DDL语句被执行。
在DDL语句执行前、后都隐式地提交。
◆用户撤消对Oracle的连接(当前事务提交)。
◆用户进程异常中止(当前事务回滚)。
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)5.如果主数据不可用,那么可以激活备库,是备库承担主库的角色。
6.主和备数据库的操作系统版本一致。
Dataguard的配置与系统无关,只要各种系统能够安装oracle就可以配置dataguard,dataguard对oracle的版本有一定要求,必须9i以上。
7.dataguard分为物理和逻辑备用数据库。
9.Dataguard保护模式10.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主备库之间物理结构,逻辑结构保护一致。
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)缺点:主库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对网络等客观条件要求非常的高,主库的性能会因此受到非常大的冲击。
OracleDataguard介绍Oracle DataGuard介绍一、 DataGuard的基本原理当某次事务处理对生产数据库中的数据作出更改时,Oracle数据库将在一个联机重做日志文件中记录此次更改。
在DataGuard中可以配置写日志的这个过程,除了把日志记录到本地的联机日志文件和归档日志文件中,还可以通过网络,把日志信息发送到远程的从(standby)数据库服务器上。
这个备用日志文件写入过程可以是实时、同步的,以实现零数据丢失(最大保护模式maximum protection);也可以是异步的,以减少对网络带宽的压力(最大性能模式maximum performance);或者是异步和同步可以自动切换的模式(最大可用模式maximum availability)。
当备份数据库接收到日志信息后,Data Guard可以自动利用日志信息实现数据与主数据库的实时同步。
当主数据库打开并处于活动状态时,备用数据库可以执行恢复操作,如果主数据库出现了故障,备用数据库即可以被激活并接管生产数据库的工作。
二、 3种模式的特点的standby log才算有效。
1 最大保护模式最大保护模式为主数据库提供了最高水平的数据保护,从而确保了一个全面的零数据丢失灾难恢复解决方案。
当在最大保护模式下运行时,重做记录由日志写入器(LGWR) 进程从主数据库同步地传输到备用数据库,并且直到确认事务数据在至少一个备用服务器上的磁盘上可用时,才在主数据库上提交事务。
强烈建议,这种模式应至少配置两个备用数据库。
当最后参与的备用数据库不可用时,主数据库上的处理将停止。
这就确保了当主数据库与其所有备用数据库失去联系时,不会丢失事务。
由于重做传输的同步特性,这种最大保护模式可能潜在地影响主数据库响应时间。
可以通过配置一个低延迟网络,并为它分配足够应付高峰事务负载的带宽来将这种影响减到最小。
需要这种最大保护模式的企业有股票交易所、货币交易所、金融机构等。