ORACLE11g随RHEL5系统自动启动与关闭的设置方法
也就是将最后的N改为Y,意思是将不允许自动启动改为允许自动启动。
复制代码 代码如下:
$ cd $ORACLE_HOME/bin在root账户下修改/etc/oratab 文件:
echo "Usage: 'basename $0' start|stop"
再次,就是写一个脚本,把它注册为一个系统服务,让它在开机与关机的时候运行。它的作用就是调用并执行dbstart和dbshut。这样不
在oracle账户下修改$ORACLE_HOME/bin/dbstart文件:
复制代码 代码如下:
touch /var/lock/subsys/oracle11exit 0
那么为什么要做touch /var/lock/subsys/oracle11和rm -f /var/lock/subsys/oracle11这两步呢?原因是跟LINUX系统的机制有关的:LINUX的判别一个服务是否被启动的依据是在/var/lock/subsys/目录下是否与服同名的文件,若有则表示这个服务已经被启动了,在系统关闭的时候,LINUX会把这里面列出的服务全部关闭,并删掉与服务同名的文件。若一个服务被启动了,但却在这个目录里没有那个服务的同名文件,则不会关闭那个服务。网上的文章均将这个地方设置错了,所以会发现,ORACLE可以随系统启动了,但却没有随系统关闭。我也是分析了/etc/rc.d/rc.local后才发现这个原理的。经过试验,果然如此。再分析mysql的启动与关闭脚本也是这样做的,最终恍然大悟。原来如此。这个地方请大家注意了。
其一:先给脚本分配可以被执行的权限。执行下面命令:
据库实例的启动与关闭脚本里面了。而不再是单独分开的了。
改为:
之所以做这一步,是因为在这个脚本自动生成的时候,也就是ORACLE被安装进RHEL的时候,这个脚本并不知道你的
export ORACLE_SID=orcl
现在就把我的整个成功设置的过程贴出来,供大家参考,以期大家能少走弯路;另外还是要给其他人一个建议:切莫生硬照搬,断章取义,否则其害大焉!!
echo "-----startup oracle successful-----" >> /var/log/oracle11log
最后,就是将这个脚本注册成为一个系统服务就可以了,方法有二:
# vi /etc/oratab
start)
$ vi dbstart
第二:su oracle -c $ORACLE_HOME/bin/dbstart 和touch /var/lock/subsys/oracle11这两行的作用是首先执行dbstart脚本启动oracle,然后在服务活动列表目录中创建一个与oracle11这个服务同名的一个文件,表示这个服务是活动的,也就是被启动的。
# description: Startup Script for oracle Databases
# /etc/rc.d/init.d/oradbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME
su oracle -c $ORACLE_HOME/bin/dbshut
orcl=/db/app/oracle/product/11.1.0/db_1 :Y
#!/bin/bash
首先,要在RHEL中设置允许ORACLE系统自动启动,因为默认情况下是设置为不允许的。操作如下:
复制代码 代码如下:
现在,我要对这段脚本做一个关键解释:echo "-----shutdwn oracle-----" >> /var/log/oracle11log
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE=/db/app/oracle/
就实现了数据库启动与关闭了吗?!这个脚本被放在/etc/init.d目录中,脚本的名字是oracle11
ORACLE_HOME_LISTNER是什么,现在要将这个参数显示的写明,这样就不会在执行这个脚本的时候报
写好脚本,注册好服务之后,经测试,ORACLE可以随RHEL启动而启动,但不能随系统关闭而关闭。在网上找答案,发现几乎所有的设置过程帖子都是从同一篇原样照抄过来的,根本就行不通。天下文章一大抄。求助他人,没有得到一个好的解决方案。无奈,自己静下心来慢慢研究分析,总算找到了问题的关键原因所在。
而su oracle -c $ORACLE_HOME/bin/dbshut 和rm -f /var/lock/subsys/oracle11这两行的作用是首先执行dbshut急哦脚本关闭oracle,然后从服务活动列表目录中删除那个与oracle11同名的那个文件,表示这个服务不是活动的,也就是已经被关闭。
*)
# su - ORACLE
第一:# chkconfig: 2345 99 10 虽是一行注释,但是确实关键的必不可少的一行,除非你不用chkconfig命令来自动生成符号连接文件,而是完全采用手工创建。否则没有这一行,执行chkconfig系统将会报出oracle11没有chkconfig服务权限的错误。
找到orcl=/db/app/oracle/product/11.1.0/db_1 :N这一行
stop)
ORACLE_HOME_LISTNER没有被指定的错误了。注意:dbstart和dbshut脚本在10g之后就已经将监听器的启动与关闭合并进数
同样的方式,我们也要修改dbshut的这个参数。这里就不再详细写出了,他们在同一个目录下。
echo "OK"
exit 1
找到 ORACLE_HOME_LISTNER=$1这一行
echo "-----startup oracle-----" >> /var/log/oracle11log
脚本如下:
保存并退出。
echo "-----shutdown oracle successful-----" >> /var/log/oracle11log
改为:
# chkconfig: 2345 99 10
echo "OK"
然后,是修改ORACLE自带的启动与关闭脚本,分别是dbstart和dbshut。执行这两个脚本就可以实现ORACLE脚本的启动与关闭。
case "$1" in
export ORACLE_HOME=/db/app/oracle/product/11.1.0/db_1
rm -f /var/lock/subsys/oracle11
su oracle -c $ORACLE_HOME/bin/dbstart
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/sql/oracle/2884.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
是因为scan的IP问题补占用
时间:2021-01-20
-
还你一个干净的model 2、功
时间:2021-01-20
-
既然 ROWNUM 列并不是真实存
时间:2021-01-20
-
Real Application Clusters
时间:2021-01-20
-
在tools-preferences-connection(
时间:2021-01-20
-
Windows Sever 2012下Oracle 12c安
时间:2021-01-10
-
Oracle安装监听器错误的解
时间:2021-01-07
-
oracle远程连接服务器数据
时间:2021-01-07
热门文章
-
Oracle存储过程编程详解
时间:2020-12-07
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
Oracle 12c Study之Installer Oracle
时间:2021-01-06
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
