[oracle@CentOS ~]$ sqlplus / as sysdba SQL> select status from v$instance;
六、Oracle开机自启动设置
1. 修改/u01/app/oracle/product/11.2.0/bin/dbstart
[oracle@CentOS ~]$vim /u01/app/oracle/product/11.2.0/bin/dbstart
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME 2. 修改/u01/app/oracle/product/11.2.0/bin/dbshut
[oracle@CentOS ~]$ vim /u01/app/oracle/product/11.2.0/bin/dbshut
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME 3. 修改/etc/oratab文件
[oracle@CentOS ~]$vim /etc/oratab
将orcl:/u01/app/oracle/product/11.2.0:N中最后的N改为Y,成为orcl:/u01/app/oracle/product/11.2.0:Y 4. 输入命令dbshut和dbstart测试 [oracle@CentOS ~]$ dbshut
Oracle监听停止,进程消失。
[oracle@CentOS ~]$dbstart
Oracle监听启动,进程启动。
5. 切换到root账户建立自启动脚本 [oracle@CentOS ~]$ su -
[root@CentOS ~]# 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 ORACLE_USER=oracle case \'start')
echo $0 already running. exit 1 fi
echo -n $\
su - $ORACLE_USER -c \
su - $ORACLE_USER -c \su - $ORACLE_USER -c \touch $LOCKFILE ;; 'stop')
if [ ! -f $LOCKFILE ]; then echo $0 already stopping. exit 1 fi
echo -n $\
su - $ORACLE_USER -c \su - $ORACLE_USER -c \
su - $ORACLE_USER -c \rm -f $LOCKFILE ;; 'restart') $0 stop $0 start ;; 'status')
if [ -f $LOCKFILE ]; then echo $0 started. else
echo $0 stopped. fi ;; *)
echo \exit 1
esac exit 0
6. 修改/etc/init.d/oracle服务文件权限
[root@CentOSinit.d]#chmod 755 /etc/init.d/oracle 7. 设置为开机启动
[root@CentOS ~]# chkconfig oracle on
8. 进行service oracle start/stop/restart测试
9. Reboot重启查看Oracle监听和实例进程均能自动启动。