Redhat as4 下oracle10g自启动脚本设置2 备忘

Linux中在Oracle安装完毕以后,如果重新启动Linux ,Oracle是不会自动启动的,你可以通过手动调用dbstart命令来进行启动,不过这样似乎也很繁琐.我们可以通过配置Oracle的自动启动脚本,然后利用LinuxService来启动Oracle服务器.

 

关于oraclelinux系统下安装后,如何在系统重启的情况下让服务自动启动起来,网上有很多的教程和现成的脚本,这里只是个人工作中总结的一些经验。(以下操作仅供参考,请勿照本宣科)

本文以 REDHAT AS4.8oracle10G为例,Oracle安装过程可参考64位Linux环境如何安装ORACLE10G

 

 

Oracle 数据库的自动启动及停止可籍 Oracle 提供的 dbstart dbshut 档达成 。这些文件又耍依靠 /etc/oratab 存在才能使用。想要实现oracleLinux系统自动启动,有两种方式:

 

一、设成开机自动启动数据库(root账号

1、改/etc/oratab 最后一行
sid:/oracle/product/10.2.0.1:N
=>
sid:/oracle/product/10.2.0.1:Y(其中sid为想要启动的database

 

2、改/etc/rc.local

echo "su - oracle -c 'lsnrctl start'" >> /etc/rc.local

echo "su - oracle -c 'dbstart'" >> /etc/rc.local

 

实际操作中可能会出现不能自动启动oracle数据库的情况!

oracle编辑$ORACLE_HOME/bin/dbstart,找到其中第88:ORACLE_HOME_LISTNER=改为你自己的路径,或者可以改成ORACLE_HOME_LISTNER=$ORACLE_HOME,和$ORACLE_HOME/bin/dbshut,找到其中第77:ORACLE_HOME_LISTNER=改为你自己的路径,或者可以改成ORACLE_HOME_LISTNER=$ORACLE_HOME

保存脚本,以oracle用户运行dbshutdbstart看是否能关闭、启动数据库。如果不能,一般是参数设置,根据报错找到对应位置更改。

 

二、配置Oracle的自动启动脚本

首先在/etc/rc.d/init.d/目录下配置Oracle的服务文件

#touch /etc/rc.d/init.d/oracle

#chmod 755 /etc/rc.d/init.d/oracle

#chown -R /ect/rc.d/init.d/oracle

然后vi编辑oracle文件,将一下脚本输入到oracle

#!/bin/sh
#
# /etc/rc.d/init.d/oracle
# whoami
# root
# chkconfig: 345 99 10
# /etc/init.d/oracle
# description: starts the oracle dabase deamons
#


case "$1" in
  start)
        echo -n "Starting Oracle Databases: "
        echo "----------------------------------------------------" >> /var/log/oracle
        date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
        echo "----------------------------------------------------" >> /var/log/oracle
        su - oracle -c dbstart >> /var/log/oracle
        echo "Done."
        echo -n "Starting Oracle Listeners: "
        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 -n "Shutting Down Oracle Listeners: "
        echo "----------------------------------------------------" >> /var/log/oracle
        date +"! %T %a %D : Shutting Down Oracle Databases as part of system down." >> /var/log/oracle
        echo "----------------------------------------------------" >> /var/log/oracle
        su - oracle -c "lsnrctl stop" >> /var/log/oracle
        echo "Done."
        rm -f /var/lock/subsys/oracle
        echo -n "Shutting Down Oracle Databases: "
        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)
        echo -n "Restarting Oracle Databases: "
        echo "----------------------------------------------------" >> /var/log/oracle
        date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle
        echo "----------------------------------------------------" >> /var/log/oracle
        su - oracle -c dbstop >> /var/log/oracle
        su - oracle -c dbstart >> /var/log/oracle
        echo "Done."
        echo -n "Restarting Oracle Listeners: "
        su - oracle -c "lsnrctl stop" >> /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
        ;;
  *)
        echo "Usage: oracle {start|stop|restart}"
        exit 1
esac


保存文件,退出以后,添加并启动察看服务。

#chkconfig --add oracle
#chkconfig --list oracle

chkconfig --list oracle的运行结果:

oracle     0:off   1:off   2:off   3:on    4:off   5:on    6:off

根据上面的运行结果,当相应的运行级别为on(例如:5:on),在对应的/etc/rc.d/rcN.d(例如:和5:on对应的是:/etc/rc.d/rc5.d)下面会生成一个文件:S99oracle,使用vi S99oracle打开该文件,可以看到该文件的内容和/etc/rc.d/init.d/oracle内容相同,表示配置成功,其实,S99oracle是一个到/etc/rc.d/init.d/oracle的链接,我们可以使用file命令来查看:

$file /etc/rc.d/rc5.d/S99oracle

S99oracle:symbolic link to '../init.d/oracle

说明一点:

脚本文件中的:# chkconfig: 345 99 10

指出345级别启动这个服务,99是在相应的/etc/rc.d/rcN.d(N为前面指定的级别,这里是345)目录下生成的链接文件的序号(启动优先级别)S99oracle10为在除前面指出的级别对应的/etc/rc.d/rcN.d(N为除345之外的级别)目录生成的链接文件的序号(服务停止的优先级别)K10oracle

重启系统,就可以在启动的过程中看到 Starting oracle,因为我们设置的优先级为99,一般是最后启动。[OK]以后就可以了。因为要启动emctl,可能有点慢,等待的时间要稍微长一点。

启动以后可以以root执行oracle start或者oracle stop来启动或停止服务。

注意:

这样的脚本启动一般不会启动实例,如果想让实例也随脚本一起启动的话,就需要修改文件:/etc/oratab
如果这个文件不存在,那么就得运行脚本文件产生它sh /u01/app/oracle/product/10.2.0/root.sh

/etc/oratab 最后一行
sid:/oracle/product/10.2.0.1:N
=>
sid:/oracle/product/10.2.0.1:Y
(其中sid为想要启动的database

只要在这里设置好后,在配合上面的脚本,即可实现开机自动启动oracle以及实例了.

引用地址:http://blog.chinaunix.net/u2/63432/showart_2099504.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值