Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2387104
  • 博文数量: 384
  • 博客积分: 10193
  • 博客等级: 上将
  • 技术积分: 3785
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-09 18:02
文章分类

全部博文(384)

文章存档

2011年(10)

2010年(29)

2009年(39)

2008年(36)

2007年(43)

2006年(198)

2005年(29)

分类: Oracle

2006-09-08 18:36:41

ouracle同用安装程序(oui)在大多数平台自带了java运行环境(jre), 这些jre一般都经过了良好的测试, 能很好的和oui配合工作. 但某些特殊情况下由于java的bug导致oui无法运行, 更换oui使用的jre, 就有可能解决问题. 今天在Solaris 10(x86_64)平台上安装oracle 10gR2 RAC, 遇到个非常奇怪的问题, 运行runInstaller后收到如下提示:

-bash-3.00$ ./runInstaller
Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be 5.10.    Actual 5.10
                                      Passed

Checking Temp space: must be greater than 250 MB.   Actual 6566 MB    Passed
Checking swap space: must be greater than 500 MB.   Actual 7067 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 4294967296    Passed

All installer requirements met.

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2006-09-08_06-29-02AM. Please

wait ...-bash-3.00$ Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.

Assertion failed: offset < fFileSize, file

../../../src/share/native/sun/awt/font/fontmanager/fontobjects/fontObject.cpp, line 418


在网上搜索后发现和 Metalink Note:206715.1很相似, 按照note中的提示删除SUNWi1of和SUNWxwfnt后重新安装这两个软件包后, 检查这这两个包仍然有错误, oui的错误依然存在.

-bash-3.00# pkgchk SUNWi1of
ERROR: /usr/openwin/lib/X11/fonts/F3/fonts.alias.all
    modtime <12/16/04 01:27:54 PM> expected <09/08/06 03:34:34 AM> actual
ERROR: /usr/openwin/lib/X11/fonts/F3/fonts.dir
    modtime <12/16/04 01:27:54 PM> expected <09/08/06 03:34:34 AM> actual
    file size <4653> expected <2419> actual
    file cksum <60665> expected <6014> actual
ERROR: /usr/openwin/lib/X11/fonts/TTbitmaps/fonts.alias.all
    modtime <12/16/04 01:27:44 PM> expected <09/08/06 03:34:34 AM> actual
ERROR: /usr/openwin/lib/X11/fonts/TTbitmaps/fonts.dir
    modtime <12/16/04 01:27:44 PM> expected <09/08/06 03:34:34 AM> actual
-bash-3.00#
-bash-3.00# pkgchk SUNWxwfnt
ERROR: /usr/openwin/lib/X11/fonts/100dpi/fonts.dir
    modtime <12/16/04 01:27:05 PM> expected <09/08/06 03:33:46 AM> actual
    file size <17382> expected <2> actual
    file cksum <20773> expected <58> actual
ERROR: /usr/openwin/lib/X11/fonts/75dpi/fonts.dir
    modtime <12/16/04 01:26:44 PM> expected <09/08/06 03:33:46 AM> actual
    file size <16834> expected <828> actual
    file cksum <63192> expected <64077> actual
ERROR: /usr/openwin/lib/X11/fonts/F3bitmaps/fonts.dir
    modtime <12/16/04 01:27:31 PM> expected <09/08/06 03:33:46 AM> actual
    file size <23583> expected <23894> actual
    file cksum <16081> expected <39838> actual
ERROR: /usr/openwin/lib/X11/fonts/Speedo/fonts.dir
    modtime <12/16/04 01:27:45 PM> expected <09/08/06 03:33:46 AM> actual
    file size <564> expected <2> actual
    file cksum <45484> expected <58> actual
ERROR: /usr/openwin/lib/X11/fonts/TrueType/fonts.alias.all
    modtime <12/16/04 01:28:15 PM> expected <09/08/06 03:33:46 AM> actual
ERROR: /usr/openwin/lib/X11/fonts/TrueType/fonts.dir
    modtime <12/16/04 01:28:14 PM> expected <09/08/06 03:33:46 AM> actual
ERROR: /usr/openwin/lib/X11/fonts/TrueType/ttmap/ttmaps.dir
    modtime <12/16/04 01:28:15 PM> expected <09/08/06 03:33:47 AM> actual
    file size <294> expected <2984> actual
    file cksum <22374> expected <24425> actual
ERROR: /usr/openwin/lib/X11/fonts/Type1/fonts.dir
    modtime <12/16/04 01:27:47 PM> expected <09/08/06 03:33:46 AM> actual
ERROR: /usr/openwin/lib/X11/fonts/Type1/outline/fonts.dir
    modtime <12/16/04 01:28:01 PM> expected <09/08/06 03:33:46 AM> actual
ERROR: /usr/openwin/lib/X11/fonts/Type1/sun/fonts.alias.all
    modtime <12/16/04 01:28:20 PM> expected <09/08/06 03:33:46 AM> actual
ERROR: /usr/openwin/lib/X11/fonts/Type1/sun/fonts.dir
    modtime <12/16/04 01:28:20 PM> expected <09/08/06 03:33:46 AM> actual
ERROR: /usr/openwin/lib/X11/fonts/encodings/encodings.dir
    modtime <12/16/04 01:28:22 PM> expected <09/08/06 03:30:32 AM> actual
    file size <258> expected <1592> actual
    file cksum <20259> expected <54416> actual
ERROR: /usr/openwin/lib/X11/fonts/misc/fonts.alias.all
    modtime <12/16/04 01:26:32 PM> expected <09/08/06 03:33:46 AM> actual
ERROR: /usr/openwin/lib/X11/fonts/misc/fonts.dir
    modtime <12/16/04 01:26:31 PM> expected <09/08/06 03:33:46 AM> actual
    file size <6858> expected <6623> actual
    file cksum <4392> expected <52592> actual
-bash-3.00#

既然不能通过操作系统的方式解决这个问题, 就考虑着通过就想更换一下oui使用的jre看看能否避开这个错误. runInstaller运行过程中会将oui等程序解压到临时目录/tmp/OraInstall$INSTALL_TIMESTAMP目录下, $INSTALL_IMESTAMP是安装的时间, 在2006-09-08_10-32-21AM运行runInstaller, 则解压到的临时目录为/tmp/oraInstall2006-09-08_10-32-21AM, runInstaller在终端上的输出会提示所使用的临时目录. runInstaller安装日志会写在$ORACLE_BASE/oraInventory/logs目录下的installActions$INSTALL_TIMESTAMP.log中, 如果没有oraInst.loc文件, 则会将安装日志写到/tmp/OraInstall$INSTALL_TIMESTAMP目录下的installActions$INSTALL_TIMESTAMP.log中. 我在安装过程中使用的日志文件为/oracle/oraInventory/logs/installActions2006-09-08_10-32-21AM.log, 内容如下:

-bash-3.00$ more installActions2006-09-08_10-32-21AM.log
Using paramFile: /oracle/clusterware/install/oraparam.ini


Checking installer requirements...

Checking operating system version: must be 5.10.    Actual 5.10
                                      Passed

Checking Temp space: must be greater than 250 MB.   Actual 6389 MB    Passed
Checking swap space: must be greater than 500 MB.   Actual 7145 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 4
294967296    Passed

All installer requirements met.


The commandline for unzip:
/oracle/clusterware/install/unzip -qqq ../stage/Components/oracle.swd.jre/1.4.2.
0.0/1/DataFiles/\*.jar -d /tmp/OraInstall2006-09-08_10-32-21AM
The commandline for unzip:
/oracle/clusterware/install/unzip -qqq ../stage/Components/oracle.swd.oui/10.2.0
.1.0/1/DataFiles/\*.jar -d /tmp/OraInstall2006-09-08_10-32-21AM
The commandline for unzip:
/oracle/clusterware/install/unzip -qqq ../stage/Components/oracle.swd.oui.core/1
0.2.0.1.0/1/DataFiles/\*.jar -d /tmp/OraInstall2006-09-08_10-32-21AM

The number of files bootstrapped for the jre is 591.

The number of files bootstrapped for the oui is 97.
Execvp of the child jre : the cmdline is /tmp/OraInstall2006-09-08_10-32-21AM/jr
e/1.4.2/bin/java, and the argv is
/tmp/OraInstall2006-09-08_10-32-21AM/jre/1.4.2/bin/java
-Doracle.installer.library_loc=/tmp/OraInstall2006-09-08_10-32-21AM/oui/lib/inte
lsolaris
-Doracle.installer.oui_loc=/tmp/OraInstall2006-09-08_10-32-21AM/oui
-Doracle.installer.bootstrap=TRUE
-Doracle.installer.startup_location=/oracle/clusterware/install
-Doracle.installer.jre_loc=/tmp/OraInstall2006-09-08_10-32-21AM/jre/1.4.2
-Doracle.installer.nlsEnabled="TRUE"
-Doracle.installer.prereqConfigLoc=/tmp/OraInstall2006-09-08_10-32-21AM/prereq
-Doracle.installer.unixVersion=5.10
-mx150m
-cp
/tmp/OraInstall2006-09-08_10-32-21AM:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jl
ib/OraInstaller.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/oneclick.jar:/
tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/xmlparserv2.jar:/tmp/OraInstall2006
-09-08_10-32-21AM/oui/jlib/srvm.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jli
b/share.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/OraInstallerNet.jar:/t
mp/OraInstall2006-09-08_10-32-21AM/oui/jlib/xml.jar:/tmp/OraInstall2006-09-08_10
-32-21AM/oui/jlib/orai18n-collation.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui
/jlib/orai18n-mapping.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/emCfg.ja
r:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/ojmisc.jar:/tmp/OraInstall2006-0
9-08_10-32-21AM/oui/jlib/InstImages.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui
/jlib/InstHelp.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/InstHelp_de.jar
:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/InstHelp_es.jar:/tmp/OraInstall20
06-09-08_10-32-21AM/oui/jlib/InstHelp_fr.jar:/tmp/OraInstall2006-09-08_10-32-21A
M/oui/jlib/InstHelp_it.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/InstHel
p_ja.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/InstHelp_ko.jar:/tmp/OraI
nstall2006-09-08_10-32-21AM/oui/jlib/InstHelp_pt_BR.jar:/tmp/OraInstall2006-09-0
8_10-32-21AM/oui/jlib/InstHelp_zh_CN.jar:/tmp/OraInstall2006-09-08_10-32-21AM/ou
i/jlib/InstHelp_zh_TW.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/oracle_i
ce.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/help4.jar:/tmp/OraInstall20
06-09-08_10-32-21AM/oui/jlib/help4-nls.jar:/tmp/OraInstall2006-09-08_10-32-21AM/
oui/jlib/ewt3.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/ewt3-swingaccess
.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/ewt3-nls.jar:/tmp/OraInstall2
006-09-08_10-32-21AM/oui/jlib/swingaccess.jar:/tmp/OraInstall2006-09-08_10-32-21
AM/oui/jlib/classes12.jar::/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/OraPrer
eq.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/jewt4.jar:/tmp/OraInstall20
06-09-08_10-32-21AM/oui/jlib/jewt4-nls.jar
oracle.sysman.oii.oiic.OiicInstaller
-scratchPath
/tmp/OraInstall2006-09-08_10-32-21AM
-sourceLoc
/oracle/clusterware/install/../stage/products.xml
-sourceType
network
-timestamp
2006-09-08_10-32-21AM
-formCluster

Execvp of the child jre行之后, 就是起动oracle安装程序的java命令(这个命令非常长). 当然我们也就可以使用别的jre来运行oracle安装程序, 建立文件ouirun, 内容如下:

/usr/bin/java \
-Doracle.installer.library_loc=/tmp/OraInstall2006-09-08_10-32-21AM/oui/lib/inte\
lsolaris  \
-Doracle.installer.oui_loc=/tmp/OraInstall2006-09-08_10-32-21AM/oui \
-Doracle.installer.bootstrap=TRUE \
-Doracle.installer.startup_location=/oracle/clusterware/install \
-Doracle.installer.jre_loc=/tmp/OraInstall2006-09-08_10-32-21AM/jre/1.4.2 \
-Doracle.installer.nlsEnabled="TRUE" \
-Doracle.installer.prereqConfigLoc=/tmp/OraInstall2006-09-08_10-32-21AM/prereq \
-Doracle.installer.unixVersion=5.10 \
-mx150m \
-cp \
/tmp/OraInstall2006-09-08_10-32-21AM:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jl\
ib/OraInstaller.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/oneclick.jar:/\
tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/xmlparserv2.jar:/tmp/OraInstall2006\
-09-08_10-32-21AM/oui/jlib/srvm.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jli\
b/share.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/OraInstallerNet.jar:/t\
mp/OraInstall2006-09-08_10-32-21AM/oui/jlib/xml.jar:/tmp/OraInstall2006-09-08_10\
-32-21AM/oui/jlib/orai18n-collation.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui\
/jlib/orai18n-mapping.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/emCfg.ja\
r:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/ojmisc.jar:/tmp/OraInstall2006-0\
9-08_10-32-21AM/oui/jlib/InstImages.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui\
/jlib/InstHelp.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/InstHelp_de.jar\
:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/InstHelp_es.jar:/tmp/OraInstall20\
06-09-08_10-32-21AM/oui/jlib/InstHelp_fr.jar:/tmp/OraInstall2006-09-08_10-32-21A\
M/oui/jlib/InstHelp_it.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/InstHel\
p_ja.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/InstHelp_ko.jar:/tmp/OraI\
nstall2006-09-08_10-32-21AM/oui/jlib/InstHelp_pt_BR.jar:/tmp/OraInstall2006-09-0\
8_10-32-21AM/oui/jlib/InstHelp_zh_CN.jar:/tmp/OraInstall2006-09-08_10-32-21AM/ou\
i/jlib/InstHelp_zh_TW.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/oracle_i\
ce.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/help4.jar:/tmp/OraInstall20\
06-09-08_10-32-21AM/oui/jlib/help4-nls.jar:/tmp/OraInstall2006-09-08_10-32-21AM/\
oui/jlib/ewt3.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/ewt3-swingaccess\
.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/ewt3-nls.jar:/tmp/OraInstall2\
006-09-08_10-32-21AM/oui/jlib/swingaccess.jar:/tmp/OraInstall2006-09-08_10-32-21\
AM/oui/jlib/classes12.jar::/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/OraPrer\
eq.jar:/tmp/OraInstall2006-09-08_10-32-21AM/oui/jlib/jewt4.jar:/tmp/OraInstall20\
06-09-08_10-32-21AM/oui/jlib/jewt4-nls.jar \
oracle.sysman.oii.oiic.OiicInstaller \
-scratchPath \
/tmp/OraInstall2006-09-08_10-32-21AM \
-sourceLoc \
/oracle/clusterware/install/../stage/products.xml \
-sourceType \
network \
-timestamp \
2006-09-08_10-32-21AM \
-formCluster

主要是在记录文件每行的末尾增加一个"\"符号. unix中, 当一个命令无法在1行写下时, 可以在这行末尾增加"\"符号, 表示下一行仍是这行的命令的一部分. 参数与参数之间有空格隔开,  同一个参数内没有空格. 

/usr/bin/java是指向java1.5的联接. oui中使用的java版本是1.4

clusterware和database的安装都比较顺利, 在安装database的过程中遇到了一个bug, 打补丁后问题解决.

安装后的问题: 数据库安装过程中会安装1.4版本的java, 这个java程序会被netca, dbca, negmgr等程序使用. 运行这些程序前需要修改脚本中JRE_HOME的设置.
 
BTW: 写完着篇文章后看到了, 帖子中提出只需要修改oraparam.ini中的JRE_LOCATION为希望使用的JRE即可,
 
JRE_LOCATION=/usr/java/j2re1.4.2_12
 
未证实.
阅读(6696) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

blue_stone2009-03-09 16:19:29

oraparam.ini是安装程序目录中的, 而不是安装过程中解压出来的/tmp下的

chinaunix网友2009-03-08 22:20:28

LZ的办法在IA64版本的LIUNX中安装时失败了。 同样是Oracle自带的JRE有问题。 首先,装一个新的可以运行的JRE。 运行runInstaller后在/tmp生成一个临时安装目录,类似OraInstall2009-03-08_10-02-27PM。 cd /tmp/OraInstall2009-03-08_09-33-02PM/oui/ 修改oraparam.ini中 JRE_LOCATION=/usr/java/j2sdk1.4.2_17 (这个是我装的新JRE) cd /tmp/OraInstall2009-03-08_09-33-02PM/oui/bin ./runInstaller 可以打开OUI安装界面,只是需要手工指定安装文件的源路径,类似 clusterware/install/../stage/products.xml