目前只有从 Oracle 的 Support 站点下载的安装包才是安全可靠的,但 Support 站点需要拥有 Support 账号才能访问,而 MOS 账号的获取是需要花钱的。
登录 MOS 账号后,通过Patch ID可以直接进入到安装包的下载页面。在不下载的情况下可以查看安装包列表,以及校验码。

(截图:p13390677 安装包列表)
点击“View Digest Details”可以获取安装包的校验码:

(截图:p13390677 校验码)
因为下拉列表受限,截图不完整,我将内容分两次截图拼出来:

校验码内容:
11.2.0.4.0 PATCH SET FOR ORACLE DATABASE SERVER (Patchset)p13390677_112040_Linux-x86-64_1of7.zip 1.3 GB (1395582860 bytes)SHA-256 0B399A6593804C04B4BD65F61E73575341A49F8A273ACABA0DCDA2DFEC4979E0SHA-1 983461D6442B0833630475EC4885278588585651p13390677_112040_Linux-x86-64_2of7.zip 1.1 GB (1151304589 bytes)SHA-1 2E628D8CAC5D1C6FFF15E728B1F227747BF2DED8SHA-256 73E04957EE0BF6F3B3E6CFCF659BDF647800FE52A377FB8521BA7E3105CCC8DDp13390677_112040_Linux-x86-64_3of7.zip 1.1 GB (1205251894 bytes)SHA-256 09C08AD3E1EE03DB1707F01C6221C7E3E75EC295316D0046CC5D82A65C7B928CSHA-1 8C0CD2D7BB2DD73E965A90CD053828D7A52AE7E7p13390677_112040_Linux-x86-64_4of7.zip 625.6 MB (656026876 bytes)SHA-1 1ACF8F785313D3C5CF631A0077416C22348B9DF8SHA-256 88B4A4ABB57F7E94941FE21FA99F8481868BADF2E1E0749522BBA53450F880C2p13390677_112040_Linux-x86-64_5of7.zip 571.4 MB (599170344 bytes)SHA-1 8D68764AB38804A9B9C9E80BF5AE0F3D6C397151SHA-256 F9C9D077549EFA10689804B3B07E3EFD56C655A4ABA51EC307114B46B8EAFC5Fp13390677_112040_Linux-x86-64_6of7.zip 465.7 MB (488372844 bytes)SHA-1 79533E2FF40664A4640616BD559903ED616F2633SHA-256 B2E08F605D7A4F8ECE2A15636A65C922933C7EF29F7AD8B8F71B23FE1ECBACA8p13390677_112040_Linux-x86-64_7of7.zip 114.0 MB (119521122 bytes)SHA-1 B23A8CED6D47664F20C116ABA9A2C77D65B2DD6DSHA-256 1CB47B7C0B437D7D25D497ED49719167A9FB8F97A434E93E4663CFA07590E2BA
在 Linux 主机上自带 sha1sum 和 sha256sum 工具,可以对安装包进行校验码比对:
$ find . -iname "p13390677*of*.zip" -exec sha1sum {} \;983461d6442b0833630475ec4885278588585651 ./p13390677_112040_Linux-x86-64_1of7.zip2e628d8cac5d1c6fff15e728b1f227747bf2ded8 ./p13390677_112040_Linux-x86-64_2of7.zip8c0cd2d7bb2dd73e965a90cd053828d7a52ae7e7 ./p13390677_112040_Linux-x86-64_3of7.zip1ACF8F785313D3C5CF631A0077416C22348B9DF8 ./p13390677_112040_Linux-x86-64_4of7.zip8D68764AB38804A9B9C9E80BF5AE0F3D6C397151 ./p13390677_112040_Linux-x86-64_5of7.zip79533E2FF40664A4640616BD559903ED616F2633 ./p13390677_112040_Linux-x86-64_6of7.zipB23A8CED6D47664F20C116ABA9A2C77D65B2DD6D ./p13390677_112040_Linux-x86-64_7of7.zip$ find . -iname "p13390677*of*.zip" -exec sha256sum {} \;0b399a6593804c04b4bd65f61e73575341a49f8a273acaba0dcda2dfec4979e0 ./p13390677_112040_Linux-x86-64_1of7.zip73e04957ee0bf6f3b3e6cfcf659bdf647800fe52a377fb8521ba7e3105ccc8dd ./p13390677_112040_Linux-x86-64_2of7.zip09c08ad3e1ee03db1707f01c6221c7e3e75ec295316d0046cc5d82a65c7b928c ./p13390677_112040_Linux-x86-64_3of7.zip88B4A4ABB57F7E94941FE21FA99F8481868BADF2E1E0749522BBA53450F880C2 ./p13390677_112040_Linux-x86-64_4of7.zipF9C9D077549EFA10689804B3B07E3EFD56C655A4ABA51EC307114B46B8EAFC5F ./p13390677_112040_Linux-x86-64_5of7.zipB2E08F605D7A4F8ECE2A15636A65C922933C7EF29F7AD8B8F71B23FE1ECBACA8 ./p13390677_112040_Linux-x86-64_6of7.zip1CB47B7C0B437D7D25D497ED49719167A9FB8F97A434E93E4663CFA07590E2BA ./p13390677_112040_Linux-x86-64_7of7.zip
如果将校验信息保存至 checksum 文件,则可以通过 checksum 文件对安装包进行校验。
$ find . -iname "p13390677*of*.zip" -exec sha1sum {} \; > p13390677.sha1$ sha1sum -c p13390677.sha1./p13390677_112040_Linux-x86-64_1of7.zip: OK./p13390677_112040_Linux-x86-64_2of7.zip: OK./p13390677_112040_Linux-x86-64_3of7.zip: OK./p13390677_112040_Linux-x86-64_4of7.zip: OK./p13390677_112040_Linux-x86-64_5of7.zip: OK./p13390677_112040_Linux-x86-64_6of7.zip: OK./p13390677_112040_Linux-x86-64_7of7.zip: OK
校验方法就讲完了,如果你有 MOS 账号,并且是从其它来源下载的 Oracle 安装包。如果想要自己去找校验码,而不是去从MOS上下载完整的安装包。可以在 Patches & Updates 页面根据 Patch ID 进行查找。其中 Patch ID 就是你下载下来的安装包前面带P和一串数字的那个就是。

点击 Search 后会显示所有平台的 p13390677 安装包,根据平台选择即可。

如果是选 linux-64bit ,则是最下面的一项。选中后点 download 就是我们文章开头讲的部分的列表了。对来源不明的安装包还是要保持警惕,因为曾经出现过有人重新封装安装包并在其中加入恶意脚本导致超过300天删库的事故。
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。
文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




