中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > Unix高级技术
在solaris 10下配置Oracle 10g的自动运行脚本
作者:佚名 时间:2007-10-10 16:34 出处:51cto 责编:月夜寒箫
              摘要:在solaris 10下配置Oracle 10g的自动运行脚本
Solaris 10使用了SMF(服务管理设施)来集中管理各项系统及网络服务,其目的是降低系统管理的难度和降低系统出错的几率。实践表明,通过SMF管理平台来配置和管理服务,还是十分麻烦的,例如要把一个用户自己订制安装的第三方软件配置到SMF里进行管理,要做很多的工作;另外,如果某个服务出现故障,将涉及服务本身和SMF这两方面,这样恢复起来难度相应增大。系统管理的目标是越简单越好—部署容易、维护简单及恢复快速。正好solaris 10系统有一个oracle 10g,就用它来做例子,来配置一个oracle的自动运行脚本。
先介绍一下系统环境:

系统版本

 

SunOS sery 5.10 Generic_118855-33 i86pc i386 i86pc

 

Oracle 版本

 

racle Database 10g Enterprise Edition Release 10.2.0.2.0 - Prod

 

Oracle 安装路径

 

/opt/oracle/product/10.2/db_1

 

dbstart 路径

 

/opt/oracle/product/10.2/db_1/bin/dbstart

 

Oracle 自带一个脚本dbstart,它的用途就是用来制作自动运行脚本。在没有启动oracle实例之前,我们先手动运行脚本dbstart:
-bash-3.00$ dbstart
            ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
            Usage: /opt/oracle/product/10.2/db_1/bin/dbstart ORACLE_HOME
提示没有设置ORACL_HOME_LISTNER,接着给出这个命令的使用方法。用ps –aef | grep ora看oracle相关进程是否起来,哦,没有起来!修改文件dbstart,找到ORACL_HOME_LISTNER这一行(还好,只有唯一的一行),它的默认值为“$1”,表示接受一个位置参数的意思,既然程序需要手动加位置参数ORACLE_HOME,我们不妨把“$1”直接用“ORACLE_HOME”替换掉,
即:ORACLE_HOME_LISTNER=$1 --->RACLE_HOME_LISTNER=$ORACLE_HOME,保存后再来执行脚本dbstart,顺利执行了。
-bash-3.00$ dbstart
            -bash-3.00$ ps -aef | grep ora | grep -v grep
            oracle   964   552   0 06:40:17 pts/1       0:00 ps -aef
            oracle   552   546   0 06:08:08 pts/1       0:00 -bash
            oracle   696     1   0 06:22:25 ?           0:00 /opt/oracle/product/10.2/
db_1/bin/tnslsnr LISTENER –inherit //监听器起来了
但没有oracle进程,只有oracle监听器起来了。还有一个文件/var/opt/oracle/oratab修要修改,这个文件是oracle安装过程中,手动执行root.sh被创建的。打开这个文件,有效的配置只有一行,下面是某个系统上的输出:
sery:/opt/oracle/product/10.2/db_1:N
根据注释的提示,我们需要把它最后一个字段(以冒号“:”为字段分割符)的值由“N”改为“Y”,保存后再来执行dbstart &。
-bash-3.00$ dbstart
            Processing Database instance "sery": log file /opt/oracle/product/10.2/db_1/startup.log
            -bash-3.00$ ps -eaf | grep ora
            oracle  1175     1   0 06:54:35 ?           0:00 ora_j001_sery
            oracle  1173     1   1 06:54:35 ?           0:01 ora_j000_sery
            oracle  1179     1   0 06:54:35 ?           0:00 ora_j003_sery
            oracle  1177     1   0 06:54:35 ?           0:00 ora_j002_sery
            ……(省略若干输出)
            
这时,oracle实例运行起来了。根据这个经验,我们顺便把文件dbshut这个文件也修改了。
一切准备就绪,就可以开始写运行级别的自动脚本了。在运行级别3的目录创建文件/etc/rc3.d/S33dbstart,其内容如下:
#!/bin/bash
            su - oracle -c /opt/oracle/product/10.2/db_1/bin/dbstart& 
//少选项-c将不会执行这个脚本,-c command
保存后在给它执行权限。同理在运行级别S的目录建文件 /etc/rcS.d/K33dbshut,文件内容如下:
#!/bin/bash
            su - oracle -c /opt/oracle/product/10.2/db_1/bin/dbshut &
            

执行命令init 6重启solaris 10,oracle实例及监听器是否在正常运行。当然,如果不用运行级别而用服务管理设施SMF来管理oracle服务的话,还有好多步骤修要完成,有兴趣的可以去试试。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有