天天看點

oracle 11g dataguard主備切換

1.檢查主備的環境

dg1節點:

SQL> archive log list;

Database log mode            Archive Mode

Automatic archival            Enabled

Archive destination           /u01/oradata/tong/archive

Oldest online log sequence      59

Next log sequence to archive     61

Current log sequence           61

SQL> 

dg2節點:

Oldest online log sequence      60

Next log sequence to archive     0

Current log sequence          61

2.檢視主備的角色

dg1節點(primary角色):

SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS    DATABASE_ROLE

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

TO STANDBY           PRIMARY

dg2節點(standby角色):

NOT ALLOWED          PHYSICAL STANDBY

3.在主庫上執行切換指令(primary節點)

SQL> alter database commit to switchover to physical standby; --将primary角色轉換為standby角色

Database altered.

SQL> shutdown immediate              --關閉資料庫,啟動到mount狀态

ORA-01507: database not mounted

ORACLE instance shut down.

SQL> startup mount

Total System Global Area  830930944 bytes

Fixed Size                  2217912 bytes

Variable Size             545261640 bytes

Database Buffers          281018368 bytes

Redo Buffers                2433024 bytes

Database mounted.

SQL> select switchover_status,database_role from v$database;     --檢視目前primary角色的狀态

TO PRIMARY           PHYSICAL STANDBY

4.在備庫上執行(standby節點)

SQL> select switchover_status,database_role from v$database;     --檢視standby備庫角色的狀态

SQL> alter database commit to switchover to primary;       --将備庫的角色修改為primary

NOT ALLOWED          PRIMARY

SQL> alter database open;          --打開資料庫

5.在備庫上執行(standby節點)

RECOVERY NEEDED      PHYSICAL STANDBY

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;      --修改以前主庫為日志應用

Database altered. 

6.測試主備節點是否切換成功

dg2節點(primary角色):

SQL> select * from tt;

  A

----------

  1

  3

  4

  5

  6

  7

6 rows selected.

SQL> insert into tt values(8);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from tt where a=8;

  8

SQL> alter system switch logfile;

System altered.

SQL> /

Database log mode         Archive Mode

Automatic archival         Enabled

Archive destination        /u01/oradata/tong/archive

Oldest online log sequence    78

Next log sequence to archive   80

Current log sequence         80

dg1節點(standby角色):

Oldest online log sequence    79

Next log sequence to archive   0

SQL> alter database  recover managed standby database cancel;  

SQL> alter database open read only;

   A

    1

    3

    4

    5

    6

    7

    8

7 rows selected.

本文轉自 z597011036 51CTO部落格,原文連結:http://blog.51cto.com/tongcheng/1874292,如需轉載請自行聯系原作者