1. 概述
    让数据库在操作系统启动的时候自动启动,会让数据库的维护变得更加简单、方便。
    曾经写过一篇在linux自动启动 oracle的文章“linux 下Oracle自动启动与停止(一) ”http://blog.csdn.net/chenxiaohua/archive/2008/02/26/2121878.aspx 。 该文章的方法需要用到/etc/oratab、$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut,显 得不够灵活。下面讲解另外一个方法自动启动多个oracle实例和监听器。
    文章“创 建、启动oracle数据库 ”讲述了怎样创建多个数据库和实例,并启动这些实例,现在将讲述怎样在系统启动的时候,自动启动这些数据库。
  2. 编写脚本
    用root用户,进入进入目录/etc/rc.d/init.d,创建文件oracle_linuxdb,该脚本用于启动实例 linuxdb,内容如下:

    view plain copy to clipboard print ?
    1. #!/bin/sh
    2. #chkconfig: 2345 80 80
    3. #description:oracle_linuxdb
    4. #
    5. # /etc/rc.d/init.d/oracle_linuxdb
    6. # auto start database LINUXDB instance
    7. #set oracle env
    8. export ORACLE_BASE=/home/ora/ora9
    9. export ORACLE_HOME=$ORACLE_BASE/oracle
    10. export PATH=$PATH:$ORACLE_HOME/bin
    11. ORACLE_USER=ora
    12. #start or stop script
    13. case  $1 in
    14. start)
    15. su - "$ORACLE_USER" <<EOO
    16. export ORACLE_SID=linuxdb
    17. lsnrctl start LISTENER_LINUXDB
    18. sqlplus /nolog<<EOS
    19. connect / as sysdba
    20. startup
    21. EOS
    22. EOO
    23. ;;
    24. stop)
    25. su - "$ORACLE_USER" <<EOO
    26. export ORACLE_SID=linuxdb
    27. lsnrctl stop LISTENER_LINUXDB
    28. sqlplus /nolog<<EOS
    29. connect / as sysdba
    30. shutdown immediate
    31. EOS
    32. EOO
    33. ;;
    34. *)
    35. echo "Usage: $0 {start|stop}"
    36. ;;
    37. esac

    #!/bin/sh #chkconfig: 2345 80 80 #description:oracle_linuxdb # # /etc/rc.d/init.d/oracle_linuxdb # auto start database LINUXDB instance #set oracle env export ORACLE_BASE=/home/ora/ora9 export ORACLE_HOME=$ORACLE_BASE/oracle export PATH=$PATH:$ORACLE_HOME/bin ORACLE_USER=ora #start or stop script case $1 in start) su - "$ORACLE_USER"<<EOO export ORACLE_SID=linuxdb lsnrctl start LISTENER_LINUXDB sqlplus /nolog<<EOS connect / as sysdba startup EOS EOO ;; stop) su - "$ORACLE_USER"<<EOO export ORACLE_SID=linuxdb lsnrctl stop LISTENER_LINUXDB sqlplus /nolog<<EOS connect / as sysdba shutdown immediate EOS EOO ;; *) echo "Usage: $0 {start|stop}" ;; esac
    在上面的代码是一个shell脚本,首先设置oracle相关的环境变量,注意ORACLE_SID指定了启动 的实例名。
    然后赋予oracle_linuxdb执行权限,执行命令:chmod +x oracle_linuxdb
    下面可以运行该脚 本,进行测试。
    启动,运行命令:./oracle_linuxdb start
    关闭,执行命令:./oracle_linuxdb stop
    可以用sqlplus user/pass@tnsname来测试启动和关闭数据库是否成功。

    创建文件 oracle_wldev,用于启动数据库实例wldev,内容如下:

    view plain copy to clipboard print ?
    1. #!/bin/sh
    2. #chkconfig: 2345 80 80
    3. #description:oracle_wldev
    4. #
    5. # /etc/rc.d/init.d/oracle_wldev
    6. # auto start database WLDEV  instance
    7. #set oracle env
    8. export ORACLE_BASE=/home/ora/ora9
    9. export ORACLE_HOME=$ORACLE_BASE/oracle
    10. export PATH=$PATH:$ORACLE_HOME/bin
    11. ORACLE_USER=ora
    12. #start or stop script
    13. case  $1 in
    14. start)
    15. su - "$ORACLE_USER" <<EOO
    16. export ORACLE_SID=wldev
    17. lsnrctl start LISTENER_WLDEV
    18. sqlplus /nolog<<EOS
    19. connect / as sysdba
    20. startup
    21. EOS
    22. EOO
    23. ;;
    24. stop)
    25. su - "$ORACLE_USER" <<EOO
    26. export ORACLE_SID=wldev
    27. lsnrctl stop LISTENER_WLDEV
    28. sqlplus /nolog<<EOS
    29. connect / as sysdba
    30. shutdown immediate
    31. EOS
    32. EOO
    33. ;;
    34. *)
    35. echo "Usage: $0 {start|stop}"
    36. ;;
    37. esac

    #!/bin/sh #chkconfig: 2345 80 80 #description:oracle_wldev # # /etc/rc.d/init.d/oracle_wldev # auto start database WLDEV instance #set oracle env export ORACLE_BASE=/home/ora/ora9 export ORACLE_HOME=$ORACLE_BASE/oracle export PATH=$PATH:$ORACLE_HOME/bin ORACLE_USER=ora #start or stop script case $1 in start) su - "$ORACLE_USER"<<EOO export ORACLE_SID=wldev lsnrctl start LISTENER_WLDEV sqlplus /nolog<<EOS connect / as sysdba startup EOS EOO ;; stop) su - "$ORACLE_USER"<<EOO export ORACLE_SID=wldev lsnrctl stop LISTENER_WLDEV sqlplus /nolog<<EOS connect / as sysdba shutdown immediate EOS EOO ;; *) echo "Usage: $0 {start|stop}" ;; esac
    然后赋予oracle_wldev执行权限,执行命令:chmod +x oracle_wldev
    下 面可以运行该脚本,进行测试。
    启动,运行命令:./oracle_wldev start
    关闭,执行命令:./oracle_wldev stop
    可以用sqlplus user/pass@tnsname 来 测试启动和关闭数据库是否成功。

    现在有了启动和关闭oracle的脚本,只要把这些脚本设置好,让系统在启动和关闭的时候,自动执行就好 了。

  3. 发布
    执行如下命令:
    chkconfig --add oracle_linuxdb
    chkconfig --add oracle_wldev
    chkconfig命令运行成功后,在rc2.d,rc3.d,rc4.d,rc5.d下面建立了 S80oracle_linuxdb和S80oracle_wldev两个连接文件,可以在系统启动的时候,运行脚本启动数据库。在rc0.d、 rc1.d和rc6.d目录下面建立了K80oracle_linuxdb和K80oracle_wldev文件,用于在系统关闭的时候自动运行脚本关闭 数据库。

    关于chkconfig的用法,可以通过man chkconfig查看。

linux自动启动 oracle相关推荐

  1. linux 脚本启动oracle,linux自动启动 oracle脚本

    最近,ORACLE系统基本调试通过,是时候设置ORACLE随RHEL自动启动与关闭服务的时候了,之所以把这个任务放在最后来做,是因为我觉得这个应该不会很难,但真正实施起来,还是遇到了个不小的障碍 写好 ...

  2. 服务中启动oracle服务,Linux下如何自动启动Oracle服务

    在windows下,可以在计算机服务管理里将Oracle服务设置为自动,Linux中在Oracle安装完毕以后,如果重新启动Linux ,Oracle是不会自动启动的,你可以通过手动调用dbstart ...

  3. linux下oracle开机自启动,Linux下开机自动启动Oracle的设置

    让我手动启动数据库,我决定花点时间研究下Oracle随Linux自动重启的设置,具体方法如下: 因为办公室突然停电,服务器重启后,数据库并没有跟着重启,,我才发现原来所有的数据库都没有设置开机自动重启 ...

  4. Linux开机自动启动ORACLE设置

    1.安装好Oracle数据库后: 执行 dbstart和dbshut会提示: [oracle@oracle11g ~]$ dbstart ORACLE_HOME_LISTNER is not SET, ...

  5. Linux开机自动启动ORACLE设置_仁者无敌_新浪博客

    在Linux启动时自动启动Oracle监听和实例 第一步:修改/etc/oratab文件,命令如下: [oracle@oracle11g ~]$ vi /etc/oratab 找到:orcl:/hom ...

  6. linux 自动启动shell 和 init概述

    1.linux运行级别 linux启动之后会在一个级别运行,下面列出了这些运行级别: 0 系统停止 1 单用户系统,不需要登陆 2 多用户系统但不支持NFS,命令行模式登陆 3 完整多用户模式,命令行 ...

  7. 在RedHat Enterprise Linux 上Oracle 9i的安装配置与调优

    1 安装配置Oracle 9i数据库 本章描述内容如下所示: 1.1 安装前的准备工作 介绍在安装Oracle之前所需的准备工作. 1.2安装前的系统设置 介绍在安装Oracle之前所必须的系统设置. ...

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

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

  9. Linux 部署 Oracle xe-21c

    Linux 部署 Oracle xe-21c 安装 yum -y localinstall oracle-database-preinstall-21c-1.0-1.el7.x86_64.rpm yu ...

最新文章

  1. c# groupbox大小_【已解决】C#中使得控件随着WinForm窗体的大小改变而自动变化
  2. 一个资深老司机告诉你选车的秘密 (完全版)
  3. python多线程详解_Python多线程详解
  4. Java设计模式学习总结(16)——行为型模式之命令模式
  5. 讨伐 Google!为什么建智能城市要毫无隐私?| 极客头条
  6. 语音识别下一步发展如何?哪些技术可以使用?哪些价值可以发掘?
  7. Acrobat Pro DC 教程,如何从 PDF 中提取页面?
  8. 【技术白皮书】第四章:信息抽取技术产业应用现状及案例(上)
  9. 创建Win95 100M无盘工作站
  10. 华硕T100 安装linux,【华硕T100TA3740评测】双硬盘组合 华硕T100TA挑战存储极限(全文)_华硕 T100TA3740_笔记本评测-中关村在线...
  11. 使用计算机要遵循哪些规则,中国大学MOOC:\\\在计算机网络的定义中,把众多计算机有机连接起来要遵循规定的约定和规则,称之为( )。\\\;...
  12. javase简单入门1
  13. 区块链,屌丝逆袭的最后机会
  14. gawk创建标题和脚本_使用此Gawk脚本为社交媒体帖子创建精美的文本
  15. C语言——常量,变量
  16. GPU编程自学2 —— CUDA环境配置
  17. 软考高级 真题 2010年上半年 信息系统项目管理师 案例分析
  18. 仿生学导论学习笔记——第四章
  19. 海龟绘图turtle模块
  20. 木马核心技术剖析读书笔记之木马技术的发展趋势

热门文章

  1. pycharm中导入pyQt无法使用
  2. 浅谈java使用指定字符集编码,以及常见的字符集
  3. MySQL for mac傻瓜式教程
  4. js百度地图鼠标绘制工具条库
  5. 计算机网络中常见的数据传输方式(电路交换,报文交换,分组交换)
  6. 五、C语言创建桌面程序:画笔和画刷
  7. IIC通信协议详解 PCF8591应用(Verilog实现FPGA)
  8. PAT | 1025 反转链表 (25分)【超时问题 + 柳神代码】
  9. ionic3开发系列——ionic3懒加载配置
  10. requireJs笔记