![Oracle数据库容灾技术专题(两台主机)_第1页](http://file4.renrendoc.com/view/a0105419a95d616e103c087190bcf4bb/a0105419a95d616e103c087190bcf4bb1.gif)
![Oracle数据库容灾技术专题(两台主机)_第2页](http://file4.renrendoc.com/view/a0105419a95d616e103c087190bcf4bb/a0105419a95d616e103c087190bcf4bb2.gif)
![Oracle数据库容灾技术专题(两台主机)_第3页](http://file4.renrendoc.com/view/a0105419a95d616e103c087190bcf4bb/a0105419a95d616e103c087190bcf4bb3.gif)
![Oracle数据库容灾技术专题(两台主机)_第4页](http://file4.renrendoc.com/view/a0105419a95d616e103c087190bcf4bb/a0105419a95d616e103c087190bcf4bb4.gif)
![Oracle数据库容灾技术专题(两台主机)_第5页](http://file4.renrendoc.com/view/a0105419a95d616e103c087190bcf4bb/a0105419a95d616e103c087190bcf4bb5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle数据库容灾技术专题
网络管理部数据管理中心第三讲内容提示DataGuard技术介绍。物理备用(容灾)数据库详细配置。管理物理备用数据库。问题剖析。一、DataGuard技术介绍。DataGuard是oracle提供的用于确保企业数据高可用性、数据保护和灾难恢复的一种方案。通过提供日志传送服务、日志应用服务和角色转换服务,DataGuard简化了备用数据库的建立、维护和管理操作,并且DataGuard使用产品数据库的事物变化来维护备用数据库。如果因不可预计的故障导致产品数据库不可用,则DataGuard可以切换到备用数据库,并将其转变为产品数据库,以最小化故障所引起的停机时间。DataGuard由一个产品数据库和一个或多个备用数据库组成,并且这些数据库可以分布到不同的位置和不同地区,它们之间的互联通过oraclenet来完成的。主数据库。主数据库是指用于存放应用系统数据的oracle数据库,它也被称为产品数据库或目标数据库。备用数据库。备用数据库是主数据库的事务一致性副本,它包括物理备用数据库和逻辑备用数据库两种类型,每个主数据库最多可以建立9个备用数据库。三种数据保护模式。最大数据保护模式(MAXIMIZEPROTECTION)提供最高等级的数据保护,重作信息从主库同步送到备用库。直到备用库成功接收重作信息,主库上的事务才会提交。如果由于网络等问题,导致备用库不可用,那么主库也同时会被关闭。这种模式保证了完全没有数据丢失。最大可用性模式(MAXIMIZEAVAILABILITY)在备用库正常的情况下,该模式提供了跟“最大数据保护模式”一样的机制,保证没有任何数据丢失。如果备用库不可用,那么将转换到“最大性能模式”,操作可以在主库上继续执行。当备用库重新可用之后,将会继续同步。但是如果在同步完成之前,主库由于故障损坏,将会丢失数据最大性能模式(MAXIMIZEPERFORMANCE)这种模式下,主库上的重作信息是异步传递到备用库上,不论备用库上是否已经成功接收了重作信息,主库上的操作都会成功执行。所以这种模式提供了最好的性能,但是最低的数据保护。这是Oracle10g配置DataGuard的默认模式。二、在不同主机上建立物理备用数据库。(1)在两台主机上分别安装ORACLE数据库并建立数据库。提示:两台主机ORACLE的安装目录和数据文件存放目录尽可能保持一致(2)两台数据库的SID均配置为ORACLE10主数据唯一数据库名为primary,备用唯一数据库名为standby二、在一台主机上建立物理备用数据库。(3)配置监听程序和网路服务名。因为主数据库和备用数据库的交互时通过oraclenet来完成的,所以必须进行网络配置。二、在一台主机上建立物理备用数据库。(4)准备主数据库参数文件。编辑文本参数文件initoracle10.oraDB_UNIQUE_NAME=PrimaryLOG_ARCHIVE_CONFIG='DG_CONFIG=(Primary,Standby)'LOG_ARCHIVE_DEST_1='LOCATION=d:\oracle\ArchiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=Primary'LOG_ARCHIVE_DEST_2='SERVICE=StandbyVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=Standby'STANDBY_FILE_MANAGEMENT=AUTOLOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLEFAL_SERVER=StandbyFAL_CLIENT=Primary如上所示,db_unique_name
用于指定主数据库的唯一名称;log_archive_dest_n用于指定归档位置,location用于指定本地归档位置,service用于备用数据库网络服务名;log_archive_config的dg_config属性用于列出主数据库和所有备用数据库的唯一数据库名;fal_server用于指定fal(fetcharchivelog)服务器的网络服务名;fal_client用于指定fal客户端的网络服务名;standby_file_management用于指定备用数据库数据文件的管理方式,当设置为auto时,如果主数据库增加或删除了数据文件,则备用数据库会自动应用相应改变。二、在一台主机上建立物理备用数据库。(4)准备主数据库参数文件。Valid_for属性
VALID_FOR允许同时为主备库数据库角色配置目的地属性,使DG切换后能正常工作。简化切换和故障转移。默认valid_for=(all_logfiles,all_roles)
格式:VALID_FOR=(redo_log_type,database_role)
redo_log_type包括:online_logfile、standby_logfile、all_logfiles
database_role包括:primary_role、standby_role、all_roles
redo_log_type的意思是指定要归档的日志文件类型;
database_role的意思是,当数据库处于这个角色时,才会往log_archive_dest_n这个地址归档日志文件(redo_log_type的日志)。例如:
1.配置log_archive_dest_2=‘SERVICE=primaryLGWRASYNCVALID_FOR=(online_logfile,primary_role)’
当这个备用库切换成主库时,也就是说这个库角色为primary时,会将online_logfile里(在线日志文件)的日志记录归档到tnsnames=primary的库。
2.配置log_archive_dest_3='LOCATION=/data/archVALID_FOR=(standby_logfile,standby_role)'
当这个库角色为standby时,当standbylog写满时,会将standbylog归档到/data/arch目录。而不会将onlinelogfile的内容归档到这里。
VALID_FOR的作用可以用一句话来总结:
控制,当配置有VALID_FOR的数据库处于database_role时,允许归档redo_log_type到log_archive_dest_n所配置的路径。
二、在一台主机上建立物理备用数据库。(5)准备备用数据库参数文件。建立文本参数文件initoracle10.ora
sqlplussys/oracle@demoassysdba createpfile=‘%oracle_home%\database\initstandby1.ora’frompfile;编辑文本参数文件initstandby1.ora DB_UNIQUE_NAME=StandbyLOG_ARCHIVE_CONFIG='DG_CONFIG=(Primary,Standby)'LOG_ARCHIVE_DEST_1='LOCATION=d:\oracle\ArchiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=Standby'LOG_ARCHIVE_DEST_2='SERVICE=StandbyVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=Primary'STANDBY_FILE_MANAGEMENT=AUTOLOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLEFAL_SERVER=PrimaryFAL_CLIENT=Standby’二、在一台主机上建立物理备用数据库。(5)准备备用数据库参数文件。如上所示,db_unique_name用于指定备用数据库的唯一名称,注意,备用数据库和主数据库的db_unique_name不能相同;control_files用于指定备用数据库的控制文件名;db_file_name_convert用于指定主数据库和备用数据库数据文件的目录或文件名的映射关系;log_file_name_convert用于指定主数据库和备用数据库重做日志的目录或文件名的映射关系;standby_archive_dest用于指定主数据库归档日志被传送到备用数据库的归档位置;background_dump_dest用于指定备用数据库后台进程跟踪文件所在的目录;user_dump_dest用于指定备用数据库用户进程跟踪文件所在目录。二、在一台主机上建立物理备用数据库。(6)创建备用数据库控制文件复制相关文件到备用数据库所在目录。命令:
sql>alterdatabasebeginbackup; hostcopyd:\demo\*.dbfd:\standby1 alterdatabaseendbackup; altersystemarchivelogcurrent; alterdatabasecreatestandbycontrolfileas‘d:\standby1\contorl01.ctl’;
二、在一台主机上建立物理备用数据库。(7)启用备用数据库。命令:
c:\sqlplussys/oracle@standbyassysdba
sql>startupmount
sql>connsys/oracle@demoassysdba
sql>altersystemswitchlogfile;
sql>connsys/oracle@standbyassysdba
sql>selectnamefromv$archived_log;
注意,在主数据库上执行了日志切换命令之后,如果在备用数据库上查询v$archived_log没有返回归档日志,则说明备用数据库未接收到主数据库的归档日志,请详细检查初始化参数的配置是否存在问题。
三、管理物理备用数据库。开始应用重做。命令:
sql>alterdatabaserecovermanagedstandbydatabasedisconnectfromsession;取消重做应用。Sql>alterdatabaserecovermanagedstandbydatabasecancel;以只读方式打开物理备用数据库。Sql>alterdatabaseopen[readonly]打开前必须取消重做应用。激活物理备用数据库。Sql>alterdatabaseactivatestandbydatabase;注意,该操作一定要慎重,因为备用数据库一旦被激活,便不能被还原为原来的备用状态。四、问题剖析。问题一、通过上述演示发现,如果主数据库突然崩溃,没有归档的重做日志无法传送到备用数据库上,所以仍然会丢失数据,如何才能保证不丢数据呢?。剖析:上面我们提到,dataguard有三种数据保护模式,默认的是最佳性能保护模式,在该模式下,不能完全保证不丢失数据,要想解决这个问题,必须调整dataguard的数据保护模式为最大或最高可用性保护模式。查询数据库的保护模式。Sql>selectprotection_mode
fromv$database;切换数据库的保护模式。Sql>alterdatabasesetstandby databasetoMaximizeprotection /Maximizeavailability/ Maximizeperformance注意,切换数据库的保护模式必须 在主数据库上执行,并且主数据库 处于mount状态。四、问题剖析。问题二、我非常正确的修改了数据库的保护模式,可经过测试发现,日志仍然没有及时的传送到备用数据库,数据丢失问题仍然没有得到解决?。剖析:这里我们必须再引入一个新的概念:日志传输方式。两种日志传输方式。Arch:传统的日志传送方式。现在只有在最大性能保护模式下采用,归档日志通过主数据库的arch进程传送给备用数据库的rfs进程,所以只有在归档时才会传送日志数据。Lgwr:oracle9i开始使用lgwr即时将日志传送到备用数据库,而不再需要等到归档操作时才传送日志。三种保护模式下均可以使用该传输模式。其中lgwr又有两种传输方式:Sync:同步传输,sync写redo信息的步骤
1、主数据库上lwgr进程提交一个事务时,由lnsn进程发起网络I/O到备用数据库。
2、备用数据库上,远程文件服务(RFS)通过网络从主库的lnsn进程接收redo信息,写入到standbylog中。
3、知道redo数据写完主库redolog和备库standbylog后,主库的事务才会提交。
4、当主库发生日志切换的同时,也会触发备用库的日志切换,备用库的arch进程归档standbylogfile到备用库上的指定目录中。
5、备用库归档完成后,启用mrpn进程应用到备用库。
6、如果是适时应用日志,那么dg在当前redo信息由rfs进程写满的同时直接从standbylog中应用,而后才有arch进程归档。四、问题剖析。async:同步传输,async写redo信息的步骤1、主数据库发生事务时,lgwr进程将redo信息写入到本地的redologfile中,lgwr进程将继续处理下一个请求,不等待lnsn网络I/O完成。2、lnsn网络服务进程异步异步传送redo信息到备用数据库。3、知道redo数据写完主库redolog和备库standbylog后,主库的事务才会提交。4、当主库发生日志切换的同时,也会触发备用库的日志切换,备用库的arch进程归档standbylogfile到备用库上的指定目录中。5、备用库归档完成后,启用mrpn进程应用到备用库。6、如果是适时应用日志,那么dg在当前redo信息由rfs进程写满的同时直接从standbylog中应用,而后才有arch进程归档。查看日志传送方式。Selectdest_name,archiverfromv$archive_dest;要想解决该问题,必须修改初始化参数。log_archive_dest_2=‘service=standbyvalid_for=(online_logfiles,primary_role)lgwrsync
db_unique_name=standby1’四、问题剖析。测试实图四、问题剖析。问题三、我又非常认真的进行了测试,可结果更令我失望,原因到底在哪里?。剖析:我很负责任的告诉你,其实数据已经传到了备用服务器上,只是还没有应用而已,我们回过头来在看一下lgwrsync的redo信息传送步骤就明白了,如果你想及时看到你想要的结果,必须启用备用数据库的适时应用功能。备用数据库适时应用。Sql>alterdatabaserecovermanagedstandbydatabaseusingcurrentlogfile。启用该功能必须确保备用数据库有standbylogfile:Sql>alterdatabaseaddstandbylogfilegroup4(‘d:\standby1\std_redo04.log’)size50mSql>alterdatabaseaddstandbylogfilegroup5(‘d:\standby1\std_redo05.log’)size50mSql>alterdatabaseaddstandbylogfile
group6(‘d:\standby1\std_redo06.log’)size50m注意,standbylogfile的group不能和主库的redologfile的group重复,并且大小上也要保持一致四、问题剖析。测试实图四、问题剖析。上面三个问题终于解决了,让我们趁机来总结一下吧。
保证dataguard不丢失数据的几个必要条件。(1)dataguard必须处于最大保护模式或最高可用性模式。(2)日志传送方式必须是lgwrsync(3)备用数据库必须有standbylogfile在补一张表格,对大家总结很有帮助。
最大保护
最大可用
最大性能
进程
LGWR
LGWR
LGWR或ARCH
网络传输模式
SYNC
SYNC
LGWR时设置ASYNC
磁盘写操作
AFFIRM
AFFIRM
NOAFFIRM
备用日志
Yes
物理备用需要
LGWR和物理备用时需要
备用库类型
物理
物理或逻辑
物理或逻辑
四、问题剖析。问题四、备用数据库能否shutdown?备用服务器能否关机?剖析: 最大保护模式下不可以,而最高可用性模式和最佳性能模式可以,我们可以回过头来再看一下三种保护模式的技术介绍就可以了。测试实图。首先关闭备库首先关闭备库操作主库四、问题剖析。问题五、如果备用数据库坏掉了,能不能在主数据库正常工作的情况下重新做容灾服务器?剖析: 完全可以,做个简单的测试就明白了。测试实图。四、问题剖析。问题六、如果在主数据库上进行了数据恢复,备用数据库能否继续使用?剖析:分两种情况
1、完全恢复(恢复到故障点)。如果对主数据库进行的时完全恢复,那么备用数据库可以继续使用,不会有任何问题。
2、不完全恢复(恢复到故障点以前)。如果对主数据库进行了不完全恢复,备用数据库也不会报错,但不再接收主库传过来的REDO信息,所以在这种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国毛染行业市场发展前景及发展趋势与投资战略研究报告
- 个人珠宝购买合同范本
- 农户小麦预定合同范本
- 出国境旅游合同范本
- 北京市设备采购合同范本
- 中英文商品合同范本
- 2024年安全准入考试(外协抢修、施工人员)练习试题及答案
- 人力资源外包合同范本
- 2025年度高端仓储库房承包合同示范范本
- 农村 住房 出租合同范例
- 二零二五年度大型自动化设备买卖合同模板2篇
- 2024版金矿居间合同协议书
- GA/T 2145-2024法庭科学涉火案件物证检验实验室建设技术规范
- 2025内蒙古汇能煤化工限公司招聘300人高频重点提升(共500题)附带答案详解
- 2025年中国融通资产管理集团限公司春季招聘(511人)高频重点提升(共500题)附带答案详解
- 宠物护理行业客户回访制度构建
- 电厂检修管理
- 《SPIN销售法课件》课件
- 机动车属性鉴定申请书
- 2024年中考语文试题分类汇编:非连续性文本阅读(学生版)
- 门店礼仪培训
评论
0/150
提交评论