[概要]
Linux 環境でシステム停止・起動時に、自動的に Oracle データベースを
起動・停止できるように dbstart および dbshut スクリプトを使用しています。
システム再起動時に dbshut スクリプトが動作せず、自動的にデータベースが
停止しません。
[対象リリース]
すべて
[対象プラットフォーム]
Linux
[詳細]
下記の点を確認してください
1. dbora が実行権限を持っているかどうか
例:chmod +x /etc/rc.d/init.d/dbora
2. /etc/rc.d/rcX.d から リンクが正常に張られているかどうか
例:/etc/rc.d/rc6.d/K01dbora -> ../init.d/dbora ( multi user mode)
/etc/rc.d/rc0.d/K01dbora -> ../init.d/dbora (single user mode)
3. 手動でスクリプトを実行してデータベースの停止が可能であるか
例:/etc/rc.d/rc6.d/K01dbora stop
4. /etc/rc.d/init.d/dbora に touch /var/lock/subsys/dbora という
一行が含まれているかどうか
'inittab' から呼び出されるスクリプトは '/var/lock/subsys' 以下の
lock file の存在を探します。このファイルが存在していないと stop command
が実行されません。下記のような形で touch /var/lock/subsys/dbora という
一行を付け加える必要があります。
[変更前]
- 9i 用 dbora
#Start the database
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
- 10g 用 dbora
#
if [ ! "$2" = "ORA_DB" ] ; then
if [ "$PLATFORM" = "HP-UX" ] ; then
remsh $HOST -l $ORACLE -n "$0 $1 ORA_DB"
exit
else
rsh $HOST -l $ORACLE $0 $1 ORA_DB
exit
fi
fi
#
[変更後]
- 9i 用 dbora
#Start the database
touch /var/lock/subsys/dbora
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
touch /var/lock/subsys/dbora が必要になるのは、
#Start the database のときだけです。stop には必要ありません。
- 10g 用 dbora
#
if [ ! "$2" = "ORA_DB" ] ; then
if [ "$PLATFORM" = "HP-UX" ] ; then
remsh $HOST -l $ORACLE -n "$0 $1 ORA_DB"
exit
else
touch /var/lock/subsys/dbora <===(*)
rsh $HOST -l $ORACLE $0 $1 ORA_DB
exit
fi
fi
#
一度 dbora が実行されると、作成された '/var/lock/subsys/dbora' は
OS 側で OS 停止時や再起動時に削除されます。
[参照情報]
Oracle9i for UNIX Systems インストレーション・ガイド リリース2(9.2.0.1.0)部品番号: J06455-01
p4-5 データベースの起動および停止の自動化
Oracle Database 管理者リファレンス 10g リリース1(10.1)for UNIX Systems 部品番号: B13705-04
p2-10 その他のオペレーティング・システムにおけるデータベースの起動と停止の自動化
[更新履歴]
2005/06/17 10g 用 dbora の記述を追加
2004/05/13 本文書作成
Thursday, June 28, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment