天天斗牛,天天斗牛腾讯游戏平台

IT技术互动交流平台

oracle 11g dataguard主备切换

作者:一起走过的日子  来源:IT165收集  发布日期:2016-11-24 21:07:55

1.检查主备的环境

dg1节点:

天天斗牛,天天斗牛腾讯游戏平台SQL> archive log list;

Database log mode            Archive Mode

Automatic archival            Enabled

Archive destination           /u01/oradata/tong/archive

Oldest online log sequence      59

天天斗牛,天天斗牛腾讯游戏平台Next log sequence to archive     61

天天斗牛,天天斗牛腾讯游戏平台Current log sequence           61

SQL> 


dg2节点:

天天斗牛,天天斗牛腾讯游戏平台SQL> archive log list;

天天斗牛,天天斗牛腾讯游戏平台Database log mode            Archive Mode

天天斗牛,天天斗牛腾讯游戏平台Automatic archival            Enabled

Archive destination           /u01/oradata/tong/archive

Oldest online log sequence      60

Next log sequence to archive     0

Current log sequence          61

天天斗牛,天天斗牛腾讯游戏平台SQL> 


2.查看主备的角色

dg1节点(primary角色):

SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS    DATABASE_ROLE

-------------------- ----------------

天天斗牛,天天斗牛腾讯游戏平台TO STANDBY           PRIMARY

SQL> 


天天斗牛,天天斗牛腾讯游戏平台dg2节点(standby角色):

天天斗牛,天天斗牛腾讯游戏平台SQL> select switchover_status,database_role from v$database;

天天斗牛,天天斗牛腾讯游戏平台SWITCHOVER_STATUS    DATABASE_ROLE

-------------------- ----------------

NOT ALLOWED          PHYSICAL STANDBY

SQL> 


3.在主库上执行切换命令(primary节点)

天天斗牛,天天斗牛腾讯游戏平台SQL> alter database commit to switchover to physical standby; --将primary角色转换为standby角色

天天斗牛,天天斗牛腾讯游戏平台Database altered.

天天斗牛,天天斗牛腾讯游戏平台SQL> shutdown immediate              --关闭数据库,启动到mount状态

ORA-01507: database not mounted


天天斗牛,天天斗牛腾讯游戏平台ORACLE instance shut down.

SQL> startup mount


Total System Global Area  830930944 bytes

天天斗牛,天天斗牛腾讯游戏平台Fixed Size                  2217912 bytes

天天斗牛,天天斗牛腾讯游戏平台Variable Size             545261640 bytes

天天斗牛,天天斗牛腾讯游戏平台Database Buffers          281018368 bytes

Redo Buffers                2433024 bytes

Database mounted.

SQL> select switchover_status,database_role from v$database;     --查看目前primary角色的状态

天天斗牛,天天斗牛腾讯游戏平台SWITCHOVER_STATUS    DATABASE_ROLE

-------------------- ----------------

TO PRIMARY           PHYSICAL STANDBY

SQL> 


天天斗牛,天天斗牛腾讯游戏平台4.在备库上执行(standby节点)

SQL> select switchover_status,database_role from v$database;     --查看standby备库角色的状态

天天斗牛,天天斗牛腾讯游戏平台SWITCHOVER_STATUS    DATABASE_ROLE

-------------------- ----------------

天天斗牛,天天斗牛腾讯游戏平台TO PRIMARY           PHYSICAL STANDBY

SQL> alter database commit to switchover to primary;       --将备库的角色修改为primary

Database altered.

SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS    DATABASE_ROLE

天天斗牛,天天斗牛腾讯游戏平台-------------------- ----------------

天天斗牛,天天斗牛腾讯游戏平台NOT ALLOWED          PRIMARY

SQL> alter database open;          --打开数据库

Database altered.

SQL> 


5.在备库上执行(standby节点)

SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS    DATABASE_ROLE

-------------------- ----------------

RECOVERY NEEDED      PHYSICAL STANDBY

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;      --修改以前主库为日志应用

Database altered. 

天天斗牛,天天斗牛腾讯游戏平台SQL> 


天天斗牛,天天斗牛腾讯游戏平台6.测试主备节点是否切换成功

dg2节点(primary角色):

天天斗牛,天天斗牛腾讯游戏平台SQL> select * from tt;

  A

----------

  1

  3

  4

  5

  6

  7

6 rows selected.

天天斗牛,天天斗牛腾讯游戏平台SQL> insert into tt values(8);

1 row created.

天天斗牛,天天斗牛腾讯游戏平台SQL> commit;

Commit complete.

SQL> select * from tt where a=8;

  A

----------

  8

天天斗牛,天天斗牛腾讯游戏平台SQL> alter system switch logfile;

天天斗牛,天天斗牛腾讯游戏平台System altered.

SQL> /

System altered.

天天斗牛,天天斗牛腾讯游戏平台SQL> archive log list;

Database log mode         Archive Mode

天天斗牛,天天斗牛腾讯游戏平台Automatic archival         Enabled

天天斗牛,天天斗牛腾讯游戏平台Archive destination        /u01/oradata/tong/archive

天天斗牛,天天斗牛腾讯游戏平台Oldest online log sequence    78

Next log sequence to archive   80

Current log sequence         80

SQL> 


天天斗牛,天天斗牛腾讯游戏平台dg1节点(standby角色):

SQL> archive log list;

天天斗牛,天天斗牛腾讯游戏平台Database log mode         Archive Mode

天天斗牛,天天斗牛腾讯游戏平台Automatic archival         Enabled

Archive destination        /u01/oradata/tong/archive

Oldest online log sequence    79

Next log sequence to archive   0

Current log sequence         80

天天斗牛,天天斗牛腾讯游戏平台SQL> alter database  recover managed standby database cancel;  

Database altered.

SQL> alter database open read only;

天天斗牛,天天斗牛腾讯游戏平台Database altered.

SQL> select * from tt;

   A

----------

    1

天天斗牛,天天斗牛腾讯游戏平台    3

    4

    5

天天斗牛,天天斗牛腾讯游戏平台    6

天天斗牛,天天斗牛腾讯游戏平台    7

    8

7 rows selected.

天天斗牛,天天斗牛腾讯游戏平台SQL> 


Tag标签:         
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规