ソフラボの技術ブログ

仕事で使ったプログラミング、サーバー周りで役に立つこと、Webサービス開発に必要な技術情報、モバイル情報を書いてます。わかりやすく見やすくをモットーにしています。

Oracleの起動、停止スクリプト

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

oracle_start.sql

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

oracle_stop.sql

connect sys/password as sysdba
shutdown immediate
exit


DBConsoleのコマンド「emctl」の本体はbatで作られていて、バッチで一連の処理として流す場合、最初に宣言してコマンドが終了すると自動的にバッチが途中で終了してしまうようです。
そうならないため、emctlを外部バッチとしてcallで呼び出しています。


基礎からのOracle (DVD付) (プログラマの種シリーズ)

基礎からのOracle (DVD付) (プログラマの種シリーズ)