bat,shell批量执行数据库脚本

install.bat
@echo off &setlocal enabledelayedexpansion
if exist temp rd /S/Q temp
if exist logs rd /S/Q logs
mkdir temp
mkdir logs
set type=oracle
set temp_sql=temp\temp_%type%.sql
set execute_sql=temp\execute_%type%.sql
set log_file=logs\log_%type%.txt
set str1=SQL_END
set str2=exit;

echo "Reading script,please wait..."

for /f %%i in (config\config_%type%.ini) do (
for /f %%j in (%%i) do (
echo %%j>>%temp_sql%
)
)

copy /Y config\execute_%type%.sql temp >> %log_file%

echo "Writing script,please wait..."

for /f %%a in (%temp_sql%) do (
echo %%a >> %execute_sql%
)
echo %str2% >> %execute_sql%
echo %str1% >> %execute_sql%

echo "Executing script,please wait..."

sqlplus /nolog @%execute_sql% >> %log_file%

echo "Execute finish,please check logs file: %log_file%."

notepad %log_file%


install.sh
#!/bin/sh
rm -rf temp
rm -rf logs

mkdir temp
mkdir logs

temp_sql=temp/temp.sql
execute_sql=temp/execute.sql
log_file=logs/log.txt
ttisql_home=
ttisql_name=

str1=SQL_END
str2=exit

echo "Reading script,please wait..."

ttisql_home=`cat config.ini | grep TTISQL_HOME | awk -F= '{print $2}'`
ttisql_name=`cat config.ini | grep TTISQL_NAME | awk -F= '{print $2}'`

echo "$ttisql_home/bin/./ttisql $ttisql_name <<SQL_END" >> $temp_sql

echo "Writing script,please wait..."

cat execute.sql >> $temp_sql

cat $temp_sql >> $execute_sql

echo $str2 >> $execute_sql
echo $str1 >> $execute_sql

echo "Executing script,please wait..."

chmod +x $execute_sql

./$execute_sql >> $log_file

echo "Execute finish,please check logs file: $log_file"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值