




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
dataGuard推荐:利用冷备创建standby一:试验环境:primary server:CentOS Linux4.4 + oracle ORACLE_SID:orcl主库ip:44ORACLE_HOME: /free/oracle/product/10.2.0/db_1/standby server: SUSE Linux9 + oracle ORACLE_SID:orcl备库ip:53ORACLE_HOME: /free/oracle/product/10.2.0/db_1/二:配置步骤 首先,装好primary和standby上的oracle,建SID同为orcl的库,所有设置完全相同。然后停止shutdown两台上的oracle,将primary上的所有数据文件,控制文件,redo文件和password文件都copy到standby机器的相应位置。这样,我们就拥有了两台完全一样的oracle server。1. 在primary database上设置force loggingSQLalter database force logging;2. 修改primary databse的初始化参数,主要增加参数如下:*.control_files=/free/oracle/oradata/orcl/control01.ctl,/free/oracle/oradata/orcl/control02.ctl,/free/oracle/oradata/orcl/control03.ctl*.service_names=primary #这个参数指定了主库的service name*.log_archive_config=DG_CONFIG=(PRIMAYR,STANDBY)*.DB_UNIQUE_NAME=PRIMARY*.LOG_ARCHIVE_DEST_1= LOCATION=/free/oracle/orabak*.LOG_ARCHIVE_DEST_2= SERVICE=STANDBY VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=STANDBY LGWR SYNC AFFIRM 如果不指定REOPEN,默认为300*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*.LOG_ARCHIVE_FORMAT=arc%s%t%r.arc*.FAL_SERVER= STANDBY *.FAL_CLIENT= PRIMARY *.STANDBY_FILE_MANAGEMENT=AUTO*.standby_archive_dest=/free/oracle/orabakLOCK_NAME_SPACE -这是参数当主数据库和备用数据在同一台机上时要设该参数,设为备用数据库的SID3. 设置primary database为archivelog模式SQLshutdown immediate;SQLstartup mount;SQLalter database archivelog;SQLalter database open;4. 在primary database上创建standby database的控制文件SQLshutdown immedaite;SQLstartup mount;SQLalter database create standby controlfile as /free/oracle/oradata/orcl/controlstandby.ctlSQLalter database open;然后将该controlfile复制到standby server的对应位置。5. 修改standby databse的初始化参数*.service_names=standby #这个参数指定了备库的service name*.control_files=/free/oracle/oradata/orcl/controlstandby.ctl*.log_archive_config=DG_CONFIG=(PRIMARY,STANDBY) *.LOG_ARCHIVE_DEST_1= LOCATION=/free/oracle/orabak VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=STANDBY *.LOG_ARCHIVE_DEST_2= SERVICE=primary VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PRIMARY LGWR SYNC AFFIRM REOPEN=10 如果不指定REOPEN,默认为300#*.LOG_ARCHIVE_DEST_2= SERVICE=standby VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=STANDBY LGWR SYNC REOPEN=10*.db_unique_name=STANDBY*.FAL_CLIENT=STANDBY*.FAL_SERVER=PRIMARY*.log_archive_dest_state_1=enable*.log_archive_dest_state_2=enable*.STANDBY_ARCHIVE_DEST=/free/oracle/orabak*.STANDBY_FILE_MANAGEMENT=AUTODB_FILE_NAME_CONVERT -当primary和standby的数据文件路径不一致时使用LOG_FILE_NAME_CONVERT -当primary和standby的数据文件路径不一致时使用LOCK_NAME_SPACE -当主数据库和备用数据在同一台机上时设为备用数据库的 SID具体参数的说明请参考oracle在线文档 6. 设置primary database和standby database的tnsnames.ora,主备库两者的tnsnames.ora配置文件相同。primary =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 44)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = primary) 这个primayr为主库的 service name)standby =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 53)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = standby) 这个standby为备库的service name) 7. 启动standby databaseSQLstartup nomountSQLalter database mount standby database; 执行此命令后备库会处于手动恢复状态。8. 启动primary databaseSQLstartup9. 启动standby database到recover manage模式SQLalter database recover managed standby database disconnect; 执行此命令后,备库会切换到自动恢复模式。如果要启动到实时日志应用模式SQLalter database recover managed standby database using current logfile; 切换备库到适时应用日志模式,即real-time apply。执行这个命令后光标会停止在那里。或者alter database recover managed standby database using current logfile disconnect from session; 执行这个命令后,会切断这个session,执行的功能与上面相同。但是之前需要先创建standby logfile,使用如下命令创建standby logfile:alter database add standby logfile group 4 /free/oracle/oradata/orcl st_redo4.log size 50M同时还需要修改主库的参数LOG_ARCHIVE_DEST_2的配置由于事先已经配置好了备库的LOG_ARCHIVE_DEST_2参数,这里无需在进行配置。关于standby redo file文件,一些特性简单说明如下:当dataguard运行在max protection 或max availability时,因为必须使用LGWR日志传输方式 即时的将日志传送到standby,因此需要用到standby redo log。其实主库产生的日志会同步写到主库的redo log 和备库的standby redo log上。同时主库日志切换时,standby redo log也会进行日志切换,因此standby redo log中的信息是与主库的redo file是 适时同步的,在备库进行恢复的时候,是利用standby redo log进行的,因此也可以说standby redo log是主库和备库直接同步的一个桥梁。创建的standby redo log大小必须和主库的redo大小相等,创建的组数量 建议比主库的redo file多一组,这样做的目的是日后备用,这也是oracle官方的建议。但是根据我的测试,我创建四组standby redo log,真正利用的只有两组。10. 切换standby database到read only模式SQL alter database recover managed standby database cancel;#首先取消备库的自动恢复模式SQLalter database open read only;如果要切换回recover manage模式SQL alter database recover managed standby database disconnect from session;三:功能切换Switchover状态切换首先在primary上操作:1. 首先查看切换状态:SQLselect switchover_status from v$databaseswitchover_status的值如果是To standby,可以直接switchover,如果是sessions active, 则需要在switchover的命令后面加上。2. 执行切换主库到备库:SQLalter database commit to switchover to physical standby;3.关闭数据库: SQLshutdown immediate;4. 启动到mount状态:SQLstartup mount;然后在standby上操作1.查看切换状态: SQL select switchover_status from v$database ; switchover_status的值如果是To primary,可以直接switchover,如果是sessions active, 则需要在switchover的命令后面加上with session shutdown2. 执行切换备库到主库:SQLalter database commit to switchover to primary;3.关闭备库: SQLshutdown immediate;4.重新启动备库 SQLstartup;小窍门:要想顺利的实现switchover,最好在每台server上都同时设置好primary和standby的一些初始化参数,虽然其中一些参数只有在primary或者standby其中之一上起作用。Failover状态切换在备库上进行切换:1.首先停止备库的自动恢复状态: SQLalter database recover managed standby database finish;如果没有使用过standby redo log的话执行:SQLalter database recover managed standby database finish skip standby logfile;2.切换备库到主库: SQLalter database commit to switchover to primary;3. 关闭数据库:SQLshutdown immediate;4. 启动数据库:SQLstartup;Active状态切换:Active是从8i延续过来的,其实不建议采用:在备库上执行切换:1:alter database recover managed standby database cancel;2:alter database activate standby database;3:shutdown immediate总结一下Failover 和 Switchover 的区别:在9i 的dataguad环境中:1:执行Switch Over 必须是Primary 正常,并且是必须Primary 主动先Switch成 standby.然后standby 才能switch 成primary。 2:如果需要作成primary出问题,standby 能接管的话,必须作 failover ,而不是SwitchOver。Failover : 将主数据库offline,备用数据库online,这种操作由系统和软件失败引起。 即使在备用数据库上应用重做日志,也可能出现数据丢失的现象,除非备用数据库运行在 guaranteed protection 模式。 原主数据库重新使用时必须重新启动实例。 其它的备用数据库也需重新启动实例。 Switchover :故意将主数据库offline,而将另一备用数据库online,它能够切换到备用数据库而不需同步操作。如:可使用 Switchover 完成系统的平滑升级。 即使在备用数据库上不应用重做日志,也不会造成数据的丢失。 数据库不需重新启动实例。这使主数据库几乎能立即在备用数据库上恢复它的功能,因此可经常进行定期维护而不需中断操作。 Failover和Switchover的区别为:当Failover发生,备用数据库切换为主数据库之后,它丢失了备用数据库的所有能力,也就是说,不能再返回到备用模式;而Switchover可以,备用数据库可切换为主数据库,也可从主数据库再切换回备用数据库。四:相关视图v$archive_destv$archive_dest_statusv$log_historyv$archvied_logv$managed_standbyv$archive_gap五:常见问题1. 日志无法传送SQLselect dest_name,status,error from v$archive_dest;察看相应的归档路径的状态是否valid,否则根据error信息进行处理2. 无法使用alter database重命名data file 在standby上,当设置standby_file_management为auto时,不允许下列操作alter database renamealter database add/drop logfilealter database add/drop standby logfile memberalter database create datafile as3. switchover失败SQLalter database commit to switchover to physical standby错误:ORA-01093:alter database close only permitted with no session connected可以察看引起该错误的活动sessionSQL select sid,process,program from v$session where type=USER andsid(select distinct sid from v$mystat);然后根据查出的sid结合v$session视图最后用alter system kill session sid,serial 来kill掉进程,断开该session 或者使用如下命令来做switchoverSQLalter database commit to switchover to physical standby with s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T-CSAA 24.2-2023 基础研究项目综合绩效评价指南 第2部分:成果内容要素
- 第三方支付市场需求分析与发展策略与市场标准
- 智能制造业发展现状与分析
- 目标跟踪与识别-洞察及研究
- 防恐知识培训班课件
- 2025年委托保证合同2篇
- 工业网络架构设计-第1篇-洞察及研究
- 并发控制时序优化-洞察及研究
- 地下水位影响机理研究-洞察及研究
- 舒适性优化研究-洞察及研究
- 安徽省定远县藕塘中学高三上学期周考训练物理试题
- 【2025年】黄淮学院招聘事业编制硕士专职辅导员20名考试笔试试题(含答案)
- 邮政银行一点一策课件
- 2025年教师职称考试试题及答案
- 餐饮咨询顾问合同范本
- 2025-2030中医药大健康产业链整合与投资机会分析报告
- 直播责任自负书
- 混凝土支撑拆除施工方案
- 【精品】ppt课件新《预算法》解读
- 如何写周记(课堂PPT)
- 各类机床工时定额计算方法
评论
0/150
提交评论