linux自动启动 oracle
- 概述
让数据库在操作系统启动的时候自动启动,会让数据库的维护变得更加简单、方便。
曾经写过一篇在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数据库 ”讲述了怎样创建多个数据库和实例,并启动这些实例,现在将讲述怎样在系统启动的时候,自动启动这些数据库。 - 编写脚本
用root用户,进入进入目录/etc/rc.d/init.d,创建文件oracle_linuxdb,该脚本用于启动实例 linuxdb,内容如下:view plain copy to clipboard print ?- #!/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
#!/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 ?- #!/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
#!/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的脚本,只要把这些脚本设置好,让系统在启动和关闭的时候,自动执行就好 了。
- 发布
执行如下命令:
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相关推荐
- linux 脚本启动oracle,linux自动启动 oracle脚本
最近,ORACLE系统基本调试通过,是时候设置ORACLE随RHEL自动启动与关闭服务的时候了,之所以把这个任务放在最后来做,是因为我觉得这个应该不会很难,但真正实施起来,还是遇到了个不小的障碍 写好 ...
- 服务中启动oracle服务,Linux下如何自动启动Oracle服务
在windows下,可以在计算机服务管理里将Oracle服务设置为自动,Linux中在Oracle安装完毕以后,如果重新启动Linux ,Oracle是不会自动启动的,你可以通过手动调用dbstart ...
- linux下oracle开机自启动,Linux下开机自动启动Oracle的设置
让我手动启动数据库,我决定花点时间研究下Oracle随Linux自动重启的设置,具体方法如下: 因为办公室突然停电,服务器重启后,数据库并没有跟着重启,,我才发现原来所有的数据库都没有设置开机自动重启 ...
- Linux开机自动启动ORACLE设置
1.安装好Oracle数据库后: 执行 dbstart和dbshut会提示: [oracle@oracle11g ~]$ dbstart ORACLE_HOME_LISTNER is not SET, ...
- Linux开机自动启动ORACLE设置_仁者无敌_新浪博客
在Linux启动时自动启动Oracle监听和实例 第一步:修改/etc/oratab文件,命令如下: [oracle@oracle11g ~]$ vi /etc/oratab 找到:orcl:/hom ...
- linux 自动启动shell 和 init概述
1.linux运行级别 linux启动之后会在一个级别运行,下面列出了这些运行级别: 0 系统停止 1 单用户系统,不需要登陆 2 多用户系统但不支持NFS,命令行模式登陆 3 完整多用户模式,命令行 ...
- 在RedHat Enterprise Linux 上Oracle 9i的安装配置与调优
1 安装配置Oracle 9i数据库 本章描述内容如下所示: 1.1 安装前的准备工作 介绍在安装Oracle之前所需的准备工作. 1.2安装前的系统设置 介绍在安装Oracle之前所必须的系统设置. ...
- 基于Linux下 Oracle 备份策略(RMAN)
基于Linux下 Oracle 备份策略(RMAN) --********************************** -- 基于Linux下 Oracle 备份策略(RMAN) --**** ...
- Linux 部署 Oracle xe-21c
Linux 部署 Oracle xe-21c 安装 yum -y localinstall oracle-database-preinstall-21c-1.0-1.el7.x86_64.rpm yu ...
最新文章
- c# groupbox大小_【已解决】C#中使得控件随着WinForm窗体的大小改变而自动变化
- 一个资深老司机告诉你选车的秘密 (完全版)
- python多线程详解_Python多线程详解
- Java设计模式学习总结(16)——行为型模式之命令模式
- 讨伐 Google!为什么建智能城市要毫无隐私?| 极客头条
- 语音识别下一步发展如何?哪些技术可以使用?哪些价值可以发掘?
- Acrobat Pro DC 教程,如何从 PDF 中提取页面?
- 【技术白皮书】第四章:信息抽取技术产业应用现状及案例(上)
- 创建Win95 100M无盘工作站
- 华硕T100 安装linux,【华硕T100TA3740评测】双硬盘组合 华硕T100TA挑战存储极限(全文)_华硕 T100TA3740_笔记本评测-中关村在线...
- 使用计算机要遵循哪些规则,中国大学MOOC:\\\在计算机网络的定义中,把众多计算机有机连接起来要遵循规定的约定和规则,称之为( )。\\\;...
- javase简单入门1
- 区块链,屌丝逆袭的最后机会
- gawk创建标题和脚本_使用此Gawk脚本为社交媒体帖子创建精美的文本
- C语言——常量,变量
- GPU编程自学2 —— CUDA环境配置
- 软考高级 真题 2010年上半年 信息系统项目管理师 案例分析
- 仿生学导论学习笔记——第四章
- 海龟绘图turtle模块
- 木马核心技术剖析读书笔记之木马技术的发展趋势