Oracle Error:invalid entry size (expected 65620 but got 65748 bytes)
有时候在MS Windows或者在AIX上安装Oracle的时候,你可能会碰到如下所示的错误:
(在我的环境里,它是在Microsoft Windows Server 2008 R2上被触发的)
在发生这个故障的时候,OUI的安装日志的报错如下所示:
(贴出的并非全部日志,仅为出错时的报错。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
信息: 开始安装 信息: 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支持,可以排掉该错误。
1 2 3 4 5 |
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> |
———————————
Ending。