1、修改$ORACLE_HOME/bin/dbstart
[oracle@localhost ~] vi v i ORACLE_HOME/bin/dbstart
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
2、修改$ORACLE_HOME/bin/dbshut
[oracle@localhost ~]$ vi $ORACLE_HOME/bin/dbshut
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
3、修改/etc/oratab文件
[oracle@localhost ~]$ vi /etc/oratab
将页末的N改为Y:
4、输入命令dbshut和dbstart测试
[oracle@localhost ~]$dbshut
[oracle@localhost ~]$dbstart
5、建立自启动脚本
[root@localhost init.d]# vim /etc/rc.d/init.d/oracle
添加以下内容(有些值如ORACLE_HOME和ORACLE_USER等根据实际情况可以修改):
#!/bin/bash
# oracle: Start/Stop Oracle Database 11g R2
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
'restart')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
6、修改/etc/init.d/oracle服务文件权限
[root@localhost bin]# chmod 755 /etc/init.d/oracle
7、设置为开机启动
[root@seiang11g ~]# chkconfig oracle on
8、进行测试
start:
[root@localhost bin]# service oracle start
stop:
[root@localhost bin]# service oracle stop
restart:
[root@localhost bin]# service oracle restart
9、Reboot重启。
[root@localhost bin]# reboot