文件名: fullrestart.sh
路径 $HOME/ggscript/ggoperat
这个脚本属于为了应付某台非常头疼的业务数据库服务器OGG频繁延时的问题而特别写的
因为这台数据库每天晚上会调用大量的job 以及并发操作,因此导致OGG 数据抽取进程频繁的延时
必须强制杀除长事务才能正常恢复。
否则延时会一直拖到归档文件被自动备份走。导致进程异常中断为止。
跟业务沟通数据库调优,同时联系oracle原厂多次排查,无解后,不得不以该强制时间点调整脚本每天凌晨5点通过计划任务自动运行确保整体线路的正常运行。
希望各位不会遭遇这种头疼的问题吧
该脚本比较暴力请谨慎使用。不能保证100%恢复
#!/bin/bash if [ $# -eq 0 ]; then echo "INFO EXTRACT" exit 2 fi cd #HOME if [ -f .profile ];then . .profile fi if [ -f .bash_profile ];then . .bash_profile fi backuptime=`date +%Y%m%d-%H%M%S` val=$1 val=`echo $val|tr a-z A-Z` if [ `echo $val|grep ^E` ];then IType=EXTRACT elif [ `echo $val|grep ^P` ];then IType=POST elif [ `echo $val|grep ^R` ];then IType=REPLICAT else echo "only can operate the EXTRACT REPLICAT and the POST process" exit 2 fi pro=`echo $val.PRM|tr A-Z a-z` cd $HOME/ggserver/dirprm if [ ! -e $pro ]; then echo "the PROCESS is not exist" exit 2 fi #cd $HOME/ggscript/ggoperat cd $HOME/ggserver (echo KILL $val;echo exit)|./ggsci cd $HOME/ggserver (echo INFO $val;echo exit)|./ggsci|grep Thread > $HOME/ggscript/ggoperat/thread cd $HOME/ggscript/ggoperat cat thread |awk '{print $1}' > $HOME/ggscript/ggoperat/tmp1 cat thread |awk '{print $2}' > $HOME/ggscript/ggoperat/tmp2 paste -d' ' tmp1 tmp2 > tmp join tmp1 tmp2 rm -f tmp1 rm -f tmp2 rm -f thread sort -n tmp > temp rm -f tmp time=`sed -n 1p temp` rm -f temp cd $HOME/ggserver echo "alter $val begin $time" > dirdat/altertime echo "start $val" >> dirdat/altertime (echo OBEY dirdat/altertime;echo exit) |./ggsci
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。