`
fanfanlovey
  • 浏览: 72298 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

suse linux 下自动启动、关闭数据库

    博客分类:
  • SUSE
阅读更多
软件版本
  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的话 表示设置成功
分享到:
评论
1 楼 793059909 2014-03-07  
1、
suse11下的目录情况如下:
/etc/rc.d/rc0.d/K10oracle -> /etc/init.d/oracle


2、
脚本里面这两句看不懂:
chmod 1777 /tmp 
chown sys:sys /tmp 

并且系统中也没有sys这个账户

3、
脚本中#!/bin/bssh下要加上下面的这个注释就不会报一个缺少什么tag的提示
### BEGIN INIT INFO
# Provides:          Oracle
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit
### END INIT INFO

4.
在执行stop时有以下信息输出:
ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener



其他写的都很好,

相关推荐

Global site tag (gtag.js) - Google Analytics