0

0

Oracle设置(1)设置Oracle数据库为Linux系统服务

php中文网

php中文网

发布时间:2016-06-07 15:30:42

|

1287人浏览过

|

来源于php中文网

原创

将Oracle数据库设为Linux系统服务,并使其能随系统启动和关闭数据库。 1. vi /etc/oratab 将最后一行改为Y. 只有改为Y,Oracle自带的dbstart与dbshut才能起作用。 如: xcldb:/u01/app/oracle/product/11.2.0/db_1:Y 2. 启动脚本文件 vi /etc/rc.d/init.d/orac

将oracle数据库设为linux系统服务,并使其能随系统启动和关闭数据库。

1. vi /etc/oratab

   将最后一行改为Y. 只有改为Y,Oracle自带的dbstart与dbshut才能起作用。

   如:

    xcldb:/u01/app/oracle/product/11.2.0/db_1:Y


2. 启动脚本文件

  vi /etc/rc.d/init.d/oracle

#!/bin/bash
  #chkconfig: 2345 20 80
  #description: Oracle dbstart/dbshut
  #/etc/rc.d/init.d/oracle
  export ORACLE_BASE=/u01/app/oracle
  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
  ORACLE_OWNER=oracle
  LOGFILE=/var/log/oracle.log
  DATE=`date +%Y-%m-%d`
  echo "################################">>${LOGFILE}
  echo "## Run Oracle "${DATE} >> ${LOGFILE}
  if [! -f ${ORACLE_HOME}"/bin/dbstart" ] || [ ! -f ${ORACLE_HOME}"/bin/dbshut" ]; then
   echo "ERROR: Missing the script file "${ORACLE_HOME}"/bin/dbstart or "${ORACLE_HOME}"/bin/dbshut!">>${LOGFILE}
   echo "################################">>${LOGFILE}
   exit
  fi
  start(){
     touch /var/lock/subsys/oracle
      echo "###Startup oracle....."
   su - ${ORACLE_OWNER} -c ${ORACLE_HOME}"/bin/lsnrctl start"
   su - ${ORACLE_OWNER} -c ${ORACLE_HOME}"/bin/dbstart "${ORACLE_HOME}
   echo "###Done"
   #echo "###Run database control......"
   #su - ${ORACLE_OWNER} -c ${ORACLE_HOME}"/bin/emctl start dbconsole"
   echo "###Done"
   echo "###startup oracle successful....."
  }
  stop(){
     #echo "###Stop database control......"
   #su - ${ORACLE_OWNER} -c ${ORACLE_HOME}"/bin/emctl stop dbconsole"
   echo "###Done"
     echo "###Shutdown oracle------"
   su - ${ORACLE_OWNER} -c ${ORACLE_HOME}"/bin/lsnrctl stop"
   su - ${ORACLE_OWNER} -c ${ORACLE_HOME}"/bin/dbshut "${ORACLE_HOME}
   echo "###Done"
   rm -f /var/lock/subsys/oracle
   echo "###Shutdown oracle successful-------"
  }
 
  case "$1" in
  'start')
          start >> ${LOGFILE}
  ;;
  'stop')
          stop >> ${LOGFILE}
  ;;
  'restart')
  stop >> ${LOGFILE}
  start >> ${LOGFILE}
 ;;
  *)
  echo "Usage:`basename $0` start|stop|restart"
   exit 1
  esac
  echo "###Finished.">>${LOGFILE}
  echo "################################">>${LOGFILE}
  exit 0

3. 将脚本设置为可执行

  chmod a+x /etc/rc.d/init.d/oracle

  授权后,可手工用下面命令测试前面脚本的正确性:

   a. 启动

    /etc/rc.d/init.d/oracle start

   b. 停止

    /etc/rc.d/init.d/oracle stop

   c. 重启

    /etc/rc.d/init.d/oracle restart

4. 手工添加服务

 a.手工添加到chkconfig

    chkconfig --add /etc/rc.d/init.d/oracle

    b.查看oracle服务的开机启动级别

     chkconfig --list oracle 或

     chkconfig | grep oracle

    #c.修改oracle服务的开机启动级别

    #chkconfig --level 24 oracle off

    #chkconfig --level 35 oracle on

   注意:

     如果在启动脚本前不加下面两行,会出现"服务不支持 chkconfig"

SmartB2B行业电子商务
SmartB2B行业电子商务

SmartB2B 是一款基于PHP、MySQL、Smarty的B2B行业电子商务网站管理系统,系统提供了供求模型、企业模型、产品模型、人才招聘模型、资讯模型等模块,适用于想在行业里取得领先地位的企业快速假设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC模式开发。融入了模型化、模板

下载

  #chkconfig: 2345 20 80

    #description: Oracle dbstart/dbshut

5. 手工测试服务

  service oracle start

  service oracle stop

  service oracle restart

6.建立连接

  a.关机执行

  ln -s /etc/init.d/oracle /etc/rc.d/rc0.d/K01oracle

  b.重启执行

  ln -s /etc/init.d/oracle /etc/rc.d/rc6.d/K01oracle

  c.开机执行(Oracle10g以后能自启动了,可以省掉这步)

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

  ln -s /etc/init.d/oracle /etc/rc.d/rc5.d/S99oracle

7.重启测试下

  reboot

  cat /var/log/oracle.log

 

备注:

  脚本中可以看到,start与stop时,弄了个/var/lock/subsys/oracle。

如果不增加这个文件的处理,在系统关闭时,你会发现stop并没有执行。

原因可以看看>


MAIL: xcl_168@aliyun.com

BLOG: http://blog.csdn.net/xcl168


相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.6万人学习

Java 教程
Java 教程

共578课时 | 50.5万人学习

oracle知识库
oracle知识库

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号