Oracleの起動、停止を自動化する必要があったのでバッチプログラム作成しました。
忘れないためにメモしておきます。
メインの処理をbatに、DBの起動・停止はSQLPlusより行うので外部SQLファイルで定義しています。
コード中のsidとpasswordを環境に応じて書き換えて下さい。
それを修正すればコピペで動作するようにしています。
スクリプトはOracle、OEM、リスナーが起動している環境が前提です。
起動
oracle_start.bat:: SIDの設定 SET ORACLE_UNQNAME=sid :: リスナー lsnrctl start :: DB (SQLファイルを参照) sqlplus /nolog @oracle_start.sql :: OEM call emctl start dbconsole exit
connect sys/password as sysdba startup exit
停止
oracle_stop.bat:: SIDの設定 SET ORACLE_UNQNAME=sid :: OEM call emctl stop dbconsole :: DB (SQLファイルを参照) sqlplus /nolog @oracle_stop.sql :: リスナー lsnrctl stop exit
connect sys/password as sysdba shutdown immediate exit
DBConsoleのコマンド「emctl」の本体はbatで作られていて、バッチで一連の処理として流す場合、最初に宣言してコマンドが終了すると自動的にバッチが途中で終了してしまうようです。
そうならないため、emctlを外部バッチとしてcallで呼び出しています。
基礎からのOracle (DVD付) (プログラマの種シリーズ)
- 作者: 西沢夢路
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2010/05/28
- メディア: 大型本
- 購入: 2人 クリック: 15回
- この商品を含むブログ (10件) を見る