怎么样才能使oracle9i在系统启动的时候跟着启动

怎么样才能使oracle9i在系统启动的时候跟着启动

我的系统是RedHat 7.1+oracle 9i
怎么样才能使oracle9i在系统启动的时候跟着启动.
请给一个启动脚本.      
写一个脚本,脚本里包含启动listener和数据库的命令(可以用sqlplus或dbstart),用chkconfig把服务添加到系统服务里面,源程序我以前在本论坛力贴出来过,不过我也忘了在哪儿了,版主是不是当得不称职,如果需要的花,我回去写一个贴出来,我现在在外面呢。      
如果能有现成的脚本最好了
但我的dbstart不能用.在shell下用sqlplus可以启动数据库      
可用以下脚本作为起点,将内容拷贝到/etc/rc.d/init.d目录中的oracle文件。还需要使该脚本可执行:chmodu +x Oracle。应确保更改ORA_HOME环境变量,使其与你的配置相符。
#!/bin/bash
# start and stop Oracle
#

$ORA_HOME=/u01/app/oracle/product/8.1.5
$ORA_OWNER=oracle

if [ ! ?f @ORA_HOME/bin/dbstart ?o ! -d $ORA_HOME ]
then
echo “Oracle startup: Can not start”
ecit 1
fi
case “$1” in
  start)
echo “Oracle startup”
su - $ORA_OWNER ?c “$ORA_HOME/bin/lsnrctl start”
su - $ORA_OWNER ?c $ORA_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo “Finished”
;;
  stop)
echo “Oracle shutdown”
su - $ORA_OWNER ?c “$ORA_HOME/bin/lsnrctl stop”
su - $ORA_OWNER ?c $ORA_HOME/bin/dbshut
touch ?f /var/lock/subsys/oracle
echo “Finished”
;;
  reload|restart)
$0 stop
$0 start
;;
  *)
echo “Usage: /etc/rc.d/init.d/oracle {start|stop|restart|reload}”
exit 1
esac
exit 0      
我的系统里dbstart 和dbshut不好使.根本无法停止和启动数据库      
在/etc目录下有一个文件叫oratab的,好象是这个名字,那里面有你的数据库当前的实例名,初始安装时,这一行是加上注释的,你只要去掉注释就可以启动你的数据库了。
只要你打开oratab这个文件,你看看注释中的说明就应该会操作了。      
dbstart,dbshut不能用的问题请修改/etc/oratab
把里面的你的sid后面的N改成Y。
下面是817的自动启动脚本,9的你可以自行修改。
=====================================================================
# !/bin/sh
# chkconfig: 2345 80 03
# description: oracle dabase deamons
#

ORA_HOME=/u01/app/oracle/product/8.1.7
ORA_OWNER=oracle

# if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
# then
# echo "Oracle startup: cannot start"
# exit
# fi

case "$1" in
'start')

echo -n "Starting Oracle: "
su - $ORA_OWNER -c $ORA_HOME/bin/orastart
touch /var/lock/subsys/oracle8i
echo
;;

'stop')
echo -n "Shutting down Oracle: "
su - $ORA_OWNER -c $ORA_HOME/bin/orastop
rm -f /var/lock/subsys/oracle8i
echo
;;

'restart')
echo -n "Restarting Oracle: "
$0 stop
$0 start
echo
;;

*)
echo "Usage: oracle { start | stop | restart }"
exit 1

esac
exit 0
=====================================================================
其中orastart为:
=====================================================================
lsnrctl start
/u01/app/oracle/product/8.1.7/bin/dbstart
=====================================================================
orastop为:
=====================================================================
lsnrctl stop
/u01/app/oracle/product/8.1.7/bin/dbshut
=====================================================================

用chkconfig把 ORACLE服务添加到service,里就可以了。      
我在执行dbstart和dbshut的时候显示错误:
sh-2.04$ dbshut

SQL*Plus: Release 9.0.1.0.0 - Production on Tue Jul 9 09:46:47 2002

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

SQL> ERROR:
ORA-24314: service handle not initialized


SQL> ORA-12162: TNS:service name is incorrectly specified
SQL> Database "" shut down.

SQL*Plus: Release 9.0.1.0.0 - Production on Tue Jul 9 09:46:47 2002

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

SQL> ERROR:
ORA-01031: insufficient privileges


SQL> ORA-01012: not logged on
SQL> Database "ora901" shut down.
请问这是为什么      
没人能知道这是为什么吗?      
你好好检查一下你的数据库安装吧,为什么数据库的实例名是空呢?是不是你根本就没有做数据库实例的初始化工作,初始的数据库表还没建立起来?