每当数据库服务器重启后,都要重新启动数据库的监听和实例,特别是在服务器断电重启、例行维护性的场景下。能否像Windows服务器一样,让实例和监听随着服务的启动而启动呢?答案当然是肯定的,我们可以利用Oracle提供的dbstart文件设置Oracle数据库开机自启动。设置方法如下:
(1)、首先确保已经配置好ORACLE_HOME等环境变量,类似于如下内容:
vi .bash_profile ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 PATH=$ORACLE_HOME/bin:$PATH export ORACLE_BASE ORACLE_HOME PATH
(2)、编辑$ORACLE_HOME/bin目录下的dbstart文件,找到ORACLE_HOME_LISTNER=$1,将其修改成ORACLE_HOME_LISTNER=$ORACLE_HOME。
(3)、编辑/etc目录下的oratab文件,找到orcl:/u01/app/oracle/product/11.2.0/db_1:N,将其修改为:orcl:/u01/app/oracle/product/11.2.0/db_1:Y。
(4)、编辑/etc/rc.d目录下的rc.local启动文件,添加数据库自启动脚本dbstart。注意:该步必须切换到root身份执行。
vi /etc/rc.d/rc.local # 启动数据库监听,有空格必须加引号 su - oracle -lc "/u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start" # 启动实例 su - oracle -lc /u01/app/oracle/product/11.2.0/db_1/bin/dbstart
(5)、重启检查是否配置成功。