專用 Exadata 基礎架構上的自治式 AI 資料庫高效能功能

本文描述專用 Exadata 基礎架構上自治式 AI 資料庫的主要效能調整功能。

請注意,在本節中,「您」一詞廣泛用於表示貴組織中具有執行特定任務之職責的任何使用者。在某些情況下,這是應用程式 DBA,其他情況則是應用程式開發人員。

自主 AI 資料庫包括多項功能,可自動監控、分析和最佳化資料庫的效能。如需 Oracle Autonomous AI Database 的 SQL 調整與效能管理功能完整清單,以及如何使用這些功能的相關指示,請參閱 Oracle Database 19c SQL Tuning GuideOracle Database 26ai SQL Tuning Guide

您可以看到以下描述的 Autonomous AI 資料庫關鍵效能調整功能的廣泛分類。

hp_features.svg 圖解描述

預先定義的資料庫服務

您的應用程式如何連線至資料庫,以及如何將 SQL 呼叫編碼至資料庫,決定應用程式交易處理和報告作業的整體效能。

連線至您的自治式 AI 資料庫時,應用程式與資料庫的互動效能取決於您所連線的資料庫服務。自治式 AI 資料庫提供多組連線到資料庫時所要使用的資料庫服務。這些連線服務的設計目的是支援不同種類的資料庫作業,如自治式 AI 資料庫的預先定義資料庫服務名稱中所述。

提示:請務必複查預先定義資料庫服務的關鍵特性,以及根據這些特性比較不同組資料庫服務的表格,以決定哪一個資料庫服務更適合應用程式的效能需求。

連線集區

連線至您的自治式 AI 資料庫時,您可以使用連線集區來降低重複建立及損毀個別連線的效能負荷。這也是對應用程式與資料庫互動效能有重大影響的另一個因素。

通常,只有在設計或增強應用程式以提供持續可用性時,才會考慮使用連線集區。不過,使用連線集區而非個別連線幾乎可以讓每個交易處理應用程式受益。連線集區提供下列優點:

特殊用途連線功能

Oracle Net Services (之前稱為 SQL*Net) 提供多種連線功能,可改善特定連線案例的效能。Oracle Database 19c Net Services Administrator's GuideOracle Database 26ai Net Services Administrator's Guide 中說明這些功能。

SQL 效能調整功能

好的應用程式會從撰寫完善的 SQL 開始。Oracle Autonomous AI Database 提供許多功能,可讓您建置高效能應用程式並驗證 SQL 和 PL/SQL 程式碼。下列是部分功能:

開發應用程式時,您可以快速瞭解這些功能如何影響所撰寫的 SQL 程式碼,並使用 Oracle Database Actions (內建於您的 Autonomous AI 資料庫) 和 Oracle SQL Developer (安裝在開發系統上的免費應用程式) 提供的 SQL Worksheet 來改善程式碼。

SQL 追蹤

當應用程式作業花費的時間超過預期時,取得在此作業中執行之所有 SQL 敘述句的追蹤,其詳細資訊 (例如該 SQL 敘述句在剖析、執行以及擷取階段所花費的時間) 將可協助您識別並解決效能問題的原因。您可以在自治式 AI 資料庫上使用 SQL 追蹤來達成此目標。

自治式 AI 資料庫預設會停用 SQL 追蹤功能。您必須啟用它,才能開始收集 SQL 追蹤資料。如需啟用和使用 SQL 追蹤的詳細指示,請參閱在 Autonomous AI 資料庫上使用 SQL 追蹤

最佳化處理程式統計資料

Autonomous AI Database 會自動收集最佳化處理程式統計資料,因此您不需要手動執行此工作,這有助於確保統計資料是最新的。自動統計資料收集會在自治式 AI 資料庫中啟用,並且在標準維護時段執行。

注意:如需有關維護時段時間和自動最佳化處理程式統計資料收集的詳細資訊,請參閱 Oracle Database 19c Administrator's GuideOracle Database 26ai Administrator's Guide 。如需最佳化處理程式統計資料的詳細資訊,請參閱 Oracle Database 19c SQL Tuning GuideOracle Database 26ai SQL Tuning Guide

最佳化處理程式提示

最佳化處理程式提示是 SQL 敘述句中傳送指示給最佳化處理程式的特殊註解。最佳化處理程式會使用提示為敘述句選擇執行計畫,除非有某些條件不允許。

最佳化處理程式的自治式 AI 資料庫預設值和 PARALLEL 提示會根據您的工作負載而有所不同:

自動編製索引

自動編製索引可自動執行自治式 AI 資料庫中的索引管理作業。自動編製索引在自治式 AI 資料庫中預設為停用。

手動建立索引需要深入瞭解資料模型、應用程式和資料分佈。在過去,DBA 負責選擇要建立哪些索引,有時 DBA 不會在條件變更時修改其選擇或維護索引。因此,失去改善機會,使用不必要的索引可能成為績效負債。

自治式 AI 資料庫中的自動編製索引功能可監控應用程式工作負載,並自動建立和維護索引。

提示:如需示範這些指示的「試試看」替代方案,請執行 Oracle Autonomous AI Database Dedicated for Developers and Database Users Workshop 中的 Lab 14:Automatic Indexing

啟用自動編製索引

停用自動編製索引

請使用 DBMS_AUTO_INDEX.CONFIGURE 程序停用自動編製索引。例如,執行以下敘述句會停用資料庫中的自動編製索引功能,這樣就不會建立新的自動編製索引。不過,現有的自動索引仍然會保持啟用。

EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','OFF');

如需詳細資訊,請參閱 Oracle Database 19c Administrator's GuideOracle Database 26ai Administrator's Guide 中的 Managing Auto Indexes

快速攝取

快速擷取可將高頻單列資料插入到資料庫中的處理最佳化。快速擷取會先使用大型集區緩衝插入,再將插入寫入磁碟,以提升資料插入效能。

最快速的目的是支援產生大量資訊資料的應用程式,這些資料在聚總中具有重要價值,但不一定需要完整的 ACID 保證。Internet of Things (IoT) 中的許多應用程式都有快速的「火災和遺忘」類型工作負載,例如感測器資料、智慧電表資料,甚至交通攝影機。對於這些應用程式,資料可能會以大量形式收集和寫入資料庫,以供日後分析。

快速擷取與一般 Oracle AI Database 交易處理非常不同,這些處理會記錄資料,一旦將資料寫入資料庫 (亦即,已確認) 後,就永遠不會遺失資料。為了達到最大擷取傳輸量,會略過一般的 Oracle 交易機制,且應用程式有責任檢查所有資料是否確實寫入資料庫。已新增可呼叫的特殊 API,以檢查資料是否已寫入資料庫。

如需快速擷取的簡介及使用此功能所涉及的步驟,請參閱 Oracle Database 19c Performance Tuning GuideOracle Database 26ai Performance Tuning Guide 中的 Using Fast Ingest

若要在自治式 AI 資料庫使用快速擷取,您必須:

使用 Oracle Scheduler 的預先定義工作類別

自治式 AI 資料庫包含與 Oracle Scheduler 搭配使用的預先定義 job_class 值。這些工作類別可讓您將共用通用特性和行為的工作群組到更大的個體,以便您可以透過控制配置給各個類別的資源,安排這些類別之間的優先順序。

透過預先定義的工作類別,您可以確保重要工作的優先順序和資源足夠完成。例如,對於載入資料倉儲的重要專案,您可以將所有資料倉儲工作結合成一個類別,並透過配置高百分比的可用資源來排列其他工作的優先順序。您也可以為工作類別中的工作指派相對優先順序。

預先定義的 job_class 值、TPURGENTTPHIGHMEDIUMLOW 對應至對應的用戶群組。這些工作類別可讓您指定在 DBMS_SCHEDULER.CREATE_JOB 中執行工作的用戶群組。

DBMS_SCHEDULER.CREATE_JOB 程序支援自治式 AI 資料庫中 job_type 參數的 PLSQL_BLOCKSTORED_PROCEDURE 工作類型。

例如:使用下列項目建立要在 HIGH 用戶群組中執行的單一一般工作:

BEGIN
   DBMS_SCHEDULER.CREATE_JOB (
     job_name => 'update_sales',
     job_type => 'STORED_PROCEDURE',
     job_action => 'OPS.SALES_PKG.UPDATE_SALES_SUMMARY',
     start_date => '28-APR-19 07.00.00 PM Australia/Sydney',
     repeat_interval => 'FREQ=DAILY;INTERVAL=2',
     end_date => '20-NOV-19 07.00.00 PM Australia/Sydney',
     auto_drop => FALSE,
     job_class => 'HIGH',
     comments => 'My new job');
END;
/

Oracle Scheduler 的注意事項:

請參閱 Oracle Database 19c 中的 Scheduling Jobs with Oracle SchedulerOracle Database 26ai ,瞭解有關 Oracle Scheduler 和 DBMS_SCHEDULER.CREATE_JOB 的詳細資訊。

請參閱 Oracle Database 19cOracle Database 26ai 中的 SET_ATTRIBUTE Procedure ,瞭解工作屬性的資訊。

效能監督及調整工具

有數種情況 (例如變更工作負載、應用程式和資料庫伺服器的資源限制,或只是網路瓶頸) 可能會導致應用程式效能問題。Oracle 提供廣泛的工具來協助您監控效能、診斷效能問題,以及調整應用程式或資料庫以解決問題。其中一些列出如下:

工具 詳細資訊
效能中心 Oracle Cloud Infrastructure (OCI) 主控台提供功能豐富的即時工具。Performance Hub 也內建 Oracle Database Actions 和 Oracle Enterprise Manager 功能。

請參閱使用效能中心監督資料庫效能以瞭解詳細資訊。
自治式 AI 資料庫度量 自主 AI 資料庫指標可協助您衡量有用的定量資料,例如 CPU 和儲存使用率、成功和失敗的資料庫登入次數和連線嘗試次數、資料庫操作、SQL 查詢和交易等。您可以使用度量資料來診斷自治式 AI 資料庫資源的問題並進行疑難排解。

請參閱使用自治式 AI 資料庫度量監控資料庫以瞭解詳細資訊,例如專用 Exadata 基礎架構上自治式 AI 資料庫的先決條件、使用狀況以及可用的度量清單。
自動工作負載儲存區域 (AWR) 與自動資料庫診斷監督 (ADDM) 其他兩種常用的工具是「自動工作負載儲存區域 (AWR)」與「自動資料庫診斷監督 (ADDM)」。

AWR 會儲存 Oracle 資料庫的效能相關統計資料,而 ADDM 是定期分析 AWR 資料的診斷工具,可找出任何效能問題的根本原因、提供更正問題的建議以及識別系統未問題區域。因為 AWR 是歷史效能資料的儲存區域,所以 ADDM 可以分析事件之後的效能問題,通常可節省時間與資源來重現問題。

如需使用這些工具的指示,以及有關資料庫效能監督與調整的詳細資訊,請參閱 Oracle Database 19c Performance Tuning GuideOracle Database 26ai Performance Tuning Guide

效能中心也有提供 AWR 與 ADDM。請參閱使用效能中心監督資料庫效能以瞭解詳細資訊。

如需資料庫效能監督與調整的快速簡介,請參閱 Oracle Database 19c 2 Day + Performance Tuning GuideOracle Database 26ai 2 Day + Performance Tuning Guide