Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1442784
  • 博文数量: 463
  • 博客积分: 10540
  • 博客等级: 上将
  • 技术积分: 5450
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-12 08:30
文章分类

全部博文(463)

文章存档

2014年(2)

2012年(14)

2011年(42)

2010年(18)

2009年(78)

2008年(35)

2007年(182)

2006年(92)

我的朋友

分类: Oracle

2009-04-06 22:26:11

这里介绍一下关于UNIX/Linux下的Oracle自启动的方法,在介绍之前先说明一下,在WIN平台下数据库的启动是由操作系统控制的,当系统启动或关闭的时候,首先把数据库的服务自动启动或着关闭掉,也不会影响到数据库的数据读写方面的问题或其他数据操作故障,但在UNIX/Linux下只是开启或关闭在系统默认的服务进程程序,不会对数据库服务进行任何操作,因此自动化关闭是推荐的,它保护数据库不适当的关闭引起联贯的问题!
正文:(以LINUX AS3为例!)

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。
  2. 在/etc/rc.d/init.d目录下创建一个名为dbora(如果它还不存在)的文件。
  3. 在dbora文件末尾创建类似于下面的入口(如果他们还不存在)。确定给出完整的dbstart实用程序的路径。
   #!/bin/sh
   # Set ORA_HOME to be equivalent to the ORACLE_HOME
 
   # from which you wish to execute dbstart and
  
   # dbshut
  # set ORA_OWNER to the user id of the owner of the
  
  # Oracle database in ORA_HOME
  
  ORA_HOME=/u01/app/oracle/product/9.1.0
  
  ORA_OWNER=oracle
  
   if [! -f $ORA_HOME/bin/dbstart]
  
   then
  
  echo "Oracle startup: cannot start"
  
  exit
  
  fi
  
  case "$1" in
  
  'start')
  
  
   # Start the Oracle databases:
   # The following command assumes that the oracle login will not prompt the
  
  # user for any values
  
  
   su - $ORA_OWNER -c $ORA_HOME/bin/dbstart &
  
   'stop')
  
  
  # Stop the Oracle databases:
  # The following command assumes that the oracle login will not prompt the
  
  # user for any values
  
  
  su - $ORA_OWNER -c $ORA_HOME/bin/dbshut &
  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
  作为Oracle用户执行的配置任务
  作为oracle用户执行下列任务。
阅读(561) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~