配置dgmgrl

来源:互联网 发布:视觉盲点 知乎 编辑:程序博客网 时间:2024/05/22 06:57

原文地址:http://blog.csdn.net/wll_1017/article/details/9794203


一、修改dg_broker 为true

SQL> show parameter dg_broker_start

NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
dg_broker_start        boolean  FALSE
SQL> alter system set dg_broker_start=true;

System altered.

SQL> show parameter dg_broker_start

NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
dg_broker_start        boolean  TRUE

 

主库:

SQL> show parameter dg

NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1       string  /u01/app/Oracle/product/11.2.0
       /dbhome_1/dbs/dr1rac.dat
dg_broker_config_file2       string  /u01/app/oracle/product/11.2.0
       /dbhome_1/dbs/dr2rac.dat
dg_broker_start        boolean  TRUE

 

并且使用spfile起库


在主库创建连接到主库:
DGMGRL> connect
Username: sys
Password:
Connected.

创建配置:
DGMGRL> create configuration 'dg_rac' as primary database is 'rac' connect identifier is 'rac';
Configuration "dg_rac" created with primary database "rac"

create configuration '随意起名' as primary database is 'db_unique_name' connect identifier is 'tnsname.ora里连接主库';

 

查看配置信息:
DGMGRL> show configuration
Configuration - dg_rac
  Protection Mode: MaxPerformance
  Databases:
    rac - Primary database
Fast-Start Failover: DISABLED
Configuration Status:
DISABLED

添加备库到配置信息:
DGMGRL> add database 'orcl' as connect identifier is 'orcl' maintained as physical;
Database "orcl" added

add database 'db_unique_name' as connect identifier is 'tnsname.ora连接备库' maintained as physical;


查看配置信息:
DGMGRL> show configuration
Configuration - dg_rac
  Protection Mode: MaxPerformance
  Databases:
    rac  - Primary database
    orcl - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
DISABLED

 

开启配置信息:
DGMGRL> enable configuration;
Enabled.


DGMGRL> show configuration
Configuration - dg_rac
  Protection Mode: MaxPerformance
  Databases:
    rac  - Primary database
    orcl - Physical standby database (disabled)          ---有点问题
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS

 

DGMGRL> remove database orcl
Removed database "orcl" from the configuration


DGMGRL> show configuration
Configuration - dg_rac
  Protection Mode: MaxPerformance
  Databases:
    rac - Primary database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS


DGMGRL> show configuration
Configuration - rac_dg
  Protection Mode: MaxPerformance
  Databases:
    rac  - Primary database
    orcl - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
ORA-16610: command "ENABLE DATABASE rac" in progress
DGM-17017: unable to determine configuration status


DGMGRL> enable database rac;

DGMGRL> show configuration
Configuration - rac_dg
  Protection Mode: MaxPerformance
  Databases:
    rac  - Primary database
      Warning: ORA-16532: Data Guard broker configuration does not exist
    
orcl - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
WARNING

最后找到问题的关键原因是:dg_broker_config_file1   /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr1rac.dat 文件不共享

 

DGMGRL> remove configuration;


SQL> alter system set dg_broker_config_file1='+data/rac/dr1rac.dat' scope=both sid='*';
alter system set dg_broker_config_file1='+data/rac/dr1rac.dat' scope=both sid='*'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16573: attempt to change or access configuration file for an enabled broker
configuration

 


SQL> alter system set dg_broker_start=false scope=both sid='*';

System altered.

SQL> show parameter dg_broker_start

NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
dg_broker_start        boolean  FALSE


SQL> alter system set dg_broker_config_file1='+data/rac/dr1rac.dat' sid='*';

System altered.

SQL> alter system set dg_broker_config_file2='+data/rac/dr2rac.dat' sid='*';

System altered.

SQL> alter system set dg_broker_start=true scope=both sid='*';

System altered.

SQL> show parameter dg

NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1       string  +data/rac/dr1rac.dat
dg_broker_config_file2       string  +data/rac/dr2rac.dat
dg_broker_start        boolean  TRUE
SQL>

DGMGRL> create configuration 'dg_rac' as primary database is 'rac' connect identifier is 'rac';
Configuration "dg_rac" created with primary database "rac"
DGMGRL> add database 'orcl' as connect identifier is 'orcl' maintained as physical;

DGMGRL> show  configuration
Configuration - dg_rac
  Protection Mode: MaxPerformance
  Databases:
    rac  - Primary database
    orcl - Physical standby database (disabled)
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS


DGMGRL> enable database orcl
Enabled.
DGMGRL> show configuration

Configuration - dg_rac

  Protection Mode: MaxPerformance
  Databases:
    rac  - Primary database
    orcl - Physical standby database (disabled)    ---出现问题的原因是 需要恢复日志一下

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

 

 

备库:
SQL> recover managed standby database disconnect from session;
Media recovery complete.
SQL> recover  managed standby database cancel;
Media recovery complete.

主库:

DGMGRL> show configuration

Configuration - dg_rac

  Protection Mode: MaxPerformance
  Databases:
    rac  - Primary database
    orcl - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

 


DGMGRL> switchover to orcl
Performing switchover NOW, please wait...
New primary database "orcl" is opening...
Operation requires shutdown of instance "rac2" on database "rac"
Shutting down instance "rac2"...
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "rac2" on database "rac"
Starting instance "rac2"...
Unable to connect to database
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

Failed.
Warning: You are no longer connected to ORACLE.

Please complete the following steps to finish switchover:
 start up and mount instance "rac2" of database "rac"

 

主库和备库切换后,主库自动关闭,备库变成primary,处于open状态,但是之前连接的sesion全部断开,必须重新连接。

 

主库和备库切换状态后,查询状态:

SQL> select database_role from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY