方法一:使用加载inittab来启动
1、利用oracle自己提供的dbstar和dbshut脚本来启动和关闭数据库。
确认/etc/oratab文件中的对应的实例的最后标志为 Y 。
例如:ora92:/opt/oracle/app/oracle/product/9.2:Y
dbstart将根据这个标志位来启动对应的实例。这个文件是由root.sh创建的。
可以在/etc或者其他目录下再创建一个脚本来调用dbstart命令。
| #touch dbstart.sh #chmod 755 dbstart.sh #vi dbstart.sh su - oracle -c "$ORACLE_HOME/bin/dbstart" su - oracle -c "lsnrctl start " |
2、将脚本加载到inittab
| #mkitab "dbstart:2:wait:/etc/dbstart.sh > /dev/console 2>&1" |
方法二:加载到rc.d中
1、通上面的方法1创建一个脚本/etc/dbstart.sh
2、加载到rc.d中
检查/etc/inittab默认的启动级别:init:2:initdefault:
这里默认为2,即可转到/etc/rc.d/rc2.d
| #ln -s /etc/dbstart.sh /etc/rc.d/rc2.d/S99dbstart |
另:在主机关闭的时候自动关闭数据库的方法,可以在/usr/sbin/shutdown的前面加载
| su - oracle -c "/$ORACLE_HOME/bin/dbshut" su - oracle -c "/$ORACLE_HOME/bin/dbshut" |
方法三:使用HA的应用程序资源组
| smitty hacmp -> Initialization and Standard Configuration -> Configure Resources to Make Highly Available -> Configure Application Servers -> Change Application Server Start Script [/usr/es/sbin/cluster/local/startdb.sh] Stop Script [/usr/es/sbin/cluster/local/stopdb.sh] startdb.sh脚本和stopdb.sh脚本分别调用$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut脚本。 |
for Linux
方法1:加载rc服务来实现
创建脚本:
| #touch dbstart.sh #chmod 755 dbstart.sh #vi dbstart.sh su - oracle -c "$ORACLE_HOME/bin/dbstart" su - oracle -c "lsnrctl start " |
在Linux中,检查/etc/inittab默认的启动级别,一般运行级别为3,id:3:initdefault:
然后转到/etc/rc.d/rc3.d
| #ln -s /etc/dbstart.sh /etc/rc.d/rc3.d/S99dbstart |
方法2:在/etc/rc.local文件中加载启动命令
直接编辑rc.local文件,在后面添加
| #vi /etc/rc.local su - oracle -c "$ORACLE_HOME/bin/dbstart" su - oracle -c "lsnrctl start " |
自动关闭方法:
| #touch sysshut #chmod 755 sysshut #vi sysshut su - oracle -c "$ORACLE_HOME/bin/dbshut" su - oracle -c "lsnrctl stop" shutdown $* |
sysshut的使用方法跟shutdown的使用方法一致。
for hp unix
方法1:通过加载rc服务实现
先创建脚本,脚本类似上面的。
检查/etc/inittab的默认的启动级别:init:3:initdefault:






