设置定时清理Oracle长时间|设置定时清理Oracle长时间 INACTIVE session 脚本
设置定时清理Oracle长时间 INACTIVE session 脚本
复制直接执行,或者编辑到文件执行
#### 设置定时清理Oracle长时间 INACTIVE session 脚本
if [ ! -d "/home/oracle/cront/" ];
then
mkdir /home/oracle/cront
else
echo "Do nothing"
fi
# /home/oracle/cront/ks.sql
echo "set trimspool on
spool /home/oracle/cront/kills.sh replace
set pagesize 0
set heading off
set linesize 32767
SELECT 'kill -9 ' || P.SPID FROM V\$PROCESS P WHERE P.ADDR IN (SELECT B.PADDR FROM V\$SESSION B WHERE B.TYPE = 'USER' AND B.STATUS = 'INACTIVE' AND B.LAST_CALL_ET > 3600);
exit;
spool off" > /home/oracle/cront/ks.sql
# /home/oracle/cront/debug.sql
echo "oradebug wakeup 2;
exit;
" > /home/oracle/cront/debug.sql
# /home/oracle/cront/ks.sh
echo '#!/bin/bash' > /home/oracle/cront/ks.sh
echo "source /home/oracle/.bash_profile
sqlplus / as sysdba @/home/oracle/cront/ks.sql
grep \"kill\" /home/oracle/cront/kills.sh > /home/oracle/cront/kill.sh
echo -e >> /home/oracle/cront/cron_kill.log
echo \"################# Started 'kill -9' commend at \`date +'%F %T %A'\` ##################\" > /home/oracle/cront/cron_kill.log
echo -e >> /home/oracle/cront/cron_kill.log
# Kill session
/home/oracle/cront/kill.sh >> /home/oracle/cront/cron_kill.log
# oradebug
echo \"# oradebug , No Information Return\" >> /home/oracle/cront/cron_kill.log
sqlplus / as sysdba @/home/oracle/cront/debug.sql
# Info
echo -e >> /home/oracle/cront/cron_kill.log
echo \"Warning: \`cat /home/oracle/cront/kill.sh | wc -l\` processes Killed. \" >> /home/oracle/cront/cron_kill.log
echo -e >> /home/oracle/cront/cron_kill.log
echo \"################Stoped at \`date +'%F %T'\` ################\" >> /home/oracle/cront/cron_kill.log
" >> /home/oracle/cront/ks.sh
# Grant execute permission
chmod +x /home/oracle/cront/*
# Add Crontd
(crontab -l | grep -v "ks.sh") | crontab
(crontab -l ;
echo "*/30 * * * * /bin/bash /home/oracle/cront/ks.sh") | crontab
推荐阅读
- 第6.2章(设置属性)
- 15、IDEA学习系列之其他设置(生成javadoc、缓存和索引的清理等)
- linux定时任务contab
- 芯灵思SinlinxA33开发板Linux内核定时器编程
- performSelectorOnMainThread:withObject:waitUntilDone:参数设置为NO或YES的区别
- spring|spring boot中设置异步请求默认使用的线程池
- 樊樊分享的扫除道
- Python绘制小红花
- STM32F4|STM32F4 TIM6 TIM7 基本定时器
- day|day 28 设置路由表