转载自:http://d-prototype.com/archives/497

有时候在 MS Windows 或者在 AIX 上安装 Oracle 的时候,你可能会碰到如下所示的错误:
(在我的环境里,它是在 Microsoft Windows Server 2008 R2 上被触发的)
在发生这个故障的时候,OUI 的安装日志的报错如下所示:
(贴出的并非全部日志,仅为出错时的报错。)

信息: 开始安装
信息: FastCopy : File Version is Compatible
信息: 组件 'oracle.client' 的安装模式为快速复制模式, 安装类型为 'Administrator'。
信息: Setup phase has been specified as needed
信息: 正在同步产品清单, 请稍候...
信息: 正在同步产品清单, 请稍候...
信息: 
信息: 
信息: HomeSetup JRE files in Scratch :0
信息: 将变量 'ROOTSH_LOCATION' 设置为 'C:\app\Administrator\product\11.2.0\client_2\root.sh'。从代码块得到该值。
信息: InstallProgressMonitor: Starting phase 2
信息: 正在安装
信息: 正在安装
信息: 将文件提取到 'C:\app\Administrator\product\11.2.0\client_2'。
信息: 将文件提取到 'C:\app\Administrator\product\11.2.0\client_2'。
信息: 根据文件 'oracle.client_Administrator_exp_1.xml' 中的信息执行快速复制操作。
信息: 根据文件 'oracle.client_Administrator_1.xml' 中的信息执行快速复制操作。
信息: 根据文件 'racfiles.jar' 中的信息执行快速复制操作。
信息: 根据文件 'oracle.client_Administrator_filemap.jar' 中的信息执行快速复制操作。
信息: 根据文件 'oracle.client_Administrator_dirs.lst' 中的信息执行快速复制操作。
信息: 根据文件 'setperms1.sh' 中的信息执行快速复制操作。
信息: Number of threads for fast copy :1
信息: invalid entry size (expected 65620 but got 65748 bytes)
严重: oracle.sysman.oii.oiif.oiifb.OiifbEndIterateException: invalid entry size (expected 65620 but got 65748 bytes)
    at oracle.sysman.oii.oiic.OiicInstallAPISession.doOperation(OiicInstallAPISession.java:490)
at oracle.sysman.oii.oiic.OiicAPIInstaller.doOperation(OiicAPIInstaller.java:1010)
at oracle.sysman.oii.oiic.OiicAPIInstaller.doOperation(OiicAPIInstaller.java:971)
at oracle.install.driver.oui.OUISetupDriver.setup(OUISetupDriver.java:444)
at oracle.install.driver.oui.SetupJob.call(SetupJob.java:178)
at oracle.install.driver.oui.SetupJob.call(SetupJob.java:52)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
at java.lang.Thread.run(Thread.java:637)

信息: Update the state machine to STATE_READY
信息: isSuccessfullInstallation: false
信息: isSuccessfullRemoteInstallation: true
信息: Adding ExitStatus FAILURE to the exit status set
信息: Shutting down OUISetupDriver.JobExecutorThread
严重: [FATAL] invalid entry size (expected 65620 but got 65748 bytes)
原因: 没有其他信息可用。
操作: 参阅日志或与 Oracle 技术支持服务联系
概要:
   - invalid entry size (expected 65620 but got 65748 bytes).
Refer associated stacktrace #oracle.install.commons.util.exception.DefaultErrorAdvisor:3932

造成这种状况的原因,官方的解释是:造成该问题的安装介质不是官方提供的,需要通过 “cksum” 工具对安装介质做 CRC 比对,如果不对,需要下载正确的介质,重新安装。
官方在每个安装介质的后面,都提供了 CRC 的值:
更换更权威的安装介质,是一种解决方法。

另一种,解决方法视具体环境而定,在我的环境中,通过安装 Java JDK 支持,可以排掉该错误。

PS C:\Users\Administrator> java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
PS C:\Users\Administrator>