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

OGG运维优化脚本(五)-信息修改类--批量注释

2017-06-19 03:28 477 查看
文件名:comment.sh
路径:$HOME/ggscript/ggcomment
功能:该脚本基于数据库每月大批量注释源端表进行数据清理,要求数据同步配合注释大量配置表而设计
通过edit脚本选择并调用
日志路径:$HOME/gglog/ggcomment
#!/bin/bash
backuptime=`date +%Y%m%d-%H%M`
echo "This script is used to annotate the specified table!(created by renyi)"
echo $backuptime > ''$HOME'/gglog/ggcomment/InsertLog-'$backuptime'.log'
read -n 1

#输入需要进行批量注释操作的E进程文件名(prm结尾)
ls -lrt $HOME/ggserver/dirprm/e*.prm
read -p "Please enter the prm file name:"  val

#输入你需要注释的表名,不要加TABLE和分号
echo "Please Enter the table you need to annotate"
read -n 1
vi annotmp

echo "---annotate table --------" > ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log'
cat  annotmp  >>  ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log'

#备份prm配置文件
cp $HOME/ggserver/dirprm/$val $HOME/ggserver/dirprm/bak/$val.$backuptime.bak

echo "backup the '$val' to the '$HOME/ggserver/dirprm/bak/$val.$backuptime.bak'"  >> ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log'
#选择操作类型
echo ch
echo "Operating table you want to belong to what state?"
select ch in "parameter" "noparameter" "REPLICAT" "exit"
do
#全部需注释表带有参数
case $ch in
"parameter")
sed 's/^/TABLE /' annotmp > table1
sed 's/$/,/' table1 > table2
break;
;;
#全部需注释表不带有参数
"noparameter")

sed 's/^/TABLE /' annotmp > table1
sed 's/$/;/' table1 > table2
break;
;;

"exit")
echo "process break"
exit 2;
;;

*)
echo "Please select your choice :"1.parameter" "2.noparameter"  "exit""
;;
esac
done;
echo $TAL
i=1
num=`sed -n '$=' table2`

#注释操作
while [ "$i" -le "$num" ]
do

TAL=`sed -n $i'p' table2`
#     echo $TAL
#    echo --$TAL
sed "s/$TAL/--$TAL/g"  $HOME/ggserver/dirprm/$val    > tmp2
cat  tmp2 > $HOME/ggserver/dirprm/$val
((i++));
done

echo "process complete"  >> ''$HOME'/gglog/ggcomment/annoLog-'$backuptime'.log'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ORACLE GOLDENGATE OGG