您的位置:首页 > 运维架构

OGG运维优化脚本(二十)-进程操作类--强制时间点调整

2017-06-19 13:24 417 查看
文件名: 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ORACLE GOLDENGATE OGG
相关文章推荐