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的话 表示设置成功