Gestion des clés de chiffrement sur les appareils externes

Voyez comment stocker et gérer des clés de chiffrement de base de données.

Il existe deux options pour stocker et gérer les clés de chiffrement de base de données pour vos bases de données sur le service Oracle Exadata Database Service on Cloud@Customer :

  1. Dans un fichier de portefeuille à connexion automatique stocké dans un système Oracle Advanced Cluster File System (Oracle ACFS) accessible par le système d'exploitation de machine virtuelle du client.
  2. Oracle Key Vault.

Clés gérées par le client dans le service Oracle Exadata Database Service on Cloud@Customer

Les clés gérées par le client pour le service Oracle Exadata Database Service on Cloud@Customer sont une fonction qui vous permet de migrer la clé de chiffrement principale TDE d'Oracle Database pour une base de données Oracle Database à partir du fichier de portefeuille protégé par mot de passe stocké sur l'équipement Oracle Exadata Database Service on Cloud@Customer vers un serveur OKV que vous contrôlez.

Oracle Key Vault (OKV) fournit une gestion des clés et des clés secrètes, hautement disponible et évolutive, tolérante aux pannes, pour vos bases de données chiffrées ExaDB-C@C. Utilisez des clés gérées par le client lorsque vous avez besoin d'assurer la gouvernance de la sécurité, la conformité réglementaire et un chiffrement homogène des données tout en centralisant la gestion et le stockage des clés que vous utilisez pour protéger vos données, ainsi que la surveillance du cycle de vie des clés.

Vous pouvez :

  • Passer de clés gérées par Oracle à des clés gérées par le client dans les bases de données qui ne sont pas activées avec Oracle Data Guard.
  • Effectuer la rotation de vos clés pour assurer la conformité en matière de sécurité.
  • La rotation de la clé de base de données enfichable est également prise en charge. Les opérations de rotation de clé de base de données conteneur et de base de données enfichable ne sont autorisées que si la base de données est gérée par le client.

Conditions requises

À propos d'Oracle Key Vault

Oracle Key Vault est un boîtier applicatif de pile complète à la sécurité renforcée, conçu pour centraliser la gestion des clés et des objets de sécurité au sein de l'entreprise.

Note

Oracle Key Vault est un système provisionné et géré par le client et ne fait pas partie des services gérés Oracle Cloud Infrastructure.

Aperçu du magasin de clés

Intégrez Oracle Key Vault (OKV) sur place aux services en nuage de base de données gérés par le client pour sécuriser vos données critiques sur place.

L'intégration Oracle Key Vault vous permet de contrôler complètement vos clés de chiffrement et de les stocker en toute sécurité sur un appareil de gestion des clés externe et centralisé.

OKV est optimisé pour les portefeuilles Oracle, les magasins de clés Java et les clés principales TDE. Oracle Key Vault prend en charge la norme OASIS KMIP. Le boîtier applicatif de pile complète à la sécurité renforcée utilise la technologie Oracle Linux et Oracle Database pour la sécurité, la disponibilité et l'évolutivité, et peut être déployé sur votre choix de matériel compatible.

OKV fournit également une interface REST permettant aux clients d'inscrire automatiquement des points d'extrémité et de configurer des portefeuilles et des clés. Pour qu'Oracle Autonomous AI Database on Exadata Cloud@Customer se connecte à l'interface REST d'OKV, créez un magasin de clés dans votre location pour stocker l'adresse IP et les données d'identification de l'administrateur de votre OKV. Exadata Cloud@Customer stocke temporairement le mot de passe de l'administrateur d'utilisateur REST OKV requis pour se connecter au boîtier OKV dans un fichier de portefeuille protégé par mot de passe afin que le logiciel exécuté dans la machine virtuelle du client puisse se connecter au serveur OKV. Après la migration des clés TDE vers OKV, le logiciel d'automatisation du nuage supprimera le mot de passe du fichier de portefeuille. Assurez-vous de créer une clé secrète avec le service de chambre forte d'Oracle, qui stockera le mot de passe requis pour que les bases de données autonomes se connectent à OKV pour la gestion des clés.

Pour plus d'informations, voir "Oracle Key Vault".

Politique GIA requise pour gérer OKV sur le service Oracle Exadata Database sur Cloud@Customer

Vérifiez la politique de gestion des identités et des accès (GIA) pour gérer OKV sur des systèmes du service Oracle Exadata Database sur Cloud@Customer.

Une politique est un document GIA identifiant les types d'accès accordés aux différentes personnes pour vos ressources. Il est utilisé de différentes façons : pour définir un énoncé individuel écrit dans le langage de la politique, pour définir un ensemble d'énoncés dans un seul document, nommé "politique" (auquel un ID Oracle Cloud (OCID) est affecté) et pour définir le corps global des politiques que votre organisation utilise pour contrôler l'accès aux ressources.

Un compartiment est une collection de ressources connexes accessibles uniquement à certains groupes auxquels un administrateur de votre organisation a accordé une autorisation.

Pour utiliser Oracle Cloud Infrastructure, le type d'accès requis doit vous être accordé dans une politique écrite par un administrateur, que vous utilisiez la console ou l'API REST avec une trousse SDK, l'interface de ligne de commande ou un autre outil. Si vous tentez d'effectuer une action et que vous voyez s'afficher un message indiquant que vous ne disposez pas de l'autorisation requise, vérifiez auprès de votre administrateur le type d'accès qui vous a été octroyé et le compartiment que vous devez utiliser.

Pour les administrateurs : La politique sous "Permettre aux administrateurs de base de données de gérer les systèmes de base de données" autorise le groupe indiqué à effectuer toutes les opérations sur les bases de données et sur les ressources connexes de base de données.

Pour en connaître davantage sur les politiques, voir "Introduction aux politiques" et "Politiques communes". Pour plus de précisions sur l'écriture de politiques pour les bases de données, voir "Informations détaillées sur le service de base de données".

Marquage de ressources

Vous pouvez appliquer des marqueurs à vos ressources afin de les organiser en fonction des besoins de l'entreprise.

Vous pouvez appliquer des marqueurs au moment de la création d'une ressource, ou vous pouvez mettre à jour la ressource plus tard avec les marqueurs voulus. Pour des informations générales sur l'application de marqueurs, voir "Marqueurs de ressource".

Déplacement de ressources vers un autre compartiment

Vous pouvez déplacer les ressources de chambre forte, de clé secrète et de magasin de clés OKV d'un compartiment à un autre.

Après le déplacement d'une ressource OCI vers un nouveau compartiment, des politiques inhérentes s'appliquent immédiatement et ont une incidence sur l'accès à la ressource. Le déplacement d'une ressource de chambre forte OKV n'a aucune incidence sur l'accès aux clés de chambre forte OKV ou aux clés secrètes de chambre forte OKV que contient la chambre forte OKV. Vous pouvez déplacer des clés de chambre forte OKV ou des clés secrètes de chambre forte OKV d'un compartiment à un autre indépendamment du déplacement de la chambre forte OKV à laquelle elle est associée. Pour plus d'informations, voir Gestion des compartiments.

Configuration d'Oracle Exadata Database Service on Cloud@Customer pour utiliser Oracle Key Vault

Préalables
  1. Assurez-vous qu'OKV est configuré et que le réseau est accessible à partir du réseau client Exadata. Ouvrez les ports 443, 5695 et 5696 pour le trafic sortant sur le réseau client afin que le logiciel client OKV et l'instance de base de données Oracle puissent accéder au serveur OKV.
  2. Assurez-vous que l'interface REST est activée à partir de l'interface utilisateur OKV.
  3. Créez un utilisateur "Administrateur REST OKV".

    Vous pouvez utiliser n'importe quel nom d'utilisateur qualifié de votre choix, par exemple okv_rest_user. Les bases de données peuvent être gérées par clé dans la même grappe OKV ou dans des grappes OKV sur place différentes. ExaDB-C@C nécessite un utilisateur REST doté du privilège Create Endpoint.

  4. Collectez les données d'identification et l'adresse IP de l'administrateur OKV, qui sont nécessaires pour se connecter à OKV.

Pour plus d'informations, voir Exigences relatives aux ports réseau, Gestion des utilisateurs d'Oracle Key Vault et Gestion des rôles d'administration et des privilèges d'utilisateur.

Étape 1 : Créer une chambre forte dans le service de chambre forte OCI et ajouter une clé secrète à la chambre forte pour stocker le mot de passe de l'administrateur REST OKV

Votre infrastructure Exadata Cloud@Customer communique avec OKV sur REST chaque fois qu'une base Oracle Database est provisionnée pour enregistrer Oracle Database et demander un portefeuille sur OKV. Par conséquent, l'infrastructure Exadata doit avoir accès aux données d'identification de l'administrateur REST pour s'inscrire auprès du serveur OKV.

Ces données d'identification sont stockées de manière sécurisée dans le service de chambre forte Oracle dans OCI en tant que clé secrète et accessibles par votre infrastructure Exadata Cloud@Customer uniquement si nécessaire. Si nécessaire, les données d'identification sont stockées dans un fichier de portefeuille protégé par mot de passe.

Pour stocker le mot de passe d'administrateur OKV dans le service de chambre forte OCI, créez une chambre forte en suivant les instructions décrites dans Gestion des chambres fortes et créez une clé secrète dans cette chambre forte en suivant les instructions décrites dans Gestion des clés secrètes.

Étape 2 : Créer un énoncé de politique pour le groupe afin d'accéder à la clé secrète dans le service de chambre forte OCI

Pour permettre à un groupe d'utilisateurs d'accéder à la clé secrète dans la chambre forte OCI qui stocke le mot de passe de l'administrateur OKV, définissez une politique IAM qui accorde au groupe l'autorisation de lire les ensembles de clés secrètes dans le compartiment spécifié.

Énoncé de politique :

Allow group <group> to read secret-bundles in compartment <compartmentName> where target.secret.id='<secret ocid>'

Pour plus d'informations, voir :

Étape 3 : Créer un magasin de clés

Suivez ces étapes pour créer un magasin de clés pour vous connecter à un boîtier de clés de chiffrement sur place tel qu'Oracle Key Vault (OKV).

  1. Ouvrez le menu de navigation. Sous Oracle Database, cliquez sur Service Exadata Database sur Cloud@Customer.
  2. Sélectionnez votre compartiment.
  3. Cliquez sur Magasins de clés.

    La page Magasins de clés affiche la liste des noms de magasins de clés, le nombre de bases de données associées à chaque base de données et la date à laquelle chaque magasin de clés a été créé.

  4. Cliquez sur Créer un magasin de clés.
  5. Dans la boîte de dialogue Créer un magasin de clés, entrez les informations générales suivantes :
    • Indiquer un nom pour le magasin de clés : Description conviviale ou autres informations qui vous aident à identifier facilement la ressource Magasin de clés. Évitez d'entrer des informations confidentielles.
    • Paramètres de connexion à Oracle Key Vault
      • Adresses IP de connexion : Entrez au moins une adresse IP de noeud de grappe OKV; plusieurs adresses IP séparées par des virgules (de la même grappe OKV) sont possibles, par exemple 193.10.20.1, 193.10.20.2.
      • Nom d'utilisateur de l'administrateur : Entrez le nom d'utilisateur de okv_rest_user.
      • Clé secrète pour le mot de passe de l'administrateur : Le mot de passe de l'administrateur est stocké avec le service de gestion des clés secrètes dans OCI. Sélectionnez la clé secrète de chambre forte OCI de votre location qui contient le mot de passe okv_rest_user stocké en tant que clé secrète.
    • Marqueurs : Vous pouvez appliquer des marqueurs si vous le souhaitez. Si vous êtes autorisé à créer une ressource, vous êtes également autorisé à appliquer des marqueurs à structure libre à cette ressource. Pour appliquer un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur. Pour plus d'informations sur le marquage, voir Marqueurs de ressource. Si vous ne savez pas si vous devez appliquer des marqueurs, ignorez cette option (vous pourrez appliquer des marqueurs plus tard) ou demandez à l'administrateur. Évitez d'entrer des informations confidentielles.
  6. Cliquez sur Créer.
  7. Assurez-vous d'utiliser la même ressource de magasin de clés lors du provisionnement d'une base de données ou lors de la migration de la méthode de chiffrement TDE pour une base de données vers OKV.

    Pour plus d'informations, voir Gestion des chambres fortes, Gestion des clés et Gestion des clés secrètes.

Gestion du magasin de clés

Voir les détails du magasin de clés

Suivez ces étapes pour voir les détails du magasin de clés qui comprennent les détails de connexion Oracle Key Vault (OKV) et la liste des bases de données associées.

  1. Ouvrez le menu de navigation. Sous Oracle Database, cliquez sur Service Exadata Database sur Cloud@Customer.
  2. Sélectionnez votre compartiment.
  3. Cliquez sur Magasins de clés.

    La page Magasins de clés affiche la liste des noms de magasins de clés, le nombre de bases de données associées à chaque base de données et la date à laquelle chaque magasin de clés a été créé.

  4. Cliquez sur le nom du magasin de clés ou sur l'icône Actions (trois points), puis cliquez sur Voir les détails.
  5. Cliquez sur le lien dans le champ Clé secrète pour le mot de passe d'administrateur pour voir les détails de la clé secrète.

    La section Bases de données associées affiche la liste des bases de données conteneur associées à ce magasin de clés.

Modifier les détails du magasin de clés

Vous ne pouvez modifier un magasin de clés que s'il n'est associé à aucune base de données conteneur.

  1. Ouvrez le menu de navigation. Sous Oracle Database, cliquez sur Service Exadata Database sur Cloud@Customer.
  2. Sélectionnez votre compartiment.
  3. Cliquez sur Magasins de clés.
  4. Cliquez sur le nom du magasin de clés ou sur l'icône Actions (trois points), puis cliquez sur Voir les détails.
  5. Dans la page Détails du magasin de clés, cliquez sur Modifier.
  6. Dans la page Modifier le magasin de clés, apportez des modifications au besoin, puis cliquez sur Enregistrer les modifications.

Déplacer un magasin de clés vers un autre compartiment

Suivez ces étapes pour déplacer un magasin de clés sur un système du service Oracle Exadata Database Service on Cloud@Customer d'un compartiment vers un autre compartiment.

  1. Ouvrez le menu de navigation. Sous Oracle Database, cliquez sur Service Exadata Database sur Cloud@Customer.
  2. Sélectionnez votre compartiment.
  3. Cliquez sur Magasins de clés.
  4. Cliquez sur le nom du magasin de clés, cliquez sur Actions, puis sélectionnez Déplacer la ressource.

    (ou)

    Cliquez sur l'icône Actions (trois points) pour le magasin de clés à déplacer, puis cliquez sur Déplacer la ressource.

  5. Dans la page Déplacer la ressource vers un autre compartiment, sélectionnez le nouveau compartiment.
  6. Cliquez sur Déplacer la ressource.

Supprimer le magasin de clés

Vous ne pouvez supprimer un magasin de clés que s'il n'est associé à aucune base de données conteneur.

  1. Ouvrez le menu de navigation. Sous Oracle Database, cliquez sur Service Exadata Database sur Cloud@Customer.
  2. Sélectionnez votre compartiment.
  3. Cliquez sur Magasins de clés.
  4. Cliquez sur le nom du magasin de clés, cliquez sur Actions, puis sélectionnez Supprimer.

    (ou)

    Cliquez sur l'icône Actions (trois points) du magasin de clés à supprimer, puis cliquez sur Supprimer.

  5. Dans la boîte de dialogue Supprimer le magasin de clés, cliquez sur Supprimer.

Voir les détails de la base de données conteneur associée à un magasin de clés

Suivez ces étapes pour voir les détails de la base de données conteneur associée à un magasin de clés.

  1. Ouvrez le menu de navigation. Sous Oracle Database, cliquez sur Service Exadata Database sur Cloud@Customer.
  2. Sélectionnez votre compartiment.
  3. Cliquez sur Magasins de clés.
  4. Dans la page Magasins de clés qui s'affiche, cliquez sur le nom du magasin de clés ou sur l'icône Actions (trois points), puis cliquez sur Voir les détails.
  5. Cliquez sur Bases de données associées.
  6. Cliquez sur le nom de la base de données associée ou sur l'icône Actions (trois points), puis cliquez sur Voir les détails.

Utilisation de l'API pour gérer le magasin de clés

Voyez comment utiliser l'API pour gérer le magasin de clés.

Pour des informations sur l'utilisation de l'API et sur les demandes de signature, voir "API REST" et "Données d'identification de sécurité". Pour des informations sur les trousses SDK, voir "Trousses SDK et interface de ligne de commande".

Le tableau suivant répertorie les points d'extrémité d'API REST pour gérer un magasin de clés.

Opération Point d'extrémité d'API

Créer un magasin de clés OKV

CreateKeyStore

Voir le magasin de clés OKV

GetKeyStore

Mettre à jour le magasin de clés OKV

UpdateKeyStore

Supprimer le magasin de clés OKV

DeleteKeyStore

Changer de compartiment de magasin de clés

ChangeKeyStoreCompartment

Choisir entre le chiffrement géré par le client et le chiffrement géré par Oracle

CreateDatabase

Obtenir le nom du magasin de clés (géré par OKV ou Oracle) et du portefeuille OKV

GetDatabase

Modifier le type de magasin de clés

changeKeyStoreType

Effectuer une rotation de la clé gérée par OKV et Oracle

RotateVaultKey

Administrer les clés TDE

Utilisez cette procédure pour modifier la configuration de la gestion des clés.

Après avoir provisionné une base de données sur un système ExaDB-C@C, vous pouvez modifier la gestion des clés et effectuer des opérations telles que la rotation des clés TDE.

Note

  • Vous pouvez remplacer la gestion des clés d'Oracle Wallet par d'autres options disponibles.
  • Lorsque vous remplacez la gestion des clés par OKV, la base de données subit une opération d'abandon d'arrêt suivie d'un redémarrage. Planifiez d'effectuer la migration dans une fenêtre de maintenance planifiée.
  • Vous ne devez effectuer la rotation des clés TDE qu'au moyen des interfaces OCI (console, API).
  • Vous ne pouvez pas effectuer la rotation d'une clé de chiffrement :
    • lorsqu'une restauration de base de données est en cours dans un répertoire de base Oracle donné.
    • lorsqu'une application de correctifs à une base de données ou à un domicile est en cours.
  1. Ouvrez le menu de navigation. Cliquez sur Oracle Database, puis sur Service Exadata Database sur Cloud@Customer.
  2. Choisissez votre compartiment dans la liste déroulante Compartiment.
  3. Naviguez jusqu'à la grappe de machines virtuelles qui contient la base de données pour laquelle vous souhaitez modifier la gestion du chiffrement ou effectuer la rotation d'une clé.
    1. Sous Service Exadata Database sur l'infrastructure Cloud@Customer, cliquez sur Grappes de machines virtuelles Exadata.
    2. Dans la liste des grappes de machines virtuelles, recherchez celle qui vous intéresse et cliquez sur son nom en surbrillance pour afficher sa page de détails.
  4. Dans la section Bases de données, cliquez sur le nom de celle pour laquelle vous souhaitez modifier la gestion du chiffrement ou effectuer une rotation de clé pour afficher sa page de détails.
  5. Allez à la section Chiffrement de la page des détails de la base de données.
    • Pour modifier la gestion des clés :

      Si vous avez configuré Oracle Wallet en tant que gestion des clés, le système affiche l'option Modifier pour remplacer la gestion des clés par Oracle Key Vault.

      1. Cliquez sur Modifier.
      2. Sélectionnez la gestion des clés comme Oracle Key Vault.

        Vous devez disposer d'une clé de chiffrement valide dans le service Oracle Key Vault et fournir les informations requises au cours des étapes suivantes. Pour plus d'informations, voir Concepts relatifs à la gestion des clés et des clés secrètes.

      3. Sélectionnez une région.
      4. Sélectionner un compartiment.

        Vous pouvez modifier le compartiment en cliquant sur le lien Changer de compartiment.

      5. Cliquez sur Enregistrer les modifications.
    • Pour effectuer la rotation d'une clé de chiffrement :

      Si vous avez configuré Oracle Key Vault comme gestion des clés, le système affiche l'option Effectuer une rotation pour effectuer la rotation de la clé de chiffrement.

      1. Cliquez sur Effectuer la rotation.
      2. Dans la boîte de dialogue Rotate key qui s'affiche, cliquez sur Rotate (Effectuer la rotation).
Note

  • La migration des clés TDE vers Oracle Key Vault (OKV) nécessite 10 minutes de temps d'arrêt. Pendant la migration, l'état de la base de données est MISE À JOUR et les connexions peuvent échouer en raison de plusieurs redémarrages de base de données pour activer OKV. Les applications peuvent reprendre leur fonctionnement une fois la migration terminée et lorsque la base de données retourne à son état ACTIVE initial.
  • Le mot de passe du magasin de clés OKV sera le mot de passe pour le portefeuille TDE.

Attention :

Une fois la gestion des clés modifiée, la suppression de la clé dans OKV entraînera l'indisponibilité de la base de données.

Dans la page de détails de cette base de données, la section Chiffrement affiche le nom et l'OCID de la clé de chiffrement.

Comment cloner manuellement une base de données enfichable à partir d'une base de données conteneur distante lorsque les données sont chiffrées avec la clé de chiffrement principale (MEK) dans Oracle Key Vault (OKV)

L'outil dbaascli vous permet de cloner des bases de données enfichables lorsque les bases de données conteneur source et cible sont les mêmes (clone local) ou si elles sont différentes (clone distant). Toutefois, vous ne pouvez pas cloner une base de données enfichable distante si les données sont chiffrées avec une clé principale dans OKV.

Note

Pour déchiffrer/chiffrer les données lors d'un clone distant, la base de données conteneur doit avoir accès à MEK. La clé principale doit être mise à la disposition de la base de données conteneur cible lorsqu'elle est stockée sur le serveur OKV.

La base de données conteneur source et la base de données conteneur cible sont chiffrées avec MEK dans le même serveur OKV

  1. Obtenez l'ID objet OKV de la base de données enfichable source.
    1. Obtenez la dernière clé de chiffrement de la base de données enfichable source à l'aide de SQL*Plus.
      [root@testserver oracle]# su oracle 
      [oracle@testserver oracle]$ source ~/<source_db_name>.env    
      [oracle@testserver oracle]$ sqlplus / as sysdba
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 12 23:13:12 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
      
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> set heading off;
      SQL> alter session set container=<SOURCE_PDB>;
       
      Session altered.
       
      SQL> select key_id,keystore_type,activation_time from v$encryption_keys order by activation_time;
       
      0648E5D8D5559B4F0EBFB8AA5EE730401A
      SOFTWARE KEYSTORE
      25-MAR-23 12.01.41.075932 AM +00:00
       
      06AFF5B6E27A954F6EBFFC77296B27C9EC
      SOFTWARE KEYSTORE
      25-MAR-23 11.42.51.336955 AM +00:00
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver oracle]$
    2. Obtenez l'ID objet OKV (uuid) du MEK le plus récent obtenu à partir de l'étape ci-dessus.

      Entrez le mot de passe du point d'extrémité OKV lorsque vous y êtes invité et appuyez sur la touche Entrée de votre clavier.

      [root@testserver oracle]# su oracle 
      [oracle@testserver oracle]$ source ~/<source_db_name>.env 
      [oracle@testserver oracle]$ $OKV_HOME/bin/okvutil list | grep 06AFF5B6E27A954F6EBFFC77296B27C9EC
      E5344379-8B16-4FE9-BF35-F8ECB057571A    Symmetric Key    TDE Master Encryption Key: MKID 06AFF5B6E27A954F6EBFFC77296B27C9EC
      [oracle@testserver oracle]$
  2. Installez le portefeuille REST OKV dans la base de données source.
    1. Créez le répertoire okv_rest_cli s'il n'existe pas.
      [root@testserver newdb1]# su oracle
      [oracle@testserver oracle]$ mkdir /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli
    2. Téléchargez et extrayez okvrestclipackage.zip.

      Sélectionnez ALL si vous êtes invité à le remplacer.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli
      [oracle@scaqar06dv0101 okv_rest_cli]$ curl -O -k https://<source_okv_server_ip1>:5695/okvrestclipackage.zip
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 3784k  100 3784k    0     0  19.0M      0 --:--:-- --:--:-- --:--:-- 19.1M
      [oracle@testserver okv_rest_cli]$ unzip -q okvrestclipackage.zip
      [oracle@testserver okv_rest_cli]$
    3. Modifiez les fichiers okvrestcli.ini et okvrestcli_logging.properties comme suit.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [Default]
      server=<source_okv_server_ip1>
      user=<source_okv_rest_user>
      client_wallet=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      log_property=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      okv_client_config=/u02/app/oracle/admin/<source_db_name>/okv_home/conf/okvclient.ora
       
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties  
      handlers=java.util.logging.FileHandler
      java.util.logging.FileHandler.pattern=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/logs/okvrest.log
      java.util.logging.FileHandler.limit=200000
      java.util.logging.FileHandler.count=1
      java.util.logging.FileHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      java.util.logging.ConsoleHandler.level=FINER
      java.util.logging.ConsoleHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      [oracle@testserver okv_rest_cli]$
    4. Créez le répertoire client_wallet.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ mkdir /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      [oracle@testserver okv_rest_cli]$
    5. Créer un portefeuille REST OKV à l'aide de l'interface de ligne de commande REST OKV.

      Entrez le mot de passe REST OKV source lorsque vous y êtes invité.

      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv admin client-wallet add --client-wallet /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet --wallet-user <source_okv_rest_user>
      Password:
      {
        "result" : "Success"
      }
      [oracle@testserver okv_rest_cli]$ ls -ltr /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      total 8
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 ewallet.p12.lck
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 cwallet.sso.lck
      -rw------- 1 oracle oinstall  976 Jun 16 01:29 ewallet.p12
      -rw------- 1 oracle oinstall 1021 Jun 16 01:29 cwallet.sso
      [oracle@testserver okv_rest_cli]$
  3. Créez un nouveau portefeuille OKV pour stocker uniquement la clé principale de base de données enfichable obtenue à l'étape #1.
    1. Obtenez le nom du portefeuille OKV à partir de la base de données enfichable source dans le format EXA_DB_NAME_DBID_PDB_NAME_WL.

      Par exemple, le nom du portefeuille serait EXA_NEWDB1_37508325141_PDB_NAME_WL.

      [root@testserver newdb1]# su oracle
      [oracle@testserver newdb1]$ source ~/<source_db_name>.env
      [oracle@testserver newdb1]$ sqlplus / as sysdba 
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 20 21:26:54 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
      
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> select name,db_unique_name,dbid from v$database; 
       
      NAME      DB_UNIQUE_NAME               DBID
      --------- ------------------------------ ----------
      NEWDB1      newdb1_uniq             3750832514
       
      SQL> select value from v$parameter where name='instance_name';
       
      VALUE
      --------------------------------------------------------------------------------
      newdb11
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver newdb1]$
    2. Créez un portefeuille à l'aide de l'interface de ligne de commande REST OKV.
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet create --wallet <SOURCE_PDB_OKV_WALLET> --description "Wallet to clone <source_pdb_name> pdb from <source_db_name>" --unique FALSE
      {
        "result" : "Success",
        "value" : {
          "status" : "PENDING",
          "locatorID" : "BA5FBFE1-DB41-4425-8EE4-D58541A1E41A"
        }
      }
      [root@testserver oracle]#
    3. Vérifiez le statut jusqu'à ce qu'il soit ACTIF.
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet check-status --wallet <SOURCE_PDB_OKV_WALLET>
      {
        "result" : "Success",
        "value" : {
          "status" : "PENDING"
        }
      }
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet check-status --wallet <SOURCE_PDB_OKV_WALLET>
      {
        "result" : "Success",
        "value" : {
          "status" : "ACTIVE",
          "wallet" : "<SOURCE_PDB_OKV_WALLET>"
        }
      }
      [root@testserver oracle]#
  4. Ajoutez les autorisations Lecture et modification et Gérer le portefeuille des points d'extrémité OKV de la base de données source au portefeuille OKV créé à l'étape #3.
    1. Obtenez les noms de point d'extrémité à partir de la base de données source. Un par machine virtuelle.

      Habituellement, la structure est dans le format EXA_DB_UNIQUE_NAME_DBID_SID_EP.

      Par exemple, le nom du point d'extrémité du noeud 1 est EXA_NEWDB1_UNIQ_3750832514_NEWDB11_EP.

      [root@testserver newdb1]# su oracle
      [oracle@testserver newdb1]$ source ~/<source_db_name>.env
      [oracle@testserver newdb1]$ sqlplus / as sysdba 
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 20 21:26:54 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
       
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> select name,db_unique_name,dbid from v$database; 
       
      NAME      DB_UNIQUE_NAME               DBID
      --------- ------------------------------ ----------
      NEWDB1      newdb1_uniq             3750832514
       
      SQL> select value from v$parameter where name='instance_name';
       
      VALUE
      --------------------------------------------------------------------------------
      newdb11
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver newdb1]$
    2. Ajoutez les autorisations Lecture et modification et Gérer le portefeuille à l'aide de l'interface de ligne de commande REST OKV.
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <SOURCE_OKV_EP1> --access RM_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <SOURCE_OKV_EP2> --access RM_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]#
  5. Stockez MEK de la base de données enfichable source obtenue à l'étape #1 dans le portefeuille OKV créé à l'étape #3.
    1. Ajoutez MEK (uuid obtenu à l'étape #1.b) à l'aide de l'interface de ligne de commande REST OKV.

      Entrez le mot de passe du point d'extrémité OKV source lorsque vous y êtes invité.

      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv managed-object wallet add-member --uuid E5344379-8B16-4FE9-BF35-F8ECB057571A --wallet <SOURCE_PDB_OKV_WALLET>
      Password: 
      {
        "result" : "Success"
      }
      [root@testserver oracle]#
  6. Installez le portefeuille REST OKV dans la base de données cible.
    1. Créez le répertoire okv_rest_cli s'il n'existe pas.
      [root@testserver newdb1]# su oracle
      [oracle@testserver oracle]$ mkdir /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli
    2. Téléchargez et extrayez okvrestclipackage.zip.

      Sélectionnez ALL à l'invite de remplacement.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli
      [oracle@scaqar06dv0101 okv_rest_cli]$ curl -O -k https://<target_okv_server_ip1>:5695/okvrestclipackage.zip
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 3784k  100 3784k    0     0  19.0M      0 --:--:-- --:--:-- --:--:-- 19.1M
      [oracle@testserver okv_rest_cli]$ unzip -q okvrestclipackage.zip
      [oracle@testserver okv_rest_cli]$
    3. Modifiez les fichiers okvrestcli.ini et okvrestcli_logging.properties comme suit.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [Default]
      server=<target_okv_server_ip1>
      user=<target_okv_rest_user>
      client_wallet=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet
      log_property=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      okv_client_config=/u02/app/oracle/admin/<target_db_name>/okv_home/conf/okvclient.ora
       
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      handlers=java.util.logging.FileHandler
      java.util.logging.FileHandler.pattern=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/logs/okvrest.log
      java.util.logging.FileHandler.limit=200000
      java.util.logging.FileHandler.count=1
      java.util.logging.FileHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      java.util.logging.ConsoleHandler.level=FINER
      java.util.logging.ConsoleHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      [oracle@testserver okv_rest_cli]$
    4. Créez le répertoire client_wallet.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ mkdir /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet
      [oracle@testserver okv_rest_cli]$
    5. Créer un portefeuille REST OKV à l'aide de l'interface de ligne de commande REST OKV.

      Entrez le mot de passe REST OKV cible lorsque vous y êtes invité.

      [oracle@testserver okv_rest_cli]$ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/bin/okv admin client-wallet add --client-wallet /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet --wallet-user <target_okv_rest_user>
      Password:
      {
        "result" : "Success"
      }
      [oracle@testserver okv_rest_cli]$ ls -ltr /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet
      total 8
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 ewallet.p12.lck
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 cwallet.sso.lck
      -rw------- 1 oracle oinstall  976 Jun 16 01:29 ewallet.p12
      -rw------- 1 oracle oinstall 1021 Jun 16 01:29 cwallet.sso
      [oracle@testserver okv_rest_cli]$
  7. Ajoutez les autorisations Lecture seule et Gérer le portefeuille à partir des points d'extrémité OKV de la base de données cible vers le portefeuille OKV de la base de données enfichable source créé à l'étape #3.
    1. Obtenez les noms de point d'extrémité à partir de la base de données cible. Un par machine virtuelle.

      Habituellement, la structure est dans le format EXA_DB_UNIQUE_NAME_DBID_SID_EP.

      Par exemple, le nom du point d'extrémité du noeud 1 est EXA_NEWDB1_UNIQ_3750832514_NEWDB11_EP.

      [root@testserver newdb1]# su oracle
      [oracle@testserver newdb1]$ source ~/<target_db_name>.env
      [oracle@testserver newdb1]$ sqlplus / as sysdba 
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 20 21:26:54 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
       
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> select name,db_unique_name,dbid from v$database; 
       
      NAME      DB_UNIQUE_NAME               DBID
      --------- ------------------------------ ----------
      NEWDB1      newdb1_uniq             3750832514
       
      SQL> select value from v$parameter where name='instance_name';
       
      VALUE
      --------------------------------------------------------------------------------
      newdb11
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver newdb1]$
    2. Ajoutez les autorisations Lecture seule et Gérer le portefeuille à l'aide de l'interface de ligne de commande REST OKV.
      [root@testserver oracle]#  export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <TARGET_OKV_EP1> --access RO_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]#  export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <TARGET_OKV_EP2> --access RO_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]#
  8. Copiez la PDB.
    1. Exécutez dbaascli pour cloner la base de données enfichable.

      Entrez le mot de passe de l'utilisateur DB SYS source lorsque vous y êtes invité.

      [root@testserver oracle]# dbaascli pdb remoteClone --pdbName <source_pdb_name> --dbName <target_db_name> --sourceDBConnectionString <source_db_connection_string> --targetPDBName <target_pdb_name>
      DBAAS CLI version 23.2.1.0.0
      Executing command pdb remoteClone --pdbName <source_pdb_name> --dbName <target_pdb_name> --sourceDBConnectionString scaqar06dvclu01-scan1.us.oracle.com:1521/<source_db_unique_name>.us.oracle.com --targetPDBName <target_pdb_name>
      Job id: 197f30e9-209e-4ec5-9700-a13f7915f8b9
      Session log: /var/opt/oracle/log/alyokv1/pdb/remoteClone/dbaastools_2023-06-12_10-32-17-PM_188384.log
      Enter REMOTE_DB_SYS_PASSWORD:
       
      Enter REMOTE_DB_SYS_PASSWORD (reconfirmation):
       
      Loading PILOT...
      Session ID of the current execution is: 6848
      Log file location: /var/opt/oracle/log/alyokv1/pdb/remoteClone/pilot_2023-06-12_10-32-35-PM_204184
      -----------------
      Running Plugin_initialization job
      Enter REMOTE_DB_SYS_PASSWORD
      ***************
      Completed Plugin_initialization job
      -----------------
      Running Validate_input_params job
      Completed Validate_input_params job
      -----------------
      Running Perform_dbca_prechecks job
      Completed Perform_dbca_prechecks job
      -----------------
      Running PDB_creation job
      Completed PDB_creation job
      -----------------
      Running Load_pdb_details job
      Completed Load_pdb_details job
      -----------------
      Running Configure_pdb_service job
      Completed Configure_pdb_service job
      -----------------
      Running Configure_tnsnames_ora job
      Completed Configure_tnsnames_ora job
      -----------------
      Running Set_pdb_admin_user_profile job
      Completed Set_pdb_admin_user_profile job
      -----------------
      Running Lock_pdb_admin_user job
      Completed Lock_pdb_admin_user job
      -----------------
      Running Register_ocids job
      Skipping. Job is detected as not applicable.
      -----------------
      Running Prepare_blob_for_standby_in_primary job
      Skipping. Job is detected as not applicable.
      -----------------
      Running Generate_dbsystem_details job
      Completed Generate_dbsystem_details job
      dbaascli execution completed
      [root@testserver oracle]#
  9. Supprimez le portefeuille OKV de la base de données enfichable source créé à l'étape #3 à l'aide de l'interface de ligne de commande REST OKV.
    [root@testserver oracle]#  export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet delete --wallet  <SOURCE_PDB_OKV_WALLET>
    {
      "result" : "Success"
    }
    [root@testserver oracle]#
  10. Supprimez le portefeuille REST OKV créé à l'étape #2.
    1. Supprimez les fichiers de portefeuille dans le répertoire dbaas_acfs.
      [root@testserver oracle]# rm -f /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet/*
      [root@testserver oracle]#
  11. Supprimer le portefeuille REST OKV créé à l'étape n° 6.
    1. Supprimez les fichiers de portefeuille dans le répertoire dbaas_acfs.
      [root@testserver oracle]# rm -f /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet/*
      [root@testserver oracle]#

La base de données conteneur source et la base de données conteneur cible sont chiffrées avec MEK dans un autre serveur OKV

  1. Obtenez l'ID objet OKV de la base de données enfichable source.
    1. Obtenez la dernière clé de chiffrement de la base de données enfichable source à l'aide de SQL*Plus.
      [root@testserver oracle]# su oracle 
      [oracle@testserver oracle]$ source ~/<source_db_name>.env    
      [oracle@testserver oracle]$ sqlplus / as sysdba
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 12 23:13:12 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
       
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> set heading off;
      SQL> alter session set container=<SOURCE_PDB>;
       
      Session altered.
       
      SQL> select key_id,keystore_type,activation_time from v$encryption_keys order by activation_time;
       
      0648E5D8D5559B4F0EBFB8AA5EE730401A
      SOFTWARE KEYSTORE
      25-MAR-23 12.01.41.075932 AM +00:00
       
      06AFF5B6E27A954F6EBFFC77296B27C9EC
      SOFTWARE KEYSTORE
      25-MAR-23 11.42.51.336955 AM +00:00
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver oracle]$
    2. Obtenez l'ID objet OKV (uuid) du MEK le plus récent obtenu à partir de l'étape ci-dessus.

      Entrez le mot de passe du point d'extrémité OKV lorsque vous y êtes invité et appuyez sur la touche Entrée de votre clavier.

      [root@testserver oracle]# su oracle 
      [oracle@testserver oracle]$ source ~/<source_db_name>.env 
      [oracle@testserver oracle]$ $OKV_HOME/bin/okvutil list | grep 06AFF5B6E27A954F6EBFFC77296B27C9EC
      E5344379-8B16-4FE9-BF35-F8ECB057571A    Symmetric Key    TDE Master Encryption Key: MKID 06AFF5B6E27A954F6EBFFC77296B27C9EC
      [oracle@testserver oracle]$
  2. Installez le portefeuille REST OKV dans la base de données source.
    1. Créez le répertoire okv_rest_cli s'il n'existe pas.
      [root@testserver newdb1]# su oracle
      [oracle@testserver oracle]$ mkdir /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli
    2. Téléchargez et extrayez okvrestclipackage.zip.

      Sélectionnez ALL si vous êtes invité à le remplacer.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli
      [oracle@scaqar06dv0101 okv_rest_cli]$ curl -O -k https://<source_okv_server_ip1>:5695/okvrestclipackage.zip
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 3784k  100 3784k    0     0  19.0M      0 --:--:-- --:--:-- --:--:-- 19.1M
      [oracle@testserver okv_rest_cli]$ unzip -q okvrestclipackage.zip
      [oracle@testserver okv_rest_cli]$
    3. Modifiez les fichiers okvrestcli.ini et okvrestcli_logging.properties comme suit.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [Default]
      server=<source_okv_server_ip1>
      user=<source_okv_rest_user>
      client_wallet=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      log_property=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      okv_client_config=/u02/app/oracle/admin/<source_db_name>/okv_home/conf/okvclient.ora
       
      
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties  
      handlers=java.util.logging.FileHandler
      java.util.logging.FileHandler.pattern=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/logs/okvrest.log
      java.util.logging.FileHandler.limit=200000
      java.util.logging.FileHandler.count=1
      java.util.logging.FileHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      java.util.logging.ConsoleHandler.level=FINER
      java.util.logging.ConsoleHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      [oracle@testserver okv_rest_cli]$
    4. Créez le répertoire client_wallet.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ mkdir /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      [oracle@testserver okv_rest_cli]$
    5. Créer un portefeuille REST OKV à l'aide de l'interface de ligne de commande REST OKV.

      Entrez le mot de passe REST OKV source lorsque vous y êtes invité.

      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv admin client-wallet add --client-wallet /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet --wallet-user <source_okv_rest_user>
      Password:
      {
        "result" : "Success"
      }
      [oracle@testserver okv_rest_cli]$ ls -ltr /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      total 8
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 ewallet.p12.lck
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 cwallet.sso.lck
      -rw------- 1 oracle oinstall  976 Jun 16 01:29 ewallet.p12
      -rw------- 1 oracle oinstall 1021 Jun 16 01:29 cwallet.sso
      [oracle@testserver okv_rest_cli]$
  3. Créez un nouveau portefeuille OKV pour stocker uniquement la clé principale de base de données enfichable obtenue à l'étape #1.
    1. Créez un portefeuille à l'aide de l'interface de ligne de commande REST OKV. Nom suggéré : EXA_DB_NAME_DBID_PDB_NAME_WL
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet create --wallet <SOURCE_PDB_OKV_WALLET> --description "Wallet to clone <source_pdb_name> pdb from <source_db_name>" --unique FALSE
      {
        "result" : "Success",
        "value" : {
          "status" : "PENDING",
          "locatorID" : "BA5FBFE1-DB41-4425-8EE4-D58541A1E41A"
        }
      }
      [root@testserver oracle]#
    2. Vérifiez le statut jusqu'à ce qu'il soit ACTIF.
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet check-status --wallet <SOURCE_PDB_OKV_WALLET>
      {
        "result" : "Success",
        "value" : {
          "status" : "PENDING"
        }
      }
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet check-status --wallet <SOURCE_PDB_OKV_WALLET>
      {
        "result" : "Success",
        "value" : {
          "status" : "ACTIVE",
          "wallet" : "<SOURCE_PDB_OKV_WALLET>"
        }
      }
      [root@testserver oracle]#
  4. Ajoutez les autorisations Lecture et modification et Gérer le portefeuille des points d'extrémité OKV de la base de données source au portefeuille OKV créé à l'étape #3.
    1. Obtenez les noms de point d'extrémité à partir de la base de données source. Un par machine virtuelle.

      Habituellement, la structure est dans le format EXA_DB_UNIQUE_NAME_DBID_SID_EP.

      Par exemple, le nom du point d'extrémité du noeud 1 est EXA_NEWDB1_UNIQ_3750832514_NEWDB11_EP.

      [root@testserver newdb1]# su oracle
      [oracle@testserver newdb1]$ source ~/<source_db_name>.env
      [oracle@testserver newdb1]$ sqlplus / as sysdba 
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 20 21:26:54 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
       
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> select name,db_unique_name,dbid from v$database; 
       
      NAME      DB_UNIQUE_NAME               DBID
      --------- ------------------------------ ----------
      NEWDB1      newdb1_uniq             3750832514
       
      SQL> select value from v$parameter where name='instance_name';
       
      VALUE
      --------------------------------------------------------------------------------
      newdb11
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver newdb1]$
    2. Ajoutez les autorisations Lecture et modification et Gérer le portefeuille à l'aide de l'interface de ligne de commande REST OKV.
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <SOURCE_OKV_EP1> --access RM_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <SOURCE_OKV_EP2> --access RM_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]#
  5. Stockez MEK de la base de données enfichable source obtenue à l'étape #1 dans le portefeuille OKV créé à l'étape #3.
    1. Ajoutez MEK (uuid obtenu à l'étape #1.b) à l'aide de l'interface de ligne de commande REST OKV.

      Entrez le mot de passe du point d'extrémité OKV source lorsque vous y êtes invité.

      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv managed-object wallet add-member --uuid E5344379-8B16-4FE9-BF35-F8ECB057571A --wallet <SOURCE_PDB_OKV_WALLET>
      Password: 
      {
        "result" : "Success"
      }
      [root@testserver oracle]#
  6. Téléchargez le portefeuille OKV créé à l'étape #3 à partir du serveur OKV vers le système de fichiers local.
    1. Créez un nouveau répertoire avec les autorisations pour l'utilisateur oracle.

      Ce répertoire stockera le portefeuille qui ne contiendra que la clé principale de la base de données enfichable source.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ mkdir /home/oracle/<source_pdb_wallet_dir>
      [oracle@testserver oracle]$
    2. Téléchargez le portefeuille OKV créé à l'étape #3 dans le répertoire créé à l'étape #6.a à l'aide de okvutil.

      Il vous demandera deux fois un mot de passe pour chiffrer le portefeuille local. Utilisez le même mot de passe que le mot de passe du point d'extrémité source. Entrez également le mot de passe du point d'extrémité source lorsque vous y êtes invité.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ source ~/nfsa.env
      [oracle@testserver oracle]$ $OKV_HOME/bin/okvutil download -l /home/oracle/<source_pdb_wallet_dir> -t wallet -g <SOURCE_PDB_OKV_WALLET>
      Enter new wallet password (<enter> for auto-login): 
      Confirm new wallet password: 
      Enter Oracle Key Vault endpoint password: 
      Download succeeded
      [oracle@testserver oracle]$
    3. Fermez le répertoire du portefeuille.
      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /home/oracle
      [oracle@testserver oracle]$ zip -r <source_pdb_wallet_dir>.zip <source_pdb_wallet_dir>  
        adding: <source_pdb_wallet_dir>/ (stored 0%)
        adding: <source_pdb_wallet_dir>/ewallet.p12 (stored 0%)
      [oracle@testserver oracle]$
  7. Supprimez le portefeuille OKV de la base de données enfichable source créé à l'étape #3.
    [root@testserver oracle]#  export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet delete --wallet  <SOURCE_PDB_OKV_WALLET>
    {
      "result" : "Success"
    }
    [root@testserver oracle]#
  8. Supprimez le portefeuille REST OKV créé à l'étape #1.
    1. Supprimez les fichiers de portefeuille dans le répertoire dbaas_acfs.
      [root@testserver oracle]# rm -f /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet/*
      [root@testserver oracle]#
  9. Copiez le portefeuille de la base de données enfichable source téléchargé dans le système de fichiers central à l'étape #6 vers la machine virtuelle de la grappe cible.
  10. Supprimez le portefeuille de la base de données enfichable source du système de fichiers local source créé à l'étape #6.
    1. Supprimez le répertoire du portefeuille.
      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ rm -rf /home/oracle/<source_pdb_wallet_dir>
      [oracle@testserver oracle]$
    2. Supprimez le fichier zip du portefeuille.
      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ rm -f /home/oracle/<source_pdb_wallet_dir>.zip
      [oracle@testserver oracle]$
  11. Installez le portefeuille REST OKV dans la base de données cible.
    1. Créez le répertoire okv_rest_cli s'il n'existe pas.
      [root@testserver newdb1]# su oracle
      [oracle@testserver oracle]$ mkdir /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli
    2. Téléchargez et extrayez okvrestclipackage.zip.

      Sélectionnez ALL à l'invite de remplacement.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli
      [oracle@testserver okv_rest_cli]$ curl -O -k https://<target_okv_server_ip>:5695/okvrestclipackage.zip
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 3784k  100 3784k    0     0  19.0M      0 --:--:-- --:--:-- --:--:-- 19.1M
      [oracle@testserver okv_rest_cli]$ unzip -q okvrestclipackage.zip
      [oracle@testserver okv_rest_cli]$
    3. Modifiez les fichiers okvrestcli.ini et okvrestcli_logging.properties comme suit.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [Default]
      server=<target_okv_server_ip1>
      user=<target_okv_rest_user>
      client_wallet=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet
      log_property=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      okv_client_config=/u02/app/oracle/admin/<target_db_name>/okv_home/conf/okvclient.ora
       
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties  
      handlers=java.util.logging.FileHandler
      java.util.logging.FileHandler.pattern=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/logs/okvrest.log
      java.util.logging.FileHandler.limit=200000
      java.util.logging.FileHandler.count=1
      java.util.logging.FileHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      java.util.logging.ConsoleHandler.level=FINER
      java.util.logging.ConsoleHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      [oracle@testserver okv_rest_cli]$
    4. Créez le répertoire client_wallet.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ mkdir /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet
      [oracle@testserver okv_rest_cli]$
    5. Créer un portefeuille REST OKV à l'aide de l'interface de ligne de commande REST OKV.

      Entrez le mot de passe REST OKV cible lorsque vous y êtes invité.

      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/bin/okv admin client-wallet add --client-wallet /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet --wallet-user <target_okv_rest_user>
      /var/opt/oracle/dbaas_acfs/newdb1/okv_rest_cli/logs/okvrest.log.lck
      Password:
      {
        "result" : "Success"
      }
      [oracle@testserver okv_rest_cli]$ ls -ltr /var/opt/oracle/dbaas_acfs/newdb1/okv_rest_cli/client_wallet
      total 8
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 ewallet.p12.lck
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 cwallet.sso.lck
      -rw------- 1 oracle oinstall  976 Jun 16 01:29 ewallet.p12
      -rw------- 1 oracle oinstall 1021 Jun 16 01:29 cwallet.sso
      [oracle@testserver okv_rest_cli]$
  12. Chargez le portefeuille de base de données enfichable source créé à l'étape #6 et copié dans la machine virtuelle de grappe cible à l'étape #9.
    1. Décompressez le portefeuille de la base de données enfichable source.
      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /home/oracle/
      [oracle@testserver ~]$ unzip <source_pdb_wallet_dir>.zip 
      Archive:  nfsa_1672104454_NFSPDB_wallet.zip
         creating: <source_pdb_wallet_dir>/
       extracting: <source_pdb_wallet_dir>/ewallet.p12  
      [oracle@testserver ~]$
    2. Obtenez le nom du portefeuille OKV de la base de données cible dans le format EXA_DB_NAME_DBID_WL.

      Par exemple, le nom du portefeuille serait EXA_NEWDB1_37508325141_WL.

      [root@testserver newdb1]# su oracle
      [oracle@testserver newdb1]$ source ~/<target_db_name>.env
      [oracle@testserver newdb1]$ sqlplus / as sysdba 
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 20 21:26:54 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
       
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> select name,db_unique_name,dbid from v$database; 
       
      NAME      DB_UNIQUE_NAME               DBID
      --------- ------------------------------ ----------
      NEWDB1      newdb1_uniq             3750832514
       
      SQL> select value from v$parameter where name='instance_name';
       
      VALUE
      --------------------------------------------------------------------------------
      newdb11
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver newdb1]$
    3. Chargez le portefeuille de la base de données enfichable source dans le portefeuille OKV cible à l'aide de okvutil.

      Entrez le mot de passe pour le portefeuille de la base de données enfichable source à l'invite. Utilisez le même mot de passe que le mot de passe du point d'extrémité source.

      Entrez également le mot de passe du point d'extrémité cible lorsque vous y êtes invité.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ source ~/<target_db_name>.env
      [oracle@testserver oracle]$ $OKV_HOME/bin/okvutil upload -t WALLET -l /home/oracle/<source_pdb_wallet_dir> -g <TARGET_OKV_WALLET>
      Enter source wallet password: 
      Enter Oracle Key Vault endpoint password: 
      WARNING: Object ORACLE.SECURITY.ID.ENCRYPTION. already exists; use -o to overwrite
      Upload succeeded
      [oracle@testserver oracle]$
  13. Copiez la PDB.
    1. Exécutez dbaascli pour cloner la base de données enfichable.
      [root@testserver oracle]# dbaascli pdb remoteClone --pdbName <source_pdb_name> --dbName <target_db_name> --sourceDBConnectionString <source_db_connection_string> --targetPDBName <target_pdb_name> 
      DBAAS CLI version 23.2.1.0.0
      Executing command pdb remoteClone --pdbName <source_pdb_name> --dbName <target_db_name> --sourceDBConnectionString scaqar06dvclu01-scan1.us.oracle.com:1521/<source_db_unique_name>.us.oracle.com --targetPDBName <target_pdb_name>
      Job id: 7d4f638a-1f3a-4219-a05a-0215588dcae8
      Session log: /var/opt/oracle/log/alyokv1/pdb/remoteClone/dbaastools_2023-06-13_01-29-09-AM_179996.log
      Enter REMOTE_DB_SYS_PASSWORD:
       
      Enter REMOTE_DB_SYS_PASSWORD (reconfirmation):
       
      Loading PILOT...
      Session ID of the current execution is: 6857
      Log file location: /var/opt/oracle/log/alyokv1/pdb/remoteClone/pilot_2023-06-13_01-29-21-AM_196991
      -----------------
      Running Plugin_initialization job
      Enter REMOTE_DB_SYS_PASSWORD
      *************
      Completed Plugin_initialization job
      -----------------
      Running Validate_input_params job
      Completed Validate_input_params job
      -----------------
      Running Perform_dbca_prechecks job
      Completed Perform_dbca_prechecks job
      -----------------
      Running PDB_creation job
      Completed PDB_creation job
      -----------------
      Running Load_pdb_details job
      Completed Load_pdb_details job
      -----------------
      Running Configure_pdb_service job
      Completed Configure_pdb_service job
      -----------------
      Running Configure_tnsnames_ora job
      Completed Configure_tnsnames_ora job
      -----------------
      Running Set_pdb_admin_user_profile job
      Completed Set_pdb_admin_user_profile job
      -----------------
      Running Lock_pdb_admin_user job
      Completed Lock_pdb_admin_user job
      -----------------
      Running Register_ocids job
      Skipping. Job is detected as not applicable.
      -----------------
      Running Prepare_blob_for_standby_in_primary job
      Skipping. Job is detected as not applicable.
      -----------------
      Running Generate_dbsystem_details job
      Completed Generate_dbsystem_details job
      dbaascli execution completed
      [root@testserver oracle]#
  14. Supprimez le portefeuille REST OKV créé à l'étape #1.
    1. Supprimez les fichiers de portefeuille dans le répertoire dbaas_acfs.
      [root@testserver oracle]# rm -f /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet/*
      [root@testserver oracle]#

Comment mettre à niveau le répertoire de base d'Oracle Key Vault (OKV) dans ExaDB-C@C

Une fois le type de chiffrement migré des clés gérées par Oracle vers des clés gérées par le client (Oracle Key Vault), le répertoire de base OKV dans DomUs conserve la même version que celle utilisée pour la migration.

Si le serveur OKV est mis à niveau, la fonctionnalité continuera de fonctionner en raison de la compatibilité descendante. Toutefois, le client peut souhaiter obtenir les nouvelles fonctionnalités des outils client. Dans ce cas, mettez à niveau le répertoire de base OKV et la bibliothèque PKCS#11.

  1. Valider la version courante du répertoire de base OKV est mineure par rapport à la version du serveur OKV.
    1. Obtenez la version du répertoire de base OKV en exécutant okvutil. Dans ce cas, la valeur est 21.6.0.0.0.
      # su oracle
      $ /u02/app/oracle/admin/<dbname>/okv_home/okv/bin/okvutil
      okvutil version 21.6.0.0.0
      Usage: okvutil <command> [-v <verbosity>] [<command args>]
        <command> := list | upload | download | sign | sign-verify | changepwd | diagnostics
      Options:
        -v, --verbose <verbosity>
          Print extra information to standard out.
          Possible verbosity values are 0, 1 and 2 (more detailed information with higher verbosity level).
      For help on a particular command, use [okvutil <command> -h].
      You have new mail in /var/spool/mail/root
    2. Obtenez la version du serveur OKV en vous connectant à la console du serveur OKV au moyen du navigateur. Dans ce cas, la version est 21.7.0.0.0.
  2. Installez le portefeuille REST OKV dans la base de données source. Cette étape doit être effectuée dans un seul noeud.
    1. S'il n'existe pas, créez le répertoire okv_rest_cli.
      # su oracle
      $ mkdir /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli
    2. Téléchargez et extrayez okvrestclipackage.zip. Si vous êtes invité à effectuer un remplacement, sélectionnez ALL.
      $ cd /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli
      $ curl -O -k https://100.75.59.249:5695/okvrestclipackage.zip
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 3865k  100 3865k    0     0  5102k      0 --:--:-- --:--:-- --:--:-- 5106k
      $ unzip -q okvrestclipackage.zip
    3. Modifiez okvrestcli.ini avec les informations suivantes.
      $ vi /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/conf/okvrestcli.ini
       
      $ cat !$
      cat /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/conf/okvrestcli.ini
      #Provide absolute path for log_property, okv_client_config properties
      [Default]
      #log_property=./conf/okvrestcli_logging.properties
      #server=[OKV IP Address]
      #okv_client_config=./conf/okvclient.ora
      #user=[OKV username]
      #password=[user password]
        
      #[Profile1]
      #server=
      #okv_client_config=
      #user=
        
      #[Profile2]
      #server=
      #okv_client_config=
      #user=
        
      server=<okv_server_ip>
      user=<okv_rest_user>
      client_wallet=/var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/client_wallet
    4. Créez le répertoire client_wallet.
      $ mkdir /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/client_wallet
    5. Créer un portefeuille REST OKV à l'aide de l'interface de ligne de commande REST OKV. Il vous demandera le mot de passe REST OKV source.
      $ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/bin/okv admin client-wallet add --client-wallet /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/client_wallet --wallet-user <okv_rest_user>
      Password:
      {
        "result" : "Success"
      }
  3. Préparez les répertoires OKV Home dans DomU 1.
    1. Renommez le répertoire de base OKV en tant que version courante du répertoire de base OKV.
      $ mv /u02/app/oracle/admin/<dbname>/okv_home/okv /u02/app/oracle/admin/<dbname>/okv_home/okv<current_okv_home_version>
    2. Créez un nouveau répertoire de base OKV en tant que version du serveur OKV.
      $ mkdir /u02/app/oracle/admin/<dbname>/okv_home/okv<okv_server_version>
    3. Créez un lien symbolique du nom OKV Home normal vers le répertoire créé à l'étape 3.b.
      $ ln -s /u02/app/oracle/admin/<dbname>/okv_home/okv<okv_server_version> /u02/app/oracle/admin/<dbname>/okv_home/okv
  4. Mettez à niveau OKV Home dans DomU 1.
    1. Obtenez le nom du point d'extrémité OKV au moyen de okvutil. Il demandera le mot de passe du point d'extrémité OKV (mot de passe TDE) L'entrée est celle appelée "Modèle".

      Notez que le nom d'hôte doit être identique au nom d'hôte DomU courant. (En général, ce nom est EXA_<DBNAME>_<resourceID>_<CURRENT_DOMU_HOST_NAME>_EP. <resourceID> peut être obtenu en listant la base de données au moyen du système dbaascli getDatabases).

      $ /u02/app/oracle/admin/<dbname>/okv_home/okv/bin/okvutil list
      Enter Oracle Key Vault endpoint password:
      Unique ID                               Type            Identifier
      DC690343-5694-4FC8-BFE4-6C7F1A550F67    Opaque Object   TDE Wallet Metadata
      9E317DDB-0542-553B-A47D-FCC31AB6DD7C    Symmetric Key   TDE Master Encryption Key: MKID AaTAGyAWyk/fv7pnl8qx4s0AAAAAAAAAAA
      D9D840AF-A60E-5850-AA86-8C9F216F5501    Symmetric Key   TDE Master Encryption Key: MKID AUP0Tq+un08Mv1+onNhT4RUAAAAAAAAAAA
      364EFC2F-1909-4F34-BF1B-90D3D03DA7EB    Private Key Private Key
      A9D0134F-C895-4F33-BF85-351B754E9FF9    Opaque Object   TDE Wallet Metadata
      E1AC8D2F-90E9-4F88-BFEE-2883FCBB7271    Opaque Object   TDE Wallet Metadata
      25B7DE14-3849-4F67-BFBE-1934BFE3559B    Opaque Object   TDE Wallet Metadata
      4ED713ED-FE2B-4F35-BF7D-BCBEA8327A0B    Symmetric Key   TDE Master Encryption Key: MKID 06EA813441C26B4F53BFD58E55C4BE90F4
      6162E200-EF0A-4F89-BF25-A8596B3AD7B0    Opaque Object   Certificate Request
      85A55486-28E5-4FFB-BF1C-B93C4C0BAD74    Secret Data Oracle Secret Data: ID HSM_PASSWORD
      67E74D97-56F6-407A-A035-009D953F907A    Template    Default template for EXA_DB1902_7274B2A2-6F71-4516-B2BB-6D67CC3824FC_SCAQAE08DV0308_EP
      E621EA72-5DD1-4F4F-BFD4-451E5B7DB8A9    Symmetric Key   TDE Master Encryption Key: MKID 0625BA455B03CD4F57BFA5D2290FD379A1
    2. Réinscrivez le point d'extrémité dans DomU 1.
      $ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/bin/okv admin endpoint re-enroll --endpoint <endpoint_name>
      {
        "result" : "Success"
      }
    3. Provisionner le point d'extrémité dans DomU 1. Il vous demandera le mot de passe du point d'extrémité OKV (mot de passe TDE).
      $ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/bin/okv admin endpoint provision --endpoint <endpoint_name> --location /u02/app/oracle/admin/<dbname>/okv_home/okv --auto-login FALSE
      Enter Oracle Key Vault endpoint password:
      {
        "result" : "Success"
      }
  5. Validation de la mise à niveau du répertoire de base OKV réussie.
    1. Valider le point d'extrémité OKV répertorie les entrées dans le portefeuille OKV. Il vous demandera le mot de passe du point d'extrémité OKV (mot de passe TDE).
      $ /u02/app/oracle/admin/db1902/okv_home/okv/bin/okvutil list
      Enter Oracle Key Vault endpoint password:
      Unique ID                               Type            Identifier
      DC690343-5694-4FC8-BFE4-6C7F1A550F67    Opaque Object   TDE Wallet Metadata
      9E317DDB-0542-553B-A47D-FCC31AB6DD7C    Symmetric Key   TDE Master Encryption Key: MKID AaTAGyAWyk/fv7pnl8qx4s0AAAAAAAAAAA
      D9D840AF-A60E-5850-AA86-8C9F216F5501    Symmetric Key   TDE Master Encryption Key: MKID AUP0Tq+un08Mv1+onNhT4RUAAAAAAAAAAA
      364EFC2F-1909-4F34-BF1B-90D3D03DA7EB    Private Key Private Key
      A9D0134F-C895-4F33-BF85-351B754E9FF9    Opaque Object   TDE Wallet Metadata
      E1AC8D2F-90E9-4F88-BFEE-2883FCBB7271    Opaque Object   TDE Wallet Metadata
      25B7DE14-3849-4F67-BFBE-1934BFE3559B    Opaque Object   TDE Wallet Metadata
      4ED713ED-FE2B-4F35-BF7D-BCBEA8327A0B    Symmetric Key   TDE Master Encryption Key: MKID 06EA813441C26B4F53BFD58E55C4BE90F4
      6162E200-EF0A-4F89-BF25-A8596B3AD7B0    Opaque Object   Certificate Request
      85A55486-28E5-4FFB-BF1C-B93C4C0BAD74    Secret Data Oracle Secret Data: ID HSM_PASSWORD
      67E74D97-56F6-407A-A035-009D953F907A    Template    Default template for EXA_DB1902_7274B2A2-6F71-4516-B2BB-6D67CC3824FC_SCAQAE08DV0308_EP
      E621EA72-5DD1-4F4F-BFD4-451E5B7DB8A9    Symmetric Key   TDE Master Encryption Key: MKID 0625BA455B03CD4F57BFA5D2290FD379A1
      You have new mail in /var/spool/mail/root
    2. Obtenez la version du répertoire de base OKV en exécutant okvutil. La version doit être identique à celle du serveur OKV. Dans ce cas, la valeur doit être 21.7.0.0.0.
      # su oracle
       
      $ /u02/app/oracle/admin/<dbname>/okv_home/okv/bin/okvutil
      okvutil version 21.7.0.0.0
      Usage: okvutil <command> [-v <verbosity>] [<command args>]
        <command> := list | upload | download | sign | sign-verify | changepwd | diagnostics
      Options:
        -v, --verbose <verbosity>
          Print extra information to standard out.
          Possible verbosity values are 0, 1 and 2 (more detailed information with higher verbosity level).
      For help on a particular command, use [okvutil <command> -h].
      You have new mail in /var/spool/mail/root
  6. Répétez les étapes 3 à 5 dans le reste de DomUs.
  7. Répétez les étapes 1 à 6 pour toute autre base de données qui doit mettre à niveau son répertoire de base OKV.
  8. Arrêtez les instances DomU 1 de toutes les bases de données avec le chiffrement transparent des données basé sur OKV. Cela peut être fait au moyen de la console, de la commande srvctl ou de SQL* Plus.
  9. Exécutez root.sh à partir du répertoire de base OKV sélectionné. Il devrait généralement être celui avec la nouvelle version OKV. Il vous invite à remplacer la bibliothèque PKCS11. YES doit être sélectionné.
    # /u02/app/oracle/admin/<dbname>/okv_home/okv/bin/root.sh
  10. Démarrez les instances DomU 1 de toutes les bases de données avec le chiffrement transparent des données basé sur OKV. Cela peut être fait au moyen de la console, de la commande srvctl ou de SQL* Plus.
  11. Répétez les étapes 8 à 10 dans le reste de DomUs.