1. 程式人生 > >簡述對DG引數檔案的理解

簡述對DG引數檔案的理解

一、配置DG時的常規引數

  1. 配置靜態監聽為了能遠端登入資料庫,在DG中是為了RMAN能連線。
  2. 配置網路連線名是為了給主備庫取別名並且方便登入
  • 配置DG時的重要引數
  1. 對主庫的引數檔案修改:

*.db_name='orcl'

資料庫的例項名

*.db_unique_name='orcl_p'

Primary端資料庫的唯一名字

*.log_archive_config='dg_config=(orcl_p,orcl_s)'

該引數用來控制從遠端資料庫接收或傳送REDO資料,通過DG_CONFIG屬性羅列同一個Data Guard中所有DB_UNIQUE_NAME(含Primary資料庫和Standby資料庫),以逗號分隔,SEND/NOSEND屬性控制是否可以傳送,RECEIVE/NORECEIVE屬性控制是否能夠接收

*.log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl_p'

在主庫起作用,本地歸檔日誌存放路徑,所有角色,所有日誌

*.log_archive_dest_2='service=orcl_s valid_for=(online_logfiles,primary_role)  lgwr affirm sync db_unique_name=orcl_s'

遠端使用者是orcl_s,目的地可用的當前資料庫是主庫,當前線上日誌正在歸檔

*.log_archive_dest_state_1=enable

對log_archive_dest_1宣告:允許傳送

*.log_archive_dest_state_2=enable

對log_archive_dest_2宣告:允許傳送

*.standby_file_management='auto'

如果Primary資料庫資料檔案發生修改(如新建、重新命名等)則按照本引數的設定在Standby資料庫中作相應修改。設為AUTO表示自動管理。設為MANUAL表示需要手工管理

*.fal_server='orcl_s'

當日志沒有同步是,從orcl_s抓取檔案

*.log_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'

主備庫日誌檔案存放路徑

*.db_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'

Standby資料庫的資料檔案路徑與Primary資料庫資料檔案路徑不一致時,可以通過設定DB_FILE_NAME_CONVERT引數的方式讓其自動轉換。該引數值應該成對出現,前面的值表示轉換前的形式,後面的值表示轉換後的形式

  1. 對備庫的引數檔案修改

                              *.db_name='orcl'

資料庫的例項名

                              *.db_unique_name='orcl_s'

standby端的唯一名字

                             *.log_archive_config='dg_config=(orcl_p,orcl_s)'

該引數用來控制從遠端資料庫接收或傳送REDO資料,通過DG_CONFIG屬性羅列同一個Data Guard中所有DB_UNIQUE_NAME(含Primary資料庫和Standby資料庫),以逗號分隔,SEND/NOSEND屬性控制是否可以傳送,RECEIVE/NORECEIVE屬性控制是否能夠接收

*.log_archive_dest_1='location=/u01/arch valid_for=        (all_logfiles,all_roles) db_unique_name=orcl_s'

在主庫起作用,本地歸檔日誌存放路徑,所有角色,所有日誌

*.log_archive_dest_2='service=orcl_p valid_for=(online_logfiles,primary_role)  lgwr affirm sync db_unique_name=orcl_p'

遠端使用者是orcl_p,目的地可用的當前資料庫是主庫,當前線上日誌正在歸檔

*.log_archive_dest_state_1=enable

對log_archive_dest_1宣告:允許傳送

*.log_archive_dest_state_2=enable

對log_archive_dest_2宣告:允許傳送

*.standby_file_management='auto'

如果Primary資料庫資料檔案發生修改(如新建、重新命名等)則按照本引數的設定在Standby資料庫中作相應修改。設為AUTO表示自動管理。設為MANUAL表示需要手工管理

*.fal_server='orcl_p'

當日志沒有同步是,從orcl_p抓取檔案

*.log_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'

主備庫日誌檔案存放路徑

*                   .db_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'

Standby資料庫的資料檔案路徑與Primary資料庫資料檔案路徑不一致時,可以通過設定DB_FILE_NAME_CONVERT引數的方式讓其自動轉換。該引數值應該成對出現,前面的值表示轉換前的形式,後面的值表示轉換後的形式

備註:主庫和備庫不同的引數用紅字標記出

主要講一下log_archive_dest_2引數的配置

該引數僅當資料庫角色為primary時生效,指定primary歸檔redo log到該引數定義的standby database上

該引數是dataguard上最重要的引數之一,它定義了redo log的傳輸方式(sync or async)以及傳輸目標,直接決定了dataguard的資料保護級別

它的格式如下:*.log_archive_dest_2='service=orcl_p valid_for=(online_logfiles,primary_role)  lgwr affirm sync db_unique_name=orcl_p'

  1.  service/location   遠端/本地
  2.  Valid_for

其中:redo_log_type有三種

Online_logfile 目的地可用當前線上日誌正在歸檔

Standby_logfile 目的地可用當前備庫線上日誌正在歸檔

All_logfile

其中:database_role有三種:

Primary_role 目的地可用的當前資料庫是主庫

Standby_role 目的地可用的當前資料庫是備庫

All_role

  1.  sync/async  同步/非同步
  2.  Net_timeout LGWR程序等待遠端傳輸日誌成功到確認的時間,數值1-1200,預設30秒,oracle建議配置
  3. AFFIRM/NOAFFIRM  AFFIRM:指定直到接收從原庫傳來的日誌並寫到備庫日誌中才確定。 NOAFFIRM:指定不用等待接收到從原庫傳來的日誌並寫到備庫日誌才確定
  4. Reopen:try to reopen a failed destination的秒數2,預設300秒
  • DG的三種保護模式
  1. 最大效能模式(maximum performance)
  1. 這種模式是預設模式,可以保證資料庫的最大效能
  2. 保證主庫不受備庫影響,主庫事務正常提交
  3. 優點:避免了備庫對主庫的效能和可用性影響
  4. 缺點:如果主庫提交的事務沒有傳送到備庫,則這些事務會丟失
  1. 最高可用模式(maximum availability)
  1. 這種模式下,只有在備庫收到重做日誌以後,主庫的事務才能夠提交
  2. 主庫找不到合適的備庫寫入時,主庫不會關閉,臨時到最大效能模式,直到問題解決
  3. 優點:該模式下載沒有問題出現的情況下,保證資料不會丟失
  4. 缺點:主庫的效能會受到諸多因素的影響
  1. 最大保護模式(maximum protection)
  1. 這種模式提供了最高級別的資料保護能力
  2. 只有在備庫收到重做日誌以後,主庫的事務才能夠提交
  3. 主庫找不到合適的備庫寫入時,主庫會自動關閉
  4. 優點:該模式可以確保資料不丟失
  5. 缺點:主庫會自動關閉,對主庫的效能有很大的影響