欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    oracle11g dataguard 完全手册.docx

    • 资源ID:1656050       资源大小:34.05KB        全文页数:34页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    oracle11g dataguard 完全手册.docx

    1、oracle11g dataguard 完全手册oracle11g dataguard 完全手册一、前言: 网络上关于dataguard的配置文章很多,但是很多打着oracle11g的文章实际都是只能在9 10 上运行,比如FAL_CLIENT在11g中已经废弃,但是现在网络上的文章都是没有标注这一点。而且对于具体含义语焉不详对于新手只能知其然而不知其所以然。这篇文章我就想让像我这样的人对于dataguard配置不仅仅知道怎么配置,还要知道为什么需要这样配置,这样的效果才是最好的。 这篇文章不仅仅是记录如何配置,还介绍了为什么是这样,以及注意要点,我希望这个文章可以作为进行dataguard配

    2、置的一个参考手册。二、前提1.主库是归档模式: 如果我们不清楚为什么是归档模式,那我们就应该也不会清楚dataguard是用来做什么的。透过很多修饰的官方语言,我们需要明确DG(dataguard简称,后同)实际上的作用就是用来高可用。而实现原理就是从主库获取数据到从库,在主库发生异常的时候,从库接管主库,完成身份的变化。可以一个主库,最多9个从库。同时分为逻辑standby和物理standby这里我们讨论的是物理standby. 一旦创建并配置成 standby 后,dg 负责传输 primary数据库 redo data 到 standby 数据库,standby 数据库通过应用接收到的

    3、redo data 保持与 primary 数据库的事务一致。 这下清楚了吧,需要保证主从库一致,需要传输archive log和redo log到从库,如果不是归档模式无法保证主从库的数据一致。2.从库只需要安装数据库软件,数据从主库传输后完成。3.很多人说11g有了active dataguard(ADG),逻辑standby 实际上已经没什么用处了。4.主从库硬件最好一致。oracle数据库版本需要一致。 (1)内存检查项: # grep MemTotal /proc/meminfo 交换分区检查项:如果内存在1-2G,swap是1.5倍;2-16G,1倍;超过16G,设置为16G即可。

    4、 # grep SwapTotal /proc/meminfo 查看共享内存大小: # df -h /dev/shm (2)查看系统处理器架构,与oracle安装包一致 # uname -m (3)空间空间 /tmp必须大于1G # df -h /tmp5.配置环境数据库用户必须有sysdba权限6.后面的环境:主库 192.168.215.101 数据库实例名:orcl db_unique_name:orcl 从库 192.168.215.102 数据库实例名:orcl db_unique_name:orcldg三、配置1.判断DG是否已经安装: select * from v$option

    5、 where parameter = Oracle Data Guard; 如果是true表示已经安装可以配置,否则需要安装相应组件。2.设置主库为强制记录日志。 默认情况下数据库操作会记录redo log,但是在一些特定的情况下可以使用nologging来不生成redo信息 (1)表的批量INSERT(通过/*+APPEND */提示使用“直接路径插入“。或采用SQL*Loader直接路径加载)。表数据不生成redo,但是所有索引修改会生成redo(尽管表不生成日志,但这个表上的索引却会生成redo!)。 (2)LOB操作(对大对象的更新不必生成日志)。 (3)通过CREATE TABLE

    6、AS SELECT创建表 (4)各种ALTER TABLE操作,如MOVE和SPLIT (5)在一些表迁移和表空间迁移中,可以使用alter table a nologging;或者alter tablespace snk nologging;在操作完成后再修改回logging状态。 这里需要多说一句,如果你使用nologging导入大批量数据,以后对这些数据的修改会在redo或者archive log中,但是基准的数据是没有的,所以一旦介质损坏是无法完全恢复的,必须在使用nologging完成切换回logging后,做一次全备或者0级备份。 (1)强制记录日志:sqlalter databa

    7、se force logging; (2)检查状态(YEs为强制):sqlselect name,force_logging from v$database; (3)如果需要在主库添加或者删除数据文件时,这些文件也会在备份添加或删除,使用如下: sqlalter system set standy_file_management=AUTO; 默认此参数是manual手工方式 sqlshow parameter standby3.创建standby log files(备用日志文件) 从库使用standby log files来保存从主库接收到的重做日志。既然主要是从库在使用,那为什么需要在主库

    8、上也建立 standby log files?原因主要由两个:一是主库可能转换为备库,而备库是需要有standby log files的 二是如果主库 建立了standby log files那备库会自动建立。建立standby如要注意以下几点: standby log files的大小和redo log files一样。 查询redo log files文件大小(默认50M,3个):select group#,bytes/1024/1024 as M from v$log 一般而言, standbyredo 日志文件组数要比 primary 数据库的 online redo 日志文件组数至少

    9、多一个。 推荐 standbyredo 日志组数量基于 primary 数据库的线程数(这里的线程数可以理解为 rac 结构中的 rac 节点数)。 有一个推荐的公式可以做参考:(每线程的日志组数+1)*最大线程数 假设现在节点是1个,则=(3+1)*1=4 如果是双节点 则=(3+1)*2=8 这里我们创建4个standby logfile: 另:不建议组号group#紧挨着redo,因为后续redo有可能调整,这里我们从建立从11到14的standby logfile12345678# cd $ORACLE_BASE/oradata/orcl/# mkdir dg# chown oracl

    10、e:dba dgsql alterdatabaseaddstandby logfile group11 /opt/oracle/oradata/orcl/dg/standby11.logsize50M;sql alterdatabaseaddstandby logfile group12 /opt/oracle/oradata/orcl/dg/standby12.logsize50M;sql alterdatabaseaddstandby logfile group13 /opt/oracle/oradata/orcl/dg/standby13.logsize50M;sql alterdata

    11、baseaddstandby logfile group14 /opt/oracle/oradata/orcl/dg/standby14.logsize50M; 4.密码文件和控制文件的创建传输 (1)一般数据库默认就有密码文件,存放在$ORACLE_HOME/dbs/orapwSID 这里为orapworcl 如果没有sqlorapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle (2)检查REMOTE_LOGIN_PASSWORDFILE值是否为 EXCLUSIVE sqlshow parameter REMOTE_LOGIN_PASSW

    12、ORDFILE如果值不是EXCLUSIVE,则:alter system set remote_login_passwordfile=exclusive scope=spfile; (3)密码文件需要scp到从库 # scp orapworcl*.215.102:/opt/oracle/11.2/dbs提示输入yes (4)控制文件: 11g的控制文件一共两份,内容一样,一份在$ORACLE_BASE/oradata/orcl/control01.ctl一份在/opt/oracle/flash_recovery_area/orcl/control02.ctl生成standby控制文件:1234

    13、sqlshutdown immediatesqlstartup mountsqlalterdatabasecreatestandby controlfile as/tmp/standby_control01.ctl;sqlstartup open;然后在备库建立对应的目录,并授权mkdir orcl- chown oracle:oinstall(或dba) orclscp control01.ctl oracle192.168.215.102:/opt/oracle/oradata/orclscp control02.ctl oracle192.168.215.102:/opt/oracle/

    14、flash_recovery_area/orcl/5.db_name和db_unique_name 默认db_name和db_unique_name和实例名是一致的,这里是orcl 需要注意在DG中主库和从库的db_unique_name是不能一致的,需要区分开的。 这里我们设置主库的db_unique_name为orcl,从库为orcldg sqlshow parameter db_unique_name 设置:alter system set db_unique_name=orcl scope=spfile; -注意虽然默认db_unique_name和db_name是一致的,但是需要显式

    15、设置,否则在spfile中没有此参数 6.闪回数据库: 强烈建议开启数据库闪回功能。闪回允许你将数据库还原到以前的某一时间点。当发生故障转移时,这个功能非常有用, 它能让你将老的主库闪回到故障前,然后将其转换为备库。如果没有启用闪回功能,你就必须重建备库,意味着要再复制一次数据文件。 除了这个好处,闪回还能在某些情况下让你避免从备份恢复数据。 (1)快速恢复区(Flash/Fast Recovery Area),默认是配置的,但是需要确认这个区域的磁盘够大,至少300G以上(默认3G) sqlshow parameter db_recovery_file_dest 可以修改位置:sqlalte

    16、r system set db_recovery_file_dest=新路径; 更改大小:sqlalter system set db_recovery_file_dest_size=400G; (2)查看是否启用,默认是不开启的 sqlselect flashback_on from v$database; 开启:sqlalter database flashback on; 如果你碰到 ORA-01153 报错,那一定是在备库进行此操作。你需要先取消重做日志应用,启用闪回日志,然后重新启用日志应用。 在主库启用闪回日志,不会同步备库也启用。你必须手动在主库和备库上均启用闪回日志。 如果不启

    17、用闪回日志,当出现故障转移时,你将需要完全重新开始创建一个备库。 7.SQL*NET设置(1)配置主库的监听 虽然可以通过netca来进行配置,但是除了这个默认的外,我们还需要一个静态注册SID_LIST_LISTENER,如果没有此从参数而且 dataguard启动顺序不正确,主库会报PINGARC1:Heartbeat failed to connect to standby *.Error is 12514导致归档无法完成 配置如下SID_LIST_LISTENER=(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = orcl)(ORACLE_HOME = /o

    18、pt/oracle/11.2)(SID_NAME = orcl)LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = primaryDB)(PORT = 1521)#vi $ORACLE_HOME/network/admin/listener.ora 加入上面的内容(2)配置tnsnames #vi $ORACLE_HOME/network/admin/tnsnames.oraORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = T

    19、CP)(HOST = 192.168.215.101)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = orcl)ORCLDG =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.215.102)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = orcldg)(3)传输到备库并修改listener.ora和tnsnames.orascp $ORACLE_HOME/network/admin/listener.ora *.215

    20、.102:/opt/oracle/11.2/network/admin/scp $ORACLE_HOME/network/admin/tnsnames.ora *.215.102:/opt/oracle/11.2/network/admin/ -listener.ora: SID_LIST_LISTENER (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcldg) (ORACLE_HOME = /opt/oracle/11.2) (SID_NAME = orcl) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTI

    21、ON = (ADDRESS = (PROTOCOL = TCP)(HOST = standbyDB)(PORT = 1521) ) ) tnsnames.ora:不需要修改8.重做日志传输配置(1)配置归档日志位置: 查询已经设置的归档路径sql:archive log list或者show parameter log_archive_dest_1sql altersystem setlog_archive_dest_1=LOCATION=/opt/oracle/oradata/orcl/archive1 valid_for=(all_logfiles,primary_role) db_uni

    22、que_name=orclscope=spfile; 还可以使用快速恢复区作为归档目录,如LOCATION=use_db_recovery_file_dest 官方文档里说使用 valid_for=(online_logfiles, all_roles),这将导致备库无法归档备用日志文件,因为它们不是在线日志。 但如果使用 all_logfiles 选项,主备库将都能归档在线以及备用日志。 如果你想在备库进行备份,并同时备份归档日志的话,必须使用 all_logfiles。(2)配置重做日志到备份库:sqlaltersystem setlog_archive_dest_2=SERVICE=or

    23、cldg lgwr sync valid_for=(online_logfile,primary_role) db_unique_name=orcldg;(3)要注意STANDBY_ARCHIVE_DEST 参数不需要,已经被官方弃用。设置此参数后启动数据库,只会报 ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance 错。 9.配置FAL_SERVER 这个参数指定当日志传输出现问题时,备库到哪里去找缺少的归档日志。它用在备库接收的到的重做日志间有缺口的时候。 这种情况会发生在日志传输出现中断时

    24、,比如你需要对备库进行维护操作。在备库维护期间,没有日志传输过来,这时缺口就出现了。 设置了这个参数,备库就会主动去寻找那些缺少的日志,并要求主库进行传输。 你是主库,就填写: fal_server=从库 从库上就反过来: fal_server=主库 注意:FAL_CLIENT在11g中已经废弃,虽然可以配置但是已经不起作用了。 sqlalter system set FAL_SERVER=orcldg;10.Data Guard 配置里的另外一个库的名字 sql alter system set log_archive_config = dg_config=(orcl,orcldg); 以上

    25、的办法是我们采用alter system的方式在线修改,还有一种比较方便的办法(但是容易出错,所以方便和安全什么时候都不可兼得) sqlcreate pfile from spfile; # 手工修改pfile sqlcreate spfile from pfile; 然后用pfile生成spfile 同时传输pfile到从库修改后生成spfile 注意手工增加: *.log_archive_dest_state_1=enable *.log_archive_dest_state_2=enablevi initorcl.oraorcl._db_cache_size=180355072orcl.

    26、_java_pool_size=4194304orcl._large_pool_size=4194304orcl._oracle_base=/opt/oracle#ORACLE_BASE setfromenvironmentorcl._pga_aggregate_target=264241152orcl._sga_target=494927872orcl._shared_io_pool_size=0orcl._shared_pool_size=289406976orcl._streams_pool_size=8388608*.audit_file_dest=/opt/oracle/admin/

    27、orcl/adump*.audit_trail=db*.compatible=11.2.0.0.0*.control_files=/opt/oracle/oradata/orcl/control01.ctl,/opt/oracle/flash_recovery_area/orcl/control02.ctl#Restore Controlfile*.db_block_size=8192*.db_domain=*.db_name=orcl*.db_recovery_file_dest=/opt/oracle/flash_recovery_area*.db_recovery_file_dest_s

    28、ize=4039114752*.diagnostic_dest=/opt/oracle*.dispatchers=(PROTOCOL=TCP) (SERVICE=orclXDB)*.fal_server=orcldg*.job_queue_processes=1000*.log_archive_config=dg_config=(orcl,orcldg)*.log_archive_dest_1=LOCATION=/opt/oracle/oradata/orcl/archive1 valid_for=(all_logfiles,primary_role) db_unique_name=orcl*.log_archive_dest_2=SERVICE=orcldg lgwr sync valid_for=(online_logfile,primary_role) db_unique_name=orcldg*.log_archive_format=orcl_%t_%s_%r.dbf*.memory_target=756023296*.open_curso


    注意事项

    本文(oracle11g dataguard 完全手册.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开