监控oracle系统的性能
来源:互联网 发布:测试网络ping 编辑:程序博客网 时间:2024/05/29 16:43
监控系统的性能 ---oracle database 11g 性能优化攻略
1.awr报告
把数据库的历史性能信息保存起来,要开启awr报告,必须设置参数statistics_level为typical或all
存储在awr报告中的信息类型包括如下:
与对象访问和使用相关的统计信息
时间模型统计信息
会话统计信息
系统统计信息
sql语句
2.修改awr保留时间和信息收集时间间隔
查询保留时间和时间间隔:
SELECT EXTRACT(day from retention) || ':' ||
EXTRACT(hour from retention) || ':' ||
EXTRACT (minute from retention) awr_snapshot_retention_period,
EXTRACT (day from snap_interval) *24*60+
EXTRACT (hour from snap_interval) *60+
EXTRACT (minute from snap_interval) awr_snapshot_interval
FROM dba_hist_wr_control;
修改保留时间和收集时间间隔
exec dbms_workload_repository.modify_sanpshot_setting(retention=>43200,interval=>30)
3.手动生成awr报告
通过执行$ORACLE_HOME/rdbms/admin/awrrpt.sql脚本或者通过调用oracle提供api中的dbms_workload_repository中的awr_report_text或者awr_report_html
4.通过企业管理器生成一份awr报告
5.为一条sql生成一个awr报告
执行$ORACLE_HOME/rdbms/admin/awrsqrpt.sql
6.为数据库创建统计基线
固定基线
移动基线
7.通过企业管理器创建awr管理基线
8.管理awr统计信息库
通过dbms_workload_repository包管理统计信息库
重命名一个基线
删除一个基线
删除一个快照范围
exec dbms_workload_repository.rename_baseline('oldname','newname');
exec dbms_workload_repository.drop_baseline('name')
exec dbms_workload_repository.drop_snapshot_range(num1,num2)
9.自动创建基线
10.快速分析awr报告输出
数据库时间
实例效率
耗时排在前5的等待时间
top sql
11.手工获取会话的信息
ASH(活动会话历史)通过执行ashrpt.sql
12.从企业管理器获取ash信息
13.从数据库字典中获取ash信息
v$active_session_history视图可以用来获取当前或者最近数据库中的会话
v$dba_hist_active_sess_history用来存取ash历史信息
过去15分钟内数据库中的所有等待事件以及他们总的等待时间
SELECT s.event, sum(s.wait_time + s.time_waited) total_wait
FROM v$active_session_history s
WHERE s.sample_time between sysdate - 1 / 24 / 4 AND sysdate
GROUP BY s.event
ORDER BY 2 desc;
过去15分钟内使用最多cpu资源的前5位会话
column username format a12
column module format a30
SELECT *
FROM (SELECT s.username, s.module, s.sid, s.serial#, count(*)
FROM v$active_session_history h, v$session s
WHERE h.session_id = s.sid
AND h.session_serial# = s.serial#
AND session_state = 'ON CPU'
AND sample_time > sysdate - interval '15' minute
GROUP BY s.username, s.module, s.sid, s.serial#
ORDER BY count(*) desc)
where rownum <= 5;
过去15分钟内使用最多cpu资源的前5位数据库对象列表
SELECT *
FROM (SELECT o.object_name,
o.object_type,
s.event,
SUM(s.wait_time + s.time_waited) total_waited
FROM v$active_session_history s, dba_objects o
WHERE s.sample_time between sysdate - 1 / 24 / 4 and sysdate
AND s.current_obj# = o.object_id
GROUP BY o.object_name, o.object_type, s.event
ORDER BY 4 desc)
WHERE rownum <= 5;
过去一天中使用资源最多的用户
SELECT *
FROM (SELECT u.username,
h.module,
h.session_id sid,
h.session_serial# serial#,
count(*)
FROM dba_hist_active_sess_history h, dba_users u
WHERE h.user_id = u.user_id
AND session_state = 'ON CPU'
AND (sample_time between
to_date('2011-05-15:00:00:00', 'yyyy-mm-dd:hh24:mi:ss') AND
to_date('2011-05-15:23:59:59', 'yyyy-mm-dd:hh24:mi:ss'))
AND u.username != 'SYS'
GROUP BY u.username, h.module, h.session_id, h.session_serial#
ORDER BY count(*) desc)
where rownum <= 5;
使用最多的对象
SELECT *
FROM (SELECT o.object_name,
o.object_type,
s.event,
SUM(s.wait_time + s.time_waited) total_waited
FROM dba_hist_active_sess_history s, dba_objects o
WHERE s.sample_time between
to_date('2011-05-15:00:00:00', 'yyyy-mm-dd:hh24:mi:ss') AND
to_date('2011-05-15:23:59:59', 'yyyy-mm-dd:hh24:mi:ss')
AND s.current_obj# = o.object_id
GROUP BY o.object_name, o.object_type, s.event
ORDER BY 4 desc)
WHERE rownum <= 5;
1.awr报告
把数据库的历史性能信息保存起来,要开启awr报告,必须设置参数statistics_level为typical或all
存储在awr报告中的信息类型包括如下:
与对象访问和使用相关的统计信息
时间模型统计信息
会话统计信息
系统统计信息
sql语句
2.修改awr保留时间和信息收集时间间隔
查询保留时间和时间间隔:
SELECT EXTRACT(day from retention) || ':' ||
EXTRACT(hour from retention) || ':' ||
EXTRACT (minute from retention) awr_snapshot_retention_period,
EXTRACT (day from snap_interval) *24*60+
EXTRACT (hour from snap_interval) *60+
EXTRACT (minute from snap_interval) awr_snapshot_interval
FROM dba_hist_wr_control;
修改保留时间和收集时间间隔
exec dbms_workload_repository.modify_sanpshot_setting(retention=>43200,interval=>30)
3.手动生成awr报告
通过执行$ORACLE_HOME/rdbms/admin/awrrpt.sql脚本或者通过调用oracle提供api中的dbms_workload_repository中的awr_report_text或者awr_report_html
4.通过企业管理器生成一份awr报告
5.为一条sql生成一个awr报告
执行$ORACLE_HOME/rdbms/admin/awrsqrpt.sql
6.为数据库创建统计基线
固定基线
移动基线
7.通过企业管理器创建awr管理基线
8.管理awr统计信息库
通过dbms_workload_repository包管理统计信息库
重命名一个基线
删除一个基线
删除一个快照范围
exec dbms_workload_repository.rename_baseline('oldname','newname');
exec dbms_workload_repository.drop_baseline('name')
exec dbms_workload_repository.drop_snapshot_range(num1,num2)
9.自动创建基线
10.快速分析awr报告输出
数据库时间
实例效率
耗时排在前5的等待时间
top sql
11.手工获取会话的信息
ASH(活动会话历史)通过执行ashrpt.sql
12.从企业管理器获取ash信息
13.从数据库字典中获取ash信息
v$active_session_history视图可以用来获取当前或者最近数据库中的会话
v$dba_hist_active_sess_history用来存取ash历史信息
过去15分钟内数据库中的所有等待事件以及他们总的等待时间
SELECT s.event, sum(s.wait_time + s.time_waited) total_wait
FROM v$active_session_history s
WHERE s.sample_time between sysdate - 1 / 24 / 4 AND sysdate
GROUP BY s.event
ORDER BY 2 desc;
过去15分钟内使用最多cpu资源的前5位会话
column username format a12
column module format a30
SELECT *
FROM (SELECT s.username, s.module, s.sid, s.serial#, count(*)
FROM v$active_session_history h, v$session s
WHERE h.session_id = s.sid
AND h.session_serial# = s.serial#
AND session_state = 'ON CPU'
AND sample_time > sysdate - interval '15' minute
GROUP BY s.username, s.module, s.sid, s.serial#
ORDER BY count(*) desc)
where rownum <= 5;
过去15分钟内使用最多cpu资源的前5位数据库对象列表
SELECT *
FROM (SELECT o.object_name,
o.object_type,
s.event,
SUM(s.wait_time + s.time_waited) total_waited
FROM v$active_session_history s, dba_objects o
WHERE s.sample_time between sysdate - 1 / 24 / 4 and sysdate
AND s.current_obj# = o.object_id
GROUP BY o.object_name, o.object_type, s.event
ORDER BY 4 desc)
WHERE rownum <= 5;
过去一天中使用资源最多的用户
SELECT *
FROM (SELECT u.username,
h.module,
h.session_id sid,
h.session_serial# serial#,
count(*)
FROM dba_hist_active_sess_history h, dba_users u
WHERE h.user_id = u.user_id
AND session_state = 'ON CPU'
AND (sample_time between
to_date('2011-05-15:00:00:00', 'yyyy-mm-dd:hh24:mi:ss') AND
to_date('2011-05-15:23:59:59', 'yyyy-mm-dd:hh24:mi:ss'))
AND u.username != 'SYS'
GROUP BY u.username, h.module, h.session_id, h.session_serial#
ORDER BY count(*) desc)
where rownum <= 5;
使用最多的对象
SELECT *
FROM (SELECT o.object_name,
o.object_type,
s.event,
SUM(s.wait_time + s.time_waited) total_waited
FROM dba_hist_active_sess_history s, dba_objects o
WHERE s.sample_time between
to_date('2011-05-15:00:00:00', 'yyyy-mm-dd:hh24:mi:ss') AND
to_date('2011-05-15:23:59:59', 'yyyy-mm-dd:hh24:mi:ss')
AND s.current_obj# = o.object_id
GROUP BY o.object_name, o.object_type, s.event
ORDER BY 4 desc)
WHERE rownum <= 5;
0 0
- 监控oracle系统的性能
- oracle性能优化四——数据库系统优化之linux下的tora监控
- ORACLE监控数据库性能的SQL
- oracle数据库性能监控的SQL
- oracle数据库性能监控的SQL
- 性能监控之oracle的SQL语句
- ORACLE监控数据库性能的SQL
- oracle监控数据库性能的SQL汇总
- Oracle监控数据库性能的SQL汇总
- 监控oracle性能的一些常用查询
- Oracle性能监控脚本
- Oracle性能监控脚本
- Oracle 性能监控
- Oracle性能监控脚本
- Oracle 性能监控脚本
- oracle性能监控
- Oracle性能监控脚本
- ORACLE 性能监控
- 编写高质量iOS和OS X代码的52个有效方法(笔记三)
- (决策树)C4.5算法
- 第四周 项目一 三角形类的构造函数(2)
- 不知道送什么礼物的可以看看
- Javascript 时间计算函数
- 监控oracle系统的性能
- java之垃圾回收和引用类型
- MFC窗口重绘相关汇总
- Android 应用程序之间内容分享详解(二)
- PPU物理运算处理器
- jackson annotations注解详解
- 为什么我在scrapy shell中没有看到hxs和xxs
- 给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和
- 【算法学习笔记】23.动态规划 解题报告 SJTU_OJ 1280 整装待发