Oracle 10g,11g中数据库静默安装中的细小差别

whdxkcx 2015-10-14

数据库软件的安装根据工作需要主要有以下几种方式,使用oui是普遍的图形界面方式,还有两种是不依赖图形界面的,一种为静默安装,另外一种为克隆安装。

静默安装的时候核心就在于响应文件,在安装目录database/response下提供了几个响应文件,是Oracle提供的模板。比如安装数据库软件的模板db_install.rsp,dbca的模板dbca.rsp,配置监听的netca.rsp
[ora11g@oel1 response]$ ll
total 76
-rw-rw-r-- 1 ora11g dba 44969 Feb 14  2009 dbca.rsp
-rw-rw-r-- 1 ora11g dba 22663 Oct 11 16:02 db_install.rsp
-rwxrwxr-x 1 ora11g dba  5740 Feb 26  2009 netca.rsp
对这个文件略作修改,然后开始尝试静默安装11g的数据库软件,从我接触的情况来看,静默安装失败主要有几个原因,一个是直接用root用户操作有潜在的权限问题,一个是一些必须的安装包,还有的是因为命令的选项不对。
对于这些错误我都了然于心,所以很自然的用到了下面的命令,但是在10g里面没有问题的命令在11g却抛出了下面的错误。
[ora11g@oel1 database]$ ./runInstaller -silent -responsefile /u02/install/11g_install/database/response/db_install.rsp -ignoreSysPrereqs
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 80 MB.  Actual 3590 MB    Passed
Checking swap space: must be greater than 150 MB.  Actual 1994 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-10-11_04-04-39PM. Please wait ...[ora11g@oel1 database]$ [INS-10103] Response file is not specified for this session.
Usage:
runInstaller  [-options] [(<CommandLineVariable=Value>)*]
Where options include:
  -clusterware oracle.crs,<crs version> 
        Version of Cluster ready services installed.
  -crsLocation <Path> 
        Used only for cluster installs, specifies the path to the crs home location. Specifying this overrides CRS information obtained from central inventory.

  -invPtrLoc <full path of oraInst.loc> 
        Unix only. To point to a different inventory location. The orainst.loc file contains:
inventory_loc=<location of central inventory>
inst_group=<>

根据提示信息是响应文件没有定义,然后给我列出了一些命令使用的帮助,对于此也着实花了一些时间去分析去排除。
首先是文件的权限,但是拷贝到一个很简单的目录下,权限都是正常读写,还是有这个错误。
自己都在怀疑是不是命令行中存在特殊字符导致的,但是把命令粘贴到文本中,手工逐个输入也还是同样的错误。
最后带着疑惑去网上查看,但是网上也没有相关的答案。
看来还是得靠自己了,于是我静下心来自己看看错误,首先这个命令的错误信息提示为: [INS-10103] Response file is not specified for this session.
那么是否是命令的格式定义不对呢,应该为-responsefile=/u02/install/11g_install/database/response/db_install.rsp?
查看提示的帮助内容,格式是没有问题的。
  -responseFile <Path> 
        Specifies the response file and path to use.
但是反复比较发现还是因为一个大小写的F导致的,在11g里面这个参数为responseFile而不是10g里面的responsefile了。
明白了这点之后再次尝试,就非常顺利了。可以看到后台有一个进程在/tmp下忙碌着。
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND             
10229 ora11g    17  0  369m  77m  25m S  7.9  5.6  0:48.01 /tmp/OraInstall2015-10

短暂的等待之后,就会看到日志最后输出下面的内容

INFO: Successfully executed the flow in SILENT mode
INFO: Finding the most appropriate exit status for the current application
INFO: Exit Status is -3
INFO: Shutdown Oracle Database 11g Release 2 Installer

标志着静默安装已经结束。

这是一个很细小的例子,最开始发现的时候让人还是有些郁闷的,感觉就跟没有打招呼就修改了的感觉。可能是不同的team所做的参与的10g,11g这部分的工作,可能是认为responsefile不够清晰,

命名不够规范等等原因修改来了,同时这也算是一个小惊喜,自己通过这个例子还是发现很简单的一个地方,10g,11g都会有一些细小的差别,自己已经中招多次了,直接用10g的一些思路或者脚本在

11g碰到了一些问题,自己继续总结,把这些不同之处都扒一扒,也减少大家在使用中的一些困扰。

相关推荐