【Data guard】Switchover切换
(1)查看主库状态
SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;
DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------------- -------------------- ---------------- --------------------
bhtcdbREAD WRITE PRIMARY TO STANDBY
(2)主库执行切换命令
SQL> alter database commit to switchover to physical standby with session shutdown wait;
Database altered.
(2)重启主库角色变为备库(mount状态)
SQL> startup mount;
ORACLE instance started.
Total System Global Area 1.3429E+10 bytes
Fixed Size 2265944 bytes
Variable Size 6878661800 bytes
Database Buffers 6543114240 bytes
Redo Buffers 4612096 bytes
Database mounted.
(4)查看主库状态
SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;
DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------------- -------------------- ---------------- --------------------
BhtcdbMOUNTED PHYSICAL STANDBYRECOVERY NEEDED
2.备库切换成主库(B机)
(1)查看备库状态
SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;
DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------------- -------------------- ---------------- --------------------
bhtcdgMOUNTED PHYSICAL STANDBYTO PRIMARY
(2)将备库切换成主库
SQL> alter database commit to switchover to primary with session shutdownwait;
Database altered.
(3)查看备库状态
SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;
DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------------- -------------------- ---------------- --------------------
bhtcdgMOUNTED PRIMARY NOT ALLOWED
(4)开启
SQL> alter database open;
Database altered.
SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;
DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STAT
--------------- ---------- ---------------- ---------------
bhtcdg READ WRITE PRIMARY RESOLVABLE GAP
3.打开数据库(A机)
SQL> alter database open read only;
4.应用日志(A机)
SQL> alter database recover managed standby database using current logfile disconnect from session;
3.验证数据
(1)在新主库创建用户(B机)
SQL> create user test1 identified by test1;
SQL> commit;
SQL> alter system switch logfile;
System altered.
(2)在新备库查看(A机)
SQL> select username from dba_users where username='TEST1';
USERNAME
------------------------------
TEST1
4.切换回最初的状态
(1) 新主库操作(B机)
SQL> alter database commit to switchover to physical standby with session shutdown;
Database altered.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 1.3429E+10 bytes
Fixed Size 2265944 bytes
Variable Size 6878661800 bytes
Database Buffers 6543114240 bytes
Redo Buffers 4612096 bytes
Database mounted.
(2)新备库操作(A机)
SQL> alter database commit to switchover to primary with session shutdown;
Database altered.
SQL> alter database open;
Database altered.
SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;
DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------------- -------------------- ---------------- --------------------
bhtcdb READ WRITE PRIMARYRESOLVABLE GAP
(3)B机操作
SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;
DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
-------------------- -------------------- ---------------- --------------------
bhtcdgMOUNTED PHYSICAL STANDBY NOT ALLOWED
(4)打开备库开启实时同步
SQL> alter database open read only;
Database altered.
SQL> alter database recover managed standby database using current logfile disconnect;
Database altered.
SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;
DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STAT
--------------- ---------- ---------------- ---------------
bhtcdg READ ONLY PHYSICAL STANDBY NOT ALLOWED
WITH APPLY
(5)再次查看A机
SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;
DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------------- -------------------- ---------------- --------------------
bhtcdbREAD WRITE PRIMARY TO STANDBY
此时,已经切换回最初的状态
(6)备库查看日志应用情况
SQL> select sequence#,applied from v$archived_log;
SEQUENCE# APPLIED
---------- ---------
8 YES
7 YES
9 YES
10 YES
11 YES
12 YES
13 YES
13 YES
14 YES
14 YES
15 YES
SEQUENCE# APPLIED
---------- ---------
15 YES
16 YES
16 YES
17 YES
17 NO
18 YES
19 YES
20 YES
21 IN-MEMORY
---------- end ----------
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。