我们在运行 HP-UX B.11.31(似乎是最新版本)的旧 Itanium 计算机 (BL870c i2) 上有一个旧 Oracle 10g 数据库。我们还有 StoreOnce 3640(软件版本 4.2.1-1942.21,这意味着它是第 4 代)。
备份数据库的自然方法是使用提供的 Catalyst RMAN 插件。我们成功地在装有 Oracle Database 11g R2 的邻居 Oracle Linux 计算机上使用了这个版本 3.4.0 的插件。
HP-UX 上插件安装成功。但是,运行备份时,它不起作用,记录以下错误消息:
2022-09-29 09:22:19.456266 (local 13:22) : ERROR : 12217_1 : 3 : TC : 16 : 192.168.221.150 : Ix : OSCPP : osCltCrypt_HashPasswordStringSecureMode : Ln 202 : Failed to hash the password (Secure Mode). callStatus : 0
2022-09-29 09:22:19.464390 (local 13:22) : ERROR : 12217_1 : 3 : TC : 16 : 192.168.221.150 : Ix : OSCPP : osCltCrypt_HashPasswordStringSecureMode : Ln 204 : GOTO ReturnStatus = -1000 (OSCLT_ERR_INTERNAL_ERROR).
2022-09-29 09:22:19.464655 (local 13:22) : ERROR : 12217_1 : 3 : TC : 16 : 192.168.221.150 : Ix : OSCPP : osCltTrnCmd_OpenCommandSession : Ln 394 : Failed to create a Secure Mode hashed password.
2022-09-29 09:22:19.464701 (local 13:22) : ERROR : 12217_1 : 3 : TC : 16 : 192.168.221.150 : Ix : OSCPP : osCltTrnCmd_OpenCommandSession : Ln 395 : GOTO ReturnStatus = -1000 (OSCLT_ERR_INTERNAL_ERROR).
2022-09-29 09:22:19.464768 (local 13:22) : ERROR : 12217_1 : 3 : TMC : OSCPP : osCltTeamCmd_OpenCommandSession : Ln 472 : Failed to open initial cmd transport, error -1000.
2022-09-29 09:22:19.464815 (local 13:22) : ERROR : 12217_1 : 3 : TMC : OSCPP : osCltTeamCmd_OpenCommandSession : Ln 478 : GOTO ReturnStatus = -1000 (OSCLT_ERR_INTERNAL_ERROR).
2022-09-29 09:22:19.464904 (local 13:22) : ERROR : 12217_1 : 3 : C : OSCPP : osCltCmd_OpenCommandSessionInternal : Ln 306 : Unable to open command session to server : 192.168.221.150 (port : 9387). Error: -1000.
2022-09-29 09:22:19.464955 (local 13:22) : ERROR : 12217_1 : 3 : C : OSCPP : osCltCmd_OpenCommandSessionInternal : Ln 307 : GOTO ReturnStatus = -1000 (OSCLT_ERR_INTERNAL_ERROR).
2022-09-29 09:22:19.470774 (local 13:22) : ERROR : 12217_1 : 0 : +C : OSCPP : Open : Ln 188 : EXCEPTION: Open command session to 192.168.221.150 failed. retryCount 0. : OSCLT_ERR_INTERNAL_ERROR [-1000] (from:Open@188)
2022-09-29 09:22:20.062702 (local 13:22) : ERROR : 12217_1 : 6 : TC : 16 : 192.168.221.150 : Ix : OSCPP : osCltCrypt_HashPasswordStringSecureMode : Ln 202 : Failed to hash the password (Secure Mode). callStatus : 0
2022-09-29 09:22:20.062808 (local 13:22) : ERROR : 12217_1 : 6 : TC : 16 : 192.168.221.150 : Ix : OSCPP : osCltCrypt_HashPasswordStringSecureMode : Ln 204 : GOTO ReturnStatus = -1000 (OSCLT_ERR_INTERNAL_ERROR).
2022-09-29 09:22:20.062942 (local 13:22) : ERROR : 12217_1 : 6 : TC : 16 : 192.168.221.150 : Ix : OSCPP : osCltTrnCmd_OpenCommandSession : Ln 394 : Failed to create a Secure Mode hashed password.
2022-09-29 09:22:20.062989 (local 13:22) : ERROR : 12217_1 : 6 : TC : 16 : 192.168.221.150 : Ix : OSCPP : osCltTrnCmd_OpenCommandSession : Ln 395 : GOTO ReturnStatus = -1000 (OSCLT_ERR_INTERNAL_ERROR).
2022-09-29 09:22:20.063063 (local 13:22) : ERROR : 12217_1 : 6 : TMC : OSCPP : osCltTeamCmd_OpenCommandSession : Ln 472 : Failed to open initial cmd transport, error -1000.
2022-09-29 09:22:20.063110 (local 13:22) : ERROR : 12217_1 : 6 : TMC : OSCPP : osCltTeamCmd_OpenCommandSession : Ln 478 : GOTO ReturnStatus = -1000 (OSCLT_ERR_INTERNAL_ERROR).
2022-09-29 09:22:20.063159 (local 13:22) : ERROR : 12217_1 : 6 : C : OSCPP : osCltCmd_OpenCommandSessionInternal : Ln 306 : Unable to open command session to server : 192.168.221.150 (port : 9387). Error: -1000.
2022-09-29 09:22:20.063262 (local 13:22) : ERROR : 12217_1 : 6 : C : OSCPP : osCltCmd_OpenCommandSessionInternal : Ln 307 : GOTO ReturnStatus = -1000 (OSCLT_ERR_INTERNAL_ERROR).
2022-09-29 09:22:20.063342 (local 13:22) : ERROR : 12217_1 : 0 : +C : OSCPP : Open : Ln 188 : EXCEPTION: Open command session to 192.168.221.150 failed. retryCount 0. : OSCLT_ERR_INTERNAL_ERROR [-1000] (from:Open@188)
(192.168.221.150
是 StoreOnce IP 地址)。从第一行我可以推断出有一些函数osCltCrypt_HashPasswordStringSecureMode
应该创建密码的一些哈希值并且失败了。
如何找出哪里出了问题以及为什么不起作用?而且,据说要修复?
更新:如果我们将 Catalyst 数据存储公开(哎哟)并删除(注释掉)plugin.conf
客户端上的客户端名称和密码,备份就会起作用。看起来我们的 HP-UX 安装中缺少一些需要哈希密码的库,如果配置了无密码模式,则此步骤将被省略,其他一切都可以正常工作。
更新:尝试运行ldd libisvsupport_rman.so
(这是 38 MB 插件二进制文件)。结果是:
libisvsupport_rman.so:
libdl.so.1 => /usr/lib/hpux64/libdl.so.1
libstd_v2.so.1 => /usr/lib/hpux64/libstd_v2.so.1
libCsup.so.1 => /usr/lib/hpux64/libCsup.so.1
libm.so.1 => /usr/lib/hpux64/libm.so.1
libunwind.so.1 => /usr/lib/hpux64/libunwind.so.1
libc.so.1 => /usr/lib/hpux64/libc.so.1
libuca.so.1 => /usr/lib/hpux64/libuca.so.1
libpthread.so.1 => /usr/lib/hpux64/libpthread.so.1
更新:OpenSSL_A.01.01.01p.001_HP-UX_B.11.31_IA_PA.depot
尝试按照答案中的建议从安装 OpenSSL 库。但这并没有帮助,一切都没有改变。
答案1
大胆猜测,创建密码哈希所需的库可能是 OpenSSL。
HP-UX 附带的 OpenSSL 默认版本可能相当旧,并且不支持插件尝试使用的哈希算法。
但是,HP Enterprise 免费提供较新版本的 OpenSSL for HP-UX,如下:https://myenterpriselicense.hpe.com/cwp-ui/software
在“输入您的搜索词...”字段中输入“openssl”,然后单击“搜索”。选择概述显示“HP-UX OpenSSL”的一个。其他可用版本似乎适用于 HP NonStop-OSS,即以前的 Tandem:一个非常不同的操作系统。