Oracle 使用 PL/SQL Developer 生成 AWR 报告

1,536 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

AWR的概念  

Oracle数据库是一个使用量很多的数据库,关于Oracle数据库的性能。Oracle10g以后,Oracle提供了一个性能检测的工具:AWR(Automatic Workload Repository 自动工作负载库)这个工具可以自动采集Oracle运行中的负载信息,并生成与性能相关的统计数据。我们可以根据这些统计数据来分析一些潜在的问题。

AWR的原理

Oracle启动后,后台会有个进程去每小时采集一次系统的快照信息,信息采集来源为: V$active_Session_History视图。该视图可以展示最近活动会话的历史记录。并将采集到的信息保存8天。(查询SQL:select * from dba_hist_wr_control;)采样频率和保存时间可配置。

快照由MMON和MMNL的进程自动地每隔固定时间采集一次。MMON进程负责执行多种和管理相关的后台任务,MMNL负责执行轻量级切高频率的管理相关的后台任务。

Oracle AWR报告是用来分析数据库故障和性能的重要指标报告!

生成 awr 报告通常在数据库服务器端,oracle 用户下执行命令:

sqlplus / as sysdba @?/rdbms/admin/awrrpt.sql

执行完之后生成一个 html 报告,Linux 服务器无法直接查看,需要从服务器取出!

但是,事有例外,有些数据库服务器禁止取出文件!咋个办呢?

这个时候,我们可以通过 pl/sql developer 连接数据库,进行本地导出,或者配置 oracle 客户端进行本地导出!

⭐️ 以下演示如何使用 pl/sql developer 来导出 AWR 报告:

如果在 command 中执行,将报错如下: 那么,如何解决呢?

需要找一个可以取出文件的数据库服务器,将 $ORACLE_HOME/rdbms/admin 目录下四个文件取出: image.png 然后就可以执行了。


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️