一.OUI 说明
1.1.什么是 OUI
(1)基于Java的图形用户界面(GUI)应用程序
(2)会从products.xml文件中读取组件信息并安装套件
(3)OUI提供了统一的用户安装界面
使用OUI的先题条件:
(1)OUI需要用到Java运行时环境即JavaRuntime Environment (JRE),在绝大多数平台上该JRE会由OUI自动安装(少数如itanium Linux平台需要另外安装)
(2)需求:基于不同平台及所安装的Oracle产品而不同,在绝大多数情况下至少需要32MB以上的空闲内存
(3)磁盘空间需求:在Windows上至少需要60MB空间而在Unix平台上则为70MB才能启动OUI,此外库信息文件(inventory files)大约占用1MB空间
1.2 OUI能做什么
1) 其核心功能无疑是安装各类Oracle产品或组件
2) 反安装组建或产品
3) 维护基于XML的产品信息仓库(inventory)
4) 为安装执行必要的安装前检查
5) 当需要时额外调用配置助手(如Netca,DBCA,DBUA等)
6) 从oracle 11g开始,OCM也就是OracleConfiguration Manager也同样被综合到OUI的框架中信息库操作,包括附件节点列表
1.3 OUI具有那些阶段
(1)启动阶段
开始对用户可见,载入必要的文件并显示一个欢迎界面
(2)安装阶段
用户选择安装或反安装某些产品;提供源和目标目录
(3)选择阶段
需要安装的产品被勾选,可用磁盘空间及必要磁盘空间被显示,并会出现summary总结页面
(4)安装进度阶段
实际安装过程中,显示安装进度条
(5)安装完成阶段
要求用户运行root.sh脚本,并启动某种配置助理工具(configuration assistants)
1.4 安装模式
(1)互动模式
用户使用图形界面访问各安装流程在对话框中并提供必要的安装信息,当提示时。在小范围安装中最为合适。
(2)静默安装
省略图形界面,由相应文件(response file)提供必要的信息。在安装过程中自动化实现,在众多服务器时。
如setup.exe -slient -responseFile <Path_to_ResponseFile)
1.5 Oraparam.ini文件
(1)OUI的初始化文件
(2)位于安装介质下的”install”子目录中
(3)文档Howto Interpret the oraparam.ini File [ID 237097.1]介绍了解释了oraparam.ini文件的内容
How to Interpretthe oraparam.ini File [ID 237097.1]
http://blog.csdn.net/tianlesoftware/article/details/6859834
(4)Oraparam.ini的一些重要参数
SOURCE:Location of the products.jar file. This location is relative to thedirectory where oraparam.ini exists.
JRE_LOCATION:Relative location of the JavaRuntime Environment (JRE) which will be used by the Oracle Universal Installer
JRE_MEMORY_OPTIONS:Set these variables to influence the behaviourof JRE.ie. max heap size for java (-mx), startup size of java heap (-ms),disabling JIT (-nojit). You shouldincrease the -mx and -ms values if you're getting out of memory errors.
1.6 如何启动OUI互动模式?
(1)在windows上:
<Disk>\setup.exe
安装后:
%ORACLE_HOME%\oui\bin\setup.exe
(2)在unix上
Cd <Disk1>
./runInstaller
安装后:
Cd $ORACLE_HOME/oui/bin
./runInstaller
1.7 如何启动OUI静默模式?
(1)在windows上:
记录相关的相应文件:
Setup.exe -record-responseFile <ResponseFilename>
以静默模式安装
Setup.exe -slient -responseFile<ResponseFilename>
(2)在UNIX上:
记录相关的响应文件:
./runInstaller -record -responseFile <ResponseFilename>
在静默模式下安装
./runInstaller -slient -responseFile<ResponseFileName>
参考:
How to install/deinstall Oracle DatabaseServer software silently without response file [ID 782918.1]
1.8 OUI日志存放在哪里
(1)每次OUI启动都会产生日志,日志名会以时间戳的形式归档
(2)这些日志包含了安装过程中丰富的信息。我们推荐在安装完成后复验一遍日志
(3)一般来说这些日志存放在中心信息库中(inventory),在logs子目录下的并以如下形式命名:
installActions<year-mm-dd_hh-mi-ss><AM|PM>.log
oraInstall<year-mm-dd_hh-mi-ss><AM|PM>.err
oraInstall<year-mm-dd_hh-mi-ss><AM|PM>.out
中心信息库的位置可以通过库指针文件了解到库指针文件的默认位置:
在windows 上:注册表中的”HKLM\Software\oracle\inst_loc”
在unix上:例如Solaris平台:/var/opt/oracle/oraInst.loc
其他平台如Linux:/etc/oraInst.loc
Linux 示例:
[xezf@localhost ~]$ cat /etc/oraInst.loc
inventory_loc=/home/oraInventory
inst_group=dba
1.9 如何确认已安装的产品
(1)使用OUI
启动OUI并尝试点击”InstalledProducts”
(2)也可以使用Opatch工具
Opatchlsinventory -detail
1.10 如何启用OUI的debug和trace功能
(1)OUI工具存在”-debug”选项:./runInstaller –debug
将启用最精细级别的信息日志
将显示启动阶段的信息(例如抽取JRE)
在对OUI进行可能由java引起的问题诊断时十分有效
(2)另一方面可以对OUI启用系统调用跟踪trace,一般我们使用操作系统提供的tracing工具,举例而言:truss -aefo/tmp/oui_trace.log ./runInstaller
参考文档:
How to Trace Unix System Calls [ID110888.1]
OUI: "Abnormal programtermination" with java.io.IOException in .err file [ID 798338.1]
绝大多数OUI意外终止的问题可以从.ERR文件中找到相关问题。
二.OUI 使用说明
2.1 Oracle Inventory的层次
[xezf@localhost ~]$ cat /etc/oraInst.loc
inventory_loc=/home/oraInventory
inst_group=dba
[xezf@localhost ~]$ cd /home/oraInventory/
[xezf@localhost oraInventory]$ ls
Contents locks oraInst.loc sessionContext.ser
ContentsXML logs orainstRoot.sh
install.platform oraInstaller.properties oui
[xezf@localhost oraInventory]$ cdContentsXML/
[xezf@localhost ContentsXML]$ ls
comps.xml inventory.xml libs.xml
[xezf@localhost ContentsXML]$ cat comps.xml
<?xml version="1.0"standalone="yes" ?>
<!-- Copyright (c) 2008 OracleCorporation. All rights Reserved -->
<!-- Do not modify the contents of thisfile by hand. -->
<PRD_LIST>
<TL_LIST>
</TL_LIST>
<COMP_LIST>
</COMP_LIST>
<ONEOFF_LIST>
</ONEOFF_LIST>
</PRD_LIST>
2.2 信息库指针文件
默认的信息库指针:在给定平台上的某个标准位置存放着该指针文件,该文件包含了中心信息库的位置。
/etc/oraInst.loc (Linux上)
/var/opt/oracle/oraInst.loc(Solaris上)
\\HKEY_LOCAL_MACHINE\\Software\Oracle\inst_loc(Windows上)
2.3 集中信息库(CentralInventory)
集中信息库:该信息库以目录形式存在,包含了该主机上安装的所有Oracle产品的信息
举例来说:
在Unix上:/u01/oraInventory
在Windows平台上:C:\ProgramFiles\Oracle\Inventory
信息库文件:已注册的ORACLE_HOME的列表
<inventory_location>/ContentsXML/inventory.xml
示例内容:
[xezf@localhost ContentsXML]$ cat inventory.xml
<?xml version="1.0"standalone="yes" ?>
<!-- Copyright (c) 2008 OracleCorporation. All rights Reserved -->
<!-- Do not modify the contents of thisfile by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>10.2.0.4.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraDb10g_home1"LOC="/u01/oracle/product/10.2.0/db_1" TYPE="O"IDX="1"/>
</HOME_LIST>
</INVENTORY>
2.4 本地信息库(localInventory)
(1)本地信息库:目录结构包含了ORACLE_HOME中Oracle软件的细节信息
$ORACLE_HOME/inventory
(2)组件文件:各组件信息及其关联性,补丁集和One-off patch以及其所修复的bug,$ORACLE_HOME/inventory/ContentsXML/comps.xml
(3)ORACLE_HOME属性文件:关于HOME的GUID,ARU Id和Cluster_nodes等信息:
$ORACLE_HOME/inventory/oraclehomeproperties.xml
(4)本地信息库指针:指向自身注册的中心信息库(10Gr2以后才出现)
ORACLE_HOME/oraInst.loc
2.5 如何重建集中信息库
前提是本地信息库没有被损坏或丢失
使用runInstaller的'-attachHome' 选项,仅在10gr1以后可能。
在10.1.0.3以后,OUI会重建指定位置的oraInst.loc集中信息库,即便oraInventory目录不存在