前言
笔者前文已介绍了ORACLE DG的成员身份与数据保护模式等相关理论知识,从本文开始,将进入ORACLE DG理论与实践相结合模式,深入理解ORACLE DG的内在原理与基本运维技能。本文讲述如何使用rman恢复方式搭建ORACLE DG物理备库—physical standby。
部署前规划
oracle DG要求主备数据库的DB_NAME相同,db_unique_name不同,DG根据db_unique_name区分主备库。根据此要求,规划DG主备如下表所示,
primary db |
standby db |
|
IP |
99.12.98.194 |
55.14.17.100 |
hostname |
t24app1sg |
mqserver02n |
db_name |
T24APDB |
T24APDB |
db_unique_name |
T24APDB |
T24APDBDG |
附加说明:
- 主库
- 备库
安装oracle软件后使用dbca创建一个空的oracle实例。数据库名与主库保持相同,建议datafile路径、快速恢复区路径也保持与主库相同,不相同也行,只是后续需要进行文件名转换。
主库端配置
开启主库归档模式
此操作详细步骤从略,以下只列出可能用到的操作SQL语句。
- 检查数据库归档模式
SQL> archive log list;
- 开启归档模式(此操作需要数据库处于mount---12c)
SQL> alter database archivelog;
开启db的强制写日志模式
oracle有些DDL(如create table)支持NOLOGGING子句,即建表时不会产生重做日志,由于物理备库是应用主库的重做日志而来,所以主库必须打开FORCE LOGGING模式。
- 检查FORCE LOGGING状态
SQL> select force_logging from v$database;
FORCE_LOGGING
---------------------------------------
NO
- 打开force logging
SQL> ALTER DATABASE FORCE LOGGING;
- 再次检查force logging模式
SQL> select force_logging from v$database;
补充:
- 关闭force logging模式
SQL> ALTER DATABASE NO FORCE LOGGING;
配置监听和tnsname
正常情况下primary db应该是已经正常配置了监听,无需重复配置,只需查看监听状态,确认能通过监听连接到实例上。
- 查看监听状态
$ lsnrctl status
Service "T24APDB " has 1 instance(s).
Instance "T24APDB", status READY, has 1 handler(s) for this service...
说明:此服务下有对应的instance,状态为ready,表示动态监听。主库由于一直正常使用,可以是动态监听。
- 配置tns连接串(tnsnames.ora)
1. 增加到主库自身的连接串(可用于客户端访问)。