使用自動工作負載儲存庫 (AWR) 產生效能報告。 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用自動工作負載儲存庫 (AWR) 產生效能報告。

若要收集效能資料並產生報告,Oracle 建議您使用自動工作負載儲存庫 (AWR)。AWR 需要 Oracle Database Enterprise Edition 以及診斷和調整套件的授權。若要啟用 AWR,請將 CONTROL_MANAGEMENT_PACK_ACCESS 初始化參數設定為 DIAGNOSTICDIAGNOSTIC+TUNING

在 RDS 中使用 AWR 報告

若要產生 AWR 報告,您可以執行指令碼,例如 awrrpt.sql。這些指令碼會安裝在資料庫主機伺服器上。在 Amazon RDS 中,您不能直接存取主機。不過,您可以從另一個 Oracle 資料庫安裝版本取得 SQL 指令碼的複本。

您也可以執行 SYS.DBMS_WORKLOAD_REPOSITORY PL/SQL 套件中的程序來使用 AWR。您可以使用此套件來管理基準和快照,也可以用來顯示 ASH 和 AWR 報告。例如,若要以文字格式產生 AWR 報告,請執行 DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT 程序。不過,您無法從 AWS 管理主控台連上這些 AWR 報告。

使用 AWR 時,我們建議您使用 rdsadmin.rdsadmin_diagnostic_util 程序。您可以使用這些程序來產生下列項目:

  • AWR 報告

  • 作用中工作階段歷史記錄 (ASH) 報告

  • 自動資料庫診斷監控 (ADDM) 報告

  • AWR 資料的 Oracle 資料匯出傾印檔案

rdsadmin_diagnostic_util 程序會將報告儲存至資料庫執行個體檔案系統。您可以從主控台存取這些報告。您也可以使用 rdsadmin.rds_file_util 程序來存取報告,而且可以使用 S3 整合選項來存取複製到 Amazon S3 的報告。如需更多詳細資訊,請參閱 讀取資料庫執行個體目錄中的檔案Amazon S3 整合

您可以在下列 Amazon RDS for Oracle 資料庫引擎版本中使用 rdsadmin_diagnostic_util 程序:

  • 所有 Oracle Database 21c 版本

  • 19.0.0.0.ru-2020-04.rur-2020-04.r1 及更新的 Oracle Database 19c 版本

如需說明如何在複寫案例中使用診斷報告的部落格,請參閱為 Amazon RDS for Oracle 僅供讀取複本產生 AWR 報告

診斷公用程式套件的常見參數

透過 rdsadmin_diagnostic_util 套件管理 AWR 和 ADDM 時,通常會使用下列參數。

參數 資料類型 預設 必要 描述

begin_snap_id

NUMBER

開始快照的 ID。

end_snap_id

NUMBER

結束快照的 ID。

dump_directory

VARCHAR2

BDUMP

要寫入報告或匯出檔案的目錄。如果您指定非預設目錄,則執行 rdsadmin_diagnostic_util 程序的使用者必須具有目錄的寫入許可。

p_tag

VARCHAR2

可用於區分備份的字串,以指明備份的目的或用法,例如 incrementaldaily

最多可以指定 30 個字元。有效字元為 a-zA-Z0-9、底線 (_)、破折號 (-) 和句點 (.)。標籤不區分大小寫。無論輸入標籤時使用的大小寫為何,RMAN 一律以大寫形式儲存標籤。

標籤不需是唯一的,因此多個備份可以有相同的標籤。如果沒有指定標籤,RMAN 會使用 TAGYYYYMMDDTHHMMSS 格式自動指派預設標籤,其中 YYYY 是年、MM 是月、DD 是日、HH 是時 (24 小時制)、MM 是分、SS 是秒。日期和時間指出 RMAN 開始備份的時間。例如,具有預設標籤 TAG20190927T214517 的備份,表示備份是在 2019-09-27 的 21:45:17 開始。

下列 RDS for Oracle 資料庫引擎版本支援 p_tag 參數:

  • Oracle Database 21c (21.0.0)

  • 使用 19.0.0.0.ru-2021-10.rur-2021-10.r1 及更新版本的 Oracle Database 19c (19.0.0)

report_type

VARCHAR2

HTML

報告的格式。有效值為 TEXTHTML

dbid

NUMBER

顯示在 Oracle DBA_HIST_DATABASE_INSTANCE 檢視中的有效資料庫識別碼 (DBID)。如果未指定此參數,RDS 會使用 V$DATABASE.DBID 檢視中顯示的目前 DBID。

透過 rdsadmin_diagnostic_util 套件管理 ASH 時,您通常使用下列參數。

參數 資料類型 預設 必要 描述

begin_time

DATE

ASH 分析的開始時間。

end_time

DATE

ASH 分析的結束時間。

slot_width

NUMBER

0

ASH 報告的「最常發生的活動」區段中使用的時段持續時間 (秒)。如果未指定此參數,則 begin_timeend_time 之間的時間間隔不得超過 10 個時段。

sid

NUMBER

Null

工作階段 ID。

sql_id

VARCHAR2

Null

SQL ID。

wait_class

VARCHAR2

Null

等待類別名稱。

service_hash

NUMBER

Null

服務名稱雜湊。

module_name

VARCHAR2

Null

模組名稱。

action_name

VARCHAR2

Null

動作名稱。

client_id

VARCHAR2

Null

資料庫工作階段的應用程式特定 ID。

plsql_entry

VARCHAR2

Null

PL/SQL 進入點。

產生 AWR 報告

若要產生 AWR 報告,請使用 rdsadmin.rdsadmin_diagnostic_util.awr_report 程序。

下列範例會產生快照範圍 101–106 的 AWR 報告。輸出文字檔案命名為 awrrpt_101_106.txt。您可以從 AWS 管理主控台存取此報告。

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(101,106,'TEXT');

下列範例會產生快照範圍 63–65 的 HTML 報告。輸出的 HTML 檔案命名為 awrrpt_63_65.html。此程序會將報告寫入名為 AWR_RPT_DUMP 的非預設資料庫目錄。

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(63,65,'HTML','AWR_RPT_DUMP');

將 AWR 資料擷取至傾印檔案

若要將 AWR 資料擷取至傾印檔案,請使用 rdsadmin.rdsadmin_diagnostic_util.awr_extract 程序。您只能在 PDB 層級使用此函數。

下列範例會擷取快照集範圍 101–106。輸出傾印檔案命名為 awrextract_101_106.dmp。您可以透過主控台存取此檔案。

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(101,106);

下列範例會擷取快照範圍 63–65。輸出傾印檔案命名為 awrextract_63_65.dmp。檔案存放在名為 AWR_RPT_DUMP 的非預設資料庫目錄中。

EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(63,65,'AWR_RPT_DUMP');

產生 ADDM 報告

若要產生 ADDM 報告,請使用 rdsadmin.rdsadmin_diagnostic_util.addm_report 程序。

下列範例會產生快照範圍 101–106 的 ADDM 報告。輸出文字檔案命名為 addmrpt_101_106.txt。您可以透過主控台存取報告。

EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(101,106);

下列範例會產生快照範圍 63–65 的 ADDM 報告。輸出文字檔案命名為 addmrpt_63_65.txt。檔案存放在名為 ADDM_RPT_DUMP 的非預設資料庫目錄中。

EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(63,65,'ADDM_RPT_DUMP');

產生 ASH 報告

若要產生 ASH 報告,請使用 rdsadmin.rdsadmin_diagnostic_util.ash_report 程序。

下列範例會產生 ASH 報告,其中包含 14 分鐘前到目前時間的資料。輸出檔案的名稱使用格式 ashrptbegin_timeend_time.txt,其中 begin_timeend_time 使用格式 YYYYMMDDHH24MISS。您可以透過主控台存取該檔案。

BEGIN rdsadmin.rdsadmin_diagnostic_util.ash_report( begin_time => SYSDATE-14/1440, end_time => SYSDATE, report_type => 'TEXT'); END; /

下列範例會產生 ASH 報告,其中包含 2019 年 11 月 18 日下午 6 時 07 分至 2019 年 11 月 18 日下午 6 時 15 分的資料。輸出 HTML 報告的名稱為 ashrpt_20190918180700_20190918181500.html。報告存放在名為 AWR_RPT_DUMP 的非預設資料庫目錄中。

BEGIN rdsadmin.rdsadmin_diagnostic_util.ash_report( begin_time => TO_DATE('2019-09-18 18:07:00', 'YYYY-MM-DD HH24:MI:SS'), end_time => TO_DATE('2019-09-18 18:15:00', 'YYYY-MM-DD HH24:MI:SS'), report_type => 'html', dump_directory => 'AWR_RPT_DUMP'); END; /

從主控台或 CLI 存取 AWR 報告

若要存取 AWR 報告或匯出傾印檔案,您可以使用 AWS 管理主控台 或 AWS CLI。如需詳細資訊,請參閱下載資料庫日誌檔案