こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ShellからTruncate【Linux】

現在、ShellでSQL*PLUSを起動し、
テーブルをTruncateしようとしているのですが、
直接コマンドで実行すると可能なんですが、Shellで実行すると接続してすぐに切断されSQLが実行されません。

<Souce>
ora_pass=TEST/TEST@DB
log_pth=/home/oracle/TEST/04_log/
scrLOG=${log_pth}SHELL.log


echo "S"
sqlplus $ora_pass <<EOF > $scrLOG
truncate table W_BSL_INV;
EOF
echo "E"

ちなみにSelect文はscrLOGに正常に出力されます。

投稿日時 - 2011-02-01 15:40:15

QNo.6490355

すぐに回答ほしいです

質問者が選んだベストアンサー

ちょっと原因が分からないので、

sqlplus接続後のところで、

set echo on
spool ログファイル名

を追加して実行して、ログファイルに何が出るか見てみていただけますか?

また、truncate文の後ろに、

select 'OK' from dual;
quit;

を入れておけば、途中で切断されたのか最後までいったのか分かるかと思います。

投稿日時 - 2011-02-01 22:35:51

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問