网络上不少网友花了很大篇幅讲如何写自启动和自关闭数据库的脚本程序,其实从Oracle 10G发布的包里有现成的工具可供使用。启动和关闭两个工具都位于$ORACLE_HOME/bin下。一个叫dbstart,另一个叫dbshut,两个脚本可以支持$ORACLE_HOME作为参数,也可以进入脚本编辑修改,把$1改成你的HOME路径。
两个脚本都默认oratab存在于/etc下,所有数据库实例都应该在此文件里有一行配置:
配置格式如下:
$ORACLE_SID:$ORACLE_HOME:Y
其中第一列为你的实例名,第二列为HOME路径,每三列为Y或N,表示是否要支持dbstart/dbshut启动/关闭,Y表示支持,N表示不支持。可以为多实例配置多行。
然后你只需要在/etc/init.d建立一个简单的脚本,start参数时调用dbstart,stop参数时调用dbshut。然后在rc3.d和rc5.d里链接S**入口,在rc1.d里链接K**入口即可。
oratab配置文件应该在安装数据库软件时用root.sh创建的,如果你的与此有所不同(不在/etc下),你需要在dbstart/dbshut里简单改成你的路径即可。
另外需要注意的是:dbstart/dbshut默认应该由oracle运行,所有你创建的脚本应该用su - oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"来调用。