实验环境
|
Clusterware |
11g R2 Grid Infrastructure (11.2.0.4) |
11g R2 Grid Infrastructure (11.2.0.4) |
|
Cluster Nodes |
RAC1, RAC2 (2-node RAC) |
standby1, standby2 (2-node RAC) |
|
SCAN listener Host/port |
SCAN VIPs (port 1521) |
SCAN VIPs (port 1521) |
|
VIPs |
RAC1-vip,RAC2-vip |
standby1-vip, standby2-vip |
|
DB_UNIQUE_NAME |
ORCL |
standby |
|
DB_NAME |
ORCL |
ORCL |
|
DB Instances |
ORCL1, ORCL2 |
ORCL1, ORCL2 |
|
DB Listener Host/port |
RAC1-vip, RAC2-vip (port 1521) |
standby1-vip, standby2-vip (port 1521) |
|
DB STORAGE |
ASM |
ASM |
|
ASM diskgroup for DB files |
+DATA,+ARCH |
+DATA02,+ARCH02 |
在主库上abort
[oracle@rac1 ~]$ srvctl stop database -d orcl -o abort
在备库的任意一个节点
[oracle@standby1 dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Fri Oct 19 14:57:23 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL>
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> alter database recover managed standby database finish;
Database altered.
SQL> select open_mode,database_role,switchover_status from v$database;
OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
-------------------- ---------------- --------------------
READ ONLY PHYSICAL STANDBY TO PRIMARY
SQL> alter database commit to switchover to primary;
Database altered
SQL> select open_mode,database_role,switchover_status from gv$database;
OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
-------------------- ---------------- --------------------
MOUNTED PRIMARY NOT ALLOWED
MOUNTED PRIMARY NOT ALLOWED
SQL> alter database open;
Database altered.
查看新主库的scn好,以便闪回只用
SQL> select to_char(standby_became_primary_scn) from v$database;
TO_CHAR(STANDBY_BECAME_PRIMARY_SCN)
----------------------------------------
2221281
.
在原来的主库上一个节点启动实例到mount
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
SQL> flashback database to scn 2221281;
Flashback complete.
SQL> alter database convert to physical standby;
Database altered.
(不能两个实例都启动到mount,不然会报错,报错如下
SQL> alter database convert to physical standby;
alter database convert to physical standby
*
ERROR at line 1:
ORA-01105: mount is incompatible with mounts by other instances)
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
启动数据库
[oracle@rac1 ~]$ srvctl start database -d orcl
将数据库启动到恢复模式
SQL> alter database recover managed standby database using current logfile disconnect from session;
Database altered.
SQL> select open_mode,database_role,switchover_status from gv$database;
OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
-------------------- ---------------- --------------------
READ ONLY WITH APPLY PHYSICAL STANDBY NOT ALLOWED
READ ONLY WITH APPLY PHYSICAL STANDBY NOT ALLOW
本文详细记录了在 Oracle RAC 环境下,如何通过abort方式停止主库,随后在备库上执行数据库角色切换为Primary的操作流程。在完成切换后,文章进一步介绍了如何在原主库上执行闪回操作,并最终恢复其作为备库的角色,确保集群的正常运行。
777

被折叠的 条评论
为什么被折叠?



