透明的数据加密 (Transparent Data Encryption,TDE) 管理
本节包含透明数据加密 (Transparent Data Encryption,TDE) 的管理,用于保护数据库数据。它包括用于处理加密密钥和密钥库的命令,例如用于添加辅助 HSM 密钥的 dbaascli tde addSecondaryHsmKey、用于轮换主密钥的 dbaascli tde rotateMasterKey 以及用于加密可插入数据库中的表空间的 dbaascli tde encryptTablespacesInPDB。您还可以在 FILE 和基于 HSM 的 TDE(dbaascli tde fileToHsm、dbaascli tde hsmToFile)之间进行转换,管理密钥版本,以及使用各种命令检索密钥详细信息。这些工具可确保有效的加密管理和数据安全。
- dbaascli tde addSecondaryHsmKey
- dbaascli tde changePassword
- dbaascli tde enableWalletRoot
- dbaascli tde encryptTablespacesInPDB
- dbaascli tde fileToHsm
- dbaascli tde getHsmKeys
- dbaascli tde getMkidForKeyVersionOCID
- dbaascli tde getPrimaryHsmKey
- dbaascli tde hsmToFile
- dbaascli tde listKeys
- dbaascli tde removeSecondaryHsmKey
- dbaascli tde rotateMasterKey
- dbaascli tde setKeyVersion
- dbaascli tde setPrimaryHsmKey
- dbaascli tde 状态
dbaascli tde addSecondaryHsmKey
要将辅助 HSM (KMS) 密钥添加到现有 HSM (KMS) 配置,请使用 dbaascli tde addSecondaryHsmKey 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde addSecondaryHsmKey --dbname <value> --secondaryKmsKeyOCID <value>
[--executePrereqs]
参数:
| 参数 | 说明 |
|---|---|
--secondaryKmsKeyOCID |
指定要添加到现有 HSM (KMS) 配置的辅助 KMS 密钥 |
--dbname |
指定数据库的名称 |
--executePrereqs |
执行先决条件检查并报告结果。 |
常见问题解答:
问:dbaascli tde addSecondaryHsmKey 命令的作用是什么?
答案:dbaascli tde addSecondaryHsmKey 命令将辅助 HSM (KMS) 密钥添加到 Oracle Base Database Cloud@Customer 数据库的现有 HSM (KMS) 配置中。
问:谁应运行 dbaascli tde addSecondaryHsmKey 命令?
答:必须以 root 用户身份运行该命令。
问:我应该在哪台计算机上运行 dbaascli tde addSecondaryHsmKey 命令?
答:您需要使用 SSH 连接到 Oracle Base Database Cloud@Customer 虚拟机才能运行此命令。
问:在何处可以找到有关连接到虚拟机以运行此命令的更多详细信息?
答:有关如何连接的说明,请参阅指南 Connecting to a Virtual Machine with SSH 。
问:– secondaryKmsKeyOCID 选项指定了什么?
答案:--secondaryKmsKeyOCID 选项指定要添加到现有 HSM (KMS) 配置的辅助 KMS 密钥的 OCID(Oracle Cloud 标识符)。
问:– dbname 选项的作用是什么?
答:通过 --dbname 选项,可以指定应为其添加辅助 KMS 密钥的数据库的名称。它是可选的。
问:– precheckOnly 选项的作用是什么?
答:将 --precheckOnly 选项设置为 yes 时,将运行操作预检查,而无需进行任何实际更改。有效值为 yes 或 no。
问:我是否可以在不进行更改的情况下运行预检查?
答:是的,您可以使用 --precheckOnly yes 选项仅运行预检查,而无需进行更改。
问:您能否举例说明如何运行此命令来添加辅助 HSM 密钥?
答:下面是一个示例:
dbaascli tde addSecondaryHsmKey --secondaryKmsKeyOCID ocid1.kms.key.oc1..example
问:如何为特定数据库运行该命令?
答:您可以按如下方式指定数据库名称:
dbaascli tde addSecondaryHsmKey --secondaryKmsKeyOCID ocid1.kms.key.oc1..example --dbname mydatabase
问:我如何仅使用预检查来运行命令?
答:要运行预检查,请使用以下语法:
dbaascli tde addSecondaryHsmKey --secondaryKmsKeyOCID ocid1.kms.key.oc1..example --precheckOnly yes
问:如果命令失败,我该怎么办?
答:请确保您以 root 用户身份运行该命令,并且已连接到正确的 Oracle Base Database Cloud@Customer 虚拟机。此外,请验证 KMS 密钥的 OCID 并检查是否已授予所需的权限。
问:如何检查辅助 KMS 密钥是否具有正确的 OCID?
答:您可以从 Oracle Cloud Infrastructure 控制台的 "Key Management Service (KMS)" 部分中检索 KMS 密钥的 OCID。
问:添加辅助 KMS 密钥需要哪些权限?
答:在 Oracle Cloud Infrastructure 中,您需要具有相应的 KMS 操作权限,包括能够管理相关区间的 KMS 密钥。
问:是否可以在不指定– dbname 选项的情况下使用 dbaascli tde addSecondaryHsmKey 命令?
答:是,--dbname 选项是可选的。如果省略,该命令将应用于使用现有 HSM (KMS) 配置的所有数据库。
问:如果我添加辅助 KMS 密钥将会怎样?
答:辅助 KMS 密钥将添加到现有配置中,从而提供额外的加密密钥管理冗余层。
问:添加辅助 KMS 密钥后是否可以将其删除?
答:否。添加辅助 KMS 密钥后,无法将其删除。您将来只能轮换或更新密钥。
示例:dbaascli tde addSecondaryHsmKey
dbaascli tde addSecondaryHsmKey --dbname dbname --secondaryKmsKeyOCID ocid1.key.oc1.eu-frankfurt-1.bjqnwclvaafak.abtheljsgfxa2xe5prvlzdxtygoiqpm2pu2afgta54krxwllk5uxainvvxza
dbaascli tde addSecondaryHsmKey --dbname dbname --secondaryKmsKeyOCID ocid1.key.oc1.eu-frankfurt-1.bjqnwclvaafak.abtheljsgfxa2xe5prvlzdxtygoiqpm2pu2afgta54krxwllk5uxainvvxza --precheckOnly yes
dbaascli tde changePassword
要更改别名 tde_ks_passwd 的 TDE 密钥库密码以及数据库 wallet 密码,请使用 dbaascli tde changePassword 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde changePassword [--dbname <value>]
{ [--prepareStandbyBlob <value> [--blobLocation <value>]]
| [--standbyBlobFromPrimary <value>]
}
[--resume [--sessionID <value>]]
参数:
| 参数 | 说明 |
|---|---|
--dbname |
指定数据库的名称 |
--prepareStandbyBlob |
指定 true 以生成 blob 文件,该文件包含 DG 环境中执行操作所需的构件。 |
--blobLocation |
在 DG 环境中生成备用 blob 文件的定制路径。 |
--standbyBlobFromPrimary |
指定从主数据库准备的备用 blob 文件的位置。这仅对备用操作是必需的。 |
--resume |
恢复上一个执行 |
--sessionID |
恢复特定的会话 ID。 |
常见问题解答:
问:dbaascli tde changePassword 命令的作用是什么?
答案:dbaascli tde changePassword 命令更改别名 tde_ks_passwd 的透明数据加密 (Transparent Data Encryption,TDE) 密钥库密码以及数据库 wallet 密码。
问:谁应运行 dbaascli tde changePassword 命令?
答:必须以 root 用户身份运行该命令。
问:何时应使用 dbaascli tde changePassword 命令?
答:当您需要更改 Oracle Base Database Cloud@Customer 数据库的 TDE 密钥库密码或数据库 wallet 密码时,请使用此命令。
问:– dbname 选项的作用是什么?
答:--dbname 选项指定要为其更改 TDE 密钥库密码的数据库的名称。
问:– pdbName 选项的作用是什么?
答:--pdbName 选项指定需要更改其 TDE 密钥库密码的可插入数据库 (pluggable database,PDB) 的名称。此选项用于多租户数据库。
问:您能否举例说明如何针对特定数据库运行此命令?
答:以下是更改特定数据库的 TDE 密钥库密码的示例:
dbaascli tde changePassword --dbname mydatabase
问题:如何为多租户数据库中的特定 PDB 运行该命令?
答:可以使用以下语法指定 PDB 名称:
dbaascli tde changePassword --dbname mydatabase --pdbName mypdb
问:运行 dbaascli tde changePassword 命令有哪些先决条件?
答:您必须以 root 用户身份运行该命令,并有权访问正在运行数据库的 Oracle Base Database Cloud@Customer 虚拟机。
问:我是否需要停止数据库以更改 TDE 密钥库密码?
答:不,无需停止数据库即可更改 TDE 密钥库密码。
问:如果命令失败,我该怎么办?
答:确保以 root 用户身份运行该命令,并且数据库名称 (--dbname) 和 PDB 名称(--pdbName(如果适用)正确。
问:如果在更改 TDE 密钥库密码时收到“无效密码”错误,该怎么办?
答:确保新密码满足系统的密码复杂性要求,并在出现提示时输入正确的旧密码。
Q:如何检查 TDE 密钥库密码是否已成功更改?
答:您可以查看数据库日志或使用 Oracle AI Database Vault 和密钥管理视图来验证 TDE 密钥库密码更改是否成功。
问题:是否可以一次更改多租户数据库和所有 PDB 的 TDE 密钥库密码?
答:否。如果需要更改多个 PDB 的密码,需要为每个 PDB 单独运行 dbaascli tde changePassword 命令。
问:如果我忘记新的 TDE 密钥库密码将会怎样?
答:如果忘记了新密码,您可能需要从备份恢复密钥库,或者按照 Oracle 的恢复过程重置密钥库,具体取决于您的设置。
问:我是否可以自动更改 TDE 密钥库密码?
答:虽然 dbaascli tde changePassword 命令本身不是为自动化设计的,但如果需要,您可以将其作为常规数据库维护过程的一部分编写脚本。
问:我应该多久更改一次 TDE 密钥库密码?
答:Oracle 建议根据组织的安全策略定期更改 TDE 密钥库密码。最佳做法通常涉及定期轮换加密密钥和密钥库密码。
在非 Data Guard 环境中更改 TDE 密码
dbaascli tde changepassword --dbname
<dbname>
在 Data Guard 环境中更改 TDE 密码
-
更改主数据库中的 TDE 密码。
dbaascli tde changepassword --dbname <dbname> --prepareStandbyBlob true --blobLocation <Location where blob file has to be generated> -
将创建的备用 blob 复制到备用数据库环境。
-
更改备用数据库中的 TDE 密码
dbaascli tde changepassword --dbname <dbname> --standbyBlobFromPrimary <Location of blob generated from primary>
dbaascli tde enableWalletRoot
要为现有数据库启用 wallet_root spfile 参数,请使用 dbaascli tde enableWalletRoot 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde enableWalletRoot --dbname <value>
[--dbRestart <value>]
[--executePrereqs]
[--resume [--sessionID <value>]]
参数:
| 参数 | 说明 |
|---|---|
--dbname |
指定 Oracle AI Database 的名称。 |
--dbrestart |
指定数据库重新启动选项。有效值为:rolling 或 full。默认值:rolling。如果不传递 dbrestart 参数,则数据库将以 rolling 的方式重新启动。 |
--precheckOnly |
仅运行此操作的预检查。有效值为:yes 或 no |
--resume |
恢复上一个执行 |
--sessionID |
恢复特定的会话 ID。 |
常见问题解答:
问:dbaascli tde enableWalletRoot 命令的作用是什么?
答案:dbaascli tde enableWalletRoot 命令为 Oracle Base Database Cloud@Customer 上的现有 Oracle AI Database 启用 spfile 中的 wallet_root 参数。
问:谁应运行 dbaascli tde enableWalletRoot 命令?
答:必须以 root 用户身份运行该命令。
问:我应该在哪台计算机上运行 dbaascli tde enableWalletRoot 命令?
答:必须使用 SSH 连接到 Oracle Base Database Cloud@Customer 虚拟机才能运行此命令。
问:在哪里可以找到连接到虚拟机的说明?
答:有关连接的说明,请参阅指南 Connecting to a Virtual Machine with SSH 。
问:– dbRestart 选项的作用是什么?
答:--dbRestart 选项指定在启用 wallet_root 后应如何重新启动数据库。有效值是:
-
rolling:以滚动方式(默认行为)重新启动数据库。 -
full:执行完全数据库重新启动。
问:– dbname 选项的作用是什么?
答:通过 --dbname 选项,可以指定应为其启用 wallet_root 参数的 Oracle AI Database 的名称。
问:– precheckOnly 选项的作用是什么?
答:--precheckOnly 选项在不进行实际更改的情况下运行操作预检查。有效值为 yes 或 no。
问:如果不指定– dbRestart 选项将会怎样?
答:如果不指定 --dbRestart 选项,则默认情况下数据库将以滚动方式重新启动。
问:您能否举例说明如何为特定数据库启用 wallet_root?
答:下面是一个为名为 mydatabase 的数据库启用 wallet_root 的示例:
dbaascli tde enableWalletRoot --dbname mydatabase
问:如何启用 wallet_root 并指定完全数据库重新启动?
答:您可以使用以下命令在完全数据库重新启动的情况下启用 wallet_root:
dbaascli tde enableWalletRoot --dbname mydatabase --dbRestart full
问:我如何仅使用预检查来运行命令?
答:要执行预检查而不进行更改,请使用以下语法:
dbaascli tde enableWalletRoot --dbname mydatabase --precheckOnly yes
问:运行 dbaascli tde enableWalletRoot 命令有哪些先决条件?
答:您必须以 root 用户身份运行该命令并连接到正确的 Oracle Base Database Cloud@Customer 虚拟机。
问:我是否需要重新启动数据库以启用 wallet_root?
答:是的,数据库需要以滚动方式(默认)或完全重新启动,具体取决于您选择的选项。
问:如果命令失败,我该怎么办?
答:确保以 root 用户身份运行该命令,并验证数据库名称 (--dbname) 是否正确。如果使用 --precheckOnly 运行,请检查是否有任何预检查错误。
问:如果数据库在运行该命令后无法重新启动,该怎么办?
答:验证是否使用了正确的重新启动选项(rolling 或 full),并检查数据库日志中是否存在任何错误。如果自动重新启动失败,您可能需要手动重新启动数据库。
问:如何检查 wallet_root 是否已成功启用?
答:您可以通过检查数据库的 spfile 或使用 Oracle SQL 查询来确认是否启用了 wallet_root 参数来验证更改。
问:是否可以在不重新启动数据库的情况下启用 wallet_root?
答案:否,数据库需要重新启动才能使更改生效。您可以选择滚动重新启动或完全重新启动。
问:滚动和完全数据库重新启动之间有何区别?
答:滚动重新启动可一次重新启动数据库一个实例,从而使数据库在操作期间保持部分可用。完全重新启动将关闭并重新启动整个数据库,从而导致完全停机。
问:我是否可以同时对多个数据库运行此命令?
答:您需要为要启用 wallet_root 的每个数据库单独运行 dbaascli tde enableWalletRoot 命令。
问题:启用 wallet_root 如何影响现有 TDE 密钥库配置?
答:启用 wallet_root 会将 TDE 密钥库位置更新到新的 wallet 根目录,从而更轻松地管理 Oracle AI 数据库中的多个密钥库和 wallet。
示例:dbaascli tde enableWalletRoot
dbaascli tde enableWalletRoot --dbname db name --dbrestart rolling|full
dbaascli tde enableWalletRoot --dbname orcl
dbaascli tde enableWalletRoot --dbname orcl--dbrestart full
dbaascli tde encryptTablespacesInPDB
要加密指定 PDB 中的所有表空间,请使用 dbaascli tde encryptTablespacesInPDB 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde encryptTablespacesInPDB --dbname <value> --pdbName <value>
[--executePrereqs]
参数:
| 参数 | 说明 |
|---|---|
--pdbName |
指定要加密所有表空间的 PDB 的名称。 |
--dbname |
指定 Oracle AI Database 的名称。 |
--executePrereqs |
执行先决条件检查并报告结果。 |
常见问题解答:
问:dbaascli tde encryptTablespacesInPDB 命令的作用是什么?
答案:dbaascli tde encryptTablespacesInPDB 命令加密 Oracle Base Database Cloud@Customer 上 Oracle AI Database 的指定可插入数据库 (pluggable database,PDB) 中的所有表空间。
问:谁应运行 dbaascli tde encryptTablespacesInPDB 命令?
答:必须以 root 用户身份运行该命令。
问:我应该在哪台计算机上运行 dbaascli tde encryptTablespacesInPDB 命令?
答:您需要使用 SSH 连接到 Oracle Base Database Cloud@Customer 虚拟机才能运行此命令。
问:在哪里可以找到连接到虚拟机的说明?
答案:有关连接说明,请参阅指南 Connecting to a Virtual Machine with SSH 。
问:– pdbName 选项指定了什么?
答案:--pdbName 选项指定需要加密其表空间的可插入数据库 (pluggable database,PDB) 的名称。
问:– dbname 选项的作用是什么?
答:通过 --dbname 选项,可以指定 PDB 所属 Oracle AI Database 的名称。
问:– precheckOnly 选项的作用是什么?
答:--precheckOnly 选项运行加密操作的预检查,而不会进行任何实际更改。有效值为 yes 或 no。
问:– useSysdbaCredential 选项的作用是什么?
答:--useSysdbaCredential 选项指定是否应将 SYSDBA 身份证明用于操作。有效值为 true 或 false。
问:是否可以举例说明如何加密特定 PDB 中的表空间?
答:下面是一个对名为 mypdb 的 PDB 中的所有表空间进行加密的示例:
dbaascli tde encryptTablespacesInPDB --pdbName mypdb
问题:如何对数据库内特定 PDB 中的表空间进行加密?
答:使用以下命令指定 PDB 和数据库:
dbaascli tde encryptTablespacesInPDB --pdbName mypdb --dbname mydatabase
问:如何在不执行加密的情况下运行预检查?
答:您只能使用此语法运行预检查:
dbaascli tde encryptTablespacesInPDB --pdbName mypdb --precheckOnly yes
问:如何使用 SYSDBA 身份证明对表空间进行加密?
答:可以通过添加 --useSysdbaCredential true 选项来使用 SYSDBA 身份证明:
dbaascli tde encryptTablespacesInPDB --pdbName mypdb --useSysdbaCredential true
问:运行 dbaascli tde encryptTablespacesInPDB 命令有哪些先决条件?
答:您必须以 root 用户身份运行该命令并有权访问 Oracle Base Database Cloud@Customer 虚拟机。
问:我是否需要重新启动数据库来加密表空间?
答案:否,该命令不需要重新启动数据库。在数据库联机时执行加密。
问:我是否需要 SYSDBA 身份证明来加密表空间?
答:如果使用 --useSysdbaCredential 选项指定,则此操作可能需要 SYSDBA 身份证明。
问:如果命令失败,我该怎么办?
答:确保以 root 用户身份运行该命令,并验证 PDB 名称 (--pdbName) 和数据库名称 (--dbname) 是否正确。您还可以运行带有 --precheckOnly yes 的命令,在运行完全加密之前检查问题。
问:如果表空间加密失败,我该怎么办?
答:检查数据库日志并确保您具有执行加密所需的权限和资源。您可能还需要验证是否有足够的空间来处理加密过程。
问:如何检查 PDB 中的表空间是否已加密?
答:您可以查询与加密相关的数据库视图(如 V$ENCRYPTED_TABLESPACES),以验证表空间是否已成功加密。
问:如何验证预检查是否成功?
答:如果使用 --precheckOnly yes 运行命令,则可以检查输出中是否存在任何警告或错误,这些警告或错误指示加密过程的潜在问题。
问:是否可以同时加密多个 PDB 的表空间?
答:不,您需要为每个 PDB 单独运行 dbaascli tde encryptTablespacesInPDB 命令。
问:我是否可以对 PDB 中的某些表空间进行部分加密?
答:不,此命令对指定 PDB 中的所有表空间进行加密。对于部分加密,需要使用不同的数据库管理命令。
问:加密表空间是否会影响数据库性能?
答:加密表空间可能会在加密过程中产生临时性能影响。但是,加密完成后,影响应该是最小的。
问:是否可以撤消表空间的加密?
答:不可以,一旦对表空间进行加密,将无法撤消加密。您只能根据需要轮换或重新加密密钥。
问:如果操作在加密过程中中断,会发生什么情况?
答:如果操作被中断,您可能需要重新运行该命令。系统将从其停止的位置恢复加密,您可以使用数据库视图验证状态。
示例:dbaascli tde encryptTablespacesInPDB
dbaascli tde encryptTablespacesInPDB --dbname dbname --pdbName pdb
dbaascli tde encryptTablespacesInPDB --dbname dbname --pdbName pdb --executePrereqs
dbaascli tde fileToHsm
要将基于 FILE 的 TDE 转换为基于 HSM (KMS/OKV) 的 TDE,请使用 dbaascli tde fileToHsm 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde fileToHsm --kmsKeyOCID <value> --dbname <value>
[--skipPatchCheck <value>]
[--executePrereqs ]
[--primarySuc <value>]
{
[--resume [--sessionID <value>]] | [--revert [--sessionID <value>]]
}
[--waitForCompletion <value>]
参数:
| 参数 | 说明 |
|---|---|
--kmsKeyOCID |
指定要用于 TDE 的 KMS 密钥 OCID。仅当为 TDE 选择了 KMS 时才适用 |
--dbname |
指定数据库的名称 |
--skipPatchCheck |
如果为此参数传递的值为 true,则将跳过所需补丁程序的验证检查。有效值:true 或 false |
--executePrereqs |
执行先决条件检查并报告结果。 |
--primarySuc |
在主数据库上成功运行命令后,在 Data Guard 环境的备用数据库中指定了此属性 |
--resume |
指定以恢复上一个运行 |
--sessionID |
指定以恢复特定的会话 ID |
--revert |
指定以回退上一个运行 |
--sessionID |
指定以回退特定会话 ID |
--waitForCompletion |
指定 false 以在后台运行操作。有效值:true 或 false。 |
常见问题解答:
问:dbaascli tde fileToHsm 命令的用途是什么?
答案:dbaascli tde fileToHsm 命令用于在 Oracle AI Database Cloud Service 环境中将基于 FILE 的透明数据加密 (Transparent Data Encryption,TDE) 转换为基于硬件安全模块 (Hardware Security Module,HSM) 的 TDE,例如 KMS 或 OKV。
问:谁可以运行 dbaascli tde fileToHsm 命令?
答:必须以 root 用户身份运行该命令。
问:– kmsKeyOCID 参数的用途是什么?
答:--kmsKeyOCID 参数指定从基于文件的 TDE 转换为基于 HSM 的 TDE 时将用于 TDE 加密的 KMS 密钥 OCID。
问:– dbname 参数的作用是什么?
答:--dbname 参数指定要为其将 TDE 从基于文件转换为基于 HSM 的数据库的名称。
问:转换 TDE 时是否可以跳过补丁程序验证检查?
答:是的,通过将 --skipPatchCheck 参数与值 true 一起使用,您可以跳过验证检查是否需要修补程序。
问:– executePrereqs 参数用于什么?
答:--executePrereqs 参数允许您仅运行 TDE 转换流程的预检查,而无需执行实际转换。有效值为 yes 或 no。
问:– primarySuc 参数在 Data Guard 设置中执行什么操作?
答:在 Data Guard 环境中使用 --primarySuc 参数来指示该命令已成功在主数据库上运行。应在主转换完成后在备用数据库上指定它。
问:如何恢复以前的 TDE 转换?
答:您可以使用 --resume 参数恢复以前未完成的 TDE 转换。(可选)可以使用 --sessionID 指定特定会话 ID。
Q:如何还原 TDE 转换?
答:要恢复以前的 TDE 转换,请使用 --revert 参数。还可以使用 --sessionID 提供要还原的特定会话 ID。
问:在恢复或恢复 TDE 转换时如何指定会话 ID?
答:可以使用 --sessionID 参数指定要恢复或恢复的会话的 ID。示例:--resume --sessionID <ID> 或 --revert --sessionID <ID>。
问:如果将– waitForCompletion 设置为 false,会发生什么情况?
答:如果将 --waitForCompletion 设置为 false,则 TDE 转换进程将在后台运行,命令提示符将立即返回。如果设置为 true,该命令将等待进程完成,然后再将控制权返回给用户。
问:– waitForCompletion 参数的有效值是什么?
答:有效值包括 true 或 false。将其设置为 true 将使命令等待进程完成;将其设置为 false 将在后台运行进程。
问:我是否可以在不立即转换 TDE 的情况下运行 dbaascli TDE fileToHsm?
答:是的,您可以使用 --executePrereqs yes 参数仅执行转换的预检查,而无需对 TDE 进行任何更改。
问:在 Data Guard 环境中,在主数据库上转换 TDE 后如何处理备用数据库?
答:在主数据库上成功运行转换后,需要在备用数据库上运行该命令时指定 --primarySuc。
问:如果 TDE 转换过程失败,我该怎么办?
答:如果进程失败,可以使用 --resume 参数尝试从停止的位置恢复。如有必要,可以使用 --revert 参数回退在失败的会话期间所做的更改。
示例:dbaascli tde fileToHsm – kmsKeyOCID
dbaascli tde fileToHSM --dbname dbname --kmsKeyOCID ocid1.key.oc1.eu-frankfurt-.bjqnwclvaafak.abtheljsgfxa2xe5prvlzdxtygoiqpm2pu2afgta54krxwllk5uxainvvxza
dbaascli tde fileToHSM --dbname dbname --kmsKeyOCID ocid1.key.oc1.eu-frankfurt-.bjqnwclvaafak.abtheljsgfxa2xe5prvlzdxtygoiqpm2pu2afgta54krxwllk5uxainvvxza --executePrereqs
dbaascli tde fileToHSM --dbname dbname --kmsKeyOCID ocid1.key.oc1.eu-frankfurt-.bjqnwclvaafak.abtheljsgfxa2xe5prvlzdxtygoiqpm2pu2afgta54krxwllk5uxainvvxza --resume
dbaascli tde getHsmKeys
要获取 TDE 活动密钥详细信息,请使用 dbaascli tde getHsmKeys 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde getHsmKeys
[--dbname]
[--infoFile]
参数:
| 参数 | 说明 |
|---|---|
--dbname |
指定数据库的名称 |
--infoFile |
指定将保存 OCID 列表的文件路径。以 JSON 格式输出 |
常见问题解答:
问:dbaascli tde getHsmKeys 命令的作用是什么?
答案:dbaascli tde getHsmKeys 命令从指定数据库的硬件安全模块 (Hardware Security Module,HSM) 中检索活动透明数据加密 (Transparent Data Encryption,TDE) 密钥的详细信息。
问:谁应运行 dbaascli tde getHsmKeys 命令?
答:必须以 root 用户身份运行该命令。
问:我应该在哪台计算机上运行 dbaascli tde getHsmKeys 命令?
答:必须使用 SSH 连接到 Oracle Base Database Cloud@Customer 虚拟机才能运行此命令。
问:在哪里可以找到连接到虚拟机的说明?
答案:有关连接的说明,请参阅指南使用 SSH 连接到虚拟机。
问:– dbname 选项的作用是什么?
答:通过 --dbname 选项,可以指定要为其检索 TDE 密钥详细信息的 Oracle AI Database 的名称。
问:– infoFile 选项的作用是什么?
答案:--infoFile 选项指定将保存密钥 OCID(Oracle Cloud 标识符)列表的文件路径。以 JSON 格式输出。
问:您能否举例说明如何检索特定数据库的 TDE 密钥详细信息?
答:下面是一个示例,用于获取名为 mydatabase 的数据库的 TDE 密钥详细信息:
dbaascli tde getHsmKeys --dbname mydatabase
问:如何将 TDE 密钥详细信息保存到文件中?
答:您可以使用 --infoFile 选项指定文件路径,以 JSON 格式保存输出:
dbaascli tde getHsmKeys --dbname mydatabase --infoFile /path/to/output.json
问:运行 dbaascli tde getHsmKeys 命令有哪些先决条件?
答:您必须以 root 用户身份运行该命令并连接到 Oracle Base Database Cloud@Customer 虚拟机。
问:是否需要 SYSDBA 身份证明才能检索 TDE 密钥详细信息?
答:不,运行 dbaascli tde getHsmKeys 命令不需要 SYSDBA 身份证明。
问:使用– infoFile 选项时,以何种格式保存 TDE 密钥信息?
答:输出以 JSON 格式保存。
问:TDE 密钥详细信息中包含哪些信息?
答:详细信息包括密钥 OCID 和有关存储在指定数据库的 HSM 中的活动加密密钥的其他元数据。
问:如果命令无法检索密钥详细信息,我该怎么办?
答:请确保以 root 用户身份运行该命令,并且数据库名称 (--dbname) 正确。检查与 Oracle Base Database Cloud@Customer 虚拟机的连接。
问:如何检查输出文件是否已成功创建?
答:您可以检查输出 JSON 文件的指定文件路径。如果缺少该文件,请验证文件路径是否正确,以及您是否具有对该目录的写入权限。
问:如果输出文件为空,我该怎么办?
答:确保指定的数据库包含活动的 TDE 密钥,并且 --dbname 参数正确。您可能还需要检查数据库日志中是否存在任何错误。
问:我是否可以一次检索多个数据库的 TDE 密钥详细信息?
答:否。必须为每个数据库单独运行 dbaascli tde getHsmKeys 命令。
问:如何在其他操作中使用– infoFile 选项中的输出文件?
答:由于输出采用 JSON 格式,因此您可以以编程方式解析文件,或者将其用作其他数据库或加密管理任务的输入。
Q:是否可以使用此命令获取历史 TDE 密钥详细信息?
答案:否,该命令仅检索有关 HSM 中当前活动密钥的详细信息。
问:如何验证检索到的密钥是否正确?
答:您可以通过使用 Oracle Cloud Infrastructure (OCI) 控制台交叉引用密钥或使用与加密管理相关的数据库视图来验证密钥。
示例:dbaascli tde getHsmKeys
dbaascli tde getHsmkeys --dbname dbname
dbaascli tde getHsmkeys --dbname dbname --infoFile infoFilePath
dbaascli tde getMkidForKeyVersionOCID
要获取与 KMS 密钥版本 OCID 关联的主密钥 ID,请使用 dbaascli tde getMkidForKeyVersionOCID 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde getMkidForKeyVersionOCID --kmsKeyVersionOCID <value>
[--dbname <value>]
[--waitForCompletion <value>]
参数:
| 参数 | 说明 |
|---|---|
--kmsKeyVersionOCID |
指定要设置的 KMS 密钥版本 OCID |
--dbname |
指定数据库的名称 |
--waitForCompletion |
指定 false 以在后台运行操作。有效值:“true”或“false”。 |
常见问题解答:
问:dbaascli tde getMkidForKeyVersionOCID 命令的用途是什么?
答案:dbaascli tde getMkidForKeyVersionOCID 命令检索与 Oracle AI Database Cloud Service 环境中的特定 KMS 密钥版本 OCID 关联的主密钥 ID (Master Key ID,MKID)。
问:运行 dbaascli tde getMkidForKeyVersionOCID 命令有哪些先决条件?
A:您必须:
-
以
root用户身份运行该命令。 -
通过 SSH 连接到 Oracle Base Database Cloud@Customer 虚拟机。
问:谁可以运行 dbaascli tde getMkidForKeyVersionOCID 命令?
答:只有 root 用户才能运行此命令。
问:– kmsKeyVersionOCID 参数指定了什么?
答:--kmsKeyVersionOCID 参数指定要为其检索关联主密钥 ID (MKID) 的 KMS 密钥版本 OCID。
问:– dbname 参数指定什么内容?
答:--dbname 参数指定要查询 KMS 密钥版本 OCID 的数据库的名称。
问:– dbname 参数是否是必需的?
答案:否,--dbname 参数是可选的。如果不指定数据库名称,该命令将检索系统上默认数据库的 MKID。
问:如果不知道 KMS 密钥版本 OCID,我该怎么办?
答:在使用此命令之前,必须从 KMS 管理控制台或服务提供者检索 KMS 密钥版本 OCID。如果没有它,该命令将无法检索主密钥 ID (MKID)。
问:我是否可以在非 Oracle Base Database Cloud@Customer 环境中运行此命令?
答:不,此命令专门用于 Oracle Base Database Cloud@Customer 环境,您需要使用 SSH 连接到虚拟机来执行该命令。
问:如果在不使用– dbname 指定数据库名称的情况下运行该命令将会怎样?
答:如果未提供 --dbname 参数,该命令将尝试检索系统上配置的默认数据库的 MKID。
问:如果在检索 MKID 时遇到错误,我该怎么办?
A:确保:
-
您以
root用户身份运行该命令。 -
您已正确连接到 Oracle Base Database Cloud@Customer 虚拟机。
-
您提供的 KMS 密钥版本 OCID 有效。如果错误仍然存在,请查看系统日志以了解更多详细信息。
问:如何连接到 Oracle Base Database Cloud@Customer 虚拟机?
答:您可以通过 SSH 连接到虚拟机。有关如何安全连接,请参阅 Oracle Base Database Cloud@Customer 文档。
示例:dbaascli tde getMkidForKeyVersionOCID
dbaascli tde getMkidForKeyVersionOCID --dbname dbname --kmsKeyVersionOCID ocid1.keyversion.oc1.eu-frankfurt-1.bjqnwclvaafak.bc4hmd3olgaaa.abtheljsyxtgn4vzi2bbpcej6a7abcwvylkd2lx56lu2s6iwnxwgigu23nha
dbaascli tde getPrimaryHsmKey
要从现有 HSM (KMS) 配置获取主 HSM (KMS) 密钥,请使用 dbaascli tde getPrimaryHsmKey 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde getPrimaryHsmKey
[--dbname]
参数:
| 参数 | 说明 |
|---|---|
--dbname |
指定数据库的名称 |
常见问题解答:
问:dbaascli tde getPrimaryHsmKey 命令的用途是什么?
答案:dbaascli tde getPrimaryHsmKey 命令从 Oracle AI Database 环境中的现有 HSM (KMS) 配置中检索主硬件安全模块 (Hardware Security Module,HSM) 密钥。
问:运行 dbaascli tde getPrimaryHsmKey 命令有哪些先决条件?
A:您必须:
-
以
root用户身份运行该命令。 -
通过 SSH 连接到 Oracle Base Database Cloud@Customer 虚拟机。
问:谁可以执行 dbaascli tde getPrimaryHsmKey 命令?
答:只有 root 用户才能执行此命令。
问:– dbname 参数在此命令中指定什么?
答:--dbname 参数指定要为其检索主 HSM 密钥的数据库的名称。
问:– dbname 参数是否是必需的?
答案:否,--dbname 参数是可选的。如果未提供,该命令将检索系统上默认数据库的主 HSM 密钥。
问:如果不使用– dbname 指定数据库名称,应执行哪些操作?
答:如果未指定 --dbname 参数,该命令将尝试检索系统上配置的默认数据库的主 HSM 密钥。
问:我是否可以在非 Oracle Base Database Cloud@Customer 环境中运行此命令?
答:不,此命令专为在 Oracle Base Database Cloud@Customer 环境中使用而设计,您必须使用 SSH 连接到虚拟机才能运行它。
问:如何连接到 Oracle Base Database Cloud@Customer 虚拟机来运行该命令?
答:您可以通过 SSH 连接到虚拟机。有关如何安全连接的说明,请参阅 Oracle Base Database Cloud@Customer 文档。
问:在检索主 HSM 密钥时,我应该如何检查是否遇到错误?
答:如果遇到错误,请确保:
-
您以
root用户身份运行该命令。 -
您已正确连接到 Oracle Base Database Cloud@Customer 虚拟机。
-
数据库名称(如果指定)有效。如果问题仍然存在,请查阅系统日志或错误消息以获取更多详细信息。
问:我是否需要停止数据库才能运行 dbaascli tde getPrimaryHsmKey 命令?
答:不,无需停止数据库即可运行此命令。您可以在数据库运行时执行该命令。
问:检索主 HSM 密钥的目的是什么?
答:检索主 HSM 密钥允许您确定在数据库的现有 HSM (KMS) 配置中用于加密的当前 HSM 密钥。
示例:dbaascli tde getPrimaryHsmKey
dbaascli tde getPrimaryHsmKey --dbname dbname
dbaascli tde hsmToFile
要将基于 HSM(KMS/OKV) 的 TDE 转换为基于 FILE 的 TDE,请使用 dbaascli tde hsmToFile 命令。
以 root 用户身份运行该命令。
语法:
dbaascli tde hsmToFile
[--dbname <value>]
{
[--prepareStandbyBlob <value> [--blobLocation <value>]
| [--standbyBlobFromPrimary <value>]
}
]
[--skipPatchCheck <value>]
[--executePrereqs ]
[--primarySuc <value>]
{
[--resume [--sessionID <value>]] |
[--revert [--sessionID <value>]]
}
[--waitForCompletion <value>]
参数:
| 参数 | 说明 |
|---|---|
--dbname |
指定数据库的名称 |
--prepareStandbyBlob |
指定 true 以生成 blob 文件,该文件包含 DG 环境中执行操作所需的构件。 |
--blobLocation |
在 DG 环境中生成备用 blob 文件的定制目录位置。 |
--standbyBlobFromPrimary |
指定从主数据库准备的备用 blob 文件的位置。这仅对备用操作是必需的。] |
--skipPatchCheck |
如果为此参数传递的值为 true,则将跳过所需补丁程序的验证检查。有效值:true 或 false |
--executePrereqs |
执行先决条件检查并报告结果。 |
--primarySuc |
在主数据库上成功运行命令后,在 Data Guard 环境的备用数据库中指定了此属性 |
--resume |
恢复上一个运行 |
--sessionID |
指定以恢复特定的会话 ID |
--revert |
指定要回退上一个运行 |
--sessionID |
指定以回退特定会话 ID |
--waitForCompletion |
指定 false 以在后台运行操作。有效值:true 或 false |
常见问题解答:
问:dbaascli tde hsmToFile 命令的用途是什么?
答案:dbaascli tde hsmToFile 命令用于在 Oracle AI Database Cloud Service 环境中将基于硬件安全模块 (Hardware Security Module,HSM) 的透明数据加密 (Transparent Data Encryption,TDE) 转换为基于文件的 TDE。
问:运行 dbaascli tde hsmToFile 命令有哪些先决条件?
A:您必须:
-
以
root用户身份运行该命令。 -
确保您在数据库环境中设置了必要的权限和配置。
问:– dbname 参数指定什么内容?
答:--dbname 参数指定要为其将 TDE 从基于 HSM 转换为基于文件的数据库的名称。
问:什么时候需要– primaryDBWalletTar 参数?
答:仅当在备用数据库上执行 hsmToFile 转换时,才需要 --primaryDBWalletTar 参数。它指定主数据库的 wallet 的 tar 文件。
问:– skipPatchCheck 参数的用途是什么?
答:通过 --skipPatchCheck 参数,可以跳过验证检查是否需要修补程序。将此项设置为 true 以跳过检查,或将 false 强制执行检查。
问:如何在不执行实际转换的情况下仅为转换流程运行预检查?
答:您可以使用 --executePrereqs 参数并将其设置为 yes 以仅运行预检查。将其设置为 no 以执行完全转换。
问:– primarySuc 参数在 Data Guard 环境中执行什么操作?
答:Data Guard 设置中使用 --primarySuc 参数来指示转换已成功在主数据库上运行。在备用数据库上运行转换时应使用该命令。
问:如何恢复以前的 hsmToFile 转换?
答:您可以使用 --resume 参数恢复以前的转换。(可选)您可以使用 --sessionID 指定上一次运行的会话 ID。
Q:– revert 参数的用途是什么?
答:--revert 参数用于在发生故障或需要撤消操作时回退以前启动的转换进程。
问:如果将– waitForCompletion 设置为 false,会发生什么情况?
答:如果将 --waitForCompletion 设置为 false,该操作将在后台运行,允许您继续执行其他任务。如果设置为 true,该命令将等待进程完成,然后再将控制权返回给用户。
问:如果需要转换数据卫士设置中的备用数据库中的 TDE,应执行哪些操作?
答:在 Data Guard 设置中,在主数据库上转换 TDE 后,必须使用 --primaryDBWalletTar 参数在备用数据库上运行该命令,从主数据库指定 wallet tar 文件,并包括 --primarySuc。
问:如果要在转换过程中跳过对所需补丁程序的检查,我该怎么办?
答:您可以使用 --skipPatchCheck 参数跳过修补程序检查,并将其设置为 true。
问:如何在不进行更改的情况下检查系统是否已准备好进行 hsmToFile 转换?
答:您只能使用 --executePrereqs 参数执行预检查,并将其设置为 yes。
问:如果转换过程中断,我该怎么办?
答:您可以使用 --resume 参数从中断的位置重新启动进程。(可选)可以使用 --sessionID 指定特定会话 ID。
问:如果转换过程失败,我该怎么办?
答:如果转换失败,则可以使用 --revert 参数回退进程。此外,请查看任何错误消息并查看系统日志以了解更多详细信息。
问:是否可以在非基本数据库环境中运行 dbaascli tde hsmToFile 命令?
答:此命令设计为在 Oracle Base Database Cloud@Customer 环境中使用。如果不使用基本数据库,请确保您在受支持的环境中,该命令才能正常工作。
示例:dbaascli tde hsmToFile
dbaascli tde hsmToFile --dbname dbname
dbaascli tde hsmToFile --dbname dbname --executePrereqs
dbaascli tde hsmToFile --dbname dbname --resume
dbaascli tde listKeys
要列出 TDE 主密钥,请使用 dbaascli tde listKeys 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde listKeys
[--dbname <value>]
[--infoFilePath <value>]
参数:
| 参数 | 说明 |
|---|---|
--dbname |
指定数据库的名称 |
--infoFilePath |
指定将保存结果的文件的绝对路径。 |
常见问题解答:
问:dbaascli tde listKeys 命令的用途是什么?
答案:dbaascli tde listKeys 命令用于列出 Oracle AI Database 环境中指定数据库的所有透明数据加密 (Transparent Data Encryption,TDE) 主密钥。
问:运行 dbaascli tde listKeys 命令有哪些先决条件?
A:您必须:
-
以
root用户身份运行该命令。 -
使用 SSH 连接到 Oracle Base Database Cloud@Customer 虚拟机。
问:在 dbaascli tde listKeys 命令中,– file 参数的作用是什么?
答:--file 参数指定应保存 TDE 主密钥列表的文件路径。如果未提供此参数,则结果将直接显示在终端中。
问:– dbname 参数指定什么内容?
答:--dbname 参数指定要为其列出 TDE 主密钥的数据库的名称。
Q:– file 参数是必需的吗?
答案:否,--file 参数是可选的。如果未提供,则 TDE 密钥列表将显示在终端输出中,而不是保存到文件中。
问:– dbname 参数是否是必需的?
答案:否,--dbname 参数是可选的。如果未指定,该命令将列出系统上配置的默认数据库的 TDE 主密钥。
问:如果我要将密钥列表保存到文件中,该怎么办?
答:应提供 --file 参数以及所需文件路径。例如:
dbaascli tde listKeys --file /path/to/output.txt
问:如果不使用– dbname 提供数据库名称,会发生什么情况?
答:如果未提供 --dbname 参数,该命令将列出系统上默认数据库的 TDE 主密钥。
问:我是否可以在 Oracle Base Database Cloud@Customer 之外的环境中使用此命令?
答:此命令专为 Oracle Base Database Cloud@Customer 环境设计。确保已连接到相应的虚拟机以运行它。
问:如果命令无法列出密钥,我该怎么办?
A:确保:
-
您以
root用户身份运行该命令。 -
您已连接到 Oracle Base Database Cloud@Customer 虚拟机。
-
数据库名称(如果指定)正确。有关失败的更多详细信息,请查看错误消息和日志。
问:我是否可以在数据库运行时运行 dbaascli tde listKeys 命令?
答:是的,可以在数据库运行时执行该命令。它只是列出 TDE 主密钥,不会更改数据库的状态。
问:我是否需要特殊权限才能运行此命令?
答:您必须以 root 用户身份运行此命令。如果没有 root 权限,您将无法执行该命令。
问:列出 TDE 主密钥的目的是什么?
答:通过列出 TDE 主密钥,您可以查看用于保护数据库数据的加密密钥。它对于监视和管理加密设置至关重要。
问:如何连接到 Oracle Base Database Cloud@Customer 虚拟机来运行该命令?
答:您可以使用 SSH 连接到虚拟机。有关如何建立安全连接的说明,请参阅 Oracle Base Database Cloud@Customer 文档。
示例:dbaascli tde listKeys
dbaascli tde listKeys --dbname dbname
dbaascli tde listKeys --dbname dbname --infoFilePath infoFilePath
dbaascli tde removeSecondaryHsmKey
要从现有 HSM (KMS) 配置中删除辅助 HSM (KMS) 密钥,请使用 dbaascli tde removeSecondaryHsmKey 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde removeSecondaryHsmKey --dbname <value>
[--confirmDeletion]
[--secondaryKmsKeyOCID]
[--executePrereqs]
参数:
| 参数 | 说明 |
|---|---|
--dbname |
指定数据库的名称 |
--confirmDeletion |
如果未指定,将在删除所有现有 HSM(KMS) 密钥时提示用户。 |
--secondaryKmsKeyOCID |
要从现有 HSM(KMS) 配置中删除的辅助 KMS 密钥。如果未指定,将删除所有辅助 KM 密钥。 |
--executePrereqs |
执行先决条件检查并报告结果。 |
常见问题解答:
问:dbaascli tde removeSecondaryHsmKey 命令的用途是什么?
答案:dbaascli tde removeSecondaryHsmKey 命令用于从 Oracle AI Database 环境中的现有 HSM (KMS) 配置中删除辅助硬件安全模块 (Hardware Security Module,HSM) 密钥。
问:运行 dbaascli tde removeSecondaryHsmKey 命令有哪些先决条件?
A:您必须:
-
以
root用户身份运行该命令。 -
使用 SSH 连接到 Oracle Base Database Cloud@Customer 虚拟机。
问:在 dbaascli tde removeSecondaryHsmKey 命令中,– force 参数的作用是什么?
答:--force 参数允许在不提示用户确认的情况下删除辅助 HSM 密钥。如果未指定,则该命令将在删除任何密钥之前提示用户。
问:– secondaryKmsKeyOCID 参数指定了什么?
答:--secondaryKmsKeyOCID 参数指定要从现有 HSM 配置中删除的辅助 KMS 密钥的 OCID(Oracle Cloud 标识符)。
问:– dbname 参数的作用是什么?
答:--dbname 参数指定要为其删除辅助 HSM 密钥的数据库的名称。
问:– precheckOnly 参数的用途是什么?
答:如果设置为 yes,则 --precheckOnly 参数将仅运行预检查以验证删除操作的准备情况,而不会实际删除辅助 HSM 密钥。如果设置为 no,则执行完全删除操作。
Q:– force 参数是必需的吗?
答案:否,--force 参数是可选的。如果未指定,系统将提示用户进行确认,然后再继续删除密钥。
问:– secondaryKmsKeyOCID 参数是否是必需的?
答:是,必须提供 --secondaryKmsKeyOCID 以标识要从配置中删除的特定辅助 HSM 密钥。
问:– dbname 参数是否是必需的?
答案:否,--dbname 参数是可选的。如果未指定,该命令将尝试从系统上的默认数据库中删除辅助 HSM 密钥。
问:如果我想要在没有任何用户提示的情况下删除辅助 HSM 密钥,该怎么办?
答:应使用 --force 参数绕过确认提示并直接删除辅助 HSM 密钥:
dbaascli tde removeSecondaryHsmKey --force --secondaryKmsKeyOCID <value>
问:我如何测试系统是否已准备好删除辅助 HSM 密钥而不实际将其删除?
答:您可以使用 --precheckOnly 参数设置为 yes 来执行预检查:
dbaascli tde removeSecondaryHsmKey --precheckOnly yes --secondaryKmsKeyOCID <value>
问:如果不使用– dbname 提供数据库名称,会发生什么情况?
答:如果未指定 --dbname 参数,该命令将尝试从系统上配置的默认数据库中删除辅助 HSM 密钥。
问:我应该如何检查该命令是否无法删除辅助 HSM 密钥?
A:确保:
-
您以
root用户身份运行该命令。 -
您已连接到 Oracle Base Database Cloud@Customer 虚拟机。
-
提供了正确的
--secondaryKmsKeyOCID和--dbname值。有关失败的更多详细信息,请查看错误消息和日志。
问:如果拆卸操作失败,我该怎么办?
答:如果操作失败,请查看错误日志并尝试使用 --precheckOnly 运行该命令,以确保系统已准备好执行该操作。如有必要,请在重试之前更正任何问题。
问:我是否可以在数据库运行时运行 dbaascli tde removeSecondaryHsmKey 命令?
答:是的,可以在数据库运行时执行该命令,因为它不需要停止数据库。
问:删除辅助 HSM 密钥的目的是什么?
答:删除辅助 HSM 密钥通常是在不再需要该密钥或要管理 TDE(Transparent Data Encryption,透明数据加密)配置中使用的加密密钥时完成的。
问:如何连接到 Oracle Base Database Cloud@Customer 虚拟机来运行该命令?
答:您可以使用 SSH 连接到虚拟机。有关建立安全连接的说明,请参阅 Oracle Base Database Cloud@Customer 文档。
示例:dbaascli tde removeSecondaryHsmKey
dbaascli tde removeSecondaryHsmKey --dbname dbname
dbaascli tde removeSecondaryHsmKey --dbname dbname --secondaryKmsKeyOCID ocid1.key.oc1.eu-frankfurt-1.bjqnwclvaafak.abtheljsgfxa2xe5prvlzdxtygoiqpm2pu2afgta54krxwllk5uxainvvxza
dbaascli tde removeSecondaryHsmKey --dbname dbname --secondaryKmsKeyOCID ocid1.key.oc1.eu-frankfurt-1.bjqnwclvaafak.abtheljsgfxa2xe5prvlzdxtygoiqpm2pu2afgta54krxwllk5uxainvvxza --executePrereqs
dbaascli tde rotateMasterKey
要轮换用于数据库加密的主密钥,请使用 dbaascli tde rotateMasterKey 命令。
先决条件:
以 root 用户身份运行该命令。
语法:
dbaascli tde rotateMasterKey --dbname <value>
[--rotateMasterKeyOnAllPDBs]
[--pdbName <value>]
[--executePrereqs]
[--resume [--sessionID <value>]]
{
[--prepareStandbyBlob <value> [--blobLocation <value>]]
| [--standbyBlobFromPrimary <value>]
}
参数:
| 参数 | 说明 |
|---|---|
--dbname |
指定 Oracle AI Database 的名称 |
--rotateMasterKeyOnAllPDBs |
指定 true 以轮换 CDB 中所有 PDB 的主密钥。有效值:true 或 false |
--pdbName |
指定 PDB 的名称 |
--executePrereqs |
运行前提条件检查并报告结果 |
--resume |
指定以恢复上一个执行 |
--sessionID |
指定以恢复特定会话 ID |
--prepareStandbyBlob |
指定 true 以生成 BLOB 文件,该文件包含在 Data Guard 环境中执行操作所需的构件 |
--blobLocation |
指定将在 Data Guard 环境中生成备用 BLOB 文件的定制目录的位置 |
--standbyBlobFromPrimary |
指定从主数据库准备的备用 BLOB 文件的位置。这仅对备用操作是必需的。 |
常见问题解答:
问:dbaascli tde rotateMasterKey 命令的用途是什么?
答案:dbaascli tde rotateMasterKey 命令用于轮换 Oracle AI Database 中用于透明数据加密 (Transparent Data Encryption,TDE) 的主密钥。此过程可确保更新加密密钥以提高安全性。
问:运行 dbaascli tde rotateMasterKey 命令有哪些先决条件?
A:您必须:
-
以
root用户身份运行该命令。 -
确保为 TDE 正确配置了数据库。
问:– dbname 参数指定什么内容?
答:--dbname 参数指定要轮换主加密密钥的 Oracle AI Database 的名称。
问:– rotateMasterKeyOnAllPDBs 参数的用途是什么?
答:--rotateMasterKeyOnAllPDBs 参数指定是否轮换容器数据库 (Container Database,CDB) 中所有可插入数据库 (Pluggable Databases,PDB) 的主密钥。有效值为 true 或 false。
问:– pdbName 参数的作用是什么?
答:如果要轮换特定 PDB(而非所有 PDB)的主密钥,则 --pdbName 参数指定特定可插入数据库 (Pluggable Database,PDB) 的名称。
问:– executePrereqs 参数的作用是什么?
答:--executePrereqs 参数运行先决条件检查,以验证环境是否已准备好进行主密钥轮换而不执行实际轮换。
问:– resume 参数指定的是什么?
答:--resume 参数用于恢复以前启动的操作。还可以使用 --sessionID 提供特定会话 ID 以恢复特定会话。
问:– prepareStandbyBlob 参数的用途是什么?
答案:--prepareStandbyBlob 参数(如果设置为 true)将生成 BLOB 文件,其中包含用于在 Data Guard 环境中执行主密钥轮换的必要构件。
问:– blobLocation 参数的作用是什么?
答:--blobLocation 参数指定将生成备用 BLOB 文件的定制目录路径。这在 --prepareStandbyBlob 设置为 true 时适用。
问:– standbyBlobFromPrimary 参数指定了什么?
答:--standbyBlobFromPrimary 参数指定从主数据库生成的备用 BLOB 文件的位置。在 Data Guard 环境中对备用数据库执行主密钥轮换时,使用此参数。
问:– rotateMasterKeyOnAllPDBs 参数是否是必需的?
答案:否,--rotateMasterKeyOnAllPDBs 参数是可选的。如果未指定主密钥,将仅为 --dbname 或 --pdbName 参数中提供的数据库(或特定 PDB)轮换主密钥。
问:如果要轮换 CDB 的密钥,是否需要– pdbName 参数?
答案:否,仅当要轮换特定可插入数据库 (Pluggable Database,PDB) 的主密钥时,才需要 --pdbName 参数。轮换整个 CDB 的密钥时,这是可选操作。
问:是否需要对独立数据库使用– prepareStandbyBlob 和– standbyBlobFromPrimary 参数?
答:不,这些参数仅在涉及备用数据库的 Data Guard 环境中相关。
问题:如何轮换 CDB 中所有 PDB 的主密钥?
答:应使用设置为 true 的 --rotateMasterKeyOnAllPDBs 参数轮换 CDB 中所有 PDB 的主密钥。例如:
dbaascli tde rotateMasterKey --dbname CDB_NAME --rotateMasterKeyOnAllPDBs true
问:如何运行检查以验证系统是否已准备好在不执行实际操作的情况下轮换主密钥?
答:可以使用 --executePrereqs 参数运行先决条件检查。这将报告可能阻止主密钥轮转的任何问题:
dbaascli tde rotateMasterKey --dbname DB_NAME --executePrereqs
问:如果操作中断,我想恢复该操作,我该怎么办?
答:可以使用 --resume 参数恢复以前中断的操作。如果您有会话 ID,请向其提供 --sessionID 参数:
dbaascli tde rotateMasterKey --dbname DB_NAME --resume --sessionID <value>
问:如何在 Data Guard 环境中为密钥轮换做好准备?
答:应使用 --prepareStandbyBlob 参数生成 BLOB 文件,该文件包含用于在备用环境中轮换主密钥的必需对象:
dbaascli tde rotateMasterKey --dbname DB_NAME --prepareStandbyBlob true --blobLocation /path/to/blob
问:在备用数据库上轮换密钥时,如何从主数据库应用备用 BLOB 文件?
答:使用 --standbyBlobFromPrimary 参数指定在主数据库上准备的 BLOB 文件的位置:
dbaascli tde rotateMasterKey --dbname DB_NAME --standbyBlobFromPrimary /path/to/blob
问:我应该如何检查主密钥轮换是否失败?
A:确保:
-
您以
root用户身份运行该命令。 -
数据库名称 (
--dbname) 正确。 -
已使用
--executePrereqs运行任何先决条件检查以确保就绪。有关失败的更多详细信息,请查看错误日志。
问:如果在 Data Guard 环境中操作未成功完成,我该怎么办?
答:确保使用 --prepareStandbyBlob 正确准备了主数据库中的 BLOB 文件,然后使用 --standbyBlobFromPrimary 将其应用于备用数据库。
问:我是否可以在数据库运行时运行 dbaascli tde rotateMasterKey 命令?
答:是的,可以在数据库运行时执行该命令。但是,建议使用 --executePrereqs 选项事先运行先决条件检查。
问:为什么轮换主密钥很重要?
答:轮换主密钥可确保定期更新用于数据保护的加密密钥,从而提高数据库安全性,从而降低密钥泄露的风险。
问:轮换主密钥后是否需要重新启动数据库?
答:不可以,轮转主密钥后不需要重新启动数据库。密钥轮换将立即生效,不会有任何服务中断。
dbaascli tde setKeyVersion
要设置要在 DB/CDB 或 PDB 中使用的主密钥的版本,请使用 dbaascli tde setKeyVersion 命令。
以 root 用户身份运行该命令。
语法:
dbaascli tde setKeyVersion --kmsKeyVersionOCID <value> --dbname <value>
[--pdbName <value>]
[--masterKeyID <value>]
[--standbySuc]
[--executePrereqs]
[--waitForCompletion <value>]
参数:
| 参数 | 说明 |
|---|---|
--kmsKeyVersionOCID |
指定要设置的 KMS 密钥版本 OCID。 |
--dbname |
指定数据库的名称。 |
--pdbName |
要使用密钥版本 OCID 的 PDB 名称。 |
--masterKeyID |
指定给定密钥版本 OCID 的主密钥 ID。这适用于 Data Guard 环境。 |
--standbySuc |
在备用数据库上成功运行命令后,在 Data Guard 环境中的主数据库中指定了此属性 |
--executePrereqs |
执行先决条件检查并报告结果。 |
--waitForCompletion |
指定 false 以在后台运行操作。有效值:true 或 false |
常见问题解答:
问:dbaascli tde setKeyVersion 命令的用途是什么?
答案:dbaascli tde setKeyVersion 命令用于设置应用于数据库或可插入数据库 (Pluggable Database,PDB) 中的透明数据加密 (Transparent Data Encryption,TDE) 的主加密密钥版本。这允许将 KMS 密钥的特定版本分配给数据库。
问:使用 dbaascli tde setKeyVersion 命令有哪些先决条件?
答:您必须以 root 用户身份运行该命令,并确保已连接到 Oracle Base Database Cloud@Customer 虚拟机。
问:– kmsKeyVersionOCID 参数指定了什么?
答:--kmsKeyVersionOCID 参数指定要为数据库或 PDB 设置的 KMS 密钥版本 OCID(Oracle Cloud 标识符)。
问:– dbname 参数指定什么内容?
答:--dbname 参数指定要为其设置密钥版本的 Oracle AI Database 的名称。
问:– pdbName 参数的用途是什么?
答:--pdbName 参数指定要在其中设置特定 KMS 密钥版本的容器数据库 (Container Database,CDB) 中可插入数据库 (Pluggable Database,PDB) 的名称。
问:– masterKeyID 参数用于什么?
答:--masterKeyID 参数指定与给定 KMS 密钥版本 OCID 关联的主密钥 ID。这在 Data Guard 环境中尤为重要。
问:– standbySuc 参数的作用是什么?
答:--standbySuc 参数用于 Data Guard 环境。它指定在备用数据库上成功运行命令后,应在主数据库上设置此属性。
问:– executePrereqs 参数的作用是什么?
答:--executePrereqs 参数指定是否在执行操作之前运行先决条件检查。有效值为 yes 或 no。
问:– waitForCompletion 参数控制什么?
答:--waitForCompletion 参数确定操作是同步运行(等待完成)还是异步运行(在后台)。有效值为 true 或 false。
问题:如果为 CDB 设置密钥版本,是否需要– pdbName 参数?
答:否。只有为特定可插入数据库 (Pluggable Database,PDB) 设置密钥版本时,才需要 --pdbName 参数。如果要为整个容器数据库 (Container Database,CDB) 设置密钥版本,则此选项是可选的。
问:– masterKeyID 参数对于非 Data Guard 环境是否必要?
答案:否。--masterKeyID 参数通常仅在 Data Guard 环境中使用。对于独立数据库,此参数不是必需的。
问:如何为数据库设置密钥版本?
答:您可以通过运行以下命令来设置数据库的密钥版本:
dbaascli tde setKeyVersion --kmsKeyVersionOCID <value> --dbname <DB_NAME>
问:如何为特定 PDB 设置密钥版本?
答:要设置特定可插入数据库 (Pluggable Database,PDB) 的密钥版本,请使用 --pdbName 参数以及数据库名称:
dbaascli tde setKeyVersion --kmsKeyVersionOCID <value> --dbname <DB_NAME> --pdbName <PDB_NAME>
问:在设置密钥版本之前,如何确保满足所有先决条件?
答:您可以使用 --executePrereqs 参数运行先决条件检查:
dbaascli tde setKeyVersion --kmsKeyVersionOCID <value> --executePrereqs yes
问:如何在 Data Guard 环境中设置密钥版本?
答案:在 Data Guard 环境中,应:
-
在备用数据库上运行以下命令:
dbaascli tde setKeyVersion --kmsKeyVersionOCID <value> --masterKeyID <keyID> --dbname <DB_NAME> -
在备用数据库上成功运行该命令后,使用
--standbySuc参数在主数据库上运行该命令:dbaascli tde setKeyVersion --kmsKeyVersionOCID <value> --dbname <DB_NAME> --standbySuc yes
问:如何在后台运行该操作而无需等待其完成?
答:您可以通过将 --waitForCompletion 设置为 false 来异步运行该操作:
dbaascli tde setKeyVersion --kmsKeyVersionOCID <value> --waitForCompletion false
问:如果密钥版本设置失败,我该怎么办?
A:确保:
-
您以
root用户身份运行该命令。 -
KMS 密钥版本 OCID 正确。
-
已使用
--executePrereqs运行任何先决条件检查以确保就绪。有关特定详细信息,请查看错误日志,并根据需要重新运行操作。
问:我应该如何检查操作在 Data Guard 环境中是否未成功完成?
答:确保在备用数据库上运行命令时正确指定了 --masterKeyID 参数。在备用数据库上完成后,在主数据库上运行命令时应使用 --standbySuc 参数。
问:我是否可以在数据库运行时运行 dbaascli tde setKeyVersion 命令?
答:是的,可以在数据库运行时执行该命令。但是,建议事先使用 --executePrereqs 运行先决条件检查。
问:为什么为数据库设置正确的 KMS 密钥版本很重要?
答:设置正确的 KMS 密钥版本可确保数据库使用 TDE 的相应加密密钥版本,这有助于维护数据安全并符合组织策略。
问:如果使用错误的 KMS 密钥版本 OCID,会发生什么情况?
答:如果使用的 KMS 密钥版本 OCID 不正确,则加密可能会失败,并且数据库将无法将不正确的密钥用于加密操作。您应确保提供的密钥版本 OCID 正确。
问:设置密钥版本后,是否需要重新启动数据库?
答:不可以,在设置密钥版本后无需重新启动数据库。新密钥版本将立即生效,无需重新启动。
示例:dbaascli tde setKeyVersion
dbaascli tde setKeyVersion --dbname dbname --kmsKeyVersionOCID ocid1.keyversion.oc1.eu-frankfurt-1.bjqnwclvaafak.bc4hmd3olgaaa.abtheljsyxtgn4vzi2bbpcej6a7abcwvylkd2lx56lu2s6iwnxwgigu23nha
dbaascli tde setKeyVersion --dbname dbname --kmsKeyVersionOCID ocid1.keyversion.oc1.eu-frankfurt-1.bjqnwclvaafak.bc4hmd3olgaaa.abtheljsyxtgn4vzi2bbpcej6a7abcwvylkd2lx56lu2s6iwnxwgigu23nha --executePrereqs
dbaascli tde setKeyVersion --dbname dbname --pdbName pdb --kmsKeyVersionOCID ocid1.keyversion.oc1.eu-frankfurt-1.bjqnwclvaafak.bc4hmd3olgaaa.abtheljsyxtgn4vzi2bbpcej6a7abcwvylkd2lx56lu2s6iwnxwgigu23nha
dbaascli tde setPrimaryHsmKey
要更改现有 HSM (KMS) 配置的主 HSM (KMS) 密钥,请使用 dbaascli tde setPrimaryHsmKey 命令。
以 root 用户身份运行该命令。
语法:
dbaascli tde setPrimaryHsmKey --primaryKmsKeyOCID <value> --dbname <value>
[--allStandbyPrepared]
[--bounceDatabase]
[--executePrereqs]
[--resume [--sessionID <value>]]
参数:
| 参数 | 说明 |
|---|---|
--primaryKmsKeyOCID |
指定要设置的主 KMS 密钥 |
--dbname |
指定数据库的名称 |
--allStandbyPrepared |
指定此项以确认操作已在所有备用数据库上成功运行。 |
--bounceDatabase |
指定此标志以对此操作执行滚动数据库退回 |
--executePrereqs |
执行先决条件检查并报告结果。 |
--resume |
恢复上一个执行 |
--sessionID |
恢复特定的会话 ID。 |
常见问题解答:
问:dbaascli tde setPrimaryHsmKey 命令的用途是什么?
答案:dbaascli tde setPrimaryHsmKey 命令用于更改透明数据加密 (Transparent Data Encryption,TDE) 的现有 HSM/KMS 配置中的主 HSM(Hardware Security Module,硬件安全模块)或 KMS(Key Management Service,密钥管理服务)密钥。
问:运行 dbaascli tde setPrimaryHsmKey 命令有哪些先决条件?
答:该命令必须以 root 用户身份执行,环境应为 Oracle Base Database Cloud@Customer 虚拟机。
问:– primaryKmsKeyOCID 参数指定了什么?
答:--primaryKmsKeyOCID 参数指定要为 TDE 环境设置的主 KMS 密钥的 OCID(Oracle Cloud 标识符)。
问:– dbname 参数的功能是什么?
答:--dbname 参数指定要为其设置主 HSM/KMS 密钥的 Oracle AI Database 的名称。
问:– standbySuc 参数的作用是什么?
答:--standbySuc 参数用于 Data Guard 环境。它指定在备用数据库上成功执行命令后,应在主数据库上运行该命令。
问:– precheckOnly 参数的用途是什么?
答:--precheckOnly 参数允许您仅运行此操作的预检查。它在不进行任何实际更改的情况下验证环境。有效值为 yes 或 no。
问:– bounceDatabase 参数控制什么?
答:--bounceDatabase 参数指定是否应在操作过程中以滚动方式退回(重新启动)数据库。这样可以逐个重新启动部分数据库,从而确保最短的停机时间。
问:如何为数据库设置主 KMS 密钥?
答:要设置主 KMS 密钥,请运行以下命令:
dbaascli tde setPrimaryHsmKey --primaryKmsKeyOCID <key_OCID> --dbname <DB_NAME>
问:如何确保操作可以在没有任何问题的情况下执行?
答:使用 --precheckOnly 参数运行该操作以验证是否满足所有先决条件:
dbaascli tde setPrimaryHsmKey --primaryKmsKeyOCID <key_OCID> --precheckOnly yes
问:如何在 Data Guard 环境中设置主 KMS 密钥?
答:首先,在备用数据库上运行该命令:
dbaascli tde setPrimaryHsmKey --primaryKmsKeyOCID <key_OCID> --dbname <DB_NAME>
然后,在主数据库上使用 --standbySuc 参数运行该命令:
dbaascli tde setPrimaryHsmKey --primaryKmsKeyOCID <key_OCID> --dbname <DB_NAME> --standbySuc yes
问:如何在更改主 KMS 密钥时最大限度地减少停机时间?
答:您可以使用 --bounceDatabase 参数执行滚动重新启动,从而最大限度地减少停机时间:
dbaascli tde setPrimaryHsmKey --primaryKmsKeyOCID <key_OCID> --bounceDatabase
问:是否需要为所有数据库提供– dbname 参数?
答:是,应指定 --dbname 参数以指示应为其设置主 KMS 密钥的目标数据库。
问:在 Data Guard 环境中是否必须使用– standbySuc 参数?
答:是的,在主数据库上成功执行 --standbySuc 参数后,必须在主数据库上运行该命令时使用该参数。
问:是否可以跳过数据库的退回操作?
答:是的,如果不指定 --bounceDatabase 参数,则不会在操作过程中退回(重新启动)数据库。
问:如果命令在执行期间失败,我该怎么办?
答:如果命令失败,请确保:
-
您以
root用户的身份运行它。 -
提供了正确的
--primaryKmsKeyOCID和--dbname值。 -
环境将通过所有先决条件检查(使用
--precheckOnly运行)。
问:如果在 Data Guard 环境中操作失败,该怎么办?
答:在主数据库上运行该命令之前,请确保已在备用数据库上成功执行该命令。检查日志中的错误并使用正确的参数重新运行操作。
问:我是否可以在实时数据库上运行 dbaascli tde setPrimaryHsmKey 命令?
答:是的,可以在数据库处于活动状态时运行该命令。但是,使用 --bounceDatabase 参数将以滚动方式重新启动数据库,从而最大限度地减少影响。
问:如何以滚动方式运行该命令以避免完全停机?
答:使用 --bounceDatabase 参数在更改主 KMS 密钥时对数据库执行滚动重新启动:
dbaascli tde setPrimaryHsmKey --primaryKmsKeyOCID <key_OCID> --bounceDatabase
问:更改主 KMS 密钥的意义是什么?
答:更改主 KMS 密钥可确保数据库使用更新的加密密钥或其他加密密钥进行透明数据加密 (Transparent Data Encryption,TDE)。出于安全或合规原因,这可能是必需的。
问:主 KMS 密钥的轮换或更改频率如何?
答:虽然没有严格的规则,但组织可以根据安全策略(例如密钥轮换间隔或合规性要求)轮换主 KMS 密钥。
问:如果主 KMS 密钥设置不正确,会发生什么情况?
答:如果设置了不正确的密钥 OCID,则数据库加密操作可能会失败,您可能需要恢复为正确的密钥或通过设置正确的 KMS 密钥 OCID 来纠正配置。
问:更改主 KMS 密钥后是否需要重新启动数据库?
答案:否,您不需要重新启动数据库,除非选择使用 --bounceDatabase 参数,该参数将自动重新启动数据库以应用更改。
示例:dbaascli tde setPrimaryHsmKey
dbaascli tde setPrimaryHsmKey --dbname dbname --primaryKmsKeyOCID ocid1.key.oc1.eu-frankfurt-1.bjqnwclvaafak.abtheljsgfxa2xe5prvlzdxtygoiqpm2pu2afgta54krxwllk5uxainvvxza
dbaascli tde setPrimaryHsmKey --dbname dbname --primaryKmsKeyOCID ocid1.key.oc1.eu-frankfurt-1.bjqnwclvaafak.abtheljsgfxa2xe5prvlzdxtygoiqpm2pu2afgta54krxwllk5uxainvvxza --executePrereqs
dbaascli tde 状态
要显示有关指定数据库的密钥库的信息,请使用 dbaascli tde status 命令。
先决条件:
以 oracle 用户身份运行该命令。
语法:
dbaascli tde status --dbname dbname
参数:
| 参数 | 说明 |
|---|---|
--dbname |
指定要检查的数据库名称。 |
命令的输出包括密钥库的类型和密钥库的状态。
常见问题解答:
问:dbaascli tde status 命令的作用是什么?
答案:dbaascli tde status 命令显示有关指定数据库的密钥库的信息。这包括有关密钥库的类型及其状态的详细信息。
问:谁应该运行 dbaascli tde status 命令?
答:该命令必须以 oracle 用户身份执行。
问:应该在何处运行 dbaascli tde status 命令?
答:该命令应在 Oracle Base Database Cloud@Customer 虚拟机上运行。您必须通过 SSH 连接到虚拟机才能运行该实用程序。
问:– dbname 参数的功能是什么?
答:--dbname 参数指定要为其检查 TDE 密钥库状态的数据库的名称。
问:dbaascli tde status 命令返回什么信息?
答:该命令的输出包括密钥库的类型(例如,基于 HSM 或基于文件)和密钥库的当前状态,例如密钥库是打开的、关闭的还是处于某个其他状态。
问:如何使用 dbaascli tde status 命令确定密钥库是打开的还是关闭的?
答:密钥库的状态(包括密钥库是打开的还是关闭的)是 dbaascli tde status 命令返回的输出的一部分。
问:如何检查特定数据库的 TDE 密钥库的状态?
答:要检查特定数据库的 TDE 密钥库状态,请运行:
dbaascli tde status --dbname <DB_NAME>
问题:是否可以检查多个数据库的密钥库状态?
答:是的,但是您需要为每个数据库单独运行该命令,并使用 --dbname 参数指定其名称。
问:dbaascli tde status 命令是否可以以 root 用户身份运行?
答:不,该命令应以 oracle 用户(而不是 root 用户)身份执行。
问:运行 dbaascli tde status 命令是否需要特殊权限?
答:是的,您需要拥有 oracle 用户权限并连接到 Oracle Base Database Cloud@Customer 虚拟机才能运行该命令。
问:如果在运行 dbaascli tde status 命令时收到错误,我该怎么办?
答:请确保以 oracle 用户身份运行该命令,并确认您具有必要的权限并已连接到正确的虚拟机。
问:我如何知道数据库使用的是哪种类型的密钥库?
答:密钥库的类型(例如,它是基于文件的密钥库还是基于 HSM/KMS 的密钥库)将显示在 dbaascli tde status 命令的输出中。
问:如果密钥库关闭,我该怎么办?
答:如果密钥库已关闭,则可能需要手动将其打开,具体取决于您尝试执行的操作。确切的过程将取决于密钥库类型和您的环境。
问题:是否可以查看 CDB(容器数据库)或 PDB(可插入数据库)的密钥库状态?
答:是的,通过使用 --dbname 参数指定适当的数据库名称,可以查看 CDB 和 PDB 的密钥库状态。
问:如果该命令返回有关数据库连接的错误,意味着什么?
答:这可能表明与数据库的连接有问题,或者您的环境有问题。确保数据库正在运行且可访问,并验证与 Oracle Base Database Cloud@Customer 虚拟机的 SSH 连接。
问:如果数据库名称不正确会发生什么情况?
答:如果 --dbname 参数指定了不正确或不存在的数据库,该命令将失败,您将收到一条错误消息,指示问题。
问题:如果密钥库状态指示意外状态,如何进行故障排除?
答:如果密钥库状态指示意外状态,请查看数据库日志了解更多详细信息,并检查密钥库的配置以确保正确设置了密钥库。
问:我是否可以自动检查密钥库状态以进行监视?
答:是的,您可以编写 dbaascli tde status 命令的脚本来定期检查密钥库状态,或者将其集成到数据库监视工具中。
问:如何验证透明数据加密 (Transparent Data Encryption,TDE) 是否正确启用?
答:您可以通过使用 dbaascli tde status 命令检查密钥库的状态来验证 TDE 是否已正确启用。有效且打开的密钥库指示 TDE 已正确配置。
示例:dbaascli tde 状态
dbaascli tde status --dbname dbname