1、oracle 用户下 修改$ORACLE_HOME/bin/dbstart

  vim /home/oracle/database/product/12c/db_1/bin/dbstart

将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

设置Oracle数据库开机自启动-LMLPHP

2、oracle 用户下 修改$ORACLE_HOME/bin/dbshut

vim /home/oracle/database/product/12c/db_1/bin/dbshut

将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

设置Oracle数据库开机自启动-LMLPHP

3、修改/etc/oratab文件

vim /etc/oratab

将orcl:/home/oracle/database/product/12c/db_1:N中最后的N改为Y,

成为orcl:/home/oracle/database/product/12c/db_1:Y

设置Oracle数据库开机自启动-LMLPHP

4、测试dbshut和dbstart是否正常

dbshut

sqlplus / as sysdba

select status from v$instance;   (查看数据库是否处于open状态)

设置Oracle数据库开机自启动-LMLPHP

5、root 用户设置开机自启

vim /etc/rc.d/rc.local

su oracle -lc  "/home/oracle/database/product/12c/db_1/bin/lsnrctl start"
su oracle -lc  /home/oracle/database/product/12c/db_1/bin/dbstart

解释:

-l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并
且工作目录也会改变。如果没有指定USER,缺省情况是root。

-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。

设置Oracle数据库开机自启动-LMLPHP

然后重启服务器测试下吧!

05-20 22:34