




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle DataGuard数据同步技术及配置详解 一、DataGuard数据同步技术DataGuard是Oracle数据库自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用(Apply)这些日志文件,从而使目标数据库与源数据库保持同步。DataGuard提供了三种日志传输(Redo Transport)方式,分别是ARCH传输、LGWR同步传输和LGWR异步传输。在上述三种日志传输方式的基础上,提供了三种数据保护模式,即最大性能(Maximum Performance Mode)、最大保护(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其中最大保护模式和最大可用模式要求日志传输必须用LGWR同步传输方式,最大性能模式下可用任何一种日志传输方式。 最大性能模式:这种模式是默认的数据保护模式,在不影响源数据库性能的条件下提供尽可能高的数据保护等级。在该种模式下,一旦日志数据写到源数据库的联机日志文件,事务即可提交,不必等待日志写到目标数据库,如果网络带宽充足,该种模式可提供类似于最大可用模式的数据保护等级。 最大保护模式:在这种模式下,日志数据必须同时写到源数据库的联机日志文件和至少一个目标库的备用日志文件(standby redo log),事务才能提交。这种模式可确保数据零丢失,但代价是源数据库的可用性,一旦日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库将会被关闭。这也是目前市场上唯一的一种可确保数据零丢失的数据同步解决方案。 最大可用模式:这种模式在不牺牲源数据库可用性的条件下提供了尽可能高的数据保护等级。与最大保护模式一样,日志数据需同时写到源数据库的联机日志文件和至少一个目标库的备用日志文件(standby redo log),事务才能提交,与最大保护模式不同的是,如果日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库不会被关闭,而是运行在最大性能模式下,待故障解决并将延迟的日志成功应用在目标库上以后,源数据库将会自动回到最大可用模式下。 根据在目标库上日志应用(Log Apply)方式的不同,DataGuard可分为Physical Standby(Redo Apply)和Logical Standby(SQL Apply)两种。 Physical Standby数据库,在这种方式下,目标库通过介质恢复的方式保持与源数据库同步,这种方式支持任何类型的数据对象和数据类型,一些对数据库物理结构的操作如数据文件的添加,删除等也可支持。如果需要,Physical Standby数据库可以只读方式打开,用于报表查询、数据校验等操作,待这些操作完成后再将数据库置于日志应用模式下。 Logical Standby数据库,在这种方式下,目标库处于打开状态,通过LogMiner挖掘从源数据库传输过来的日志,构造成SQL语句,然后在目标库上执行这些SQL,使之与源数据库保持同步。由于数据库处于打开状态,因此可以在SQL Apply更新数据库的同时将原来在源数据库上执行的一些查询、报表等操作放到目标库上来执行,以减轻源数据库的压力,提高其性能。 DataGuard数据同步技术有以下优势: 1) Oracle数据库自身内置的功能,与每个Oracle新版本的新特性(如ASM)都完全兼容,且不需要另外付费; 2) 配置管理较简单,不需要熟悉其他第三方的软件产品; 3) Physical Standby数据库支持任何类型的数据对象和数据类型; 4) Logical Standby数据库处于打开状态,可以在保持数据同步的同时执行查询等操作; 5) 在最大保护模式下,可确保数据的零丢失; DataGuard数据同步技术的劣势体现在以下几个方面: 1) 由于传输整个日志文件,因此需要较高的网络传输带宽; 2) Physical Standby数据库虽然可以只读方式打开,然后做些查询、报表等操作,但需要停止应用日志,这将使目标库与源数据不能保持同步,如果在此期间源数据库发生故障,将延长切换的时间; 3) Logical Standby数据库不能支持某些特定的数据对象和数据类型; 4) 不支持一对多复制,不支持双向复制,因此无法应用于信息集成的场合; 5) 只能复制整个数据库,不能选择某个schema或表空间进行单独复制; 6) 不支持异构的系统环境,需要相同的操作系统版本和数据库版本; DataGuard技术是Oracle推荐的用于高可用灾难恢复环境的数据同步技术。二、ORACLE Dataguard配置步骤说明:主服务器dbsrv1(10.55.88.1),standby服务器dbsrv2(10.55.88.2),两台机器都安装相同版本的数据库,安装在相同位置,安装时都不创建数据库,本例中数据库都安装在d:oracle下,数据库版本oracle 9.2.0.11. 在dbsrv1用dbca(数据库创建助手)创建一个归档数据库2. 设置主节点为force Logging模式(为了双向切换,建议备用节点也设置为force logging模式)具体做法:sqlplus /nologconnect / as sysdba;ALTER DATABASE FORCE LOGGING;3. 生成备用数据库控制文件和主库pfile文件具体做法: alter database create standby controlfile as d:oraclestandby.ctl; create pfile=d:oracleinit.ora from spfile; 关闭主数据库:shutdown immediate; 备份控制文件,数据文件以及参数文件: 控制文件和数据库文件一般在oradata下的WDS文件夹下(备份整个WDS文件夹),参数文件在oraclehome的ora92下的database子目录下名称为spfileWDS.ora. 4. 登陆备份节点,进行数据库恢复,拷贝备用数据库控制文件和主库pfile文件具体做法:(在备机的ORACLE目录下先建好ADMIN和ORADATA两个目录) copy控制文件,数据文件以及参数文件到dbsrv2上,拷贝后要清除ARCHIVE目录下的文件。 将新生成的standby.ctl和init.ora也拷贝到dbsrv2将,standby.ctl放置在d:oracleoradataWDS下,init.ora文件放在d:ORACLE目录下。 (注意一定要在主和备数据库关闭状态下做这些文件的拷贝,否则拷贝出来的文件将是无效的) copy d:oracleadminwds*.* 目录拷贝到备机的相应目录下,并删除子目录里面的文件。5. 编辑copy到dbsrv2的init.ora文件,增加*.standby_archive_dest=d:oracleoradatawdsarchive*.fal_server=wds*.fal_client=wds_standby*.standby_file_management=auto*.remote_archive_enable=TRUE同时修改*.control_files=d:oracleoradataWDSstandby.ctl6. 配置主节点上的Listener.ora及tnsnames.ora文件Listener.ora(在D:oracleora92networkadmin下)# LISTENER.ORA Network Configuration File: d:oracleora92networkadminlistener.ora# Generated by Oracle configuration tools.LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv1)(PORT = 1521) ) ) )SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = d:oracleora92) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = WDS) (ORACLE_HOME = d:oracleora92) (SID_NAME = WDS) ) )Tnsname.ora(在D:oracleora92networkadmin下)# TNSNAMES.ORA Network Configuration File: d:oracleora92networkadmintnsnames.ora# Generated by Oracle configuration tools.WDS = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv1)(PORT = 1521) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = WDS) ) )WDS_STANDBY = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv2)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = WDS) ) )(注意删除结尾处的空格)改好以后将这两个文件拷贝到备机的相应文件夹下。7. 配置备机上的standby点监听器及tnsnames.ora文件# LISTENER.ORA Network Configuration File: d:oracleora92networkadminlistener.ora# Generated by Oracle configuration tools.LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv2)(PORT = 1521) ) ) )SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = d:oracleora92) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = WDS) (ORACLE_HOME = d:oracleora92) (SID_NAME = WDS) ) )Tnsnames.ora和主节点一样8. 重建密码文件到命令行:orapwd file=d:oracleora92databasepwdwds.ora password=narisq entries=5在dbsrv2上用oradim重建wds服务Oradim new sid WDS usrpwd narisq 在命令行输入LSNRCTL命令,用START启动监听器sqlplus /nologSQLconn sys/narisqwds_standby as sysdbaSQLcreate spfile from pfile=d:oracleinit.ora;注意:将控制文件放到init.ora中指定的目录SQL startup nomount;SQL alter database mount standby database;SQL shutdown immediate;SQL startup nomount;SQL alter database mount standby database;SQL alter database recover managed standby database disconnect from session;数据库处于管理恢复模式下9. 在dbsrv1上设置归档路径SQL startup;SQL alter system set log_archive_dest_2=service=wds_standby LGWR reopen=60 scope=both;(修改内存和spfile文件中该参数的值)SQL alter system switch logfile;SQL /在备用节点观察日志,看是否主节点的归档日志同时归档到备节点上。察看d:oracleadminbdump下的alert文件10. 在主节点进行同样的配置,方法如下:主备切换:以便切换后继续日志传递,即当备节点变成主用后,主节点上能接收从备节点归档过来的日志,在d:oracleoradatawdsarchive下创建目录stdarchSQL alter system set standby_archive_dest=d:oracleoradatawdsarchivestdarch;11. 停止主数据库,启用备用数据库,方法如下:更改主数据库为备用状态SQL alter database commit to switchover to physical standby;关闭主数据库SQL shutdown immediate;在备用模式启用主数据SQL startup nomount;SQL alter database mount standby database;SQL select name,open_mode,PROTECTION_MODE,DATABASE_ROLE from v$database;SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;打开备用数据库(在备机上)Sqlplus /nologSQL Conn sys/narisqwds_standby as sysdbaSQL alter database commit to switchover to primary;SQL alter system set log_archive_dest_2=service=wds LGWR reopen=60 scope=both;SQL shutdown immediate;SQL startupSQL alter system switch logfile;SQL /在主库上观察日志应用情况,察看d:oracleadminbdump下的alert文件SQL create table t as select * from dba_users;SQL alter system switch logfile;在dbsrv1上以read only打开数据库,执行查询SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SQL ALTER DATABASE OPEN READ ONLY;SQL select username from t;将dbsrv1切换回管理恢复模式SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;12. 把数据库切换回到主节点dbsrv1上在dbsrv2上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业互联网平台数据加密算法安全性评估与风险控制报告
- 2025年环保型建筑防水材料在工程项目中的应用策略报告
- 湖北省黄冈市2025年高三年级9月调研考试地理试题(含答案)
- 2025-2026学年第一学期9月(总第三次)模块诊断数学试题
- 中级主管护师基础知识(A型题)模拟试卷3(共250题)
- 幸福就是这么简单课件
- 新质生产力赋能体育非遗传承的实现路径
- 输电电缆故障课件
- 输液药物配合禁忌课件
- 个人住宅抵押权抵押登记撤销与担保责任合同
- 车险诉讼案件培训课件
- 医院后勤技术人员考试试题及答案
- 产品开发版本管理办法
- 班干部聘任仪式
- 第2章-静电场和恒定电场
- 激光武器物理课件
- 气瓶泄漏应急演练范文大全
- 用户运营基础知识培训课件
- 2025-2026学年苏教版(2024)小学科学三年级上册(全册)课时练习及答案(附目录P102)
- DBJT15-110-2015 广东省建筑防火及消防设施检测技术规程
- 2025年环境保护法知识竞赛题库(附含答案)
评论
0/150
提交评论