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

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

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

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

在 中使用AWR報告 RDS

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

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

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

  • AWR 報告

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

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

  • Oracle Data Pump Export 傾印AWR資料檔案

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的報告。

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

ADDM 使用 rdsadmin_diagnostic_util 套件管理 AWR和 時,您通常會使用以下參數。

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

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 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會使用目前 DBID,如 V$DATABASE.DBID 檢視所示。

ASH 使用 rdsadmin_diagnostic_util 套件管理時,您通常會使用以下參數。

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

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 Management Console存取此報告。

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 程序。

下列範例會擷取快照集範圍 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; /

從主控台或 存取AWR報告 CLI

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