oracle11gdataguard完全手册分析.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle11gdataguard完全手册分析

???一、前言:?? 网络上关于dataguard的配置文章很多,但是很多打着oracle11g的文章实际都是只能在9 10 上运行,比如FAL_CLIENT在11g中已经废弃,但是现在网络上的文章都是没有标注这一点。而且对于具体含义语焉不详对于新手只能知其然而不知其所以然。这篇文章我就想让像我这样的人对于dataguard配置不仅仅知道怎么配置,还要知道为什么需要这样配置,这样的效果才是最好的。? 这篇文章不仅仅是记录如何配置,还介绍了为什么是这样,以及注意要点,我希望这个文章可以作为进行dataguard配置的一个参考手册。二、前提1.主库是归档模式:? 如果我们不清楚为什么是归档模式,那我们就应该也不会清楚dataguard是用来做什么的。透过很多修饰的官方语言,我们需要明确DG(dataguard简称,后同)实际上的作用就是用来高可用。而实现原理就是从主库获取数据到从库,在主库发生异常的时候,从库接管主库,完成身份的变化。可以一个主库,最多9个从库。同时分为逻辑standby和物理standby这里我们讨论的是物理standby.?? 一旦创建并配置成 standby 后,dg 负责传输 primary数据库 redo data 到 standby 数据库,standby 数据库通过应用接收到的 redo data 保持与 primary 数据库的事务一致。?? 这下清楚了吧,需要保证主从库一致,需要传输archive log和redo log到从库,如果不是归档模式无法保证主从库的数据一致。2.从库只需要安装数据库软件,数据从主库传输后完成。3.很多人说11g有了active dataguard(ADG),逻辑standby 实际上已经没什么用处了。4.主从库硬件最好一致。oracle数据库版本需要一致。? (1)内存检查项:???? # grepMemTotal /proc/meminfo???? 交换分区检查项:如果内存在1-2G,swap是1.5倍;2-16G,1倍;超过16G,设置为16G即可。???? # grepSwapTotal /proc/meminfo???? 查看共享内存大小:???? # df -h /dev/shm?? (2)查看系统处理器架构,与oracle安装包一致???? # uname -m?? (3)空间空间 /tmp必须大于1G???? # df -h /tmp5.配置环境数据库用户必须有sysdba权限6.后面的环境:主库 01 数据库实例名:orcl??????? db_unique_name:orcl????????????? 从库 02 数据库实例名:orcl?????? db_unique_name:orcldg三、配置1.判断DG是否已经安装:? select * from v$option where parameter = Oracle Data Guard;? 如果是true表示已经安装可以配置,否则需要安装相应组件。2.设置主库为强制记录日志。? 默认情况下数据库操作会记录redo log,但是在一些特定的情况下可以使用nologging来不生成redo信息? (1)表的批量INSERT(通过/*+APPEND */提示使用“直接路径插入“。或采用SQL*Loader直接路径加载)。表数据不生成redo,但是?所有索引修改会生成redo,但是所有索引修改会生成redo(尽管表不生成日志,但这个表上的索引却会生成redo!)。?? (2)LOB操作(对大对象的更新不必生成日志)。?? (3)通过CREATE TABLE AS SELECT创建表? (4)各种ALTER TABLE操作,如MOVE和SPLIT? (5)在一些表迁移和表空间迁移中,可以使用alter table a nologging;或者alter tablespacesnknologging;在操作完成后再修改回logging状态。? 这里需要多说一句,如果你使用nologging导入大批量数据,以后对这些数据的修改会在redo或者archive log中,但是基准的数据是没有的,所以一旦介质损坏是无法完全恢复的,必须在使用nologging完成切换回logging后,做一次全备或者0级备份。?? (1)强制记录日志:sqlalter database force logging;?? (2)检查状态(YEs为强制):sqlselect name,force_logging from v$database;?? (3)如果需要在主库添加或者删除数据文件时,这些文件也会在备份添加或删除,使用如下:????? sqlalter system set standy_file_management=AUT

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档