天天看點

Oracle 12.2新特性掌上手冊 - 第六卷 ADG的性能與診斷

編輯手記:在oracle 12.2中,adg有許多驚人的改進,通過adg standby資料庫的性能資料收集和診斷、快照standby資料庫的應用,以及實時的資料庫操作監控的實作,能夠根據使用者需求相協調來提高dba效率,進而為業務應用程式提供更好的服務品質。

1、oracle data guard support for oracle diagnostics pack(oracle dg 提供診斷包的支援)

oracle診斷包可以與以read-only的adg standby資料庫一起使用。能夠将性能資料捕獲到adg standby資料庫的awr報告中,并對awr資料運作自動資料庫診斷螢幕(addm)分析。

此功能可以對在adg standby資料庫上執行的隻讀工作負載進行性能調優。

Oracle 12.2新特性掌上手冊 - 第六卷 ADG的性能與診斷

管理active data guard standby資料庫中的awr

從oracle 12.2開始,可以為adg standby資料庫捕獲awr資料。此功能可以分析adg standby資料庫的任何性能相關問題。

知識補充:

adg standby資料庫的awr快照稱為遠端快照。稱為目标的資料庫節點負責存儲從遠端adg standby資料庫節點(稱為源)收集的快照。目标可以是adg主資料庫或非adg資料庫。如果目标是adg主資料庫,則它也是源資料庫,其快照是本地快照。

實作該功能需要滿足以下兩個條件:

源通過唯一的名稱或源名稱識别,通過該唯一名稱或源名稱對目的地是已知的。可以在配置期間為目标節點或源節點配置設定名稱。否則,初始化參數db_unique_name的值被預設指定為節點的名稱。 每個源必須具有兩個dblink,目标到源資料庫dblink和源到目标資料庫dblink。在adg部署期間為每個源配置這些dblink。在某些adg事件(例如故障轉移,切換,主機添加和删除)之後,必須手動重新配置這些dblink,以便資料庫應用程式在這些事件後繼續正常運作。

可以以預定的時間間隔自動或手動地拍攝遠端快照。遠端快照始終由目标節點啟動。目标啟動快照建立存儲過程後,源使用資料庫連結将其快照資料推送到目标。可以使用awr報告,oracle資料庫導入和導出功能以及使用者定義的查詢來通路存儲在目标上的快照資料或awr資料。自動資料庫診斷螢幕(addm)應用程式可以使用awr資料來分析任何資料庫性能相關的問題。

2、active data guard support for sql tuning advisor(支援sql tuning advisor的adg)

sql tuning advisor已得到增強,是以可以在一個資料庫上啟動調整,但實際的調整過程在不同的資料庫上遠端執行。這允許dba将primary資料庫工作負載的調優解除安裝到adg standby資料庫,并在adg 自身上調整adg sql工作負載。

工作原理如下:

當将primary資料庫工作負載的sql調整解除安裝到adg standby資料庫時,sql調整過程從primary資料庫啟動,但是調整過程在adg standby資料庫上遠端執行,并且結果将寫回primary資料庫資料庫。調整adg工作負載時,整個sql調整過程在adg standby資料庫上本地執行,同時保持資料庫為read-only狀态。這是通過從primary資料庫的dblink接收集所需的資訊并将任何資料庫狀态更改(例如sql配置檔案實作)寫回primary資料庫來實作的。在primary資料庫上實施的sql配置檔案建議将使用redo應用機制應用于adg standby資料庫。

sql tuning advisor的遠端sql調優功能支援調整adg工作負載,并将primary資料庫工作負載的調整解除安裝到adg standby資料庫。 此功能的業務優勢如下:

通過支援應用程式調整來提高active data guard資料庫的可管理性。 通過利用active data guard上的可用資源提高主資料庫工作負載調整的投資回報率。 改進了active data guard和主資料庫工作負載的應用程式性能。 提高了苛刻應用的讀取性能 靈活啟動sql tuning advisor并将結果遠端存儲在不同的資料庫中。 當與sql performance analyzer一起使用時,支援端到端調整和測試工作流程。

在active data guard環境中,sql tuning advisor可以調整主資料庫上的備用工作負載,通過dblink,可以在一個資料庫上發出sql tuning advisor語句,但在不同的資料庫上執行語句。

Oracle 12.2新特性掌上手冊 - 第六卷 ADG的性能與診斷

在primary資料庫上調整standby資料庫工作負載

在某些情況下,standby資料庫可以承擔報告角色。 standby資料庫可以有自己的查詢工作負載,其中一些可能需要調整。 在這種情況下,通過在standby資料庫上發出每個調整語句來調整自身資料庫工作負載,但sql tuning advisor通過使用standby資料庫到primary資料庫dblink在primary資料庫上執行其分析。

為調整主資料庫上的standby資料庫工作負載,以下是必須執行的任務(任務必須按照給定的順序在備用資料庫中執行,使用dbms_sqltune pl / sql包) :

1、執行dbms_sqltune.create_tuning_task語句以從主資料庫擷取建立任務所需的資料。因為standby資料庫是隻讀資料庫,是以有關任務的資料将遠端寫入primary資料庫。在此步驟中,需要dblink參數寫入primary資料庫。 2、執行dbms_sqltune.execute_tuning_task語句。最初,從遠端primary資料庫擷取執行任務所需的資料。執行調諧分析過程以找到可能的建議。因為standby資料庫是隻讀資料庫,是以當結果可用時,它們将遠端存儲在primary資料庫中。 3、執行dbms_sqltune.report_tuning_task語句。建構報告所需的資料遠端存儲在primary資料庫中。資料從主機遠端讀取,并在standby資料庫本地建構。 4、執行dbms_sqltune.accept_sql_profile語句。配置檔案資料将寫入遠端primary資料庫,因為standby資料庫是隻讀的。

注:執行以上任務,必須要保證sql配置檔案在standby資料庫上使用重做應用程式可用。

Oracle 12.2新特性掌上手冊 - 第六卷 ADG的性能與診斷

管理快照standby資料庫

快照standby資料庫是完全可更新的standby資料庫,它接收并歸檔從primary資料庫獲得的redo資料,但不會應用日志。在将快照standby資料庫轉換回實體standby資料庫後,隻有在丢棄快照standby資料庫的所有本地更新後,才能應用從preimary資料庫接收的redo資料。

快照standby資料庫通常随着時間的推移與其primary資料庫差别變大,因為來自primary資料庫的redo資料未應用。快照standby資料庫的本地更新更會導緻額外的分歧。然而,primary資料庫中的資料受到完全保護,因為快照standby資料庫可以随時轉換回實體standby資料庫,然後應用從primary資料庫接收的redo資料。

快照standby資料庫提供與實體standby資料庫類似的災難恢複和資料保護優勢。快照standby資料庫最适用于具有primary資料庫的臨時可更新快照的情況,增加從primary資料庫故障恢複的時間。

Oracle 12.2新特性掌上手冊 - 第六卷 ADG的性能與診斷

快照standby資料庫和實體standby資料庫的切換

1、将實體standby資料庫轉換為快照standby資料庫

執行以下步驟将實體備用資料庫轉換為快照備用資料庫:

如果redo日志處于active狀态,則應用。 確定資料庫以mount狀态打開。 確定已配置快速恢複區, 不用啟用閃回功能。 發出以下sql語句以執行轉換:sql> alter database convert to snapshot standby; 通過發出以下sql語句以讀/寫模式打開快照standby資料庫:sql> alter database open read write;

2、使用快照standby資料庫

快照standby資料庫可以以讀寫模式打開,并且是完全可更新的。

快照standby資料庫具有以下特征:

快照standby資料庫不能是切換或故障轉移的目标。 在執行角色轉換之前,必須先将快照standby資料庫轉換回實體standby資料庫。 快照standby資料庫不能是最大保護oracle data guard配置中唯一的standby資料庫。

注意:閃回資料庫用于将快照standby資料庫轉換回實體standby資料庫。 使用閃回資料庫技術無法撤消的任何操作都會阻止快照standby資料庫轉換回實體standby資料庫。

3、将快照standby資料庫轉換為實體standby資料庫

執行以下步驟将快照備用資料庫轉換為實體備用資料庫:

1、在oracle real applications叢集(oracle rac)資料庫上,關閉除一個執行個體之外的所有執行個體。 2、確定資料庫已裝入,但未打開。 3、發出以下sql語句以執行轉換: sql> alter database convert to physical standby;

(sql性能分析器和sql調優集增強功能)

sql性能分析器(spa)增強了提供三個新的任務參數:

execute_fulldml_triggers:使用此參數可以啟用或禁用在fulldml模式下運作spa試用時遞歸觸發的資料庫觸發器。 execute_with_fixed_date:在spa試用中使用此參數為引用sysdate函數的sql設定固定日期。 num_rows_to_fetch:此參數允許您限制sql語句根據優化程式模式設定擷取的行數。

sql調優集(sts)增強如下:

通過顯式使用dbms_sqltune pl / sql包的start_capture和stop_capture api來啟動和停止sts捕獲。 增強了sts捕獲,以支援跨所有oracle real application cluster(oracle rac)執行個體的sql工作負載捕獲。 sts捕獲現在包括特定于exadata,sql監視和記憶體資料庫的其他統計資訊。 sts捕獲支援用于報告在備用資料庫或活動oracle data guard資料庫上運作的工作負載。

這些增強功能可以準确地診斷性能問題,改進oracle服務品質管理,并以最低的風險和工作量進行更好的品質測試。 這也提高了系統性能和可靠性,降低了整體管理成本。

4、monitoring real-time database operations(監控實時的資料庫操作)

實時資料庫操作(dbop)監視功能有顯著增強:

動态和外部啟動和停止dbop,使我們能夠通過指定特定會話的會話辨別符和序列号,從資料庫中的任何會話啟動和停止dbop。 dbop持久性和比較:dbop監視的執行自動保留到awr,可以使用它們做offline和曆史性能分析。可以比較多個相同dbop的運作,以了解某些操作花費更長時間的原因。 dbop報告和趨勢分析:增強報告現在包括在同一dbop下的sql和pl / sql執行詳細資訊。随着時間的推移對dbop的多次運作進行分析,可以更好地了解特定工作負載随時間的變化。 多會話dbop支援:這對于監視在多個會話上運作的sql或pl / sql非常有用,這在提取,轉換和加載(etl)任務和批處理作業中很常見。

這些dbop增強功能通過将業務操作監視與最終使用者需求相協調來提高dba效率,進而為業務應用程式提供更好的服務品質。