Oracle性能优化:常用脚本分享
27 浏览量
更新于2024-09-04
收藏 44KB PDF 举报
"Oracle性能相关常用脚本(SQL)"
在Oracle数据库的管理与优化过程中,没有合适的可视化工具时,可以借助一些SQL脚本来监控和分析数据库的性能。以下两个脚本是针对Oracle 10g设计的,适用于找出对系统性能影响较大的SQL语句,但在Oracle 11g中可能需要进行相应的调整。
1. 寻找多BUFFER_GETS开销的SQL语句(top_sql_by_buffer_gets.sql)
这个脚本的主要目的是找出那些执行过程中缓冲区获取(BUFFER_GETS)次数异常高的SQL语句,这些语句通常会对数据库性能造成较大影响。通过设置LINESIZE和PAGESIZE来优化输出格式,然后从`v$sqlarea`视图中选取执行次数(executions)、磁盘读取(disk_reads)和缓冲区获取次数,并计算每执行一次的平均缓冲区获取次数。接着,筛选出平均值加上标准差以上的SQL,排除用户ID为3的(通常代表系统进程),最后按每执行一次的缓冲区获取次数降序排列,输出前10个结果。
```sql
SET LINESIZE 190
COL sql_text FORMAT a100 WRAP
SET PAGESIZE 100
SELECT *
FROM (
SELECT sql_text,
sql_id,
executions,
disk_reads,
buffer_gets
FROM v$sqlarea
WHERE DECODE(executions, 0, buffer_gets, buffer_gets/executions) >
(SELECT AVG(DECODE(executions, 0, buffer_gets, buffer_gets/executions))
+ STDDEV(DECODE(executions, 0, buffer_gets, buffer_gets/executions))
FROM v$sqlarea)
AND parsing_user_id != 3
)
ORDER BY 4 DESC
WHERE ROWNUM <= 10;
```
2. 寻找多DISK_READS开销的SQL语句(top_sql_disk_reads.sql)
这个脚本与上一个类似,但专注于找到执行过程中磁盘读取(DISK_READS)次数异常高的SQL语句。它也使用了相同的方法计算每执行一次的平均磁盘读取次数,并筛选出高于平均值加标准差的SQL语句,最后按每执行一次的磁盘读取次数降序排列,同样输出前10个结果。
```sql
SET LINESIZE 190
COL sql_text FORMAT a100 WRAP
SET PAGESIZE 100
SELECT *
FROM (
SELECT sql_text,
sql_id,
executions,
disk_reads,
buffer_gets
FROM v$sqlarea
WHERE DECODE(executions, 0, disk_reads, disk_reads/executions) >
(SELECT AVG(DECODE(executions, 0, disk_reads, disk_reads/executions))
+ STDDEV(DECODE(executions, 0, disk_reads, disk_reads/executions))
FROM v$sqlarea)
AND parsing_user_id != 3
)
ORDER BY 4 DESC
WHERE ROWNUM <= 10;
```
这两个脚本对于日常性能监控和问题定位非常有用,它们可以帮助DBA快速识别出对数据库性能有显著影响的SQL语句,进而采取优化措施,比如改写SQL、创建索引或调整表的分区策略等,以提升系统的整体性能。
2009-05-26 上传
2013-03-22 上传
2007-09-15 上传
2023-05-12 上传
2023-03-16 上传
2024-09-11 上传
2023-05-30 上传
2023-05-12 上传
2023-06-09 上传
weixin_38532629
- 粉丝: 5
- 资源: 921
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展