查找数据库中的topsql语句


1、查找使用资源最多的SQL语句:
(较高的磁盘读取(disk_reads消耗I/O)和较高的逻辑读取(buffer_gets消耗CPU)被用作衡量标准)
select sql_text from
(select sql_text,executions,buffer_gets,disk_reads
from v$sql
where buffer_gets > 100000
or disk_reads > 100000
order by buffer_gets + 100*disk_reads DESC)
where rownum <= 5;

2、查找使用CPU最多的SQL语句:
(较高的逻辑读取(buffer_gets消耗CPU)被用作衡量标准)
select sql_text from
(select sql_text,executions,buffer_gets,disk_reads
from v$sql
where buffer_gets > 100000
order by buffer_gets desc)
where rownum <= 5;
或者
(直接使用v$sql里的cpu_time)
select sql_text,
round(cpu_time/1000000, 2) cpu_seconds from
(select * from v$sql order by cpu_time desc)
where rownum <= 5;


3、查找使用磁盘I/O最多的SQL语句:
(较高的磁盘读取(disk_reads消耗I/O)被用作衡量标准)
select sql_text from
(select sql_text,executions,buffer_gets,disk_reads
from v$sql
where disk_reads > 100000
order by disk_reads desc)
where rownum <= 5;

4、查找占用数据库时间最多的SQL语句:
select sql_text,round(elapsed_time/1000000, 2) elapsed_seconds,executions from
(select * from v$sql order by elapsed_time desc)
where rownum <= 5;

5、查找执行次数(executions)最多的SQL语句:
select sql_text, executions from
(select * from v$sql
where executions > 1000
order by executions desc)
where rownum <= 5;

6、查找解析调用最多的SQL语句:
select sql_text,parse_calls from
(select * from v$sql
where parse_calls > 1000
order by parse_calls desc)
where rownum <= 5;

7、查找使用共享内存最多的SQL语句:
(使用共享内存大于1048576(bytes)的SQL语句会显示)
select sql_text,sharable_mem from
(select * from v$sql
where sharable_mem > 1048576
order by sharable_mem desc)
where rownum <= 5;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26194851/viewspace-750177/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26194851/viewspace-750177/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#!/bin/sh #安装插件 cd /root/mysql if test -e ./sharutils-4.6.1-2.x86_64.rpm then echo 'sharutils开始安装...' rpm -ivh sharutils-4.6.1-2.x86_64.rpm echo 'sharutils安装完成...' else echo 'sharutils文件不存在!' exit fi #安装msql8 if test -e ./mysql8.0.19_64-636.sh then if test -e ./mysql8.0.19_64-636.sh.sha256 then echo '准备安装mysql8' sh ./mysql8.0.19_64-636.sh else echo 'mysql8.sha256文件不存在!' exit fi else echo 'mysql8.sh文件不存在!' exit fi if [ $? -eq 0 ]; then echo 'mysql安装完成...' else echo 'mysql安装失败!' exit fi #执行重启不需验证 /topwalk/baseapp/bin/mysqld restart --skip_grant_tables #安装tcl sh ./tcl-install.sh if [ $? -eq 0 ]; then echo 'tcl安装完成...' else echo 'tcl安装失败!' exit fi #安装expect sh ./expect-install.sh if [ $? -eq 0 ]; then echo 'expect安装完成...' else echo 'expect安装失败!' exit fi #创建mysql用户,授权 sh ./initdb.sh if [ $? -eq 0 ]; then echo 'mysql用户创建,授权完成...' else echo 'mysql用户创建,授权失败!' exit fi ln -s /topwalk/baseapp/bin/mysqld /etc/init.d/ sed -i '/MYSQL_HOME/d' /etc/profile echo "export MYSQL_HOME=/topwalk/baseapp/mysql" >>/etc/profile echo 'export PATH=$PATH:$MYSQL_HOME/bin' >>/etc/profile systemctl enable mysqld source /etc/profile service mysqld restart #初始化库 /topwalk/baseapp/mysql/bin/mysql -udms -ptRstOpwalkroot0823 < topsql/CREATE_TOPBASIC.sql /topwalk/baseapp/mysql/bin/mysql -udms -ptRstOpwalkroot0823 < topsql/CREATE_TOPDMS.sql /topwalk/baseapp/mysql/bin/mysql -udms -ptRstOpwalkroot0823 < topsql/CREATE_TOPUIS.sql #初始化表 /topwalk/baseapp/mysql/bin/mysql -udms -ptRstOpwalkroot0823 TOPBASIC < topsql/TOPBASIC.sql /topwalk/baseapp/mysql/bin/mysql -udms -ptRstOpwalkroot0823 TOPDMS < topsql/TOPDMS.sql /topwalk/baseapp/mysql/bin/mysql -udms -ptRstOpwalkroot0823 TOPUIS < topsql/TOPUIS.sql #安装nginx cp -dpRf ./nginx /usr/local/ useradd nginx -m -d /usr/local/nginx/ -s /bin/bash chown -R nginx.nginx /usr/local/ngi
最新发布
07-14

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值