最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle數據庫AWR報告的生成步驟與分析方法

 更新時間:2026年04月10日 09:26:41   作者:晴天¥  
本文介紹了在Oracle數據庫中生成AWR報告的基本步驟和方法,以及分析AWR報告的五步法:1 看整體負載;2 查看等待事件;3 了解SQL統計;4 調查時間模型;5 分析操作系統和內存,需要的朋友可以參考下

Oracle中要想生成 AWR(Automatic Workload Repository)報告,最常用的方法是通過 Oracle 自帶的命令行腳本。AWR 報告是分析數據庫性能、定位瓶頸的利器,生成步驟并不復雜,主要分為確認權限、執(zhí)行腳本選擇范圍三步。

一、登錄數據庫

首先,你需要以具有足夠權限的數據庫管理員賬號登錄到數據庫所在的服務器,并連接到數據庫。

打開終端,輸入以下命令登錄到數據庫服務器,并使用 sqlplus 工具以 sysdba(系統管理員)身份連接:

# 切換到 oracle 用戶 (通常為 oracle)
su - oracle
# 以 sysdba 身份登錄
sqlplus / as sysdba

二、執(zhí)行 AWR 報告生成腳本

登錄成功后,執(zhí)行 Oracle 內置的報告生成腳本 awrrpt.sql 。這個腳本會引導你一步步完成報告的生成。

SQL> @?/rdbms/admin/awrrpt.sql

命令解釋@表示執(zhí)行一個 SQL 腳本,? 是 $ORACLE_HOME 路徑的簡寫。因此,這條命令會完整地定位到該腳本并執(zhí)行它。

三、選擇報告類型與時間范圍

腳本執(zhí)行后,系統會提示你進行幾個簡單的選擇,按需輸入即可

3.1.選擇報告格式

Enter value for report_type: html
        1.html:生成HTML格式,圖形化界面,推薦選擇
        2.text:生成純文本格式。

3.2.選擇時間范圍(最關鍵的一步)

AWR 基于快照來記錄性能數據。你需要選擇開始快照結束快照的 ID,報告將展示這兩個時間點之間的性能情況。

系統會列出最近可用的快照及其對應的時間,例如:

Snap     Instance     Snap Started
-------- ------------ -----------------------
   123    ORCL        09 Apr 2026 10:00
   124    ORCL        09 Apr 2026 11:00
   125    ORCL        09 Apr 2026 12:00

指定開始時間:輸入你分析時間段的起始快照 ID,例如 124

指定結束時間:輸入結束快照 ID,例如 125

注意:AWR 默認每小時自動生成一次快照。如果你的數據庫是新安裝的,可能需要等待一段時間才能有足夠的數據來生成有意義的報告

3.3.指定AWR報告名稱

Enter value for report_name: awr_report_20260409.html

整體示例:

[oracle@rac01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Apr 9 14:41:40 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> @?/rdbms/admin/awrrpt.sql
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
AWR reports can be generated in the following formats.  Please enter the
name of the format at the prompt.  Default value is 'html'.
'html'          HTML format (default)
'text'          Text format
'active-html'   Includes Performance Hub active report
Enter value for report_type: html
old   1: select 'Type Specified: ',lower(nvl('&&report_type','html')) report_type from dual
new   1: select 'Type Specified: ',lower(nvl('html','html')) report_type from dual
Type Specified:  html
old   1: select '&&report_type' report_type_def from dual
new   1: select 'html' report_type_def from dual
old   1: select '&&view_loc' view_loc_def from dual
new   1: select 'AWR_PDB' view_loc_def from dual
Current Instance
~~~~~~~~~~~~~~~~
DB Id          DB Name        Inst Num       Instance       Container Name
-------------- -------------- -------------- -------------- --------------
 1747225139     ORCL                        1 orcl           orcl
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  DB Id      Inst Num   DB Name      Instance     Host
------------ ---------- ---------    ----------   ------
* 1747225139     1      ORCL         orcl         rac01.exampl
Using 1747225139 for database Id
Using          1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed.  Pressing <return> without
specifying a number lists all completed snapshots.
Enter value for num_days: 1
Listing the last day's Completed Snapshots
Instance     DB Name      Snap Id       Snap Started    Snap Level
------------ ------------ ---------- ------------------ ----------
orcl         ORCL                57  09 Apr 2026 12:56    1
                                 58  09 Apr 2026 14:00    1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 57
Begin Snapshot Id specified: 57
Enter value for end_snap: 58
End   Snapshot Id specified: 58
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_57_58.html.  To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: awr_report_20260409.html
Using the report name awr_report_20260409.html
<html lang="en"><head><title>AWR Report for DB: ORCL, Inst: orcl, Snaps: 57-58</title>
............
............
............
End of Report
</body></html>
Report written to awr_report_20260409.html
SQL>

四、獲取報告文件

完成上述選擇后,腳本會自動生成報告并保存在你當前登錄的目錄下。

你可以在當前 sqlplus 所在的路徑下找到生成的報告文件(例如 awr_report_20260409.html),使用 ls 命令確認后,通過遠程工具將其下載到本地,用瀏覽器打開即可查看。

五、分析AWR性能報告

5.1.AWR 報告分析入門:五步法

分析一份有實際負載的 AWR 報告,通常遵循以下五個核心步驟。你可以把這個方法套用到未來的任何報告分析中。

Elapsed:消耗

parse:解析

第一步:看整體負載 —— “數據庫忙不忙?”

  • 核心指標DB Time
  • 位置:報告開頭的 Snapshot 信息表和 Load Profile 部分。

分析方法:

DB Time 是數據庫處理用戶請求花費的總時間。將它除以 Elapsed Time(快照時長),可以算出平均活動會話數。

  • 平均活動會話 = DB Time / Elapsed Time
  • 例如:DB Time = 100分鐘,Elapsed Time = 10分鐘,則平均有 10 個會話在并發(fā)工作。

在我的AWR報告中分析:DB Time = 0,則平均活動會話 = 0。結論是數據庫處于完全空閑狀態(tài)。

第二步:看等待事件 —— “瓶頸在哪里?”

  • 核心部分Top 10 Foreground Events by Total Wait Time
  • 位置:Main Report -> Wait Events Statistics -> Top 10 Foregroud Events...

  • 分析方法:這里列出了消耗數據庫時間最多的“等待”。通過分析等待事件類型,可以快速定位問題。
    • CPU:DB CPU 排在首位且占比高(例如 > 90%),說明系統在高效計算,而非等待資源。
    • I/O 相關: db file sequential / scattered read,說明磁盤 I/O 可能是瓶頸。
    • 并發(fā)相關:如 buffer busy waits ,說明存在熱點數據塊爭用。
    • 網絡/配置相關:如 log file sync,說明日志寫入可能存在延遲。
    • 在我的AWR報告分析中:只有 DB CPU 和 ADR block file read 等少數幾個事件,且等待時間(Wait Time)為 0,說明沒有有意義的等待事件

第三步:看 SQL 統計 —— “是哪些 SQL 在消耗資源?”

  • 核心部分SQL Statistics
  • 位置:Main Report -> SQL Statistics -> 重點關注SQL ordered by Elapsed Time和SQL ordered by Cpu Time

  • 分析方法:這個區(qū)域會列出消耗資源最多的 SQL 語句。
    • 重點關注 Elapsed Time (s)CPU Time (s)、Executions(執(zhí)行次數)、Buffer Gets(邏輯讀)。
    • 查找“昂貴”的 SQL:單次執(zhí)行耗時很長,或執(zhí)行次數非常多的 SQL。
    • 可以記錄下SQL Id,然后去數據庫里用 DBMS_SQLTUNE 包或查看執(zhí)行計劃進行優(yōu)化。
  • 報告分析中:此處有數據,但 Elapsed Time 都遠小于 1 秒,%Total 的百分比巨大是由于總 DB Time 為 0 導致的異常。沒有需要優(yōu)化的 SQL。

第四步:看時間模型 —— “時間都花在哪兒了?”

  • 核心部分:Time Model Statistics
  • 位置:Main Report -> Wait Events Statistics -> Time Model Statisstics

  • 分析方法:這里展示了數據庫時間花在了前臺(DB Time)還是后臺(background time),以及具體花費在解析 SQL、硬解析等環(huán)節(jié)的時間比例。
    • 重點關注 parse time elapsed 占總 DB Time 的比例,如果過高(例如 >10%),說明存在解析問題。
    • hard parse elapsed time過高,說明可能存在未使用綁定變量導致的游標緩存失效問題。

第五步:看操作系統和內存 —— “硬件資源夠不夠?”

  • 核心部分Host CPU 和 Memory Statistics
  • 位置:Main Report -> Report Summary 和 Memory Statistics。

分析方法:

  • CPU:查看 Load Average (系統平均負載)是否超過了邏輯 CPU 總數。你的服務器有 2 個 CPU,Load Average 僅為 0.3 左右,非常低。
  • 內存:查看 Memory Statistics 中 %Host Mem used for SGA + PGA,以及是否存在大量換頁(報告中未顯示,但可從操作系統層面查看)。
  • 報告分析:CPU 和內存資源都非常充足。

以上就是Oracle數據庫AWR報告的生成步驟與分析方法的詳細內容,更多關于Oracle AWR報告生成與分析的資料請關注腳本之家其它相關文章!

相關文章

  • Mac上Oracle數據庫的安裝及過程中一些問題的解決

    Mac上Oracle數據庫的安裝及過程中一些問題的解決

    這篇文章主要介紹了Mac上安裝Oracle數據庫的安裝及過程中一些問題的解決,需要的朋友可以參考下
    2015-12-12
  • Oracle 12.2監(jiān)聽無法啟動解決方法

    Oracle 12.2監(jiān)聽無法啟動解決方法

    這篇文章主要介紹了Oracle 12.2監(jiān)聽無法啟動解決方法,需要的朋友可以參考下
    2017-11-11
  • Oracle中游標Cursor基本用法詳解

    Oracle中游標Cursor基本用法詳解

    這篇文章主要介紹了Oracle中游標Cursor基本用法詳解,還是比較全面的,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Oracle查看表結構命令詳解

    Oracle查看表結構命令詳解

    這篇文章主要介紹了Oracle查看表結構命令詳解的相關資料,需要的朋友可以參考下
    2017-07-07
  • oracle數據庫超全的多表查詢連接

    oracle數據庫超全的多表查詢連接

    這篇文章主要給大家介紹了關于oracle數據庫超全的多表查詢連接的相關資料,多表連接查詢實際上是通過各個表之間公共字段的關鍵性來查詢數據的,它是關系數據庫查詢的最主要的特征,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • 運行在容器中的Oracle XE-11g

    運行在容器中的Oracle XE-11g

    今天小編就為大家分享一篇關于運行在容器中的Oracle XE-11g,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • oracle存儲過程創(chuàng)建表分區(qū)實例

    oracle存儲過程創(chuàng)建表分區(qū)實例

    二種oracle存儲過程創(chuàng)建表分區(qū)實例
    2013-11-11
  • Oracle在DML語句中使用returing?into子句

    Oracle在DML語句中使用returing?into子句

    這篇文章介紹了Oracle在DML語句中使用returing?into子句的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Oracle的substr和instr函數簡單用法

    Oracle的substr和instr函數簡單用法

    這篇文章主要介紹了Oracle的substr和instr函數簡單用法 的相關資料,需要的朋友可以參考下
    2015-12-12
  • 通過sql準確查出一天數據的方法

    通過sql準確查出一天數據的方法

    之前做一個項目的時候想用sql查出某人一天做的數據,但怎么查都沒有準確查出。最近通過查閱萬卷書籍終于知道了如何準確查出一天的數據。所以想著總結出來分享給大家,或許對有需要的朋友們能帶來一定的幫助,下面來一起看看吧。
    2016-12-12

最新評論

玛曲县| 酉阳| 南溪县| 苍南县| 百色市| 平安县| 姜堰市| 余干县| 望城县| 浦北县| 望城县| 东乡| 红原县| 瑞昌市| 同德县| 新泰市| 龙游县| 东丰县| 南丹县| 沽源县| 胶州市| 明星| 益阳市| 玛纳斯县| 山阳县| 定兴县| 龙井市| 稻城县| 健康| 房产| 阿坝| 岳池县| 柯坪县| 紫云| 历史| 贡觉县| 酒泉市| 舟曲县| 惠来县| 滨州市| 抚顺县|