SafeCLUSTER/HA for Oracle 導入運用手引書 V2.1 |
目次
索引
![]() ![]() |
Oracleインスタンスの起動時にOracleの状態を確認したり、起動/停止に連動してユーザシェルスクリプトやアプリケーションを実行したりしたい場合について説明します。
Oracleインスタンスの起動は、次のように行われます。
段階起動の場合
一括起動の場合
デフォルトでは、次のスクリプトが設定されています。
mount_after.sh
start_after.sh
実行したいユーザシェルスクリプトやアプリケーションがある場合は、サンプルを参考にして各シェルスクリプトに記述してください。
シェルスクリプト |
実行のタイミング |
start_before.sh |
Oracleインスタンスの起動前に呼び出されます。 |
nomount_after.sh |
Oracleインスタンスのnomount処理後に呼び出されます。 |
mount_after.sh |
Oracleインスタンスのmount処理後に呼び出されます. |
start_after.sh |
Oracleインスタンスのopen処理後に呼び出されます。 |
各ファイルが存在しない場合は、処理は行われません。
Oracleインスタンスの停止は、次のように行われます。
実行したいユーザシェルスクリプトやアプリケーションがある場合は、サンプルを参考にして各シェルスクリプトに記述してください。
シェルスクリプト |
実行のタイミング |
stop_before.sh |
Oracleインスタンスの停止処理前に呼び出されます。 |
stop_after.sh |
Oracleインスタンスの停止処理後に呼び出されます。 |
各ファイルが存在しない場合は、それらの処理は行われません。
Oracleインスタンスの起動停止に連動して、アプリケーションの起動停止を行う場合、次のように設定します。
Oracleインスタンスの起動後に呼び出されるスクリプト内に、アプリケーションの起動を記載します。
#!/bin/sh |
もしアプリケーションがデーモンプログラムの場合は、必ず「&」をつけてバックグラウンドで実行してください。「&」をつけないと、Oracle起動処理が停止してしまいます。
Oracleインスタンスの停止前に呼び出されるスクリプト内に、アプリケーションの停止を記載します。
#!/bin/sh |
アプリケーションの停止に時間がかかる場合や、復帰しなくなる可能性のある場合は、必ず「&」をつけてバックグラウンドで実行してください。「&」をつけないと、Oracle停止処理がタイムアウトする可能性があります。「&」を入れバックグラウンドで停止を行い、例のようにsleepでしばらく待つように工夫してください。
# start_before.sh |
#!/bin/sh # start_after.sh DATAFILE=/tmp/tmpfile su − $ORACLE_USER −c "/opt/FJSVclora/usr/scripts/checkstatus.sh \ $ORACLE_HOME $ORACLE_SID $DATAFILE" if [ −r $DATAFILE ] then STATUS=`cat $DATAFILE` rm $DATAFILE if [ X_“$STATUS" != X_OPEN ] then exit 1 fi fi exit 0 |
#!/bin/sh |
詳しくは、/opt/FJSVclora/usr配下のシェルスクリプトを参考にしてください。
目次
索引
![]() ![]() |