Oracle11g 搭建DataGuard(筆記)

guoge發表於2015-11-25

本文參考網路部分資料編寫,作為參考筆記

環境: WINDOWS2003+Oralcle11.2.0.1 

建議使用 虛擬機器來模擬,這樣主備兩邊的環境完全一樣。

假設主庫的機器名為PRIMARY , IP地址為192.168.1.10

備庫的機器名為STANDBY , IP地址為192.168.1.20

主庫:

1.  設定Listener.ora  檔案,增加紅色內容,目的是實現監聽的靜態註冊。

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")

    )

    (SID_DESC =

      (SID_NAME = orcl)

    (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)

    )

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhsot)(PORT = 1521))

    )

  )

ADR_BASE_LISTENER = D:\app\Administrator

監聽的靜態註冊主要是用於資料庫不在open 狀態時,也可以透過監聽連線資料庫。

2. 設定TNSMAE.ORA 檔案

PRIMARY =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

STANDBY =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.20)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

3. 設定SQLNET.ORA檔案

SQLNET.AUTHENTICATION_SERVICES= (NONE)

4. 設定密碼檔案

$ORACLE_HONE\database\目錄下的orapwd.ora 檔案

5. 建立歸檔目錄 D:\archive

將此時的主機做個clone, 克隆後的機器ip192.168.1.20, 機器名為standby

此時達到的目的就是兩個機器有相同的Listener.oraTNSMAE.ORASQLNET.ORA和檔案。備庫上雖然有資料庫,但不重要,可以在關閉資料庫的時候,刪除資料檔案。

設定主庫的歸檔和force logging 屬性,增加standby redo log(假設redo log 原來只有3組,檔案大小為50M)

Startup mount

alter database force logging  ;

alter database archivelog;

alter database add standby logfile group 4 'D:\app\Administrator\oradata\orcl\redo04.log' size 50M ;

alter database add standby logfile group 5 'D:\app\Administrator\oradata\orcl\redo05.log' size 50M ;

alter database add standby logfile group 6 'D:\app\Administrator\oradata\orcl\redo06.log' size 50M ;

修改spfile,中的引數:

*.db_name='orcl'

*.log_archive_format='ARC_%T%S%r.ARC'

*.db_unique_name='orcl'

*.log_archive_config='DG_CONFIG=(primary,standby)'

*.log_archive_dest_1='location=D:\archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=primary'

*.log_archive_dest_2='SERVICE=standby VALID_FOR=(ALL_LOGFILES,PRIMARY_ROLES) db_unique_name=standby'

*.log_archive_dest_state_1=ENABLE 

*.log_archive_dest_state_2=ENABLE

*.fal_server='standby'

*.fal_client='primary'

可以透過create pfile from spfile  方式匯出pfile 檔案,修改pfile 後,再 create spfile from  pfile  方式完成。fal_server 據說在11GR2 已不使用,但由於是轉自網上資料,先沒有去除。

備庫:

 Startup nomount pfile=

 隨便什麼pfile ,只要能啟動即可。

執行:

rman target sys/oracle@primary auxiliary sys/oracle@standby

執行

run

duplicate target database  for standby from active database  nofilenamecheck spfile 

   set db_unique_name='standby'

   set control_files='D:\app\Administrator\oradata\orcl\CONTROL01.CTL'

   set log_archive_max_processes='20'

   set fal_server='primary'

   set  fal_client='standby'

   set  log_archive_dest_1='location=D:\archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=standby'

   set  log_archive_dest_2='SERVICE=primary VALID_FOR=(ALL_LOGFILES,PRIMARY_ROLES) db_unique_name=primary'

   set standby_file_management='auto';

   }

備庫:

此時是mount 狀態

  alter database recover managed standby database using current logfile disconnect from session;

如果要開啟資料庫:

alter database recover managed standby database cancel;

  alter database open read only;

  alter database recover managed standby database using current logfile disconnect from session;

此時的備庫就是一個只讀的實時映象。

切換:

Primary->standby 

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

  shutdown immediate

  startup mount;

  alter database open read only;

alter database recover managed standby database using current logfile disconnect from session;

standby->primary

alter database commit to switchover to primary with session shutdown;

 alter database open;

  

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

相關文章