INFORMIX修改数据库锁模式的SHELL

#将数据库中所有表的锁模式改为行级锁
#Usage:change_db_lock_row.sh dbname

#本地变量
#lv_dbname

if [ ! $# -eq 1 ]
then
  echo "Usage:$0 dbname!"
  exit
fi

lv_dbname=$1

echo "start.."

dbaccess - -<<! 2>/dev/null 1>&2
database ${lv_dbname};
unload to lock_row.tmp select tabname from systables where tabid > 99 and tabtype = 'T';
!
if [ ! $? -eq 0 ]
then
    echo "Database ${lv_dbname} is not exist or have no permission!"
    exit
fi
sed "s//|/ lock mode (row)/;/" lock_row.tmp > lock_row1.tmp
sed "s/^/alter table /" lock_row1.tmp > lock_row2.tmp

lv_filename="change_db_lock_row_exec.sh"
rm -f ${lv_filename}

echo "dbaccess - -<<!" >> ${lv_filename}
echo "database ${lv_dbname};" >> ${lv_filename}
cat lock_row2.tmp >> ${lv_filename}
echo "!" >> ${lv_filename}

sh change_db_lock_row_exec.sh 2>/dev/null 1>&1

echo "over.."
------------------------------------------------------------------------------------------------------
#将数据库中所有表的锁模式改为页级锁
#Usage:change_db_lock_page.sh dbname

#本地变量
#lv_dbname

if [ ! $# -eq 1 ]
then
  echo "Usage:$0 dbname!"
  exit
fi

lv_dbname=$1

echo "start.."

dbaccess - -<<! 2>/dev/null 1>&2
database ${lv_dbname};
unload to lock_page.tmp select tabname from systables where tabid > 99 and tabtype = 'T';
!
if [ ! $? -eq 0 ]
then
    echo "Database ${lv_dbname} is not exist or have no permission!"
    exit
fi
sed "s//|/ lock mode (page)/;/" lock_page.tmp > lock_page1.tmp
sed "s/^/alter table /" lock_page1.tmp > lock_page2.tmp

lv_filename="change_db_lock_page_exec.sh"
rm -f ${lv_filename}

echo "dbaccess - -<<!" >> ${lv_filename}
echo "database ${lv_dbname};" >> ${lv_filename}
cat lock_page2.tmp >> ${lv_filename}
echo "!" >> ${lv_filename}

sh change_db_lock_page_exec.sh 2>/dev/null 1>&1

echo "over.."

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值