测试机总是断电,导致重启后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.
此处也可以使用自己定义的脚本作为启动脚本。
然后重启服务器,就可以看到监听和实例都可以自动启动了。