1、 修改oratab (root用户执行)
a) 文件说明:该文件是oracle的工具,由root用户创创建,就是由root用户执行脚本创建的。当创建了新的数据库,其内容就会发生变化
b) 文件内容:$ORACLE_SID:$ORACLE_HOME:<N|Y>:
最后一项,默认是N,含义为是否允许dbstart在系统启动时,启动数据库
2、 配置启动和关闭文件
a) 简单配置
i. 编辑/etc/rc.d/rc.local默认所有启动级别,最后启动的内容为该文件中的脚本,请先配置好oracle用户的环境变量
su oracle -lc ‘$ORACLE_HOME/bin/lsnrctl start’
su oracle -lc "$ORACLE_HOME /bin/dbstart"
b) 脚本配置
i. 编辑/etc/rc.d/init.d/oracle,源自脚本之家
#!/bin/sh
# chkconfig: 35 80 10
# description: Oracle auto start-stop script.
# source:http://www.jb51.net/article/32214.htm
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/u01/product/oraclehome
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit 3
fi
cat /dev/null > /var/log/oracle
case "$1" in
'start')
# Start the Oracle databases:
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
echo "Done"
# Start the Listener:
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
echo "You can see the detailed information in /var/log/oracle"
;;
'stop')
# Stop the Oracle Listener:
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
# Stop the Oracle Database:
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
echo "You can see the detailed information in /var/log/oracle"
;;
'restart')
$0 stop
$0 start
echo "You can see the detailed information in /var/log/oracle"
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
esac
ii. 改变文件夹权限,改为和其他服务一样的755
Chmod 755 /etc/oracle
iii. 在3和5级别添加oracle服务
chkconfig--level 35 oracle on
iv. 需要在关机或重启机器之前停止数据库,也就是添加到级别0和6
# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle //关机
# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle //重启
v. 手动对oracle进行管理
Service oracle start
Service oracle stop
Service oracle restart