每个人都知道Oracle安装后会在文件 /etc/oratab 中创建一条自动启动的记录,大概内容如下:
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N
如果将后面的N改成Y,大家可能认为oracle就会重启了,但往往不会生效。随着安装的不同、操作系统的不一样会导致Oracle往往不能自动随操作系统重启。这个设置是允许Oracle自动重启。
Oracle自动重启和关闭的脚本是在ORACLE_HOME下的bin文件夹中。分别有文件dbstart和dbshut管理启动和关闭。
想要Oracle自动重启,还需要设置内容如下:
(1)将dbstart文件中的 ORACLE_HOME_LISTENER=$1 改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
之所以这么修改,是因为oracle在安装的时候并不知道 ORACLE_HOME_LISTENER是什么, 就不会出现“ORACLE_HOME_LISTENER 没有设置”的错误提示了。
dbstart和dbshut在10g之后已经将启动Oracle和启动临听的脚本合在了一起。
(2)将dbstart和dbshut要放在操作系统的自动启动中。
拿Linux为例,我们可以将其放在文件 /etc/rc.d/rc.local中,内容如下:
su oracle -lc "/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
这样就可以实现自动随操作系统重启Oracle和监听了。