تنظیمات لازم برای اجرای خودکار دیتابیس اوراکل پس از بالاآمدن سیستم عامل شامل مراحل زیر است:
1- تنظیم فایل oratab: با اجرای دستور زیر فایل oratab را تنظیم کنید:
root# sed -i s/\:N/\:Y/ /etc/oratab
2- ایجاد و تنظیم فایل oracleService: این فایل محتوی اسکریپتی است که با استفاده از آن سیستم عامل هنگام بالاآمدن، دیتابیس و مولفه های موردنیاز آن را آغاز می کند و هنگام پایین آمدن نیز دیتابیس و آن مولفه های را بصورت امن خاموش می کند.
root# vim /etc/init.d/oracleService
خطوط زیر را با توجه به مشخصات دیتابیس تغییر داده و به فایل فوق اضافه کنید:
#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# Set ORACLE_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORACLE_OWNER to the user id of the owner of the
# Oracle database in ORACLE_HOME.
export ORACLE_HOME=/opt/oracle/product/11.2.0/db_1
export ORACLE_OWNER=oracle
export ORACLE_HOME_LISTNER=$ORACLE_HOME
export ORACLE_UNQNAME=wodbs01
if [ ! -f $ORACLE_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
su $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracleService
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
rm -f /var/lock/subsys/oracleService
;;
esac
با اجرای دستور زیر فایل oracleService را اجرایی کنیدک
root# chmod 755 /etc/init.d/oracleService
حال با اجرای دستورات زیر فایل oracleService را به سیستم عامل معرفی کرده و نحوه اجرای آن را مشخص می نمایید
root# chkconfig --add oracleService
یا
root# ln -s /etc/init.d/oracleService /etc/rc0.d/K10oracleService
root# ln -s /etc/init.d/oracleService /etc/rc6.d/K10oracleService
root# ln -s /etc/init.d/oracleService /etc/rc1.d/K10oracleService
root# ln -s /etc/init.d/oracleService /etc/rc5.d/S99oracleService
root# ln -s /etc/init.d/oracleService /etc/rc4.d/S99oracleService
root# ln -s /etc/init.d/oracleService /etc/rc3.d/S99oracleService
root# ln -s /etc/init.d/oracleService /etc/rc2.d/S99oracleService