`
leon1509
  • 浏览: 538175 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

转:oracle随系统启动的脚本

阅读更多
原贴地址:http://space.itpub.net/26162300/viewspace-704722

添加oracle随系统启动的脚本
启动脚本已随安装的软件安装到系统 不需要自己编写

脚本位置:
  $ORACLE_HOME/bin/dbstart
  $ORACLE_HOME/bin/dbshut

启动脚本中有一个路径变量值设置错误 要手动修正

 [oracle@dba ~]$ sed -n '78p' $ORACLE_HOME/bin/dbstart
 ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
 [oracle@dba ~]$ sed -i 's!/ade/vikrkuma_new/oracle!$ORACLE_HOME!' $ORACLE_HOME/bin/dbstart
 [oracle@dba ~]$ sed -n '78p' $ORACLE_HOME/bin/dbstart
 ORACLE_HOME_LISTNER=$ORACLE_HOME
 [oracle@dba ~]$

要想使dbstart命令生效 还需要修改/etc/oratab里的内容
 [oracle@dba ~]$ grep $ORACLE_SID /etc/oratab
 ora10g:/u01/oracle/product/10.2.0:N
 [oracle@dba ~]$

改成
 ora10g:/u01/oracle/product/10.2.0:Y

之后就可以使用dbstart和dbshut来启停数据库了
 [oracle@dba ~]$ ps -ef | grep ora_ | grep -v grep
 [oracle@dba ~]$ dbstart
 Processing Database instance "ora10g": log file /u01/oracle/product/10.2.0/startup.log
 [oracle@dba ~]$ ps -ef | grep ora_ | grep -v grep
 oracle   12359     1  0 07:24 ?        00:00:00 ora_pmon_ora10g
 oracle   12361     1  0 07:24 ?        00:00:00 ora_psp0_ora10g
 oracle   12363     1  1 07:24 ?        00:00:00 ora_mman_ora10g
 oracle   12365     1  0 07:24 ?        00:00:00 ora_dbw0_ora10g
 oracle   12367     1  1 07:24 ?        00:00:00 ora_lgwr_ora10g
 oracle   12369     1  0 07:24 ?        00:00:00 ora_ckpt_ora10g
 oracle   12371     1  3 07:24 ?        00:00:00 ora_smon_ora10g
 oracle   12373     1  0 07:24 ?        00:00:00 ora_reco_ora10g
 oracle   12375     1  1 07:24 ?        00:00:00 ora_cjq0_ora10g
 oracle   12377     1  7 07:24 ?        00:00:00 ora_mmon_ora10g
 oracle   12379     1  0 07:24 ?        00:00:00 ora_mmnl_ora10g
 oracle   12381     1  0 07:24 ?        00:00:00 ora_d000_ora10g
 oracle   12383     1  0 07:24 ?        00:00:00 ora_s000_ora10g
 oracle   12388     1  1 07:24 ?        00:00:00 ora_qmnc_ora10g
 oracle   12394     1 12 07:24 ?        00:00:00 ora_j000_ora10g
 [oracle@dba ~]$ dbshut
 [oracle@dba ~]$ ps -ef | grep ora_ | grep -v grep
 [oracle@dba ~]$

借助这两个命令结合shell_script写个自己的脚本

[oracle@dba ~]$ cat /etc/rc.d/init.d/dbora
#!/bin/bash
# chkconfig: 35 85 90
# description: Oracle auto start-stop script.
# AUTH:seker
 
. /etc/init.d/functions
start(){
 if ps aux | grep ora_ | grep -v grep &>/dev/null
 then
  echo -n $"cannot start database: database is already running."
  failure $"cannot start database: database is already running."
  echo
  exit 1
 else
  echo -n $"Starting Database: "
  daemon su - $ORA_OWNER -c "dbstart" && touch /var/lock/subsys/`basename $0`
  echo
 fi
 
}
stop(){
 if ps aux | grep ora_ | grep -v grep &>/dev/null
 then
  echo -n $"Stoping Database: "
  daemon su - $ORA_OWNER -c "dbshut" && rm -f /var/lock/subsys/`basename $0`
  echo
 else
  echo -n $"cannot stop database:Database is not already running."
  failure $"cannot stop database:Database is not already running."
  echo
  exit 1
 fi
}
ORA_OWNER=oracle
case "$1" in
    start)
 start
 ;;
    stop)
 stop
 ;;
    emstart)
 su - $ORA_OWNER  -c 'emctl status dbconsole &>/dev/null && echo "OEM is already running" || emctl start dbconsole'
 ;;
    emstop)
 su - $ORA_OWNER  -c 'emctl status dbconsole &>/dev/null && emctl stop dbconsole || echo "OEM is not running"'
 ;;
    isqlstart)
 su - $ORA_OWNER  -c  'ps aux | grep 'isqlplus/config/server.xml' | grep -v grep &>/dev/null || isqlplusctl start'
 ;;
    isqlstop)
 su - $ORA_OWNER  -c  'ps aux | grep 'isqlplus/config/server.xml' | grep -v grep &>/dev/null && isqlplusctl stop ||  echo "isqlplus is not running"'
 ;;
    lsnstart)
 su - $ORA_OWNER  -c  'lsnrctl status &>/dev/null && echo "listen is already running" || lsnrctl start &>/dev/null'
 ;;
    lsnstop)
 su - $ORA_OWNER  -c  'lsnrctl status &>/dev/null && lsnrctl stop &>/dev/null || echo "lsnrctl is not already running"'
 ;;
 *)
 echo "USAGE: $0 {start|stop|lsnstart|lsnstop|emstart|emstop|isqlstart|isqlstop}"
 echo -e "\tstart     : database start"
 echo -e "\tstop      : database stop"
 echo -e "\tlsnstart  : listen start"
 echo -e "\tlsnstop   : listen stop"
 echo -e "\temstart   : OEM start"
 echo -e "\temstop    : OEM stop"
 echo -e "\tisqlstart : isqlplus start"
 echo -e "\tisqlstop  : isqlplus stop"
esac
[oracle@dba ~]$

添加到启动脚本目录
 [root@dba ~]# chmod +x /etc/rc.d/init.d/dbora
 [root@dba ~]# chkconfig --add dbora

也可以使用service调用
 [root@dba ~]# service dbora stop
 [root@dba ~]# service dbora start
分享到:
评论

相关推荐

    linux-oracle环境变量及自启动脚本

    7. systemctl或systemd服务:在较新的Linux版本中,可以创建systemd服务单元文件,使Oracle数据库随系统启动。 三、自启动过程 1. 系统启动时,根据/oratab文件中的设置,自动寻找需要启动的Oracle数据库实例。 2....

    oracle11g 设置随机启动

    本文档提供了一种确保Oracle 11g数据库服务能够随系统启动而自动运行的方法。该方法经过实际测试验证,确保在设置完成后可以通过查看日志文件确认是否成功。 #### 关键知识点: 1. **编辑 `/etc/oratab` 文件** -...

    Centos 7.4 配置 Oracle自启动配置指南

    在 CentOS 7.4 系统中,为了实现 Oracle 数据库服务器随操作系统启动而自动启动的功能,我们需要进行一系列的配置工作。本文将详细介绍如何在 CentOS 7.4 系统上配置 Oracle 数据库的自启动,以便数据库管理系统能够...

    Oracle随机启动

    - 启动标志:表示是否允许该实例随系统启动而启动,值可以是“Y”或“N”。 3. **示例条目**: ``` ycdevdb:/app/oracle/app/oracle/product/11.2.0/dbhome_1:Y ``` - 在这个例子中,“ycdevdb”是Oracle实例...

    oracle自动启动

    在Linux系统中部署Oracle数据库时,确保数据库服务能够随系统重启而自动启动是非常重要的。这样不仅可以减少手动干预的需求,还能提高系统的可用性和响应时间。本文将详细介绍如何在Linux环境下配置Oracle 11g,使其...

    ubuntu下安装oracle-xe,并建立数据库脚本测试

    执行该脚本: ```bash @createtablespace.sql ``` 通过以上步骤,您已经完成了 Ubuntu 下 Oracle-XE 的安装、配置以及数据库脚本测试的基础工作。这将为您的项目开发提供了一个稳定可靠的 Oracle 数据库环境。

    linux环境下ORACLE自启动.doc

    这使得Oracle能够在系统启动时最后启动,在关闭时首先关闭。 #### 五、验证自启动功能 1. **启动服务** - 以root用户身份启动服务: ```bash service oracledb start ``` 2. **停止服务** - 停止服务: ```...

    在RHEL_CentOS 5上配置Oracle 10g

    通过以下步骤,我们可以确保Oracle服务在系统启动时能够自动运行。 #### 一、修改oratab文件 首先,我们需要编辑`/etc/oratab`文件,以便添加或更新与Oracle实例相关的条目。这一步骤非常重要,因为`oratab`文件...

    Oracle 19C+13.4EMCC-oem部署和配置(含脚本)

    创建PDB后,为了确保数据库随系统自动启动,你需要编辑oratab文件,将相应的数据库条目从"N"更改为"Y",并创建一个启动脚本ora19c.sh,用于启动和停止数据库服务。同时,创建一个ora19c.service文件,指定ORACLE_...

    [讲稿]LINUX下服务器安装oracle10g数据库教程.doc

    - **启动和关闭**:Oracle数据库可以通过初始化参数文件(init.ora或spfile)配置为随系统启动。这通常通过修改系统服务文件(如System V init或Systemd)来实现。 - **自动备份**:为了确保数据的安全性和可恢复...

    CentOs 64位安装商业版oracle

    6. **使VNC服务随系统启动**: - 使用 `chkconfig –level345 vncserver on` 命令确保VNC服务在系统启动时自动运行。 #### 四、客户端登录 1. **安装VNC Viewer**: - 在客户端安装VNC Viewer工具。 - 输入...

    Oracle服务自动重启

    本文将详细介绍在 Linux 系统中配置 Oracle 服务自动重启的方法,包括配置 Oracle 数据库和监听器,使其随 Linux 系统自启动实现自动重启。 第一步:查看 Oracle 环境信息 在 Linux 系统中,查看 Oracle 环境信息...

    ORACLE11g随RHEL5系统自动启动与关闭的设置方法

    写好脚本,注册好服务之后,经测试,ORACLE可以随RHEL启动而启动,但不能随系统关闭而关闭。在网上找答案,发现几乎所有的设置过程帖子都是从同一篇原样照抄过来的,根本就行不通。天下文章一大抄。求助他人,没有...

    oracle10g_database_linux32.zip

    在生产环境中,可能还需要设置启动脚本,使得数据库随系统启动。 11. **数据库备份与恢复**:学习如何进行数据库备份(如使用RMAN,或物理备份)和恢复操作,这是数据库管理的重要环节。 12. **安全管理**:了解并...

    wxh oracle文档集锦

    4. **配置启动脚本**:通过在 `/etc/rc.local` 文件中添加 `su - oracle -c 'lsnrctl start'` 和 `su - oracle -c 'dbstart'` 来配置 Oracle 服务随系统启动而自动启动。 ### Oracle 数据库在 Linux 系统的服务配置...

Global site tag (gtag.js) - Google Analytics