Linux下Oracle自动启动脚本

1、 修改Oracle系统配置文件/etc/oratab

/etc/oratab 格式为: SID:ORACLE_HOME:AUTO

把AUTO域设置为Y(大写),只有这样,oracle 自带的dbstart和dbshut才能够发挥作用。我的为:

ora9i:/home/oracle/ora/products/9.2.0:Y

2、 编写服务脚本:

vi /etc/rc.d/init.d

#!/bin/bash

#

#################FUNCTION#############

#

# AutoStart Oracle and listener

# AutoStop Oracle and listener

#

#####################################

#

# Created by ZFSFOT 2005-09-15

#

case "$1" in

start)

echo "Starting Oracle Databases ... "

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Starting Oracle Databasee as part of system up." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

su - oracle -c "dbstart" >> /var/log/oracle

echo "Done."

echo "Starting Oracle Listeners ... "

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

su - oracle -c "lsnrctl start" >> /var/log/oracle

echo "Done."

echo ""

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Finished." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

touch /var/lock/subsys/oracle

;;

stop)

echo "Stoping Oracle Listeners ... "

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

su - oracle -c "lsnrctl stop" >> /var/log/oracle

echo "Done."

rm -f /var/lock/subsys/oracle

echo "Stoping Oracle Databases ... "

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

su - oracle -c "dbshut" >>/var/log/oracle

echo "Done."

echo ""

echo "-------------------------------------------------" >> /var/log/oracle

date +" %T %a %D : Finished." >> /var/log/oracle

echo "-------------------------------------------------" >> /var/log/oracle

;;

restart)

$0 stop

$0 start

;;

*)

echo "Usage: oracle {start|stop|restart}"

exit 1

esac

将脚本命名为oracle,保存在/etc/rc.d/init.d下

改变文件属性:chmod 755 oracle

注意:在windows下编辑此文件时有DOS格式字符导致在linux下不能够正常运行,建议用gedit 或用 vi编辑

3、建立服务连接:

系统启动时启动数据库,我们需要以下连结∶

--------------------------------------------------------------------------------

$ ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc2.d/S99oracle

$ ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc3.d/S99oracle

$ ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc5.d/S99oracle #rc4.d unused

--------------------------------------------------------------------------------

要在重新启动时停止数据库,我们需要以下连结∶

--------------------------------------------------------------------------------

$ ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc0.d/K01oracle # 停止

$ ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc6.d/K01oracle # 重新启动

作者:csdn博客 郭一军_guoyJoe

时间: 2024-11-03 19:50:34

Linux下Oracle自动启动脚本的相关文章

RedHat Linux下Oracle启动脚本的建立 dbstart oracle8.1.6

oracle|脚本 RedHat Linux下Oracle启动脚本的建立 2001-06-05 8:25发布者:Crystal 阅读次数:102 一.修改$ORACLE_HOME/bin/dbstart脚本 首先测试你的$ORACLE/bin/dbstart脚本,如果能正常启动Oracle,请跳到第二部分. 本人运行环境为RedHat7.1+Oracle8.1.6,发现dbstart脚本有问题,不能得到当前运行的Oracle的版本号.编辑dbstart,找到 STATUS=1 if [ "$VE

linux下oracle重启、启动、停止脚本

网站的服务中断了,重启下发现是oralce服务不存在,又不想重启机器,就重新启动下oralce,再重启服务,搞定. 操作的为oracle9i:(其他应该也可以用吧记录如下)声明:坚挺器(应该理解的哦,信息发不出去,你懂的,就用这个了) 手动操作  代码如下 复制代码 (1) 以oracle身份登录数据库,命令:su – oracle (2) 进入Sqlplus控制台,命令:sqlplus /nolog (3) 以系统管理员登录,命令:connect / as sysdba (4) 启动数据库,命

linux下oracle自动备份脚本

linux下oracle自动备份脚本  vi /home/oracle/backup.sh   //编写脚本 以下为脚本内容 time=` date +"%Y%m%d%H%M" ` //变量time 获取当前系统时间 su - oracle -c "exp hbskjt_0113/password owner=hbskjt_0113 file=/home/oracle/hbskjt_$time.dmp"  //导库脚本 cd /home/oracle tar zcv

基于Linux下 Oracle 备份策略(RMAN)

基于Linux下 Oracle 备份策略(RMAN) --********************************** -- 基于Linux下 Oracle 备份策略(RMAN) --**********************************       对于 Oracle 数据库的备份与恢复,尽管存在热备,冷备以及逻辑备份之外,使用最多的莫过于使用RMAN进行备份与恢复.而制定RMAN备份策略则是基于数据库丢失的容忍程度,即恢复策略来制定.在下面的备份策略中,给出的是一个通用

Linux下oracle如何定时备份并删除几天前的数据

问题描述 Linux下oracle如何定时备份并删除几天前的数据 在linux环境下的,oracle数据的备份删除,应该怎么操作 解决方案 写一个shell脚本就可以,这样可以把数据传输到远程 today td=`date '+%Y%m%d'` backpath=/home/oracle/backup/ backfilename tfile=${backpath}${td}data.sql your backup command .... delete 10 days ago backfile

Linux下用Python脚本监控目录变化代码分享

  这篇文章主要介绍了Linux下用Python脚本监控目录变化代码分享,本文直接给出实现代码,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #!/usr/bin/env python #coding=utf-8   import os from pyinotify import WatchManager, Notifier, ProcessEven

关于如何编写启动linux下的tomcat脚本问题

问题描述 关于如何编写启动linux下的tomcat脚本问题 每次启动tomcat,都需要进入到具体的路径下 /data/uficc/program/apache-tomcat-7.0.65/bin ,然后 ./startup.sh & 启动tomcat,需要重启是都是先kill掉进程后再次启动. 我的需求是:能不能编写个脚本,让我无论在那个路径下,只需要简单输入 :Manage stop tomcat 就可以停止tomcat服务,输入 Manage start tomcat 可以启动tomca

Linux下Oracle删除用户和表空间的方法_oracle

本文实例讲述了Linux下Oracle删除用户和表空间的方法.分享给大家供大家参考,具体如下: 1.删除某个用户 SQL> conn /as sysdba Connected. SQL> drop user userName cascade; 用户已删除 如果用户无法删除,并报错: ERROR at line 1: ORA-01940: cannot drop a user that is currently connected 通过查看用户的进行,并kill用户进程,然后删除用户. SQL&

linux下用shell脚本启动可执行.jar文件并关闭的方法

话不多说,开始上代码,为了偷懒,代码只是截图了,感兴趣的朋友可以看了之后自己写,这样加深印象. 上面是小弟写的shell脚本.写的不好请见谅. 首先遇到的第一个坑 我在window下写的 然后道linux中执行,在linux死活都说俺的19行有错误,俺就不明白了,哪里有错,问了下别人,也说没错.突然有个高人问我在哪编写的,小弟回答在win下,他告诉俺执行下这个命令: dos2unix server.sh 然后小弟就执行了,说命令不存在,小弟只好安装这个,执行了以下命令 yum install d