我有一个执行某项任务的程序并退出。 该过程必须复制到大约40个数据库,这将运行此过程。 我担心的是,如果全面改变,每个程序都必须改变。
如何创建一个需要输入的shell脚本 用户名,密码和SID并运行匿名块(相同的过程转换为匿名块并放在服务器上) 它运行它。
答案 0 :(得分:1)
以下是我有时使用的代码:
dbs_list="
DB1.USR1
DB2.USR2
"
for x in ${dbs_list}
do
DB_=` echo ${x}|cut -f "1" -d . `
USR=` echo ${x}|cut -f "2" -d . `
echo "################################ #### "
echo "#processinb ${USR} @ ${DB_} -- ...#"
echo "enter password:"
read -s PWD
sqlplus ${USR}/${PWD}@${DB_} << _EOF
set serveroutput on
prompt HERE is my anonymous code block
begin
dbms_output.put_line('do my things');
end;
/
_EOF
done
请注意重要性:
/
的东西_EOF
事件希望这有帮助。