这篇文章主要讲解了“数据库中怎么自动添加数据文件add_datafiles.sh”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库中怎么自动添加数据文件a
这篇文章主要讲解了“数据库中怎么自动添加数据文件add_datafiles.sh”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库中怎么自动添加数据文件add_datafiles.sh”吧!
#!/bin/bash
#by raysuen
#v01
#load profile for env
[ -f ~/.profile ]&& source ~/.profile
[ -f ~/.bash_profile ]&& source ~/.bash_profile
#function for add datafile
ADDDataFile(){
sqlplus -s /nolog<<-RAY
conn / as sysdba
$1
RAY
}
#specify check script
ora_script=/home/oracle/script/ray/oracle_ray.sh
while true
do
#obtain tablespace name which is over threshold value
tablespace_name=`${ora_script} type=tablespace | egrep -v "TABLESPACE_NAME|selected|new mail|TEMP" |tr "%" " " | awk '{if($NF>85) print $1}'`
if [ "${tablespace_name:-None}" == "None" ];then
break
else
#loop tablespace name if tablespace is more then 2
for i in ${tablespace_name}
do
#obtain max datafile name
max_datafile=`${ora_script} type=tsdf| grep "${i}" | sort -k 2 | tail -1 | awk '{print $2}'`
#obtain max datafile number from max datafile
max_num=`echo ${max_datafile} | awk -F\/ '{print $NF}' | sed -e "s/${i}//g" | sed -e "s/$(echo ${i} | tr [A-Z] [a-z])//g" | sed -e "s/[^0-9]//g"`
#plus 1 on max_num
replace_num=$[$max_num+1]
#judge replace_num whether is less then 10,if it is true ,then before the replace_num join 0
if [ ${replace_num} -lt 10 ];then
replace_num=`echo 0"${replace_num}"`
fi
#join the executable sql to add datafile
sqltring=`echo "alter tablespace ${i} add datafile '"$(echo ${max_datafile} | sed "s/${max_num}\./${replace_num}\./g")"' size 128M autoextend on next 128M maxsize unlimited;"`
#echo $sqltring
AddDataFile "${sqltring}"
done
fi
done
感谢各位的阅读,以上就是“数据库中怎么自动添加数据文件add_datafiles.sh”的内容了,经过本文的学习后,相信大家对数据库中怎么自动添加数据文件add_datafiles.sh这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
--结束END--
本文标题: 数据库中怎么自动添加数据文件add_datafiles.sh
本文链接: https://lsjlt.com/news/65055.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0