CentOS 6を実行していて、起動時にOracleデータベースを実行しようとしています。私はこれらの手順に従っています:
http://www.Oracle-base.com/articles/linux/automating-database-startup-and-shutdown-on-linux.php (下部のOracle 11gR2部分)
このスクリプトを作成し、/ etc/init.d/dboraとして保存しました。
#!/bin/bash
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database software.
ORA_OWNER=Oracle
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the Oracle login
# will not Prompt the user for any values
# Remove "&" if you don't want startup as a background process.
su $ORA_OWNER -c "/home/Oracle/scripts/startup.sh >> /home/Oracle/scripts/startup_shutdown.log 2>&1" &
touch /var/lock/subsys/dbora
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the Oracle login
# will not Prompt the user for any values
su $ORA_OWNER -c "/home/Oracle/scripts/shutdown.sh >> /home/Oracle/scripts/startup_shutdown.log 2>&1"
rm -f /var/lock/subsys/dbora
;;
esac
次に、私は実行しました:
chmod 750 /etc/init.d/dbora
指示に従って。
最後に、chkconfigを使用してスクリプトを追加しました。
chkconfig --add dbora
また、dboraファイルが呼び出すスクリプトも追加しました。
以下を使用してデータベースを起動できます。
/etc/init.d/dbora start
しかしながら、
service dbora start
動作しません。
何か案は?
ランニングの主な違い/etc/init.d/foo start
およびservice foo start
は、service
がクリーンな環境でinitスクリプトを実行することです。 initスクリプトの実行が直接機能するが、service
では機能しない場合は、スクリプト内で手動で初期化していない環境変数がスタートアップで使用されています。 initスクリプトは非常に単純なので、環境変数の使用法は/home/Oracle/scripts/startup.sh
脚本。
また、service
で実行されない場合、起動時に正しく起動しないことにも注意してください。