UNIX系统的机器在开机后和关机前都要运行一些特定的服务, 如启动和关闭sendmail,crond等。
同样我们可以设置UNIX机器在开机后和关机前启动和关闭ORACLE数据库的服务。
首先我们要确认oracle用户能否用系统自带的Shell程序dbstart, dbshut正常启动和关闭数据库。
dbstart, dbshut的存放目录在$ORACLE_HOME/bin
dbstart, dbshut会读Sun Solaris目录下/var/opt/oracle/oratab, 或者linux目录下/etc/oratab 文件。
先确认这里参数已正确设置:
#你要启动的数据库sid:ORACLE_HOME:Y
例如:
test:/oracle/product/8.1.7:Y
如果有两个在用的数据库,这里oratab里可以是两行。
例如:
test:/oracle/product/8.1.7:Y
test2:/oracle/product/8.1.7:Y
执行dbstart, dbshut如果有问题可以查查原因:是环境变量没有设置好, 还是本身的dbstart或dbshut有错误。
我用过的Oracle8.1.6.*版本的dbstart就不能启动数据库。
按dbshut的格式重新写一个dbstart, 把里面shutdown的字符替换成startup, 可以解决这个问题。
然后在Sun Solaris目录/etc/init.d下, 或者linux目录/etc/rc.d/init.d下.
写一个类似下面的shell文件oracle ( 你要有root权限 )
---------------------------------------------------------
#!/bin/sh
OPT_=$1
case "$OPT_" in