- ベストアンサー
sqlplusの操作をシェル上で
RedhatLinuxのシェルスクリプト上で Oracleのsqlplus操作を行うことは可能でしょうか? その場合、どのように記述すればよいでしょう? やりたい内容の例としては以下になります。 #!/bin/sh su -<oracleユーザー> sqlplus ※※※※ SQL> update ※※※ set ※※※ SQL> exit 上のような内容をcronに登録して自動処理をかけたいと考えています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
シェルスクリプトファイル以外のファイルを作成したくない場合はyjousさんのようにヒアドキュメントを使用するのがいいと思います。 もし、sqlを記述したファイルを置いてもかまわないのであれば sqlplus ユーザ/パスワード @sqlファイル名 をシェルスクリプト内で書けばいいと思います。 (ファイル名はフルパスで。ファイルの最後にexitを忘れずに。) シェルスクリプト内でsuでoracleユーザにしていますが、それならcronの登録で 0 * * * * su - oracle -c "シェルスクリプトファイル" のようにoracleユーザにして実行してみたらどうでしょうか?(oracleはoracleユーザーとしてみてください)