⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 row_locking.sh.txt

📁 管理online的shell程序
💻 TXT
字号:
#!/usr/bin/ksh#################################################################################       Module:         page_locking.sh#       Author:         Peter R. Schmidt#       Description:    Change all tables to row level locking##	Argument 1	Database Name##       Change Log##         Date    Name               Description.................#       07/14/99  Peter R. Schmidt   Start Program ################################################################################OUTPUT=row_locking.outTMPFILE=row_locking.tmpFLAG_FAILED=falseFLAG_RETRY=falseMAX_RETRIES=50if [ $# != 0 ]then	DATABASE=$1else	echo "Usage: row_locking.sh [database name] [Retry #]"	exit 1fiif [ $# = 2 ]then	FLAG_RETRY=true	NUM_RETRY=$2else	FLAG_RETRY=false	NUM_RETRY=0fiif [ -f $OUTPUT -a $FLAG_RETRY = false ]then        rm -f $OUTPUTfiif [ -f $TMPFILE ]then        rm -f $TMPFILEfiUDATE=`date`echo "----------------------------------------------------------------------" | tee -a $OUTPUTecho "Convert Informix tables to ROW level locking - $UDATE" | tee -a $OUTPUTecho "----------------------------------------------------------------------" | tee -a $OUTPUTif [ $FLAG_RETRY = true ]then	UDATE=`date` | tee -a $OUTPUT	echo "RETRY $NUM_RETRY on $UDATE" | tee -a $OUTPUT	echo "----------------------------------------------------------------------" | tee -a $OUTPUTfiecho "Collecting table info from the systables table..." | tee -a $OUTPUT        dbaccess <<-EOF1 2>&1 | tee -a $OUTPUT	database $DATABASE;	unload to '$TMPFILE' delimiter "|"	select tabname 	from systables 	where locklevel <> 'R' and tabid > 99 and tabtype = 'T'	order by 1;EOF1echo "unload completed" | tee -a $OUTPUTecho "----------------------------------------------------------------------" | tee -a $OUTPUTfor TABLE in `awk '{ print $1 }' FS='|' $TMPFILE`do	UDATE=`date +%D-%T`	echo | tee -a $OUTPUT	echo "Attempting to alter table $TABLE on $UDATE" | tee -a $OUTPUT	echo | tee -a $OUTPUT		dbaccess >> $OUTPUT 2>&1 <<-EOF2		database $DATABASE;		alter table $TABLE lock mode (ROW);	EOF2		if [ $? != 0 ]	then			echo "Note: alter on table $TABLE FAILED" | tee -a $OUTPUT		FLAG_FAILED=true	else			echo "Note: alter on table $TABLE SUCCESSFUL" | tee -a $OUTPUT	fi	echo | tee -a $OUTPUT	echo "----------------------------------------------------------------------" | tee -a $OUTPUT	donerm -f $TMPFILEechoecho "Program completed - results in $OUTPUT"if [ $FLAG_FAILED = true ]then	UDATE=`date +%D-%T`	echo "Note: some tables did not get converted to row locking" | tee -a $OUTPUT	if [ $NUM_RETRY -ge $MAX_RETRIES ]	then		echo "Exceeded maximum number of retries of $MAX_RETRIES" | tee -a $OUTPUT		echo "No more attempts will be made" | tee -a $OUTPUT	else		echo "Sleep 10 seconds on $UDATE..." | tee -a $OUTPUT		sleep 10		NUM_RETRY=`expr $NUM_RETRY + 1`		exec $0 $DATABASE $NUM_RETRY	fifi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -