测试机总是断电,导致重启后Oracle不自动重启,需要手工操作,因此可以设置成自启动模式。
操作系统:Linux
数据库:Oracle 10g
1、vi /etc/oratab
找到bisal:/opt/oracle/102:N,将N设为Y。
文件的注释:
# This file is used by ORACLE utilities. It is created by root.sh # and updated by the Database Configuration Assistant when creating # a database. # A colon, ':', is used as the field terminator. A new line terminates # the entry. Lines beginning with a pound sign, '#', are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:<N|Y>: # # The first and second fields are the system identifier and home # directory of the database respectively. The third filed indicates # to the dbstart utility that the database should , "Y", or should not, # "N", be brought up at system boot time. # # Multiple entries with the same $ORACLE_SID are not allowed.
可以看到这里$ORACLE_SID是bisal,$ORACLE_HOME是/opt/oracle/102。
设置为Y时,允许实例自启动,当设置为N时,则不允许自启动。
这个文件里的配置仅仅起一个开关的作用,其并不会具体的执行启动和关闭,具体的操作由$ORACLE_HOME/bin/dbstart和dbshut 脚本来实现。 这2个脚本在执行时会检查/etc/oratab 文件里的配置,为Y时才能继续执行。
2、将lsnrctl start和dbstart添加到rc.local文件中:
vi /etc/rc.d/rc.local
su oracle -lc "/opt/oracle/102/bin/lsnrctl start"
su oracle -lc /opt/oracle/102/bin/dbstart
文件:
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff.
此处也可以使用自己定义的脚本作为启动脚本。
然后重启服务器,就可以看到监听和实例都可以自动启动了。