当DG进行failover之后重新恢复DG(利用rman11gduplicate的ADG特性)(四)

2014-11-24 09:21:33 · 作者: · 浏览: 3
26-MAR-14

打开备库:

16:35:27 sys@felix SQL>alter databaseopen;

Database altered.

16:35:45 sys@felix SQL>select statusfrom v$instance;

STATUS

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

OPEN

16:36:32 sys@felix SQL>select open_modefrom v$database;

OPEN_MODE

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

READ ONLY

查看主库:

16:35:56 sys@felix SQL>select statusfrom v$instance;

STATUS

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

OPEN

16:36:13 sys@felix SQL>select open_modefrom v$database;

OPEN_MODE

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

READ WRITE

验证数据库

启动实时应用:

16:40:18 sys@felix SQL>alter databaserecover managed standby database using current logfile disconnect from session;

Database altered.

desc v$managed_standby;

Name Null Type

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

PROCESS VARCHAR2(9)

PID NUMBER

STATUS VARCHAR2(12)

CLIENT_PROCESS VARCHAR2(8)

CLIENT_PID VARCHAR2(40)

CLIENT_DBID VARCHAR2(40)

GROUP# VARCHAR2(40)

RESETLOG_ID NUMBER

THREAD# NUMBER

SEQUENCE# NUMBER

BLOCK# NUMBER

BLOCKS NUMBER

DELAY_MINS NUMBER

KNOWN_AGENTS NUMBER

ACTIVE_AGENTS NUMBER

sys@felix SQL>selectprocess,thread#,status from v$managed_standby;

PROCESS THREAD# STATUS

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

ARCH 1 CLOSING

ARCH 1 CLOSING

ARCH 0 CONNECTED

ARCH 1 CLOSING

RFS 0 IDLE

RFS 0 IDLE

RFS 0 IDLE

RFS 1 IDLE

MRP0 1 APPLYING_LOG

实时应用已经成功运行;

然后再主库进行日志切换:

16:54:57 sys@felix SQL>alter systemswitch logfile;

System altered.

16:55:15 sys@felix SQL>alter systemswitch logfile;

System altered.

查看主库日志最大序列:

SQL>select max(sequence#) from v$log;

MAX(SEQUENCE#)

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

14

再查看备库的最大序列:

SQL>select max(sequence#) from v$log;

MAX(SEQUENCE#)

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

14

说明已经同步成功

现在开始进行主备库切换:(切换到原来的主库)

启动备库到mount状态:

17:02:11 SQL>startup mount;

ORACLE instance started.

Total System Global Area 417546240 bytes

Fixed Size 2228944 bytes

Variable Size 322964784 bytes

Database Buffers 88080384 bytes

Redo Buffers 4272128 bytes

Database mounted.

17:02:33 SQL>select status from v$instance;

STATUS

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

MOUNTED

17:03:03 SQL>

主库再open状态:

16:55:20 sys@felix SQL>select statusfrom v$instance;

STATUS

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

OPEN

查看主库的switchover状态:

7:03:09 sys@felix SQL>selectswitchover_status from v$database;

SWITCHOVER_STATUS

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

TO STANDBY

执行切换命令:

17:05:14 sys@felix SQL>alter databasecommit to switchover to physical standby;

alter database commit to switchover tophysical standby

*

ERROR at line 1:

ORA-01093: ALTER DATABASE CLOSE onlypermitted with no sessions connected

17:07:36 sys@felix SQL>alter databasecommit to switchover to physical standby with session shutdown;

Database altered.

备库执行切换命令:

17:03:03 SQL>alter database commit to switchover to primary;

alter database commit to switchover toprimary

*

ERROR at line 1:

ORA-16139: media recovery required

启动mrp实时应用,进行media恢复;

17:15:02 SQL>alter database recover managed standby database using currentlogfile disconnect from session;

Database altered.

17:17:04 SQL>select switchover_status from v$database;

SWITCHOVER_STATUS

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

TO PRIMARY

17:17:40 SQL>alter database commit to switchover to primary;

Database altered.

验证:

(1)主库执行

17:20:51 SQL>select name,DATABASE_R