iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 11g数据库随系统自动启动与关闭的设置方法
  • 706
分享到

Oracle 11g数据库随系统自动启动与关闭的设置方法

2024-04-02 19:04:59 706人浏览 独家记忆
摘要

备注:此文根据网上文章实践并修改所成。RHEL6.8 64bit+oracle Database 11g Enterprise Edition Release 11.2.0.1.0Oracle 11g系统自

备注:此文根据网上文章实践并修改所成。

RHEL6.8 64bit+oracle Database 11g Enterprise Edition Release 11.2.0.1.0

Oracle 11g系统自动启动与关闭的设置方法

第一步:要在Linux中设置允许ORACLE系统自动启动,因为默认情况下是设置为不允许的。

1.root账户下修改/etc/oratab文件:

# vi /etc/oratab

找到:orcl=/db/app/oracle/product/11.1.0/db_1 :N

改为:orcl=/db/app/oracle/product/11.1.0/db_1 :Y

就是将最后的N改为Y,将不允许自动启动改为允许自动启动。

2.修改Oracle自带的启动与关闭脚本,分别是dbstart和dbshut;

执行这两个脚本就可以实现ORACLE脚本的启动与关闭

在oracle账户下修改$ORACLE_HOME/bin/dbstart文件:

$ vi $ORACLE_HOME/bin dbstart

找到: ORACLE_HOME_LISTNER=$1

改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

之所以做这一步,是因为在这个脚本自动生成的时候,也就是Oracle被安装进linux的时候,这个脚本并不知道你的ORACLE_HOME_LISTNER是什么,现在安装后要将这个参数显示的写明,这样就不会在执行这个脚本的时候报出ORACLE_HOME_LISTNER没有被指定的错误了。

注意:dbstart和dbshut脚本在10g版本之后,已经将监听器的启动与关闭合并进数据库实例的启动与关闭脚本里面了,而不再是单独分开的了。

同样的方式,也要修改dbshut的这个参数。这里就不再详细写出了,脚本在同一个目录下。

第二步:写一个脚本,把它注册为一个系统服务,让它在开机与关机的时候运行。它的作用就是调用并执行dbstart和dbshut。这样不就实现了数据库启动与关闭了。

1.创建脚本名为oracle,脚本被放在/etc/init.d目录中。

脚本代码如下:

#!/bin/bash

# chkconfig: 2345 96 11

# description:Startup Script for oracle Databases

#/etc/rc.d/init.d/oradbstart

exportORACLE_BASE=/u01/app/oracle/

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

exportORACLE_SID=ORDB

exportPATH=$PATH:$ORACLE_HOME/bin

case "$1"in

 

start)

echo"-----startup oracle-----">> /var/log/oraclelog

su - oracle -c"$ORACLE_HOME/bin/dbstart"

touch /var/lock/subsys/oracle

echo"-----startup oracle successful-----">> /var/log/oraclelog

echo "OK"

;;

 

stop)

echo"-----shutdwn oracle-----">> /var/log/oraclelog

su - oracle -c"$ORACLE_HOME/bin/dbshut"

rm -f /var/lock/subsys/oracle

echo"-----shutdown oracle successful-----">> /var/log/oraclelog

echo "OK"

;;

 

reload|restart)

$0 stop

$1 start

;;

 

*)

echo "Usage:'basename $0' start|stop|reload|restart"

exit 1

esac

exit 0

保存内容并退出。

现在,我要对这段脚本做一个关键解释:

第一:# chkconfig: 2345 99 10 虽是一行注释,但是确实关键的必不可少的一行,除非你不用chkconfig命令来自动生成符号连接文件,而是完全采用手工创建。否则没有这一行,执行chkconfig系统将会报出oracle没有chkconfig服务权限的错误。

第二:su - oracle -c $ORACLE_HOME/bin/dbstart和touch /var/lock/subsys/oracle这两行的作用是首先执行dbstart脚本启动oracle,然后在服务活动列表目录中创建一个与oracle这个服务同名的一个文件,表示这个服务是活动的,也就是被启动的。

第三:su - oracle -c $ORACLE_HOME/bin/dbshut 和rm -f /var/lock/subsys/oracle这两行的作用是首先执行dbshut脚本关闭oracle,然后从服务活动列表目录中删除那个与oracle同名的那个文件,表示这个服务不是活动的,也就是已经被关闭。

那么为什么要做touch /var/lock/subsys/oracle和rm -f /var/lock/subsys/oracle这两步呢?原因是跟Linux系统的机制有关的:Linux的判别一个服务是否被启动的依据是在/var/lock/subsys/目录下是否有与服务名相同的文件,若有则表示这个服务已经被启动了,在系统关闭的时候,Linux会把这里面列出的服务全部关闭,并删掉与服务同名的文件。若一个服务被启动了,但却在这个目录里没有那个服务的同名文件,则不会关闭那个服务。

网上的文章均将这个地方设置错了,所以会发现,Oracle可以随系统启动了,但却没有随系统关闭。

分析了/etc/rc.d/rc.local后才发现这个原理的。

经过试验,果然如此。再分析Mysql的启动与关闭脚本也是这样做的,最终恍然大悟。原来如此。这个地方请大家注意了。

最后,就是将这个脚本注册成为一个系统服务就可以了,方法有二:

其一:先给脚本分配可以被执行的权限。执行下面命令:

代码如下:

#su - root

chown oracle /etc/init.d/oracle

chmod 775 /etc/init.d/oracle

再创建符号链接文件。

chkconfig --add /etc/init.d/oracle,执行这个命令就需要你在脚本中写上

# chkconfig: 2345 99 10 了。这样当这个命令被执行的时候,会去oracle文件中寻找这行注释,并解析这行注释,根据解析结果分别在/etc/rc.d/rc2.d;/etc/rc.d/rc3.d;/etc/rc.d/rc4.d;/etc/rc.d/rc5.d中创建符号连接文件S99oracle文件,这个文件是系统启动时要执行的,其实这个文件是指向/etc/init.d/oracle的,启动的时候系统向这个文件发送一个start参数,也就执行了oracle文件中的start分支了。

另外还会在/etc/rc.d/rc0.d;/etc/rc.d/rc1.d;/etc/rc.d/rc6.d中创建K10oracle文件,这个文件时系统关闭时要执行的,其实这个文件也是指向/etc/init.d/oracle的,关闭的时候系统向这个文件发送一个stop参数,也就执行了oracle文件中的stop分支了。

我想你应该明白# chkconfig: 2345 99 10 中这些数字的含义了吧:

指出2,3,4,5级别启动这个服务,99是在相应的/etc/rc.d/rcN.d(N为前面指定的级别,这里是2345)目录下生成的链接文件的序号(启动优先级别)S99oracle,10为在除前面指出的级别对应的/etc/rc.d/rcN.d(N为除2345之外的级别)目录生成的链接文件的序号(服务停止的优先级别)K10oracle。至于为什么在这些目录中创建文件和文件的命名规则,这就要您对Linux的系统启动流程有一个熟悉的了解了,在这就不详谈了。

其二:若您想尝试一下手动创建符号连接文件的乐趣,请执行如下命令:

代码如下:

#su - root

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

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

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

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

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

ln -s /etc/init.d/oracle/etc/rc.d/rc1.d/K10oracle

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

其实手动这样操作作用效果和执行chkconfig --add oracle是一样的。

到此,所有设置就完成了,下面进行一下测试

#cd /etc/init.d

sh oracle start 或者service oracle start

执行后,看看/var/log目录下的oraclelog文件,里面是不是有脚本的启动分支输出信息呢?

sh oracle stop或者service oracle stop

执行后,看看/var/log目录下的oraclelog文件,里面是不是有脚本的关闭分支输出信息呢?

若看到信息,表示您设置成功了。若没有,请再仔细设置一遍,并注意文件的权限问题。 


您可能感兴趣的文档:

--结束END--

本文标题: Oracle 11g数据库随系统自动启动与关闭的设置方法

本文链接: https://www.lsjlt.com/news/37332.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle 11g系统怎么设置自动启动与关闭
    这篇文章主要介绍“Oracle 11g系统怎么设置自动启动与关闭”,在日常操作中,相信很多人在Oracle 11g系统怎么设置自动启动与关闭问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • oracle数据库启动与关闭的方法是什么
    Oracle数据库的启动和关闭方法取决于数据库的版本和操作系统。一般来说,以下是Oracle数据库启动和关闭的方法: 启动数据库: ...
    99+
    2024-04-09
    oracle
  • Oracle数据库如何启动与关闭
    小编给大家分享一下Oracle数据库如何启动与关闭,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!C:\app\Administr...
    99+
    2024-04-02
  • win7系统关闭软件自动启动的方法
    当我们使用计算机时,我们会发现一些软件具有自动启动功能。尽管自动启动软件可以节省打开软件的时间,但有些软件会消耗操作内存。如何操作来关闭软件的自动启动功能?接下来,我们将跟随小编一起了解具体的操作方法。win7系统关闭软件自动启动的方法。在...
    99+
    2023-07-11
  • Oracle如何自定义服务随操作系统启动和关闭
    这篇文章主要为大家展示了“Oracle如何自定义服务随操作系统启动和关闭”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle如何自定义服务随操作系统启动和...
    99+
    2024-04-02
  • Oracle数据库怎么设置开机自启动
    Oracle数据库怎么设置开机自启动,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 1、修改$ORACLE_HOME/bin/dbstart...
    99+
    2024-04-02
  • linux oracle启动与关闭的方法是什么
    在Linux中,可以使用以下方法启动和关闭Oracle数据库: 启动Oracle数据库: 使用root用户登录系统。 打开终端窗口...
    99+
    2024-04-09
    linux oracle
  • 在Win10系统中关闭自动重启的方法有哪些
    本篇文章给大家分享的是有关在Win10系统中关闭自动重启的方法有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。方法一右键此电脑(我的电脑),选择“属性”;此时将打开“控制”...
    99+
    2023-06-07
  • Ubuntu v20系统关闭自动锁屏的方法
    小编给大家分享一下Ubuntu v20系统关闭自动锁屏的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!点右上角的下拉按钮小箭头。在下拉屏幕中点【设置】。在【设置】中点【隐私】。在【隐私】中点左侧的【锁屏】。在【锁屏】界...
    99+
    2023-06-13
  • 关闭阿里云数据库自动扩容的方法
    随着云计算技术的普及,越来越多的企业和个人选择在云端建立数据库,以满足不断增长的数据需求。然而,自动扩容是大多数云数据库服务的默认设置,这为用户带来了很多便利,但也可能导致资源浪费。本文将详细讲解如何关闭阿里云数据库的自动扩容功能。 在阿里...
    99+
    2023-11-11
    阿里 数据库 方法
  • 配置操作系统重启后Oracle数据库和监听自动启动的示例分析
    小编给大家分享一下配置操作系统重启后Oracle数据库和监听自动启动的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! --配置操作系统重启后,实例自动启...
    99+
    2024-04-02
  • winxp系统无密码自动登录(xp系统启动密码设置方法)
    单击"开始/运行",输入"rundll32 netplwiz.dll,UsersRunDll",按回车键后弹出"用户帐户"窗口,看清楚,这可跟"控制面...
    99+
    2023-06-04
    winxp 自动登录 xp系统启动密码设置 密码 xp 设置 系统
  • oracle启动数据库的方法是什么
    在Oracle数据库中,启动数据库的方法通常包括以下几种: 通过SQL*Plus命令行界面启动数据库: 使用命令sqlplus ...
    99+
    2024-05-11
    oracle
  • MySQL数据库的启动与终止方法
    本篇内容介绍了“MySQL数据库的启动与终止方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!由于MySQ...
    99+
    2024-04-02
  • Win10系统设置快速启动栏的方法
    要设置Win10系统的快速启动栏,可以按照以下步骤进行操作:1. 右键点击任务栏上的空白区域,选择“工具栏”选项,然后点击“新建工具...
    99+
    2023-08-21
    Win10
  • win8怎么设置自动锁屏 ?win8关闭自动锁屏的两种方法
    为应对平板化的PC微软在Win8系统中加入了锁屏功能,不过在普通电脑中我们可用不到这样的功能,但是微软并没有在win8系统中加入关闭锁屏功能的选项,那么我们要怎么关闭它呢?下面介绍两种方法: 方法一: 1、按WIN+R打...
    99+
    2023-06-16
    win8怎么设置自动锁屏 win8怎么自动锁屏 win8怎么取消自动锁屏 方法
  • Win7系统关闭自动更新的方法图文教程
      今天小编要向大家介绍的电脑计算机技巧就是“关闭系统自动更新的方法”。   为什么要关闭系统自动更新原因很单间,使用电脑的朋友应该都会了解到,在工作或者游戏的时候,系统突出弹出自动更新页面,是件...
    99+
    2023-06-14
    Win7系统 关闭自动更新 Win7 图文 系统 方法
  • xp系统关闭自动发送错误报告功能的设置方法图文教程
    无论什么系统,其实都有一些功能基本上不会用到,xp系统的自动发送错误功能就是其中一种。那么,我们该怎么关掉这个功能以加快系统运行速度呢?下面就随我们的小编看看具体步骤吧! 设置方法: 1、鼠标右键单击“我的...
    99+
    2023-05-20
    xp系统 自动发送 错误报告
  • Linux中安装Redis、后台运行、系统自启动的设置方法
    这篇文章将为大家详细讲解有关Linux中安装Redis、后台运行、系统自启动的设置方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是Linux系统Linux是一种免...
    99+
    2024-04-02
  • 解决Springboot项目启动后自动创建多表关联的数据库与表的方案
    熬夜写完,尚有不足,但仍在努力学习与总结中,而您的点赞与关注,是对我最大的鼓励! 在一些本地化项目开发当中,存在这样一种需求,即开发完成的项目,在第一次部署启动时,需能自行构建系统需...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作