您的位置:首页 > 游戏 > 游戏 > 网上跨境电商是真的吗_视频下载软件_推广软件赚钱违法吗_广州seo代理计费

网上跨境电商是真的吗_视频下载软件_推广软件赚钱违法吗_广州seo代理计费

2025/3/13 1:18:38 来源:https://blog.csdn.net/weixin_44147924/article/details/146041749  浏览:    关键词:网上跨境电商是真的吗_视频下载软件_推广软件赚钱违法吗_广州seo代理计费
网上跨境电商是真的吗_视频下载软件_推广软件赚钱违法吗_广州seo代理计费

背景:公司业务侧DB服务器经常卡顿,编写简单的脚本去定时查找占用CPU或内存高的进程,并通过Top10的占用CPU进程找到可能对应的sql语句。

1、切换到oracle用户下,并新建一个放脚本的目录

</u2/oracle/product/12.2.0/dbhome_1> ll scripts/
-rw-r--r-- 1 oracle oinstall   903 Mar  4 19:46 T100_Check_CMIO.sh
-rw-r--r-- 1 oracle oinstall   548 Mar  4 17:57 T100_DB_CKSQL.sh
</u2/oracle/product/12.2.0/dbhome_1/scripts> cat T100_Check_CMIO.sh
#!/bin/bashDate=`date`
echo "当前检查时间为 $Date" >>`date +%Y-%m-%d_%H`.log
echo '=========占用CPU最多的十个进程=========' >> `date +%Y-%m-%d_%H`.log
ps aux|head -1 >> `date +%Y-%m-%d_%H`.log &&ps aux|grep -v PID|sort -rn -k +3|head >> `date +%Y-%m-%d_%H`.log
for i in `ps aux|grep -v PID|sort -rn -k +3|head |awk {'print $2'}`
doecho '占用CPU前十进程对应SQL语句'>>`date +%Y-%m-%d_%H`.logsh /u2/oracle/product/12.2.0/dbhome_1/scripts/T100_DB_CKSQL.sh $i >> `date +%Y-%m-%d_%H`.log
doneecho '==============分割线==========================' >> `date +%Y-%m-%d_%H`.log
echo '==============分割线==========================' >> `date +%Y-%m-%d_%H`.logecho '=========占用内存最多的五个进程=========' >> `date +%Y-%m-%d_%H`.log
ps aux|head -1 >> `date +%Y-%m-%d_%H`.log && ps aux|grep -v PID|sort -rn -k +4|head -5>> `date +%Y-%m-%d_%H`.log
</u2/oracle/product/12.2.0/dbhome_1/scripts> cat T100_DB_CKSQL.sh
#!/bin/bash
source /u1/usr/oracle/.profile
sqlplus -S / as sysdba <<EOF
spool /u2/oracle/product/12.2.0/dbhome_1/scripts/sql.log
select a.sql_text,a.sql_idFrom v\$sqltext awhere a.hash_value||a.address=(SELECT DECODE(sql_hash_value,0,prev_hash_value,sql_hash_value)||DECODE(sql_hash_value,0,prev_sql_addr,sql_address)FROM v\$session bWHERE b.paddr = (SELECT addr FROM v\$process c WHERE c.spid = $1))order by piece  ;
spool off
EOF

2、创建定时任务,每28分钟执行一次脚本

</u2/oracle/product/12.2.0/dbhome_1/scripts> crontab -l
*/28 * * * * sh /u2/oracle/product/12.2.0/dbhome_1/scripts/T100_Check_CMIO.sh & > /dev/null 2>&1

3、查看输出结果

</u2/oracle/product/12.2.0/dbhome_1/scripts> cd /u1/usr/oracle/
</u1/usr/oracle> ll
-rw-r--r-- 1 oracle oinstall   6775 Mar  4 19:56 2025-03-04_19.log
-rw-r--r-- 1 oracle oinstall  19796 Mar  4 20:56 2025-03-04_20.log
</u1/usr/oracle> cat 2025-03-04_19.log
当前检查时间为 Tue Mar  4 19:56:02 CST 2025
=========占用CPU最多的十个进程=========
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
oracle    94014  154  0.0 6732168 19912 ?       Rs   19:56   0:01 oracletoptst (LOCAL=NO)
oracle    90481 99.3  0.0 225893548 39624 ?     Rs   19:50   5:37 oracletopprd (LOCAL=NO)
oracle    94004 95.5  0.0 225886380 32536 ?     Rs   19:55   0:01 oracletopprd (LOCAL=NO)
oracle    93586 87.9  0.0 226243932 367400 ?    Rs   19:55   0:32 oracletopprd (LOCAL=NO)
oracle    91101 80.7  0.0 225952308 46336 ?     Ss   19:51   3:42 oracletopprd (LOCAL=NO)
oracle    91111 79.3  0.0 225952460 45512 ?     Rs   19:51   3:38 oracletopprd (LOCAL=NO)
root      92562 70.9  0.0 128432  3280 ?        S    03:08 715:01 exp                      owner=dsdata file=dsdata.dmp log=exp_dsdata.log
oracle    81273 69.2  0.0 225909400 44188 ?     Rs   19:38  11:47 oracletopprd (LOCAL=NO)
oracle    76661 68.7  0.0 225889548 38272 ?     Ss   19:31  16:38 oracletopprd (LOCAL=NO)
oracle    92724 57.2  0.0 226129124 257092 ?    Rs   19:54   0:40 oracletopprd (LOCAL=NO)
占用CPU前十进程对应SQL语句no rows selected占用CPU前十进程对应SQL语句no rows selected占用CPU前十进程对应SQL语句no rows selected占用CPU前十进程对应SQL语句SQL_TEXT                                                         SQL_ID
---------------------------------------------------------------- -------------
select dzba004, dzba010, dzba005 from   dzba_t where dzba001 = : 4dpv3g3rs0k7r
p1 AND dzba002 = :p2 AND dzba003 = :p3 AND dzba010 = 's'         4dpv3g3rs0k7r简略显示


 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com