oracle数据库DG融灾配置方案.doc_第1页
oracle数据库DG融灾配置方案.doc_第2页
oracle数据库DG融灾配置方案.doc_第3页
oracle数据库DG融灾配置方案.doc_第4页
oracle数据库DG融灾配置方案.doc_第5页
免费预览已结束,剩余22页可下载查看

下载本文档

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

文档简介

Oracle 数据库data guard 容灾配置方案方案设计者:巩利民 2009年4月15日一、data guard简单介绍Data Guard 是一个集合,由一个primary 数据库(生产数据库)及一个或多个standby 数据库(最多9 个)组成。组成Data Guard 的数据库通过Oracle Net 连接,并且有可能分布于不同地域。Data Guard与操作系统没有任何关系(但操作系统的类型必须是一样的,版本可以不同),只要oracle数据库能够连通就可以了。Standby又可以分为物理Standby和逻辑Standby,二者是有区别的,区别主要体现在对数据的真实性的写照上。物理Standby就像我们照镜子一样的,完全真实的呈现,逻辑Standby就像一位画家给我们素描。根据两种standby的不同特点,我们这里采用物理Standby来实现容灾。Data Guard的要求是数据库版本必须是企业版的数据库,标准版数据库不支持DG操作。二、Data Guard的配置方法1、准备工作不管物理standby 还是逻辑standby,其初始创建都是要依赖primary 数据库,因此这个准备工作中最重要的一部分,就是对primary 数据库的配置。1)打开Forced Logging 模式将primary 数据库置为FORCE LOGGING 模式。通过下列语句:SQL alter database force logging;注:这个操作在后期的standby数据库创建完成后也要执行这个操作此命令是设置切换后日志能够正常传送2)创建备份shutdown冷备(主要是数据库的数据文件、日志文件、控制文件等).3)将primary置为archive log 状态:(现在的数据库已经在归档模式下了,所以这一步就可以省略了)C:sqlplus/nologSqlconn sys/ennoracle as sysdba再执行以下命令Sqlshutdown immediateSqlStartup mount(只能在mount格式下,不能再open下)Sqlalter database archivelog;Sqlalter system archive log start修改primary 库的配置文件。2、创建步骤1)创建备份(手工复制数据文件或通过RMAN) -primary 库操作2)创建控制文件-primary 库操作通过下列语句为standby 数据库创建控制文件SQL alter database create standby controlfile as d:backupjsspdg01.ctl;注:控制文件通常需要有多份,要么手工将上述文件复制几份,要么用命令多创建几个出来。另外,创建完控制文件之后到standby 数据库创建完成这段时间内,要保证primary 数据库不再有结构性的变化(比如增加表空间等等),不然primary 和standby 同步时会有问题。3)创建初始化参数文件l 创建客户端初始化参数文件SQL create pfile=d:backupinite3suite.ora from spfile;4)修改初始化参数文件中的参数根据实际情况修改,注意primary 和standby 不同角色的属性配置,注意文件路径。然后要重建spfile文件通过pfile 重建spfileSQL shutdown immediateSQLstartup pfile=;SQL create spfile from pfile=inite3suite.ora;SQL shutdown immediateSQLstartup5)配置standby 数据库拷贝文件到standby服务器a.创建服务器端的初始化文件b.创建新的OracleService(windows 环境下需要)。c.创建密码文件,注意保持密码与primary 数据库一致。d.配置监听并启动e.修改primary 和standby 的tnsnames.ora,各自增加对应的Net Service Name。6)启动standby注意,物理standby 极少情况下可以以read-write 模式打开,某些情况下可以以readonly模式打开,所以默认情况下,加载到mount 状态即可。SQL STARTUP MOUNT;启动redo 应用SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;启动实时应用SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;提示:disconnect from session 子句并非必须,该子句用于指定启动完应用后自动退出到命令操作符前,如果不指定的话,当前session 就会一直停留处理redo 应用,如果想做其它操作,就只能新建一个连接。7)停止standby正常情况下,我们停止也应该是先停止redo 应用,可以通过下列语句:SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CALCEL;然后再停止standby 数据库SQL SHUTDOWN IMMEDIATE;当然你非要直接shutdown 也没问题,dg 本来就是用于容灾的,别说你生停standby,就是直接拔电源也不怕。三、创建实例1、配置primary 的pfile 即 init.ora # Cache and I/O#初始化参数文件增加如下内容:DB_UNIQUE_NAME=e3suiteLOG_ARCHIVE_CONFIG=DG_CONFIG=(e3suite, e3suiteb) LOG_ARCHIVE_DEST_1=LOCATION= R:ORADATAadminE3SUITEArchiveLogs VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME= e3suiteLOG_ARCHIVE_DEST_2=SERVICE= E3SUITEB LGWR ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME= E3SUITEbLOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLEREMOTE_LOGIN_PASSWORDFILE=EXCLUSIVElog_archive_min_succeed_dest=1log_archive_format=ARC%S_%R.%T#-配置standby 角色的参数用于角色转换FAL_SERVER=e3suiteFAL_CLIENT=e3suitebDB_FILE_NAME_CONVERT=oradatae3suite ,oradatae3suitebLOG_FILE_NAME_CONVERT=oradatae3suite ,oradatae3suitebSTANDBY_FILE_MANAGEMENT=AUTO2、同步primary的spfile文件SQL shutdown immediateSQLstartup pfile=;SQL create spfile from pfile=initjssweb.ora;SQL shutdown immediateSQLstartup3、创建standby控制文件SQL alter database create standby controlfile as d:backupjsspdg01.ctl;4、拷贝所有数据文件到standby将primary上的datafile下所有数据文件,覆盖掉standby 库中的datafile 。还有下面文件,也覆盖到从库相应的位置D:oracleproduct10.2.0db_1database PWDsdses.oraR:ORADATAadminE3SUITEpfileSPFILEsdses.ORA5、配置 standby 的 pfile 文件 init.ora与primary有所不同:最好的配置方式是从primary上 copy过来,然后做相对修改:我这里直接修改# Cache and I/O#增加内容db_unique_name=e3suitebLOG_ARCHIVE_CONFIG=DG_CONFIG=(e3suite,e3suiteb)log_archive_format=ARC%S_%R.%TLOG_ARCHIVE_DEST_1=LOCATION= R:ORADATAadminE3SUITEBArchiveLogs VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME= e3suitebLOG_ARCHIVE_DEST_STATE_1=ENABLE#-下列参数用于角色切换LOG_ARCHIVE_DEST_2=SERVICE= E3SUITE LGWR ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME= E3SUITEb LOG_ARCHIVE_DEST_STATE_2=ENABLEREMOTE_LOGIN_PASSWORDFILE=EXCLUSIVEFAL_SERVER= E3SUITEFAL_CLIENT= E3SUITEbDB_FILE_NAME_CONVERT=oradatae3suiteb ,oradatae3suiteLOG_FILE_NAME_CONVERT=oradatae3suiteb ,oradatae3suiteSTANDBY_FILE_MANAGEMENT=AUTO同步spfileStartup nomount pfile= D:oracleproduct10.2.0adminE3SUITEpfileinit.ora.2282007171340;create spfile from pfile= D:oracleproduct10.2.0adminE3SUITEpfileinit.ora. 2282007171340;6、创建standby数据库(简单方法,安装standby最方便)创建服务E:ora10goradim new sid jsspdg initpwd ennoracle startmode auto创建密码文件(直接拷贝primary的也可以),注意保持sys 密码与primary 数据库一致。E:ora10gorapwd file=e:ora10gproduct10.2.0db_1databasePWDjsspdg.ora password=verysafe entries=30进入sqlplus环境,以超级用户连接实例,同步spfile文件,将实例启动到nomount状态下执行数据库创建语句,最后运行数据字典角本。7、然后停掉primary 和standby数据库,同时建立归档目录 R:ORADATAadminE3SUITEArchiveLogs修改standby注册表里ORA_实例名_AUTOSTART ,置为 FALSE否则standby机器重启后就自己启动到open状态,使scn不一样,standby 无法正常启动,这种情况就只能重装standby了。8、配置相应的监听文件配置priamry listener.ora # LISTENER.ORA Network Configuration File: D:oracleproduct10.2.0db_1NETWORKADMINlistener.ora# Generated by Oracle configuration tools.# This file is written by Oracle Services For MSCS# on Wed Jan 07 18:24:59 2009#LISTENER = (DESCRIPTION_LIST= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=10.35.0.8) (PORT=1521) ) (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROC0) ) ) )SID_LIST_LISTENER = (SID_LIST= (SID_DESC= (SID_NAME=PLSExtProc) (ORACLE_HOME=d:oracleproduct10.2.0db_1) (PROGRAM=extproc) ) )Fslc4500pdbs = (DESCRIPTION_LIST= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROCc4500pdbs) ) (ADDRESS= (PROTOCOL=TCP) (HOST=10.35.0.10) (PORT=1521) ) ) ) )SID_LIST_Fslc4500pdbs = (SID_LIST= (SID_DESC= (SID_NAME=PLSExtProc) (ORACLE_HOME=d:oracleproduct10.2.0db_1) (PROGRAM=extproc) ) )Fslc4500pdbha = (DESCRIPTION_LIST= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROCc4500pdbha) ) (ADDRESS= (PROTOCOL=TCP) (HOST=10.35.0.23) (PORT=1521) ) ) ) )SID_LIST_Fslc4500pdbha = (SID_LIST= (SID_DESC= (GLOBAL_DBNAME=FAB300) (ORACLE_HOME=d:oracleproduct10.2.0db_1) (SID_NAME=FAB300) ) (SID_DESC= (SID_NAME=PLSExtProc) (ORACLE_HOME=d:oracleproduct10.2.0db_1) (PROGRAM=extproc) ) (SID_DESC= (GLOBAL_DBNAME=E3SUITE) (ORACLE_HOME=d:oracleproduct10.2.0db_1) (SID_NAME=E3SUITE) ) )配置从standby listner.ora 文件:(此处根据实际情况的standby数据库的监听来确定)# LISTENER.ORA Network Configuration File: D:oracleproduct10.2.0db_1NETWORKADMINlistener.ora# Generated by Oracle configuration tools.# This file is written by Oracle Services For MSCS# on Wed Jan 07 18:24:59 2009#LISTENER = (DESCRIPTION_LIST= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=10.35.0.8) (PORT=1521) ) (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROC0) ) ) )SID_LIST_LISTENER = (SID_LIST= (SID_DESC= (SID_NAME=PLSExtProc) (ORACLE_HOME=d:oracleproduct10.2.0db_1) (PROGRAM=extproc) ) )Fslc4500pdbs = (DESCRIPTION_LIST= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROCc4500pdbs) ) (ADDRESS= (PROTOCOL=TCP) (HOST=10.35.0.10) (PORT=1521) ) ) ) )SID_LIST_Fslc4500pdbs = (SID_LIST= (SID_DESC= (SID_NAME=PLSExtProc) (ORACLE_HOME=d:oracleproduct10.2.0db_1) (PROGRAM=extproc) ) )Fslc4500pdbha = (DESCRIPTION_LIST= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROCc4500pdbha) ) (ADDRESS= (PROTOCOL=TCP) (HOST=10.35.0.23) (PORT=1521) ) ) ) )SID_LIST_Fslc4500pdbha = (SID_LIST= (SID_DESC= (GLOBAL_DBNAME=FAB300) (ORACLE_HOME=d:oracleproduct10.2.0db_1) (SID_NAME=FAB300) ) (SID_DESC= (SID_NAME=PLSExtProc) (ORACLE_HOME=d:oracleproduct10.2.0db_1) (PROGRAM=extproc) ) (SID_DESC= (GLOBAL_DBNAME=E3SUITE) (ORACLE_HOME=d:oracleproduct10.2.0db_1) (SID_NAME=E3SUITE) ) )配置主primary的tnsnames.ora(必须保证这里面只有两项,primary和standby的两个。同时建议用 “Net Manager” 来操作自动产生配置文件。否则会发生莫名其妙的问题。)# This file is written by Oracle Services For MSCS# on Wed Jan 07 18:25:02 2009#EXTPROCc4500pdbs = (DESCRIPTION= (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROCc4500pdbs) ) (CONNECT_DATA= (SID=PLSExtProc) ) )EXTPROCc4500pdbha = (DESCRIPTION= (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROCc4500pdbha) ) (CONNECT_DATA= (SID=PLSExtProc) ) )EXTPROC_CONNECTION_DATA = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROC0) ) (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROCc4500pdbs) ) (ADDRESS= (PROTOCOL=IPC) (KEY=EXTPROCc4500pdbha) ) ) (CONNECT_DATA= (SID=PLSExtProc) (PRESENTATION=RO) ) )E3SUITE = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=TCP) (Host=10.35.0.23) (Port=1521) ) ) (CONNECT_DATA= (SERVICE_NAME=E3SUITE) ) )E3SUITEB = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=TCP) (Host=10.35.0.31) (Port=1521) ) ) (CONNECT_DATA= (SERVICE_NAME=E3SUITEB) ) )FAB300B = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=TCP) (Host=10.35.0.31) (Port=1521) ) ) (CONNECT_DATA= (SERVICE_NAME= FAB300B) ) )FAB300 = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=TCP) (Host=10.35.0.23) (Port=1521) ) ) (CONNECT_DATA= (SERVICE_NAME=FAB300) ) )配置从 standby 的 tnsnames.ora 文件增加primary的配置完成后执行C:tnsping standbyC:tnsping primary来检测配置是否有问题。C:lsnrctlC:status;C:stop;C: start;完成后,就可以启动standby db了。启动顺序:先standby ,后primary;关闭顺序:先primary 后standby;步骤:从库:startup nomountalter database mount standby database;ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;主库:startup切换到read only 状态在standby上开另外一个连接进行如下操作:SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SQLalter database open read only;这时候可以进行对表exp/imp或别的操作如果要回到managed状态,则必须另开一个窗口,然后再运行:recover managed standby database ; 回到 managed状态。在默认情况下,Data guard就是最大性能模式,所以不需要采用其它额外的配置最后测试在主库上修改记录,建表。看从库记录是否相应改变:切换当前联机日志SQL select *from v$log;SQL alter system switch logfile; 察看从库后台日志、alter文件是否改变。C:oracleadminpormalsbdump arlter_sdses. 四、oracle data guard的故障恢复操作1、如何激活STANDBY数据库为PRIMARY库(Failover不可逆)这种情况是在primary数据库出现故障启动不了的时候在standby上执行startup nomount;alter database mount standby database;alter database activate standby database;Shutdown immediateStartup这时standby 就成为primary了,但这个是不可逆回的2、Data guard主备数据库的切换问题(Switchover双机正常,可逆)启用备用库(standby,正在使用的数据库这一步可以省略,因为数据库已经再运行了)startup nomount;alter database mount standby database;alter database recover managed standby database disconnect from session;停主库起备库(primary)alter database commit to switchover to physical standby;shutdown immediatestartup nomount;alter database

温馨提示

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

评论

0/150

提交评论