Oracle批量扩数据文件脚本(file_id连续)

特立独行 -
Oracle批量扩数据文件脚本(file_id连续)
Oracle批量扩数据文件脚本(file_id连续)nohup ./resize.sh 20 25 &,参数指定数据文件file_id 20 到 25 依次串行扩展大小;每次扩展数据文件从100m递增扩展到2400m,每次递增100m;初始数据文件大小要小于100m或者未使用,否则报错;校验Linux CPU IOwait,只有<5%时才resize数据文件;

IO性能足够情况,#sleep 1无需放开,IO较差环境,建议设置脚本执行间隔时间,单位-秒;

#!/bin/bash
# Usage: nohup ./resize.sh 20 25 &
source ~/.bash_profile
export resize_tmp=/tmp/resize_tmp.log
> $resize_tmp
f=$1
for((f=$1; f<=$2; f++));
do
echo "$(date +'%F %T'): Resize datafile : $f">> $resize_tmp
  for((i=100; i<=2400; i=i+100))
  do
  export wa=99
  # resize datafile only when CPU iowait is less than 5%
  until [ $wa -lt 5 ]; do
      sleep 1
      wa=$(top -cn 1 | grep 'wa,'|grep -v grep|awk '{print $10}'|cut -d. -f1)
  done
  echo "$(date +'%F %T'):Begin alter database datafile $f resize $i m;">> $resize_tmp
  echo -e "alter database datafile $f resize $i m;\nexit;" | sqlplus -S / as sysdba
  echo "$(date +'%F %T'):End  alter database datafile $f resize $i m;">> $resize_tmp
  done
done
# End
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

oracleresizelinux批量表空间

扩展阅读

加个好友,技术交流

1628738909466805.jpg