匿名質問者

Oracle10またはOracle11での質問(Windows版)

Windowsが立ち上がった直後に自動でsqlplusによりSQL発行するバッチを動かしています。当然ユーザ名とパスワードをsqlplusの引数として与えるのですが、日によってログインに失敗してsqlplusがユーザ名を要求する画面になりバッチが途中で止まってしまうことがあります(朝出社するとそこで止まっている)。
これを防ぐためにはOracleの初期化処理が完全に終わったことを確認してからsqlplusを叩きたいのですが、バッチファイル内で自動確認する何かいい方法はないでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2017/05/22 17:21:29

ベストアンサー

匿名回答1号 No.1

tnspingをバッチファイル内で実行し、表示される文字列を固定のファイルに吐き出して、その吐き出されたファイルの中をFINDでOKを検索して、ヒットしたらsqlplusで実行すればいけそうな気がします。

匿名質問者

会社や客先にバレたくなく匿名にしましたが、匿名質問への回答いただきありがとうございます。

なるほど。そういうコマンドがあるんですね。
DBへのネットワーク疎通のテストコマンドなので、ログインできるかどうかまでテストできるのか、ちょっと試してみます。

ありがとうございました。

2017/05/19 03:46:10
匿名質問者

検索でここに来た人のためにその後の顛末を記載しておきます。
tnspingをキーワードにして検索したところ、以下のページが見つかりました。

http://otn.oracle.co.jp/forum/thread.jspa?threadID=6004177&switchMode=threaded

SQLスクリプトによりログオンを試みて、成功/失敗をテストするバッチが紹介されています。
まだ試していませんが、これでうまくいきそうな感じです。

回答者さん、いい糸口を与えていただき感謝です。ありがとうございました。

2017/05/22 17:21:22

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません