一、环境介绍:

      本实验是在虚拟机上完成的,primary数据库和standby数据库位于同一台主机。本人是初学者,为了看起来方便,所以primary的实例名就是primary,standby的实例名就是standby。其中有些术语因时间关系没有详细列出来解释,请参考官方文档。

     本文包含了三大块:

     1、primary数据库的准备工作。

     2、standby数据库的创建。

     3、Data Guard Broker的配置使用。

二、primary数据库的准备工作:

1、启用force logging模式:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第1张图片

2、创建standby数据库redo文件:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第2张图片

3、设置primary数据库的初始化参数:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第3张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第4张图片

p_w_picpath

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第5张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第6张图片

4、确保数据库已处于归档模式:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第7张图片

三、创建standby数据库:

1、编辑tnsnames.ora文件,将standby实例加进去:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第8张图片

2、编辑listener.ora文件,将standby静态注册进去:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第9张图片

3、重启监听:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第10张图片

4、创建standby数据库的密码文件:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第11张图片

由于这里的standby与primary在同一台主机上,所以就直接复制了。

5、创建standby的初始化参数文件:

p_w_picpath

6、创建相应的目录:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第12张图片

7、创建standby数据文件存放位置:

p_w_picpath

8、使用standby pfile启动至nomount状态:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第13张图片

9、使用rman以auxiliary方式连接standby数据库:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第14张图片

10、在rman中使用duplicate方式创建standby数据库:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第15张图片

详细的过程会以附件的形式存在末尾。

11、在primary上执行日志切换:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第16张图片

12、在standby上启用managed recovery process:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第17张图片

13、在standby上查询已经存在的归档日志:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第18张图片

在主库上多切换几次,然后在standby上查看归档日志信息:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第19张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第20张图片

四、后续管理:

1、验证primary和standby的状态:

primary和standby在同一时刻只有一个处于open状态,其他的都是mount状态:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第21张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第22张图片

2、standby和primary担任的角色查询:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第23张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第24张图片

3、switchover的状态查询:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第25张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第26张图片

五、dataguard_broker的配置:

1、standby上查询参数dg_broker_start参数的值:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第27张图片

2、在standby上启用dg_broker_start:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第28张图片

3、编辑listener.ora文件:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第29张图片

(SID_DESC =
                (GLOBAL_DBNAME = standby_DGMGRL.xzxj.edu.cn)
                (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
                (SID_NAME = standby)

)

这些内容是新添加的,其中的GLOBAL_DBNAME具有固定的格式:_DGMGRL.。具体含义请参考官方文档。完成之后,必须重启监听程序。重启后查询监听状态会多出一个实例,如图所示:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第30张图片

其中的standby_DGMGRL.xzxj.edu.cn就是刚才添加的。

4、在primary主库启用dg_broker_start:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第31张图片

然后编辑listener.ora文件,加入以下内容:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第32张图片

由于我的primary和standby在同一台机器上,所以一次编辑listener.ora文件,将其编辑好。完了之后,一定要重启监听,否则在后续操作中会产生意想不到的错误。

5、运行dgmgrl命令,创建配置信息,这个在primary节点上操作:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第33张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第34张图片

接着增加standby数据库:

p_w_picpath

启用刚才创建的配置信息:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第35张图片

6、做switchover切换:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第36张图片

ok,到此切换成功。可以使用sql验证下各个数据库的角色。

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第37张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第38张图片

7、在做日志切换操作:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第39张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第40张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第41张图片

8、再做switchover切换回来:

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第42张图片

Oracle DataGuard 11gR2 之Physical Standby Database的创建_第43张图片

ok,整个DataGuard配置切换过程到此结束,后续会增加基于ASM的DataGuard配置以及更详细的有关DataGuard高级应用的文章,欢迎来拍砖大笑

参考文献:

        1、Data Guard Broker

        2、Data Guard Concepts and Administration