C.3 okvutilおよびエンドポイントの問題

エンドポイント・ヘルス・チェック・ユーティリティを実行してエンドポイント関連の問題をトリアージする方法を学習します

C.3.1 データベース・ウォレットのステータスがオープンでないか、見つからない。TDE HEARTBEATチェックに失敗した

Oracle Key Vaultのデータベース・ウォレットのステータスがクローズされています。データベース・ウォレットをオープンしようとすると失敗し、エラーORA-28365、ORA-28407またはHSMハートビート・チェックの失敗エラーが発生します。

1. エンドポイントDBでキーストアのオープンに失敗しました


SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY
"*";
 ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "*"
*
ERROR at line 1:
ORA-28365: wallet is not open
2. エンドポイントDBのv$encryptionキーからのキーのフェッチに失敗しました。
SQL> SELECT KEY_ID value FROM V$ENCRYPTION_KEYS;
*
ERROR at line 1:
ORA-28407: Hardware Security Module failed with PKCS#11 error
CKR_GENERAL_ERROR(5)
3. エンドポイントDBでキー・ストアをオープンできませんでした。
administer key management set keystore open identified by “*”;
*
ERROR at line 1:
ORA-28353: failed to open wallet

4. エンドポイントDBアラート・ログに、次のエラー・メッセージが表示されます:

HSM connection lost, closing wallet
kzthsmcc1: HSM heartbeat check failed 

考えられる原因1

エンドポイントDBがWALLET_ROOT構成を使用しません。これは、環境変数ORACLE_BASE、ORACLE_HOME、ORACLE_SID、OKV_HOME、およびJAVA_HOMEが設定されていない場合に発生する可能性があります。

解決策

  1. Oracle RAC環境の場合は、環境変数ORACLE_BASE、ORACLE_HOME、ORACLE_SID、OKV_HOMEおよびJAVA_HOMEが構成で設定されているかどうかを確認します。
    1. 変数が設定されていない場合は、srvctl環境を使用して設定します。
      srvctl setenv database -db db_unique_name -t "ORACLE_UNQNAME=db_unique_name, ORACLE_BASE=/u01/opt/oracle"
    2. srvctlコマンドを使用して、データベース・インスタンスを再起動できます。
      srvctl getenv database -db db_unique_name
  2. RMANバックアップ用のサードパーティ・スクリプトの実行時にエラーが発生した場合は、ORACLE_BASE、ORACLE_HOME、ORACLE_SID、OKV_HOMEおよびJAVA_HOME環境変数がスクリプトにエクスポートされているかどうかを確認します。また、スクリプトを実行しているユーザーがプロファイルに環境変数を設定しているかどうかも確認します。
  3. 環境変数が設定されていない場合は、ユーザー・プロファイルとスクリプトで変数を設定してから、バックアップを実行します。
  4. エンドポイントのヘルス・チェック・ユーティリティによって、環境変数がgen0環境に設定されていないことが報告された場合、コマンド・ラインを使用して変数を設定し、データベースを再起動します。
    1. SYSDBAユーザーとしてSQLPLUSにログインし、データベースを停止します。
      ./sqlplus sys / as sysdba 
      
      shutdown immediate
    2. SQLPLUSを終了し、データベース・サービスを再起動します。
      su - oracle
      snrctl start
    3. SQLPLUSにログインし、データベースを起動します。
      startup
  5. 問題が解決したかどうかを確認します。

考えられる原因2

Oracle Key VaultサーバーのKMIPサービスを使用できません。

解決策

  1. Oracle Key Vaultサーバーがキーを正常にリストできるかどうかを確認します。
    $OKV_HOME/bin/okvutil list -v 4
  2. キーがリストされない場合は、Oracle Key Vault管理コンソールにアクセスして、Oracle Key Vaultサーバーの可用性を確認します。
  3. Oracle Key Vaultサーバーが稼働している場合は、次のいずれかの方法を使用してKMIPサービスのステータスを確認します。
    • エンドポイントDBサーバーでRESTサービス・ユーティリティが構成されている場合は、RESTサービス・コマンドokv status getを使用してサーバー情報を取得し、KMIPサービスのステータスを確認します。
    • SNMPモニタリングが構成されている場合は、SNMPモニタリングを使用してKMIPサービスのステータスを検索します。
    • システム管理者としてOracle Key Vault管理コンソールにログインします。Oracle Key Vaultのホーム・ページで、アラートのstop respondingプロセス・アラートがあるかどうかを確認します。
    • システム管理者としてOracle Key Vault管理コンソールにログインします。「System」、「Status」ページに移動し、KMIPサービスのステータスを確認します。
  4. KMIPサービスのステータスが停止している場合は、KMIPサービスを再起動します。
    1. supportユーザーとしてSSHを使用してOracle Key Vaultサーバーにログインし、rootユーザーに切り替えます。
      $ ssh support@okv_server_IP_address 
      $ su - root
    2. 次のコマンドを実行して、KMIPプロセスのステータスを確認します。
      ps -eaf | grep kmip
    3. KMIPプロセスが実行されていない場合は、KMIPサービスを再起動します。
      systemctl restart kmip
    4. KMIPプロセスのステータスを確認します。
      ps -eaf | grep kmip 
    5. エンドポイントDBサーバーで、okvutilでキーがリストされるかどうかを確認します。
      OKV_HOME/bin/okvutil list -v 4
    6. 問題が解決したかどうかを確認します。
  5. KMIPサービスのステータスが稼働中の場合、エンドポイントDBサーバーから次のコマンドを実行します。
    curl -v telnet://OKV_SERVER_IP:5696
  6. このコマンドがOracle Key Vaultサーバーに接続しない場合は、ネットワーク管理者に連絡して、ポート5696がオープンしていることを確認します。オープンしていない場合は、ポート5696を確実にオープンします。
  7. 問題が解決したかどうかを確認します。

考えられる原因3

okvclient.oraへのシンボリック・リンクが存在しないか、正しくない構成を指しています。

解決策

次のステップを実行します。

  1. エンドポイントDBサーバーで、okvclient.oraのシンボリック・リンクが存在するかどうかを確認します。
    cd $ORACLE_BASE/okv/$ORACLE_SID 
    ls -ltr okvclient.ora
    または
    cd $ORACLE_HOME/okv/$ORACLE_SID 
    ls -ltr okvclient.ora
    コマンド出力には、okvclient.oraシンボリック・リンク情報(存在する場合)が含まれる必要があります。たとえば:
    lrwxrwxrwx 1 oracle oinstall 64 Aug 3 2020 okvclient.ora -> /u02/app/oracle/okv/conf/okvclient.ora.
  2. okvclient.oraシンボリック・リンクが存在しないか、$OKV_HOME/conf以外のパスを指している場合は、シンボリック・リンクを修正するか、Oracle Key Vaultクライアントを再インストールします。「エンドポイント・データベースでエンドポイントを再登録する方法」を参照してください。
  3. okvclient.oraが存在し、$OKV_HOME/confを指していることを確認します。
  4. 問題が解決したかどうかを確認します。

考えられる原因4

自動ログイン・ウォレットが正しく構成されていません。

解決策

次のステップを実行します。

  1. エンドポイントDBに接続し、次のSQL問合せを実行して、ウォレットのステータスを確認します。
    select * from v$encryption_wallet
  2. Oracle Databases 12c以前の場合:

    自動ログインが構成され、OKV/HSMのウォレットがオープンしておらず、FILEがオープンしている場合は、自動ログイン・ウォレットの場所がsqlnet.oraファイルに設定されているかどうかを確認します。そうでない場合は、場所を設定し、データベースを再起動します(停止時間が必要です)。問題が解決したかどうかを確認します

    Oracleデータベース12.1.0.2以前の場合、sqlnet.oraエントリは次のようになります。

    ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=HSM)(METHOD_DATA=(DIRECTORY=/home/oracle/wallet_okv)))

    12.2.0.1以上では、sqlnet.oraエントリは次のようになります。

    ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=OKV)(METHOD_DATA=(DIRECTORY=/home/oracle/wallet_okv)))
  3. Oracle Database18c以上の場合:

    WALLET_ROOTが構成されている場合は、自動ログイン・ウォレットがWALLET_ROOT_directory/tdeディレクトリの下に存在し、Oracle Key Vaultエンドポイント・ソフトウェアのインストールがWALLET_ROOT_directory/okvディレクトリの下にある必要があります。いずれかが存在しない場合は、これに対処するために必要な構成変更を適用します。

  4. 問題が解決したかどうかを確認します。

考えられる原因5

エンドポイント・データベースにデフォルトのウォレットが正しく構成されていません。

解決策

デフォルトのウォレットがエンドポイントに割り当てられているかどうかを確認します。

  1. キー管理者ユーザーとしてOracle Key Vault管理コンソールにログインします。
  2. 最新のキーがウォレットに追加されているかどうかを確認します。「Keys & Secrets」ページに移動し、キーを「Creation Date」別に降順でソートします。

    1. その特定のエンドポイントから作成された最新のキーである「Creating Endpoint」がウォレットに割り当てられているかどうかを確認します。
    2. このキーがどのウォレットにも割り当てられていない場合は、鉛筆アイコンをクリックしてキーを編集します。

    3. 編集ページで、「Add Wallet Membership」をクリックし、エンドポイントに割り当てられているウォレットを選択して保存します。

    4. 「Keys & Secrets」ページを再度表示して、キーにウォレット・メンバーシップがあるかどうかを確認します。
  3. 「endpoints」ページに移動します。
  4. エンドポイントを検索し、エンドポイント名をクリックします。
  5. デフォルトのウォレット設定を確認します。デフォルトのウォレットが割り当てられていない場合は、「Choose Wallet」をクリックして目的のウォレットを選択します。
  6. 「Save」をクリックします。

  7. エンドポイント編集ページを再表示して、デフォルトのウォレットが正しく割り当てられているかどうかを確認します。
  8. 「Access to Wallets」セクションでエンドポイントにウォレットへのREAD/MODIFYおよびMANAGE権限があるかどうかを確認します。
  9. 確認後、エンドポイントを再登録し、OKV_HOMEパスにあるエンドポイントDBサーバーに新しいokvclient.jarをインストールします。「エンドポイント・データベースでエンドポイントを再登録する方法」を参照してください。
  10. 問題が解決したかどうかを確認します。

C.3.2 Oracle Key Vaultサーバーの通信または接続の失敗エラー

okvutilを使用してデータをフェッチしようとするとき、またはokvclient.jarをインストールするときに、Oracle Key Vaultにサーバー通信または接続の失敗エラーが表示されます。

エンドポイント・サーバーでokvutilリストを実行すると、次のエラーが返されます:

1.
bash$ ./okvutil list
Enter Oracle Key Vault endpoint password:
Error: Server Communication Error

2.
bash$ ./okvutil list
Enter Oracle Key Vault endpoint password:
Error: Server Connect Failed

考えられる原因1

エンドポイントDBとOracle Key Vaultサーバーの間でポート5696がブロックされています。

解決策

  1. Oracle Key Vaultサーバーへのエンドポイント接続を確認します。
    $OKV_HOME/bin/okvutil list -v 4
  2. Oracle Key Vaultサーバーへのエンドポイント接続が失敗した場合は、ポート5696がオープンしているかどうかを確認します。
    curl -v telnet://OKV_SERVER_IP:5696
  3. 前述のコマンドがOracle Key Vaultサーバーに接続しない場合は、ネットワーク管理者に連絡して、ポート5696がオープンしていることを確認します。オープンしていない場合は、ポート5696を確実にオープンします。
  4. 問題が解決したかどうかを確認します。

考えられる原因2

okvclient.oraのファイル所有権が正しくありません。

解決策

  1. okvclient.oraファイルのファイル所有権を確認します。
    ls -l $OKV_HOME/conf/okvclient.ora
  2. okvclient.ora所有権が予想とは異なるユーザーに設定されている場合、ファイル所有権を正しいユーザーにリセットします。okvutilまたはその他のエンドポイント・ソフトウェアが意図しないユーザー(たとえば、root)で実行された場合、okvclient.oraファイルの所有権が変更されている可能性があります。
  3. 問題が解決したかどうかを確認します。

考えられる原因3

Oracle Key Vaultサーバー、CAまたはエンドポイントの証明書が期限切れです。

解決策

  1. エンドポイント証明書が期限切れかどうかを確認します。
    1. システム管理者ロールまたは権限を持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
    2. 「Endpoints」タブに移動し、エンドポイントを検索します。「Endpoint Certificate Expiration Date」列の有効期限を確認します。Oracle Key Vaultのホーム・ページで、エンドポイント証明書の有効期限アラートを確認することもできます。
    3. エンドポイント証明書が期限切れの場合は、エンドポイントを選択して再登録します。「エンドポイント・データベースでエンドポイントを再登録する方法」を参照してください。
    4. 問題が解決したかどうかを確認します。
  2. Oracle Key Vaultサーバーまたはノードの証明書が期限切れかどうかを確認します。
    1. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
    2. サーバーまたはノード証明書の有効期限ステータスを確認するには、「System」、「Status」の順に移動し、「Node Certificate Expiration Date」を確認します。Oracle Key Vaultのホーム・ページで、サーバーまたはノード証明書の有効期限アラートを確認することもできます。
    3. サーバー証明書が期限切れになった場合は、再生成します。「System」に移動し、「Settings」をクリックします。
    4. 「Service Certificates」に移動し、「Manage Server or Node Certificate」を選択して新しいサーバー証明書を再生成します。
  3. Oracle Key Vault CA証明書が期限切れかどうかを確認します。
    1. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
    2. CA証明書の有効期限ステータスを確認するには、「System」「Status」の順にナビゲートし、「CA Certificate Expiration Date」を確認します。Oracle Key Vaultのホーム・ページで、CA証明書の有効期限アラートを確認することもできます。
    3. Oracle Key Vault CA証明書の有効期限が切れている場合は、CA証明書を手動でリカバリして再生成する必要があります。21.5以降で有効期限が切れた場合、その方法の詳細は、17.6項「Oracle Key Vault CA証明書の管理」を参照してください。Oracle Key Vault 21.4以前の場合、Oracleサポートに連絡してください。
  4. 問題が解決したかどうかを確認します。

考えられる原因4

okvclient.oraSSL_WALLET_LOCが不正な場所に設定されています。

解決策

  1. エンドポイント証明書のローテーションでは、新しいエンドポイント証明書が$OKV_HOME/sslの下の新しいディレクトリに置かれ、SSL_WALLET_LOCがこの新しいディレクトリを指すように変更されます。

    $OKV_HOME/sslの下で作成された最新のディレクトリをSSL_WALLET_LOCが指しているかどうかを確認します。

  2. $OKV_HOME/confディレクトリに移動し、okvclient.oraを開き、$OKV_HOME/sslの下で作成された最新のディレクトリをSSL_WALLET_LOCが指しているかどうかを確認します。
  3. そうでない場合は、SSL_WALLET_LOC設定を適切に変更し、okvclient.oraを保存します。
  4. 問題が解決したかどうかを確認します。

考えられる原因5

エンドポイントの再登録中に、空のディレクトリにエンドポイント・ソフトウェアをインストールするのではなく、Oracle Key Vaultエンドポイント・ソフトウェアがインプレースでアップグレードされました。

解決策

  1. エンドポイントの再登録時に、新しいokvclient.jarをインストールする前に既存の$OKV_HOMEディレクトリが削除されていない場合、インストール・プロセスではエンドポイント・ソフトウェアのみがアップグレードされます。このような場合、エンドポイント証明書およびokvclient.oraファイルは更新されません。「エンドポイント・データベースでエンドポイントを再登録する方法」を参照してください。
  2. 問題が解決したかどうかを確認します。

考えられる原因6

Oracle Key VaultサーバーのKMIPサービスを使用できません。

解決策

  1. 次のコマンドを実行して、キーを正常にリストできるかどうかを確認します。
    $OKV_HOME/bin/okvutil list -v4
  2. 前述のコマンドがキーをリストできない場合は、Oracle Key Vault管理コンソールにアクセスして、Oracle Key Vaultサーバーの可用性を確認します。
  3. Oracle Key Vaultサーバーが稼働している場合は、次のいずれかの方法を使用してKMIPサービスのステータスを確認します。
    1. エンドポイントDBサーバーでRESTサービス・ユーティリティが構成されている場合は、RESTサービス・コマンドokv server status getを実行してサーバー情報を取得し、KMIPサービスのステータスを確認します。
    2. SNMPモニタリングが構成されている場合は、SNMPモニタリングを使用してKMIPサービスのステータスを確認します。
    3. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。Oracle Key Vaultのホームページで、KMIPプロセスをstop respondingとして報告するアラートがあるかどうかを確認します。
    4. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。「System」、「Status」ページに移動し、KMIPサービスのステータスを確認します。
  4. KMIPサービスのステータスが停止している場合は、KMIPサービスを再起動します。
    • SSHを介してサポート・ユーザーとしてOracle Key Vaultサーバーにログインしてから、ユーザーsurootに切り替えます。
      ssh support@okv_server_IP_address
      su - root
  5. 次のコマンドを実行して、KMIPプロセスのステータスを確認します。
    ps -eaf | grep kmip
  6. 前述のコマンドでKMIPプロセスが実行されていないと表示された場合は、KMIPサービスを再起動します。
    systemctl stop kmip
    systemctl start kmip
  7. KMIPプロセスのステータスを確認します。
    ps -eaf | grep kmip
  8. エンドポイントDBサーバーで、okvutilでキーがリストされるかどうかを確認します。
     $OKV_HOME/bin/okvutil list -v4
  9. 問題が解決したかどうかを確認します。

考えられる原因7

エンドポイントに対して厳密なIPチェックが有効になります。エンドポイントIPアドレスが、エンドポイントの登録中に保存されたIPアドレスとは異なります。

解決策

  1. Oracle Key Vaultサーバーに現在保存されているエンドポイントのIPアドレスを確認します。

    システム管理者ロールまたはこのエンドポイントの管理権限を持つユーザーとしてOracle Key Vault管理コンソールにログインします。

    「Endpoints」ページに移動し、エンドポイントを検索し、エンドポイントに保存されているIPアドレスを確認します。

  2. エンドポイント名をクリックして、「Endpoint Details」ページを開きます。
  3. 「Strict IP」オプションの選択を解除します。
  4. エンドポイントDBサーバーで、okvutilでキーがリストされるかどうかを確認します。
    $OKV_HOME/bin/okvutil list -v4
  5. 厳密なIPチェックの選択を解除すると問題が解決される場合:
    1. エンドポイントDBサーバーに複数のIPアドレスが構成されているかどうかを確認します。このような場合、StrictIPCheckは有効にできません。
    2. エンドポイントDBサーバーが1つのIPアドレスのみで構成されている場合は、エンドポイントを再登録します。「エンドポイント・データベースでエンドポイントを再登録する方法」を参照し、エンドポイントの厳密なIPチェックを再度有効にします。
  6. エンドポイントDBサーバーが再構成され、1つのIPアドレスからのみ接続されている場合、厳密なIPチェックを再度有効にする必要があります。
  7. 問題が解決したかどうかを確認します。

考えられる原因8

エンドポイントDBサーバーとOracle Key Vaultサーバーの間に時間ラグがあります。

解決策

  1. エンドポイントDBサーバーとOracle Key Vaultサーバーの間に時間ドリフトがあるかどうかを確認します。
  2. ある場合、時間ドリフトを解決します。NTP構成を使用してOracle Key Vaultサーバーのシステム・クロックを同期することを検討してください。
  3. 問題が解決したかどうかを確認します。

C.3.3 ウォレットのアップロードで秘密キーのエラーを格納できなかった

Javaキーストアをアップロードする際に、okvutilを使用して、Oracle Key Vaultの表示で秘密キーのエラーを格納できませんでした。

okvutil uploadコマンドが、次のエラーを返します:


$ okvutil upload -l ./fin_jceks.jck -t JCEKS -g fin_wal -v2
okvutil version 21.5.0.0.0
Configuration file: /tmp/fin_okv/conf/okvclient.ora
Server: 192.0.2.254:5696
Uploading from /tmp/fin_okv/keystores/jks/keystore.jks
Enter source Java keystore password:
Uploading private key
Uploading private key

Upload Failed
WARNING: Could not store private key error

考えられる原因

このエラーは、同じファイル名で内容が異なるokvutilを使用して2つのJavaキーストアをアップロードする場合、または各keytoolコマンドで同じ別名(-alias slserverなど)を使用する場合に発生することがあります。

解決策

  1. JKSの別名は一意にする必要があるので、同じ別名を持つ2つのキーストアをダウンロードすると、okvutil downloadプロセスは2つ目のキーストアを無視します。
  2. このエラーを解決するには、一意の別名を使用して2番目のキーストアをアップロードします。

C.3.4 RESTfulサービス・エンドポイント・プロビジョニング・コマンドの失敗

RESTfulサービス・ユーティリティを使用したエンドポイント・プロビジョニングが、パスまたはディレクトリが正しくないために失敗します。

$ okv admin endpoint provision --generate-json-input
Error:/usr/bin/java does not exist.

考えられる原因

エンドポイントをプロビジョニングするRESTfulサービス・コマンドは、ソフト・リンク/usr/bin/javaが存在しないか、間違ったJavaディレクトリを指している場合に失敗します。

解決策

Javaバージョン1.7.21以降を使用していることを確認してください。Javaホーム・ディレクトリへのソフト・リンクを作成します。

ln -s Java_home_directory/bin/java /usr/bin/java

C.3.5 証明書ファイルのアップロードの失敗

コンソール証明書をアップロードすると、エラーが表示されます。

Oracle Key Vault管理コンソールからコンソール証明書をアップロードすると、エラーが返されます。


ORA-20101: Failed to upload certificate file

考えられる原因

必須証明書が期限切れです。

解決策

  1. サポート・ユーザーとしてOracle Key Vaultサーバーにログインします。
  2. rootユーザーに切り替えます。
  3. 証明書を再生成します。
    # /usr/local/bin/gensslcert create-certs
  4. SYSADMINとしてOracle Key Vault管理コンソールにログインします。
  5. 「Console Certificate」ページからコンソール証明書リクエストを再生成します。
  6. コンソール証明書をダウンロードして署名します。
  7. 署名したコンソール証明書を「Console Certificate」ページにアップロードします。
  8. 問題が解決したかどうかを確認します。

C.3.6 Javaキーストアのアップロードのエラー

Oracle Key Vaultでは、Javaキーストアのアップロード時にエラーが表示されます。

okvutilを使用したJavaキーストアのアップロードが失敗し、次のエラーが発生します。

SEVERE: Error occured while determining entry type.
java.security.UnrecoverableKeyException: Cannot recover key

考えられる原因

Javaキーストア(JKS)には複数のパスワードがあります。1つのパスワードによって完全なキーストアが保護されます。また、各秘密キーには、他のキーストア・パスワードとは異なる場合がある追加のパスワードも取得されます。okvutilからJKSをアップロードするには、すべてのキー・パスワードがキーストア・パスワードと同じである必要があります。

解決策

  1. キーストア・パスワードとキー・パスワードの両方を同じ値に設定します。
  2. JKSをOracle Key Vaultにアップロードします。
  3. 別のパスワードにする場合は、パスワードを再度リセットします。
    キーストア・パスワードを変更するには:
    $ keytool -storepasswd -keystore keystorename
    Enter keystore password: <old password>
    New keystore password: <new password>
    Re-enter new keystore password: <new password>

    個々のキー・パスワードを変更するには:

    $keytool -keypasswd -keystore keystorename -alias <alias>
    Enter keystore password: <keystore password>
    Enter key password for <alias> <old key password>
    New key password for <alias>: <new key password>
    Re-enter new key password for <alias>: <new key password>
  4. パスワードを変更できない場合は、キーストア全体をJKSではなく「Other」タイプとしてアップロードします。パスワードはバイナリ・ファイルとして格納されるため、他の場所でパスワードを追跡する必要があります。

    ノート:

    バックアップおよび配布用の集中管理リポジトリを取得しますが、オブジェクト・レベルの粒度でキーおよび認証を管理することはできません。

C.3.7 MYSQLデータベース・キーをOracle Key Vaultに移行する際のSSLレイヤーのエラー

MySQLデータベースがOracle Key Vaultに移行されると、SSLレイヤー・エラーが表示されます。

mysqlデータベース・トレースまたはログ・ファイルに次のエラーが表示されます:

reported: 'Error setting the certificate file.'
reported: 'Could not initialize ssl layer'
reported: 'keyring_okv initialization failure. Please check that the
keyring_okv_conf_dir points to a readable directory and that the directory
contains Oracle Key Vault configuration file and ssl materials. 

考えられる原因

証明書ファイルが破損しています。

解決策

  1. Oracle Key Vaultが動作しているかどうかを確認します。
  2. okvclient.jarから抽出されたSSLフォルダからコピーされた証明書ファイルを編集します。
  3. 証明書ファイルの末尾にある空白行を削除し、「Save」をクリックします。
  4. 問題が解決したかどうかを確認します。

C.3.8 Windows環境でのキーのローテーションまたは設定の失敗

Oracle Key Vaultで、新しいキーのローテーション中または設定中にエラーが表示されます。

新しいキーのローテーションまたは設定がORA-46627「keystore password mismatch」で失敗します

SQL> ADMINISTER KEY MANAGEMENT SET KEY FORCE KEYSTORE IDENTIFIED BY xxxxxxxx; 
ADMINISTER KEY MANAGEMENT SET KEY FORCE KEYSTORE IDENTIFIED BY xxxxxxxx 
* ERROR at line 1: ORA-46627: keystore password mismatch

考えられる原因

sslフォルダの下のewallet.p12に、Oracle Key Vaultサーバーにアクセスする権限がありません。

解決策
  1. OKV_HOMEフォルダの「properties」ウィンドウを開きます。
  2. $OKV_HOME/sslフォルダの継承権限を無効にします。
  3. $OKV_HOME/ssl/ewallet.p12に対して継承権限を有効にしたままにします。
  4. キーの設定が成功したかどうかを確認します。

C.3.9 ORA-03113でキーのローテーションまたは設定が失敗する

Oracle Key Vaultで、キーのローテーション中にエラーが表示されます。

エンドポイント・データベースからの新しいキーのローテーションまたは設定がエラーで失敗します。

ORA-03113 END-OF-FILE ON COMMUNICATION CHANNEL
SQL> ADMINISTER KEY MANAGEMENT SET KEY FORCE KEYSTORE IDENTIFIED BY xxxxxxxx; 
ADMINISTER KEY MANAGEMENT SET KEY FORCE KEYSTORE IDENTIFIED BY xxxxxxxx 
* ERROR at line 1: ORA-03113 END-OF-FILE ON COMMUNICATION CHANNEL 

考えられる原因

永続キャッシュ・ウォレットが破損しており、更新にアクセスできません。

解決策

  1. $OKV_HOME/confまたは$ORACLE_BASE/okv/$ORACLE_SIDの下のewallet.p12の名前を変更します。
  2. sqlplusにログインし、v$encryption_keysを問い合せて新しい永続キャッシュ・ウォレットを作成します。
    SQL> select key_id from v$encryption_keys
  3. ewallet.p12$OKV_HOME/conf or $ORACLE_BASE/okv/$ORACLE_SIDの下に作成されているかどうかを確認します。
  4. キーの設定が成功したかどうかを確認します。