软件版本
suse10
oracle11G
第一步:
以oracle账号进入系统,进入oracle目录中寻找查看启动与关闭指令是否存在
#cd $ORACLE_HOME/bin
第二步:
查看启动脚本是否存在
# ls dbstart
# ls dbshut
第三步:
查看oratab中的内容,oratab文件在/opt/oratab中,
修改允许oracle是否开机启动 为Y
orcl:/oracle/product/10.2/db_1:Y
执行#source oratab 使之生效
第四步:
执行$ORACLE_HOME/bin下的dbstart 指令,看看是否能执行,如果这里不能执行,那么oracle自启动将不可能完成,执行完之后到$ORACLE_HOME/startup.log中查看执行结果
./dbstart: Starting up database "orcl"
Tue May 29 00:26:23 CST 2012
SQL*Plus: Release 11.2.0.1.0 Production on Tue May 29 00:26:26 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> Connected to an idle instance.
SQL> ORACLE instance started.
Total System Global Area 1653518336 bytes
Fixed Size 2213896 bytes
Variable Size 1006635000 bytes
Database Buffers 637534208 bytes
Redo Buffers 7135232 bytes
Database mounted.
Database opened.
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
如果出现上述结果,说明startup可用
第五步:
以root用户进入系统 在/etc/rc.id/init.id下执行下面脚本
#vi start_shut //自定义名称
#!/bin/sh
ORACLE_HOME=/opt/oracle/product/10.2/db_1
OPT_=$1
case "$OPT_" in
start)
su - oracle -c "$ORACLE_HOME/bin/lsnrctl start"
su - oracle -c "$ORACLE_HOME/bin/dbstart"
chmod 1777 /tmp
chown sys:sys /tmp
exit 0;;
stop)
/bin/echo "$0:(stop)"
su - oracle -c "$ORACLE_HOME/bin/lsnrctl stop"
su - oracle -c "$ORACLE_HOME/bin/dbshut"
exit 0
;;
*)
/bin/echo ''
/bin/echo "Usage: $0 {start|stop|}"
/bin/echo ''
exit 0
;;esac
修改Shell脚本的start_shut的权限,使之可以被执行
#chmod 775 start_shut
#ls -l start_shut
第六步:设定oracle开机自动启动
进入下面的目录
#cd /etc/rc0.id
#ln -s /etc/rc.d/init.id /start_shut S99start_shut
#ln -s /etc/rc.d/init.id /start_shut k01start_shut
第七步:重启系统 执行sqlplus / as sysdba 则进入oracle的话 表示设置成功