Oracle 11g Data Guard 物理备库快速配置指南

上传人:tia****nde 文档编号:36843790 上传时间:2018-04-03 格式:DOCX 页数:22 大小:58.10KB
返回 下载 相关 举报
Oracle 11g Data Guard 物理备库快速配置指南_第1页
第1页 / 共22页
Oracle 11g Data Guard 物理备库快速配置指南_第2页
第2页 / 共22页
Oracle 11g Data Guard 物理备库快速配置指南_第3页
第3页 / 共22页
Oracle 11g Data Guard 物理备库快速配置指南_第4页
第4页 / 共22页
Oracle 11g Data Guard 物理备库快速配置指南_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《Oracle 11g Data Guard 物理备库快速配置指南》由会员分享,可在线阅读,更多相关《Oracle 11g Data Guard 物理备库快速配置指南(22页珍藏版)》请在金锄头文库上搜索。

1、Oracle 11g Data Guard 物理备库快速配置指南(上)June 26, 2012 缘起最近做了 10g 和 11的物理备库配置实验,发现 Data Guard 其实很容易,但是缺少好文档。我是参考官方文档做的实验,觉得它写的不是很清楚的。Google 出来两个 pdf 文档,读了觉得比官方文档强很多。翻译下,也许会对某些朋友有用。翻译的同时我也好更熟悉下这两个文档。好久没翻译过英文了,可以顺便练练手。原文档下载地址(墙外):Configure Dataguard 11gR2 Physical Standby Part 1Configure Dataguard 11gR2 Phy

2、sical Standby Part 2第一部分简介Data Guard 是 Oracle 数据库的一个功能,能够提供数据库的冗余。冗余是通过创建一个备用(物理复制)数据库实现,备库最好是在不同的地理位置或者在不同的磁盘上。备库通过应用主库上的变化来保持数据同步。备库可以使用重做日志应用(物理备库)或 SQL 应用同步(逻辑备库)。本文旨在说明 Data Guard 的配置并不复杂,不需要特殊的技能或者培训才能学会搭建。它将快速展示给读者搭建一个物理备库的过程。我的目标是,即使你第一次接触 Data Guard,刚考虑要使用它或担心它会不会很难配置,本文将帮助你快速搭建起一个正常运行起来的物理

3、备库。为什么使用 Data Guard每种 Oracle 高可用性工具都有其目的。使用 Data Guard 的理由有:整个数据库的冗余故障时的快速恢复故障后客户端能自动重连在备库运行备份较好的故障平均修复时间并不复杂系统环境在写完本文后,我使用 DBCA 创建了一个新数据库 JED,然后重新运行了文中的配置步骤,确认其对一个基本的 Oracle 11g 数据库适用。主库叫 JED,运行在一台叫 dev-db1的服务器上。备库叫JED2,运行在一台叫 dev-db2 的服务器上。不需要提的基本前提有一些任何生产库都应该有的基本的设置。其中一个就是归档模式。对于生产库,这应该是一个明显的必须配置

4、。如果你的生产库没有适用归档模式,你要么需要马上开始读点书,要么你得有一个非常非常好的理由。我不大确定谁真能找出一个理由,但任何准则都有例外。如何修改你的数据库为归档模式:SQL shutdown immediateSQL startup mountSQL alter database archivelog;SQL alter database open;SQL archive log list;主库准备首先,备库要成为主库的完全相同的复制,它必须接收来自主库的重做日志。Oracle 数据库中,一个用户可以用指定某操作不产生日志(比如使用 NOLOGGING 语句)。对于备库来说,这是个问题。

5、你必须确认用户无法指示数据库不产生重做日志,这需要启用数据库的强制日志功能。启用方法如下:SQL alter database force logging;SQL select name, force_logging from v$database;你应该看到 force_logging 列为 YES。其次,你要确认当主库添加或删除数据文件时,这些文件也会在备库添加或删除。启用此功能的方法如下:SQL alter system set standby_file_management = AUTO;再次,我们要确认书库有备用日志文件(Standby Log Files)。备库使用备用日志文件来来

6、保存从主库接收到的重做日志。主库上也建立备用日志文件有两个原因,一是主库可能转换成备库,备库需要备用日志,二是如果主库建了备用日志,备库会自动建。备用日志应该跟在线日志一样大,组数应该至少跟在线日志一样多,或者更多。我喜欢给备用日志一个跟在线日志不同范围的编号,比如在线日志组是 1 到 6,备用日志就是 11 到 16。创建备用日志的方法如下:SQL alter database add standby logfile group 11 (/oradata/JED/g11m01.sdo,/oradata/JED/g11m02.sdo) size 50M;如果你不是使用 SSL 做重做日志传输验

7、证(一般来说不会),那么你需要使用密码文件做验证。你必须创建密码文件,并且设置参数 REMOTE_LOGIN_PASSWORDFILE 为 EXCLUSIVE 或SHARED。一般数据库默认就有密码文件,并且此参数默认为 EXECUSIVE。先检查下这两项,如果不是默认,设置方法如下:SQL alter system set remote_login_passwordfile=exclusive scope=spfile;OS orapwd password=最后,检查数据库的 db_unique_name 参数是否设置。如果没有,使用 alter system 进行设置:SQL show p

8、aramter db_unique_name;SQL alter system set db_unique_name=some_name scope=spfile;闪回数据库我强烈建议开启数据库闪回功能。闪回允许你将数据库还原到以前的某一时间点。当发生故障转移时,这个功能非常有用,它能让你将老的主库闪回到故障前,然后将其转换为备库。如果没有启用闪回功能,你就必须重建备库,意味着要再复制一次数据文件。除了这个好处,闪回还能在某些情况下让你避免从备份恢复数据。启用闪回功能,必须先配置快速恢复区(Flash/Fast Recovery Area). 方法如下:SQL alter system set

9、 db_recovery_file_dest=SQL alter system set db_recovery_file_dest_size=400G;配置好快速恢复区后,就可以启用闪回日志功能:SQL alter database flashback on;SQL select flashback_on from v$database;FLASHBACK_ON 这列的值应该是 YES。如果你碰到 ORA-01153 报错,那一定是在备库进行此操作。你需要先取消重做日志应用,启用闪回日志,然后重新启用日志应用。在主库启用闪回日志,不会同步备库也启用。你必须手动在主库和备库上均启用闪回日志。如果

10、不启用闪回日志,当出现故障转移时,你将需要完全重新开始创建一个备库。SQL*NET 配置在创建备库前,要确认两台服务器的数据库之间能通信,如果我们要用 RMAN 的duplicate from active database 命令创建备库的话。我们需要配置监听和 TNS 名。你可以手动配置,也可以使用网络配置工具(netca)。我更喜欢手动配置,因为我比较老派,并且这些配置文件又不复杂,首先需要配置主备库的监听。虽然数据库会自动注册监听,但如果要使用 RMAN 的duplicate 命令创建备库,备库必须首先处于 NOMOUNT 状态。在 NOMOUNT 状态下,数据库实例不会自动注册监听,你

11、必须配置静态监听。另外必须要注意的一点是,NOMOUNT 状态下的数据库必须使用专用模式(dedicated server)连接。两台服务器上的 TNS 名字文件必须配置好,让主备库能用 LOG_ARCHIVE_DEST_N 和FAL_SERVER 参数(稍后会介绍这些参数)中的服务名(Service Names)找到对方。具体配置应类似下例。主库(dev-db1)的监听配置:SID_LIST_LISTENER=(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = JED)(ORACLE_HOME = /oracle/product/11.2.0)(SID_NAME =

12、 JED)备库(dev-db2)的的监听配置:SID_LIST_LISTENER=(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = JED2)(ORACLE_HOME = /oracle/product/11.2.0)(SID_NAME = JED2)主库的 TNS 名字文件配置:JED2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = dev-db2)(PORT = 1521)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = JED2)备库的 TNS 名字文件配

13、置:JED =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = dev-db1)(PORT = 1521)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = JED)重做日志传输配置现在主备库之间依旧可以互相通信了,下一步是配置归档位置和重做日志传输。我们将先在主库上进行配置,然后等备库创建好后,修改备库的配置。配置归档位置:SQL alter system set log_archive_dest_1 = location=use_db_recovery_file_dest valid_for=

14、(all_logfiles, all_roles) db_unique_name=JED;这个命令指定快速恢复区作为归档位置,此归档位置用于在所有数据库角色下归档所有的日志文件。官方文档里说使用 valid_for=(online_logfiles, all_roles),这将导致备库无法归档备用日志文件,因为它们不是在线日志。但如果使用 all_logfiles 选项,主备库将都能归档在线以及备用日志。如果你想在备库进行备份,并同时备份归档日志的话,必须使用all_logfiles。然后配置重做日志传输到备库:SQL alter system set log_archive_dest_2 =

15、 service=JED2 async valid_for=(online_logfile,primary_role) db_unique_name=JED2;这条语句说,如果这是主库,就使用服务名 JED2 传输在线日志,目标库名叫 JED2。要注意STANDBY_ARCHIVE_DEST 参数不需要,已经被官方弃用。当调试时,不少人好心建议我设置此参数,但设置此参数后启动数据库,只会报 ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance 错。另一个要设置的参数是 FAL_SERVER。这个参

16、数指定当日志传输出现问题时,备库到哪里去找缺少的归档日志。它用在备库接收的到的重做日志间有缺口的时候。这种情况会发生在日志传输出现中断时,比如你需要对备库进行维护操作。在备库维护期间,没有日志传输过来,这时缺口就出现了。设置了这个参数,备库就会主动去寻找那些缺少的日志,并要求主库进行传输。SQL alter system set fal_server = JED2;注意 FAL_CLIENT 参数在 11g 里已经弃用。然后我们要让主库知道 Data Guard 配置里的另外一个库的名字:SQL alter system set log_archive_config = dg_config=(JED,JED2);这一步做完后,我们就可以准备好备库的环境,并开始创建备库了。备库环境准备现在开始准备备库环境。有很多种方法来执行这些步骤。我这里写的是我觉得最适合我的方法。你应该实验多种方法,看哪种比较适合你。首先,我们要为备库创建密码文件和参数文件(spfile)。密码文件可以直接

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号