1. 使用vim$ORACLE_HOME/bin/dbstart vim$ORACLE_HOME/bin/dbshut命令修改dbstart和dbshut脚本:
dbstart和dbshut两个shell脚本,在oracle11g下,我们需要手动修改一下这两个脚本,将ORACLE_HOME_LISTNER=$1这行修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME,保存退出
2. 修改/etc/oratab:
orcl:/opt/oracle/app/product:N修改为orcl:/opt/oracle/app/product:Y
将N修改为Y,表示可以在操作系统启动阶段运行oracle数据库
3. 使用vim /etc/init.d/oracle 创建一个文件,并编辑如下的内容:
#!/bin/bash
# chkconfig: 345 6161
# description: Oracle11g AutoRun Service
#/etc/rc.d/init.d/oracle
case "$1"in
start)
# starts oracle listener and instance
echo "Starting OracleDatabase:"
su oracle -lc "lsnrctl start" //启动监听器
su oracle -lc dbstart //启动数据库
su oracle -lc "emctl startdbconsole" //启动em
;;
stop)
# shutdown oracle listner and instance
echo "Shuting down OracleDatabase:"
su oracle -lc "lsnrctl stop"
su oracle -lc dbshut
su oracle -lc "emctl stopdbconsole"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage:{start|stop|reload|restart}"
exit 1
esac
exit 0
4. 编辑完成后看是否可以正常的运行
cd /etc/init.d/
./oracle start
./oracle stop
5. 若能够正常的启动oracle数据库,em,监听器,那些就执行以后内容
chmod 750 /etc/init.d/oracle
chkconfig –add oracle
6. 现在就可以重启一下看oracle能否自启动
Chkconfig的说明:
linux操作环境分为以下7个等级:
0:开机(请不要切换到此等级)
1:单人使用者模式的文字界面
2:多人使用者模式的文字界面,不具有网络档案系统(NFS)功能
3:多人使用者模式的文字界面,具有网络档案系统(NFS)功能
4:某些发行版的linux使用此等级进入x windows system
5:某些发行版的linux使用此等级进入x windows system
6:重新启动
在我们的平时用的最多的就只有3,5这两个运行级别。在上面的脚本的开头有这样的一个句话
# chkconfig:345 61 61
我们指定了这个脚本的运行级别为345,后面的两个数字表示的意思启动运行的先后顺序,越大,那么这脚本在启动过程中越晚的运行
Chkconfig常用的参数:
--add 新增所指定的系统服务
--del 删除所指定的系统服务
--level 指定该系统服务要在哪个执行等级中开启或关闭
--list 列出当前可从chkconfig指令管理的所有系统服务和等级代号
on/off/reset 在指定的执行登记,开启/关闭/重置该系统服务