RMAN ORA-19913: 无法解密备份

RMAN ORA-19913: unable to decrypt backup

我收到了 RMAN 备份,双重加密,钱包和密码。

Oracle 版本为 11.1.0.7。

我正在尝试在新服务器上恢复数据库。

我执行了以下步骤:

  1. 使用最小 init.ora 文件使用 ORACLE_SID THEDB 创建数据库。

  2. 通过将 ewallet.p12 和 cwallet.sso 文件复制到一个目录来配置钱包,然后将 ENCRYPTION_WALLET_LOCATION 条目添加到 sqlnet.ora.

接下来的步骤是:

sqlplus / as sysdba

startup nomount
select status from v$encryption_wallet;

STATUS
----------------
OPEN

quit

然后 RMAN:

rman target / nocatalog
set decryption identified by 'the_backup_pwd';
restore controlfile from 'THEDB_CF_xxxxx_yyy';

ORA-19913: unable to decrypt backup

现在,备份是使用 AES256 加密进行的,但是这个空数据库的默认加密是 AES128。

我无法在 RMAN 中发出 CONFIGURE ENCRYPTION ALGORITHM 'AES256' 命令,因为它失败并返回 "database not mounted"。

我确定钱包和密码是正确的,但还是出现这个错误

缺少哪一步?

我们发现只有当 RMAN 加密密码包含特殊字符如“$”等时才会发生这种情况

唯一的解决方法是使用带有硬编码密码的 heredoc ..不太好...

rman / target << EOF
set decryption 'ThePa$$Word'

run {
..
}
EOF

即使 运行 交互并且密码是手动输入的,我们仍然得到 ORA-19913: unable to decrypt backup。这显然是一个 Oracle RMAN 错误。