data guard switchover on solaris 10

wisdomone1發表於2009-04-14

依沿用上節配置的dg1和dg2的data guard環境

switchover一般用於主機要維護或升級,此時備機就要切換過來。成為主機,對外提供服務,日後要是主機恢復正常。
可以恢復為原來的主備庫配置,不同於failover(它是主機恢復不了。一旦角色切換,以後不可能還原回來了)

下為switchover操作流程:
1,select switchover_status from v$database;---在dg1上執行,要是值為to standby,可以switchover
        要不是,值為sessions active,說明還要其它使用者的活動會話,一般都是oracle oem agent會話,可以
        emctl stop agent,要是還有其它會話(非系統會話),請alter system kill session 'sid,serial#'
        alter system set aq_tm_processes=0
        alter system set jop_queue_processes=0
       
2,alter database commit to switchover to physical standby;--在dg1上執行,這就把主庫切換為備庫了喲,在執行這一步之前你要在備庫 
    執行select switchover_status from v$database,會顯示sessions active,執行完這步就不會有了
3,shutdown immediate;---在dg1上
  startup mount;--in dg1
  alter database mount standby database; --in dg1 ,這其實就和在前一節配置dg一樣的,在啟備庫操作一個樣,現在dg1成備庫了嗎,呵呵
  alter database recover managed standby database disconnect;--enable 備庫日誌接受和應用
4,select switchover_status from v$database;--在dg2上,現在其值為to primary
5,alter database commit to switchover to primary;--在dg2上,這就把備庫切換為主機了
6,shutdown immediate;---在dg2
  startup pfile='/export/oracle/oradata/dg2pfile.ora';--in dg2
7,alter system set log_archive_dest_2='SERVICE=dg1';--in dg2
                    ---這個相當重要,不配置這個,主庫歸檔日誌不能傳送到備庫,也起不到data guard的資料同步作用。
8,conn scott/system   ---在dg2上執行,也就是新主庫上,作以下就是測試新主庫的資料變更是否會同步到新的備庫上
  create table newly_switchover(a int);
  insert into newly_switchover values(1);
  conn /as sysdba
  alter system switch logfile;--可以多次執行切換日誌,讓他快點歸檔
9,select name,to_char(first_time,'yyyy-mm-dd hh24:mi:ss'), archived,applied from v$archived_log;---在dg1上執行,檢視從dg2上傳送過來的歸檔日誌同步和應用情況,要是你看全為yes,接著
  alter database recover managed standby database cancel;
  alter database open read only;
 
 conn scott/system
 select * from newly_switchover;--要有資料過來。就ok了

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-589040/,如需轉載,請註明出處,否則將追究法律責任。

相關文章