Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1185181
  • 博文数量: 128
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 4870
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-19 14:28
文章分类

全部博文(128)

文章存档

2010年(2)

2009年(22)

2008年(104)

我的朋友

分类: Oracle

2008-08-07 12:22:16

Oracle自动启动和关闭的方法
 
本文讲述了有关Oracle在AIX,Linux,hp unix,Windows下的自动启动和关闭方法。

  for

  方法一:使用加载inittab来启动

  1、利用oracle自己提供的dbstar和dbshut脚本来启动和关闭数据库。

  确认/etc/oratab文件中的对应的实例的最后标志为 Y 。

  例如:ora92:/opt/oracle/app/oracle//9.2:Y

  dbstart将根据这个标志位来启动对应的实例。这个文件是由root.sh创建的。

  可以在/etc或者其他目录下再创建一个脚本来调用dbstart命令。

#touch dbstart.sh
  # 755 dbstart.sh
  #vi dbstart.sh
  su - oracle -c "$ORACLE_HOME/bin/dbstart"
  su - oracle -c "lsnrctl start "

  2、将脚本加载到inittab

#mkitab "dbstart:2:wait:/etc/dbstart.sh > /dev/console 2>&1"

  方法二:加载到rc.d中

  1、通上面的方法1创建一个脚本/etc/dbstart.sh

  2、加载到rc.d中

  检查/etc/inittab默认的启动级别:init:2:initdefault:

  这里默认为2,即可转到/etc/rc.d/rc2.d  

#ln -s /etc/dbstart.sh /etc/rc.d/rc2.d/S99dbstart

  另:在主机关闭的时候自动关闭数据库的方法,可以在/usr/sbin/shutdown的前面加载

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

  方法三:使用HA的应用程序资源组

smitty hacmp -> Initialization and Standard Configuration
  -> Configure Resources to Make Highly Available -> Configure Application Servers
  -> Change Application Server
  Start Script [/usr/es/sbin//local/startdb.sh]
  Stop Script [/usr/es/sbin/cluster/local/stopdb.sh]
  startdb.sh脚本和stopdb.sh脚本分别调用$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut脚本。
  

  for   

      方法1:加载rc服务来实现

  创建脚本:

#touch dbstart.sh
  # 755 dbstart.sh
  #vi dbstart.sh
  su - oracle -c "$ORACLE_HOME/bin/dbstart"
  su - oracle -c "lsnrctl start "

  在Linux中,检查/etc/inittab默认的启动级别,一般运行级别为3,id:3:initdefault:

  然后转到/etc/rc.d/rc3.d

#ln -s /etc/dbstart.sh /etc/rc.d/rc3.d/S99dbstart

  方法2:在/etc/rc.local文件中加载启动命令

  直接编辑rc.local文件,在后面添加

#vi /etc/rc.local
  su - oracle -c "$ORACLE_HOME/bin/dbstart"
  su - oracle -c "lsnrctl start "

  自动关闭方法:

#touch sysshut
  #chmod 755 sysshut
  #vi sysshut
  su - oracle -c "$ORACLE_HOME/bin/dbshut"
  su - oracle -c "lsnrctl stop"
  shutdown $*

  sysshut的使用方法跟shutdown的使用方法一致。

for hp unix

  方法1:通过加载rc服务实现

  先创建脚本,脚本类似上面的。

  检查/etc/inittab的默认的启动级别:init:3:initdefault:

  在rc3.d中加载服务

  ln -s /etc/dbstart.sh /sbin/rc3.d/S99dbstart

  自动关闭不能直接修改/usr/sbin/shutdown,可以通过自己写一个shutdown的脚本来实现 

#touch sysshut
  # 755 sysshut
  #vi sysshut
  su - oracle -c "$ORACLE_HOME/bin/dbshut"
  su - oracle -c "lsnrctl stop"
  shutdown $*

  sysshut的使用方法跟shutdown的使用方法一致。

  for windows

  windows就比较简单了。oracle安装完后,默认会在服务中注册对应的服务,例如: 

oracleservice
OracleOraHome92TNSListener

  只要设定这两个服务的启动类型为自动就可以了。

阅读(1073) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~