C.1 エラー: ORA-28374: 入力されたマスター・キーが見つかりません
キーが欠落しているか正しくないと、データベースで「ORA- 28374: 入力したスター・キーがウォレットに見つかりません」というエラーが発生することがあります。暗号化された表領域またはREDOログへのアクセスにはマスター・キーが必要であるため、マスター・キーが欠落しているとデータベースの可用性に影響を与える可能性があります。
このエラーを解決するには、次の手順を実行します。
- 欠落しているキーを特定します:
- 非RACデータベースでは、次のコマンドを実行します:
select MASTERKEYID as REQUIRED_KEYS from v$encrypted_tablespaces MINUS select HEXTORAW(substr(utl_encode.base64_decode(utl_raw.cast_to_raw(enckeys.key_id)), 3,32)) as AVAILABLE_KEYS from v$encryption_keys enckeys; - RACデータベースでは、次のコマンドを実行します:
select inst_id, MASTERKEYID as REQUIRED_KEYS from gv$encrypted_tablespaces MINUS select inst_id, HEXTORAW(substr(utl_encode.base64_decode(utl_raw.cast_to_raw(enckeys.key_id)), 3,32)) as AVAILABLE_KEYS from gv$encryption_keys enckeys;
出力は次のようになります:REQUIRED_KEYS -------------------------------- 4859998402964F35BFF830640BE7E384これは、欠落しているキーのキーIDを示します。行が返されない場合、データベースには必要なすべてのキーがあります。
- 非RACデータベースでは、次のコマンドを実行します:
- TDEキーが格納されているウォレット・パスを識別します。
select WRL_TYPE, WRL_PARAMETER from v$encryption_wallet;出力は次のようになります:WRL_TYPE WRL_PARAMETER -------------------------------------------------- FILE. /scratch/user/master23ai/tde/ - 現在のウォレットおよびバックアップされているウォレットのすべてから
orapkiユーティリティを実行して、欠落しているキーを確認します。orapki wallet display -wallet <wallet-file><wallet-file>は、前のステップのコマンドの結果です。
このコマンドは、
.ssoファイルと.p12ファイルの両方に対して実行する必要があります。たとえば、
/scratch/user/master23ai/tde/ewallet.p12、/scratch/user/master23ai/tde/cwallet.ssoおよび/scratch/user/master23aibkp/ewallet_2025032607100793.p12(バックアップ・ファイル)をすべてチェックする必要があります。出力は次のようになります:orapki wallet display -wallet /scratch/user/master23aibkp/ewallet_2025032607100793.p12 Oracle PKI Tool Release 23.0.0.0.0 - Production Version 23.0.0.0.0 Copyright (c) 2004, 2025, Oracle and/or its affiliates. All rights reserved. Enter wallet password: Requested Certificates: Subject: CN=oracle User Certificates: Oracle Secret Store entries: ORACLE.SECURITY.DB.ENCRYPTION.AUhZmYQClk81v/gwZAvn44QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ORACLE.SECURITY.ID.ENCRYPTION. ORACLE.SECURITY.KB.ENCRYPTION. ORACLE.SECURITY.KM.ENCRYPTION.AUhZmYQClk81v/gwZAvn44QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Trusted Certificates: - ステップ1の欠落しているキーをベース64形式に変換します。
select utl_raw.cast_to_varchar2(utl_encode.base64_encode('01'||substr('<key from step 1>',1,4)))|| utl_raw.cast_to_varchar2(utl_encode.base64_encode(substr('<key from step 1>',5,length('<key from step 1>')))) masterkeyid_base64 FROM dual;出力は次のようになります。MASTERKEYID_BASE64 -------------------------------------------------------------------------------- AUhZmYQClk81v/gwZAvn44Q= - ステップ4の出力とステップ3の出力の
Oracle Secret Store entries:セクションの内容を比較して、キーが欠落しているファイルを特定します。この例では、欠落しているキーが
ewallet_2025032607100793.p12バックアップ・ファイルの1つにあります。 - 変更する前に、現在の
ewallet.p12およびcwallet.ssoのバックアップを取得します。 - 欠落しているキーを現在のキーストアにマージします。
ADMINISTER KEY MANAGEMENT MERGE KEYSTORE '<keystore_location1>' [IDENTIFIED BY <keystore1_password>] INTO EXISTING KEYSTORE '<keystore_location2>' IDENTIFIED BY <keystore2_password> WITH BACKUP [USING '<backup_identifier>']; orapkiユーティリティを実行して、マージが成功したことを確認します。orapki wallet display -wallet <wallet-file>ウォレットがASMファイル・システムに格納されている場合、orapkiまたはmkstoreユーティリティを直接使用することはできません。かわりに、非ASMの場所に一時ウォレットを作成し、orapkiを使用してウォレットの内容を表示する必要があります。- キーストアをローカルに作成します:
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '<non_ASM_keystore_location>' IDENTIFIED BY <new_keystore_password>; - AKM移行コマンドを使用して、ASMパスからウォレットをコピーし、ローカル・キーストアを作成し、
orapkiまたはmkstoreを使用してウォレットを検証します:ADMINISTER KEY MANAGEMENT MERGE KEYSTORE '<keystore1_location>' [IDENTIFIED BY <software_keystore1_password>] INTO NEW KEYSTORE '<non_ASM_keystore_location>' IDENTIFIED BY <new_keystore_password> WITH BACKUP [USING '<backup_identifier>'];
- キーストアをローカルに作成します:
- Oracle Key Vaultで欠落しているTDEマスター・キーの検索
- クラウドネイティブ・キー・マネージャで欠落しているTDEマスター・キーの検索
クラウド・ベンダーのキー管理サポート・グループを確認してください。 - サード・パーティ・キー・マネージャで欠落しているTDEマスター・キーの検索
キー管理ベンダーに確認してください。
関連トピック
親トピック: TDEのトラブルシューティング