当前状态是dg1为主库,备库为dg2
先检查主备库状态:
dg1SQL> select name,database_role,OPEN_MODE,SWITCHOVER_STATUS from v$database;
DATABASE_ROLE OPEN_MODE SWITCHOVER_STATUS
---------------- ---------- --------------------
PRIMARY READ WRITE SESSIONS ACTIVEdg2SQL> select database_role,OPEN_MODE,SWITCHOVER_STATUS from v$database;
DATABASE_ROLE OPEN_MODE SWITCHOVER_STATUS
---------------- ---------- --------------------
PHYSICAL STANDBY MOUNTED NOT ALLOWED现在dg1(当前主库)上操作以下步骤:SQL> alter database commit to switchover to physical standby with session shutdown;
Database altered.
SQL> shutdown immediate;
ORA-01507: database not mounted
Oracle instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 390070272 bytes
Fixed Size 2021024 bytes
Variable Size 150997344 bytes
Database Buffers 234881024 bytes
Redo Buffers 2170880 bytes
Database mounted.
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY现在dg2(当前备库)上操作以下步骤:SQL> select name,database_role,OPEN_MODE,SWITCHOVER_STATUS from v$database;
NAME DATABASE_ROLE OPEN_MODE SWITCHOVER_STATUS
--------- ---------------- ---------- --------------------
ORCLDB PHYSICAL STANDBY MOUNTED TO PRIMARY
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
SQL> alter database commit to switchover to primary;
Database altered.
SQL> alter database open;
Database altered.
SQL> select name,database_role,OPEN_MODE,SWITCHOVER_STATUS from v$database;
NAME DATABASE_ROLE OPEN_MODE SWITCHOVER_STATUS
--------- ---------------- ---------- --------------------
ORCLDB PRIMARY READ WRITE SESSIONS ACTIVE
以上的操作已经完成了主备的切换,现在dg2为主库,dg1为备库,接下来我们在现在的主库dg2上做几次日志变化,看dg1能否同步过来。
dg1上看已经归档的日志:
SQL> select registrar,creator thread#,sequence#,first_change#,next_change# from v$archived_log;
REGISTR THREAD# SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
------- ------- ---------- ------------- ------------
FGRD FGRD 29 586174 586196
dg2上经过几次日志切换,
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 36 52428800 1 NO CURRENT 586469 05-JAN-14
2 1 34 52428800 1 YES INACTIVE 586464 05-JAN-14
3 1 35 52428800 1 YES INACTIVE 586467 05-JAN-14可以看出现在日志已经到了36,那么我们在dg1上应用日志,应该会应用到日志35;
以下操作验证:SQL> alter database recover managed standby database disconnect from session;
Database altered.
SQL> select registrar,creator thread#,sequence#,first_change#,next_change# from v$archived_log;
REGISTR THREAD# SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
------- ------- ---------- ------------- ------------
RFS ARCH 34 586464 586467
RFS ARCH 35 586467 586469以上的主备切换过程就已经顺利进行完成。
推荐阅读:RedHat Linux 5 & CentOS 5下Oracle 10g安装详解 http://www.linuxidc.com/Linux/2013-08/88928.htmCentOS 6.3(x32)下安装Oracle 10g R2 http://www.linuxidc.com/Linux/2012-11/74253.htmLinux-6-64下安装Oracle 12C笔记 http://www.linuxidc.com/Linux/2013-07/86805.htmMySQL DATE_FORMATE函数内置字符集的坑Oracle 10g打补丁(p5490848_10202_LINUX)相关资讯 Oracle 10G R2
- Oracle 10g R2创建ASM实例Step By (05/16/2014 09:13:50)
- RHEL 5.8 安装Oracle 10g r2 (02/09/2014 20:09:14)
- CentOS 6.3(x86_64)下安装Oracle (01/15/2014 15:24:33)
| - Oracle 10g r2 安装clusterware (02/09/2014 20:11:37)
- CentOS 6.3(x86_32)下安装Oracle (01/15/2014 15:40:53)
- Red Hat Enterprise Linux AS 4.8 (08/13/2013 13:55:33)
|
本文评论 查看全部评论 (0)