Oracle 11g Dataguard 物理备库配置系列文档

 

Oracle 11g Dataguard 配置学习小结

1. 主库broker配置

1) 查询switchover状态

SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE    SWITCHOVER_STATUS

---------------- --------------------
PRIMARY          TO STANDBY

2) 查询dg_broker_start参数

SQL> show parameter dg_broker_start;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------
dg_broker_start                      boolean     FALSE

SQL> alter system set dg_broker_start = true;

 

3) listener文件中加入静态监听

$ cat /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora  

加入如下内容到

SID_LIST_LISTENER =

  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcl)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = orcl_DGB)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcl)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = orcl_DGMGRL)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcl)
    )
  )

说明:
# GLOBAL_DBNAME具有固定的格式:<db_unique_name>_DGMGRL.<db_domain>。
# 修改完成之后,必须重启监听程序。

重启监听

$ lsnrctl reload

查看监听状态

$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 17-8月 -2013 19:56:44

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.233.200)(PORT=1521)))

LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for Linux: Version 11.2.0.3.0 - Production
启动日期                  17-8月 -2013 19:05:06
正常运行时间              0 天 0 小时 51 分 38 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
监听程序日志文件          /u01/app/oracle/diag/tnslsnr/master/listener/alert/log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.233.200)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
服务摘要..
服务 "orcl" 包含 2 个实例。
  实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_DGB" 包含 1 个实例。
  实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl_DGMGRL" 包含 1 个实例。
  实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

2. 备库Broker配置

1) 查询switchover状态

SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE    SWITCHOVER_STATUS

---------------- --------------------
PHYSICAL STANDBY NOT ALLOWED

2) 查询dg_broker_start参数

SQL> show parameter dg_broker_start;

SQL> alter system set dg_broker_start = true;

3) listener文件中加入静态监听

$ cat /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora  

LISTENER =

  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.150)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =

  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = slave)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = slave)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = slave_DGMGRL)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = slave)
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

说明:
# GLOBAL_DBNAME具有固定的格式:<db_unique_name>_DGMGRL.<db_domain>。
# 修改完成之后,必须重启监听程序。

重启监听

$ lsnrctl reload

查看监听状态

$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 17-8月 -2013 19:55:04

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.233.150)(PORT=1521)))

LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for Linux: Version 11.2.0.3.0 - Production
启动日期                  17-8月 -2013 19:02:47
正常运行时间              0 天 0 小时 52 分 17 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
监听程序日志文件          /u01/app/oracle/diag/tnslsnr/slave/listener/alert/log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.233.150)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
服务摘要..
服务 "slave" 包含 2 个实例。
  实例 "slave", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
  实例 "slave", 状态 READY, 包含此服务的 1 个处理程序...
服务 "slave_DGMGRL" 包含 1 个实例。
  实例 "slave", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

3. broker主备切换配置配置(在主库上操作)

说明:dgmgrl可以安装到非主备库服务器上,因为但心主备库当掉,dgmgrl也当掉,无法对主备进行监控。

可以在第三方主机上安装oracle客户端,配置连接主备库的tnsname.ora服务器,即可远程启动dgmgrl进程。

1) 配置broker

$ dgmgrl sys/oracle

DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

欢迎使用 DGMGRL, 要获取有关信息请键入 "help"。

已连接。
DGMGRL> 
DGMGRL> create configuration DGORCLDB as primary database is orcl connect identifier is orcl;
已创建配置 "dgorcldb", 其中主数据库为 "orcl"

DGMGRL> add database slave as connect identifier is slave maintained as physical;

已添加数据库 "slave"

DGMGRL> enable configuration;

已启用。

2) 查看配置信息

DGMGRL> show configuration;

配置 - dgorcldb

  保护模式:        MaxPerformance

  数据库:
    orcl  - 主数据库
    slave - 物理备用数据库

快速启动故障转移: DISABLED

配置状态:

SUCCESS

3) 查看主数据库信息

DGMGRL> show database orcl

数据库 - orcl

  角色:            PRIMARY

  预期状态:        TRANSPORT-ON
  实例:
    orcl

数据库状态:

SUCCESS

4) 查看备库信息

DGMGRL> show database slave

数据库 - slave

  角色:            PHYSICAL STANDBY

  预期状态:        APPLY-ON
  传输滞后:        0 秒
  应用滞后:        0 秒
  实时查询:        OFF
  实例:
    slave

数据库状态:

SUCCESS