10 TDE対応Oracleデータベースの管理

Oracle Database ApplianceでTDE対応Oracleデータベースを管理します。

Oracle Database Applianceの透過的データベース暗号化(TDE)について

透過的データ暗号化(TDE)により、表および表領域に格納される機密データを暗号化できます。

データは暗号化された後、認可されているユーザーまたはアプリケーションによってアクセスされたときに、透過的に復号化されます。TDEは、ストレージ・メディアまたはデータ・ファイルが盗まれた場合に、メディアに格納されているデータ(保存データとも呼ばれる)を保護するために役立ちます。

Oracle Databaseは、認証、認可および監査のメカニズムを使用してデータベース内のデータを保護しますが、オペレーティング・システムのデータ・ファイルに格納されているデータは保護しません。これらのデータ・ファイルを保護するために、Oracle Databaseでは透過的データ暗号化(TDE)が提供されています。

TDEにより、データ・ファイルに格納されている機密データが暗号化されます。許可なく復号化されるのを防止するため、TDEによって暗号化キーはデータベース外部のキーストアと呼ばれるセキュリティ・モジュールに格納されます。

Oracle Database Applianceでは、ODACLIコマンドまたはBUIを使用して、TDE対応データベースの作成およびライフサイクル管理が可能になります。ODACLIコマンドまたはBUIを使用して、TDE対応の単一インスタンス、Oracle RACまたはOracle RAC One Nodeデータベースを作成できます。ODACLIコマンドまたはBUIを使用して、TDEパスワードを変更し、データベースのキーを更新することもできます。ソフトウェア・キーストアを使用する場合、データベースとともにTDEウォレットをバックアップすることもできます。odacli irestore-databaseコマンドを使用して、TDEソフトウェア・ウォレットをリカバリし、データベースを新しいコピーとしてリストアすることもできます。

使用されるキーストアに基づいて、Oracle Database ApplianceのTDEは次のタイプのいずれかとして構成できます:
  • ソフトウェア・キーストアに格納されたTDEキー: このタイプのTDEメソッドでは、TDEキーはOracle Database Applianceのウォレットに格納されます。
  • Oracle Key Vaultのウォレットに格納されているTDEキー: このタイプのTDEメソッドでは、TDEキーはOracle Key Vaultのウォレットに格納されます。Oracle Key Vaultでユーザーの資格証明を指定しない場合は、Oracle Key Vaultですでに作成されているエンドポイントを使用し、Oracle Database Applianceでデータベースを作成またはリストアするときにエンドポイントを直接指定できます。それ以外の場合は、Oracle Key Vaultユーザーの詳細を使用してOracle Database ApplianceでOracle Key Vaultサーバー構成を作成し、これらのユーザー資格証明を使用してOracle Database Applianceでデータベースを作成およびリストアできます。

    TDEキーは、次のいずれかの方法でOracle Key Vaultキーストアを使用して構成できます:

    • Oracle Key Vaultでのユーザーの資格証明の使用:この構成では、TDEキーはOracle Key Vaultのウォレットに格納され、Oracle Key Vaultユーザー資格証明を介してアクセスされます。
    • Oracle Key Vaultですでに作成されているエンドポイントおよびウォレットの使用: この構成では、TDEキーはOracle Key Vaultのウォレットに格納され、Oracle Key Vaultエンドポイントを介してアクセスされます。

ノート:

透過的データ暗号化(TDE)を有効にするには、Oracle Database 19c以降でOracle Database Enterprise Editionをデプロイする必要があります。透過的データ暗号化(TDE)は、Oracle Database Enterprise Editionで使用可能なアドバンスト・セキュリティ・オプション(ASO)です。

関連項目:

Oracle Database Advanced Securityガイド透過的データ暗号化の使用方法

注意:

ソフトウェア・キーストアまたはOracle Key Vaultキーストアを使用して、すでにOracle Key Vaultに作成されているエンドポイントとウォレットでデータベースでTDEを有効にすると、TDEウォレットのパスワードを設定するように求められます。セキュリティ準拠のための強力なパスワードを指定します。パスワードを慎重に設定し、データベース管理操作のために常にこのパスワードを使用できるようにします。プロンプトが表示されたときにTDEウォレット・パスワードを指定しないと、データベース表にアクセスすることはできません。

Oracle Key Vaultについて

Oracle Key Vaultは、フォルト・トレラントで、可用性と拡張性が高い、セキュアな標準準拠のキーおよびシークレット管理アプライアンスであり、ここでセキュリティ・オブジェクトを格納、管理および共有できます。

Oracle Key Vaultの詳細は、Oracle Key Vaultのドキュメント(https://docs.oracle.com/en/database/oracle/key-vault/21.10/okvag/okv_intro.html#GUID-1C565FBE-BC21-4E76-B2A6-88A17F6649D7)を参照してください。

Oracle Database Appliance上のTDE対応データベースのTDEキーをOracle Key Vaultに格納するときに使用される用語

Oracle Database ApplianceのデータベースでのOracle Key Vaultサーバーの使用に関する次の概念を理解します:
  • ロール分離: Oracleでは、データベース管理およびTDEキー操作に異なるユーザーを割り当てることをお薦めします。データベース管理ロールを持つユーザーに、Oracle Key Vaultサーバーの資格証明を提供しないでください。これにより、データ・ファイル・アクセス権を持つデータベース・ユーザーは、TDEウォレット・パスワードを知らないとデータベースを開けなくなります。このロール分離を設定するには、Oracle Database Applianceでマルチユーザー・アクセス機能を有効にします。マルチユーザー・アクセスの構成の詳細は、Oracle Database Applianceでのマルチユーザー・アクセスの実装のトピックを参照してください。Oracle Database Applianceでは、Oracle Key Vaultユーザーの資格証明をODA-DBユーザーと共有する必要はありません。ODA-Administratorにより、リソース(Oracle Key Vaultサーバー構成)に目的のDBユーザーへのアクセス権が付与され、DBユーザーはTDE対応データベースの作成時にOracle Key Vaultサーバー構成を使用してTDEキーをOracle Key Vaultサーバーに格納できます。
  • Oracle Key Vaultサーバー構成: この用語は、Oracle Key Vaultのメタデータを格納するOracle Database Applianceリソースを指します。Oracle Key Vaultサーバー構成には、Oracle Key Vaultサーバー上のTDEキーを管理するために作成されたユーザーの名前、Oracle Key VaultサーバーのIPアドレスまたはホスト名などの詳細が含まれます。Oracle Key Vaultサーバー構成を区別するために、Oracle Database Appliance上のOracle Key Vaultサーバー構成は名前で識別されます。この名前はOracle Database Applianceシステム内で一意であり、値は大/小文字が区別されます。Oracle Key Vaultサーバー構成を作成する場合は、Oracle Key Vaultサーバーでユーザーの資格証明を指定する必要があります。このユーザーはCreate Endpoint権限のみを持つ最小特権ユーザーにすることをお薦めします。Oracle Key Vaultサーバー構成の作成時に指定するユーザー名とパスワードは、Oracle Key Vaultサーバー上のユーザーに対応します。このオブジェクトの作成時に指定したパスワードは、Oracle Database Applianceには格納されません。Oracle Key Vaultクライアントの自動ログイン・ウォレットは、これらの資格証明を使用して作成され、Oracle Key Vaultサーバーへのすべてのリクエストはこのクライアントの自動ログイン・ウォレットを使用します。データベースは、必要なADMINISTER KEY MANAGEMENT SQLコマンドの自動ログイン・ウォレットを自動的に読み取ります。
  • ODA-DBロールを持つユーザー: マルチユーザー・アクセス対応の環境またはマルチユーザー・アクセス対応のパスワードなしの環境でODA-DBロールを持つユーザーは、データベースを作成および保守できます。このユーザーにはODA-DBロールが付与され、作成、パッチ適用、変更、削除、バックアップ、リカバリなどのデータベース関連のすべての操作を実行できます。これらの操作は、ユーザーに属するデータベースに制限されます。詳細は、このガイドの「Oracle Database Applianceでのマルチユーザー・アクセスの実装」の章を参照してください。
  • Oracle Key Vaultユーザー: Oracle Key Vaultサーバー構成の作成時に指定するOracle Key Vaultのユーザー名とパスワードは、Oracle Key Vaultサーバーの既存のユーザーおよびパスワードに対応している必要があります。そうしないと、Oracle Key Vaultへのアクセスで障害が発生する可能性があります。このユーザーは、作成したOracle Key Vaultサーバー構成オブジェクトに対して作成、削除、詳細表示およびリスト操作を実行することもできます。
  • 仮想ウォレット: Oracle Key Vaultで作成された仮想ウォレットは、セキュアに格納する必要があるオブジェクトのコンテナです。Oracle Key Vaultをキーストアとして使用するOracle Database Appliance上のTDE対応データベースの場合、データベースのTDEキーはこの仮想ウォレット内に格納されます。

Oracle Key Vaultに格納されているキーを使用してTDE対応データベースを構成するための要件

  • Oracle Key Vaultサーバーのバージョンは21.10.0以降である必要があります。
  • Oracle Database Applianceでネットワーク・タイム・プロトコル・サービスを設定することをお薦めします。Oracle Key Vaultと対話するデータベース操作は、Oracle Database ApplianceおよびOracle Key Vaultサーバーのクロックが同期していない場合、失敗します。時間がサーバー全体で一貫していることを確認するか、Oracle Database Applianceでネットワーク・タイム・プロトコルを使用する必要があります。
  • ベア・メタル・システムでOracle Database Applianceをプロビジョニングし、初期データベースの作成を選択する場合、Oracle Key Vaultを使用してTDEを構成した初期データベースを作成することはできません。これは、Oracle Key Vaultを使用してTDEキーを格納するTDEデータベースの作成には、Oracle Key Vaultサーバー構成がすでに存在する必要があるためです。DBシステムでOracle Key Vaultを使用してTDEが構成されたデータベースを作成するには、まず初期データベースなしでDBシステムを作成し、Oracle Key Vaultを使用したOracle Database ApplianceでのTDE対応データベースの作成のトピックの説明に従って、Oracle Key Vaultを使用してTDEが構成されたデータベースを作成します。
  • Oracle Key Vaultでユーザーの資格証明を使用してOracle Key Vaultに格納されたキーを使用してTDE対応データベースを構成するには、マルチユーザー・アクセス対応システムで、ODA-OKVCONFIGVIEWMGMTおよびODA-OKVCONFIGMODIFYMGMTという権限があるODA-OKVCONFIGADMINロールを持つ新しいユーザーを作成する必要があります。ODA-OKVCONFIGVIEWMGMT権限を使用すると、Oracle Key Vaultサーバー構成オブジェクトで詳細表示やリストなどの操作を実行できます。ODA-OKVCONFIGMODIFYMGMT権限を使用すると、Oracle Key Vaultサーバー構成オブジェクトで作成および削除などの操作を実行できます。ODA-OKVCONFIGVIEWMGMT権限はODA-DBロールに含まれ、ODA-DBロールを持つDBユーザーは、Oracle Key Vaultサーバー構成オブジェクトをリストおよび詳細表示し、必要なOracle Key Vaultサーバー構成オブジェクトを選択してデータベースを作成できます。マルチユーザー・アクセス対応でないシステムの場合、新しいユーザーを作成する必要はありません。

ユーザー資格証明を使用したTDE対応データベースの作成

Oracle Key Vaultでユーザーの資格証明を使用して、Oracle Database ApplianceでTDE対応データベースを作成する方法を理解します。この方法では、ベア・メタル・システムおよびDBシステムでのTDE対応データベースの作成がサポートされています。

Oracle Database Applianceベア・メタル・システムおよびDBシステムのOracle Key Vaultに格納されたTDEキーを使用してTDE対応データベースを作成するには、次のステップを実行します:

ステップ1: Oracle Key Vault上のユーザーに対応するユーザーをOracle Database Applianceで作成します。このステップは、マルチユーザー・アクセス対応システムにのみ適用されます。

ODA-OKVCONFIGADMINロールを持つユーザーが存在しない場合、または作成するデータベースに別のユーザーを割り当てる場合は、ユーザーを作成します。

  1. ODA-OKVCONFIGADMINロールを持つ新規ユーザーを作成します。たとえば:
    odacli create-user -u okvuser1 -r ODA-OKVCONFIGADMIN

    ユーザーが作成され、一時パスワードが割り当てられます。

  2. 正常に作成された後に、okvuser1は一時パスワードを使用してアプライアンスにログインできます。
  3. okvuser1Inactive状態です。アプライアンスがマルチユーザー・アクセスを有効にして構成されている場合は、次のコマンドを使用してユーザーをアクティブ化します。アプライアンスがパスワードなしのマルチユーザー・アクセスで構成されている場合は、ユーザーをアクティブ化する必要はありません。マルチユーザー・アクセスの構成の詳細は、Oracle Database Applianceでのマルチユーザー・アクセスの実装のトピックを参照してください。
    odacli activate-user

    パスワードを変更するように求められます。一時パスワードと新しいパスワードを入力し、新しいパスワードを確認します。

  4. 新しいパスワードを使用してアプライアンスにSSHで接続し、ODACLIコマンドを実行するか、ブラウザ・ユーザー・インタフェースに接続します。

ステップ2: Oracle Key Vaultサーバー構成を作成します

  1. Oracle Key Vaultサーバー構成を作成するOracle Key Vaultユーザーは、Oracle Key VaultサーバーでのCreate Endpointの最小権限を持つユーザーである必要があります。
  2. マルチユーザー・アクセス対応システムの場合、ODA-OKVCONFIGADMINロールを持つユーザーとしてログインします(たとえば、okvuser1)。マルチユーザー・アクセス対応でないシステムの場合は、rootユーザーとしてログインします。
  3. Oracle Key Vaultパスワード・プロンプトが2回表示され、Oracle Key Vaultパスワードを受け入れて確認します。Oracle Key Vaultサーバー上のOracle Key Vaultユーザーのパスワードを指定します。これにより、ユーザーはOracle Key Vaultサーバーにログインできるようになります。odacli create-okvserverconfigコマンドの-uオプションでユーザー名を指定します。Oracle Key Vaultサーバー構成の名前は大/小文字が区別され、Oracle Database Applianceで2つのOracle Key Vaultサーバー構成に同じ名前を付けることはできません。Oracle Key Vaultサーバー構成の長さは128文字を超えることはできません。
    odacli create-okvserverconfig -n okvobj1 -u epokvusr1 -ip xxx.xx.xxx.xxx
    Enter OKV user password :
    Retype OKV user password :
    Job details                                                     
    ----------------------------------------------------------------
                         ID:  730d2469-6efa-4ed1-8386-513e97c866ea
                Description:  Create OKV Server Config: okvobj1
                     Status:  Created
                    Created:  October 20, 2024 11:28:39 AM PDT
                    Message:  Create OKV Server Config.
     
    Task Name                                Start Time                               End Time                                 Status         
    ---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
     
     
     odacli describe-job -i 730d2469-6efa-4ed1-8386-513e97c866ea
     
    Job details                                                     
    ----------------------------------------------------------------
                         ID:  730d2469-6efa-4ed1-8386-513e97c866ea
                Description:  Create OKV Server Config: okvobj1
                     Status:  Success
                    Created:  October 20, 2024 11:28:39 AM PDT
                    Message:  Create OKV Server Config.
     
    Task Name                                Node Name                 Start Time                               End Time                                 Status         
    ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
    OKV Password Store creation              n1                        October 20, 2024 11:28:39 AM PDT         October 20, 2024 11:29:04 AM PDT         Success        
    Download of OKV REST package             n1                        October 20, 2024 11:28:42 AM PDT         October 20, 2024 11:28:44 AM PDT         Success        
    Edit of OKV REST package                 n1                        October 20, 2024 11:28:44 AM PDT         October 20, 2024 11:28:45 AM PDT         Success        
    Generate OKV client wallets              n1                        October 20, 2024 11:28:45 AM PDT         October 20, 2024 11:28:47 AM PDT         Success         

    このコマンドは、指定されたサーバー上のOracle Key Vaultサーバー・ユーザーepokvusr1に対して、Oracle Key Vaultサーバー構成okvobj1を作成します。

ステップ3: マルチユーザー・アクセス対応システムのみのOracle Key Vaultサーバー構成を共有します

  1. マルチユーザー・アクセス対応システムの場合、Oracle Key Vaultサーバー構成を使用してデータベースを作成するDBユーザーは、Oracle Key Vaultユーザーが作成したOracle Key Vaultサーバー構成への共有アクセス権を持っている必要があります。odaadminユーザーは、odacli grant-resource-accessコマンドを使用して、DBユーザーとOracle Key Vaultサーバー構成を共有する必要があります。DBユーザーは、Oracle Key Vaultサーバー構成を使用してデータベースを作成できます。odaadminユーザーがokvobj1リソースをDBユーザーdbusr1と共有する例を次に示します:
    su odaadmin
     
    odacli grant-resource-access -ri d017d35a-0757-460a-98f0-9f8d0944c872 -u dbusr1
    Shared access of resource granted to user successfully...
    Oracle Key Vaultサーバー構成のリソースIDを取得するには、odacli list-okvserverconfigsコマンドを実行します。たとえば:
    odacli list-okvserverconfigs
     
    ID                                       Name                 User Name         IP address          Host Name           Description
    ---------------------------------------- -------------------- ---------------- ------------------- -------------------- -------------------
    d017d35a-0757-460a-98f0-9f8d0944c872     okvobj1              epadmin           xxx.xx.xx.xxx       Null                 OKV Server for sales databases              

ステップ4: データベースを作成します

マルチユーザー・アクセス対応システムの場合、DBユーザーとしてログインし、オプション-t-oscおよび-ktを指定してodacli create-databaseコマンドを使用し、Oracle Key Vaultサーバーを使用してTDEが構成されたデータベースを作成します。マルチユーザー・アクセス対応でないシステムの場合、rootユーザーと同じコマンドを実行できます。
TDEキーを格納するOracle Key Vaultサーバーを決定し、odacli create-databaseコマンドの-oscオプションで値を指定します。DBユーザーは、odacli list-okvserverconfigsコマンドで表示されるOracle Key Vaultサーバー構成のリストから、必要なOracle Key Vaultサーバー構成を選択できます。マルチユーザー・アクセス対応でないシステムの場合は、rootユーザーとしてodacli list-okvserverconfigsコマンドを実行します。
  • オプション-tは、-oscオプションを使用して指定されたOracle Key Vaultサーバー構成によって表されるOracle Key Vault資格証明を使用して、データベースをTDEで構成する必要があることを示します。
  • オプション-ktは、TDE構成で使用されるキーストアのタイプを指定します。キーストアの値は、softwareまたはokvのいずれかです。デフォルトはsoftwareです。この値では大文字と小文字が区別されません。データベースのOKVServerConfigName属性は、データベースの作成リクエストで指定されたOracle Key Vaultサーバー構成の名前に設定されます。
  • TDEウォレットのパスワードはシステムによってランダムに生成されるため、指定する必要はありません。

警告:

パスワードは、Oracle Key Vaultのウォレットに格納されます。そのウォレットが失われると、データベース表にアクセスできなくなります。そのため、Oracle Key Vaultのウォレットを削除しないでください。
Oracle Key Vaultサーバー構成kovobj1で表されるOracle Key Vault資格証明を使用するデータベースkokvdb2を作成する例を次に示します:
odacli create-database -n kokvdb2 -t -kt OKV -osc kovobj1
Enter SYS and SYSTEM user password:
Retype SYS and SYSTEM user password:
 
Job details                                                     
----------------------------------------------------------------
                     ID:  94a51f1a-2d4c-4eac-b0c2-7871d88c0df8
            Description:  Database service creation with DB name: kokvdb2
                 Status:  Created
                Created:  July 15, 2024 3:00:53 PM CST
                Message: 
 
Task Name                                Start Time                               End Time                                 Status         
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
 
 
 
 odacli describe-job -i 94a51f1a-2d4c-4eac-b0c2-7871d88c0df8
 
Job details                                                     
----------------------------------------------------------------
                     ID:  94a51f1a-2d4c-4eac-b0c2-7871d88c0df8
            Description:  Database service creation with DB name: kokvdb2
                 Status:  Success
                Created:  July 15, 2024 3:00:53 PM CST
                Message: 
 
Task Name                                Start Time                               End Time                                 Status         
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
Validating dbHome available space        July 15, 2024 3:01:19 PM CST             July 15, 2024 3:01:19 PM CST             Success        
...   
TDE configuration using OKV              July 15, 2024 3:17:37 PM CST             July 15, 2024 3:20:36 PM CST             Success        
TDE Wallet directory creation            July 15, 2024 3:17:38 PM CST             July 15, 2024 3:17:46 PM CST             Success        
Setting Database parameter for OKV       July 15, 2024 3:17:46 PM CST             July 15, 2024 3:19:07 PM CST             Success        
Auto login TDE Wallet creation           July 15, 2024 3:19:07 PM CST             July 15, 2024 3:19:09 PM CST             Success        
OKV TDE Wallet creation                  July 15, 2024 3:19:09 PM CST             July 15, 2024 3:19:12 PM CST             Success        
OKV Endpoint configuration               July 15, 2024 3:19:12 PM CST             July 15, 2024 3:19:43 PM CST             Success        
Setting TDE Master Encryption Key        July 15, 2024 3:19:43 PM CST             July 15, 2024 3:20:13 PM CST             Success        
Create Users tablespace                  July 15, 2024 3:20:36 PM CST             July 15, 2024 3:20:39 PM CST             Success        
Clear all listeners from Database        July 15, 2024 3:20:39 PM CST             July 15, 2024 3:20:40 PM CST             Success        
Copy Pwfile to Shared Storage            July 15, 2024 3:20:43 PM CST             July 15, 2024 3:20:47 PM CST             Success         

データベースが正常に作成されると、Oracle Key Vaultクライアント・ソフトウェアが/etc/OKV/db_unique_name/okvディレクトリにインストールされます。すべてのファイルの所有権はdb_user:oinstallに設定され、権限は750に設定されます。自動ログインTDEウォレットは、/etc/OKV/db_unique_name/tdeおよび/etc/OKV/db_unique_name/tde_sepsディレクトリに作成されます。これらのディレクトリの所有権は再帰的にdb_user:oinstallに設定され、権限は750に設定されます。

Oracle Key Vaultのエンドポイントを含むOracle Key Vaultを使用したTDE対応データベースの作成

Oracle Key Vaultにすでに存在するエンドポイントおよびウォレットを使用して、Oracle Database ApplianceでTDE対応データベースを作成する方法を理解します。この方法では、ベア・メタル・システムおよびDBシステムでのTDE対応データベースの作成がサポートされています。

ノート:

このOracle Database Applianceリリースでは、この機能はOracle RACおよびOracleの単一インスタンス・データベースでのみサポートされています。この機能は、Oracle RAC One Nodeデータベースおよび高可用性が有効なOracle単一インスタンス・データベースでは使用できません。
Oracle Key Vaultにエンドポイントを含むOracle Key Vaultを使用してTDE対応データベースを作成するには、次のタスクを完了する必要があります:
  1. Oracle Key Vaultにログインし、データベースに対応する仮想TDEウォレットを作成します。
  2. 各インスタンスに対応するエンドポイントを作成します。単一インスタンス・データベースの場合、1つのエンドポイントを作成し、Oracle RACデータベースの場合、2つのエンドポイントを作成する必要があります。
  3. 作成されたエンドポイントのデフォルト・ウォレットを設定します。
  4. 各エンドポイントに対応するokvclient.jarファイルをダウンロードします。単一インスタンス・データベースの場合、1つのファイルをダウンロードし、Oracle RACデータベースの場合、ダウンロード可能なファイルは2つ(インスタンスごとに1つ)あります。

ステップ1: Oracle Key Vault RESTコマンドを使用してokvclient.jarファイルを取得します

okvclient.jarファイルは、Oracle Key VaultのRESTコマンドまたはOracle Key Vaultサーバー・ユーザー・インタフェースを使用して作成できます。

Oracle Key Vault RESTコマンドを使用してokvclient.jarファイルを取得するには、oracleユーザーとしてログインし、次のステップに従います:
  1. /tmp/work/tmp/work/client_walletなどの作業ディレクトリを作成します。/tmp/workディレクトリに移動し、Oracle Key VaultサーバーからRESTfulサービス・ユーティリティをダウンロードして解凍します。このユーティリティを解凍すると、3つのディレクトリbinlibおよびconfが表示されます。
    mkdir /tmp/work/
    mkdir /tmp/work/client_wallet
    cd /tmp/work
    curl -Ok https://okv_server_ip:5695/okvrestclipackage.zip
     % Total % Received % Xferd Average Speed Time Time Time Current
                                     Dload Upload Total Spent Left Speed
    100 3750k 100 3750k 0 0 2500k 0 0:00:01 0:00:01 --:--:-- 2500k
  2. okvrestclipackage.zipを解凍します。conf/okvrestcli.iniを編集し、Oracle Key VaultサーバーのIPアドレス、ユーザー名、およびクライアント自動ログイン・ウォレットが作成されるディレクトリへのパスを追加します。次の例では、/tmp/work/client_walletは、クライアント自動ログイン・ウォレットが作成されるディレクトリ・パスです。
    #Provide absolute path for log_property, okv_client_config properties
            [Default]
            log_property=./conf/okvrestcli_logging.properties
            server=okv_server_ip
            okv_client_config=./conf/okvclient.ora
            user=okv_user
            client_wallet=/tmp/work/client_wallet
  3. bin/okvファイルを編集し、export OKV_RESTCLI_CONFIG=$OKV_RESTCLI_DIR/conf/okvrestcli.ini行のコメントを解除し、JAVA_HOME変数も設定します:
    #!/bin/bash
        export OKV_RESTCLI_DIR=$(dirname "${0}")/..
        export OKV_RESTCLI_CONFIG=$OKV_RESTCLI_DIR/conf/okvrestcli.ini
        export JAVA_HOME=/opt/oracle/dcs/java/1.8.0_xxx
        if [ -z "$JAVA_HOME" ]
        then
          echo "JAVA_HOME environment variable is not set."
          exit 1
        fi
          
        if [ -z "$OKV_RESTCLI_CONFIG" ]
        then
          echo "OKV_RESTCLI_CONFIG environment variable is not set."
          exit 1
        fi
          
        export OKV_RESTCLI_JAR=$OKV_RESTCLI_DIR/lib/okvrestcli.jar
        $JAVA_HOME/bin/java -jar $OKV_RESTCLI_JAR "$@"
  4. クライアント自動ログイン・ウォレットを生成します。Oracle Key Vaultユーザー・パスワードの入力を求められます。
    /tmp/work/bin/okv admin client-wallet add --client-wallet /tmp/work/client_wallet --wallet-user okv_user
    Password:
  5. Oracle Key Vaultユーザー・インタフェースを使用してTDEウォレットがまだ作成されていない場合は、データベースに対応するTDEウォレットを作成します。
    /tmp/work/bin/okv manage-access wallet create --wallet wallet_name --unique FALSE
  6. ウォレットに対応するエンドポイントを作成します。Oracle RACデータベースの場合、2つのエンドポイントを作成します。エンドポイントは、Oracle Key Vaultユーザー・インタフェースを使用してまだ作成されていない場合にのみ作成します。
    /tmp/work/bin/okv admin endpoint create --endpoint endpoint_name --type ORACLE_DB --platform LINUX64 --strict-ip-check TRUE
  7. エンドポイントのデフォルト・ウォレットを設定します。Oracle RACデータベースの場合、両方のエンドポイントのデフォルト・ウォレットは同じTDEウォレットである必要があります。デフォルト・ウォレットは、Oracle Key Vaultユーザー・インタフェースを使用してまだ設定されていない場合のみ設定します。
    /tmp/work/bin/okv manage-access wallet set-default --wallet wallet_name --endpoint endpoint_name
  8. okvclient.jarコマンドをダウンロードします。Oracle RACデータベースの場合、両方のエンドポイントに対応するokvclient.jarをダウンロードする必要があります。ダウンロードが完了したら、リモート・インスタンスに対応するokvclient.jarをリモート・ノードにコピーします。
    /tmp/work/bin/okv admin endpoint download --endpoint <endpoint_name> --location <location>
  9. エンドポイントのダウンロード中に、次のように「Endpoint token is already consumed」メッセージが表示される場合は、エンドポイントを再登録します。
    /tmp/work/bin/okv admin endpoint download --endpoint endpoint_name --location location
    /tmp/work/log/okv0.log.0 (Permission denied)
    {
      "result" : "Failure",
      "message" : "Endpoint token is already consumed"
    }
     
    /tmp/work/bin/okv admin endpoint re-enroll --endpoint <endpoint_name>
    /tmp/work/log/okv0.log.0 (Permission denied)
    {
      "result" : "Success"
    }

ステップ2: データベースを作成します

  1. マルチユーザー・アクセス対応システムおよびマルチユーザー・アクセスのパスワードなしのシステムの場合、DBユーザーとしてログインし、odacli create-databaseコマンドを実行します。マルチユーザー・アクセス対応でないシステムの場合は、rootユーザーとしてログインし、odacli create-databaseコマンドを実行します。

    オプション--enable-tde/-tは、データベースがTDEで構成されている必要があることを示します。オプション--keystore-type/-ktは、TDE構成で使用するキーストアのタイプを指定します。オプション--okvclient-path/-ocpは、エンドポイントに対応するokvclient.jarファイルへの絶対パスを指定します。

    単一インスタンス・データベースの場合、オプション--okvclient-path/-ocpは1つの値のみを使用ます。Oracle RACデータベースの場合、オプション--okvclient-path/-ocpはインスタンスごとに対応する2つの値を使用ます。値はカンマで区切る必要があります。最初のパスはローカル・インスタンスに対応し、2番目のパスはリモート・インスタンスに対応しています。TDEパスワードの入力を求められます。

    データベースが正常に作成されると、Oracle Key Vaultクライアント・ソフトウェアが/etc/OKV/db_unique_name/okvディレクトリにインストールされます。ローカルの自動ログインTDEウォレットが/etc/OKV/db_unique_name/tdeディレクトリに作成されます。ソースの場所にあるokvclient.jarファイルが削除されます。

    Oracle Key Vaultサーバー構成オブジェクトを使用せずに、okvdbという名前の単一インスタンス・データベースを作成する例を次に示します:
    odacli create-database -n okvdb -y SI -t -kt OKV -ocp /tmp/okvclient.jar
    Enter SYS and SYSTEM user password:
    Retype SYS and SYSTEM user password:
    Enter TDE wallet password:
    Retype TDE wallet password:
     
     Job details                                                     
    ----------------------------------------------------------------
                         ID:  94a51f1a-2d4c-4eac-b0c2-7871d88c0df8
                Description:  Database service creation with DB name: okvdb
                     Status:  Created
                    Created:  July 15, 2024 3:00:53 PM CST
                    Message: 
     
    Task Name                                Start Time                               End Time                                 Status         
    ---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
     
     
     
     odacli describe-job -i 94a51f1a-2d4c-4eac-b0c2-7871d88c0df8
     
    Job details                                                     
    ----------------------------------------------------------------
                         ID:  94a51f1a-2d4c-4eac-b0c2-7871d88c0df8
                Description:  Database service creation with DB name: okvdb
                     Status:  Success
                    Created:  July 15, 2024 3:00:53 PM CST
                    Message: 
     
    Task Name                                Start Time                               End Time                                 Status         
    ---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
    Validating dbHome available space        July 15, 2024 3:01:19 PM CST             July 15, 2024 3:01:19 PM CST             Success        
    ...   
    TDE configuration using OKV              July 15, 2024 3:17:37 PM CST             July 15, 2024 3:20:36 PM CST             Success        
    TDE Wallet directory creation            July 15, 2024 3:17:38 PM CST             July 15, 2024 3:17:46 PM CST             Success        
    Setting Database parameter for OKV       July 15, 2024 3:17:46 PM CST             July 15, 2024 3:19:07 PM CST             Success        
    Auto login TDE Wallet creation           July 15, 2024 3:19:07 PM CST             July 15, 2024 3:19:09 PM CST             Success
    Installing the OKV client software       July 15, 2024 3:19:09 PM CST             July 15, 2024 3:19:42 PM CST             Success  
    Setting TDE Master Encryption Key        July 15, 2024 3:19:43 PM CST             July 15, 2024 3:20:13 PM CST             Success        
    Create Users tablespace                  July 15, 2024 3:20:36 PM CST             July 15, 2024 3:20:39 PM CST             Success        
    Clear all listeners from Database        July 15, 2024 3:20:39 PM CST             July 15, 2024 3:20:40 PM CST             Success        
    Copy Pwfile to Shared Storage            July 15, 2024 3:20:43 PM CST             July 15, 2024 3:20:47 PM CST             Success
    Oracle Key Vaultサーバー構成オブジェクトを使用せずに、okvdbracという名前のOracle RACデータベースを作成する例を次に示します:最初にローカル・データベース・インスタンスのokvclient.jarファイルへのパスを指定し、その後、リクエストにリモート・データベース・インスタンスのokvclient.jarファイルへのパスを指定します。
    odacli create-database -n okvdb -y RAC -t -kt OKV -ocp /tmp/dir1/okvclient.jar,/tmp/dir2/okvclient.jar
    Enter SYS and SYSTEM user password:
    Retype SYS and SYSTEM user password:
    Enter TDE wallet password:
    Retype TDE wallet password:
     
    Job details                                                     
    ----------------------------------------------------------------
                         ID:  cb611ec2-ff87-44f9-a79b-3ab1a290644f
                Description:  Database service creation with DB name: okvdbrac
                     Status:  Created
                    Created:  October 20, 2024 6:13:28 AM PDT
                    Message: 
     
    Task Name                                Start Time                               End Time                                 Status         
    ---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
     
     
    odacli describe-job -i cb611ec2-ff87-44f9-a79b-3ab1a290644f
     
    Job details                                                     
    ----------------------------------------------------------------
                         ID:  cb611ec2-ff87-44f9-a79b-3ab1a290644f
                Description:  Database service creation with DB name: okvdbrac
                     Status:  Success
                    Created:  October 20, 2024 6:13:28 AM PDT
                    Message: 
     
    Task Name                                Node Name                 Start Time                               End Time                                 Status         
    ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
    Validating dbHome available space        n1                        October 20, 2024 6:13:49 AM PDT          October 20, 2024 6:13:49 AM PDT          Success        
    Validating dbHome available space        n2                        October 20, 2024 6:13:49 AM PDT          October 20, 2024 6:13:49 AM PDT          Success        
    Setting up SSH equivalence               n1                        October 20, 2024 6:13:51 AM PDT          October 20, 2024 6:13:54 AM PDT          Success        
    Setting up SSH equivalence               n1                        October 20, 2024 6:13:54 AM PDT          October 20, 2024 6:13:57 AM PDT          Success        
    Creating ACFS database home              n1                        October 20, 2024 6:13:58 AM PDT          October 20, 2024 6:13:58 AM PDT          Success        
    Validating dbHome available space        n1                        October 20, 2024 6:13:59 AM PDT          October 20, 2024 6:13:59 AM PDT          Success 
    .
    .
    .
    Setting TDE Master Encryption Key        n1                       October 20, 2024 6:34:15 AM PDT          October 20, 2024 6:34:56 AM PDT          Success        
    Create Users tablespace                  n1                       October 20, 2024 6:34:57 AM PDT          October 20, 2024 6:34:59 AM PDT          Success        
    Clear all listeners from Database        n1                       October 20, 2024 6:35:00 AM PDT          October 20, 2024 6:35:01 AM PDT          Success        
    Deleting OKV Client Software Jar         n1                       October 20, 2024 6:35:03 AM PDT          October 20, 2024 6:35:04 AM PDT          Success        
    Deleting OKV Client Software Jar         n2                       October 20, 2024 6:35:04 AM PDT          October 20, 2024 6:35:04 AM PDT          Success        
    Encrypt all Tablespaces                  n1                       October 20, 2024 6:35:04 AM PDT          October 20, 2024 6:36:15 AM PDT          Success

ODACLIコマンドを使用したOracle Key Vaultサーバー構成操作の管理

ベア・メタル・システムおよびDBシステム上のOracle Database ApplianceでOracle Key Vaultサーバー構成操作を管理する方法を理解します。

Oracle Key Vaultサーバー構成は、Oracle Database Applianceベア・メタル・システムおよびDBシステム上に作成、リスト、削除および詳細表示できます。これらの操作は、「ユーザー資格証明を使用したTDE対応データベースの作成」のトピックで説明されているように、Oracle Database ApplianceでOracle Key Vaultユーザーのユーザー資格証明を格納できるようにするTDE対応データベースを作成する場合にのみ実行します。

Oracle Key Vaultサーバー構成のリスト:

odacli list-okvserverconfigsコマンドを使用して、すべてのOracle Key Vaultサーバー構成を表示します。
odacli list-okvserverconfigs
 
ID                                       Name                 User Name         IP address          Host Name           Description
---------------------------------------- -------------------- ---------------- ------------------- -------------------- -------------------
d017d35a-0757-460a-98f0-9f8d0944c872     okvobj1              epadmin           xxx.xx.xx.xxx       Null                 OKV server for Sales database              
b6336173-666b-4d81-88bd-5ae384419114     okvobj2              epadmin2          xxx.xx.xx.xxx       Null                 OKV server for Sales database

Oracle Key Vaultサーバー構成の詳細表示:

odacli describe-okvserverconfigコマンドを使用して、Oracle Key Vaultサーバー構成を表示します。

たとえば:
odacli describe-okvserverconfig -n dokvobj1
OKV Server Config details
----------------------------------------------------------------
                     ID: c196bd0a-4a42-43a6-8578-9929ceb28525
                   Name: dokvobj1
               UserName: user1
             IP Address: xxx.xxx.xx.xxx
              Host Name:
            Description: OKV server config for Sales
            CreatedTime: October 4, 2024 9:41:43 AM HKT
            UpdatedTime: October 4, 2024 9:42:10 AM HKT
                  State: CONFIGURED

Oracle Key Vaultサーバー構成の削除:

odacli delete-okvserverconfigコマンドを使用して、Oracle Key Vaultサーバー構成を削除します。Oracle Key Vaultサーバー構成を削除できるのは、Oracle Key Vaultサーバー構成を使用しているすべてのデータベースがすでに削除されている場合のみです。
odacli delete-okvserverconfig -n okvobj1
Job details                                                     
----------------------------------------------------------------
                     ID:  7446c9b4-a927-431f-8e0b-099eec8116e7
            Description:  Delete OKV Server Config: dokvobj1
                 Status:  Running
                Created:  October 4, 2024 9:44:29 AM HKT
                Message:  Delete OKV Server Config
 
Task Name                                Start Time                               End Time                                 Status         
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
OKV Password Store deletion              October 4, 2024 9:44:29 AM HKT                                                    Running        
 
 odacli describe-job -i 7446c9b4-a927-431f-8e0b-099eec8116e7
 
Job details                                                     
----------------------------------------------------------------
                     ID:  7446c9b4-a927-431f-8e0b-099eec8116e7
            Description:  Delete OKV Server Config: dokvobj1
                 Status:  Success
                Created:  October 4, 2024 9:44:29 AM HKT
                Message:  Delete OKV Server Config
 
Task Name                                Node Name                 Start Time                               End Time                                 Status         
---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
OKV Password Store deletion              oda1                      October 4, 2024 9:44:29 AM HKT           October 4, 2024 9:44:45 AM HKT           Success        
OKV Server Config directory deletion     oda1                      October 4, 2024 9:44:45 AM HKT           October 4, 2024 9:44:45 AM HKT           Success        
OKV Server Config deletion               oda1                      October 4, 2024 9:44:45 AM HKT           October 4, 2024 9:44:46 AM HKT           Success

Oracle Key Vaultに格納されたTDEキーを使用したTDE対応データベースでのデータベース操作の管理

ベア・メタル・システムおよびDBシステム上のOracle Database ApplianceのOracle Key Vaultに格納されているTDEキーを使用して、TDE対応データベースを管理する方法を理解します。

TDEマスター暗号化キーの再設定、リストア、削除、データベースのバックアップとリカバリの実行、およびOracle Database Applianceベア・メタル・システムおよびDBシステム上のOracle Key VaultのTDE対応データベースでのOracle Data Guardの構成を実行できます。

TDE対応データベースのパスワードの変更

Oracle Key Vaultを使用してTDEキーを格納するベア・メタル・システムおよびDBシステムのOracle Database Applianceで、TDE対応データベースのパスワードを変更する方法を説明します。

Oracle Key Vaultでユーザーの資格証明を使用するOracle Database ApplianceのTDE対応データベースのパスワードの変更

Oracle Key Vaultでユーザーの資格証明を使用するOracle Database ApplianceのTDE対応データベースの場合は、odacli modify-databaseコマンドをオプション--change-tde-password,-ctpとともに使用します。新しいパスワードはランダムに生成され、Oracle Key Vaultサーバーに安全に格納され、古いTDEパスワードを置き換えます。たとえば:
odacli modify-database -n db3 -ctp
Job details                                                     
----------------------------------------------------------------
                     ID:  b6d0f4c2-976a-42b3-a32d-6cfc7848375d
            Description:  Modify database: db3
                 Status:  Success
                Created:  February 24, 2025 08:50:08 UTC
                Message:  Modify database
 
Task Name                                Node Name                 Start Time                               End Time                                 Status         
---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------      
Re-enroll and Provision of Endpoint      n1             February 24, 2025 08:50:14 UTC           February 24, 2025 08:50:30 UTC           Success        
Save the new TDE password using a        n1             February 24, 2025 08:50:30 UTC           February 24, 2025 08:50:35 UTC           Success        
temporary custom attribute on OKV                                                                                                                                   
TDE Wallet closure                       n1             February 24, 2025 08:50:35 UTC           February 24, 2025 08:50:43 UTC           Success        
TDE Wallet closure                       n2             February 24, 2025 08:50:43 UTC           February 24, 2025 08:50:45 UTC           Success        
Change the TDE password in local wallet  n1             February 24, 2025 08:50:45 UTC           February 24, 2025 08:51:06 UTC           Success        
Auto login TDE Wallet creation           n1             February 24, 2025 08:51:06 UTC           February 24, 2025 08:51:12 UTC           Success        
Re-enroll and Provision of Endpoint      n2             February 24, 2025 08:51:12 UTC           February 24, 2025 08:51:29 UTC           Success        
Change the TDE password in local wallet  n2             February 24, 2025 08:51:29 UTC           February 24, 2025 08:51:49 UTC           Success        
Auto login TDE Wallet creation           n1             February 24, 2025 08:51:49 UTC           February 24, 2025 08:51:54 UTC           Success        
Save new TDE password on OKV             n2             February 24, 2025 08:51:54 UTC           February 24, 2025 08:52:04 UTC           Success        
Delete the temporary custom attribute    n2             February 24, 2025 08:52:04 UTC           February 24, 2025 08:52:07 UTC           Success        
on OKV                                                                                                                                                              
Deleting OKV Client Software Jar         n2             February 24, 2025 08:52:08 UTC           February 24, 2025 08:52:08 UTC           Success        
Database stop (Srvctl)                   n1             February 24, 2025 08:52:08 UTC           February 24, 2025 08:52:48 UTC           Success        
Database start (Srvctl)                  n1             February 24, 2025 08:52:48 UTC           February 24, 2025 08:53:56 UTC           Success        
Checking the TDE wallet status           n1             February 24, 2025 08:53:56 UTC           February 24, 2025 08:53:59 UTC           Success

Oracle Key Vaultにすでに存在するエンドポイントおよびウォレットを使用するOracle Database Appliance上のTDE対応データベースのパスワードの変更

odacli modify-databaseコマンドをオプション--change-tde-password,-ctpとともに使用します。Oracle Key Vaultにすでに存在するエンドポイントおよびウォレットを使用するOracle Database Appliance上のTDE対応データベースの場合、パスワード変更操作中にパスワードを指定するよう求められます。たとえば、Oracle RACデータベースの場合:
odacli modify-database -n db14 -ctp
Enter the current TDE password:
Enter the new TDE password:
Re-enter the new TDE password:
Job details                                                     
----------------------------------------------------------------
                     ID:  aa2a90db-ab9d-4b10-b9cb-4e23fb38844a
            Description:  Modify database: okvdb22
                 Status:  Success
                Created:  May 15, 2025 17:29:24 UTC
                Message:  Modify database
 
Task Name                                Node Name                 Start Time                               End Time                                 Status         
---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
TDE Wallet closure                       n1          May 15, 2025 17:29:28 UTC                May 15, 2025 17:29:30 UTC                Success        
Change the TDE password in local wallet  n1          May 15, 2025 17:29:30 UTC                May 15, 2025 17:29:31 UTC                Success        
TDE Wallet closure                       n2          May 15, 2025 17:29:30 UTC                May 15, 2025 17:29:30 UTC                Success        
Auto login TDE Wallet creation           n1          May 15, 2025 17:29:31 UTC                May 15, 2025 17:29:31 UTC                Success        
Change the TDE password in local wallet  n2          May 15, 2025 17:29:31 UTC                May 15, 2025 17:29:32 UTC                Success        
Auto login TDE Wallet creation           n1          May 15, 2025 17:29:32 UTC                May 15, 2025 17:29:32 UTC                Success        
Database stop (Srvctl)                   n1          May 15, 2025 17:29:32 UTC                May 15, 2025 17:30:15 UTC                Success        
Database start (Srvctl)                  n1          May 15, 2025 17:30:15 UTC                May 15, 2025 17:30:48 UTC                Success        
Checking the TDE wallet status           n1          May 15, 2025 17:30:48 UTC                May 15, 2025 17:30:48 UTC                Success

TDE対応データベースのTDEマスター暗号化キーの再設定

Oracle Key Vaultを使用してTDEキーを格納するベア・メタル・システムおよびDBシステム上のOracle Database Applianceで、TDE対応データベースのTDEマスター暗号化キーを再設定する方法を理解します。

odacli modify-databaseコマンドを使用して、オプション-rktでTDEマスター暗号化キーの再設定を実行します。Oracle Key Vaultを使用して構成されたTDEの場合、再設定操作中にパスワードを指定するよう求められます。たとえば:
odacli modify-database -n kokvdb2 -rkt
{
  "jobId" : "dbedf89d-b60f-4209-bbcf-0db61e4eb350",
  "status" : "Created",
  "message" : "Modify database",
  "reports" : [ ],
  "createTimestamp" : "July 15, 2024 15:56:01 PM CST",
  "resourceList" : [ {
    "resourceId" : "7a1c996b-ee8d-49bc-8759-cbbfcee3bcce",
    "resourceType" : null,
    "resourceNewType" : "Db",
    "jobId" : "dbedf89d-b60f-4209-bbcf-0db61e4eb350",
    "updatedTime" : null
  } ],
  "description" : "Modify database: kokvdb2",
  "updatedTime" : "July 15, 2024 15:56:01 PM CST",
  "jobType" : null
}
 
 odacli describe-job -i dbedf89d-b60f-4209-bbcf-0db61e4eb350
 
Job details                                                     
----------------------------------------------------------------
                     ID:  dbedf89d-b60f-4209-bbcf-0db61e4eb350
            Description:  Modify database: kokvdb2
                 Status:  Success
                Created:  July 15, 2024 3:56:01 PM CST
                Message:  Modify database
 
Task Name                                Start Time                               End Time                                 Status         
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
TDE Wallet Re-Key                        July 15, 2024 3:56:04 PM CST             July 15, 2024 3:56:12 PM CST             Success         

TDE対応データベースのバックアップおよびリカバリの実行

ベア・メタル・システムおよびDBシステム上のOracle Database ApplianceのOracle Key Vaultに格納されているTDEキーを使用して、TDE対応データベースをバックアップおよびリカバリする方法を理解します。

Oracle Key Vaultに格納されているTDEキーを使用したTDE対応データベースのバックアップの実行

odacli create-backupコマンドを使用して、Oracle Key Vaultに格納されているTDEキーを使用してTDE対応データベースをバックアップします。TDEウォレットはOracle Key Vaultサーバーに存在しても、Oracle Database Applianceには存在しないため、データベース・バックアップではバックアップされません。その結果、データベース・バックアップ・レポートのTDEウォレット・バックアップの場所属性の値がnullに設定されます。
[odaadmin@oda1 bin]$ odacli describe-job -i be94d1f7-ad6e-48a5-94a3-f0a52578048b
 
Job details                                                     
----------------------------------------------------------------
                     ID:  be94d1f7-ad6e-48a5-94a3-f0a52578048b
            Description:  Create Regular-L0 Backup[TAG:auto][Db:db15][NFS:/nfs_backup/orabackups/dbsfb225975e/database/1851419729/db15]
                 Status:  Success
                Created:  March 26, 2024 4:14:19 AM PDT
                Message: 
 
Task Name                                Node Name                 Start Time                               End Time                    Status         
---------------------------------------- ------------ ---------------------------------------- --------------------------------         ------
Validate backup config                   oda1          March 26, 2024 4:14:21 AM PDT            March 26, 2024 4:14:21 AM PDT            Success        
NFS location existence validation        oda1          March 26, 2024 4:14:21 AM PDT            March 26, 2024 4:14:22 AM PDT            Success        
Recovery Window validation               oda1          March 26, 2024 4:14:22 AM PDT            March 26, 2024 4:14:24 AM PDT            Success        
Archivelog deletion policy configuration oda1          March 26, 2024 4:14:24 AM PDT            March 26, 2024 4:14:26 AM PDT            Success        
Database backup                          oda1          March 26, 2024 4:14:26 AM PDT            March 26, 2024 4:15:21 AM PDT            Success
[odaadmin@oda1 bin]$ odacli describe-backupreport -i d2326683-9766-4933-bee1-a2b59c9d7e9e
{
  "id" : "d2326683-9766-4933-bee1-a2b59c9d7e9e",
  "dbResId" : "96a98156-b657-403e-a87c-357c2069c285",
  "tag" : "auto",
  "dbId" : "1851419729",
  "dbName" : "db15",
  "dbUniqueName" : "db15",
  "backupType" : "Regular-L0",
  "keepDays" : null,
  "backupLocation" : "/nfs_backup/orabackups/dbsfb225975e/database/1851419729/db15/db",
  "cfBackupHandle" : "/nfs_backup/orabackups/dbsfb225975e/database/1851419729/db15/db/c-1851419729-20240326-03",
  "spfBackupHandle" : "/nfs_backup/orabackups/dbsfb225975e/database/1851419729/db15/db/c-1851419729-20240326-03",
  "pitrTimeStamp" : "March 26, 2024 04:15:06 AM PDT",
  "pitrSCN" : "1675444",
  "resetLogsTimeStamp" : "March 26, 2024 03:01:39 AM PDT",
  "resetLogsSCN" : "1575481",
  "oraHomeVersion" : "19.23.0.0.240116",
  "sqlPatches" : "35926646,34774667,35943157",
  "backupLogLoc" : "/nfs_backup/orabackups/dbsfb225975e/database/1851419729/db15/rmanlog/2024-03-26/rman_backup_auto_2024-03-26_04-14-29.0478.log",
  "tdeWalletLoc" : null,
  "dbConfigLoc" : "/nfs_backup/orabackups/dbsfb225975e/database/1851419729/db15/dbconfig/2024-03-26/DBCONFIG_auto_2024-03-26_04-15-19.0472.tar.gz",
  "name" : "Backup_Report_db15",
  "createTime" : "March 26, 2024 04:14:26 AM PDT",
  "state" : {
    "status" : "CONFIGURED"
  },
  "updatedTime" : "March 26, 2024 04:14:26 AM PDT",
  "backupReportLogDetail" : "/nfs_backup/orabackups/dbsfb225975e/database/1851419729/db15/rmandetaillogreport/2024-03-26/rman_list_backup_detail_auto_2024-03-26_04-15-16.0129.log",
  "dbInfo" : {
    "dbClass" : "OLTP",
    "dbType" : "RAC",
    "dbShape" : "odb2",
    "dbEdition" : "EE",
    "dbStorage" : "ASM",
    "dbRedundancy" : null,
    "pdbName" : null,
    "isCdb" : false
  },
  "dbDataSize" : "2441M",
  "dbRedoSize" : "16403M",
  "rmanBackupPieces" : "/nfs_backup/orabackups/dbsfb225975e/database/1851419729/db15/backuppieces/2024-03-26/backupPieces_auto_96a98156-b657-403e-a87c-357c2069c285_20240326041518.json",
  "compressionAlgo" : "BASIC",
  "cpuPool" : null,
  "numberOfCores" : null,
  "keystoreType" : "OKV",
}
TDEウォレット・バックアップがサポートされていないため、キーストア・タイプがOKVの場合は、odacli create-backupコマンドでコンポーネントをtdewalletとして指定すると、エラーが発生します。
[odaadmin@oda1 bin]$ odacli create-backup -n db15 -c tdewallet
DCS-10144:TDE wallet backup operation is not supported for TDE databases with OKV keystore type.

Oracle Key Vaultユーザーの資格証明を使用してOracle Key Vaultを使用して構成されたTDEを使用したデータベースのリカバリの実行

odacli recover-databaseコマンドを使用し、Oracle Key Vaultを使用してTDEが構成されたデータベースをリカバリします。たとえば、データベースkokvdb2をリカバリするには、次のコマンドを実行します:
odacli recover-database -n kokvdb2 -t latest
{
  "jobId" : "8a50d65f-2269-41ff-b030-51fe4ecc82b5",
  "status" : "Created",
  "message" : null,
  "reports" : [ ],
  "createTimestamp" : "July 15, 2024 18:26:26 PM CST",
  "resourceList" : [ ],
  "description" : "Create recovery-latest for DB : kokvdb2",
  "updatedTime" : "July 15, 2024 18:26:26 PM CST",
  "jobType" : null
}
 
odacli describe-job -i 8a50d65f-2269-41ff-b030-51fe4ecc82b5
 
Job details                                                     
----------------------------------------------------------------
                     ID:  8a50d65f-2269-41ff-b030-51fe4ecc82b5
            Description:  Create recovery-latest for DB : kokvdb2
                 Status:  Success
                Created:  July 15, 2024 6:26:26 PM CST
                Message: 
 
Task Name                                Start Time                               End Time                                 Status         
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
Database recovery validation             July 15, 2024 6:26:30 PM CST             July 15, 2024 6:27:50 PM CST             Success        
Database recovery                        July 15, 2024 6:27:50 PM CST             July 15, 2024 6:30:07 PM CST             Success        
Enable block change tracking             July 15, 2024 6:30:07 PM CST             July 15, 2024 6:30:12 PM CST             Success        
Database opening                         July 15, 2024 6:30:12 PM CST             July 15, 2024 6:30:15 PM CST             Success        
Database restart                         July 15, 2024 6:30:15 PM CST             July 15, 2024 6:31:31 PM CST             Success        
Recovery metadata persistence            July 15, 2024 6:31:31 PM CST             July 15, 2024 6:31:31 PM CST             Success         
TDEウォレットは、Oracle Database ApplianceではなくOracle Key Vaultサーバーに格納されるため、リストアおよびリカバリ操作にODACLIコマンドを使用できません。キーストア・タイプがOKVで、odacli recover-databaseコマンドでコンポーネントをtdewalletとして指定すると、エラーが発生します。
[odaadmin@oda1 bin]$ odacli recover-database -n db15 -tl /nfs_backup/ewallet.p12 -t latest
DCS-10045:Validation error encountered: Usage of TDE wallet related parameters is not allowed for a TDE database with OKV keystore type.

[odaadmin@oda1 bin]$ odacli restore-tdewallet -n db15
Enter TDE wallet password:
DCS-10144:Restore TDE wallet operation is not supported for TDE databases with OKV keystore type.

Oracle Key Vaultのエンドポイントを含むOracle Key Vaultを使用してTDEが構成されたデータベースのリカバリの実行

odacli recover-databaseコマンドを実行すると、TDEパスワードを要求されます。データベース・リカバリの前に、キー管理の管理コマンドを使用してローカルの自動ログイン・ウォレットが再生成されます。データベース・リカバリ用のTDEパスワードを指定する必要があります。
odacli recover-database -n kokvdb2 -t latest
Enter the TDE password:
 
 
odacli describe-job -i 8a50d65f-2269-41ff-b030-51fe4ecc82b5
  
Job details                                                    
----------------------------------------------------------------
                     ID:  8a50d65f-2269-41ff-b030-51fe4ecc82b5
            Description:  Create recovery-latest for DB : kokvdb2
                 Status:  Success
                Created:  July 15, 2024 6:26:26 PM CST
                Message:
  
Task Name                                Start Time                               End Time                                 Status        
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
Auto login TDE Wallet creation           July 15, 2024 6:26:30 PM CST             July 15, 2024 6:27:50 PM CST
Database recovery validation             July 15, 2024 6:26:30 PM CST             July 15, 2024 6:27:50 PM CST             Success       
Database recovery                        July 15, 2024 6:27:50 PM CST             July 15, 2024 6:30:07 PM CST             Success       
Enable block change tracking             July 15, 2024 6:30:07 PM CST             July 15, 2024 6:30:12 PM CST             Success       
Database opening                         July 15, 2024 6:30:12 PM CST             July 15, 2024 6:30:15 PM CST             Success       
Database restart                         July 15, 2024 6:30:15 PM CST             July 15, 2024 6:31:31 PM CST             Success       
Recovery metadata persistance            July 15, 2024 6:31:31 PM CST             July 15, 2024 6:31:31 PM CST             Success

データベース・リカバリ中のエラー

TDEウォレットは、Oracle Database ApplianceではなくOracle Key Vaultサーバーに格納されるため、リストアおよびリカバリ操作にODACLIコマンドを使用できません。キーストア・タイプがOKVで、odacli recover-databaseコマンドでコンポーネントをtdewalletとして指定すると、エラーが発生します。
[odaadmin@oda1 bin]$ odacli recover-database -n db15 -tl /nfs_backup/ewallet.p12 -t latest
DCS-10045:Validation error encountered: Usage of TDE wallet related parameters is not allowed for a TDE database with OKV keystore type.

[odaadmin@oda1 bin]$ odacli restore-tdewallet -n db15
Enter TDE wallet password:
DCS-10144:Restore TDE wallet operation is not supported for TDE databases with OKV keystore type.

Oracle Key Vaultユーザー資格証明を使用したTDE対応データベースのリストア

Oracle Key Vault上のユーザーの資格証明を使用して、Oracle Database Applianceベア・メタル・システムおよびDBシステム上のデータベース・バックアップを使用してTDE対応データベースをリストアする方法を理解します。

前提条件

  • Oracle Data Guard構成でプライマリ・ロールがあるデータベースをリストアするには、リストア・コマンドを実行する前に、ターゲット・データベースのTDEウォレットをOracle Key Vaultサーバーに作成する必要があります。このTDEウォレットは、ソース・データベースのウォレットのコピーです。
  • Oracle Data Guard構成でスタンバイ・ロールがあるデータベースをリストアする場合、TDEウォレットのコピーを作成しないでください。プライマリ・データベースのTDEウォレットをスタンバイ・データベースに使用する必要があります。

ステップ1: Oracle Key Vaultユーザーを作成します。このステップは、マルチユーザー・アクセス対応システムにのみ適用されます。

ODA-OKVCONFIGADMINロールを持つユーザーが存在しない場合、またはリストアするデータベースに別のユーザーを割り当てる場合は、ユーザーを作成します。

  1. ODA-OKVCONFIGADMINロールを持つ新規ユーザーを作成します。たとえば:
    odacli create-user -u okvuser1 -r ODA-OKVCONFIGADMIN

    ユーザーが作成され、一時パスワードが割り当てられます。

  2. 正常に作成された後に、okvuser1は一時パスワードを使用してアプライアンスにログインできます。
  3. okvuser1Inactive状態です。アプライアンスがマルチユーザー・アクセスを有効にして構成されている場合は、次のコマンドを使用してユーザーをアクティブ化します。アプライアンスがパスワードなしのマルチユーザー・アクセスで構成されている場合は、ユーザーをアクティブ化する必要はありません。マルチユーザー・アクセスの構成の詳細は、Oracle Database Applianceでのマルチユーザー・アクセスの実装のトピックを参照してください。
    odacli activate-user

    パスワードを変更するように求められます。一時パスワードと新しいパスワードを入力し、新しいパスワードを確認します。

  4. 新しいパスワードを使用してアプライアンスにSSHで接続し、ODACLIコマンドを実行するか、ブラウザ・ユーザー・インタフェースに接続します。

ステップ2: Oracle Key Vaultサーバー構成を作成します

ターゲット・データベースのOracle Key Vaultサーバー構成を作成します。同じOracle Key Vaultサーバーに対するOracle Key Vaultサーバー構成がまだ存在していない場合にのみ、新しいOracle Key Vaultサーバー構成を作成します。構成がすでに存在する場合は、既存の構成を使用します。

  1. Oracle Key Vaultサーバー構成を作成するOracle Key Vaultユーザーは、Oracle Key VaultサーバーでのCreate Endpointの最小権限を持つユーザーである必要があります。
  2. マルチユーザー・アクセス対応システムの場合、ODA-OKVCONFIGADMINロールを持つユーザーとしてログインします(たとえば、okvuser1)。マルチユーザー・アクセス対応でないシステムの場合は、rootユーザーとしてログインします。
  3. Oracle Key Vaultパスワード・プロンプトが2回表示され、Oracle Key Vaultパスワードを受け入れて確認します。これは、Oracle Key Vaultサーバー上のOracle Key Vaultユーザーのパスワードです。これにより、ユーザーはOracle Key Vaultサーバーにログインできるようになります。odacli create-okvserverconfigコマンドの-uオプションでユーザー名を指定します。Oracle Key Vaultサーバー構成の名前は大/小文字が区別され、Oracle Database Applianceで2つのOracle Key Vaultサーバー構成に同じ名前を付けることはできません。Oracle Key Vaultサーバー構成の長さは128文字を超えることはできません。
    odacli create-okvserverconfig -n okvobj1 -u epokvusr1 -ip xxx.xx.xxx.xxx
    Enter OKV user password :
    Retype OKV user password :
    Job details
    ----------------------------------------------------------------
                         ID: 8878fc02-3d64-4519-bf52-fcb50839f89f
                Description: Create OKV Server Config: okvcfg5
                     Status: Success
                    Created: October 14, 2024 14:04:29 UTC
                    Message: Create OKV Server Config.
    
    Task Name                                Node Name                 Start Time                               End Time                                 Status
    ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
    OKV Password Store creation                          oda1          October 14, 2024 14:04:29 UTC            October 14, 2024 14:04:56 UTC            Success
    Download of OKV REST package                         oda1          October 14, 2024 14:04:31 UTC            October 14, 2024 14:04:32 UTC            Success
    Edit of OKV REST package                             oda1          October 14, 2024 14:04:32 UTC            October 14, 2024 14:04:32 UTC            Success
    Generate OKV client wallets                          oda1          October 14, 2024 14:04:32 UTC            October 14, 2024 14:04:35 UTC            Success 

    このコマンドは、指定されたサーバー上のOracle Key Vaultサーバー・ユーザーepokvusr1に対して、Oracle Key Vaultサーバー構成okvobj1を作成します。

ステップ3: ODACLIコマンドを使用して、ソース・ウォレットからOracle Key Vaultサーバーのターゲット・ウォレットにTDEキーをコピーします

odacli copy-okvtdewalletコマンドを使用して、TDEウォレットをOracle Key Vaultサーバーにコピーします。コマンドで、ソース・ウォレット名(--source-wallet-name | -swn)、ターゲット・ウォレットのOracle Key Vaultサーバー構成オブジェクト名(--target-okvserverconfig | -tosc)およびターゲット・ウォレット名(--target-wallet-name | -twn)を指定します。ターゲット・ウォレット名(--target-wallet-name | -twn)パラメータに指定された名前の新しいウォレットが、ターゲットのOracle Key Vaultサーバーに作成されます。このウォレットには、ソース・ウォレットからコピーされたTDEキーが含まれています。

ソース・ウォレットがターゲット・ウォレットとは異なるOracle Key Vaultサーバー上にある場合は、ソース・ウォレットのOracle Key Vaultサーバーの詳細(サーバーのホスト名(--source-hostname | -shn)やIPアドレス(--source-ip | -sip)、およびOracle Key Vaultサーバー上のウォレットを所有するユーザーの名前(--source-username | -su)など)を指定します。この場合、プロンプトが表示されたらパスワードを指定する必要があります。これは、Oracle Key Vaultサーバーのソース・ウォレットを所有するOracle Key Vaultユーザーのパスワードです。マルチユーザー・アクセス対応システムの場合、Oracle Database ApplianceでOracle Key Vaultユーザーとしてこのコマンドを実行します。

TDEウォレットをコピーする場合、次の3つのシナリオがあります:

シナリオ1: 同じOracle Key Vaultユーザーを使用して同じOracle Key VaultサーバーにTDEウォレットをコピーします

この場合、ソースTDEウォレットとターゲットTDEウォレットは同じOracle Key Vaultサーバー上にあり、両方ともOKVサーバー上の同じユーザーが所有しています。たとえば:
odacli copy-okvtdewallet -swn tdeokv_on_oda8m013-c -tosc okvobj1 -twn tdeokvss
Job details                                                     
----------------------------------------------------------------
                     ID:  50df7dcc-8e17-48db-9206-879c44e57c20
            Description:  Copy wallet in OKV server
                 Status:  Success
                Created:  June 20, 2024 2:56:02 AM CST
                Message: 
 
Task Name                                Start Time                               End Time                                 Status         
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
Creating a TDE wallet copy in the OKV    June 20, 2024 2:56:03 AM CST             June 20, 2024 2:57:17 AM CST             Success        
server

シナリオ2: 同じOracle Key Vaultサーバー上のTDEウォレットをコピーしますが、別のOracle Key Vaultユーザーを使用します

この場合、ソース・ウォレットとターゲット・ウォレットは同じOracle Key Vaultサーバー上にありますが、Oracle Key Vaultサーバー上の異なるユーザーが所有しています。Oracle Key Vaultのソース・ウォレットの所有者は、ウォレットをコピーするODACLIコマンドを実行する前に、Oracle Key Vaultのターゲット・ウォレットの所有者にウォレットの読取りおよび管理アクセス権限を指定する必要があります。

次のステップに従って、ターゲット・ウォレットのOracle Key Vaultユーザーにウォレットの読取りおよび管理権限を指定します:
  1. Oracle Key Vaultサーバーにソース・ウォレットのOracle Key Vaultユーザーとしてログインします。
  2. 「Keys and Wallets」タブに移動します。「source wallet」チェック・ボックスを選択し、「Edit」アイコンをクリックします。
  3. 「Wallet Access Settings」セクションに移動し、「Add」をクリックします。
  4. 「Type」のドロップダウン・リストで、「Users」を選択し、ターゲット・ウォレットのOracle Key Vaultユーザーのチェック・ボックスを選択します。
  5. 「Access Level」セクションで、「Read Only」および「Manage Wallet」を選択します。
  6. 「Save」をクリックします。
ターゲット・ウォレット・ユーザーに必要な権限を指定したら、odacli copy-okvtdewalletコマンドを実行します。
odacli copy-okvtdewallet -swn tdeokv_on_oda8m013-c -tosc okvobj2 -twn tdeokvdu
Job details                                                     
----------------------------------------------------------------
                     ID:  50df7dcc-8e17-48db-9206-879c44e57c20
            Description:  Copy wallet in OKV server
                 Status:  Success
                Created:  June 20, 2024 2:56:02 AM CST
                Message: 
 
Task Name                                Start Time                               End Time                                 Status         
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
Creating a TDE wallet copy in the OKV    June 20, 2024 2:56:03 AM CST             June 20, 2024 2:57:17 AM CST             Success        
server

シナリオ3: TDEウォレットを別のOracle Key Vaultサーバーにコピーします

この場合、ソース・ウォレットとターゲット・ウォレットは異なるOracle Key Vaultサーバー上にあります。odacli copy-okvtdewalletコマンドで、ソース・ウォレットのOracle Key Vaultサーバーの詳細を指定します。プロンプトが表示されたら、ソース・ウォレットのOracle Key Vaultユーザーのパスワードを指定します。たとえば:
odacli copy-okvtdewallet -swn tdeokv_on_oda8m013-c -sip xxx.xx.x.xxx -su epokvusr1 -tosc okvobj3 -twn tdeokvds
Enter OKV user password:
Retype OKV user password:
 
Job details                                                     
----------------------------------------------------------------
                     ID:  50df7dcc-8e17-48db-9206-879c44e57c20
            Description:  Copy wallet in OKV server
                 Status:  Success
                Created:  June 20, 2024 2:56:02 AM CST
                Message: 
 
Task Name                                Start Time                               End Time                                 Status         
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
Creating a TDE wallet copy in the OKV    June 20, 2024 2:56:03 AM CST             June 20, 2024 2:57:17 AM CST             Success        
server

ステップ3の代替方法: Oracle Key Vaultユーザー・インタフェースを使用して、ソース・データベース・ウォレットからターゲット・データベース・ウォレットにTDEキーをコピーします

ODACLIコマンドを使用するかわりに、Oracle Key Vaultサーバーにターゲット・データベースの新しいウォレットを作成し、次のようにOracle Key Vaultユーザー・インタフェースを使用してソース・データベースのTDEキーをウォレットにコピーできます:
  1. Oracle Key Vaultサーバーにログインします。
  2. 「Keys & Wallets」に移動します。
  3. Oracle Key Vaultユーザーは、ソース・データベース・ウォレットの「Access Settings」セクションからウォレットの読取り、書込みおよび管理権限を指定する必要があります。
  4. 新しいウォレットを作成するには、「Create」をクリックします。
  5. ターゲット・データベースのウォレットに新しい名前を指定します。
  6. 新しいウォレットの作成時に、ソース・データベースのTDEキーをコピーします。「Add Wallet Contents」セクションでソース・データベースの名前を検索します。キーが表示されたら、データベースのすべての「TDE Master Encryption Key」チェック・ボックスを選択します。
  7. ウォレットを保存するには、「Save」をクリックします。
  8. このステップは、Oracle Key Vault管理者がOracle Key Vaultユーザーのウォレットを作成した場合にのみ実行します。作成後に、管理者がウォレットに対する読取り/書込みアクセス権およびウォレット管理アクセス権をユーザーに指定していることを確認します。
    1. Oracle Key Vault管理者としてOracle Key Vaultサーバーにログインします。
    2. 「Keys & Wallets」タブで、新しく作成したウォレットのチェック・ボックスを選択し、ウォレットの「Edit」オプションをクリックします。
    3. 「Wallet Access Settings」で、「Add」をクリックします。
    4. 「Select Endpoint/User Group」セクションで、ドロップダウン・リストから「Users」を選択します。
    5. ウォレットへのアクセス権を指定するOracle Key Vaultユーザーのチェック・ボックスを選択します。
    6. 「Access Level」セクションで、「Read and Modify」および「Manage Wallet」オプションを選択します。
    7. ウォレットのアクセス設定を保存するには、「Save」をクリックします。

ステップ4: Oracle Key Vaultに格納されているTDEキーを使用してTDE対応データベースをリストアします

odacli irestore-databaseコマンドを使用して、Oracle Key Vaultに格納されているTDEキーを使用してTDE対応データベースをリストアします。コマンドでオプション--enable-tde--okv-server-config--okv-wallet-nameおよびkeystore-typeを指定します。

オプション--enable-tde,-tは、--okv-server-configオプションで指定したOracle Key Vaultサーバー構成を使用して、リストアされたデータベースをTDEで構成する必要があることを示します。このようなirestoreが実行されたデータベースのキーストアはOKVに設定されています。リストアされたデータベース・オブジェクトのokvServerConfigName属性は、irestoreリクエストで指定されたOracle Key Vaultサーバー構成の名前に設定されます。--okv-wallet-nameパラメータを使用して、ターゲット・データベースのウォレット名を指定します。このウォレットはOracle Key Vaultサーバーに存在する必要があり、TDEキーは、irestore操作を実行する前にウォレットにコピーする必要があります。

ウォレットはOracle Key Vaultサーバーにすでに作成されているため、ウォレットの名前、ウォレットが作成されるOracle Key Vaultサーバーの構成、およびキーストア・タイプ(この場合はOKV)をodacli irestore-databaseコマンドで指定します:
odacli irestore-database -r /tmp/db1Backupreport.json -t -osc okvobj1 -kt OKV -own db2_wallet -n okvdb15
Enter SYS and SYSTEM user password:
Enter SYS and SYSTEM user password:
 
Job details                                                     
----------------------------------------------------------------
                     ID:  dc44f3f0-5af3-4402-ad23-e923e1446371
            Description:  Database service recovery with DB name: okvdb15
                 Status:  Success
                Created:  July 5, 2024 6:54:00 AM EDT
                Message: 
 
Task Name                                Node Name                 Start Time                               End Time                                 Status         
---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
Check if cluster ware is running          oda1                    July 5, 2024 6:54:23 AM EDT              July 5, 2024 6:54:23 AM EDT              Success        
Check if cluster ware is running          oda2                   July 5, 2024 6:54:23 AM EDT              July 5, 2024 6:54:24 AM EDT              Success        
Creating DbStorage for DbRestore          oda1                   July 5, 2024 6:54:25 AM EDT              July 5, 2024 6:54:42 AM EDT              Success        
Validating DiskSpace for DATA             oda1                    July 5, 2024 6:54:25 AM EDT              July 5, 2024 6:54:27 AM EDT              Success        
Setting up SSH equivalence                oda1                    July 5, 2024 6:54:27 AM EDT              July 5, 2024 6:54:34 AM EDT              Success        
Configuring user access to ACFS           oda1                    July 5, 2024 6:54:38 AM EDT              July 5, 2024 6:54:39 AM EDT              Success        
filesystems for okvdb15                                                                                                                                             
Audit directory creation                  oda1                  July 5, 2024 6:54:40 AM EDT              July 5, 2024 6:54:40 AM EDT              Success        
Audit directory creation                  oda2                  July 5, 2024 6:54:41 AM EDT              July 5, 2024 6:54:41 AM EDT              Success        
Configure TDE for RestoreDb TaskFlow      oda1                  July 5, 2024 6:54:46 AM EDT              July 5, 2024 6:56:07 AM EDT              Success        
Auxiliary Instance Creation               oda1                   July 5, 2024 6:54:50 AM EDT              July 5, 2024 6:55:30 AM EDT              Success        
TDE Wallet directory creation             oda1                   July 5, 2024 6:55:30 AM EDT              July 5, 2024 6:55:31 AM EDT              Success        
OKV Endpoint configuration                oda1                   July 5, 2024 6:55:31 AM EDT              July 5, 2024 6:56:02 AM EDT              Success        
Auto login TDE Wallet creation            oda1                   July 5, 2024 6:56:02 AM EDT              July 5, 2024 6:56:04 AM EDT              Success        
Password based TDE Wallet open            oda1                    July 5, 2024 6:56:04 AM EDT              July 5, 2024 6:56:07 AM EDT              Success        
Create pfile for Auxiliary Instance       oda1                    July 5, 2024 6:56:07 AM EDT              July 5, 2024 6:56:08 AM EDT              Success        
Rman duplicate                            oda1                    July 5, 2024 6:56:08 AM EDT              July 5, 2024 7:01:22 AM EDT              Success        
Creating pfile from spfile                oda1                    July 5, 2024 7:01:23 AM EDT              July 5, 2024 7:01:24 AM EDT              Success        
Set PFile Ownership                       oda1                    July 5, 2024 7:01:24 AM EDT              July 5, 2024 7:01:24 AM EDT              Success        
Customize Db Parameters                   oda1                    July 5, 2024 7:01:25 AM EDT              July 5, 2024 7:01:36 AM EDT              Success        
Shutdown And Start database               oda1                    July 5, 2024 7:01:36 AM EDT              July 5, 2024 7:06:51 AM EDT              Success        
Create spfile for restore db              oda1                    July 5, 2024 7:06:51 AM EDT              July 5, 2024 7:06:53 AM EDT              Success        
Set PFile Ownership                       oda1                    July 5, 2024 7:06:53 AM EDT              July 5, 2024 7:06:53 AM EDT              Success        
Shutdown And Mount database               oda1                    July 5, 2024 7:06:54 AM EDT              July 5, 2024 7:08:22 AM EDT              Success        
Re-Create control file                    oda1                    July 5, 2024 7:08:23 AM EDT              July 5, 2024 7:09:21 AM EDT              Success        
Removing Disabled Redo Threads            oda1                    July 5, 2024 7:09:21 AM EDT              July 5, 2024 7:09:23 AM EDT              Success        
Updating DB attributes                    oda1                    July 5, 2024 7:09:23 AM EDT              July 5, 2024 7:09:25 AM EDT              Success        
Register Database taskflow                oda1                    July 5, 2024 7:09:30 AM EDT              July 5, 2024 7:14:51 AM EDT              Success
Create SPFile in shared loc               oda1                    July 5, 2024 7:09:30 AM EDT              July 5, 2024 7:09:40 AM EDT              Success        
Delete Local Spfile                       oda1                    July 5, 2024 7:09:40 AM EDT              July 5, 2024 7:09:41 AM EDT              Success        
Register DB with clusterware              oda1                    July 5, 2024 7:09:41 AM EDT              July 5, 2024 7:11:19 AM EDT              Success        
Add Startup Trigger to Open all PDBS      oda1                    July 5, 2024 7:11:20 AM EDT              July 5, 2024 7:11:20 AM EDT              Success        
Set SysPassword and Create PwFile         oda1                    July 5, 2024 7:11:21 AM EDT              July 5, 2024 7:11:24 AM EDT              Success        
Enable block change tracking              oda1                    July 5, 2024 7:11:25 AM EDT              July 5, 2024 7:11:37 AM EDT              Success        
Creating pfile                            oda1                    July 5, 2024 7:11:37 AM EDT              July 5, 2024 7:11:39 AM EDT              Success        
Updating db env                           oda1                    July 5, 2024 7:11:39 AM EDT              July 5, 2024 7:11:40 AM EDT              Success        
Enable DbSizing Template                  oda1                    July 5, 2024 7:11:40 AM EDT              July 5, 2024 7:13:14 AM EDT              Success        
Update Database Global Name               oda1                    July 5, 2024 7:13:14 AM EDT              July 5, 2024 7:13:17 AM EDT              Success        
Create tns entry                          oda1                    July 5, 2024 7:13:18 AM EDT              July 5, 2024 7:13:19 AM EDT              Success        
Create tns entry                         oda2                     July 5, 2024 7:13:19 AM EDT              July 5, 2024 7:13:21 AM EDT              Success        
Running datapatch                         oda1                    July 5, 2024 7:13:21 AM EDT              July 5, 2024 7:13:52 AM EDT              Success        
Set CPU pool                              oda1                    July 5, 2024 7:13:52 AM EDT              July 5, 2024 7:13:52 AM EDT              Success        
Reset Associated Networks for Database    oda1                    July 5, 2024 7:14:54 AM EDT              July 5, 2024 7:15:00 AM EDT              Success        
Reset Associated Networks                oda2                     July 5, 2024 7:15:00 AM EDT              July 5, 2024 7:15:01 AM EDT              Success        
Set log_archive_dest for Database         oda1                    July 5, 2024 7:15:01 AM EDT              July 5, 2024 7:15:07 AM EDT              Success        
Setting Database parameter for OKV        oda1                    July 5, 2024 7:15:07 AM EDT              July 5, 2024 7:16:43 AM EDT              Success        
Enable New Tablespace Encryption          oda1                    July 5, 2024 7:16:45 AM EDT              July 5, 2024 7:16:47 AM EDT              Success        
Copy Pwfile to Shared Storage             oda1                    July 5, 2024 7:16:47 AM EDT              July 5, 2024 7:16:58 AM EDT              Success        
Configure All Candidate Nodes             oda1                    July 5, 2024 7:16:58 AM EDT              July 5, 2024 7:17:01 AM EDT              Success
ODACLIコマンドを使用してウォレットをコピーし、コマンドにウォレット名を指定して、データベースをリストアします。odacli copy-okvtdewalletコマンドを使用してソース・データベースのウォレットのTDEキーをコピーした後、odacli irestore-databaseコマンドでターゲットOracle Key Vaultウォレット名を指定します。
odacli irestore-database -r /tmp/db1Backupreport.json -t -osc okvobj1 -kt OKV -own db2_wallet
Enter SYS and SYSTEM user password:
Enter SYS and SYSTEM user password:

Oracle Key Vaultで手動で作成されたエンドポイントおよびウォレットを使用したTDE対応データベースのリストア

Oracle Key Vaultで手動で作成されたエンドポイントおよびウォレットを使用して、Oracle Database ApplianceでTDE対応データベースをリストアする方法を理解します。この方法では、ベア・メタル・システムおよびDBシステムでのTDE対応データベースの作成がサポートされています。

前提条件

  • Oracle Data Guard構成でプライマリ・ロールがあるデータベースをリストアするには、リストア・コマンドを実行する前に、ターゲット・データベースのTDEウォレットをOracle Key Vaultサーバーに作成する必要があります。このTDEウォレットは、ソース・データベースのウォレットのコピーです。
  • Oracle Data Guard構成でスタンバイ・ロールがあるデータベースをリストアする場合、TDEウォレットのコピーを作成しないでください。プライマリ・データベースのTDEウォレットをスタンバイ・データベースに使用する必要があります。
  • 作成されたTDEウォレットは、作成されたエンドポイントのデフォルト・ウォレットとして設定する必要があります。
  • 各エンドポイントに対応するokvclient.jarファイルをダウンロードし、データベースのリストア・リクエストを発行するOracle Database Applianceノードにコピーする必要があります。

ステップ1: Oracle Key Vaultユーザー・インタフェースを使用して、ソース・データベース・ウォレットからターゲット・データベース・ウォレットにTDEキーをコピーします

Oracle Key Vaultサーバーにターゲット・データベースの新しいウォレットを作成し、次のようにソース・データベースのTDEキーをウォレットにコピーします:
  1. Oracle Key Vaultサーバーにログインします。
  2. 「Keys & Wallets」に移動します。
  3. Oracle Key Vaultユーザーは、ソース・データベース・ウォレットの「Access Settings」セクションからウォレットの読取り、書込みおよび管理権限を指定する必要があります。
  4. 新しいウォレットを作成するには、「Create」をクリックします。
  5. ターゲット・データベースのウォレットに新しい名前を指定します。
  6. 新しいウォレットの作成時に、ソース・データベースのTDEキーをコピーします。「Add Wallet Contents」セクションでソース・データベースの名前を検索します。キーが表示されたら、データベースのすべての「TDE Master Encryption Key」チェック・ボックスを選択します。
  7. ウォレットを保存するには、「Save」をクリックします。
  8. このステップは、Oracle Key Vault管理者がOracle Key Vaultユーザーのウォレットを作成した場合にのみ実行します。作成後に、管理者がウォレットに対する読取り/書込みアクセス権およびウォレット管理アクセス権をユーザーに指定していることを確認します。
    1. Oracle Key Vault管理者としてOracle Key Vaultサーバーにログインします。
    2. 「Keys & Wallets」タブで、新しく作成したウォレットのチェック・ボックスを選択し、ウォレットの「Edit」オプションをクリックします。
    3. 「Wallet Access Settings」で、「Add」をクリックします。
    4. 「Select Endpoint/User Group」セクションで、ドロップダウン・リストから「Users」を選択します。
    5. ウォレットへのアクセス権を指定するOracle Key Vaultユーザーのチェック・ボックスを選択します。
    6. 「Access Level」セクションで、「Read and Modify」および「Manage Wallet」オプションを選択します。
    7. ウォレットのアクセス設定を保存するには、「Save」をクリックします。

ステップ2: エンドポイントを作成し、デフォルト・ウォレットを設定します

次のステップに従います:
  1. 各インスタンスに対応するエンドポイントを作成します。Oracle RACデータベースの場合、2つのインスタンスに対応する2つのエンドポイントを作成します。単一インスタンス・データベースの場合、1つのインスタンスに対応するエンドポイントを1つ作成します。
    1. Oracle Key Vaultホームページで、「Endpoints」タブに移動し、「Add」をクリックします。
    2. 「Endpoint Name」を指定します。「Type」「Oracle Database」「Platform」「Linux」を選択し、「Register」をクリックします。
  2. 「Default Wallet」ページで、「Choose Wallet」をクリックし、作成したエンドポイントのデフォルト・ウォレットを設定します。

ステップ3: Oracle Key Vaultコマンドを使用してTDEウォレットをOracle Key Vaultサーバーにダウンロードします

マルチユーザー・アクセス対応システムおよびマルチユーザー・アクセスのパスワードなしシステムの場合、Oracle Key Vaultサーバー・ユーザーとしてログインします。マルチユーザー・アクセス対応でないシステムの場合、oracleユーザーとしてログインし、次のステップに従います:
  1. /tmp/work/tmp/work/client_walletなどの作業ディレクトリを作成します。/tmp/workディレクトリに移動します。Oracle Key VaultサーバーからRESTfulサービス・ユーティリティをダウンロードして抽出します。3つのディレクトリbinlibおよびconfが表示されます。
    mkdir /tmp/work/
    mkdir /tmp/work/client_wallet
    cd /tmp/work
    curl -Ok https://okv_server_ip:5695/okvrestclipackage.zip
    % Total % Received % Xferd Average Speed Time Time Time Current
                                     Dload Upload Total Spent Left Speed
    100 3750k 100 3750k 0 0 2500k 0 0:00:01 0:00:01 --:--:-- 2500k
  2. okvrestclipackage.zipファイルのコンテンツを抽出します。conf/okvrestcli.iniファイルを編集し、Oracle Key VaultサーバーのIPアドレス、ユーザー名、およびクライアント自動ログイン・ウォレットが作成されるディレクトリへのパスを追加します。次の例では、クライアント自動ログイン・ウォレットが/tmp/work/client_walletディレクトリに作成されます。
    #Provide absolute path for log_property, okv_client_config properties
            [Default]
            log_property=./conf/okvrestcli_logging.properties
            server=<okv_server_ip>
            okv_client_config=./conf/okvclient.ora
            user=<okv_user>
            client_wallet=/tmp/work/client_wallet
    
  3. bin/okvファイルを編集し、行export OKV_RESTCLI_CONFIG=$OKV_RESTCLI_DIR/conf/okvrestcli.iniをコメント解除します。JAVA_HOMEを次のように設定します:
    #!/bin/bash
        export OKV_RESTCLI_DIR=$(dirname "${0}")/..
        export OKV_RESTCLI_CONFIG=$OKV_RESTCLI_DIR/conf/okvrestcli.ini
        export JAVA_HOME=/opt/oracle/dcs/java/1.8.0_xxx
        if [ -z "$JAVA_HOME" ]
        then
          echo "JAVA_HOME environment variable is not set."
          exit 1
        fi
          
        if [ -z "$OKV_RESTCLI_CONFIG" ]
        then
          echo "OKV_RESTCLI_CONFIG environment variable is not set."
          exit 1
        fi
          
        export OKV_RESTCLI_JAR=$OKV_RESTCLI_DIR/lib/okvrestcli.jar
        $JAVA_HOME/bin/java -jar $OKV_RESTCLI_JAR "$@"
  4. クライアント自動ログイン・ウォレットを生成します。プロンプトが表示されたら、Oracle Key Vaultパスワードを指定します。
    /tmp/work/bin/okv admin client-wallet add --client-wallet /tmp/work/client_wallet --wallet-user okv_user
        Password:
  5. ウォレットに対応するエンドポイントを作成します。Oracle RACデータベースの場合、各データベース・インスタンスに固有の2つのエンドポイントを作成する必要があります。Oracle Key Vaultサーバー・ユーザー・インタフェースを使用してエンドポイントがまだ作成されていない場合にのみ、このステップを実行します。
    /tmp/work/bin/okv admin endpoint create --endpoint endpoint_name --type ORACLE_DB --platform LINUX64 --strict-ip-check TRUE
  6. ステップ1で作成したウォレットをエンドポイントのデフォルト・ウォレットとして設定します。Oracle RACデータベースの場合、両方のエンドポイントのデフォルト・ウォレットは同じTDEウォレットである必要があります。このステップは、Oracle Key Vaultサーバー・ユーザー・インタフェースを使用して、TDEウォレットがエンドポイントのデフォルト・ウォレットとしてまだ設定されていない場合にのみ実行します。
    /tmp/work/bin/okv manage-access wallet set-default --wallet <wallet_name> --endpoint <endpoint_name>
  7. okvclient.jarファイルをダウンロードします。Oracle RACデータベースの場合、両方のエンドポイントに対応するokvclient.jarファイルをダウンロードします。ファイルをダウンロードした後、リモート・インスタンスに対応するokvclient.jarをリモート・ノードにコピーします。
    /tmp/work/bin/okv admin endpoint download --endpoint <endpoint_name> --location <location>
    エンドポイントをダウンロードするときに、「Endpoint token is already consumed」などのメッセージが表示された場合は、次のようにエンドポイントを再度登録する必要があります:
    /tmp/work/bin/okv admin endpoint download --endpoint endpoint_name --location location
    /tmp/work/log/okv0.log.0 (Permission denied)
    {
      "result" : "Failure",
      "message" : "Endpoint token is already consumed"
    }
     
    /tmp/work/bin/okv admin endpoint re-enroll --endpoint <endpoint_name>
    /tmp/work/log/okv0.log.0 (Permission denied)
    {
      "result" : "Success"
    }
    }

ステップ4: Oracle Key Vaultに格納されているTDEキーを使用してTDE対応データベースをリストアします

マルチユーザー・アクセス対応システムの場合、データベース・ユーザーとしてログインします。マルチユーザー・アクセス対応でないシステムの場合は、rootユーザーとしてログインします。odacli irestore-databaseコマンドを使用して、Oracle Key Vaultに格納されているTDEキーでTDE対応データベースをリストアします。コマンドでオプション--enable-tde--okvclient-pathおよびkeystore-typeを指定します。

オプション--enable-tde,-tは、リストアされたデータベースをTDEで構成する必要があることを示します。オプション--keystore-type,-ktを使用して、TDE構成のキーストアのタイプを指定します。オプション--okvclient-path,-ocpを使用して、データベース・エンドポイントに対応するokvclient.jarファイルへの絶対パスを指定します。単一インスタンス・データベースの場合、--okvclient-path,-ocpオプションで1つの値を指定できますが、Oracle RACデータベースの場合、2つの値を指定できます。プロンプトが表示されたら、TDEパスワードを指定します。データベースのリストア操作が成功すると、Oracle Key Vaultエンドポイント・ソフトウェアが/etc/OKV/db_unique_name/okvの場所にインストールされます。ローカルの自動ログインTDEウォレットは、/etc/OKV/db_unique_name/tdeの場所に作成されます。

Oracle Key Vaultサーバー構成オブジェクトを使用せずに単一インスタンス・データベースokvdbをリストアするには、次のようにodacli irestore-databaseコマンドを実行します:
odacli irestore-database -r /tmp/bkpreport.json -n okvdb8 -y SI -t -kt OKV -ocp /tmp/okvclient.jar
Enter SYS and SYSTEM user password:
Retype SYS and SYSTEM user password:
Enter TDE wallet password:
 
Job details                                                     
----------------------------------------------------------------
                     ID:  dce7bde6-7fc4-48ec-891b-649525f1ce4f
            Description:  Database service recovery with DB name: okvdb8
                 Status:  Success
                Created:  August 28, 2024 2:50:46 PM CST
                Message:    
 
Task Name                                Node Name                 Start Time                               End Time                                 Status         
---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
Restore Database                         scaoda10ha13c2n1          August 28, 2024 2:51:09 PM CST           August 28, 2024 2:58:11 PM CST           Failure        
Restore Database                         scaoda10ha13c2n1          August 28, 2024 2:51:10 PM CST           August 28, 2024 2:58:10 PM CST           Failure        
Check if cluster ware is running         scaoda10ha13c2n1          August 28, 2024 2:51:14 PM CST           August 28, 2024 2:51:14 PM CST           Success        
Check if cluster ware is running         scaoda10ha13c2n2          August 28, 2024 2:51:14 PM CST           August 28, 2024 2:51:14 PM CST           Success        
Creating DbStorage for DbRestore         scaoda10ha13c2n1          August 28, 2024 2:51:14 PM CST           August 28, 2024 2:51:21 PM CST           Success        
Validating DiskSpace for DATA            scaoda10ha13c2n1          August 28, 2024 2:51:14 PM CST           August 28, 2024 2:51:15 PM CST           Success        
Setting up SSH equivalence               scaoda10ha13c2n1          August 28, 2024 2:51:15 PM CST           August 28, 2024 2:51:19 PM CST           Success        
Configuring user access to ACFS          scaoda10ha13c2n1          August 28, 2024 2:51:20 PM CST           August 28, 2024 2:51:20 PM CST           Success        
filesystems for okvdb8st                                                                                                                                            
Audit directory creation                 scaoda10ha13c2n1          August 28, 2024 2:51:20 PM CST           August 28, 2024 2:51:21 PM CST           Success        
Audit directory creation                 scaoda10ha13c2n2          August 28, 2024 2:51:21 PM CST           August 28, 2024 2:51:21 PM CST           Success        
Configure TDE for RestoreDb TaskFlow     scaoda10ha13c2n1          August 28, 2024 2:51:22 PM CST           August 28, 2024 2:51:39 PM CST           Success        
Auxiliary Instance Creation              scaoda10ha13c2n2          August 28, 2024 2:51:24 PM CST           August 28, 2024 2:51:36 PM CST           Success        
TDE Wallet directory creation            scaoda10ha13c2n1          August 28, 2024 2:51:36 PM CST           August 28, 2024 2:51:36 PM CST           Success        
Installing OKV Client Software           scaoda10ha13c2n2          August 28, 2024 2:51:36 PM CST           August 28, 2024 2:51:37 PM CST           Success        
Auto login TDE Wallet creation           scaoda10ha13c2n1          August 28, 2024 2:51:37 PM CST           August 28, 2024 2:51:38 PM CST           Success        
Password based TDE Wallet open           scaoda10ha13c2n1          August 28, 2024 2:51:38 PM CST           August 28, 2024 2:51:39 PM CST           Success        
Install Object Store Swift module        scaoda10ha13c2n2          August 28, 2024 2:51:58 PM CST           August 28, 2024 2:52:16 PM CST           Success        
Restoring Spfile From Casper             scaoda10ha13c2n2          August 28, 2024 2:52:16 PM CST           August 28, 2024 2:52:38 PM CST           Success        
Customize Db Parameters                  scaoda10ha13c2n2          August 28, 2024 2:52:38 PM CST           August 28, 2024 2:52:47 PM CST           Success        
Create spfile for restore db             scaoda10ha13c2n2          August 28, 2024 2:52:47 PM CST           August 28, 2024 2:52:48 PM CST           Success        
Restoring control file                   scaoda10ha13c2n2          August 28, 2024 2:52:48 PM CST           August 28, 2024 2:53:11 PM CST           Success        
Mounting db                              scaoda10ha13c2n2          August 28, 2024 2:53:11 PM CST           August 28, 2024 2:53:35 PM CST           Success        
Validating backup for RestoreDB          scaoda10ha13c2n2          August 28, 2024 2:53:35 PM CST           August 28, 2024 2:53:41 PM CST           Success        
Restoring DB for migration               scaoda10ha13c2n2          August 28, 2024 2:53:41 PM CST           August 28, 2024 2:54:26 PM CST           Success        
Change DBID and/or DBName                scaoda10ha13c2n2          August 28, 2024 2:54:27 PM CST           August 28, 2024 2:54:28 PM CST           Success        
Register Database taskflow               scaoda10ha13c2n1          August 28, 2024 2:54:31 PM CST           August 28, 2024 2:57:08 PM CST           Success        
Create SPFile in shared loc              scaoda10ha13c2n2          August 28, 2024 2:54:31 PM CST           August 28, 2024 2:54:37 PM CST           Success        
Delete Local Spfile                      scaoda10ha13c2n2          August 28, 2024 2:54:37 PM CST           August 28, 2024 2:54:37 PM CST           Success        
Register DB with clusterware             scaoda10ha13c2n2          August 28, 2024 2:54:37 PM CST           August 28, 2024 2:55:23 PM CST           Success        
Set SysPassword and Create PwFile        scaoda10ha13c2n1          August 28, 2024 2:55:23 PM CST           August 28, 2024 2:55:25 PM CST           Success        
Enable block change tracking             scaoda10ha13c2n2          August 28, 2024 2:55:26 PM CST           August 28, 2024 2:55:28 PM CST           Success        
Creating pfile                           scaoda10ha13c2n2          August 28, 2024 2:55:28 PM CST           August 28, 2024 2:55:29 PM CST           Success        
Updating db env                          scaoda10ha13c2n2          August 28, 2024 2:55:29 PM CST           August 28, 2024 2:55:30 PM CST           Success        
Enable DbSizing Template                 scaoda10ha13c2n2          August 28, 2024 2:55:30 PM CST           August 28, 2024 2:56:20 PM CST           Success        
Create tns entry                         scaoda10ha13c2n1          August 28, 2024 2:56:20 PM CST           August 28, 2024 2:56:21 PM CST           Success        
Create tns entry                         scaoda10ha13c2n2          August 28, 2024 2:56:21 PM CST           August 28, 2024 2:56:22 PM CST           Success        
Running datapatch                        scaoda10ha13c2n2          August 28, 2024 2:56:22 PM CST           August 28, 2024 2:56:23 PM CST           Success        
Set CPU pool                             scaoda10ha13c2n1          August 28, 2024 2:56:23 PM CST           August 28, 2024 2:56:23 PM CST           Success        
Reset Associated Networks for Database   scaoda10ha13c2n2          August 28, 2024 2:57:10 PM CST           August 28, 2024 2:57:13 PM CST           Success        
Reset Associated Networks                scaoda10ha13c2n1          August 28, 2024 2:57:13 PM CST           August 28, 2024 2:57:14 PM CST           Success        
Set log_archive_dest for Database        scaoda10ha13c2n2          August 28, 2024 2:57:14 PM CST           August 28, 2024 2:57:18 PM CST           Success        
Setting Database parameter for OKV       scaoda10ha13c2n1          August 28, 2024 2:57:18 PM CST           August 28, 2024 2:58:05 PM CST           Success        
Enable New Tablespace Encryption         scaoda10ha13c2n2          August 28, 2024 2:58:07 PM CST           August 28, 2024 2:58:08 PM CST           Success        
Deleting OKV Client Software Jar         scaoda10ha13c2n2          August 28, 2024 2:58:09 PM CST           August 28, 2024 2:58:09 PM CST           Success        
Copy Pwfile to Shared Storage            scaoda10ha13c2n1          August 28, 2024 2:58:09 PM CST           August 28, 2024 2:58:10 PM CST           Success
Oracle RACデータベースをリストアするには、次のようにodacli irestore-databaseコマンドを実行します。最初にローカル・データベース・インスタンスのokvclient.jarファイルを指定し、その後、リクエストにリモート・データベース・インスタンスのokvclient.jarファイルへのパスを指定します。次の例では、/tmp/dir1の場所にあるokvclient.jarファイルがローカル・ノードに属し、/tmp/dir2の場所にあるokvclient.jarファイルがリモート・ノードに属しています。
odacli irestore-database -r /tmp/bkpreport.json -n okvdb7 -y RAC -t -kt OKV -ocp /tmp/dir1/okvclient.jar,/tmp/dir2/okvclient.jar
Enter SYS and SYSTEM user password:
Retype SYS and SYSTEM user password:
Enter TDE wallet password:
 
Job details                                                     
----------------------------------------------------------------
                     ID:  79b2d96c-0156-444b-b965-185b311f5110
            Description:  Database service recovery with DB name: okvdb7
                 Status:  Success
                Created:  August 28, 2024 12:58:39 AM CST
                Message: 
 
Task Name                                Node Name                 Start Time                               End Time                                 Status         
---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
Check if cluster ware is running         scaoda10ha13c2n1          August 28, 2024 12:59:07 AM CST          August 28, 2024 12:59:07 AM CST          Success        
Check if cluster ware is running         scaoda10ha13c2n2          August 28, 2024 12:59:07 AM CST          August 28, 2024 12:59:07 AM CST          Success        
Creating DbStorage for DbRestore         scaoda10ha13c2n1          August 28, 2024 12:59:07 AM CST          August 28, 2024 12:59:14 AM CST          Success        
Validating DiskSpace for DATA            scaoda10ha13c2n1          August 28, 2024 12:59:08 AM CST          August 28, 2024 12:59:08 AM CST          Success        
Setting up SSH equivalence               scaoda10ha13c2n1          August 28, 2024 12:59:09 AM CST          August 28, 2024 12:59:12 AM CST          Success        
Configuring user access to ACFS          scaoda10ha13c2n1          August 28, 2024 12:59:13 AM CST          August 28, 2024 12:59:13 AM CST          Success        
filesystems for okvdb7                                                                                                                                              
Audit directory creation                 scaoda10ha13c2n1          August 28, 2024 12:59:14 AM CST          August 28, 2024 12:59:14 AM CST          Success        
Audit directory creation                 scaoda10ha13c2n2          August 28, 2024 12:59:14 AM CST          August 28, 2024 12:59:14 AM CST          Success        
Configure TDE for RestoreDb TaskFlow     scaoda10ha13c2n1          August 28, 2024 12:59:15 AM CST          August 28, 2024 12:59:32 AM CST          Success        
Auxiliary Instance Creation              scaoda10ha13c2n1          August 28, 2024 12:59:17 AM CST          August 28, 2024 12:59:28 AM CST          Success        
TDE Wallet directory creation            scaoda10ha13c2n1          August 28, 2024 12:59:28 AM CST          August 28, 2024 12:59:28 AM CST          Success        
Installing OKV Client Software           scaoda10ha13c2n1          August 28, 2024 12:59:28 AM CST          August 28, 2024 12:59:29 AM CST          Success        
Installing OKV Client Software           scaoda10ha13c2n2          August 28, 2024 12:59:30 AM CST          August 28, 2024 12:59:31 AM CST          Success        
Auto login TDE Wallet creation           scaoda10ha13c2n1          August 28, 2024 12:59:31 AM CST          August 28, 2024 12:59:32 AM CST          Success        
Password based TDE Wallet open           scaoda10ha13c2n1          August 28, 2024 12:59:32 AM CST          August 28, 2024 12:59:32 AM CST          Success        
Install Object Store Swift module        scaoda10ha13c2n2          August 28, 2024 12:59:51 AM CST          August 28, 2024 1:00:09 AM CST           Success        
Restoring Spfile From Casper             scaoda10ha13c2n1          August 28, 2024 1:00:09 AM CST           August 28, 2024 1:00:28 AM CST           Success        
Customize Db Parameters                  scaoda10ha13c2n1          August 28, 2024 1:00:28 AM CST           August 28, 2024 1:00:34 AM CST           Success        
Create spfile for restore db             scaoda10ha13c2n1          August 28, 2024 1:00:34 AM CST           August 28, 2024 1:00:35 AM CST           Success        
Restoring control file                   scaoda10ha13c2n1          August 28, 2024 1:00:35 AM CST           August 28, 2024 1:00:58 AM CST           Success        
Mounting db                              scaoda10ha13c2n1          August 28, 2024 1:00:58 AM CST           August 28, 2024 1:01:23 AM CST           Success        
Validating backup for RestoreDB          scaoda10ha13c2n1          August 28, 2024 1:01:23 AM CST           August 28, 2024 1:01:29 AM CST           Success        
Restoring DB for migration               scaoda10ha13c2n1          August 28, 2024 1:01:29 AM CST           August 28, 2024 1:10:54 AM CST           Success        
Re-Create control file                   scaoda10ha13c2n1          August 28, 2024 1:10:54 AM CST           August 28, 2024 1:11:36 AM CST           Success        
Change DBID and/or DBName                scaoda10ha13c2n1          August 28, 2024 1:11:36 AM CST           August 28, 2024 1:14:34 AM CST           Success        
Removing Disabled Redo Threads           scaoda10ha13c2n1          August 28, 2024 1:14:34 AM CST           August 28, 2024 1:14:36 AM CST           Success        
Updating DB attributes                   scaoda10ha13c2n1          August 28, 2024 1:14:36 AM CST           August 28, 2024 1:14:37 AM CST           Success        
Customize DB for Type RAC/RacOne         scaoda10ha13c2n1          August 28, 2024 1:14:37 AM CST           August 28, 2024 1:14:44 AM CST           Success        
Enable cluster ware for rac/racone db    scaoda10ha13c2n1          August 28, 2024 1:14:45 AM CST           August 28, 2024 1:14:45 AM CST           Success        
Building Cluster DB Views for Rac and    scaoda10ha13c2n1          August 28, 2024 1:14:45 AM CST           August 28, 2024 1:14:56 AM CST           Success        
RacOne                                                                                                                                                              
Register Database taskflow               scaoda10ha13c2n1          August 28, 2024 1:14:58 AM CST           August 28, 2024 1:20:24 AM CST           Success        
Create SPFile in shared loc              scaoda10ha13c2n1          August 28, 2024 1:14:59 AM CST           August 28, 2024 1:15:05 AM CST           Success        
Delete Local Spfile                      scaoda10ha13c2n1          August 28, 2024 1:15:05 AM CST           August 28, 2024 1:15:05 AM CST           Success        
Register DB with clusterware             scaoda10ha13c2n1          August 28, 2024 1:15:05 AM CST           August 28, 2024 1:16:33 AM CST           Success        
Add Startup Trigger to Open all PDBS     scaoda10ha13c2n1          August 28, 2024 1:16:33 AM CST           August 28, 2024 1:16:33 AM CST           Success        
Set SysPassword and Create PwFile        scaoda10ha13c2n1          August 28, 2024 1:16:34 AM CST           August 28, 2024 1:16:38 AM CST           Success        
Enable block change tracking             scaoda10ha13c2n1          August 28, 2024 1:16:38 AM CST           August 28, 2024 1:16:54 AM CST           Success        
Creating pfile                           scaoda10ha13c2n1          August 28, 2024 1:16:55 AM CST           August 28, 2024 1:16:56 AM CST           Success        
Updating db env                          scaoda10ha13c2n1          August 28, 2024 1:16:56 AM CST           August 28, 2024 1:16:56 AM CST           Success        
Enable DbSizing Template                 scaoda10ha13c2n1          August 28, 2024 1:16:56 AM CST           August 28, 2024 1:18:38 AM CST           Success        
Update Database Global Name              scaoda10ha13c2n1          August 28, 2024 1:18:39 AM CST           August 28, 2024 1:18:40 AM CST           Success        
Create tns entry                         scaoda10ha13c2n1          August 28, 2024 1:18:40 AM CST           August 28, 2024 1:18:42 AM CST           Success        
Create tns entry                         scaoda10ha13c2n2          August 28, 2024 1:18:42 AM CST           August 28, 2024 1:18:43 AM CST           Success        
Running datapatch                        scaoda10ha13c2n1          August 28, 2024 1:18:43 AM CST           August 28, 2024 1:19:19 AM CST           Success        
Set CPU pool                             scaoda10ha13c2n1          August 28, 2024 1:19:19 AM CST           August 28, 2024 1:19:19 AM CST           Success        
Reset Associated Networks for Database   scaoda10ha13c2n1          August 28, 2024 1:20:26 AM CST           August 28, 2024 1:20:30 AM CST           Success        
Reset Associated Networks                scaoda10ha13c2n2          August 28, 2024 1:20:30 AM CST           August 28, 2024 1:20:31 AM CST           Success        
Set log_archive_dest for Database        scaoda10ha13c2n1          August 28, 2024 1:20:31 AM CST           August 28, 2024 1:20:34 AM CST           Success        
Auto login TDE Wallet creation           scaoda10ha13c2n1          August 28, 2024 1:20:34 AM CST           August 28, 2024 1:20:36 AM CST           Success        
Setting Database parameter for OKV       scaoda10ha13c2n1          August 28, 2024 1:20:36 AM CST           August 28, 2024 1:22:17 AM CST           Success        
Enable New Tablespace Encryption         scaoda10ha13c2n1          August 28, 2024 1:22:19 AM CST           August 28, 2024 1:22:20 AM CST           Success        
Deleting OKV Client Software Jar         scaoda10ha13c2n1          August 28, 2024 1:22:20 AM CST           August 28, 2024 1:22:20 AM CST           Success        
Deleting OKV Client Software Jar         scaoda10ha13c2n2          August 28, 2024 1:22:20 AM CST           August 28, 2024 1:22:20 AM CST           Success

TDE対応データベースの削除

Oracle Key Vaultを使用してTDEキーを格納するベア・メタル・システムおよびDBシステム上のOracle Database Applianceで、TDE対応データベースを削除する方法を理解します。

odacli delete-databaseコマンドを使用し、Oracle Key Vaultに格納されているTDEキーを使用してTDE対応データベースを削除します。-nオプションを使用して、削除するデータベースの名前を指定します。
odacli delete-database -n kokvdb1
{
  "jobId" : "6f001840-5002-43ee-9067-e22930e36d58",
  "status" : "Running",
  "message" : null,
  "reports" : [ {
    "taskId" : "TaskDcsJsonRpcExt_2259",
    "taskName" : "Validate DB 9aeeeb5f-afc5-4051-8bd1-00c62048ca01 for deletion",
    "nodeName" : "scaoda6m006",
    "taskResult" : "",
    "startTime" : "July 15, 2024 15:40:50 PM CST",
    "endTime" : "July 15, 2024 15:40:50 PM CST",
    "duration" : "00:00:00.13",
    "status" : "Success",
    "taskDescription" : null,
    "parentTaskId" : "TaskSequential_2257",
    "jobId" : "6f001840-5002-43ee-9067-e22930e36d58",
    "tags" : [ ],
    "reportLevel" : "Info",
    "updatedTime" : "July 15, 2024 15:40:50 PM CST"
  } ],
  "createTimestamp" : "July 15, 2024 15:40:49 PM CST",
  "resourceList" : [ ],
  "description" : "Database service deletion with DB name: kokvdb1 with ID : 9aeeeb5f-afc5-4051-8bd1-00c62048ca01",
  "updatedTime" : "July 15, 2024 15:40:50 PM CST",
  "jobType" : null
}
 
 odacli describe-job -i 6f001840-5002-43ee-9067-e22930e36d58
 
Job details                                                     
----------------------------------------------------------------
                     ID:  6f001840-5002-43ee-9067-e22930e36d58
            Description:  Database service deletion with DB name: kokvdb1 with ID : 9aeeeb5f-afc5-4051-8bd1-00c62048ca01
                 Status:  Success
                Created:  July 15, 2024 3:40:49 PM CST
                Message: 
 
Task Name                                Start Time                               End Time                                 Status         
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
Validate DB                              July 15, 2024 3:40:50 PM CST             July 15, 2024 3:40:50 PM CST             Success        
9aeeeb5f-afc5-4051-8bd1-00c62048ca01                                                                                                      
for deletion                                                                                                                              
Deleting the RMAN logs                   July 15, 2024 3:40:50 PM CST             July 15, 2024 3:40:51 PM CST             Success        
OKV Endpoint deletion                    July 15, 2024 3:40:51 PM CST             July 15, 2024 3:40:56 PM CST             Success        
OKV Wallet deletion                      July 15, 2024 3:40:56 PM CST             July 15, 2024 3:41:05 PM CST             Success        
OKV Files deletion                       July 15, 2024 3:41:05 PM CST             July 15, 2024 3:41:05 PM CST             Success        
Database Deletion By RHP                 July 15, 2024 3:41:05 PM CST             July 15, 2024 3:42:37 PM CST             Success        
Unregister DB From Cluster               July 15, 2024 3:42:37 PM CST             July 15, 2024 3:42:37 PM CST             Success        
Kill PMON Process                        July 15, 2024 3:42:37 PM CST             July 15, 2024 3:42:37 PM CST             Success        
Database Files Deletion                  July 15, 2024 3:42:37 PM CST             July 15, 2024 3:42:49 PM CST             Success        
Delete File Groups of Database kokvdb1   July 15, 2024 3:42:49 PM CST             July 15, 2024 3:42:58 PM CST             Success

BUIを使用したOracle Key Vaultでのユーザーの作成

マルチユーザー・アクセス対応のOracle Database Applianceで、Oracle Key Vaultサーバー構成の権限を持つユーザーを作成します。

ブラウザ・ユーザー・インタフェースを使用したOracle Key Vaultユーザーの作成

  1. odaadminユーザーとしてブラウザ・ユーザー・インタフェースにログインします。
    https://host-ip-address:7093/mgmt/index.html
  2. 「Multi-User Access」タブをクリックします。
  3. 左側のペインの「Users」リンクをクリックします。
  4. 「Create User」をクリックします。
  5. 「Create User」ページで、このユーザーの「User ID」を指定し、「Role」ODA-OKVCONFIGADMINとして指定し、「ODA Password」を指定します。BUIおよびODACLIコマンドでは、同じユーザー資格情報をログインに使用できます。
  6. 「Create」をクリックします。
  7. ジョブが発行され、ジョブへのリンクを含む確認ページが表示されます。リンクをクリックすると、ジョブの進捗、タスクおよびステータスが表示されます。ジョブ確認ページを閉じた後、「Activity」タブをクリックしてジョブの進捗を監視できます。ジョブ番号をクリックすると、タスクおよびステータスの詳細が表示されます。ページをリフレッシュするには、「Refresh」をクリックします。
  8. アカウントはInactive状態で作成されます。ユーザー資格情報を使用してBUIにログインします。パスワードを変更するように求められます。パスワードを変更し、新しいパスワードでBUIにログインします。

データベースのOracle Key Vaultエンドポイントの更新

Oracle Key Vaultサーバーが最新リリースに更新されたときやOracle Key Vaultサーバーで証明書が再生成されたときに、Oracle Database Appliance上のOracle Key Vaultクライアントを更新する方法を説明します。

Oracle Key Vaultエンドポイント・ソフトウェアを更新すると、更新されたOracle Key Vaultサーバーで使用可能なすべての機能がOracle Key Vaultエンドポイントで使用可能になります。
Oracle Key Vaultサーバーを最新リリースに更新するときは、次を更新します:
  • /etc/OKV/db_unique_name/okvの場所にある、各Oracle Key Vault TDEデータベース・インスタンスに対応するOracle Key Vaultエンドポイント・ソフトウェア。
  • /opt/oracle/extapi/64/hsm/oracle/1.0.0/の場所にある、すべてのOracle Key Vault TDEデータベースに共通するOracle Key Vault PKCSライブラリliborapkcs.so。
  • /etc/OKV/okv_server_config_name/lib/の場所にある、各Oracle Key Vaultサーバー構成オブジェクトに対応するOracle Key Vault RESTクライアントjar okvrestcli.jar
エンドポイントに対応する証明書のみを更新する場合は、/etc/OKV/db_unique_name/okvの場所にある、各Oracle Key Vault TDEデータベース・インスタンスに対応するOracle Key Vaultエンドポイント・ソフトウェアのみを更新します。

odacli update-okvendpointsコマンドによるOracle Key Vaultエンドポイント・ソフトウェアの更新

odacli update-okvendpointsコマンドを使用して、Oracle Key Vaultエンドポイント・ソフトウェアを更新します。
  • --endpoint-software、-esオプションは、Oracle Key VaultクライアントJSONファイルに指定されているデータベースのOracle Key Vaultエンドポイント・ソフトウェアをodacli update-okvendpointsコマンドで更新する必要があることを指定します。

    これは、--okvclient-json、ojオプションとともに使用されるブール型オプションです。指定した場合、Oracle Key VaultクライアントJSONに記載されている各データベースに対応するOracle Key Vaultエンドポイント・ソフトウェアが更新されます。okvclient.jarファイルへの絶対パスを含むJSONファイルをオプションに指定する必要があります。デフォルト値は、falseです。

    作成時にOracle Key Vaultユーザー資格証明を使用せず、かわりにokvclient.jarを使用したデータベースのエンドポイント・ソフトウェアを更新するには、このようなデータベースの各データベース・インスタンスに対応するokvclient.jarファイルへの絶対パスをOracle Key VaultクライアントJSONファイルに指定する必要があります。

    [
      {
        "dbName" : "racdb1",
        "node1" : "/tmp/racdb11/okvclient.jar",
        "node2" : "/tmp/racdb12/okvclient.jar"
      },
      {
        "dbName" : "sidb1",
        "node1" : "/tmp/sidb1/okvclient.jar",
      }
    ]
    作成時にOracle Key Vaultユーザー資格証明を使用(つまり、Oracle Key Vaultサーバー構成を使用)したデータベースのエンドポイント・ソフトウェアを更新するには、Oracle Key VaultクライアントJSONファイルにその名前を指定すれば十分です。
    [
      {
        "dbName" : "mydb"
      }
    ]

    マルチユーザー・アクセス対応の環境またはパスワードなしのマルチユーザー・アクセス対応の環境では、このリクエストを実行しているDB userに属するOracle Key Vault TDE対応データベースのみのエンドポイント・ソフトウェアが更新されます。マルチユーザー・アクセス対応でない環境では、すべてのOracle Key Vault TDE対応データベースのエンドポイント・ソフトウェアを更新できます。これは、個別のDB userがなく、すべてのデータベースが単一ユーザーによって作成されるためです。

  • Oracle Key Vaultを使用するTDE対応データベースをOracle Key Vaultのエンドポイントで更新するには、--okvclient-path-json、ojオプションを--endpoint-software、-esオプションとともに指定します。

    このオプションでは、データベース名およびデータベースの各インスタンスに対応するokvclient.jarファイルへの絶対パスを含むJSONファイルへの絶対パスを指定します。このJSONファイルは、このコマンドの実行元となるアプライアンスに存在する必要があります。

    Oracle RACデータベースの場合は、両方のインスタンスに対応するokvclient.jarファイルへの絶対パスを指定する必要があります。単一インスタンスのOracleデータベースの場合は、インスタンスに対応するokvclient.jarファイルへの絶対パスを指定する必要があり、そのパスはインスタンスが実行されているノード上に存在する必要があります。

  • システムに存在する各Oracle Key Vaultサーバー構成オブジェクトに対応するOracle Key Vault PKCSライブラリおよびOracle Key Vault RESTクライアントjarファイルを更新するには、--library、-libオプションを指定します。デフォルト値はfalseです。このオプションは、TDEキーの格納にOracle Key Vaultを使用するすべてのデータベースのエンドポイントを更新した後にのみ使用します。エンドポイントを更新するには、オプション--endpoint-software、-esおよび--okvclient-path-json、-ojを使用します。次に、オプション--library、-libを使用して、Oracle Key Vault PKCSライブラリおよびOKV RESTクライアントjarを更新します。Oracle Key Vault PKCSライブラリはすべてのデータベースに共通であるため、最初にすべてのデータベースのエンドポイントを更新する必要があります。ただし、Oracle Key Vaultサーバーで証明書のみを更新する場合は、データベースのエンドポイントを更新するだけで十分であり、ライブラリを更新する必要はありません。

    このオプションは、--endpoint-software、-esオプションまたは--okvclient-path-json、-ojオプションとともに使用しないでください。

    マルチユーザー・アクセス対応の環境またはパスワードなしのマルチユーザー・アクセス対応の環境では、odaadminユーザーがこのオプションを指定する必要があります。

    Oracle Key Vault PKCSライブラリを更新すると、データベースが再起動されます。

Oracle Key Vaultユーザー資格証明を使用したデータベースのエンドポイント・ソフトウェアを更新する例を次に示します。次の例では、racdb1はOracle RACデータベースであり、sidb1は単一インスタンス・データベースです。
odacli update-okvendpoints -es -oj /tmp/okvclient.json
Enter TDE password of 'racdb1' database:
Enter TDE password of 'sidb1' database:

Job details
----------------------------------------------------------------
                     ID: 64ae75d4-6435-4842-b507-8adcd12bd4bd
            Description: Update all databases endpoints, OKV PKCS library and all OKV REST clients
                 Status: Created
                Created: May 29, 2025 19:24:55 PDT
                Message:

Task Name Start Time End Time Status
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
odacli describe-job -i 64ae75d4-6435-4842-b507-8adcd12bd4bd

Job details
----------------------------------------------------------------
                     ID: 64ae75d4-6435-4842-b507-8adcd12bd4bd
            Description: Update all databases endpoints, OKV PKCS library and all OKV REST clients
                 Status: Success
                Created: May 29, 2025 19:24:55 PDT
                Message:

Task Name Node Name Start Time End Time Status
---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
Endpoint update : racdb1 n1 May 29, 2025 19:24:58 PDT May 29, 2025 19:24:59 PDT Success
Endpoint update : racdb1 scaoda806c1n2 May 29, 2025 19:24:59 PDT May 29, 2025 19:25:01 PDT Success
Endpoint update : sidb1 n1 May 29, 2025 19:25:05 PDT May 29, 2025 19:25:06 PDT Success

Oracle Key Vaultユーザー資格証明を使用しなかったデータベースのエンドポイント・ソフトウェアを更新する例を次に示します。ここでのmydbは単一インスタンス・データベースです。
cat /tmp/okvclient_2.json
[
  {
    "dbName" : "mydb"
  }
]

odacli update-okvendpoints -es -oj /tmp/okvclient_2.json

Job details
----------------------------------------------------------------
                     ID: 245a2d23-4a6a-4fe8-943f-9a81e1059fe7
            Description: Update all databases endpoints, OKV PKCS library and all OKV REST clients
                 Status: Created
                Created: May 29, 2025 19:26:57 PDT
                Message:

Task Name Start Time End Time Status
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------

odacli describe-job -i 245a2d23-4a6a-4fe8-943f-9a81e1059fe7

Job details
----------------------------------------------------------------
                     ID: 245a2d23-4a6a-4fe8-943f-9a81e1059fe7
            Description: Update all databases endpoints, OKV PKCS library and all OKV REST clients
                 Status: Success
                Created: May 29, 2025 19:26:57 PDT
                Message:

Task Name Node Name Start Time End Time Status
---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
Endpoint update : mydb n1 May 29, 2025 19:27:53 PDT May 29, 2025 19:28:47 PDT Success 
Oracle Key Vault PKCSライブラリを更新するコマンド例を次に示します:
odacli update-okvendpoints -lib
Databases [racdb1, sidb1, mydb] will be restarted during library update. Want to proceed? (Y/N): y

Job details
----------------------------------------------------------------
                     ID: f5f6a0f4-061b-4ab1-9656-51beaa381438
            Description: Update all databases endpoints, OKV PKCS library and all OKV REST clients
                 Status: Created
                Created: May 29, 2025 19:42:07 PDT
                Message:

Task Name Start Time End Time Status
---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------
odacli describe-job -i f5f6a0f4-061b-4ab1-9656-51beaa381438

Job details
----------------------------------------------------------------
                     ID: f5f6a0f4-061b-4ab1-9656-51beaa381438
            Description: Update all databases endpoints, OKV PKCS library and all OKV REST clients
                 Status: Success
                Created: May 29, 2025 19:42:07 PDT
                Message:

Task Name                                Node Name    Start Time                  End Time                      Status
-------------------------------------------------------------------------------------------------------------------------------
Okvobj1 : OKV client library update      n1           May 29, 2025 19:42:20 PDT    May 29, 2025 19:42:22 PDT     Success
dharm: Racdb1:Database stop (Srvctl)     n1           May 29, 2025 19:42:22 PDT    May 29, 2025 19:42:55 PDT     Success
Sidb1:Database stop (Srvctl)             n1           May 29, 2025 19:42:55 PDT    May 29, 2025 19:43:21 PDT     Success
Mydb:Database stop (Srvctl)              n1           May 29, 2025 19:43:21 PDT    May 29, 2025 19:43:44 PDT     Success
Database start (Srvctl)                  n1           May 29, 2025 19:43:44 PDT    May 29, 2025 19:44:21 PDT     Success
OKV PKCS library update                  n1           May 29, 2025 19:43:44 PDT    May 29, 2025 19:43:44 PDT     Success
Database start (Srvctl)                  n1           May 29, 2025 19:44:22 PDT    May 29, 2025 19:44:53 PDT     Success
Database start (Srvctl)                  n1           May 29, 2025 19:44:53 PDT    May 29, 2025 19:45:28 PDT     Success 

Oracle Key Vaultを使用して構成されたTDE対応データベースの登録

Oracle Key Vaultキーストアを使用するが、Oracle Database Applianceツールを使用して作成されなかったTDE対応データベースを登録できるようになりました。これらのデータベースをOracle Database Applianceに登録すると、Oracle Database Applianceコマンドを使用してデータベースを管理できます。

TDE対応データベースをOracle Database Applianceに登録するときに、Oracle Database ApplianceでTDEパスワードを管理するかどうかを選択できます。データベースの登録時に、Oracle Key Vaultサーバー構成を使用する場合は、現在のTDEパスワードが、Oracle Database Applianceで管理され、ユーザーにはわからない新しいランダムTDEパスワードに設定されます。データベースの登録時に、Oracle Key Vaultサーバー構成を使用しない場合は、Oracle Database ApplianceではなくユーザーがTDEパスワードを管理します。TDEパスワードがOracle Database Applianceツールで管理されない場合、データベース・リカバリ、キー更新、TDEパスワードの変更などの操作に対してTDEパスワードを明示的に指定する必要があります。

ノート:

Oracle Database Applianceリリース19.27では、高可用性デプロイメントに登録されている場合、単一インスタンス・データベースに対する高可用性の有効化はサポートされていません。

警告:

パスワードは、Oracle Key Vaultのウォレットに格納されます。そのウォレットが失われると、データベース表にアクセスできなくなります。そのため、Oracle Key Vaultのウォレットを削除しないでください。
TDEマスター暗号化キーの格納にOracle Key Vaultを使用するデータベースの登録のための前提条件を次に示します:
  • wallet_rootデータベース初期化パラメータは、TDEの構成に使用する必要があり、/etc/OKV/db_unique_nameの値に設定する必要があります。
  • TDE_CONFIGURATION初期化パラメータは、TDEの構成に使用する必要があり、KEYSTORE_CONFIGURATION=OKV|FILEの値に設定する必要があります。
  • エンドポイント・ソフトウェアを/etc/OKV/db_unique_name/okvの場所にインストールする必要があります。
    • Oracle RACデータベースとOracle RAC One Nodeデータベースの場合は、2つのインスタンスに対応するエンドポイント・ソフトウェアを両方のノードにインストールする必要があります。
    • 単一インスタンス・データベースの場合は、エンドポイント・ソフトウェアを、データベースが実行されているノードにインストールする必要があります。
  • 自動ログインTDEウォレットcwallet.ssoを、/etc/OKV/db_unique_name/tdeの場所に作成する必要があります。Oracle RACデータベースとOracle RAC One Nodeデータベースの場合は、両方のノードで自動ログインTDEウォレットを作成する必要があります。
  • Oracle Key Vaultサーバー上のエンドポイントの名前は、次の形式である必要があります:
    • 単一インスタンス・データベース: db_name_db_running_node_num_on_cluster_name。例: myokvdb3_0_on_scaodaxxx-c
    • Oracle RACデータベース: インスタンス1に対応するエンドポイント名: db_name1_on_cluster_name。例: myokvdb31_on_scaodaxxx-c
    • Oracle RACデータベース: インスタンス2に対応するエンドポイント名: db_name2_on_cluster_name。例: myokvdb32_on_scaodaxxx-c
    • Oracle RAC One Nodeデータベース: アクティブ・インスタンスに対応するエンドポイント名: db_name_1_on_cluster_name。例: myokvdb3_1_on_scaodaxxx-c
    • Oracle RAC One Nodeデータベース: 非アクティブなインスタンスに対応するエンドポイント名: db_name_2_on_cluster_name。例: myokvdb3_2_on_scaodaxxx-c
  • Oracle Key Vaultサーバー上のウォレットの名前は、db_unique_name_on_cluster_nameという形式である必要があります。例: myokvdb3_on_scaodaxx-c

Oracle Key Vaultサーバー構成を使用しないOracle Key Vault TDE対応データベースの登録

データベースを登録すると、データベースのKeystoreType属性がOKVに設定されます。データベースのOKVServerConfigName属性はNONEに設定されます。
odacli register-database -sn example.com --dbclass OLTP --dbshape odb2
Enter SYS, SYSTEM and PDB Admin user password:
Retype SYS, SYSTEM and PDB Admin user password:
{
  "jobId" : "f82172e2-c4c1-4a77-ba41-c3d241127325",
  "status" : "Created",
  "message" : "",
  "reports" : [ ],
  "createTimestamp" : "May 07, 2025 08:54:50 PDT",
  "resourceList" : [ ],
  "description" : "Database service registration with DB service name: aokv1.us.oracle.com",
  "updatedTime" : "May 07, 2025 08:54:50 PDT",
  "jobType" : null,
  "cpsMetadata" : null
}
 
odacli describe-job -i f82172e2-c4c1-4a77-ba41-c3d241127325
 
Job details                                                     
----------------------------------------------------------------
                     ID:  f82172e2-c4c1-4a77-ba41-c3d241127325
            Description:  Database service registration with DB service name: aokv1.us.oracle.com
                 Status:  Success
                Created:  May 07, 2025 08:54:50 PDT
                Message: 
 
Task Name                                Node Name                 Start Time                               End Time                                 Status         
---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
Setting Database parameter for OKV       n1             May 07, 2025 08:54:53 PDT                May 07, 2025 08:56:29 PDT                Success        
Validate Hugepages For Register DB       n1             May 07, 2025 08:56:29 PDT                May 07, 2025 08:56:29 PDT                Success        
Enable OMF parameters                    n1             May 07, 2025 08:56:33 PDT                May 07, 2025 08:56:33 PDT                Success        
Setting DB character set                 n1             May 07, 2025 08:56:33 PDT                May 07, 2025 08:56:34 PDT                Success        
Move Spfile to right location            n1             May 07, 2025 08:56:34 PDT                May 07, 2025 08:56:42 PDT                Success        
Enable DbSizing Template                 n1             May 07, 2025 08:58:23 PDT                May 07, 2025 09:00:41 PDT                Success        
Add Startup Trigger to Open all PDBS     n1             May 07, 2025 09:00:42 PDT                May 07, 2025 09:00:43 PDT                Success        
Running DataPatch                        n1             May 07, 2025 09:00:43 PDT                May 07, 2025 09:01:37 PDT                Success        
Reset Associated Networks for Database   n1             May 07, 2025 09:01:38 PDT                May 07, 2025 09:01:41 PDT                Success        
Reset Associated Networks                n2             May 07, 2025 09:01:41 PDT                May 07, 2025 09:01:41 PDT                Success 

Oracle Key Vaultサーバー構成を使用したOracle Key Vault TDE対応データベースの登録

データベースを登録すると、データベースのKeystoreType属性がOKVに設定されます。データベースのOKVServerConfigName属性はokv_server_config_nameに設定されます。マルチユーザー・アクセス対応の環境またはパスワードなしのマルチユーザー・アクセス対応の環境では、データベースを登録するDBユーザーがOracle Key Vaultサーバー構成リソースにアクセスできる必要があります。Oracle Database Applianceツールにより、データベースの現在のTDEパスワードが、新しいランダム・パスワードに変更されます。この新しいランダム・パスワードは、Oracle Key Vaultサーバーのウォレットに格納されます。ランダム・パスワードを格納するウォレットの名前は、db_name_pass_on_cluster_nameという形式になります。データベースが存在する場合は、Oracle Key Vaultサーバー上でこのウォレットが削除されないようにしてください。

Oracle Key Vaultサーバー構成を使用するregister-databaseジョブの例を次に示します。

odacli register-database  -sn example.com --dbclass OLTP --dbshape odb2 -osc okvobj1
Enter SYS, SYSTEM and PDB Admin user password:
Retype SYS, SYSTEM and PDB Admin user password:
Enter TDE wallet password:
Retype TDE wallet password:
{
  "jobId" : "37cb49bb-6129-4c49-a44e-6ee4b5c97e98",
  "status" : "Created",
  "message" : "",
  "reports" : [ ],
  "createTimestamp" : "May 07, 2025 02:16:42 PDT",
  "resourceList" : [ ],
  "description" : "Database service registration with DB service name: sokv10.us.oracle.com",
  "updatedTime" : "May 07, 2025 02:16:42 PDT",
  "jobType" : null,
  "cpsMetadata" : null
}
 
odacli describe-job -i 37cb49bb-6129-4c49-a44e-6ee4b5c97e98
 
Job details                                                     
----------------------------------------------------------------
                     ID:  37cb49bb-6129-4c49-a44e-6ee4b5c97e98
            Description:  Database service registration with DB service name: sokv10.us.oracle.com
                 Status:  Success
                Created:  May 07, 2025 02:16:42 PDT
                Message: 
 
Task Name                                Node Name                 Start Time                               End Time                                 Status         
---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
Setting Database parameter for OKV       n1             May 07, 2025 02:16:51 PDT                May 07, 2025 02:17:59 PDT                Success        
External Store Autologin wallet creation n1             May 07, 2025 02:17:59 PDT                May 07, 2025 02:18:09 PDT                Success        
Shutdown database                        n1             May 07, 2025 02:18:09 PDT                May 07, 2025 02:19:19 PDT                Success        
Mount database using SQL                 n2             May 07, 2025 02:19:19 PDT                May 07, 2025 02:19:46 PDT                Success        
External Store Autologin wallet creation n1             May 07, 2025 02:19:46 PDT                May 07, 2025 02:19:57 PDT                Success        
Shutdown database                        n2             May 07, 2025 02:19:57 PDT                May 07, 2025 02:20:18 PDT                Success        
Startup database using SQL               n1             May 07, 2025 02:20:19 PDT                May 07, 2025 02:20:49 PDT                Success        
Re-enroll and Provision of Endpoint      n1             May 07, 2025 02:20:50 PDT                May 07, 2025 02:21:31 PDT                Success        
Save the new TDE password using a        n1             May 07, 2025 02:21:31 PDT                May 07, 2025 02:21:39 PDT                Success        
temporary custom attribute on OKV                                                                        
TDE Wallet closure                       n1             May 07, 2025 02:21:39 PDT                May 07, 2025 02:21:40 PDT                Success        
Change the TDE password in local wallet  n1             May 07, 2025 02:21:41 PDT                May 07, 2025 02:21:57 PDT                Success        
Auto login TDE Wallet creation           n1             May 07, 2025 02:21:57 PDT                May 07, 2025 02:22:01 PDT                Success        
Shutdown database                        n1             May 07, 2025 02:22:01 PDT                May 07, 2025 02:22:35 PDT                Success        
Mount database using SQL                 n2             May 07, 2025 02:22:35 PDT                May 07, 2025 02:23:01 PDT                Success        
Re-enroll and Provision of Endpoint      n2             May 07, 2025 02:23:01 PDT                May 07, 2025 02:23:43 PDT                Success        
Change the TDE password in local wallet  n2             May 07, 2025 02:23:43 PDT                May 07, 2025 02:23:55 PDT                Success        
Auto login TDE Wallet creation           n1             May 07, 2025 02:23:56 PDT                May 07, 2025 02:24:00 PDT                Success        
Shutdown database                        n2             May 07, 2025 02:24:00 PDT                May 07, 2025 02:24:22 PDT                Success        
Startup database using SQL               n1             May 07, 2025 02:24:22 PDT                May 07, 2025 02:24:53 PDT                Success        
Save new TDE password on OKV             n2             May 07, 2025 02:24:53 PDT                May 07, 2025 02:24:59 PDT                Success        
Delete the temporary custom attribute    n2             May 07, 2025 02:24:59 PDT                May 07, 2025 02:25:03 PDT                Success        
on OKV                                                                                                   
Database stop (Srvctl)                   n1             May 07, 2025 02:25:04 PDT                May 07, 2025 02:26:04 PDT                Success        
Deleting OKV Client Software Jar         n2             May 07, 2025 02:25:04 PDT                May 07, 2025 02:25:04 PDT                Success        
Database start (Srvctl)                  n1             May 07, 2025 02:26:04 PDT                May 07, 2025 02:26:36 PDT                Success        
Checking the TDE wallet status           n1             May 07, 2025 02:26:36 PDT                May 07, 2025 02:26:40 PDT                Success        
Validate Hugepages For Register DB       n1             May 07, 2025 02:26:41 PDT                May 07, 2025 02:26:42 PDT                Success        
Enable OMF parameters                    n1             May 07, 2025 02:26:45 PDT                May 07, 2025 02:26:46 PDT                Success        
Move Spfile to right location            n1             May 07, 2025 02:26:46 PDT                May 07, 2025 02:26:54 PDT                Success        
Setting DB character set                 n1             May 07, 2025 02:26:46 PDT                May 07, 2025 02:26:46 PDT                Success        
Restart RACOne database                  n1             May 07, 2025 02:26:54 PDT                May 07, 2025 02:28:29 PDT                Success        
Enable DbSizing Template                 n1             May 07, 2025 02:28:29 PDT                May 07, 2025 02:30:04 PDT                Success        
Running DataPatch                        n1             May 07, 2025 02:30:05 PDT                May 07, 2025 02:30:41 PDT                Success        
Reset Associated Networks for Database   n1             May 07, 2025 02:30:42 PDT                May 07, 2025 02:30:45 PDT                Success        
Reset Associated Networks                n2             May 07, 2025 02:30:45 PDT                May 07, 2025 02:30:45 PDT                Success

RMANを使用したOracle Key Vault TDEデータベースのリストアおよびデータベースの登録

TDEキーの格納にOracle Key Vaultを使用するTDE対応データベースの登録方法を説明します。

前提条件:
  • NFSの場所へのデータベースのRegular-L0または長期バックアップが使用可能である必要があります。
  • ソース・データベースのSYSパスワードとTDEパスワードを把握している必要があります。
  • データベースの各エンドポイントに対応するokvclient.jarを把握している必要があります。
  • Oracle Key Vaultサーバー上のエンドポイントの名前は、次の形式である必要があります:
    • 単一インスタンス・データベース: db_name_db_running_node_num_on_cluster_name。例: myokvdb3_0_on_scaodaxxx-c
    • Oracle RACデータベース: インスタンス1に対応するエンドポイント名: db_name1_on_cluster_name。例: myokvdb31_on_scaodaxxx-c
    • Oracle RACデータベース: インスタンス2に対応するエンドポイント名: db_name2_on_cluster_name。例: myokvdb32_on_scaodaxxx-c
    • Oracle RAC One Nodeデータベース: アクティブ・インスタンスに対応するエンドポイント名: db_name_1_on_cluster_name。例: myokvdb3_1_on_scaodaxxx-c
    • Oracle RAC One Nodeデータベース: 非アクティブなインスタンスに対応するエンドポイント名: db_name_2_on_cluster_name。例: myokvdb3_2_on_scaodaxxx-c
  • Oracle Key Vaultサーバー上のウォレットの名前は、db_unique_name_on_cluster_nameという形式である必要があります。例: myokvdb3_on_scaodaxx-c

警告:

パスワードは、Oracle Key Vaultのウォレットに格納されます。そのウォレットが失われると、データベース表にアクセスできなくなります。そのため、Oracle Key Vaultのウォレットを削除しないでください。
次のステップに従います:
  1. 必要なディレクトリをrootユーザーとして作成します。Oracle RACデータベースとOracle RAC One Nodeデータベースの場合は、両方のノードで次のディレクトリを作成します。
    mkdir /etc/OKV/db_unique_name
    mkdir /etc/OKV/db_unique_name/tde
    mkdir /etc/OKV/db_unique_name/okv
    chmod -R 700 /etc/OKV/db_unique_name/
    chown -R db_user:group /etc/OKV/db_unique_name/

    マルチユーザー・アクセス対応の環境またはパスワードなしのマルチユーザー・アクセス対応の環境では、db_userはデータベースのプライマリ所有者であり、groupはdcsagentです。マルチユーザー・アクセス対応でないシステムの場合、db_useroracleユーザーであり、groupはoinstallです。

  2. データベース・インスタンスに対応するエンドポイントを、Oracle Key Vaultサーバーに再エンロールする必要があります。Oracle RACデータベースとOracle RAC One Nodeデータベースの場合は、両方のインスタンスに対応するエンドポイントを再エンロールする必要があります。再エンロール後、インスタンスが実行されているノード上のインスタンスに対応するokvclient.jarをダウンロードします。
  3. ソース・データベースのTDEパスワードを使用して、okvclient.jar/etc/OKV/db_unique_name/okvの場所にインストールします。
    switch to db_user
    
    $ORACLE_HOME/jdk/jre/bin/java -jar okvclient.jar
  4. データベース・インスタンスを作成してノーマウント・ステージで起動します。

    単一インスタンス・データベースの場合:

    Switch to db_user
      
    . oraenv
    ORACLE_SID = [dbusr1] ? myokvdb3
    ORACLE_HOME = [/home/oracle] ? /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1
      
    cat $ORACLE_HOME/dbs/initmyokvdb3.ora
    db_name=myokvdb3
    db_unique_name=myokvdb3
    wallet_root=/etc/OKV/myokvdb3
    TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=OKV|FILE"
      
    orapwd file=$ORACLE_HOME/dbs/orapwmyokvdb3 password=<tde_password_used_during_db_create> entries=5
      
    sqlplus / as sysdba
    SQL> startup nomount
    Oracle RACデータベースの場合、ノード1で次のようにします:
    . oraenv
    ORACLE_SID = [dbusr1] ? myokvdb31
    ORACLE_HOME = [/home/oracle] ? /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1
      
    cat $ORACLE_HOME/dbs/initmyokvdb31.ora
    db_name=myokvdb3
    db_unique_name=myokvdb3
    wallet_root=/etc/OKV/myokvdb3
    TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=OKV|FILE"
    instance_number=1
    instance_name=myokvdb31
      
      
    sqlplus / as sysdba
    SQL> startup nomount
  5. データベースの作成時に使用したのと同じTDEパスワードを使用して、自動ログインTDEウォレットを作成します。

    単一インスタンス・データベースの場合:

    SQL> administer key management add secret 'tde_password'for client 'OKV_PASSWORD' to local auto_login keystore '/etc/OKV/myokvdb3/tde';
    Oracle RACデータベースの場合:
    SQL> administer key management add secret 'tde_password'for client 'OKV_PASSWORD' to local auto_login keystore '/etc/OKV/myokvdb3/tde';
  6. リストアするデータベースに対応するデータベース・ストレージを作成します。
    odacli create-dbstorage -n db_name -r asm
  7. RMAN duplicateを使用してデータベースをリストアし、NFSバックアップの場所を指定します。
    Switch to db_user

    単一インスタンス・データベースの場合:

    . oraenv
    ORACLE_SID = [dbusr1] ? myokvdb3
    ORACLE_HOME = [/home/oracle] ? /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1
     
    rman auxiliary /
    run {
       allocate auxiliary channel ch1 type disk;
       duplicate target database to myokvdb3
            spfile
            set db_unique_name='myokvdb3'
            set db_name='myokvdb3'
       BACKUP LOCATION 'nfs_backup_location';
    }
    Oracle RACデータベースの場合:
    . oraenv
    ORACLE_SID = [dbusr1] ? myokvdb31
    ORACLE_HOME = [/home/oracle] ? /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1
     
    rman auxiliary /
    run {
       allocate auxiliary channel ch1 type disk;
       duplicate target database to myokvdb3
            spfile
            set db_unique_name='myokvdb3'
            set db_name='myokvdb3'
            set cluster_database='false'
            set instance_number='1'
            set instance_name='myokvdb31'
       BACKUP LOCATION 'nfs_backup_location' ;
    }
  8. Oracle RACデータベースの場合、cluster_databaseパラメータを設定し、spfileを共有の場所に移動します。単一インスタンス・データベースの場合、このステップは必要ありません。

    ノード1で、次のようにします:

    SQL> alter system set cluster_database=TRUE scope=spfile ;
     
    SQL> create pfile='/u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1/dbs/pfile_myokvdb3.ora' from spfile;
     
    File created.
     
    SQL> create spfile='+DATA' from pfile='/u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1/dbs/pfile_myokvdb3.ora';
     
    File created.
     
    orapwd file='+DATA' password=<tde_password_used_during_db_create> entries=5 dbuniquename='myokvdb3'
    
  9. データベース・サービスを追加します。Oracle RACデータベースの場合は、SQL>show parameter spfileコマンドを使用してspfile名を検出し、次のように使用します:

    単一インスタンス・データベースの場合:

    srvctl add database -db myokvdb3 -oraclehome /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 -dbtype Single -spfile /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1/dbs/spfilesdokv3.ora -pwfile /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1/dbs/orapwsdokv3  -node node_name

    Oracle RACデータベースとOracle RAC One Nodeデータベースの場合:

    srvctl add database -db myokvdb3 -oraclehome /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 -dbtype RAC -spfile  +DATA/myokvdb3/PARAMETERFILE/spfile.xxxxxxx
     
    srvctl add instance -d myokvdb3 -i myokvdb31 -n node_1_name
    srvctl add instance -d myokvdb3 -i myokvdb32 -n node_2_name
  10. SQL*Plusを使用して、データベースでshutdown abortコマンドを実行します。
  11. Oracle RACデータベースの場合は、ノード2で自動ログインTDEウォレットを作成します。
    Switch to db_user
     
    . oraenv
    ORACLE_SID = [dbusr1] ? myokvdb32
    ORACLE_HOME = [/home/oracle] ? /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1
     
    sqlplus / as sysdba
    SQL> startup nomount
     
    SQL> administer key management add secret 'tde_password' for client 'OKV_PASSWORD' to local auto_login keystore '/etc/OKV/myokvdb3/tde';
  12. srvctl start database -db myokvdb3コマンドを使用してデータベースを起動します。データベースが起動したら、Oracle RACデータベースで、インスタンスに対応するpmonプロセスがそれぞれのノードで実行されていることを確認します。
  13. ソース・データベースのDB名およびDB一意名が大文字である場合、このステップは必要ありません。ソース・データベースのDB名およびDB一意名が大文字でない場合、RMANバックアップからデータベースをリストアすると、DB名およびDB一意名が大文字に変更されます。そのため、データベースのリストア後に、DB名およびDB一意名の大/小文字をソース・データベースと同じ大/小文字に戻す必要があります。
    1. db_home/dbs/initoracle_sid.oraにinitfileがすでに存在する場合は削除します。
    2. spfileからpfileを作成します。
      SQL> create pfile='db_home/dbs/initoracle_sid.ora' from spfile; 
    3. db_home/dbs/initoracle_sid.oraファイルを編集し、db_nameおよびdb_unique_nameをソース・データベースと同じ大/小文字で更新します。
    4. データベースを停止します。
      SQL> shutdown immediate
    5. 編集したpfileを使用してデータベースを起動します。
      SQL> startup pfile='<db_home>/dbs/initoracle_sid.ora'
    6. spfileがすでに存在する場合は削除し、pfileからspfileを作成します。
      SQL> create spfile='db_home/dbs/spfileoracle_sid.ora' from pfile='db_home/dbs/initoracle_sid.ora';
    7. データベースを再起動します。
      SQL> shutdown immediate 
      SQL> startup
    8. DB名およびDB一意名がソース・データベースと同じ大/小文字で更新されているかどうかを確認します。
      SQL> show parameter db_name; SQL> show parameter db_unique_name; 
  14. Oracle Key Vaultサーバー構成を使用せずにデータベースを登録します:
    odacli register-database -sn myokvdb3.us.oracle.com --dbclass OLTP --dbshape odb2
    Enter SYS, SYSTEM and PDB Admin user password:
    Retype SYS, SYSTEM and PDB Admin user password: 
    Oracle Key Vaultサーバー構成を使用してデータベースを登録するには:
    odacli register-database -sn example.com --dbclass OLTP --dbshape odb2 -osc okv_obj_name
    Enter SYS, SYSTEM and PDB Admin user password:
    Retype SYS, SYSTEM and PDB Admin user password:
    Enter TDE wallet password:
    Retype TDE wallet password:

RMANを使用したソフトウェア・キーストアTDEデータベースのリストアおよびデータベースの登録

TDEキーの格納にソフトウェア・ウォレットを使用するTDE対応データベースの登録方法を説明します。

前提条件:
  • NFSの場所へのデータベースのRegular-L0または長期バックアップが使用可能である必要があります。
  • SYSパスワードとTDEパスワードを把握している必要があります。
  • パスワード保護TDEウォレット(ewallet.p12)と自動ログインTDEウォレット(cwallet.sso)のバックアップが使用可能である必要があります。
次のステップに従います:
  1. リストアするソース・データベースと同じストレージ・タイプでデータベース・ストレージを作成します。
    odacli create-dbstorage -n db_name -r asm|acfs
  2. $ORACLE_HOMEの場所に、データベースに対応するinitファイルを作成します。
    cat $ORACLE_HOME/dbs/initoracle_sid.ora
    db_name=db_name
    db_unique_name=db_unique_name
    wallet_root=source_database_location
    TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE"
  3. データベースに対応するパスワード・ファイルを生成します。
    orapwd file=$ORACLE_HOME/dbs/orapworacle_sid password=sys_password entries=5
  4. パスワード保護TDEウォレット(ewallet.p12)をwallet_root/tdeパスにコピーします。
  5. データベースに接続し、nomountオプションを指定してデータベースを起動します。
    export ORACLE_SID=oracle_sid
    export ORACLE_UNQNAME=db_unique_name
    export ORACLE_HOME=db_home_location
     
    sqlplus / as sysdba
    SQL> startup nomount
  6. 次のコマンドを使用してローカル自動ログイン・ウォレットを生成します:
    SQL> ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE  FROM KEYSTORE 'wallet_root/tde' IDENTIFIED BY "tde_password";
  7. RMAN auxiliaryに接続し、RMAN duplicateコマンドを実行します。

    単一インスタンスOracleデータベースの場合:

    rman auxiliary /
    run {
       allocate auxiliary channel ch1 type disk;
       duplicate target database to db_name
            spfile
            set db_unique_name='db_unique_name'
            set db_name='db_name'
       BACKUP LOCATION 'nfs_location_pointing_to_backup_pieces;
    }

    Oracle RACデータベースとOracle RAC One Nodeデータベースの場合:

    rman auxiliary /
      
    run {
       allocate auxiliary channel ch1 type disk;
       duplicate target database to db_name
            spfile
            set db_unique_name='db_unique_name'
            set db_name='db_name'
            set cluster_database='false'
       BACKUP LOCATION 'nfs_location_pointing_to_backup_pieces;
    }
  8. リストアされたデータベースをデータベース・サービスに追加します。

    単一インスタンスOracleデータベースの場合:

    srvctl add database -db db_unique_name -oraclehome $ORACLE_HOME -dbtype Single -spfile $ORACLE_HOME/dbs/spfileoracle_sid.ora  -pwfile $ORACLE_HOME/dbs/orapworacle_sid  -node node_name

    Oracle RACデータベースの場合:

    srvctl add database -db db_unique_name -oraclehome $ORACLE_HOME -dbtype RAC -spfile $ORACLE_HOME/dbs/spfileoracle_sid.ora  -pwfile $ORACLE_HOME/dbs/orapworacle_sid
    srvctl add instance -d db_unique_name -i oracle_sid1 -n node_1_name
    srvctl add instance -d db_unique_name -i oracle_sid2 -n node_2_name

    Oracle RAC One Nodeデータベースの場合:

    srvctl add database -db <db_unique_name>db_unique_name -oraclehome $ORACLE_HOME -dbtype RACOne -spfile $ORACLE_HOME/dbs/spfileoracle_sid.ora  -pwfile $ORACLE_HOME/dbs/orapworacle_sid 
    srvctl add instance -d db_unique_name -i oracle_sid_1 -n node_1_name
    srvctl add instance -d db_unique_name -i oracle_sid_2 -n node_2_name
  9. 次のように、データベースを停止してから起動します:
    SQL> shutdown immediate
     
    srvctl start database -db db_unique_name
    Oracle RACデータベースの場合は、次のコマンドを実行します:
    SQL> alter system set cluster_database=TRUE scope=spfile ;
  10. ソース・データベースのDB名およびDB一意名が大文字である場合、このステップはスキップしてかまいません。ソース・データベースのDB名およびDB一意名が大文字でない場合、RMANバックアップからデータベースをリストアすると、DB名およびDB一意名が大文字に変更されます。そのため、リストア後に、DB名およびDB一意名の大/小文字をソース・データベースと同じ大/小文字に戻す必要があります。
    1. db_home/dbs/initoracle_sid.orainitfileがすでに存在する場合は削除します。
    2. spfileからpfileを作成します。
      SQL> create pfile='db_home/dbs/initoracle_sid.ora' from spfile;
    3. db_home/dbs/initoracle_sid.oraファイルを編集し、db_nameおよびdb_unique_nameをソース・データベースと同じ大/小文字で更新します。
    4. データベースを停止します。
      SQL> shutdown immediate
    5. 編集したpfileを使用してデータベースを起動します。
      SQL> startup pfile='db_home/dbs/initoracle_sid.ora'
    6. spfileがすでに存在する場合は削除し、pfileからspfileを作成します。
      SQL> create spfile='db_home/dbs/spfileoracle_sid.ora' from pfile='db_home/dbs/initoracle_sid.ora';
    7. データベースを再起動します。
      SQL> shutdown immediate 
      SQL> startup
    8. DB名およびDB一意名がソース・データベースと同じ大/小文字で更新されていることを確認します。
      SQL> show parameter db_name;
      SQL> show parameter db_unique_name;
  11. wallet_rootパラメータが、リストアされたデータベースのDATA_LOCATIONに設定されていない場合は、/opt/oracle/dcs/commonstore/wallets/tde/dbunique_nameディレクトリをdb_userとして作成します。パスワード保護TDEウォレットewallet.p12を/opt/oracle/dcs/commonstore/wallets/tde/dbunique_nameの場所にコピーします。DBシステムの場合は、wallet_rootDATA_LOCATIONに設定します。
  12. ソース・データベースと同じSYSパスワードおよびTDEパスワードを使用して、データベースのパスワードを登録します。
    odacli register-database -sn service_name --dbclass db_class --dbshape db_shape -tp

BUIを使用したOracle Key Vaultサーバー構成オブジェクトの作成

BUIを使用して、ベア・メタルおよびDBシステムのOracle Key Vaultに格納されているTDEキーによってOracle Database ApplianceでTDE対応データベースを作成する方法を理解します。

Oracle Database Applianceベア・メタル・システムおよびDBシステムのOracle Key Vaultに格納されたTDEキーを使用してTDE対応データベースを作成するには、次のステップを実行します:
  1. ブラウザ・ユーザー・インタフェースにログインします。

    https://host-ip-address:7093/mgmt/index.html

  2. 「Credential Store」をクリックし、「Oracle Key Vault Server Config」をクリックします。
  3. 既存のOracle Key Vaultサーバー構成が表示されます。
  4. 「Create」をクリックし、Oracle Key Vaultサーバー構成を作成します。
  5. 「Create OKV Server Config」ページで、「OKV Server Config Name」「OKV Server Host」「OKV Server IP address」「OKV User Name」および「Password」を指定します。
  6. 「Create」をクリックします。
  7. 作成リクエスト・ジョブを確認し、ジョブが正常に完了したことを確認します。

BUIを使用したOracle Key Vaultサーバー構成でのアクセス権の付与および取消し

BUIを使用して、ベア・メタル・システムおよびDBシステム上のOracle Database ApplianceでOracle Key Vaultサーバー構成へのアクセス権を付与および取り消す方法を理解します。

Oracle Key Vaultサーバー構成へのアクセス権の付与および取消し

次のステップに従います:

  1. ブラウザ・ユーザー・インタフェースにログインします。

    https://host-ip-address:7093/mgmt/index.html

  2. 「Credential Store」をクリックし、「Oracle Key Vault Server Config」をクリックします。
  3. 既存のすべてのOracle Key Vaultサーバー構成を表示できます。
  4. 既存のOracle Key Vaultサーバー構成へのアクセス権を付与するには、Oracle Key Vaultサーバー構成を選択し、「Actions」ドロップダウン・リストから「Grant Access」を選択します。
  5. 「Grant Resource Access」ページで、リソースへのアクセス権を付与する「User Name」を選択します。
  6. 「Grant」をクリックします。
  7. 「Yes」をクリックして、アクションを確定します。
  8. 既存のOracle Key Vaultサーバー構成へのアクセス権を取り消すには、Oracle Key Vaultサーバー構成を選択し、「Actions」ドロップダウン・リストから「Revoke Access」を選択します。
  9. 「Revoke Resource Access」ページで、リソースへのアクセス権を取り消す「User Name」を選択します。
  10. 「Revoke」をクリックします。
  11. 「Yes」をクリックして、アクションを確定します。

BUIを使用したOracle Key Vaultサーバー構成操作の管理

ベア・メタル・システムおよびDBシステム上のOracle Database ApplianceでOracle Key Vaultサーバー構成操作を管理する方法を理解します。

Oracle Key Vaultサーバー構成は、ブラウザ・ユーザー・インタフェース(BUI)を使用して、Oracle Database Applianceベア・メタル・システムおよびDBシステム上に作成、リスト、削除および詳細表示できます。

Oracle Key Vaultサーバー構成のリストおよび削除:

次のステップに従います:

  1. ブラウザ・ユーザー・インタフェースにログインします。

    https://host-ip-address:7093/mgmt/index.html

  2. 「Credential Store」をクリックし、「Oracle Key Vault Tasks」をクリックします。
  3. 既存のすべてのOracle Key Vaultサーバー構成を表示できます。
  4. 既存のOracle Key Vaultサーバー構成を削除するには、Oracle Key Vaultサーバー構成を選択し、「Actions」ドロップダウン・リストから「Delete」を選択します。

ソフトウェア・キーストアを使用するTDE対応OracleデータベースからOracle Key Vaultキーストアを使用する別のTDE対応データベースへの表領域の移行

Oracle Key Vaultをキーストアとして使用するために、ソフトウェア・キーストアを使用するTDE対応データベースから、expdp/impdpトランスポータブル表領域機能によって表領域を移行する方法を説明します。

移行のユースケースを次に示します:

ソフトウェア・キーストアを使用するTDE対応のOracle ACFSデータベースからOracle Key Vaultキーストアを使用する別のTDE対応データベースへの表領域の移行

Oracle ACFSデータベースのソフトウェア・キーストアからOracle Database Appliance上のOracle Key Vaultに表領域を移行する方法を説明します。

ソース・データベースと宛先データベースがあることを確認します。2つのデータベースは、異なるOracle Database Applianceサーバー上にある必要があります。ソース・データベースは、ソフトウェア・キーストアTDE対応データベース(Oracle Database Applianceデータベースまたは互換性のあるエンディアンを持つOracleデータベースのいずれか)である必要があります。宛先データベースは、Oracle Database Appliance上にあり、Oracle Key Vaultを使用するTDE対応データベースであり、ODACLIコマンドを使用して作成されている必要があります。

ステップ1: ソース・データベースから表領域をエクスポートします

  1. ソース・データベースに、宛先データベースに移行する表領域TBS01があるとします。その表領域に関する情報を指定します。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following   
    ###
     
    # su - oracle
    $ sqlplus /nolog
    SQL> connect / as sysdba
    Connected.
     
     
    SQL> select TABLESPACE_NAME, ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            ENC
    ------------------------------ ---
    SYSTEM                 YES
    SYSAUX                 YES
    UNDOTBS1               YES
    USERS                  YES
    TEMP_ENC               YES
    TBS01                  YES
     
     
    SQL> select FILE_NAME from dba_data_files where TABLESPACE_NAME='TBS01' ;
     
    FILE_NAME
    --------------------------------------------------------------------------------
    /u02/app/oracle/oradata/dbtde/DBTDE/datafile/o1_mf_tbs01_mz3gfyj0_.dbf
     
     
    ###
    ### Make sure the set of tablespaces are self-contained. The following PL/SQL command must execute successfully 
    ###
     
    SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tbs01',true) ;
     
    PL/SQL procedure successfully completed.
     
     
    SQL> exit;
  2. エクスポートに使用するデータベース・ディレクトリをソース・データベースDBTDEに作成します。
    ###
    ### login as Oracle user and run the following
    ###
     
    # su - oracle
     
    $ mkdir -pv /u01/app/odaorabase0/oracle/dpdump/ttsps_dir
    mkdir: created directory '/u01/app/odaorabase0/oracle/dpdump'
    mkdir: created directory '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir'
     
    ###
    ### Connect to database using SQLPLUS as sysdba user and run the following 
    ###
     
    $ sqlplus /nolog
     
    SQL> connect / as sysdba
    Connected.
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
     
    SQL> exit;
  3. ソース・データベースDBTDEからTBS01表領域をエクスポートします。まず、READ ONLYモードでコピーする表領域を設定します。次に、指定された表領域でexpdpを実行します。expdpではENCRYPTION_PASSWORDが使用されず、impdpでもこのオプションは使用されないため、警告ORA-39396が表示されます。この警告は無視できます。宛先データベースでimpdpを実行する前に、TDEソフトウェア・ウォレットを宛先Oracle Key Vaultデータベース・サーバーにを転送し、対応するOracle Key Vaultウォレットにアップロードします。データベース・ディレクトリttsps_dirに格納されているexpdp用のログ・ファイルを確認します。
    ###
    ### login as Oracle user 
    ### Connect to database using SQLPLUS as sysdba user and run the following   
    ###
       
    # su - oracle
    $ sqlplus /nolog
     
    SQL> connect / as sysdba
    Connected.
     
    SQL> ALTER TABLESPACE TBS01 READ ONLY;
     
    Tablespace altered.
     
    SQL> exit;
     
    ###
    ### Run expdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ expdp system TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps_dbtde.dmp
     
    Export: Release 19.0.0.0.0 - Production on Mon Apr 7 11:08:49 2025
    Version 19.27.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps_dbtde.dmp
    ORA-39396: Warning: exporting encrypted data using transportable option without password
     
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
      /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttps_dbtde.dmp
    ******************************************************************************
    Datafiles required for transportable tablespace TBS01:
      /u02/app/oracle/oradata/dbtde/DBTDE/datafile/o1_mf_tbs01_mz3gfyj0_.dbf
    Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" completed with 1 error(s) at Mon Apr 7 11:09:15 2025 elapsed 0 00:00:20
  4. データファイル、TDEウォレット、expdp dmpファイルを宛先データベース・サーバーにコピーし、ソース・データベースDBTDE内のデータファイルのステータスをREAD WRITEに変更します。データファイル/u02/app/oracle/oradata/dbtde/DBTDE/datafile/o1_mf_tbs01_mz3gfyj0_.dbfを、宛先データベースでデータファイルの格納先となる場所にコピーします。次の例では、/u02/app/oracle/oradata/okvdb/OKVDB/datafile/はターゲット・データベースOKVDBの場所です。エクスポート・ファイルを/u01/app/odaorabase0/oracle/dpdump/ttsps_dirからターゲット・データベース・サーバーの/u01/app/odaorabase0/oracle/dpdump/ttsps_dirディレクトリにコピーします。また、ウォレットを、宛先の一時/tmp/dbtde/tdeディレクトリにコピーします。
    ###
    ### login as Oracle user and run the following
    ###
     
    # su - oracle
     
    $ scp /u02/app/oracle/oradata/dbtde/DBTDE/datafile/o1_mf_tbs01_mz3gfyj0_.dbf oracle@target_server:/u02/app/oracle/oradata/okvdb/OKVDB/datafile/
     
    ### Copy the expdp dump file to the destination server location.
    $ scp /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttps_dbtde.dmp oracle@target_server:/location
    
    $ cp /u02/app/oracle/oradata/dbtde/tde/ewallet.p12 oracle@target_server:/tmp/dbtde/tde
     
    ###
    ### In source database, set the tablespace back to read write mode
    ### Connect to database using SQLPLUS as sysdba user and run the following 
    ###
     
    $ sqlplus /nolog
     
    SQL> connect / as sysdba
    Connected.
     
    SQL> ALTER TABLESPACE TBS01 READ WRITE;
     
    SQL> exit;

ステップ2: Oracle Key Vault対応データベースへの表領域のインポート

  1. 宛先データベースとして、Oracle Key Vaultを使用するTDE対応データベースOKVDBが存在することを確認します。たとえば:
    # odacli create-database -n okvdb -t -kt okv -ocp /tmp/okvdb_on_server_name/okvclient.jar -dh 265412be-2b21-4cc4-adc7-c845bf9e3e3a -r ACFS
    Enter SYS and SYSTEM user password:
    Retype SYS and SYSTEM user password:
    Enter TDE wallet password:
    Retype TDE wallet password:
     
    # odacli describe-database -n okvdb
    Database details                                                 
    ----------------------------------------------------------------
                         ID: b0d137c0-31fa-453b-82e4-d6a364bca4df
                Description: okvdb
                    DB Name: okvdb
                    DB Type: SI
                        CDB: false
                    Storage: ACFS
                    Home ID: 265412be-2b21-4cc4-adc7-c845bf9e3e3a
      TDE Wallet Management: ODA
                TDE Enabled: true
              KeystoreType : OKV
       okvServerConfigName : NONE
  2. インポート操作のために、Oracle Key Vault対応の宛先データベースにデータベース・ディレクトリを作成します。ソース・データベースのexpdpダンプ・ファイルおよびimpdpの出力は、データベース・ディレクトリ・オブジェクトに格納されます。expdpダンプ・ファイルをソース・データベース・サーバーからこのサーバーにコピーし、impdpダンプ・ファイルを使用して表領域メタデータを宛先データベースに追加します。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following 
    ###
     
    # su - oracle
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
     
    SQL> exit;
  3. ウォレット・キーを、ソース・データベースから宛先データベースのOKVDBウォレットにアップロードします。
    ###
    ### login as Oracle user
    ### Upload the software keystore wallet entries to OKV server wallet. Notice the directory name  /etc/OKV/<db_unique_name>/okv/bin
    ###
     
    $ cd /etc/OKV/okvdb/okv/bin
     
    $ ./okvutil list
    Enter Oracle Key Vault endpoint password:
    Unique ID                               Type            Identifier
    3D433A6C-F7B0-433D-91B3-0ADABBDB7509    Template    Default template for OKVDB_ON_<SERVER-NAME>
    FC6AA1F6-C816-4771-A9B6-0D4EC3F4B015    Symmetric Key   TDE Master Encryption Key: TAG okvdb
     
     
    $  ./okvutil upload -t WALLET -l /tmp/dbtde/tde  -g okvdb_on_<server_name>-c -v 4 -o 
    okvutil version 21.10.0.0.0
    Endpoint type: Oracle Database
    Configuration file: /etc/OKV/okvdb/okv/conf/okvclient.ora
    Server: 100.70.126.204:5696
    Standby Servers:
    Uploading from /tmp/dbtde/tde
    Enter source wallet password:
    No auto-login wallet found, password needed
    Enter Oracle Key Vault endpoint password:
    ORACLE.SECURITY.ID.ENCRYPTION.
    Trying to connect to 100.70.126.204:5696 ...
    Connected to 100.70.126.204:5696.
    ORACLE.SECURITY.KB.ENCRYPTION.
    ORACLE.SECURITY.KT.ENCRYPTION.ASivkc8tqE9mv6RX0F9nYzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.KM.ENCRYPTION.ASivkc8tqE9mv6RX0F9nYzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.DB.ENCRYPTION.ASivkc8tqE9mv6RX0F9nYzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY
     
    Uploaded 1 TDE keys
    Uploaded 0 SEPS entries
    Uploaded 0 other secrets
    Uploaded 3 opaque objects
     
    Uploading private key
    Uploading certificate request
    Uploading trust points
     
    Uploaded 1 private keys
    Uploaded 1 certificate requests
    Uploaded 0 user certificates
    Uploaded 0 trust points
     
    Upload succeeded
     
    ###
    ### Comparing the output of 'okvutil list' shows that TDE Wallet Keys were uploaded to OKV wallet
    ###
     
    $ ./okvutil list
    Enter Oracle Key Vault endpoint password:
    Unique ID                               Type            Identifier
    17D6044D-F777-4E6F-9B0A-F08D653354F2    Opaque Object   Certificate Request
    3D433A6C-F7B0-433D-91B3-0ADABBDB7509    Template    Default template for OKVDB_ON_<SERVER-NAME>
    54FA58D4-B429-4A38-911F-8F2245D3B90F    Opaque Object   TDE Wallet Metadata
    9D509C97-231E-43E9-98C8-637DECF13ECD    Opaque Object   TDE Wallet Metadata
    A7168F0B-2023-5141-B720-EC771F9B23A1    Symmetric Key   TDE Master Encryption Key: TAG set_master_key
    E63A4B3D-3B84-4BEF-96BF-18CC844EB041    Opaque Object   TDE Wallet Metadata
    E727B9E3-8803-499B-8DAF-20C08ED587EA    Private Key -
    FC6AA1F6-C816-4771-A9B6-0D4EC3F4B015    Symmetric Key   TDE Master Encryption Key: TAG okvdb
     
     
    $ rm -rf /tmp/dbtde
  4. TBS01表領域を宛先データベースOKVDBにインポートします。
    ###
    ### Run impdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ impdp system  TRANSPORT_DATAFILES=\'/u02/app/oracle/oradata/okvdb/OKVDB/datafile/o1_mf_tbs01_mz3gfyj0_.dbf' DIRECTORY=ttsps_dir dumpfile=expttps.dmp
     
    Import: Release 19.0.0.0.0 - Production on Mon Nov 6 12:53:37 2023
    Version 19.25.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_DATAFILES='/u02/app/oracle/oradata/dbtde/DBTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf' DIRECTORY=ttsps_dir dumpfile=expttps.dmp
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Mon Nov 6 12:53:46 2023 elapsed 0 00:00:03
  5. 宛先のOracle Key Vault対応データベースで表領域のステータスを変更し、暗号化をテストします。インポートした表領域をREAD WRITEに設定します。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following 
    ###
     
    # su - oracle
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL>  select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ; 
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    YES
    SYSAUX                 ONLINE    YES
    UNDOTBS1               ONLINE    YES
    USERS                  ONLINE    YES
    TEMP_ENC               ONLINE    YES
    TBS01                  READ ONLY YES
     
     
     
     
    SQL> alter tablespace TBS01 read write ;
     
    Tablespace altered.
     
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    YES
    SYSAUX                 ONLINE    YES
    UNDOTBS1               ONLINE    YES
    USERS                  ONLINE    YES
    TEMP_ENC               ONLINE    YES
    TBS01                  ONLINE    YES
     
     
     
    ###
    ### Retrieve the data from TAB1. Consider that TAB1 was created using tablespace TBS01 and can now be queried.
    ###
     
     
    SQL> select OWNER, table_name from tab1 where rownum < 3;
     
    OWNER
    --------------------------------------------------------------------------------
    TABLE_NAME
    --------------------------------------------------------------------------------
    SYS
    TS$
     
    SYS
    ICOL$

ソフトウェア・キーストアを使用するTDE対応のOracle ASMデータベースからOracle Key Vaultキーストアを使用する別のTDE対応データベースへの表領域の移行

ソフトウェア・キーストアを使用するTDE対応のOracle ASMデータベースからOracle Key Vaultキーストアを使用する別のTDE対応データベースに表領域を移行する方法を説明します。

ソース・データベースと宛先データベースがあることを確認します。2つのデータベースは、異なるサーバー上にある必要があります。ソース・データベースは、ソフトウェア・キーストアTDE対応データベース(Oracle Database Applianceデータベースまたは互換性のあるエンディアンを持つOracleデータベースのいずれか)である必要があります。宛先データベースは、Oracle Database Appliance上にあり、Oracle Key Vaultを使用するTDE対応データベースであり、ODACLIコマンドを使用して作成されている必要があります。

ステップ1: ソース・データベースから表領域をエクスポートします

  1. ソース・データベースに、宛先データベースに移行する表領域TBS01があるとします。その表領域に関する情報を指定します。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following
    ###
     
    # su - oracle
    $ sqlplus /nolog
    SQL> connect / as sysdba
    Connected.
     
     
    SQL> select TABLESPACE_NAME, ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME ENC
    ------------------------------ ---
    SYSTEM YES
    SYSAUX YES
    UNDOTBS1 YES
    USERS YES
    TEMP_ENC YES
    TBS01 YES
     
     
    SQL> select FILE_NAME from dba_data_files where TABLESPACE_NAME='TBS01' ;
     
    FILE_NAME
    --------------------------------------------------------------------------------
    +DATA/DBASM/DATAFILE/tbs01.268.1197828959
     
     
    ###
    ### Make sure the set of tablespaces are self-contained. The following PL/SQL command must execute successfully
    ###
     
    SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tbs01',true) ;
     
    PL/SQL procedure successfully completed.
     
     
    SQL> exit;
  2. ソース・データベースDBASMからTBS01表領域をエクスポートします。まず、READ ONLYモードでコピーする表領域を設定します。次に、移行する必要がある表領域に対してexpdpを実行します。データベース・ディレクトリttsps_dirに格納されているexpdpのダンプ・ファイルを確認します。
    ###
    ### Set the tablespaces that you need to be exported in read-only mode 
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following 
     
    # su - oracle
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> ALTER TABLESPACE TBS01 READ ONLY;
     
    Tablespace altered.
     
    SQL> exit;
     
    ###
    ### Run expdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ expdp system TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps_dbasm.dmp
     
    Export: Release 19.0.0.0.0 - Production on Mon Apr 7 18:19:28 2025
    Version 19.27.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps_dbasm.dmp
    ORA-39396: Warning: exporting encrypted data using transportable option without password
     
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
      /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttps_dbasm.dmp
    ******************************************************************************
    Datafiles required for transportable tablespace TBS01:
      +DATA/DBASM/DATAFILE/tbs01.268.1197828959
    Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" completed with 1 error(s) at Mon Apr 7 18:19:52 2025 elapsed 0 00:00:18
  3. データファイルをOracle ASMからファイル・システムにコピーした後、そのデータファイルを宛先データベース・サーバーに移動します。その後、データファイルを宛先データベース・サーバーに移動し、そのファイルをOracle ASMにコピーします。次に、表領域のステータスをREAD WRITEに変更します。
    ###
    ### login to grid user
    ### Copy datafile from ASM to filesystem 
    ###
     
    # su - grid
     
    $ asmcmd cp +DATA/DBASM/DATAFILE/tbs01.278.1197745689 /home/grid/tbs01.dbf
    copying +DATA/DBASM/DATAFILE/tbs01.278.1197745689 -> /home/grid/tbs01.dbf
     
     
    ###
    ### In source database, set the tablespace back to read write mode
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following
    ###
     
    # su - oracle
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> ALTER TABLESPACE TBS01 READ WRITE;
    SQL> exit; 
  4. ソース・データベースのソフトウェア・キーストア・ウォレットをターゲット・サーバーのファイル・システムにコピーします。
    $ mkdir -pv /tmp/DBASM/tde
    mkdir: created directory '/tmp/DBASM'
    mkdir: created directory '/tmp/DBASM/tde'
     
    SQL> administer key management create keystore '/tmp/DBASM/tde' identified by "<password>";
     
    keystore altered.
     
    SQL> administer key management merge keystore '+DATA/DBASM/tde' identified by "<password>" into existing keystore '/tmp/DBASM/tde' identified by "<password>" with backup ;
     
    keystore altered.
  5. expdpダンプ・ファイルを/u01/app/odaorabase0/oracle/dpdump/ttsps_dirから宛先サーバーにコピーし、データファイルを/home/grid/tbs01.dbfからターゲット・データベース・サーバーにコピーします。
    The expdp and impdp directory is the same in this case, so, no copy is necessary, for remote copy dumpfile using similar this command
    $ scp /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttps_dbasm.dmp oracle@target_server:/location

ステップ2: Oracle Key Vault対応データベースへの表領域のインポート

  1. 宛先データベースとして、Oracle Key Vaultを使用するTDE対応データベースOKVASMが存在することを確認します。expdpimpdpを使用して、ソース・データベースのデータファイルおよび表領域をこのデータベースにコピーします。ブラウザ・ユーザー・インタフェース(BUI)またはODACLIコマンドを使用して、Oracle Database Applianceにデータベースを作成します。たとえば:
    # odacli create-database -n okvasm -t -kt okv -ocp /tmp/okvasm_on_<server_name>/okvclient.jar -dh 265412be-2b21-4cc4-adc7-c845bf9e3e3a -r ASM
    Enter SYS and SYSTEM user password:
    Retype SYS and SYSTEM user password:
    Enter TDE wallet password:
    Retype TDE wallet password:
     
    # odacli describe-database -n okvasm 
    Database details                                                 
    ---------------------------------------------------------------- 
                         ID: 19ce57f8-6f10-4e15-a403-4ded6ac0084b
                Description: okvasm
                    DB Name: okvasm
                    DB Type: SI
                        CDB: false
                    Storage: ASM
                    Home ID: 265412be-2b21-4cc4-adc7-c845bf9e3e3a
      TDE Wallet Management: ODA
                TDE Enabled: true
              KeystoreType : OKV 
       okvServerConfigName : NONE
  2. データファイルをファイル・システムからOKVASMの宛先Oracle ASMの場所にコピーし、データファイルの権限を変更します。
    ###
    ### login to grid user
    ### Copy datafile from from filesystem to ASM
    ###
     
    # su - grid
     
    $ asmcmd cp /home/grid/tbs01.dbf +DATA/OKVASM//DATAFILE/tbs01 --dest_dbname OKVASM
    copying /home/grid/tbs01.dbf -> +DATA/OKVASM//DATAFILE/tbs01
     
    ASMCMD> cd +DATA/OKVASM//DATAFILE
    ASMCMD>  ls --permission  
    User                                     Group            Permission  Name
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASM_CDB$ROOT   rw-------  SYSAUX.290.1197813993
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASM_CDB$ROOT   rw-------  SYSTEM.315.1197813987
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASM_CDB$ROOT   rw-------  UNDOTBS1.309.1197814001
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASM_CDB$ROOT   rw-------  USERS.313.1197813977
      grid@3fe6130d68b04fc6ffab5b96ff256f8e                    rw-------  tbs01 => +DATA/OKVASM/DATAFILE/tbs01.318.1197830121
      grid@3fe6130d68b04fc6ffab5b96ff256f8e                    rw-------  tbs01.318.1197830121
    ASMCMD>
    ASMCMD> chown oracle@3fe6130d68b04fc6ffab5b96ff256f8e:OKVASM_CDB$ROOT tbs01
    ASMCMD>  ls --permission
    User                                     Group            Permission  Name
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASM_CDB$ROOT   rw-------  SYSAUX.290.1197813993
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASM_CDB$ROOT   rw-------  SYSTEM.315.1197813987
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASM_CDB$ROOT   rw-------  UNDOTBS1.309.1197814001
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASM_CDB$ROOT   rw-------  USERS.313.1197813977
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASM_CDB$ROOT   rw-------  tbs01 => +DATA/OKVASM/DATAFILE/tbs01.318.1197830121
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASM_CDB$ROOT   rw-------  tbs01.318.1197830121
    ASMCMD> 
  3. インポート用にデータベース・ディレクトリをOKVASMデータベースに作成します。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following
    ###
     
    # su - oracle
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
     
    SQL> exit;
  4. ウォレット・キーを、ソース・ウォレットから宛先のOKVASM OKVウォレットにアップロードします。
    ###
    ### login as Oracle user
    ### Upload the software keystore wallet entries to OKV server wallet
    ###
     
     
    $ cd /etc/OKV/okvasm/okv/bin
     
    $ ./okvutil list
    Enter Oracle Key Vault endpoint password:
    Unique ID                               Type            Identifier
    4E58C724-E704-4245-A131-D357E1A7762A    Template    Default template for OKVASM_ON_<SERVER-NAME>
    C839BE56-9688-48C6-8C16-F2E34A304847    Symmetric Key   TDE Master Encryption Key: TAG okvasm
     
     
    $  ./okvutil upload -t WALLET -l /tmp/DBASM/tde  -g okvasm_on_<server_name>-c -v 4 -o 
    okvutil version 21.10.0.0.0
    Endpoint type: Oracle Database
    Configuration file: /etc/OKV/okvasm/okv/conf/okvclient.ora
    Server: 100.70.126.204:5696
    Standby Servers:
    Uploading from /tmp/DBASM/tde
    Enter source wallet password:
    No auto-login wallet found, password needed
    Enter Oracle Key Vault endpoint password:
    ORACLE.SECURITY.KB.ENCRYPTION.
    Trying to connect to 100.70.126.204:5696 ...
    Connected to 100.70.126.204:5696.
    ORACLE.SECURITY.ID.ENCRYPTION.
    ORACLE.SECURITY.KT.ENCRYPTION.Aeb4ZXoXJU9/v0wdUBJyfMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.KM.ENCRYPTION.Aeb4ZXoXJU9/v0wdUBJyfMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.DB.ENCRYPTION.Aeb4ZXoXJU9/v0wdUBJyfMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY
     
    Uploaded 1 TDE keys
    Uploaded 0 SEPS entries
    Uploaded 0 other secrets
    Uploaded 3 opaque objects
     
    Uploading private key
    Uploading certificate request
    Uploading trust points
     
    Uploaded 1 private keys
    Uploaded 1 certificate requests
    Uploaded 0 user certificates
    Uploaded 0 trust points
     
    Upload succeeded
     
    ###
    ### Comparing the output of 'okvutil list' shows that TDE Wallet Keys were uploaded to OKV wallet
    ###
     
     
    $ ./okvutil list
    Enter Oracle Key Vault endpoint password:
    Unique ID                               Type            Identifier
    2FF42EBA-AB07-456C-BBC1-5AFEC1CCB544    Opaque Object   TDE Wallet Metadata
    4E58C724-E704-4245-A131-D357E1A7762A    Template    Default template for OKVASM_ON_<SERVER-NAME>
    6403E441-2624-4360-BB55-E0C35709CDA6    Opaque Object   Certificate Request
    949A121D-B76A-448C-91EF-856BFD54DC1F    Private Key -
    A726D77A-09C1-5CD5-9650-3FDCB6BD0738    Symmetric Key   TDE Master Encryption Key: TAG set_master_key
    C81832F9-E5E9-4050-8A52-160705EC71BF    Opaque Object   TDE Wallet Metadata
    C839BE56-9688-48C6-8C16-F2E34A304847    Symmetric Key   TDE Master Encryption Key: TAG okvasm
    E860114F-A374-4534-8717-98DB92499E1A    Opaque Object   TDE Wallet Metadata
     
     
     
     
    $ rm -rf /tmp/DBASM/tde
  5. TBS01表領域を宛先データベースOKVASMにインポートします。TRANSPORT_DATAFILESは、宛先データベース内のデータ・ファイルの場所を参照します。
    ###
    ### login as Oracle user
    ### Run impdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    # su - oracle
     
    $ impdp system  TRANSPORT_DATAFILES=\'+DATA/OKVASM/DATAFILE/tbs01\' DIRECTORY=ttsps_dir dumpfile=expttps_dbasm.dmp
     
    Import: Release 19.0.0.0.0 - Production on Mon Apr 7 18:43:53 2025
    Version 19.27.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_DATAFILES='+DATA/OKVASM/DATAFILE/tbs01' DIRECTORY=ttsps_dir dumpfile=expttps_dbasm.dmp
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Mon Apr 7 18:44:05 2025 elapsed 0 00:00:04
  6. 宛先のOKVASMデータベースで表領域のステータスを変更し、暗号化をテストします。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following
    ###
     
    # su - oracle
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    YES
    SYSAUX                 ONLINE    YES
    UNDOTBS1               ONLINE    YES
    USERS                  ONLINE    YES
    TEMP_ENC               ONLINE    YES
    TBS01                  READ ONLY YES
     
    6 rows selected.
     
    SQL> alter tablespace TBS01 read write ;
     
    Tablespace altered.
     
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    YES
    SYSAUX                 ONLINE    YES
    UNDOTBS1               ONLINE    YES
    USERS                  ONLINE    YES
    TEMP_ENC               ONLINE    YES
    TBS01                  ONLINE    YES
     
     
     
    ###
    ### Retrieve the data from TAB1
    ###
     
    SQL> select OWNER, table_name from tab1 where rownum < 3;
     
    OWNER
    --------------------------------------------------------------------------------
    TABLE_NAME
    --------------------------------------------------------------------------------
    SYS
    TS$
     
    SYS
    ICOL$

ソフトウェア・キーストアを使用するTDE対応のOracle ACFSデータベースからOracle Key Vaultキーストアを使用する別のTDE対応マルチテナント・データベースへの表領域の移行

ソフトウェア・キーストアを使用するTDE対応のOracle ACFSデータベースからOracle Key Vaultキーストアを使用する別のTDE対応マルチテナント・データベースに表領域を移行する方法を説明します。

ソース・データベースと宛先データベースがあることを確認します。2つのデータベースは、1つのOracle Database Applianceサーバー上または異なるサーバー上に配置できます。ソース・データベースは、ソフトウェア・キーストアTDE対応データベース(Oracle Database Applianceデータベースまたは互換性のあるエンディアンを持つOracleデータベースのいずれか)である必要があります。宛先データベースは、ODACLIコマンドを使用して作成された、Oracle Key Vault対応のOracle Database Applianceデータベースである必要があります。

ステップ1: ソース・データベースから表領域をエクスポートします

  1. ソース・データベースに、宛先データベースに移行する表領域TBS01があるとします。その表領域に関する情報を指定します。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following   
    ###
     
    # su - oracle
    $ sqlplus /nolog
    SQL> connect / as sysdba
    Connected.
     
     
    SQL> select TABLESPACE_NAME, ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            ENC
    ------------------------------ ---
    SYSTEM                 YES
    SYSAUX                 YES
    UNDOTBS1               YES
    USERS                  YES
    TEMP_ENC               YES
    TBS01                  YES
     
     
    SQL> select FILE_NAME from dba_data_files where TABLESPACE_NAME='TBS01' ;
     
    FILE_NAME
    --------------------------------------------------------------------------------
    /u02/app/oracle/oradata/dbtdec/DBTDEC/321537BF1BE47143E063E730850AA965/datafile/o1_mf_tbs01_mz69cvrf_.dbf
     
     
    ###
    ### Make sure the set of tablespaces are self-contained. The following PL/SQL command must execute successfully 
    ###
     
    SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tbs01',true) ;
     
    PL/SQL procedure successfully completed.
     
     
    SQL> exit;
  2. エクスポートに使用するデータベース・ディレクトリをソース・データベースDBTDECに作成します。expdpで使用する宛先データベースにデータベース・ディレクトリ・オブジェクトを作成します。
    ###
    ### login as Oracle user and run the following
    ###
     
    # su - oracle
     
    $ mkdir -pv /u01/app/odaorabase0/oracle/dpdump/ttsps_dir
    mkdir: created directory '/u01/app/odaorabase0/oracle/dpdump'
    mkdir: created directory '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir'
     
    ###
    ### Connect to database using SQLPLUS as sysdba user and run the following 
    ###
     
    $ sqlplus /nolog
     
    SQL> connect / as sysdba
    Connected.
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
     
    SQL> exit;
  3. ソース・データベースDBTDECからTBS01表領域をエクスポートします。まず、READ ONLYモードでコピーする表領域を設定します。次に、指定された表領域でexpdpを実行します。expdpではENCRYPTION_PASSWORDが使用されず、impdpでもこのオプションは使用されないため、警告ORA-39396が表示されます。宛先データベースでimpdpを実行する前に、TDEソフトウェア・ウォレットを宛先Oracle Key Vaultデータベース・サーバーにを転送し、対応するOracle Key Vaultウォレットにアップロードします。データベース・ディレクトリttsps_dirに格納されているexpdp用のログ・ファイルを確認します。
    ###
    ### login as Oracle user 
    ### Connect to database using SQLPLUS as sysdba user and run the following   
    ###
       
    # su - oracle
    $ sqlplus /nolog
     
    SQL> connect / as sysdba
    Connected.
     
    SQL> ALTER TABLESPACE TBS01 READ ONLY;
     
    Tablespace altered.
     
    SQL> exit;
     
    ###
    ### Run expdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ expdp system TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps_dbtde.dmp
     
    Export: Release 19.0.0.0.0 - Production on Mon Apr 7 11:08:49 2025
    Version 19.27.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps_dbtde.dmp
    ORA-39396: Warning: exporting encrypted data using transportable option without password
     
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
      /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttps_dbtde.dmp
    ******************************************************************************
    Datafiles required for transportable tablespace TBS01:
      /u02/app/oracle/oradata/dbtdec/DBTDEC/321537BF1BE47143E063E730850AA965/datafile/o1_mf_tbs01_mz69cvrf_.dbf
    Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" completed with 1 error(s) at Mon Apr 7 11:09:15 2025 elapsed 0 00:00:20
  4. データファイル、TDEウォレットおよびexpdp dmpファイルを宛先データベース・サーバーにコピーし、ソース・データベースDBTDE内のデータファイルのステータスをREAD WRITEに編集します。データファイル/u02/app/oracle/oradata/dbtdec/DBTDEC/321537BF1BE47143E063E730850AA965/datafile/o1_mf_tbs01_mz69cvrf_.dbfをOracle Key Vaultデータベース・サーバーのPDBの場所/u02/app/oracle/oradata/okvdbc/OKVDBC/323B892160327BC5E063E730850A8FEA/datafile/にコピーします。
    ###
    ### login as Oracle user and run the following
    ###
     
    # su - oracle
     
    $ scp /u02/app/oracle/oradata/dbtdec/DBTDEC/321537BF1BE47143E063E730850AA965/datafile/o1_mf_tbs01_mz69cvrf_.dbf oracle@target_server:/u02/app/oracle/oradata/okvdbc/OKVDBC/323B892160327BC5E063E730850A8FEA/datafile/ 
     
    ### Copy the expdp dump file to the destination server location.
    $ scp /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttps.dmp oracle@<target_server>:/<location>
     
    cp /u02/app/oracle/oradata/dbtdec/tde/ewallet.p12 oracle@target_server:/tmp/dbtdec/tde
          
     
    ###
    ### In source database, set the tablespace back to read write mode
    ### Connect to database using SQLPLUS as sysdba user and run the following
    ###
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> alter session set container=pdb ;
     
    Session altered.
     
    SQL> ALTER TABLESPACE TBS01 READ WRITE;
    SQL> exit;

ステップ2: Oracle Key Vault対応データベースへの表領域のインポート

  1. 宛先データベースとして、Oracle Key Vaultを使用するTDE対応データベースOKVDBCが存在することを確認します。expdpおよびimpdpを使用して、ソース・データベースのデータ・ファイルおよび表領域をこのデータベースにコピーします。ブラウザ・ユーザー・インタフェース(BUI)またはODACLIコマンドを使用して、Oracle Database Applianceにデータベースを作成します。たとえば:
    # odacli create-database -n okvdbc -t -kt okv -ocp /tmp/okvdbc_on_<server_name>/okvclient.jar -dh 265412be-2b21-4cc4-adc7-c845bf9e3e3a -r ACFS --cdb -d pdbadmin -p pdb
     
    # odacli describe-database -n okvdbc
    Database details                                                 
    ----------------------------------------------------------------
                         ID: 045c22d6-96ed-47d7-95b9-7c9923d94fd9
                Description: okvdbc
                    DB Name: okvdbc
                    DB Type: SI
                        CDB: true
                   PDB Name: pdb
        PDB Admin User Name: pdbadmin
                    Storage: ACFS
                    Home ID: 265412be-2b21-4cc4-adc7-c845bf9e3e3a
      TDE Wallet Management: ODA
                TDE Enabled: true
              KeystoreType : OKV 
     
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following 
    ### Take a note of PDB GUID which helps to determine the path of PDB datafile
    ###
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> col PDB_NAME for a20
    SQL> select  PDB_NAME,GUID from  dba_pdbs  ;
     
    PDB_NAME         GUID
    -------------------- --------------------------------
    PDB          323B892160327BC5E063E730850A8FEA
    PDB$SEED         323B5ABA63C6340CE063E730850A4161
     
     
    SQL> exit;
  2. PDB用のサービスおよびTNS名を作成します。
    ###
    ### Create service for PDB database and add TNS alias for PDB to  $ORACLE_HOME/network/admin/tnsnames.ora 
    ###
     
    $ srvctl add service -db okvdbc -service okvdbc_pdb -pdb pdb  -role PRIMARY -policy AUTOMATIC
    $ srvctl start service -db okvdbc -service okvdbc_pdb
     
     
    OKVDBC_PDB =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = <server-name>)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = okvdbcpdb.servicename)
  3. インポート用にデータベース・ディレクトリをPDBに作成します。
    ###
    ### login as Oracle user and run the following
    ###
     
    # su - oracle
     
    $ mkdir -pv /u01/app/odaorabase0/oracle/dpdump/ttsps_dir
    mkdir: created directory ‘/u01/app/odaorabase0/oracle/dpdump/ttsps_dir’
     
    ###
    ### Connect to database using SQLPLUS as sysdba user and run the following
    ###
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
     
    SQL> ALTER SESSION SET CONTAINER=PDB ;
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
     
    SQL> exit; 
  4. ウォレット・キーを、ソースから宛先データベースのOKVDBCウォレットにアップロードします。impdpで表領域を認識するには、ソフトウェア・キーストア・ウォレットの内容を、Oracle Key Vaultが有効になっている宛先データベースにアップロードします。ウォレットを宛先サーバーにコピーし、ウォレット用の一時エンドポイントを作成し、ウォレットの内容をアップロードして、一時エンドポイントおよびソース・データベース・ウォレットを削除します。
    ###
    ### login as Oracle user
    ### Upload the software keystore wallet entries to OKV server wallet
    ###
     
     
    $ cd /etc/OKV/okvdbc/okv/bin/
     
    $ ./okvutil list
    Enter Oracle Key Vault endpoint password:
    Unique ID                               Type            Identifier
    2299AD61-915F-4568-82EA-2E07FDF8F129    Symmetric Key   TDE Master Encryption Key: TAG okvdbc
    51EA3595-433A-4FE8-BCAA-A2FBB768F88A    Symmetric Key   TDE Master Encryption Key: TAG okvdbc
    A7A80EB2-899F-47B3-8050-3A8C76ED449B    Symmetric Key   TDE Master Encryption Key: TAG okvdbc_pdb
    A7C3463B-B8AD-45A3-A31C-E8BABAB1289F    Template    Default template for OKVDBC_ON_<SERVER-NAME>
     
     
    $  ./okvutil upload -t WALLET -l /tmp/dbtdec/tde  -g okvdbc_on_<server_name>-c -v 4 -o  
    okvutil version 21.10.0.0.0
    Endpoint type: Oracle Database
    Configuration file: /etc/OKV/okvdbc/okv/conf/okvclient.ora
    Server: 100.70.126.204:5696
    Standby Servers:
    Uploading from /tmp/dbtdec/tde
    Enter source wallet password:
    No auto-login wallet found, password needed
    Enter Oracle Key Vault endpoint password:
    ORACLE.SECURITY.ID.ENCRYPTION.
    Trying to connect to 100.70.126.204:5696 ...
    Connected to 100.70.126.204:5696.
    ORACLE.SECURITY.KB.ENCRYPTION.
    ORACLE.SECURITY.KT.ENCRYPTION.AecOmWLewk8dv1z3KsizxucAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.KM.ENCRYPTION.AecOmWLewk8dv1z3KsizxucAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.DB.ENCRYPTION.AecOmWLewk8dv1z3KsizxucAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.KT.ENCRYPTION.AV35lc5etE+Av4EsIkDeWjsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.KM.ENCRYPTION.AV35lc5etE+Av4EsIkDeWjsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.DB.ENCRYPTION.AV35lc5etE+Av4EsIkDeWjsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY.321537BF1BE47143E063E730850AA965
    ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY
     
    Uploaded 2 TDE keys
    Uploaded 0 SEPS entries
    Uploaded 0 other secrets
    Uploaded 4 opaque objects
     
    Uploading private key
    Uploading certificate request
    Uploading trust points
     
    Uploaded 1 private keys
    Uploaded 1 certificate requests
    Uploaded 0 user certificates
    Uploaded 0 trust points
     
    Upload succeeded
     
    ###
    ### Comparing the output of 'okvutil list' shows that TDE Wallet Keys were uploaded to OKV wallet
    ###
     
     
    $ ./okvutil list
    Enter Oracle Key Vault endpoint password:
    Unique ID                               Type            Identifier
    0CDCC93D-EEEA-4760-848F-2162D0074B20    Opaque Object   TDE Wallet Metadata
    2299AD61-915F-4568-82EA-2E07FDF8F129    Symmetric Key   TDE Master Encryption Key: TAG okvdbc
    3616D7C9-1025-4093-BEC4-1DD2BAC8047C    Opaque Object   TDE Wallet Metadata
    3F716086-2740-4688-82C3-428B6DA55720    Private Key -
    5130AEF7-AA35-57B1-8EB7-88A297867B7F    Symmetric Key   TDE Master Encryption Key: TAG set_master_key
    51EA3595-433A-4FE8-BCAA-A2FBB768F88A    Symmetric Key   TDE Master Encryption Key: TAG okvdbc
    60769770-17A6-4D77-B5AF-80E870B3E95E    Opaque Object   TDE Wallet Metadata
    75E9B037-2FA4-45DD-A4D1-FA1A07102602    Opaque Object   TDE Wallet Metadata
    9B72895D-8551-5792-B3E5-90DC76BE1EBA    Symmetric Key   TDE Master Encryption Key: TAG set_master_key
    A7A80EB2-899F-47B3-8050-3A8C76ED449B    Symmetric Key   TDE Master Encryption Key: TAG okvdbc_pdb
    A7C3463B-B8AD-45A3-A31C-E8BABAB1289F    Template    Default template for OKVDBC_ON_<SERVER-NAME>
    DDF529BA-348A-4FF3-8F31-73C170749956    Opaque Object   Certificate Request
     
     
    $ rm -rf /tmp/dbtdec/tde
  5. TBS01表領域をOKVDBCの宛先データベースPDBコンテナにインポートします。impdpは、以前にコピーしたダンプ・ファイルを使用して、表領域メタデータを宛先データベースに追加します。TRANSPORT_DATAFILESは、宛先データベース内のデータファイルの場所を参照します。
    ###
    ### login as Oracle user
    ### Run impdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    # su - oracle 
     
     
     
    $  impdp system@okvdbc_pdb  TRANSPORT_DATAFILES=\'/u02/app/oracle/oradata/okvdbc/OKVDBC/323B892160327BC5E063E730850A8FEA/datafile/o1_mf_tbs01_mz69cvrf_.dbf\' DIRECTORY=ttsps_dir dumpfile=expttps_dbtdec.dmp
     
    Import: Release 19.0.0.0.0 - Production on Mon Apr 7 20:49:35 2025
    Version 19.27.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/********@okvdbc_pdb TRANSPORT_DATAFILES='/u02/app/oracle/oradata/okvdbc/OKVDBC/323B892160327BC5E063E730850A8FEA/datafile/o1_mf_tbs01_mz69cvrf_.dbf' DIRECTORY=ttsps_dir dumpfile=expttps_dbtdec.dmp
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Mon Apr 7 20:50:06 2025 elapsed 0 00:00:16
  6. 宛先のOKVDBCデータベースPDBで表領域のステータスを変更し、表領域の暗号化をテストします。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following 
    ###
     
    # su - oracle
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> alter session set container=pdb ;
     
    Session altered.
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    YES
    SYSAUX                 ONLINE    YES
    UNDOTBS1               ONLINE    YES
    USERS                  ONLINE    YES
    TEMP_ENC               ONLINE    YES
    TBS01                  READ ONLY YES
     
     
    SQL> alter tablespace TBS01 read write ;
     
    Tablespace altered.
     
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    YES
    SYSAUX                 ONLINE    YES
    UNDOTBS1               ONLINE    YES
    USERS                  ONLINE    YES
    TEMP_ENC               ONLINE    YES
    TBS01                  ONLINE    YES
     
     
     
    SQL>  select FILE_NAME from dba_data_files where TABLESPACE_NAME='TBS01' ;
     
    FILE_NAME
    ------------------------------------------------------------------------------------------------------------------------------------
    /u02/app/oracle/oradata/okvdbc/OKVDBC/323B892160327BC5E063E730850A8FEA/datafile/o1_mf_tbs01_mz69cvrf_.dbf
     
     
     
     
    ###
    ### Retrieve the data from TAB1
    ###
     
    SQL> select OWNER, table_name from tab1 where rownum < 3
     
    OWNER
    --------------------------------------------------------------------------------
    TABLE_NAME
    --------------------------------------------------------------------------------
    SYS
    TS$
     
    SYS
    ICOL$

ソフトウェア・キーストアを使用するTDE対応のOracle ASMデータベースからOracle Key Vaultキーストアを使用する別のTDE対応マルチテナント・データベースへの表領域の移行

ソフトウェア・キーストアを使用するTDE対応のOracle ASMデータベースからOracle Key Vaultキーストアを使用する別のTDE対応マルチテナント・データベースに表領域を移行する方法を説明します。

ソース・データベースと宛先データベースがあることを確認します。2つのデータベースは、1つのOracle Database Applianceサーバー上または異なるサーバー上に配置できます。ソース・データベースは、ソフトウェア・キーストアTDE対応データベース(Oracle Database Applianceデータベースまたは互換性のあるエンディアンを持つOracleデータベースのいずれか)である必要があります。宛先データベースは、ODACLIコマンドを使用して作成された、Oracle Key Vault対応のOracle Database Applianceデータベースである必要があります。

ステップ1: ソース・データベースから表領域をエクスポートします

  1. ソース・データベースに、宛先データベースに移行する表領域TBS01があるとします。その表領域に関する情報を指定します。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following
    ###
     
    # su - oracle
    $ sqlplus /nolog
    SQL> connect / as sysdba
    Connected.
     
     
    SQL> select TABLESPACE_NAME, ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME ENC
    ------------------------------ ---
    SYSTEM YES
    SYSAUX YES
    UNDOTBS1 YES
    USERS YES
    TEMP_ENC YES
    TBS01 YES
     
     
    SQL> select FILE_NAME from dba_data_files where TABLESPACE_NAME='TBS01' ;
     
    FILE_NAME
    --------------------------------------------------------------------------------
    +DATA/DBASMC/DATAFILE/tbs01.268.1197828959
     
     
    ###
    ### Make sure the set of tablespaces are self-contained. The following PL/SQL command must execute successfully
    ###
     
    SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tbs01',true) ;
     
    PL/SQL procedure successfully completed.
     
     
    SQL> exit;
  2. ソース・データベースDBASMCからTBS01表領域をエクスポートします。まず、READ ONLYモードでコピーする表領域を設定します。次に、指定された表領域でexpdpを実行します。データベース・ディレクトリttsps_dirに格納されているexpdpのダンプ・ファイルを確認します。
    ###
    ### Set the tablespaces that you need to be exported in read-only mode 
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following 
     
    # su - oracle
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> ALTER TABLESPACE TBS01 READ ONLY;
     
    Tablespace altered.
     
    SQL> exit;
     
    ###
    ### Run expdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ expdp system TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps_dbasm.dmp
     
    Export: Release 19.0.0.0.0 - Production on Mon Apr 7 18:19:28 2025
    Version 19.27.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps_dbasm.dmp
    ORA-39396: Warning: exporting encrypted data using transportable option without password
     
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
      /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttps_dbasm.dmp
    ******************************************************************************
    Datafiles required for transportable tablespace TBS01:
      +DATA/DBASMC/DATAFILE/tbs01.268.1197828959
    Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" completed with 1 error(s) at Mon Apr 7 18:19:52 2025 elapsed 0 00:00:18
  3. データファイルをOracle ASMからソース・サーバー上のファイル・システムにコピーします。次に、表領域のステータスをREAD WRITEに変更します。
    ###
    ### login to grid user
    ### Copy datafile from ASM to filesystem 
    ###
     
    # su - grid
     
    $ asmcmd cp DATA/DBASMC/DATAFILE/tbs01.268.1197828959
    copying DATA/DBASMC/DATAFILE/tbs01.268.1197828959 -> /home/grid/tbs01.dbf
     
     
    ###
    ### In source database, set the tablespace back to read write mode
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following
    ###
     
    # su - oracle
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> ALTER TABLESPACE TBS01 READ WRITE;
    SQL> exit; 
  4. ソース・データベースのソフトウェア・キーストア・ウォレットをターゲット・サーバーのファイル・システムにコピーします。
    SQL> administer key management create keystore '/tmp/DBASMC/tde' identified by "<password>";
     
    keystore altered.
     
    SQL> administer key management merge keystore '+DATA/DBASMC/tde' identified by "<password>" into existing keystore '/tmp/DBASMC/tde' identified by "<password>" with backup ;
      
    keystore altered.
  5. expdpダンプ・ファイルを宛先データベース・サーバーにコピーします。データファイルを/u01/app/odaorabase0/oracle/dpdump/ttsps_dirからターゲット・データベース・サーバーにコピーします。
    The expdp and impdp directory is the same in this case, so, no copy is necessary, for remote copy dumpfile using similar this command
    $ scp /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttps_dbasm.dmp oracle@target_server:/location

ステップ2: Oracle Key Vault対応データベースへの表領域のインポート

  1. 宛先データベースとして、Oracle Key Vaultを使用するTDE対応データベースOKVASMCが存在することを確認します。expdpおよびimpdpを使用して、ソース・データベースのデータ・ファイルおよび表領域をこのデータベースにコピーします。ブラウザ・ユーザー・インタフェース(BUI)またはODACLIコマンドを使用して、Oracle Database Applianceにデータベースを作成します。たとえば:
    # odacli create-database -n okvasmc  -t -kt okv -ocp /tmp/okvasmc_on_<server_name>/okvclient.jar  -dh 265412be-2b21-4cc4-adc7-c845bf9e3e3a -r ASM --cdb -d pdbadmin -p pdb
     
    #  odacli describe-database -n okvasmc
    Database details                                                 
    ----------------------------------------------------------------
                         ID: dc9f9d7b-7e22-4997-bb20-4a3adcc764a4
                Description: okvasmc
                    DB Name: okvasmc
                    DB Type: SI
                        CDB: true
                   PDB Name: pdb
        PDB Admin User Name: pdbadmin
                    Storage: ASM
                    Home ID: 265412be-2b21-4cc4-adc7-c845bf9e3e3a
      TDE Wallet Management: ODA
                TDE Enabled: true
              KeystoreType : OKV  
     
     
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following 
    ###
     
    # su - oracle
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> col PDB_NAME for a20
    SQL> select  PDB_NAME,GUID from  dba_pdbs  ;
     
    PDB_NAME         GUID
    -------------------- --------------------------------
    PDB          3247726469554039E063E730850A5A00
    PDB$SEED         324743827B457329E063E730850A27E7
     
    SQL> exit ;
  2. データファイルをファイル・システムからOKVASMCの宛先Oracle ASMの場所にコピーし、データファイルのコピー後に権限を正しく設定します。
    ###
    ### login to grid user
    ###
     
    # su - grid
     
    $ asmcmd cp /home/grid/tbs01.dbf +DATA/OKVASMC/3247726469554039E063E730850A5A00/DATAFILE/tbs01 --dest_dbname OKVASMC
    copying /home/grid/tbs01.dbf -> +DATA/OKVASMC/3247726469554039E063E730850A5A00/DATAFILE/tbs01
     
     
     
    $ asmcmd
     
    ASMCMD> pwd
    +DATA/OKVASMC/3247726469554039E063E730850A5A00/DATAFILE
     
    ASMCMD> ls --permission
    User                                     Group        Permission  Name
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASMC_PDB   rw-------  SYSAUX.337.1197886103
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASMC_PDB   rw-------  SYSTEM.330.1197886099
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASMC_PDB   rw-------  UNDOTBS1.338.1197886107
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASMC_PDB   rw-------  USERS.336.1197886111
      grid@3fe6130d68b04fc6ffab5b96ff256f8e                rw-------  tbs01 => +DATA/OKVASMC/DATAFILE/tbs01.339.1197886535
    ASMCMD> chown oracle@3fe6130d68b04fc6ffab5b96ff256f8e:OKVASMC_PDB tbs01
    ASMCMD>
     
    ASMCMD> ls --permission
    User                                     Group        Permission  Name
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASMC_PDB   rw-------  SYSAUX.337.1197886103
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASMC_PDB   rw-------  SYSTEM.330.1197886099
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASMC_PDB   rw-------  UNDOTBS1.338.1197886107
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASMC_PDB   rw-------  USERS.336.1197886111
    oracle@3fe6130d68b04fc6ffab5b96ff256f8e  OKVASMC_PDB   rw-------  tbs01 => +DATA/OKVASMC/DATAFILE/tbs01.339.1197886535
  3. PDB用のサービスおよびTNS名を作成します。
    ###
    ### Create service for PDB database and add TNS alias for PDB to  $ORACLE_HOME/network/admin/tnsnames.ora 
    ###
     
    $ srvctl add service -db okvasmc -service okvasmc_pdb -pdb pdb  -role PRIMARY -policy AUTOMATIC
    $ srvctl start service -db okvasmc -service okvasmc_pdb
      
     
    OKVASMC_PDB =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = <server-name>)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = okvasmc_pdb.service)
  4. インポート用にデータベース・ディレクトリをPDBに作成します。
    ###
    ### login as Oracle user and run the following
    ###
     
    # su - oracle
     
    $ mkdir -pv /u01/app/odaorabase0/oracle/dpdump/ttsps_dir
    mkdir: created directory ‘/u01/app/odaorabase0/oracle/dpdump/ttsps_dir’
     
    ###
    ### Connect to database using SQLPLUS as sysdba user and run the following 
    ###
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL> ALTER SESSION SET CONTAINER=PDB ;
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
     
    SQL> exit;
  5. ウォレット・キーを、ソースから宛先データベースのOKVASMC Oracle Key Vaultウォレットにアップロードします。impdpで表領域を認識するには、ソフトウェア・キーストア・ウォレットの内容を、Oracle Key Vaultが有効になっている宛先データベースにアップロードします。
    ###
    ### login as Oracle user
    ### Upload the software keystore wallet entries to OKV server wallet
    ###
     
     
    $ cd /etc/OKV/okvasmc/okv/bin/
     
    $ ./okvutil list
    Enter Oracle Key Vault endpoint password:
    Unique ID                               Type            Identifier
    20D37B20-78C2-4679-8B56-B50F184B5D61    Symmetric Key   TDE Master Encryption Key: TAG okvasmc
    40A3C0F2-CED1-497F-8C70-13A6E69AC0F7    Symmetric Key   TDE Master Encryption Key: TAG okvasmc_pdb
    9E0B4E98-2249-4159-9B12-04A60980D25E    Template    Default template for OKVASMC_ON_<SERVER-NAME>
    B4569785-465C-4906-8C82-3736A15ED3E7    Symmetric Key   TDE Master Encryption Key: TAG okvasmc
     
     
     
    $ ./okvutil upload -t WALLET -l /tmp/DBASMC/tde  -g okvasmc_on_<server_name>-c -v 4 -o 
    okvutil version 21.10.0.0.0
    Endpoint type: Oracle Database
    Configuration file: /etc/OKV/okvasmc/okv/conf/okvclient.ora
    Server: 100.70.126.204:5696
    Standby Servers:
    Uploading from /tmp/DBASMC/tde
    Enter source wallet password:
    No auto-login wallet found, password needed
    Enter Oracle Key Vault endpoint password:
    ORACLE.SECURITY.KB.ENCRYPTION.
    Trying to connect to 100.70.126.204:5696 ...
    Connected to 100.70.126.204:5696.
    ORACLE.SECURITY.ID.ENCRYPTION.
    ORACLE.SECURITY.KT.ENCRYPTION.AYGo9jtJAk+JvwRLClz4E7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.KM.ENCRYPTION.AYGo9jtJAk+JvwRLClz4E7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.DB.ENCRYPTION.AYGo9jtJAk+JvwRLClz4E7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.KT.ENCRYPTION.Afk3edvpTU8yv82U/FM99CoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.KM.ENCRYPTION.Afk3edvpTU8yv82U/FM99CoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.DB.ENCRYPTION.Afk3edvpTU8yv82U/FM99CoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY.3215781D91701754E063E730850A04B1
    ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY
     
    Uploaded 2 TDE keys
    Uploaded 0 SEPS entries
    Uploaded 0 other secrets
    Uploaded 4 opaque objects
     
    Uploading private key
    Uploading certificate request
    Uploading trust points
     
    Uploaded 1 private keys
    Uploaded 1 certificate requests
    Uploaded 0 user certificates
    Uploaded 0 trust points
     
    Upload succeeded
     
     
    ###
    ### Comparing the output of 'okvutil list' shows that TDE Wallet Keys were uploaded to OKV wallet
    ###
     
     
    $ ./okvutil list
    Enter Oracle Key Vault endpoint password:
    Unique ID                               Type            Identifier
    1D4F6104-FAFE-42C5-AE3E-F9B46BCA51CA    Opaque Object   Certificate Request
    20D37B20-78C2-4679-8B56-B50F184B5D61    Symmetric Key   TDE Master Encryption Key: TAG okvasmc
    2F4FCE20-A679-415A-B2E9-F4F80A28576A    Opaque Object   TDE Wallet Metadata
    40A3C0F2-CED1-497F-8C70-13A6E69AC0F7    Symmetric Key   TDE Master Encryption Key: TAG okvasmc_pdb
    41B0D244-BAC0-5311-A624-3BB0496C8BE9    Symmetric Key   TDE Master Encryption Key: TAG set_master_key
    74A196AC-3C9E-49B5-A10B-19F2DFB3D27B    Opaque Object   TDE Wallet Metadata
    87793E99-E79C-4855-8CF1-5C463DCFCE60    Opaque Object   TDE Wallet Metadata
    9E0B4E98-2249-4159-9B12-04A60980D25E    Template    Default template for OKVASMC_ON_<SERVER-NAME>
    B4569785-465C-4906-8C82-3736A15ED3E7    Symmetric Key   TDE Master Encryption Key: TAG okvasmc
    E31121D2-5A43-4D1A-882B-26881FB1D3A2    Private Key -
    E885E79C-AF01-5856-A066-7292198BF650    Symmetric Key   TDE Master Encryption Key: TAG set_master_key
    F0834140-19A5-4E2F-9AB6-CC4026A0FC62    Opaque Object   TDE Wallet Metadata
     
     
     
     
    $ rm -rf /tmp/DBASMC/tde
  6. TBS01表領域を宛先データベースOKVASMCにインポートします。TRANSPORT_DATAFILESは、宛先データベース内のデータ・ファイルの場所を参照します。
    ###
    ### login as Oracle user  
    ### Run impdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    # su - oracle
     
    $ impdp system@okvasmc_pdb  TRANSPORT_DATAFILES=\'+DATA/OKVASMC/3247726469554039E063E730850A5A00/DATAFILE/tbs01\' DIRECTORY=ttsps_dir dumpfile=expttps_dbasmc.dmp
     
    Import: Release 19.0.0.0.0 - Production on Tue Apr 8 10:30:00 2025
    Version 19.27.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/********@okvasmc_pdb TRANSPORT_DATAFILES='+DATA/OKVASMC/3247726469554039E063E730850A5A00/DATAFILE/tbs01' DIRECTORY=ttsps_dir dumpfile=expttps_dbasmc.dmp
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Tue Apr 8 10:30:25 2025 elapsed 0 00:00:17
  7. 宛先のOracle Key Vaultデータベースで表領域のステータスを変更し、暗号化をテストします。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user and run the following 
    ###
     
    # su - oracle
     
    $ sqlplus /nolog
    SQL> connect / as sysdba
     
    SQL>  alter session set container=pdb ;
     
    Session altered.
     
    SQL>  select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
      
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    YES
    SYSAUX                 ONLINE    YES
    UNDOTBS1               ONLINE    YES
    USERS                  ONLINE    YES
    TEMP_ENC               ONLINE    YES
    TBS01                  READ ONLY YES
     
     
    SQL> alter tablespace TBS01 read write ;
     
    Tablespace altered.
     
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    YES
    SYSAUX                 ONLINE    YES
    UNDOTBS1               ONLINE    YES
    USERS                  ONLINE    YES
    TEMP_ENC               ONLINE    YES
    TBS01                  ONLINE    YES
     
     
     
    ###
    ### Retrieve the data from TAB1
    ###
     
    SQL> select OWNER, table_name from tab1 where rownum < 3 ;
     
    OWNER
    --------------------------------------------------------------------------------
    TABLE_NAME
    --------------------------------------------------------------------------------
    SYS
    IND$
     
    SYS
    CDEF$

Oracle Database Applianceでのソフトウェア・キーストアからOracle Key Vaultキーストアへの手動移行

Oracle Database Applianceに作成されたデータベースの表領域をソフトウェア・キーストアからOracle Key Vaultキーストアに移行する方法を説明します

この移行の場合、TDEウォレット(デフォルト・ウォレットとして設定)およびエンドポイントがOracle Key Vaultサーバーに存在している必要があります。エンドポイント固有のokvclient.jarファイルがOracle Database Applianceで使用可能であることを確認します。
  1. Oracle Key Vaultにログインし、データベースに対応する仮想TDEウォレットを作成します。
  2. 各インスタンスに対応するエンドポイントを作成します。単一インスタンス・データベースの場合はエンドポイントを1つ作成し、Oracle RACデータベース、Oracle RAC Oneデータベースおよび高可用性が有効になっている単一インスタンス・データベースの場合はエンドポイントを2つ作成する必要があります。
  3. 作成されたエンドポイントのデフォルト・ウォレットを設定します。
  4. 各エンドポイントに対応するokvclient.jarファイルをダウンロードします。単一インスタンス・データベースの場合はファイルを1つダウンロードし、Oracle RACデータベースの場合は、ダウンロード可能なファイルが2つ(インスタンスごとに1つ)あります。
移行前、TDEキーはデータベース内のOracle ASMストレージのファイルベース・ウォレットに存在します。移行後、現在のTDEキーはすべてOracle Key Vaultキーストアに移行されています。
  1. データベース所有者(oracleなど)として、SQL*Plusに接続し、データベースの新しいWALLET_ROOT初期化パラメータを構成します。
    # su - oracle
    $. oraenv
    ORACLE_SID = [oracle] ? enter the database SID
    ORACLE_HOME = [/home/oracle] ? enter the database home path
    $ sqlplus / as sysdba
    SQL> ALTER SYSTEM SET WALLET_ROOT='/etc/OKV/dbUniqueName' scope=spfile sid='*';
      
    System altered.
  2. ウォレット・ルートおよびTDEディレクトリを作成します。このステップは、Oracle RACデータベース、Oracle RAC One NodeデータベースおよびOracle Database Enterprise Edition高可用性データベースの場合は両方のノードで実行します。
    $ mkdir /etc/OKV/dbUniqueName/
    $ mkdir /etc/OKV/dbUniqueName/okv
    $ mkdir /etc/OKV/dbUniqueName/tde
  3. ソフトウェア・キーストア(ewallet.p12)ファイルを+DATA/dbUniqueName/tdeの場所から/etc/OKV/dbname/tdeの場所にコピーします。

    Oracle ASMデータベースの場合は、+DATA/dbUniqueName/tdeのOracle ASMの場所からファイルをコピーします。

    $. oraenv
    ORACLE_SID = [oracle] ? enter the database SID
    ORACLE_HOME = [/home/oracle] ? enter the database home path
    $ sqlplus / as sysdba
    SQL> ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/etc/OKV/dbUniqueName/tde' identified by "current TDE password";
      
    keystore altered.
      
    SQL> ADMINISTER KEY MANAGEMENT MERGE KEYSTORE '+DATA/dbUniqueName/tde' identified by "current TDE password" INTO EXISTING KEYSTORE '/etc/OKV/<dbUniqueName>/tde' identified by "current TDE password" WITH BACKUP USING "delete";
      
    keystore altered.
    Oracle ACFSデータベースの場合は、/u02/app/oracle/oradata/dbUniqueName/tdeの場所からファイルをコピーします。
    cp /u02/app/oracle/oradata/dbUniqueName/tde/ewallet.p12 /etc/OKV/dbUniqueName/tde
  4. Oracle Key Vaultエンドポイント・ソフトウェアをインストールします。Oracle RACデータベース、Oracle RAC One NodeデータベースおよびOracle Database Enterprise Edition高可用性データベースの場合は、各インスタンス固有のエンドポイントを2つ作成し、各ノードにインストールする必要があるため、これらのデータベースの両方のノードでこのステップを実行します。データベース・ホームの場所にあるJavaバイナリを使用します。インストールが成功すると、ステップ4cに示されているファイルが/etc/OKV/dbUniqueName/okv/の場所に存在しています。
    1. odacli describe-databaseコマンドを使用してデータベース・ホームの場所を検出し、Home IDを書き留めます。
      # odacli describe-database -n dbName
      Database details                                                 
      ----------------------------------------------------------------
                           ID: 783e9aeb-334d-40d0-8c7a-cb6c343b4b34
                  Description: dbName
                      DB Name: dbName
                              .
                              .
                      Home ID: b5791c68-9a47-42db-bedc-9c22137a8efd
                              .
                              .
                CPU Pool Name:
    2. 環境に存在するデータベース・ホームをリストし、ステップaでコピーしたIDに対応するHome Locationを記録します。
      # odacli list-dbhomes
      ID                                       Name                 DB Version           DB Edition Home Location                                            Status   
      ---------------------------------------- -------------------- -------------------- ---------- -------------------------------------------------------- ----------
      b5791c68-9a47-42db-bedc-9c22137a8efd     OraDB19000_home2     19.27.0.0.250415     EE         /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2     CONFIGURED
    3. ステップ4bで記録したデータベース・ホームの場所にあるJavaバイナリを使用して、データベース・インスタンス用に作成したエンドポイント固有のokvclient.jarをインストールします。
      $ DatabaseHomeLocation/jdk/bin/java -jar okvclient.jar path -d /etc/OKV/dbUniqueName/okv/
      Detected JAVA_HOME: /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2/jdk/jre
      Enter new Key Vault endpoint password (enter for auto-login): current TDE password
        
      Confirm new Key Vault endpoint password: current TDE password
        
      The endpoint software for Oracle Key Vault installed successfully.
      Deleted the file :<okvclient.jar path
    4. /etc/OKV/dbUniqueName/okvの場所にあるファイルをリストすることで、okvclient.jarが正常にインストールされていることを確認します。
      $ ls -ltR /etc/OKV/dbUniqueName/okv/
      /etc/OKV/dbUniqueName/okv/:
      total 28
      drwxr-x--- 2 oracle oinstall 4096 Mar 28 12:18 log
      drwxr-x--- 2 oracle oinstall 4096 Mar 28 12:18 conf
      drwxr-x--- 2 oracle oinstall 4096 Mar 28 12:18 ssl
      drwxr-x--- 2 oracle oinstall 4096 Mar 28 12:18 bin
      drwxr-x--- 2 oracle oinstall 4096 Mar 28 12:18 lib
      drwxr-x--- 3 oracle oinstall 4096 Mar 28 12:18 csdk
      drwxr-x--- 2 oracle oinstall 4096 Mar 28 12:18 jlib
       
      /etc/OKV/dbUniqueName/okv/log:
      total 4
      -rw-r----- 1 oracle oinstall 2162 Mar 28 12:18 okvutil.deploy.log
       
      /etc/OKV/dbUniqueName/okv/conf:
      total 12
      -rw-r----- 1 oracle oinstall  450 Mar 28 12:18 logging.properties
      -rw-r----- 1 oracle oinstall  882 Mar 28 12:18 okvclient.ora
      -rw-r----- 1 oracle oinstall    0 Mar 28 12:18 okvclient.lck
      -rwx------ 1 oracle oinstall 1009 Mar 28 12:09 okvsshendpoint.conf
       
      /etc/OKV/dbUniqueName/okv/ssl:
      total 8
      -rw------- 1 oracle oinstall 4361 Mar 28 12:18 ewallet.p12
       
      /etc/OKV/dbUniqueName/okv/bin:
      total 8548
      -rwxr-x--- 1 oracle oinstall   18108 Mar 28 12:09 ep_healthcheck.sh
      -rwxr-x--- 1 oracle oinstall 8682112 Mar 28 12:09 okveps.x64
      -rwxr-x--- 1 oracle oinstall   29651 Mar 28 12:09 okv_ssh_ep_lookup_authorized_keys
      -rwxr-x--- 1 oracle oinstall    7721 Mar 28 12:09 okvutil
      -rwxr-x--- 1 oracle oinstall    5030 Mar 28 12:09 root.sh
       
      /etc/OKV/dbUniqueName/okv/lib:
      total 8708
      -rwxr-x--- 1 oracle oinstall 8913371 Mar 28 12:09 liborapkcs.so
       
      /etc/OKV/dbUniqueName/okv/csdk:
      total 4
      drwxr-x--- 2 oracle oinstall 4096 Mar 28 12:18 lib
       
      /etc/OKV/dbUniqueName/okv/csdk/lib:
      total 8748
      -rwxr-x--- 1 oracle oinstall 8954149 Mar 28 12:09 liborasdk.so
       
      /etc/OKV/dbUniqueName/okv/jlib:
      total 72
      -rw-r----- 1 oracle oinstall 71387 Mar 14  2024 okvutil.jar
  5. rootユーザーとして、root.shスクリプトを実行してPKCSライブラリをインストールします。Oracle RACデータベース、Oracle RAC One NodeデータベースおよびOracle Database Enterprise Edition高可用性データベースの場合は、両方のノードでこのステップを実行します。
    # id -a
    uid=0(root) gid=0(root) groups=0(root)
    # /etc/OKV/dbUniqueName/okv/bin/root.sh
    Creating directory: /opt/oracle/extapi/64/hsm/oracle/1.0.0/
    Copying PKCS library to /opt/oracle/extapi/64/hsm/oracle/1.0.0/
    Setting PKCS library file permissions
    Installation successful.
    コマンドが正常に実行されたら、このライブラリがインストールされていることを確認します。
    # id -a
    uid=0(root) gid=0(root) groups=0(root)
    # ls -ltr /opt/oracle/extapi/64/hsm/oracle/1.0.0/
    total 8708
    -rwxr-xr-x 1 root root 8913371 Mar 28 12:33 liborapkcs.so
  6. ステップ6から13までをデータベース所有者(oracleなど)として実行します。ソフトウェア・キーストアewallet.p12をOracle Key Vaultサーバーにアップロードします。
    # su - oracle
    $ /etc/OKV/dbUniqueName/okv/bin/okvutil upload -l /etc/OKV/dbUniqueName/tde -t wallet -g wallet name
    Enter source wallet password: current TDE password
    Enter Oracle Key Vault endpoint password: current TDE password
    Upload succeeded
    okvutil listコマンドを使用して、TDEキーがOracle Key Vaultサーバーのウォレットにアップロードされていることを確認します:
    $ /etc/OKV/dbUniqueName/okv/bin/okvutil list
    Enter Oracle Key Vault endpoint password:
    Unique ID                               Type            Identifier
    8D938C3D-8434-45A4-B6F3-A9405C26B0C5    Opaque Object   TDE Wallet Metadata
    A816E0FB-5CF2-48FF-A29F-5EC7282B4035    Opaque Object   TDE Wallet Metadata
    121AC7F1-44AC-5537-A705-52BB7DAEDDAA    Symmetric Key   TDE Master Encryption Key: TAG set_master_key
    3977568B-A800-5532-96DB-C196AEA75C2E    Symmetric Key   TDE Master Encryption Key: TAG set_master_key
    3DC733BF-4977-42E0-92E6-D436BBFA206F    Opaque Object   TDE Wallet Metadata
    0640B156-1D2A-4CE4-9608-CDDA004938E2    Opaque Object   TDE Wallet Metadata
    051ED678-68D2-4DF5-8CE2-41DBAB000003    Private Key -
    2E7D00F6-9AC2-4543-B308-0697D9A401CF    Opaque Object   Certificate Request
    4585DCAE-EDD1-4BAA-AD8F-E1FC8AD5E763    Template    Default template for TDEDB_707EP1
  7. データベースのローカル自動ログイン・ウォレットをローカル・ノードに作成します。
    $. oraenv
    ORACLE_SID = [oracle] ? enter the SID of the local database instance
    ORACLE_HOME = [/home/oracle] ? enter the database home path
    $ sqlplus / as sysdba
    SQL> ADMINISTER KEY MANAGEMENT ADD SECRET 'current TDE password' FOR CLIENT 'OKV_PASSWORD' TO LOCAL AUTO_LOGIN KEYSTORE '/etc/OKV/dbUniqueName/tde';
       
    keystore altered.
    Oracle RACデータベースの場合は、リモート・ノードでリモート・インスタンス用にローカルおよび外部ストアの自動ログイン・ウォレットを作成します。
    $. oraenv
    ORACLE_SID = [oracle] ? enter the SID of the remote database instance
    ORACLE_HOME = [/home/oracle] ? enter the database home path
    $ sqlplus / as sysdba
    SQL> ADMINISTER KEY MANAGEMENT ADD SECRET 'current TDE password' FOR CLIENT 'OKV_PASSWORD' TO LOCAL AUTO_LOGIN KEYSTORE '/etc/OKV/dbUniqueName/tde';
       
    keystore altered.

    Oracle RAC One Nodeデータベースおよび高可用性が有効になっている単一インスタンス・データベースの場合は、リモート・ノードで次のステップに従います:

    1. ローカル・ノードでインスタンスを停止します。
      $. oraenv
      ORACLE_SID = [oracle] ? <enter the SID of the local database instance>
      ORACLE_HOME = [/home/oracle] ? <enter the database home path>
      $ sqlplus / as sysdba
      SQL> shutdown immediate;
    2. インスタンスをリモート・ノードにマウントします。
      $. oraenv
      ORACLE_SID = [oracle] ? enter the SID of the remote database instance
      ORACLE_HOME = [/home/oracle] ? enter the database home path
      $ sqlplus / as sysdba
      SQL> startup nomount;
    3. ローカル自動ログイン・ウォレットを作成します。
      $. oraenv
      ORACLE_SID = [oracle] ? enter the SID of the remote database instance
      ORACLE_HOME = [/home/oracle] ? enter the database home path
      $ sqlplus / as sysdba
      SQL> ADMINISTER KEY MANAGEMENT ADD SECRET 'current TDE password' FOR CLIENT 'OKV_PASSWORD' TO LOCAL AUTO_LOGIN KEYSTORE '/etc/OKV/dbUniqueName/tde';
         
      keystore altered.
    4. リモート・ノードでインスタンスを停止します。
      $. oraenv
      ORACLE_SID = [oracle] ? enter the SID of the remote database instance
      ORACLE_HOME = [/home/oracle] ? enter the database home path
      $ sqlplus / as sysdba
      SQL> shutdown;
    5. インスタンスをローカル・ノードにマウントします。
      $. oraenv
      ORACLE_SID = [oracle] ? enter the SID of the local database instance
      ORACLE_HOME = [/home/oracle] ? enter the database home path
      $ sqlplus / as sysdba
      SQL> startup;
  8. SQL*Plusに接続し、データベースのtde_configuration初期化パラメータを設定します。
    $ sqlplus / as sysdba
     
    SQL> ALTER SYSTEM SET TDE_CONFIGURATION = "KEYSTORE_CONFIGURATION=OKV|FILE" SCOPE = BOTH sid='*';
      
    System altered.
  9. データベースを再起動して、ステップ8で設定したデータベース初期化パラメータを適用します。
    $ srvctl stop database -d dbUniqueName
    $ srvctl start database -d dbUniqueName
  10. SQL*Plusに接続し、コマンドを実行してTDEキーをOKVに移行します。
    $ sqlplus / as sysdba
    SQL> ADMINISTER KEY MANAGEMENT set key identified by "current TDE password" force keystore migrate using "current TDE password";
    keystore altered.
  11. /etc/OKV/dbUniqueName/tdeの場所からファイル・ベース・ウォレットewallet.p12ファイルを削除します。
    $ rm -f /etc/OKV/dbUniqueName/tde/ewallet*
  12. データベースをもう一度再起動して、ステップ10で実行したキーストアの移行を適用します。
    $ srvctl stop database -d dbUniqueName
    $ srvctl start database -d dbUniqueName
  13. SQL*Plusに接続し、問合せを実行してウォレットのステータスを確認します。これは、オープン状態である必要があります。オープン状態でない場合は、データベースを再起動して、Oracle Key Vaultとの通信が正常であることを確認します。
    $ sqlplus / as sysdba
    SQL> select * from v$encryption_wallet;
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS                 WALLET_TYPE      WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
        CON_ID
    ----------
    FILE
    /etc/OKV/dbUniqueName/tde/
    OPEN_NO_MASTER_KEY         LOCAL_AUTOLOGIN      SECONDARY NONE     UNDEFINED
         1
     
     
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS                 WALLET_TYPE      WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
        CON_ID
    ----------
    OKV
     
    OPEN                   OKV          PRIMARY   NONE     UNDEFINED
         1
     
     
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS                 WALLET_TYPE      WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
        CON_ID
    ----------
    FILE
     
    OPEN_NO_MASTER_KEY         LOCAL_AUTOLOGIN      SINGLE    UNITED   UNDEFINED
         2
     
     
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS                 WALLET_TYPE      WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
        CON_ID
    ----------
    OKV
     
    OPEN                   OKV          SINGLE    UNITED   UNDEFINED
         2
     
     
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS                 WALLET_TYPE      WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
        CON_ID
    ----------
    FILE
     
    OPEN_NO_MASTER_KEY         LOCAL_AUTOLOGIN      SECONDARY UNITED   UNDEFINED
         3
     
     
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS                 WALLET_TYPE      WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
        CON_ID
    ----------
    OKV
     
    OPEN                   OKV          PRIMARY   UNITED   UNDEFINED
         3
  14. gridユーザーとして、ソフトウェア・キーストアおよび自動ログイン・ウォレットを削除します。ASMCMDに接続し、+DATA/dbUniqueName/tdeフォルダを削除します。
    # su - grid
    $ asmcmd
    ASMCMD> cd +DATA/dbUniqueName
    ASMCMD> rm -rf tde/
  15. データベースのDCSメタデータ内のKeystoreTypeパラメータを更新します。Oracle Database Applianceリリース19.27の場合は、odacli register-databaseコマンドを使用して、データベースのMySQLメタデータを更新します。
    $ odacli register-database -sn database service name -c database class -s database shape
    Oracle Key Vaultサーバー構成を使用してデータベースを登録するには、次のコマンドを実行します:
    $ odacli register-database -sn database service name -c database class -s database shape -osc OKVServerConfigName 
  16. データベースのkeystoreTypeパラメータがOKVに設定されていることを確認します。odacli describe-database -n dbName -jコマンドを実行し、コマンド出力のkeystoreTypeパラメータを確認します。Oracle Key Vaultサーバー構成を使用して登録されたデータベースの場合、odacli describe-databaseコマンド出力のokvServerConfigNameパラメータには、データベースで使用されているOracle Key Vaultサーバー構成名が表示されます。
    $ odacli describe-database -n dbName -j
    $ odacli describe-database -n tdedb -j
    {
            .
      "name" : "tdedb",
      "dbName" : "tdedb",
      "databaseUniqueName" : "tdedb",
            .
            .
      "enableTDE" : true,
      "tdePassword" : "**********",
      "tdeWalletManagement" : "ODA",
      "dbType" : "RAC",
      "dbRole" : "PRIMARY",
      "dbTargetNodeNumber" : null,
      "dbClass" : "OLTP",
      "dbShape" : "odb1",
      "dbStorage" : "ASM",
            .
            .
      "keystoreType" : "OKV",
      "okvServerConfigName" : "NONE"
    }

TDE対応データベースへのデータの手動移行および暗号化

Oracle Database Applianceでトランスポータブル表領域をTDE対応データベースに移行する方法を理解します。

非TDE Oracle ACFSデータベースからのOracle Database Appliance上のOracle ACFSデータベースへの表領域の移行

非TDEのOracle ACFSデータベースから、Oracle Database ApplianceでOracle Key Vaultを有効にしたOracle ACFSデータベースに表領域を移行する方法を理解します。

ソース・データベースと宛先データベースがあることを確認します。2つのデータベースは、1つのOracle Database Applianceサーバー上または異なるサーバー上に配置できます。ソース・データベースは、TDE対応ではないデータベース、Oracle Database Applianceデータベースまたは互換性のあるエンディアンを持つOracleデータベースのいずれかである必要があります。宛先データベースは、ODACLIコマンドを使用して作成されたOracle Database Applianceデータベースである必要があります。

ステップ1: ソース・データベースから表領域をエクスポートします

  1. ソース・データベースに、宛先データベースに移行する表領域TBS01があるとします。その表領域に関する情報を指定します。
    SQL> select TABLESPACE_NAME, ENCRYPTED from dba_tablespaces ;
     
     TABLESPACE_NAME    STATUS    ENC
    -----------------   --------- ---
    SYSTEM               ONLINE   NO
    SYSAUX               ONLINE   NO
    UNDOTBS1             ONLINE   NO
    TEMP                 ONLINE   NO
    USERS                ONLINE   NO
    TBS01                ONLINE   NO
    
    
     
    SQL> select FILE_NAME from dba_data_files where TABLESPACE_NAME='TBS01' ;
     
    FILE_NAME
    --------------------------------------------------------------------------------
    /u02/app/oracle/oradata/dbnotde/DBNOTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf
     
    SQL>
     
    ###
    ### Make sure the set of tablespaces are self-contained. The following PL/SQL command must run successfully
    ###
     
    SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tbs01',true) ;
    PL/SQL procedure successfully completed.
    SQL> exit;
  2. エクスポートに使用するソース・データベースDBNOTDEにデータベース・ディレクトリを作成します。expdpで使用する宛先データベースにデータベース・ディレクトリ・オブジェクトを作成します。
    ###
    ### login as oracle user
    ###
     
    $ mkdir -pv /u01/app/odaorabase0/oracle/dpdump/ttsps_dir
    mkdir: created directory ‘/u01/app/odaorabase0/oracle/dpdump/ttsps_dir’
     
    ###
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
    ###
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
     
    SQL> 
  3. ソース・データベースDBNOTDEからTBS01表領域をエクスポートします。まず、READ ONLYモードでコピーする表領域を設定します。次に、指定された表領域でexpdpを実行します。データベース・ディレクトリttsps_dirに格納されているexpdpのログ・ファイルを確認します。
    ###
    ### login as oracle user 
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following   
    ###
       
     
    SQL> ALTER TABLESPACE TBS01 READ ONLY;
     
    Tablespace altered.
     
     
    ###
    ### Run expdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ expdp system TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps.dmp
     
    Export: Release 19.0.0.0.0 - Production on Mon Nov 6 12:47:00 2023
    Version 19.25.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps.dmp
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
      /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttps.dmp
    ******************************************************************************
    Datafiles required for transportable tablespace TBS01:
      /u02/app/oracle/oradata/dbnotde/DBNOTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf
    Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Mon Nov 6 12:47:19 2023 elapsed 0 00:00:14
  4. データ・ファイルを宛先データベース・サーバーに移動し、ソース・データベースDBNOTDEのデータ・ファイルのステータスをREAD WRITEに編集します。データ・ファイルを/u02/app/oracle/oradata/dbtde/DBTDE/datafileの場所にあるTDE対応データベース・サーバーに移動します。
    ###
    ### login as oracle user
    ###
     
    $ cp /u02/app/oracle/oradata/dbnotde/DBNOTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf /u02/app/oracle/oradata/dbtde/DBTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf
     
     
    ###
    ### In source database, set the tablespace back to read write mode
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
    ###
     
    SQL> ALTER TABLESPACE TBS01 READ WRITE;

ステップ2: 表領域をTDE対応データベースにインポートします

  1. 前述の手順の説明に従って、Oracle Key Vaultを使用して宛先データベースとしてTDE対応データベースDBTDEを作成します。expdpおよびimpdpを使用して、ソース・データベースのデータ・ファイルおよび表領域をこのデータベースにコピーします。ブラウザ・ユーザー・インタフェース(BUI)またはODACLIコマンドを使用して、Oracle Database Applianceにデータベースを作成します。たとえば:
    # odacli create-database -n dbtde -t -kt okv -osc adminobj1 -dh e2a65596-6435-4410-9e8d-6b21a6005779 -r ACFS
     
    # odacli describe-database -n dbtde
    Database details                                                 
    ----------------------------------------------------------------
                         ID: e261b9f8-8212-499b-840e-eb6ea3e09447
                Description: dbtde
                    DB Name: dbtde
                    DB Type: SI
                        CDB: false
                    Storage: ACFS
                    Home ID: e2a65596-6435-4410-9e8d-6b21a6005779
      TDE Wallet Management: ODA
                TDE Enabled: true
              KeystoreType : OKV
  2. インポート操作のために、Oracle Key Vault対応の宛先データベースにデータベース・ディレクトリを作成します。ソース・データベースのexpdpダンプ・ファイルおよびimpdpの出力は、データベース・ディレクトリ・オブジェクトに格納されます。expdpダンプ・ファイルをソース・データベース・サーバーからこのサーバーにコピーし、impdpダンプ・ファイルを使用して表領域メタデータを宛先データベースに追加します。
    ###
    ### login as sysdba user and run the following:
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
    ###
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
  3. TBS01表領域を宛先データベースDBTDEにインポートします。ソース・データベースのexpdpダンプ・ファイルをデータベース・ディレクトリttsps_dirにコピーします。impdpはダンプ・ファイルを使用して、表領域メタデータを宛先データベースに追加します。TRANSPORT_DATAFILESは、宛先データベース内のデータ・ファイルの場所を参照します。
    ###
    ### Run impdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ impdp system  TRANSPORT_DATAFILES=\'/u02/app/oracle/oradata/dbtde/DBTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf\' DIRECTORY=ttsps_dir dumpfile=expttps.dmp
     
    Import: Release 19.0.0.0.0 - Production on Mon Nov 6 12:53:37 2023
    Version 19.25.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_DATAFILES='/u02/app/oracle/oradata/dbtde/DBTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf' DIRECTORY=ttsps_dir dumpfile=expttps.dmp
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Mon Nov 6 12:53:46 2023 elapsed 0 00:00:03
  4. 宛先のOracle Key Vault対応データベースで暗号化を有効化およびテストします。
    ###
    ### login as oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
    ###
     
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME                 STATUS   ENC
    ------------------------------ --------- ---
    SYSTEM                          ONLINE   YES
    SYSAUX                          ONLINE   YES
    UNDOTBS1                        ONLINE   YES
    TEMP                            ONLINE   YES
    USERS                           ONLINE   YES
    TBS01                           READ ONLY NO
     
     
    SQL> alter tablespace TBS01 read write ;
     
    Tablespace altered.
    
    ### encrypt TBS01. In case encrypt operation is interrupted , run 'alter tablespace TBS01 encryption online finish encrypt ;' 
    
    SQL> alter tablespace TBS01 encryption online encrypt ;
     
    Tablespace altered.
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME                   STATUS ENC
    ------------------------------ --------- ---
    SYSTEM                          ONLINE   YES
    SYSAUX                          ONLINE   YES
    UNDOTBS1                        ONLINE   YES
    TEMP                            ONLINE   YES
    USERS                           ONLINE   YES
    TBS01                           ONLINE   YES
     
    ###
    ### Retrieve the data from TAB1
    ###
     
     
    SQL> select OWNER, table_name from tab1 where rownum < 3;
     
    OWNER
    --------------------------------------------------------------------------------
    TABLE_NAME
    --------------------------------------------------------------------------------
    SYS
    TS$
     
    SYS
    ICOL$ 
      
     
    ###
    ### When the wallet is closed or unavailable,  same SQL does not retrieve data
    ### To simulate wallet absence rename the cwallet.sso wallet under <wallet_root>/tde to some other name like cwallet.sso.orig   
    ### and close the wallet. To return auto-login wallet , rename file back to  cwallet.sso and run the SQL again.
    ###
     
    SQL> show parameter wallet_root
     
    NAME                     TYPE         VALUE
    ------------------------------------ ----------- 
    wallet_root              string  /etc/OKV/dbtde

非TDE Oracle ASMデータベースからのOracle Database Appliance上のOracle ASMデータベースへの表領域の移行

非TDEのOracle ASMデータベースから、Oracle Database ApplianceでOracle Key Vaultを有効にしたOracle ASMデータベースに表領域を移行する方法を理解します。

ソース・データベースと宛先データベースがあることを確認します。2つのデータベースは、1つのOracle Database Applianceサーバー上または異なるサーバー上に配置できます。ソース・データベースは、TDE対応ではないデータベース、Oracle Database Applianceデータベースまたは互換性のあるエンディアンを持つOracleデータベースのいずれかである必要があります。宛先データベースは、ODACLIコマンドで作成され、Oracle Key Vaultが有効になっているOracle Database Applianceデータベースである必要があります。

ステップ1: ソース・データベースから表領域をエクスポートします

  1. ソース・データベースに、宛先データベースに移行する表領域TBS01があるとします。その表領域に関する情報を指定します。
    SQL>  select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ; 
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    NO
    SYSAUX                 ONLINE    NO
    UNDOTBS1               ONLINE    NO
    TEMP                   ONLINE    NO
    USERS                  ONLINE    NO
    TBS01                  ONLINE    NO
     
    SQL> SQL> select FILE_NAME from dba_data_files where TABLESPACE_NAME='TBS01' ;
     
    FILE_NAME
    --------------------------------------------------------------------------------
    +DATA/ASMNOTDE/DATAFILE/tbs01.374.1152267015
     
    ###
    ### Checks if a set of tablespaces (to be transported) is self-contained
    ###
     
    SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tbs01',true) ;
     
    PL/SQL procedure successfully completed.
  2. エクスポートに使用するソース・データベースASMNOTDEにデータベース・ディレクトリを作成します。expdpの宛先データベースにデータベース・ディレクトリ・オブジェクトを作成します。
    ###
    ### login as oracle user
    ###
     
    $ mkdir -pv /u01/app/odaorabase0/oracle/dpdump/ttsps_dir
    mkdir: created directory ‘/u01/app/odaorabase0/oracle/dpdump/ttsps_dir’
     
     
    ###
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following   
    ###
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
  3. ソース・データベースASMNOTDEからTBS01表領域をエクスポートします。まず、READ ONLYモードでコピーする表領域を設定します。次に、指定された表領域でexpdpを実行します。データベース・ディレクトリttsps_dirに格納されているexpdpのダンプ・ファイルを確認します。
    ###
    ### Set the tablespaces that you need to be exported in read-only mode 
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
     
    SQL> ALTER TABLESPACE TBS01 READ ONLY;
     
    Tablespace altered.
     
    SQL> 
     
    ###
    ### Run expdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ expdp system TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttpsasm.dmp
     
    Export: Release 19.0.0.0.0 - Production on Tue Nov 7 10:12:19 2023
    Version 19.25.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttpsasm.dmp
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
      /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttpsasm.dmp
    ******************************************************************************
    Datafiles required for transportable tablespace TBS01:
      +DATA/ASMNOTDE/DATAFILE/tbs01.374.1152267015
    Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Tue Nov 7 10:12:49 2023 elapsed 0 00:00:20
  4. データ・ファイルを宛先データベース・サーバーに移動し、ソース・データベースASMNOTDEのデータ・ファイルのステータスをREAD WRITEに編集します。
    ###
    ### login to grid user
    ### Copying datafiles from ASM to  filesystem 
    ###
     
    $ asmcmd cp +DATA/ASMNOTDE/DATAFILE/tbs01.295.1165369089 /home/grid/tbs01.dbf
    copying +DATA/ASMNOTDE/DATAFILE/tbs01.295.1165369089 -> /home/grid/tbs01.dbf
     
     
    ###
    ### In source database, set the tablespace back to read write mode
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following
    ###
     
    SQL> ALTER TABLESPACE TBS01 READ WRITE;

ステップ2: 表領域をTDE対応データベースにインポートします

  1. Oracle Key Vaultを使用して、宛先データベースとしてTDE対応データベースASMTDEを作成します。expdpおよびimpdpを使用して、ソース・データベースのデータ・ファイルおよび表領域をこのデータベースにコピーします。ブラウザ・ユーザー・インタフェース(BUI)またはODACLIコマンドを使用して、Oracle Database Applianceにデータベースを作成します。たとえば:
    # odacli create-database -n asmtde -t -kt okv -osc adminobj1 -dh e2a65596-6435-4410-9e8d-6b21a6005779 -r ASM
     
    #  odacli describe-database -n asmtde 
    Database details                                                 
    ----------------------------------------------------------------
                         ID: 5dfa97d9-d774-4a4a-93a2-d21a36faf283
                Description: asmtde
                    DB Name: asmtde
                    DB Type: SI
                        CDB: false
                    Storage: ASM
                    Home ID: e2a65596-6435-4410-9e8d-6b21a6005779
      TDE Wallet Management: ODA
                TDE Enabled: true
              KeystoreType : OKV  
  2. ファイル・システムからASMTDEの宛先Oracle ASMの場所にデータ・ファイルをコピーします。
    ###
    ### login to grid user
    ###
     
    $ asmcmd cp /home/grid/tbs01.dbf +DATA/ASMTDE/DATAFILE/tbs01 --dest_dbname ASMTDE
    copying /home/grid/tbs01.dbf -> +DATA/ASMTDE/DATAFILE/tbs01
     
    ASMCMD> ls --permission
    User                                     Group  Permission  Name
    dbusr1@66d5786e6a057fd3bfa6ca745d993aef          rw-------  SYSAUX.292.1165368127
    dbusr1@66d5786e6a057fd3bfa6ca745d993aef          rw-------  SYSTEM.279.1165368093
    dbusr1@66d5786e6a057fd3bfa6ca745d993aef          rw-------  UNDOTBS1.290.1165368143
    dbusr1@66d5786e6a057fd3bfa6ca745d993aef          rw-------  USERS.288.1165368875
      grid@66d5786e6a057fd3bfa6ca745d993aef          rw-------  tbs01 => +DATA/ASMTDE/DATAFILE/tbs01.294.1165425531
      grid@66d5786e6a057fd3bfa6ca745d993aef          rw-------  tbs01.294.1165425531
     
    ASMCMD> chown dbusr1@66d5786e6a057fd3bfa6ca745d993aef tbs01
    ASMCMD> ls --permission
    User                                     Group  Permission  Name
    dbusr1@66d5786e6a057fd3bfa6ca745d993aef          rw-------  SYSAUX.292.1165368127
    dbusr1@66d5786e6a057fd3bfa6ca745d993aef          rw-------  SYSTEM.279.1165368093
    dbusr1@66d5786e6a057fd3bfa6ca745d993aef          rw-------  UNDOTBS1.290.1165368143
    dbusr1@66d5786e6a057fd3bfa6ca745d993aef          rw-------  USERS.288.1165368875
    dbusr1@66d5786e6a057fd3bfa6ca745d993aef          rw-------  tbs01 => +DATA/OKVDB2/DATAFILE/tbs012.294.1165425531
    dbusr1@66d5786e6a057fd3bfa6ca745d993aef          rw-------  tbs01.294.1165425531
  3. インポート用のデータベース・ディレクトリをASMTDEデータベースに作成します。
    ###
    ### login as oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following
    ###
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
  4. TBS01表領域を宛先データベースASMTDEにインポートします。ソース・データベースのexpdpダンプ・ファイルをデータベース・ディレクトリttsps_dirにコピーします。impdpはダンプ・ファイルを使用して、表領域メタデータを宛先データベースに追加します。TRANSPORT_DATAFILESは、宛先データベース内のデータ・ファイルの場所を参照します。
    ###
    ### Run impdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ impdp system  TRANSPORT_DATAFILES=\'/u02/app/oracle/oradata/dbtde/DBTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf\' DIRECTORY=ttsps_dir dumpfile=expttps.dmp
     
    Import: Release 19.0.0.0.0 - Production on Mon Nov 6 12:53:37 2023
    Version 19.25.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_DATAFILES='/u02/app/oracle/oradata/dbtde/DBTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf' DIRECTORY=ttsps_dir dumpfile=expttps.dmp
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed 
  5. 宛先のOracle Key Vault対応データベースで暗号化を有効化およびテストします。
    ###
    ### login as oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following
    ###
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    NO
    SYSAUX                 ONLINE    NO
    UNDOTBS1               ONLINE    NO
    TEMP                   ONLINE    NO
    USERS                  ONLINE    YES
    TBS01                  READ ONLY NO
     
    6 rows selected.
     
    SQL> alter tablespace TBS01 read write ;
     
    Tablespace altered.
    
    ### encrypt TBS01. In case encrypt operation is interrupted , run 'alter tablespace TBS01 encryption online finish encrypt ;' 
    
    SQL>     alter tablespace TBS01 encryption online encrypt ;
     
    Tablespace altered.
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    NO
    SYSAUX                 ONLINE    NO
    UNDOTBS1               ONLINE    NO
    TEMP                   ONLINE    NO
    USERS                  ONLINE    YES
    TBS01                  ONLINE    YES
     
    6 rows selected.
     
    ###
    ### Retrieve the data from TAB1
    ###
     
    SQL> select OWNER, table_name from tab1 where rownum < 3
     
    OWNER
    --------------------------------------------------------------------------------
    TABLE_NAME
    --------------------------------------------------------------------------------
    SYS
    TS$
     
    SYS
    ICOL$
     
    ###
    ### When the wallet is closed or unavailable,  same SQL does not retrieve data
    ### To simulate wallet absence rename the cwallet.sso wallet under <wallet_root>/tde to some other name like cwallet.sso.orig   
    ### and close the wallet. To return auto-login wallet , rename file back to  cwallet.sso and run the SQL again.
    ###
     
    SQL> show parameter wallet_root
     
    NAME                     TYPE        VALUE
    ------------------------------------ ----------- 
    wallet_root              string  /etc/OKV/asmtde

非TDE Oracle ACFSデータベースからのOracle Database Appliance上のOracle ACFS CDBデータベースへの表領域の移行

非TDEのOracle ACFSデータベースから、Oracle Database ApplianceでOracle Key Vaultを有効にしたOracle ACFS CDBデータベースに表領域を移行する方法を理解します。

ソース・データベースと宛先データベースがあることを確認します。2つのデータベースは、1つのOracle Database Applianceサーバー上または異なるサーバー上に配置できます。ソース・データベースは、TDE対応ではないデータベース、Oracle Database Applianceデータベースまたは互換性のあるエンディアンを持つOracleデータベースのいずれかである必要があります。宛先データベースは、ODACLIコマンドで作成され、Oracle Key Vaultが有効になっているOracle Database Applianceデータベースである必要があります。

ステップ1: ソース・データベースから表領域をエクスポートします

  1. ソース・データベースに、宛先データベースに移行する表領域TBS01があることを確認します。表領域に関する情報を検出します。
    ###
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following   
    ###
    
      
    SQL> select TABLESPACE_NAME, ENCRYPTED from dba_tablespaces ;
     
     TABLESPACE_NAME           STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    NO
    SYSAUX                 ONLINE    NO
    UNDOTBS1               ONLINE    NO
    TEMP                   ONLINE    NO
    USERS                  ONLINE    NO
    TBS01                  ONLINE    NO
     
     
    SQL> select FILE_NAME from dba_data_files where TABLESPACE_NAME='TBS01' ;
     
    FILE_NAME
    --------------------------------------------------------------------------------
    /u02/app/oracle/oradata/dbnotde/DBNOTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf
     
    SQL>
     
     
    ###
    ### Checks if a set of tablespaces (to be transported) is self-contained
    ###
     
    SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tbs01',true) ;
     
    PL/SQL procedure successfully completed.
  2. エクスポートに使用するソース・データベースDBNOTDEにデータベース・ディレクトリを作成します。expdpで使用する宛先データベースにデータベース・ディレクトリ・オブジェクトを作成します。
    ###
    ### login as oracle user
    ###
     
    $ mkdir -pv /u01/app/odaorabase0/oracle/dpdump/ttsps_dir
    mkdir: created directory ‘/u01/app/odaorabase0/oracle/dpdump/ttsps_dir’
     
    ###
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
    ###
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
     
    SQL> 
  3. ソース・データベースDBNOTDEからTBS01表領域をエクスポートします。まず、READ ONLYモードでコピーする表領域を設定します。次に、指定された表領域でexpdpを実行します。データベース・ディレクトリttsps_dirに格納されているexpdpのログ・ファイルを確認します。
    ###
    ### login as oracle user 
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following   
    ###
       
     
    SQL> ALTER TABLESPACE TBS01 READ ONLY;
     
    Tablespace altered.
     
     
    ###
    ### Run expdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ expdp system TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps.dmp
     
    Export: Release 19.0.0.0.0 - Production on Mon Nov 6 12:47:00 2023
    Version 19.25.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttps.dmp
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
      /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttps.dmp
    ******************************************************************************
    Datafiles required for transportable tablespace TBS01:
      /u02/app/oracle/oradata/dbnotde/DBNOTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf
    Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Mon Nov 6 12:47:19 2023 elapsed 0 00:00:14
  4. データ・ファイルを宛先データベース・サーバーに移動し、ソース・データベースDBNOTDEのデータ・ファイルのステータスをREAD WRITEに編集します。データ・ファイルをPDB2データ・ファイルの場所にあるTDE対応データベース・サーバーに移動します。
    ###
    ### login as oracle user
    ###
     
    $ cp /u02/app/oracle/oradata/dbnotde/DBNOTDE/datafile/o1_mf_tbs01_lnlgn65j_.dbf /u02/app/oracle/oradata/cdbtde/CDBTDE/092546916A493FE5E063E730850AF5BE/datafile/
     
    ###
    ### In source database, set the tablespace back to read write mode
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following
    ###
     
    SQL> ALTER TABLESPACE TBS01 READ WRITE;

ステップ2: 表領域をTDE対応データベースにインポートします

  1. Oracle Key Vaultを使用して、宛先データベースとしてTDE対応データベースCDBTDEを作成します。expdpおよびimpdpを使用して、ソース・データベースのデータ・ファイルおよび表領域をこのデータベースにコピーします。ブラウザ・ユーザー・インタフェース(BUI)またはODACLIコマンドを使用して、Oracle Database Applianceにデータベースを作成します。たとえば:
    # odacli create-database -n okvdb2 -t -kt okv -osc adminobj1 -dh e2a65596-6435-4410-9e8d-6b21a6005779 -r ACFS --cdb -d pdbadmin -p pdb2
     
    # odacli describe-database -n cdbtde
    Database details                                                 
    ----------------------------------------------------------------
                         ID: c1ba7c6a-2808-4a20-bf23-e35cb62c3fd0
                Description: cdbtde
                    DB Name: cdbtde
                    DB Type: SI
                        CDB: true
                   PDB Name: PDB2
        PDB Admin User Name: pdbadmin
                    Storage: ACFS
                    Home ID: e2a65596-6435-4410-9e8d-6b21a6005779
      TDE Wallet Management: ODA
                TDE Enabled: true
              KeystoreType : OKV 
     
    ###
    ### login as oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
    ### Take a note of PDB2 GUID which helps to determine the path of PDB2 datafiles
    ###
     
    SQL> col PDB_NAME for a20
    SQL> select  PDB_NAME,GUID from  dba_pdbs  ;
     
    PDB_NAME         GUID
    -------------------- --------------------------------
    PDB2             092546916A493FE5E063E730850AF5BE
    PDB$SEED         15998A6665985353E063BE6B1F0A494A
  2. PDB2のtnsnamesサービスを作成します。
    ###
    ### Edit the file  $ORACLE_HOME/network/admin/tnsnames.ora  with the following content
    ###
    $ srvctl add service -db cdbtde -service cdbtde_pdb2 -pdb pdb2 -role PRIMARY -policy AUTOMATIC
    $ srvctl start service -db cdbtde -service cdbtde_pdb2 
    CDBTDE_PDB2 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = <server-name>)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = cdbtde_pdb2.test)
  3. インポート用のディレクトリをPDB2に作成します。
    ###
    ### login as oracle user
    ###
     
    $ mkdir -pv /u01/app/odaorabase0/oracle/dpdump/ttsps_dir
    mkdir: created directory ‘/u01/app/odaorabase0/oracle/dpdump/ttsps_dir’
     
    ###
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following
    ###
     
     
    SQL> ALTER SESSION SET CONTAINER=PDB2 ;
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
     
    SQL>
  4. TBS01表領域をCDBTDEの宛先データベースPDB2コンテナにインポートします。ソース・データベースのexpdpダンプ・ファイルをデータベース・ディレクトリttsps_dirにコピーします。impdpはダンプ・ファイルを使用して、表領域メタデータを宛先データベースに追加します。TRANSPORT_DATAFILESは、宛先データベース内のデータ・ファイルの場所を参照します。
    ###
    ### Run impdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ impdp system@pdb2  TRANSPORT_DATAFILES=\'/u02/app/oracle/oradata/cdbtde/CDBTDE/092546916A493FE5E063E730850AF5BE/datafile/o1_mf_tbs01_lnlgn65j_.dbf\' DIRECTORY=ttsps_dir dumpfile=exp1.dmp
     
    Import: Release 19.0.0.0.0 - Production on Thu Nov 9 21:42:25 2023
    Version 19.25.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/********@pdb2 TRANSPORT_DATAFILES='/u02/app/oracle/oradata/cdbtde/CDBTDE/092546916A493FE5E063E730850AF5BE/datafile/o1_mf_tbs01_lnlgn65j_.dbf' DIRECTORY=ttsps_dir dumpfile=exp1.dmp
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Thu Nov 9 21:42:52 2023 elapsed 0 00:00:19
  5. 宛先のOracle Key Vault対応データベースPDB1で暗号化を有効化およびテストします。
    ###
    ### login as oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
    ###
     
    SQL> alter session set container=pdb2 ;
     
    Session altered.
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    NO
    SYSAUX                 ONLINE    NO
    UNDOTBS1               ONLINE    NO
    TEMP                   ONLINE    NO
    USERS                  ONLINE    NO
    TBS01                  READ ONLY NO
     
     
    SQL> alter tablespace TBS01 read write ;
     
    Tablespace altered.
    
    ### encrypt TBS01. In case encrypt operation is interrupted , run 'alter tablespace TBS01 encryption online finish encrypt ;'
     
    SQL>  alter tablespace TBS01 encryption online encrypt ;
     
    Tablespace altered.
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    NO
    SYSAUX                 ONLINE    NO
    UNDOTBS1               ONLINE    NO
    TEMP                   ONLINE    NO
    USERS                  ONLINE    NO
    TBS01                  ONLINE    YES
     
     
    SQL> select FILE_NAME from dba_data_files where TABLESPACE_NAME='TBS01' ;
     
    FILE_NAME
    --------------------------------------------------------------------------------
    /u02/app/oracle/oradata/cdbtde/CDBTDE/092546916A493FE5E063E730850AF5BE/datafile/
    o1_mf_tbs01_lnx8h50f_.dbf
     
     
    ###
    ### Retrieve the data from TAB1
    ###
     
    SQL> select OWNER, table_name from tab1 where rownum < 3
     
    OWNER
    --------------------------------------------------------------------------------
    TABLE_NAME
    --------------------------------------------------------------------------------
    SYS
    TS$
     
    SYS
    ICOL$
     
     
    ###
    ### When the wallet is closed or unavailable,  same SQL does not retrieve data
    ### To simulate wallet absence rename the cwallet.sso wallet under <wallet_root>/tde to some other name like cwallet.sso.orig   
    ### and close the wallet. To return auto-login wallet , rename file back to  cwallet.sso and run the SQL again.
    ###
     
    SQL> show parameter wallet_root
     
    NAME                     TYPE        VALUE
    ------------------------------------ ----------- 
    wallet_root              string  /etc/OKV/cdbtde

非TDE Oracle ASMデータベースからのOracle Database Appliance上のOracle ASM CDBデータベースへの表領域の移行

非TDEのOracle ASMデータベースから、Oracle Database ApplianceでOracle Key Vaultを有効にしたOracle ASM CDBデータベースに表領域を移行する方法を理解します。

ソース・データベースと宛先データベースがあることを確認します。2つのデータベースは、1つのOracle Database Applianceサーバー上または異なるサーバー上に配置できます。ソース・データベースは、TDE対応ではないデータベース、Oracle Database Applianceデータベースまたは互換性のあるエンディアンを持つOracleデータベースのいずれかである必要があります。宛先データベースは、ODACLIコマンドで作成され、Oracle Key Vaultが有効になっているOracle Database Applianceデータベースである必要があります。

ステップ1: ソース・データベースから表領域をエクスポートします

  1. ソース・データベースに、宛先データベースに移行する表領域TBS01があることを確認します。表領域に関する情報を検出します。
    SQL> SQL> select TABLESPACE_NAME, ENCRYPTED from dba_tablespaces ;
     
     TABLESPACE_NAME STATUS ENC
    ----------------- --------- ---
    SYSTEM ONLINE NO
    SYSAUX ONLINE NO
    UNDOTBS1 ONLINE NO
    TEMP ONLINE NO
    USERS ONLINE NO
    TBS01 ONLINE NO 
    SQL> select FILE_NAME from dba_data_files where TABLESPACE_NAME='TBS01' ;
     
    FILE_NAME
    --------------------------------------------------------------------------------
    +DATA/ASMNOTDE/DATAFILE/tbs01.374.1152267015
     
    ###
    ### Checks if a set of tablespaces (to be transported) is self-contained
    ###
     
    SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tbs01',true) ;
     
    PL/SQL procedure successfully completed.
  2. エクスポートに使用するソース・データベースASMNOTDEにデータベース・ディレクトリを作成します。expdpの宛先データベースにデータベース・ディレクトリ・オブジェクトを作成します。
    ###
    ### login as oracle user
    ###
     
    $ mkdir -pv /u01/app/odaorabase0/oracle/dpdump/ttsps_dir
    mkdir: created directory ‘/u01/app/odaorabase0/oracle/dpdump/ttsps_dir’
     
     
    ###
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following   
    ###
     
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
  3. ソース・データベースASMNOTDEからTBS01表領域をエクスポートします。まず、READ ONLYモードでコピーする表領域を設定します。次に、指定された表領域でexpdpを実行します。データベース・ディレクトリttsps_dirに格納されているexpdpのダンプ・ファイルを確認します。
    ###
    ### Set the tablespaces that you need to be exported in read-only mode 
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
     
    SQL> ALTER TABLESPACE TBS01 READ ONLY;
     
    Tablespace altered.
     
    SQL> 
     
    ###
    ### Run expdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $ expdp system TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttpsasm.dmp
     
    Export: Release 19.0.0.0.0 - Production on Tue Nov 7 10:12:19 2023
    Version 19.25.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** TRANSPORT_TABLESPACES=TBS01 TRANSPORT_FULL_CHECK=YES DIRECTORY=ttsps_dir DUMPFILE=expttpsasm.dmp
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    ******************************************************************************
    Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
      /u01/app/odaorabase0/oracle/dpdump/ttsps_dir/expttpsasm.dmp
    ******************************************************************************
    Datafiles required for transportable tablespace TBS01:
      +DATA/ASMNOTDE/DATAFILE/tbs01.374.1152267015
    Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Tue Nov 7 10:12:49 2023 elapsed 0 00:00:20
  4. データ・ファイルを宛先データベース・サーバーに移動し、ソース・データベースASMNOTDEのデータ・ファイルのステータスをREAD WRITEに編集します。
    ###
    ### login to grid user
    ### Copying datafiles from ASM to  filesystem 
    ###
     
    $ asmcmd cp +DATA/ASMNOTDE/DATAFILE/tbs01.374.1152267015 /home/grid/tbs01.dbf
    copying +DATA/ASMNOTDE/DATAFILE/tbs01.374.1152267015 -> /home/grid/tbs01.dbf
     
     
    ###
    ### In source database, set the tablespace back to read write mode
    ### login as Oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following
    ###
     
    SQL> ALTER TABLESPACE TBS01 READ WRITE;

ステップ2: 表領域をTDE対応データベースにインポートします

  1. Oracle Key Vaultを使用して、宛先データベースとしてTDE対応データベースASMTDEを作成します。expdpおよびimpdpを使用して、ソース・データベースのデータ・ファイルおよび表領域をこのデータベースにコピーします。ブラウザ・ユーザー・インタフェース(BUI)またはODACLIコマンドを使用して、Oracle Database Applianceにデータベースを作成します。たとえば:
    # odacli create-database -n asmtde -t -kt okv -osc adminobj1 -dh e2a65596-6435-4410-9e8d-6b21a6005779 -r ASM --cdb -d pdbadmin -p pdb1
     
    #  odacli describe-database -n asmtde 
    Database details                                                 
    ----------------------------------------------------------------
                         ID: 5dfa97d9-d774-4a4a-93a2-d21a36faf283
                Description: asmtde
                    DB Name: asmtde
                    DB Type: SI
                        CDB: true
                   PDB Name: PDB1
        PDB Admin User Name: pdbadmin
                    Storage: ASM
                    Home ID: e2a65596-6435-4410-9e8d-6b21a6005779
      TDE Wallet Management: ODA
                TDE Enabled: true
              KeystoreType : OKV  
     
     
    ###
    ### login as oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
    ###
     
    SQL> col PDB_NAME for a20
    SQL> select  PDB_NAME,GUID from  dba_pdbs  ;
     
    PDB_NAME         GUID
    -------------------- --------------------------------
    PDB1             1599A96E256A8B99E063BE6B1F0AC02B
    PDB$SEED         15998A6665985353E063BE6B1F0A494A 
  2. ファイル・システムからASMTDEの宛先Oracle ASMの場所にデータ・ファイルをコピーします。ファイルをコピーした後、関連する権限を設定します。
    ###
    ### login to grid user
    ###
     
    $ asmcmd cp /home/grid/tbs01.dbf +DATA/ASMTDE/1599A96E256A8B99E063BE6B1F0AC02B/DATAFILE/tbs01 --dest_dbname ASMTDE
    copying /home/grid/tbs01.dbf ->  +DATA/ASMTDE/1599A96E256A8B99E063BE6B1F0AC02B/DATAFILE/tbs01
     
     
    $ asmcmd
     
    ASMCMD> pwd
    +DATA/ASMTDE/1599A96E256A8B99E063BE6B1F0AC02B/DATAFILE
    ASMCMD>  ls --permission 
    User                                     Group  Permission  Name
    dbusr1@00eea686ffb0ff1bbf28c0b8362cccf6          rw-------  SYSAUX.332.1165769683
    dbusr1@00eea686ffb0ff1bbf28c0b8362cccf6          rw-------  SYSTEM.333.1165769683
    dbusr1@00eea686ffb0ff1bbf28c0b8362cccf6          rw-------  UNDOTBS1.331.1165769683
    dbusr1@00eea686ffb0ff1bbf28c0b8362cccf6          rw-------  USERS.335.1165769685
      grid@00eea686ffb0ff1bbf28c0b8362cccf6          rw-------  tbs01 => +DATA/ASMTDE/DATAFILE/tbs01.338.1165770781
     
     
    ASMCMD> chown dbusr1@00eea686ffb0ff1bbf28c0b8362cccf6 tbs01
    ASMCMD>
    ASMCMD> ls --permission
    User                                     Group  Permission  Name
    dbusr1@00eea686ffb0ff1bbf28c0b8362cccf6          rw-------  SYSAUX.332.1165769683
    dbusr1@00eea686ffb0ff1bbf28c0b8362cccf6          rw-------  SYSTEM.333.1165769683
    dbusr1@00eea686ffb0ff1bbf28c0b8362cccf6          rw-------  UNDOTBS1.331.1165769683
    dbusr1@00eea686ffb0ff1bbf28c0b8362cccf6          rw-------  USERS.335.1165769685
    dbusr1@00eea686ffb0ff1bbf28c0b8362cccf6          rw-------  tbs01 => +DATA/ASMTDE/DATAFILE/tbs01.338.1165770781
  3. PDB1のtnsnamesサービスを作成します。
    ###
    ### Edit the file  $ORACLE_HOME/network/admin/tnsnames.ora  with the following content
    ###
    $ srvctl add service -db asmtde -service asmtde_pdb1 -pdb pdb1 -role PRIMARY -policy AUTOMATIC
    $ srvctl start service -db asmtde -service asmtde_pdb1
     
    ASMTDE_PDB1 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = <server-name>)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = asmtde_pdb1.test)
  4. インポート用のディレクトリをPDB1に作成します。
    ###
    ### login as oracle user 
    ###
     
    $ mkdir -pv /u01/app/odaorabase0/oracle/dpdump/ttsps_dir
    mkdir: created directory ‘/u01/app/odaorabase0/oracle/dpdump/ttsps_dir’
     
    ###
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
    ###
     
    SQL> ALTER SESSION SET CONTAINER=PDB1 ;
    SQL> CREATE DIRECTORY ttsps_dir AS '/u01/app/odaorabase0/oracle/dpdump/ttsps_dir';
     
    Directory created.
     
    SQL>
  5. 表領域をPDB1にインポートします。ソース・データベースのexpdpダンプ・ファイルをデータベース・ディレクトリttsps_dirにコピーします。impdpはダンプ・ファイルを使用して、表領域メタデータを宛先データベースに追加します。TRANSPORT_DATAFILESは、宛先データベース内のデータ・ファイルの場所を参照します。
    ###
    ### Run impdb as SYSTEM user, password for SYSTEM need to be entered when prompted
    ###
     
    $  impdp system@asmtde_pdb1  TRANSPORT_DATAFILES=\'+DATA/ASMTDE/1599A96E256A8B99E063BE6B1F0AC02B/DATAFILE/tbs01\' DIRECTORY=ttsps_dir dumpfile=expttpsasm.dmp
     
    Import: Release 19.0.0.0.0 - Production on Mon Apr 8 17:52:09 2024
    Version 19.23.0.0.0
     
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    Password:
     
    Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
    Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/********@pdb1 TRANSPORT_DATAFILES='+DATA/ASMTDE/1599A96E256A8B99E063BE6B1F0AC02B/DATAFILE/tbs01' DIRECTORY=ttsps_dir dumpfile=expttpsasm.dmp
    Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
    Processing object type TRANSPORTABLE_EXPORT/TABLE
    Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
    Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
    Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Mon Apr 8 17:52:18 2024 elapsed 0 00:00:03
  6. 宛先のOracle Key Vault対応データベースPDB1で暗号化を有効化およびテストします。
    ###
    ### login as oracle user
    ### Connect to database using SQLPLUS as sysdba user ( sqlplus / as sysdba ) and run the following 
    ###
     
    SQL>  alter session set container=pdb1 ;
     
    Session altered.
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    NO
    SYSAUX                 ONLINE    NO
    UNDOTBS1               ONLINE    NO
    TEMP                   ONLINE    NO
    USERS                  ONLINE    NO
    TBS01                  READ ONLY NO
     
    6 rows selected.
     
    SQL> alter tablespace TBS01 read write ;
     
    Tablespace altered.
    
    ### encrypt TBS01. In case encrypt operation is interrupted , run 'alter tablespace TBS01 encryption online finish encrypt ;' 
    
    SQL>   alter tablespace TBS01 encryption online encrypt ; 
     
    Tablespace altered.
     
    SQL> select TABLESPACE_NAME, STATUS , ENCRYPTED from dba_tablespaces ;
     
    TABLESPACE_NAME            STATUS    ENC
    ------------------------------ --------- ---
    SYSTEM                 ONLINE    NO
    SYSAUX                 ONLINE    NO
    UNDOTBS1               ONLINE    NO
    TEMP                   ONLINE    NO
    USERS                  ONLINE    NO
    TBS01                  ONLINE    YES
     
    6 rows selected.
     
    ###
    ### Retrieve the data from TAB1
    ###
     
    SQL> select OWNER, table_name from tab1 where rownum < 3
      2  ;
     
    OWNER
    --------------------------------------------------------------------------------
    TABLE_NAME
    --------------------------------------------------------------------------------
    SYS
    TS$
     
    SYS
    ICOL$
     
     
    ###
    ### When the wallet is closed or unavailable,  same SQL does not retrieve data
    ### To simulate wallet absence rename the cwallet.sso wallet under <wallet_root>/tde to some other name like cwallet.sso.orig   
    ### and close the wallet. To return auto-login wallet , rename file back to  cwallet.sso and run the SQL again.
    ###
     
    SQL> show parameter wallet_root
     
    NAME                     TYPE        VALUE
    ------------------------------------ ----------- 
    wallet_root              string  /etc/OKV/asmtde