打开备库:
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