ITPub博客

首页 > 数据库 > Oracle > 物理DataGurad switchover实战

物理DataGurad switchover实战

原创 Oracle 作者:muxinqing 时间:2015-05-16 16:01:25 1 删除 编辑

在主库执行
[oracle@mxq ~]$ sqlplus / as sysdba

SQL> select max(SEQUENCE#),applied from v$archived_log group by applied;

MAX(SEQUENCE#) APPLIED
-------------- ---------
            87 NOswitchover
            89 YES

备库上面执行
[oracle@mxqdg ~]$ sqlplus / as sysdba

SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE    SWITCHOVER_STATUS
---------------- --------------------
PRIMARY          TO STANDBY

SQL> select max(SEQUENCE#),applied from v$archived_log group by applied;

MAX(SEQUENCE#) APPLIED
-------------- ---------
            89 NO
            89 YES

主库和备库序列号都是89:YES 说明已经同步完成

在主库执行
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;

Database altered.

SQL> shutdown immediate;
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL> startup mount;
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist
SQL> exit

[oracle@mxqdg ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Sat May 16 07:41:05 2015

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount;
ORACLE instance started.

Total System Global Area  521936896 bytes
Fixed Size                  2228072 bytes
Variable Size             159383704 bytes
Database Buffers          352321536 bytes
Redo Buffers                8003584 bytes
Database mounted.
SQL> alter database recover managed standby database disconnect from session;

Database altered.

SQL> select DATABASE_ROLE,open_mode from v$database;

DATABASE_ROLE    OPEN_MODE
---------------- --------------------
PHYSICAL STANDBY MOUNTED

SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE    SWITCHOVER_STATUS
---------------- --------------------
PHYSICAL STANDBY NOT ALLOWED        
            

在备库执行            
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

Database altered.

SQL> select DATABASE_ROLE,open_mode from v$database;

DATABASE_ROLE    OPEN_MODE
---------------- --------------------
PRIMARY          MOUNTED

SQL> alter database open;

Database altered.

SQL> select DATABASE_ROLE,open_mode from v$database;

DATABASE_ROLE    OPEN_MODE
---------------- --------------------
PRIMARY          READ WRITE

SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE    SWITCHOVER_STATUS
---------------- --------------------
PRIMARY          TO STANDBY

SQL> select process,pid,status,thread#,sequence# from v$managed_standby;

PROCESS          PID STATUS          THREAD#  SEQUENCE#
--------- ---------- ------------ ---------- ----------
ARCH            3345 CLOSING               1         89
ARCH            3347 CLOSING               1         92
ARCH            3349 CLOSING               1         92
ARCH            3351 CLOSING               1         93
LNS             7786 WRITING               1         94

上面进程已经说明网络是正常


在备库执行
SQL> select process,pid,status,thread#,sequence# from v$managed_standby;

PROCESS          PID STATUS          THREAD#  SEQUENCE#
--------- ---------- ------------ ---------- ----------
ARCH            6975 CLOSING               1         93
ARCH            6977 CONNECTED             0          0
ARCH            6979 CONNECTED             0          0
ARCH            6981 CLOSING               1         92
MRP0            6984 WAIT_FOR_LOG          1         94
RFS             6999 IDLE                  0          0
RFS             6997 IDLE                  1         94
RFS             7001 IDLE                  0          0

应用进程已经起来两边日志序列号都是94已经正常同步

8 rows selected.

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database open read only;

Database altered.

SQL> alter database recover managed standby database using current logfile disconnect;

Database altered.

在主库执行

SQL> create table mxq(a varchar2(2),b date);

Table created.
SQL> insert into mxq values(1,sysdate);  

1 row created.

SQL> commit;

Commit complete.

在备库执行

SQL> select * from mxq;

A  B
-- ------------
1  16-MAY-15

SQL>

 --------complete-----------














































































































来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29065182/viewspace-1657559/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-14

  • 博文量
    143
  • 访问量
    1248173