性能利用AWR查看Oracle数据库性能分析(awr查看oracle)
性能利用AWR查看Oracle数据库性能分析
Oracle数据库是一种管理极其灵活和强大的数据库,它具有高度可伸缩性、安全性、可管理性并支持云部署。Oracle数据库已经成为全球最受欢迎的企业级数据库之一。
在这样的背景下,Oracle数据库性能调优被广泛关注。为了提高数据库性能,提升用户体验和维护效率,Oracle提供了多种性能调优工具,其中AWR(自适应工作负载回顾)是一种非常常用的工具。
AWR是Oracle数据库自身的可用性和性能分析工具,它可以帮助管理Oracle数据库并分析数据库性能瓶颈。AWR使用数据库收集的统计信息,提供有关系统性能的详细信息。
AWR的优点有以下几个:
1. 收集数据容易,并提供易于理解的报告
2. 收集所有性能相关的信息
3. 可以灵活地切换报告看时间段,以提供不同的性能信息
4. 表现出Oracle数据库的内部运行情况
5. 可以生成各种格式的报告,例如HTML和CSV文件
然而,为了充分利用AWR,需要知道如何收集和解释AWR数据。
1. 收集AWR数据
在Oracle数据库中,可以使用以下命令生成AWR报告:
SQL> $ORACLE_HOME/rdbms/admin/awrrpt.sql
或
SQL> $ORACLE_HOME/rdbms/admin/awrinfo.sql
在运行这两个命令时,需要指定起始时间和结束时间。这些时间都使用UTC / GMT标准时间。
2. 解释AWR数据
在收集AWR数据之后,需要解析它,通过查看如下指标获得有关数据库性能的情况:
(1)维度指标
会话、程序、模块、用户、客户端、操作、事务、SQL ID,等。
(2)时间指标
例如:时间段内的CPU使用率、硬件资源的使用率等。
(3)统计信息
例如:时间段内的排序率和I / O率,分区和表的大小和形状等。
例如,下面的SQL语句可以让我们查看所有AWR快照之间发生的差异:
SELECT
start_snap_id,
end_snap_id,
begin_interval_time,
end_interval_time,
snap_interval
FROM
dba_hist_snapshot;
3. 将AWR报告与其他性能分析合并
除了使用AWR收集和解释Oracle数据库的性能指标之外,还可以将其与其他性能分析工具结合使用,以深入了解数据库性能问题。例如,您可以使用如下代码将AWR数据插入到表格中:
INSERT INTO [table_name](
INSTANCE_NUMBER,
DB_UNIQUE_NAME,
SNAP_ID,
TIME_STAMP,
BEGIN_INTERVAL_TIME,
END_INTERVAL_TIME,
DB_TIME,
DB_CPU,
RUN_QUEUE,
SCHEDULER_LOAD,
ROLLBACK_SEGMENTS,
LATCH_HIT_PERCENTAGE,
DICTIONARY_HIT_PERCENTAGE
)
SELECT
INSTANCE_NUMBER,
DB_UNIQUE_NAME,
SNAP_ID,
TIME_STAMP,
BEGIN_INTERVAL_TIME,
END_INTERVAL_TIME,
DB_TIME,
DB_CPU,
RUN_QUEUE,
SCHEDULER_LOAD,
ROLLBACK_SEGMENTS,
LATCH_HIT_PERCENTAGE,
DICTIONARY_HIT_PERCENTAGE
FROM
DBA_HIST_SYSMETRIC_SUMMARY
WHERE
METRIC_NAME IN (‘Database CPU Time Ratio’, ‘Rollback Segment Shrinks’)
AND END_INTERVAL_TIME = TO_DATE(‘&end_timestamp’, ‘YYYY-MM-DD HH24:MI:SS’);
在合并了AWR报告和其他性能分析后,您还可以再次收集AWR数据并分析差异以识别任何潜在的性能问题。
总结
AWR是Oracle数据库自身的可用性和性能分析工具,可以帮助管理Oracle数据库并分析数据库性能瓶颈。使用AWR可以收集所有性能相关的信息,并可以灵活地切换报告查看不同时间段的性能信息。与其他性能分析工具结合使用时,AWR可以更深入地了解数据库性能问题。