最近HSM TDE 有很多rekey 问题,刚好搜索到个文章,恢复忘记的 Oracle Database TDE Wallet 密码,简单转载翻译参考下
Recovering Forgotten Oracle Database TDE Wallet Password: Step-by-Step Guide
https://www.funoracleapps.com/2025/02/recovering-forgotten-oracle-database.html
透明数据加密 (TDE) 是 Oracle 数据库中的一项关键安全功能,(银行、金融服务和保险)组织广泛使用此功能来遵守法规要求。TDE 可确保静态数据加密,使其成为云托管数据库的强制性功能。
由于许多数据库都配置了自动登录Auto-Login,因此 DBA 团队很少使用 TDE Wallet 密码。但是,某些作仍需要手动身份验证。本指南提供了使用 Wallet Merge 方法在不知道原始密码的情况下恢复对 TDE Wallet 的访问的分步解决方案。
即使配置了自动登录Auto-Login,您也需要 TDE 电子钱包密码才能::
- Rekeying the wallet (changing the master encryption key). 重新加密钱包(更改主加密密钥)
- Generating a new master key. 生成新的主密钥
- Exporting keys for Pluggable Database (PDB) migration. 导出用于可插拔数据库 (PDB) 迁移的密钥
- Performing remote cloning of a PDB. 执行 PDB 的远程克隆
- Migrating a file-based wallet to Oracle Key Vault (OKV). 将基于文件的 wallet 迁移到 Oracle Key Vault (OKV)
场景:忘记 TDE 钱包密码
数据库管理员 (DBA) 遇到了一个问题,他们需要将数据库 TDE 钱包迁移到 OKV,但发现钱包密码不起作用。鉴于数据库为 350TB,完全export/import到新数据库不是一个可行的选择。
为了解决这个问题,使用了 Wallet Merge 方法。这种方法不会影响原始数据库,也不会损害安全性。
解决方案:Wallet Merge 钱包合并方法
第 1 步:备份现有钱包文件
在进行任何更改之前,请对当前的 TDE Wallet 文件进行完整备份:
cp -r /u01/app/oracle/admin/<DB_UNIQUE_NAME>/tde /backup/wallet_backup_$(date +%d%m%Y)/
复制
第 2 步:创建一个新钱包
连接到 SQL*Plus 并在其他位置创建新的 TDE Wallet:
sqlplus / as sysdba
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '<NEW_LOCATION>' IDENTIFIED BY Welcome;
复制
第 3 步:将现有钱包合并到新钱包中
要将现有 wallet 文件合并到新创建的 wallet 中:
ADMINISTER KEY MANAGEMENT MERGE KEYSTORE '<ORIGINAL_LOCATION_FILES>' INTO EXISTING KEYSTORE '<NEW_LOCATION>' IDENTIFIED BY "<NEW_KEYSTORE_PASSWORD>" WITH BACKUP;
复制
第 4 步:验证新钱包
使用 orapki 实用程序验证新钱包是否包含所需的加密密钥 new wallet contains the required encryption keys:
orapki wallet display -wallet <NEW_LOCATION>
复制
系统将提示您输入密码。输入新的钱包密码new wallet password,它应该会显示现有的主密钥existing master keys。
第 5 步:创建自动登录钱包
验证后,为新钱包配置自动登录以避免将来的密码依赖:
ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE
复制
FROM KEYSTORE '<NEW_LOCATION>' IDENTIFIED BY Welcome;
复制
第 6 步:用新钱包替换旧钱包
将新钱包文件复制到原始 TDE 钱包位置original TDE Wallet location:
cp -r <NEW_LOCATION>/* /u01/app/oracle/admin/<DB_UNIQUE_NAME>/tde/
复制
此外,请确保将这些文件复制到 RAC 环境中的所有节点all nodes和任何备用数据库standby databases.。
第 7 步:重新启动并验证钱包访问
要完成迁移,请执行以下作:
ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE; ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "Welcome";
复制
如果一切都配置正确,钱包现在应该可以毫无问题地打开,从而实现无缝的 TDE操作。