web-dev-qa-db-ja.com

Sqlplus Oracle:bashでSQLコマンドを1行で実行するにはどうすればよいですか?

これをsqlplusのbashで1つのコマンドラインに変換できますか?自動化したいのですが。

sqlplus / as sysdba
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
exit
10
Kit Ho

とにかくファイルの終わりで終了する必要があるため、自動化による終了は必要ありません。したがって、1行で次のように実行できます。

echo 'EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);' | sqlplus / as sysdba
13
Sodved
sqlplus user/password@Host @file.sql
6
Neerav

シェルでフォローして書くことができます

#!/bin/bash
sqlplus / as sysdba <<EOF
EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
exit
EOF

または、これをプロシージャに入れることができます

3
Jie Hou

sqlplus /nolog @your_script.sql

0
Iľja