1
我有一个执行某个任务并退出的过程。 该过程必须复制到大约40个数据库,这将运行此过程。 我的担心是,如果整个过程发生变化,每个过程都必须改变。Shell脚本 - 匿名块
我怎样才能创建一个shell脚本,它需要输入 用户名,密码和SID,并运行一个匿名块(同样的过程被转换为一个匿名块并放在服务器上)并运行它。
我有一个执行某个任务并退出的过程。 该过程必须复制到大约40个数据库,这将运行此过程。 我的担心是,如果整个过程发生变化,每个过程都必须改变。Shell脚本 - 匿名块
我怎样才能创建一个shell脚本,它需要输入 用户名,密码和SID,并运行一个匿名块(同样的过程被转换为一个匿名块并放在服务器上)并运行它。
下面是代码我有时用:
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
注意的重要性:
/
东西在PLSQL代码块结束_EOF
在sqlplus伪文件块(或所谓的着名的Here-document)之后的行开头的东西希望这会有所帮助。
到目前为止你做了什么? – Nitish