Gestion des clés de cryptage sur les périphériques externes

Découvrez comment stocker et gérer des clés de cryptage de base de données.

Il existe deux façons de stocker et de gérer les clés de cryptage de vos bases de données sur Oracle Exadata Database Service on Cloud@Customer :

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

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

Les clés gérées par le client pour Oracle Exadata Database Service on Cloud@Customer sont une fonctionnalité qui vous permet de migrer la clé de cryptage maître TDE 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 à tolérance de panne, hautement disponible et évolutive pour vos bases de données ExaDB-C@C cryptées. Utilisez des clés gérées par le client lorsque vous avez besoin de contrôler la sécurité, de satisfaire à des exigences réglementaires et de crypter les données de façon homogène, tout en centralisant la gestion, le stockage et la surveillance du cycle de vie des clés utilisées pour protéger vos données.

Vous pouvez :

  • Passer de clés gérées par Oracle à des clés gérées par le client sur des bases de données pour lesquelles Oracle Data Guard n'est pas activé.
  • Effectuer une rotation de vos clés pour gérer la conformité en matière de sécurité.
  • La rotation de la clé de base de données pluggable est également prise en charge. Les opérations de rotation de clé de base de données Conteneur et de base de données pluggable ne sont autorisées que si la base de données est gérée par le client.

Exigences

A propos d'Oracle Key Vault

Oracle Key Vault est une appliance logicielle de pile complète sécurisée conçue pour centraliser la gestion des clés et des objets de sécurité au sein de l'entreprise.

Remarque

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

Présentation du fichier de clés

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

L'intégration d'Oracle Key Vault vous permet de disposer d'un contrôle total sur vos clés de cryptage et de les stocker en toute sécurité sur un périphérique de gestion de clés centralisé externe.

OKV est optimisé pour les portefeuilles Oracle, les fichiers de clés Java et les clés maître de cryptage transparent des données (TDE) d'Oracle Advanced Security. Oracle Key Vault prend en charge la norme OASIS KMIP. Cette appliance logicielle de pile complète sécurisée utilise les technologies Oracle Linux et Oracle Database pour la sécurité, la disponibilité et l'évolutivité, et peut être déployée sur le matériel compatible de votre choix.

OKV fournit également une interface REST permettant aux clients d'inscrire automatiquement les adresses, ainsi que de configurer les portefeuilles et les clés. Pour que les bases de données autonomes sur Exadata Cloud@Customer se connectent à l'interface REST OKV, créez un fichier de clés dans votre location afin de stocker l'adresse IP et les informations d'identification d'administrateur de l'appliance OKV. Exadata Cloud@Customer stocke temporairement le mot de passe de l'administrateur utilisateur REST OKV requis pour se connecter à l'appliance OKV dans un fichier de portefeuille protégé par mot de passe afin que le logiciel en cours d'exécution sur la machine virtuelle client puisse se connecter au serveur OKV. Après la migration des clés TDE vers OKV, le logiciel d'automatisation cloud enlèvera le mot de passe du fichier de portefeuille. Veillez à créer une clé secrète avec le service Vault d'Oracle, qui stockera le mot de passe requis afin que les bases de données autonomes se connectent à OKV pour la gestion des clés.

Pour plus d'informations, reportez-vous à Oracle Key Vault.

Stratégie IAM requise pour la gestion d'OKV sur Oracle Exadata Database Service on Cloud@Customer

Consultez la stratégie IAM (Identity Access Management) de gestion d'OKV sur les systèmes Oracle Exadata Database Service on Cloud@Customer.

Une stratégie est un document IAM indiquant qui dispose de quel type d'accès à vos ressources. Le mot "stratégie" est utilisé de différentes manières : pour représenter une instruction individuelle écrite dans le langage de la stratégie, pour désigner un ensemble d'instructions dans un document unique nommé "policy" (auquel est affecté un OCID [ID Oracle Cloud]) et pour désigner le corps global des stratégies utilisées par l'organisation en vue de contrôler l'accès aux ressources.

Un compartiment est un ensemble de ressources liées dont l'accès est restreint à certains groupes possédant des droits d'accès accordés par un administrateur au sein de l'organisation.

Pour utiliser Oracle Cloud Infrastructure, vous devez disposer du type d'accès requis dans une stratégie écrite par un administrateur, que vous utilisiez la console ou l'API REST avec un kit de développement logiciel (SDK), une interface de ligne de commande (CLI) ou un autre outil. Si vous essayez d'effectuer une action et qu'un message indique que vous n'y êtes pas autorisé, vérifiez auprès de l'administrateur le type d'accès qui vous a été accordé et le compartiment dans lequel vous devez travailler.

Pour les administrateurs : la stratégie dans "Autoriser les administrateurs de base de données à gérer des systèmes de base de données" permet au groupe spécifié d'effectuer toutes les opérations relatives aux bases de données et aux ressources de base de données associées.

Si vous ne connaissez pas les stratégies, reportez-vous à Introduction aux stratégies et à Stratégies courantes. Si vous voulez en savoir plus sur l'écriture des stratégies relatives aux bases de données, reportez-vous à Détails du service Database.

Balisage des ressources

Vous pouvez appliquer des balises aux ressources pour mieux les organiser en fonction des besoins de votre entreprise.

Vous pouvez appliquer des balises lors de la création d'une ressource ou mettre à jour la ressource ultérieurement avec les balises souhaitées. Pour obtenir des informations générales sur l'application de balises, reportez-vous à Balises de ressource.

Déplacement de ressources vers un autre compartiment

Vous pouvez déplacer des ressources de coffre, de clé secrète et de fichier de clés OKV d'un compartiment vers un autre.

Une fois que vous avez déplacé une ressource OCI vers un nouveau compartiment, les stratégies inhérentes s'appliquent immédiatement et affectent l'accès à la ressource. Le déplacement d'une ressource de coffre OKV n'affecte pas l'accès aux clés de coffre OKV ou aux clés secrètes de coffre OKV contenues dans le coffre OKV. Vous pouvez déplacer des clés de coffre OKV ou des clés secrètes de coffre OKV d'un compartiment à un autre indépendamment du déplacement du coffre OKV auquel il est associé. Pour plus d'informations, reportez-vous à Gestion des compartiments.

Configuration d'Oracle Exadata Database Service on Cloud@Customer pour une utilisation avec Oracle Key Vault

Prérequis
  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 la sortie sur le réseau client pour le logiciel client OKV et l'instance de base de données Oracle afin d'accéder au serveur OKV.
  2. Assurez-vous que l'interface REST est activée à partir de l'interface utilisateur OKV.
  3. Créez l'utilisateur "Administrateur REST OKV".

    Vous pouvez utiliser n'importe quel nom utilisateur qualifié de votre choix, par exemple : "okv_rest_user". Pour ADB-C@C et ExaDB-C@C, utilisez des utilisateurs REST identiques ou différents. Ces bases de données peuvent être gérées par clé dans des clusters OKV sur site identiques ou différents. ExaDB-C@C a besoin d'un utilisateur REST avec le privilège create endpoint. ADB-C@C a besoin d'un utilisateur REST disposant des privilèges create endpoint et create endpoint group.

  4. Collectez l'adresse IP et les informations d'identification de l'administrateur OKV, requises pour la connexion à OKV.

Pour plus d'informations, reportez-vous à Exigences en matière de port réseau, à Gestion des utilisateurs Oracle Key Vault et à Gestion des rôles d'administration et des privilèges utilisateur.

Etape 1 : créez un coffre dans le service de coffre OKV et ajoutez une clé secrète au coffre pour stocker le mot de passe de l'administrateur REST OKV

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

Ces informations d'identification sont stockées de manière sécurisée dans le service Oracle Vault d'OCI sous la forme d'une clé secrète. Votre infrastructure Exadata Cloud@Customer y accède uniquement si cela est nécessaire. Si nécessaire, les informations d'identification sont stockées dans un fichier de portefeuille protégé par mot de passe.

Pour stocker le mot de passe de l'administrateur OKV dans le service OKV Vault, créez un coffre en suivant les instructions décrites dans Gestion des coffres, puis une clé secrète dans ce coffre en suivant les instructions décrites dans Gestion des clés secrètes.

Etape 2 : création d'un groupe dynamique et d'une instruction de stratégie pour que le fichier de clés puisse accéder à la clé secrète dans OKV Vault

Afin d'autoriser vos ressources de fichier de clés à accéder à la clé secrète dans le coffre OKV, créez un groupe dynamique IAM identifiant ces ressources, puis une stratégie IAM accordant à ce groupe dynamique l'accès à la clé secrète créée dans les coffres et les clés secrètes OKV.

Lors de la définition du groupe dynamique, indiquez l'OCID du compartiment contenant le fichier de clés pour identifier vos ressources de fichier de clés.

  1. Copiez l'OCID du compartiment contenant la ressource de fichier de clés.

    Vous pouvez trouver cet OCID sur la page Détails du compartiment correspondant au compartiment.

  2. Créez un groupe dynamique en suivant les instructions données dans Procédure de création d'un groupe dynamique dans la documentation Oracle Cloud Infrastructure. Lors du suivi de ces instructions, entrez une règle de mise en correspondance au format suivant :
    ALL {resource.compartment.id ='<compartment-ocid>'}

    <compartment-ocid> est l'OCID du compartiment contenant la ressource de fichier de clés.

  3. Après avoir créé le groupe dynamique, accédez à (ou créez) une stratégie IAM dans un compartiment situé plus haut dans la hiérarchie que celui contenant vos coffres et clés secrètes. Ajoutez ensuite une instruction de stratégie au format suivant :
    allow dynamic-group <dynamic-group> to use secret-family in compartment <vaults-and-secrets-compartment>

    <dynamic-group> est le nom du groupe dynamique que vous avez créé et <vaults-and-secrets-compartment> celui du compartiment dans lequel vous avez créé les coffres et les clés secrètes.

Etape 3 : création d'un groupe dynamique et d'une instruction de stratégie pour que l'infrastructure Exadata puisse accéder au fichier de clés

Afin d'autoriser vos ressources d'infrastructure Exadata à accéder au fichier de clés, créez un groupe dynamique IAM identifiant ces ressources, puis une stratégie IAM accordant à ce groupe dynamique l'accès au fichier de clés créé.

Lors de la définition du groupe dynamique, indiquez l'OCID du compartiment contenant l'infrastructure Exadata pour identifier vos ressources d'infrastructure Exadata.

  1. Copiez l'OCID du compartiment contenant la ressource d'infrastructure Exadata.
    Vous pouvez trouver cet OCID sur la page Détails du compartiment correspondant au compartiment.
  2. Créez un groupe dynamique en suivant les instructions données dans Procédure de création d'un groupe dynamique dans la documentation Oracle Cloud Infrastructure. Lors du suivi de ces instructions, entrez une règle de mise en correspondance au format suivant :
    ALL {resource.compartment.id ='<compartment-ocid>'}

    <compartment-ocid> est l'OCID du compartiment contenant la ressource d'infrastructure Exadata.

  3. Après avoir créé le groupe dynamique, accédez à (ou créez) une stratégie IAM dans un compartiment situé plus haut dans la hiérarchie que celui contenant votre fichier de clés. Ajoutez ensuite une instruction de stratégie au format suivant :
    Allow dynamic-group <dynamic-group> to use keystores in compartment <key-store-compartment>

    <dynamic-group> est le nom du groupe dynamique que vous avez créé et <key-store-compartment> celui du compartiment dans lequel vous avez créé le fichier de clés.

Etape 4 : création d'une instruction de stratégie pour que le service de base de données puisse utiliser la clé secrète du service Vault OKV

Afin d'autoriser le service de base de données Exadata à utiliser la clé secrète d'OKV Vault pour se connecter à l'interface REST OKV, accédez à (ou créez) une stratégie IAM dans un compartiment situé plus haut que celui contenant vos coffres et clés secrètes OKV. Ajoutez ensuite une instruction de stratégie au format suivant :
allow service database to read secret-family in compartment <vaults-and-secrets-compartment>

<vaults-and-secrets-compartment> est le nom du compartiment dans lequel vous avez créé les coffres et les clés secrètes OKV.

Une fois le coffre OKV configuré et la configuration IAM en place, vous êtes prêt à déployer le fichier de clés Oracle Key Vault dans OCI et à l'associer au cluster de machines virtuelles Exadata Cloud@Customer.

Etape 5 : création d'un fichier de clés

Suivez ces étapes pour créer un fichier de clés afin de vous connecter à une appliance de clé de cryptage sur site telle qu'Oracle Key Vault (OKV).

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

    La page Fichiers de clés affiche la liste des noms des fichiers de clés, le nombre de bases de données associées à chaque base de données et la date de création de chaque fichier de clés.

  4. Cliquez sur Créer un fichier de clés.
  5. Dans la boîte de dialogue Créer un fichier de clés, entrez les informations générales suivantes :
    • Nommer le fichier de clés : description conviviale ou autres informations permettant d'identifier facilement la ressource de fichier de clés. Evitez de saisir des informations confidentielles.
    • Paramètres de connexion Oracle Key Vault
      • Adresses IP de connexion : entrez au moins une adresse IP de noeud de cluster OKV ; plusieurs adresses IP séparées par des virgules (du même cluster OKV) sont possibles, par exemple, 193.10.20.1, 193.10.20.2.
      • Nom utilisateur de l'administrateur : entrez le nom utilisateur de okv_rest_user.
      • Clé secrète de mot de passe administrateur : le mot de passe d'administrateur est stocké avec le service de gestion des clés secrètes dans OCI. Sélectionnez dans votre location le coffre OKV qui contient le mot de passe okv_rest_user stocké en tant que clé secrète.
    • Balises : vous pouvez éventuellement appliquer des balises. Si vous êtes autorisé à créer une ressource, vous disposez également des droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise définie, vous devez être autorisé à utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain de devoir appliquer des balises, ignorez cette option (vous pouvez les appliquer ultérieurement) ou demandez à l'administrateur. Evitez de saisir des informations confidentielles.
  6. Cliquez sur Créer.
  7. Assurez-vous d'utiliser les mêmes informations d'identification d'utilisateur "okv_rest_user" lors du provisionnement d'Autonomous Database.

    Pour plus d'informations, reportez-vous à Gestion des coffres, Gestion des clés et Gestion des clés secrètes.

Gestion de votre fichier de clés

Visualisation des détails du fichier de clés

Suivez ces étapes pour visualiser les détails du fichier de clés, qui incluent 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 Oracle Exadata Database Service on Cloud@Customer.
  2. Choisissez votre compartiment.
  3. Cliquez sur Fichiers de clés.

    La page Fichiers de clés affiche le nom de la liste des fichiers de clés, le nombre de bases de données associées à chaque base de données et la date de création de chaque fichier de clés.

  4. Cliquez sur le nom du fichier de clés ou sur l'icône Actions (trois points), puis sur Voir les détails.
  5. Cliquez sur le lien dans le champ Clé secrète de mot de passe administrateur pour afficher 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 fichier de clés.

Modification des détails du fichier de clés

Vous ne pouvez modifier un fichier 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 Oracle Exadata Database Service on Cloud@Customer.
  2. Choisissez votre compartiment.
  3. Cliquez sur Fichiers de clés.
  4. Cliquez sur le nom du fichier de clés ou sur l'icône Actions (trois points), puis sur Voir les détails.
  5. Sur la page Détails du fichier de clés, cliquez sur Modifier.
  6. Sur la page Modifier le fichier de clés, apportez les modifications nécessaires, puis cliquez sur Enregistrer les modifications.

Déplacement d'un fichier de clés vers un autre compartiment

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

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

    (ou)

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

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

Suppression d'un fichier de clés

Vous ne pouvez supprimer un fichier 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 Oracle Exadata Database Service on Cloud@Customer.
  2. Choisissez votre compartiment.
  3. Cliquez sur Fichiers de clés.
  4. Cliquez sur le nom du fichier de clés, sur Actions, puis sélectionnez Supprimer.

    (ou)

    Cliquez sur l'icône Actions (trois points) correspondant au fichier de clés à supprimer, puis sur Supprimer.

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

Visualiser les détails de la base de données Conteneur associée au fichier de clés

Pour afficher les détails de la base de données Conteneur associée à un fichier de clés, procédez comme suit :

  1. Ouvrez le menu de navigation. Sous Oracle Database, cliquez sur Oracle Exadata Database Service on Cloud@Customer.
  2. Choisissez votre compartiment.
  3. Cliquez sur Fichiers de clés.
  4. Sur la page Fichiers de clés qui s'affiche, cliquez sur le nom du fichier de clés ou sur l'icône Actions (trois points), puis 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 sur Voir les détails.

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

Découvrez comment utiliser l'API pour gérer le fichier de clés.

Pour plus d'informations sur l'utilisation de l'API et la signature des demandes, reportez-vous à API REST et à Informations d'identification de sécurité. Pour plus d'informations sur les kits SDK, reportez-vous à Kits SDK et interface de ligne de commande.

Le tableau suivant répertorie les adresses d'API REST permettant de gérer un fichier de clés.

Opération Adresse d'API REST

Création d'un fichier de clés OKV

CreateKeyStore

Affichage du fichier de clés OKV

GetKeyStore

Mise à jour du fichier de clés OKV

UpdateKeyStore

Suppression du fichier de clés OKV

DeleteKeyStore

Modification du compartiment du fichier de clés

ChangeKeyStoreCompartment

Choix entre le cryptage géré par le client et le cryptage géré par Oracle

CreateDatabase

Obtention du fichier de clés (OKV ou géré par Oracle) et du nom du portefeuille OKV

GetDatabase

Modifier le type de fichier de clés

changeKeyStoreType

Rotation de la clé OKV et gérée par Oracle

RotateVaultKey

Administrer les clés TDE (Transparent Data Encryption)

Cette procédure permet de 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.

Remarque

  • 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 de l'arrêt suivie d'un redémarrage. Prévoyez d'effectuer la migration dans une fenêtre de maintenance planifiée.
  • Vous devez effectuer la rotation des clés TDE uniquement via les interfaces OCI (console, API).
  • Vous ne pouvez pas faire pivoter une clé de cryptage :
    • lorsqu'une restauration de base de données est en cours dans un répertoire de base Oracle donné.
    • lorsqu'une application de patches à une base de données ou à un répertoire de base de base de données est en cours.
  1. Ouvrez le menu de navigation. Cliquez sur Oracle Database, puis sur Exadata Database Service on Cloud@Customer.
  2. Choisissez votre compartiment dans la liste déroulante Compartiment.
  3. Accédez au cluster de machines virtuelles qui contient la base de données pour laquelle vous voulez modifier la gestion du cryptage ou effectuer la rotation d'une clé.
    1. Sous Exadata Database Service on Cloud@Customer Infrastructure, cliquez sur Clusters de machines virtuelles Exadata.
    2. Dans la liste des clusters de machines virtuelles, localisez celui auquel accéder, puis cliquez sur son nom mis en évidence pour afficher la page de détails correspondante.
  4. Dans la section Bases de données, cliquez sur le nom de la base de données pour laquelle vous voulez modifier la gestion du cryptage ou effectuer la rotation d'une clé afin d'afficher sa page de détails.
  5. Accédez à la section Cryptage de la page de 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 en tant qu'Oracle Key Vault.

        Vous devez disposer d'une clé de cryptage valide dans le service Oracle Key Vault et renseigner les informations nécessaires dans les étapes suivantes. Pour plus d'informations, reportez-vous à la section Concepts de gestion des clés et des clé secrètes.

      3. Choisir une zone.
      4. Choisir un compartiment.

        Vous pouvez modifier le compartiment en cliquant sur le lien Modifier le compartiment.

      5. Cliquez sur Enregistrer les modifications.
    • Pour effectuer la rotation d'une clé en mode cryptage :

      Si vous avez configuré Oracle Key Vault en tant que gestion des clés, le système affiche l'option Faire pivoter pour effectuer la rotation de la clé de cryptage.

      1. Cliquez sur Faire pivoter.
      2. Dans la boîte de dialogue Rotation de la touche qui s'affiche, cliquez sur Rotation.
Remarque

  • La migration des clés TDE vers Oracle Key Vault (OKV) nécessite 10 minutes d'inactivité. Pendant la migration, l'état de la base de données est UPDATING et les connexions peuvent échouer en raison de plusieurs redémarrages de base de données pour activer OKV. Les applications peuvent reprendre leurs opérations une fois la migration terminée et lorsque la base de données reprend son état ACTIVE d'origine.
  • Le mot de passe du fichier de clés OKV sera défini sur le mot de passe du portefeuille TDE.

Attention :

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

Sur la page de détails de la base de données, la section Cryptage affiche le nom et l'OCID de la clé de cryptage.

Clonage manuel d'une base de données pluggable à partir d'une base de données Conteneur distante lorsque les données sont cryptées à l'aide de la clé de cryptage maître dans Oracle Key Vault (OKV)

L'outil dbaascli vous permet de cloner des bases de données pluggables lorsque la base de données Conteneur source et la base de données Conteneur cible sont identiques (clone local) ou différentes (clone distant). Toutefois, vous ne pouvez pas cloner une base de données pluggable distante si les données sont cryptées avec une clé MEK dans OKV.

Remarque

Pour déchiffrer/crypter les données lors d'un clone distant, la base de données Conteneur doit avoir accès à la clé MEK. La clé MEK 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 cryptées avec MEK sur le même serveur OKV

  1. Obtenez l'ID d'objet OKV de la base de données pluggable source.
    1. Obtenez la dernière clé de cryptage de la base de données pluggable 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 d'objet OKV (uuid) du MEK le plus récent obtenu à l'étape ci-dessus.

      Entrez le mot de passe de l'adresse 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éez un portefeuille REST OKV à l'aide de l'interface de ligne de commande REST OKV.

      Entrez le mot de passe REST OKV source à l'invite.

      [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 portefeuille OKV pour stocker uniquement la clé MEK de base de données pluggable obtenue à l'étape 1.
    1. Obtenez le nom du portefeuille OKV à partir de la base de données pluggable source au format EXA_DB_NAME_DBID_PDB_NAME_WL.

      Par exemple, le nom du portefeuille est 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 des droits d'accès Lecture et modification et Gérer le portefeuille à partir des adresses OKV de la base de données source vers le portefeuille OKV créé à l'étape 3.
    1. Obtenez les noms d'adresse à partir de la base de données source. Un par machine virtuelle.

      En général, la structure est au format EXA_DB_UNIQUE_NAME_DBID_SID_EP.

      Par exemple, le nom d'adresse 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 des 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 pluggable 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 de l'adresse OKV source à l'invite.

      [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 lorsque vous êtes invité à le remplacer.

      [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éez un portefeuille REST OKV à l'aide de l'interface de ligne de commande REST OKV.

      Entrez le mot de passe REST OKV cible à l'invite.

      [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 droits d'accès Lecture seule et Gérer le portefeuille des adresses OKV de base de données cible au portefeuille OKV de base de données pluggable source créé à l'étape 3.
    1. Obtenez les noms d'adresse à partir de la base de données cible. Un par machine virtuelle.

      En général, la structure est au format EXA_DB_UNIQUE_NAME_DBID_SID_EP.

      Par exemple, le nom d'adresse 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 droits d'accès 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. Clonez la PDB.
    1. Exécutez dbaascli pour cloner la base de données pluggable.

      Entrez le mot de passe de l'utilisateur SYS de la base de données 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 base de données pluggable 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. Supprimez le portefeuille REST OKV créé à l'étape 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 cryptées avec MEK sur un autre serveur OKV

  1. Obtenez l'ID d'objet OKV de la base de données pluggable source.
    1. Obtenez la dernière clé de cryptage de la base de données pluggable 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 d'objet OKV (uuid) du MEK le plus récent obtenu à l'étape ci-dessus.

      Entrez le mot de passe de l'adresse 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éez un portefeuille REST OKV à l'aide de l'interface de ligne de commande REST OKV.

      Entrez le mot de passe REST OKV source à l'invite.

      [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 portefeuille OKV pour stocker uniquement la clé MEK de base de données pluggable 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 des droits d'accès Lecture et modification et Gérer le portefeuille à partir des adresses OKV de la base de données source vers le portefeuille OKV créé à l'étape 3.
    1. Obtenez les noms d'adresse à partir de la base de données source. Un par machine virtuelle.

      En général, la structure est au format EXA_DB_UNIQUE_NAME_DBID_SID_EP.

      Par exemple, le nom d'adresse 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 droits d'accès 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 à partir de la base de données pluggable 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 de l'adresse OKV source à l'invite.

      [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 du serveur OKV vers le système de fichiers local.
    1. Créez un répertoire avec des droits d'accès pour l'utilisateur oracle.

      Ce répertoire stocke le portefeuille qui contiendra uniquement la clé MEK de la base de données pluggable 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 invite deux fois à saisir un mot de passe pour crypter le portefeuille local. Utilisez le même mot de passe que le mot de passe de l'adresse source. Entrez également le mot de passe de l'adresse 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. Compressez 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 base de données pluggable 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 base de données pluggable source téléchargé vers le système de fichiers focal à l'étape 6 vers la machine virtuelle de cluster cible.
  10. Supprimez le portefeuille de base de données pluggable 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 de 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 lorsque vous êtes invité à le remplacer.

      [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éez un portefeuille REST OKV à l'aide de l'interface de ligne de commande REST OKV.

      Entrez le mot de passe REST OKV cible à l'invite.

      [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. Téléchargez le portefeuille de base de données pluggable source créé à l'étape 6 et copié vers la machine virtuelle de cluster cible à l'étape 9.
    1. Décompressez le portefeuille de base de données pluggable 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 à partir de la base de données cible au format EXA_DB_NAME_DBID_WL.

      Par exemple, le nom du portefeuille est 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. Téléchargez le portefeuille de base de données pluggable source vers le portefeuille OKV cible à l'aide de okvutil.

      Entrez le mot de passe du portefeuille de base de données pluggable source à l'invite. Utilisez le même mot de passe que le mot de passe de l'adresse source.

      Entrez également le mot de passe de l'adresse 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. Clonez la PDB.
    1. Exécutez dbaascli pour cloner la base de données pluggable.
      [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]#

Mise à niveau du répertoire de base Oracle Key Vault (OKV) dans ExaDB-C@C

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

Si le serveur OKV est mis à niveau, la fonctionnalité continue de fonctionner en raison de la compatibilité ascendante. Cependant, le client peut vouloir obtenir les nouvelles fonctionnalités pour les outils client. Dans ce cas, mettez à niveau le répertoire de base OKV et la bibliothèque PKCS#11.

  1. Vérifiez que la version actuelle 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 le cas présent, 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 via le 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é à le remplacer, 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éez un portefeuille REST OKV à l'aide de la CLI REST OKV. Il vous invite à saisir 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 personnels OKV dans DomU 1.
    1. Renommez le répertoire de base OKV en tant que version actuelle 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 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 de répertoire de base OKV standard 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 le répertoire de base OKV dans DomU 1.
    1. Obtenez le nom de l'adresse OKV via okvutil. Il vous invite à saisir le mot de passe de l'adresse 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 en cours. (En général, ce nom est EXA_<DBNAME>_<resourceID>_<CURRENT_DOMU_HOST_NAME>_EP. <resourceID> peut être obtenu en répertoriant la base de données via le 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. Inscrivez à nouveau l'adresse 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 l'adresse dans DomU 1. Il vous invite à saisir le mot de passe de l'adresse 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. Vérifiez que la mise à niveau du répertoire de base OKV a été effectuée.
    1. Validez que l'adresse OKV répertorie les entrées du portefeuille OKV. Il vous invite à saisir le mot de passe de l'adresse 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 cryptage transparent des données basé sur OKV. Pour ce faire, utilisez la console, la commande srvctl ou 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 version OKV plus récente. Elle 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 cryptage transparent des données basé sur OKV. Pour ce faire, utilisez la console, la commande srvctl ou SQL* Plus.
  11. Répétez les étapes 8 à 10 dans le reste de DomUs.