Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1065053
  • 博文数量: 282
  • 博客积分: 10865
  • 博客等级: 上将
  • 技术积分: 2480
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-12 12:35
文章存档

2017年(1)

2016年(3)

2015年(10)

2014年(12)

2013年(5)

2012年(10)

2011年(29)

2010年(3)

2008年(13)

2007年(92)

2006年(104)

我的朋友

分类: Oracle

2006-06-16 12:43:34

自动启动Oracle数据库并在系统关闭时自动关闭Oracle数据库。自动化数据库启动是可选的,但是自动化关闭是推荐的,因为它保护数据库不适当的关闭。
  dbshut和dbstart脚本位于$ORACLE_HOME/bin目录并且可以用于自动化数据库启动和关闭。
  dbstart和dbshut脚本引用在oratab文件中同样的条目,因此脚本必须适用于同一个数据库集合。例如,你不能让dbstart已自动启动数据库sid1、sid2和sid3,而让dbshut仅关闭数据库sid1和sid2。然而,你可以指定dbshut关闭当前dbstart根本没使用的数据库。要做到这样,在关闭文件中包括dbshut但是在系统启动文件中省略dbstart。
  也可见: 对于系统启动和关闭过程的描述,检查你的操作系统关于init命令的文档。

自动化数据库启动和关闭
  本过程必须对你想要配置成自动化启动和关闭的每个新数据库完成。执行下列任务建立dbstart和dbshut脚本以便他们在系统启动被调用:
  1. 编辑/etc/oratab文件。
  在oratab文件中的数据库入口以下列格式出现:
  ORACLE_SID:ORACLE_HOME:{Y|N}

这里Y或N指定你是否想要dbstart和dbshut脚本启动并关闭数据库。找出你想要启动的所有数据库入口。他们有第一列的sid指出。改变最后一个列为Y。

#!/bin/bash
#
# oracle        This shell script takes care of starting and stopping
#               oracle server.
#
# chkconfig:   35 89 10
# description: Oracle is a Database Server
# processname: oracle

# Source function library.
#/etc/init.d/oracle
. /etc/rc.d/init.d/functions
prog="oracle"
start()
{
 #Input the Oracle Service log into Oracle.log

   echo "Oracle Service Starting........" >> /var/log/oracle.log
   echo "-----------------------------------------------" >> /var/log/oracle.log
   date "+%Y-%m-%d %A %T :Oracle Service start" >> /var/log/oracle.log
   echo "-----------------------------------------------" >> /var/log/oracle.log
   su - oracle -c dbstart >> /var/log/oracle.log
   #Input the Listener Service log into Oracle.log
   echo
   echo
   echo "Listener Service Starting......" >> /var/log/oracle.log
   echo "-----------------------------------------------" >> /var/log/oracle.log
   date "+%Y-%m-%d %A %T :Listener Service Start" >> /var/log/oracle.log
   echo "-----------------------------------------------" >> /var/log/oracle.log
   su - oracle -c lsnrstart >> /var/log/oracle.log

   touch /var/log/oracle.log
}
#Function stop,Stop the Oracle and Listener Service auto
#when the Linux Halt
stop()
{
   #Input the Listener Service log into Oracle.log
   echo "Listener Service Stopping........" >> /var/log/oracle.log
   echo "-----------------------------------------------" >> /var/log/oracle.log
   date "+%Y-%m-%d %A %T :Listener Service Stop">>/var/log/oracle.log
   echo "-----------------------------------------------" >> /var/log/oracle
   su - oracle -c lsnsrtop>>/var/log/oracle.log
   #Input the Oracle Service log into Oracle.log
   echo
   echo
   echo "Oracle Service Stopping........." >> /var/log/oracle.log
   echo "-----------------------------------------------" >> /var/log/oracle.log
   date "+%Y-%m-%d %A %T :Oracle Service stop" >> /var/log/oracle.log
   echo "-----------------------------------------------" >> /var/log/oracle.log
   su - oracle -c dbshut >> /var/log/oracle.log
}
case $1 in
   start)
      start
      ;;
   stop)
      stop
      ;;
   restart|reload)
      stop
      start
      ;;
   status)
      status $prog
      ;;
   *)
      echo "Please Input start|stop|restart|reload|status"
      return 1
esac
case $1 in
   start)
      start
      ;;
   stop)
      stop
      ;;
   restart|reload)
      stop
      start
      ;;
   status)
      status $prog
      ;;
   *)
      echo "Please Input start|stop|restart|reload|status"
      return 1
esac
4. 链接dbora,输入:

5. # ln -s /etc/rc.d/init.d/dbora /etc/rc.d/rc0.d/K10dbora
6. # ln -s /etc/rc.d/init.d/dbora /etc/rc.d/rc2.d/S99dbora

或chkconfig --add dbora
  作为Oracle用户执行的配置任务
  作为oracle用户执行下列任务。

阅读(871) | 评论(0) | 转发(0) |
0

上一篇:Oracle 基本知识

下一篇:详述:JAVA也能克隆

给主人留下些什么吧!~~