OCM_Session8_3_RoleTransitionsInvolvingPhysicalStandbyDatabases(二)

2014-11-24 09:21:34 · 作者: · 浏览: 1
m/cd/B19306_01/server.102/b14239/role_management.htm#i1033702
Step 1 Verify it is possible to perform a switchover.
SYS@ PROD>select database_role,switchover_status from v$database;
DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- PRIMARY TO STANDBY


SYS@ PRODSTD>select database_role,switchover_status from v$database;
DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- PHYSICAL STANDBY SESSIONS ACTIVE
Step 2 Initiate the switchover on the primary database.
SYS@ PROD> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
Database altered.

Step 3 Shut down and restart the former primary instance. SYS@ PROD> SHUTDOWN IMMEDIATE; ORA-01507: database not mounted

ORACLE instance shut down. SYS@ PROD> STARTUP MOUNT; ORACLE instance started.
Total System Global Area 524288000 bytes Fixed Size 1220360 bytes Variable Size 176161016 bytes Database Buffers 343932928 bytes Redo Buffers 2973696 bytes Database mounted.
Step 4 Verify the switchover status in the V$DATABASE view.
SYS@ PROD> select database_role,switchover_status from v$database;
DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- PHYSICAL STANDBY TO PRIMARY
SYS@ PRODSTD>select database_role,switchover_status from v$database;
DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- PHYSICAL STANDBY TO PRIMARY
Step 5 Switch the target physical standby database role to the primary role.
SYS@ PRODSTD> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
Database altered.
此命令成功的条件是没有任何其他的会话连接到主库,如有可以使用如下命令: ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN ;
Step 6 Finish the transition of the standby database to the primary role. SYS@ PRODSTD> ALTER DATABASE OPEN;
Database altered.
Step 7 If necessary, restart log apply services on the standby databases.
SYS@PROD> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT from session parallel 2;
Database altered.
SYS@ PROD>SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME,applied from v$archived_log;
SEQUENCE# FIRST_TIM NEXT_TIME APP ---------- --------- --------- --- 17 25-MAR-14 25-MAR-14 YES 17 25-MAR-14 25-MAR-14 YES 18 25-MAR-14 25-MAR-14 YES 18 25-MAR-14 25-MAR-14 NO 19 25-MAR-14 25-MAR-14 YES 19 25-MAR-14 25-MAR-14 NO 20 25-MAR-14 25-MAR-14 YES 20 25-MAR-14 25-MAR-14 NO 21 25-MAR-14 25-MAR-14 YES
26 rows selected.
SYS@PROD>

SYS@ PRODSTD>SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME,applied from v$archived_log;
SEQUENCE# FIRST_TIM NEXT_TIME APP ---------- --------- --------- --- 17 25-MAR-14 25-MAR-14 YES 18 25-MAR-14 25-MAR-14 YES 19 25-MAR-14 25-MAR-14 YES 20 25-MAR-14 25-MAR-14 YES 21 25-MAR-14 25-MAR-14 NO 21 25-MAR-14 25-MAR-14 YES
12 rows selected.


Step 8 Begin sending redo data to the standby databases.
SYS@PRODSTD> ALTER SYSTEM SWITCH LOGFILE;
System altered.
############################################################################################ tail -f alert_PROD.log
Tue Mar 25 13:01:50 2014 Primary database is in MAXIMUM PERFORMANCE mode RFS[2]: Successfully opened standby log 7: '/u01/app/oracle/oradata/PROD/Disk1/standby07.log' Tue Mar 25 13:01:51 2014 Media Recovery Log /u01/app/oracle/oradata/PROD/Disk2/arch/1_22_842523531.arc Media Recovery Waiting for thread 1 sequence 23 (in transit)
tail -f alert_PRODSTD.log
Tue Mar 25 13:01:49 2014 Thread 1 advanced to log sequence 23