10g datagurad的一次switchover

来源:互联网 发布:以前流行的网络歌曲 编辑:程序博客网 时间:2024/06/05 08:19

查询主库的状态:

SQL>select switchover_status from v$database;

 

SWITCHOVER_STATUS

--------------------

SESSIONSACTIVE

 

更换主库的角色:

SQL>alter database commit to switchover to physical standby with session shutdown;

 

Database altered.

 

这时alter_log有以下信息,说明自动建立了standby log

standbyredo logfiles that match the primary database:

ALTERDATABASE ADD STANDBY LOGFILE 'srl1.f' SIZE 52428800;

ALTERDATABASE ADD STANDBY LOGFILE 'srl2.f' SIZE 52428800;

ALTERDATABASE ADD STANDBY LOGFILE 'srl3.f' SIZE 52428800;

ALTER DATABASE ADD STANDBY LOGFILE 'srl4.f' SIZE 52428800;

 

备库的switchover_status的状态从not allowed改成了to primary:

 

SQL>select switchover_status from v$database;

 

SWITCHOVER_STATUS

--------------------

NOTALLOWED

 

SQL>select switchover_status from v$database;

 

SWITCHOVER_STATUS

--------------------

TOPRIMARY

 

将备库改成主库:

SQL>ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

 

Database altered.

 

SQL>select switchover_status from v$database;

 

SWITCHOVER_STATUS

--------------------

TO STANDBY

 

SQL> select DATABASE_ROLE fromv$database;

 

DATABASE_ROLE

----------------

PRIMARY

 

测试一下,原来的主库已开始接收Log了。

SQL> alter system switchlogfile;

 

System altered.

 

新主库的alert_log:

RFS[4]: Identified database type as'physical standby'

Thu Aug  1 13:03:47 2013

Primary database is in MAXIMUMPERFORMANCE mode

RFS[2]: Successfully opened standbylog 5: '/u01/app/oracle/oradata/orcl/redo05.log'

 

 

再做一次switchover,恢复到最初的状态:

 

在主库执行:

SQL> select switchover_statusfrom v$database;

 

SWITCHOVER_STATUS

--------------------

SESSIONS ACTIVE

 

SQL>  alter database commit to switchover tophysical standby with session shutdown;

 

Database altered.

 

在备库执行:

SQL> select switchover_statusfrom v$database;

 

SWITCHOVER_STATUS

--------------------

NOT ALLOWED

 

SQL>  select switchover_status from v$database;

 

SWITCHOVER_STATUS

--------------------

TO PRIMARY

 

SQL> ALTER DATABASE COMMIT TOSWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

 

Database altered.

 

SQL> select switchover_statusfrom v$database;

 

SWITCHOVER_STATUS

--------------------

TO STANDBY

 

分别重启主重库后:

 

SQL> startup mount

ORACLE instance started.

 

Total System Global Area  281018368 bytes

Fixed Size                  1218944 bytes

Variable Size             100664960 bytes

Database Buffers          171966464 bytes

Redo Buffers                7168000 bytes

Database mounted.

SQL> select  PROTECTION_MODE,PROTECTION_LEVEL  from v$database;

 

PROTECTION_MODE      PROTECTION_LEVEL

----------------------------------------

MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

 

SQL> recover managed standbydatabase disconnect from session;

Media recovery complete.

 

主库切换一次logfile;

SQL>  alter system switch logfile;

 

System altered.

 

备库的日志:

Thu Aug  1 14:19:44 2013

Primary database is in MAXIMUMAVAILABILITY mode

Standby controlfile consistent withprimary

RFS[2]: Successfully opened standbylog 5: '/u01/app/oracle/oradata/orcl/redo05.log'

Thu Aug  1 14:19:48 2013

Media Recovery Log/u01/app/oracle/oradata/orcl/archivelog/1_72_793805797.dbf

Media Recovery Waiting for thread 1sequence 73 (in transit)

 

成功!

原创粉丝点击