Oracle10gDataGuard安装笔记.doc_第1页
Oracle10gDataGuard安装笔记.doc_第2页
Oracle10gDataGuard安装笔记.doc_第3页
Oracle10gDataGuard安装笔记.doc_第4页
Oracle10gDataGuard安装笔记.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle10g Data Guard 安装笔记 一、 Data Guard 概念: 1、Data Guard三种模式:Maximum protection:零数据丢失。发生事务时需要同时向主数据库和备用数据写重做日志。为了保证数据不丢失,如果有一个事务发现不能向备用数据写重做日志,那么主数据库会自动关闭。Maximum availability:在保证主数据库可用的情况下最大程度上保证数据的不丢失。同Maximum protection 一样也是同时向主和备用数据库写重做日志。与Maximum protection 不同的时当发现不能向备用数据库写重做日志时不会关闭数据库,而是采用Maximumperformance 的模式管理直到修复故障。当发生第二次错误时至少要能够将重做日志写入到一个备用数据库中才能保证零数据丢失。(多备用库的情况下。如果是一个备用库发生一次错误就会丢失数据)Maximum performance:Oracle 默认采用这种方式。在不影响主库的性能的情况下最大程度上保证数据不丢失。由于前两种方式要同时向主和备库写重做日志这就会给系统的性能带来负面影响。当事务提交时会立即将数据写入到本地的联机日志中。主库的重做数据流至少要写入到一个从库中,但是这个并不是与主库同时发生的。如果采用了足够的带宽的话,这种模式提供的数据保护保证最大的可用性,同时对主库的性能影响最小。2、DataGuard工作原理:从设计原理上来讲,standby database是为 primary database建立的备份,因此具有 redundance data,也是相对于 database来说的 high availability;standby database为 primary database做的备份,是通过 primary database不断产生出的archived log files来实现的。primary database处于 archive mode的状态,持续送出 archived log files给 standby database,而 standby database则处于 recovery mode,持续apply primary database的 archived log files.(图1:Redo Apply与LGWR ASYNC) 为了完成上述过程,必须具备以下的条件:(1)如果primary database和 standby database是运行在不同的服务器上面,那么这两台服务器必须有相同version和 release的操作系统;必须有相同 version, release和 patch的 oracle RDBMS系统。(2)Primary database必需处于archive log mode。(3)Oracle从version 8i (8.1.5以后)开始支持 primary database可以将 arhived log files自动送到最多一个remote site (一般即standby database server),本地则可多达七个地点。并且,standby database在mount的状态下,增加了 managed recovery mode,在这种状态下,standby database可以自动立即apply由 primary node送过来的 archived log files。(4)Oracle从version 8i (8.1.5以后)开始支持standby database的mount recovery mode和database read only mode的转换。这样方便了系统可以利用standby database产生reports,而不影响用户正常使用 primary database。(5) 一旦 standby database被activated,即成为primary database,无法再回归 standby database mode。因此primary database出了问题,standby database被actived成为primary database之后,如果需要在原来的 primary/standby node上面重建 primary/standby database,两个database都需要重建。(6)关于启动standby database时与 primary database之间的数据丢失问题。如果primary database在出问题之前如果无法完成 log file switch的话,两个database之间会相差 current on-line redo log file中的数据。oracle9i中的 data guard弥补了这一缺陷。3、ARCH与LGWR采用归档日志传送还是联机日志传送,默认是归档进程是否采用ARCH进程还是LGWR进程,很多时候依赖于保护的方式,下表可以看到在不同的保护模式下,采用归档进程还是联机日志进程的情况。 最大保护最大可用最大性能进程LGWRLGWRLGWR或ARCH网络传输模式SYNC SYNCLGWR时设置ASYNC磁盘写操作AFFIRMAFFIRMNOAFFIRM 备用日志Yes物理备用需要LGWR和物理备用时需要备用库类型物理物理或逻辑物理或逻辑 4、SYNC与ASYNC和AFFIRM与NOAFFIRMSYNC与ASYNC决定了网络传输的同步与异步操作,默认ASYNCAFFIRM与NOAFFIRM决定了归档日志磁盘写的同步与异步操作,默认NOAFFIRM。这两个参数用来决定不同的保护模式。网络I/O性质归档日志磁盘I/O性质物理备用的性能保护的级别SYNCAFFIRMLowestHighestSYNCNOAFFIRMLowHighASYNCAFFIRMHighLowASYNCNOAFFIRMHighestLowest 5、DELAY与NODELAY是否延迟同步,默认不延迟,如果选择DELAY,默认30分钟如SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY;还可以设置在主数据库上LOG_ARCHIVE_DEST_3=SERVICE=standby DELAY=240LOG_ARCHIVE_DEST_STATE_3=ENABLE延迟参数并不影响日志的传送6、MANDATORY与OPTIONAL默认是OPTIONAL,如果设置MANDATORY,表示一定要归档成功,否则将引发主数据库的归档等待。Oracle建议采用OPTIONAL方式来传送日志。187、REOPEN与NOREOPEN和MAX_FAILURE与NOMAX_FAILUREREOPEN与NOREOPEN决定是否重试操作,默认是REOPEN,300秒,表示如果失败后,最小的重试的时间间隔Noreopen表示不重试失败操作MAX_FAILURE与NOMAX_FAILURE表示最大重试次数,默认是NOMAX_FAILURE,表示一直重试,如果是MAX_FAILURE,则采用MAX_FAILURE=count来决定重试的次数,如果是MAX_FAILURE,则一定需要在REOPEN模式下8、ALTERNATE与NOALTERNATE表示如果归档失败,是否转向新的归档路径,默认是的NO ALTERNATE如采用如下配置LOG_ARCHIVE_DEST_2=LOCATION=d:bak MANDATORYALTERNATE=LOG_ARCHIVE_DEST_3LOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_DEST_3=LOCATION=f:bak MANDATORYLOG_ARCHIVE_DEST_STATE_3=ALTERNATE 那么就是说,如果路径2上归档失败的话,将切换到路径3继续归档。二、Data Guard实现环境(IP地址视情况而定) 主服务器备份服务器操作系统Windows 2003 EnterpriseWindows 2003 EnterpriseOracle版本Oracle 10.2.0.1.0Oracle 10.2.0.1.0Oracle SIDERPDBERPDBORACLE_HOMEE:oracleoradataerpdbE:oracleoradataerpdb机器名Bolun(Primary)Hxbyfwq(Standby)IP地址192.168.1.11192.168.1.19实现步骤1. 在Primary Server上安装Oracle并创建SID为ERPDB的Oracle数据库;2. 在Standby Server上安装Oracle并创建SID为ERPDB的Oracle数据库;这一步可以用命令只创建一个名字为ERPDB的Oracle服务名即可,3. 将Primary Server上的所有数据文件、redo文件和password文件都copy到Standby Server机器的相应位置; E:oracleproduct10.2.0oradataERPDB目录下文件 CWMLITE01.DBFDRSYS01.DBFEXAMPLE01.DBFINDX01.DBFODM01.DBFSYSTEM01.DBFTEMP01.DBFTOOLS01.DBFUNDOTBS01.DBFUSERS01.DBFXDB01.DBFREDO01.LOGREDO02.LOGREDO03.LOG E:oracleproduct10.2.0db_1database目录下文件 PWDERPDB.ora( 密码文件)4. 修改Primary Server的Oraclce初始化参数;文件位置:c:oracleadminerpdbpfile 下的init初始化参数文件,我们把名字改为initerpdb.ora,这样好记一点; 内容如下。主要配置在# Data Guard New add parameters 部分。# Data Guard New add parameters#db_unique_name=ERPDB#log_archive_config=dg_config=(ERPDB,ERPDB)log_archive_dest_1=location=E:oracleproduct10.2.0oradataarchive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ERPDBLOG_ARCHIVE_DEST_STATE_1=ENABLElog_archive_dest_2=SERVICE=standby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ERPDB#注:到Standby Database的数据库连接名LOG_ARCHIVE_DEST_STATE_2=ENABLEREMOTE_LOGIN_PASSWORDFILE=EXCLUSIVELOG_ARCHIVE_MIN_SUCCEED_DEST=2 fal_client=primary #注:Primary Server连接Standby Server的数据库连接名fal_server=standby #注:Standby Server连接Primary Server的数据库连接名standby_archive_dest=e:oracleproduct10.2.0oradatastandbyarchivestandby_file_management=auto5. 设置primary database为archivelog模式SQLshutdown immediate;SQLstartup mount pfile= c:oracleadminerpdbpfileiniterpdb.ora;SQLalter database force logging;SQLalter database open:6. 在Primary Database上创建Standby Database的控制文件SQLshutdown immediate;SQLstartup mount;SQLalter database create standby controlfile as d:bakstandbyctl.ctlSQLalter database open;然后将该controlfile复制到StandbySevers的对应位置,原来的控制文件已经不需要了;7. 修改Standby Database的初始化参数拷贝Primary Database上的初始化参数文件到Standby Database上对应位置,然后修改为以下内容:CONTROL_FILES= c:oracleoradatapstestcontrol01.ctl# new add exclusive#db_unique_name=ERPDB#log_archive_config=dg_config=(ERPDB,ERPDB)log_archive_dest_1=location=E:oracleproduct10.2.0oradataarchive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ERPDBLOG_ARCHIVE_DEST_STATE_1=ENABLElog_archive_dest_2=SERVICE=primary LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ERPDBLOG_ARCHIVE_DEST_STATE_2=ENABLEREMOTE_LOGIN_PASSWORDFILE=EXCLUSIVELOG_ARCHIVE_MIN_SUCCEED_DEST=2 fal_client=standbyfal_server=primarystandby_archive_dest=e:oracleproduct10.2.0oradatastandbyarchivestandby_file_management=auto # 具体参数的说明请参考oracle在线文档。 8. 设置Primary Database和Standby Database的tnsnames.ora文件位于:E:oracleproduct10.2.0db_1NETWORKADMINPrimary database# tnsnames.ora Network Configuration File: E:oracleproduct10.2.0db_1NETWORKADMINtnsnames.ora# Generated by Oracle configuration tools.primary = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = erpdb) ) )ERTPROC_CONNECTION_DATA=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY=EXTPROCI) ) (CONNECT_DATA = (SID =PLSExtProc) (PRESENTATION=RO) ) )standby =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.19)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = ERPDB) ) ) Standby Database# tnsnames.ora Network Configuration File: E:oracleproduct10.2.0db_1NETWORKADMINtnsnames.ora# Generated by Oracle configuration tools.primary = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = erpdb) ) )ERTPROC_CONNECTION_DATA=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY=EXTPROCI) ) (CONNECT_DATA = (SID =PLSExtProc) (PRESENTATION=RO) ) )standby =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hxbyfwq)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = ERPDB) ) )接Oracle10g Data Guard 安装笔记(二)listener.ora文件Primary database# listener.ora Network Configuration File: E:oracleproduct10.2.0db_1NETWORKADMINlistener.ora# Generated by Oracle configuration tools.LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = bolun)(PORT = 1521) ) ) )SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = E:oracleproduct10.2.0db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = erpdb) (ORACLE_HOME = E:oracleproduct10.2.0db_1) (SID_NAME = erpdb) )LISTENERDB =(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1522) ) ) )SID_LIST_LISTENERDB =(SID_LIST = (SID_DESC = (GLOBAL_DBNAME = erpdb) (ORACLE_HOME = E:oracleproduct10.2.0db_1) (SID_NAME = erpdb) )Standby Database# listener.ora Network Configuration File: E:oracleproduct10.2.0db_1NETWORKADMINlistener.ora# Generated by Oracle configuration tools.LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hxbyfwq)(PORT = 1521) ) ) )SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = E:oracleproduct10.2.0db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = erpdb) (ORACLE_HOME = E:oracleproduct10.2.0db_1) (SID_NAME = erpdb) )LISTENERDB =(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hxbyfwq)(PORT = 1522) ) ) )SID_LIST_LISTENERDB =(SID_LIST = (SID_DESC = (GLOBAL_DBNAME = erpdb) (ORACLE_HOME = E:oracleproduct10.2.0db_1) (SID_NAME = erpdb) )9. 启动standby database 9. 启动standby databaseSQLstartup nomount pfile= E:oracleadminERPDBpfileinitERP.oraSQLalter database mount standby database;10. 启动primary databaseSQLstartup pfile= E:oracleadmin ERPDBpfileinitERP.ora11. 启动standby database到recover manage模式SQLalter database recover managed standby database disconnect from session;12.打开 primary databaseSQLalter database open; 三、测试Data Guard1、在Primary Database上:SQL create user test identified by test;SQL grant connect ,resource to test ;SQL conn test/testprimary;SQL create table test(name varchar2(20);SQL insert into test values(data guard);SQL commit;SQL conn / as sysdbaSQL alter system switch logfile;察看从库日志 _alert.ora看当前归档日志是否已经正常完成恢复 2、在Standby Database上检测是否生效:用只读方式打开从库察看是否insert into test values(hi,data guard);已经生效。SQL conn / as sysdba;SQL alter database recover managed standby database cancel;SQL alter database open read only;SQL conn test/testSQL select * from test;察看是否insert into test values(hi,data guard);已经生效。如果生效说明已经完全正常工作,data guard到此完全配置完毕。 再次置从库在恢复模式 SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE disconnect from session;四、维护standby数据库当primary 数据库失败时,将standby 数据库激活:取消(cancel)恢复执行以下操作: sql connect /as sysdbasql startup nomount sql alter database mount standby database;sql alter database activ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论