oracle数据库主从切换vns,Oracle 11g DataGuard主备切换

Oracle 11g DataGuard主备切换

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>

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值