Test des charges de travail à l'aide d'Oracle Real Application Testing

Oracle Real Application Testing est une solution proactive de gestion des performances extrêmement rentable et facile à utiliser qui vous permet d'évaluer entièrement le résultat d'un changement de système en test ou en production.

Oracle Real Application Testing - A propos

Vous pouvez utiliser Oracle Real Application Testing pour capturer une charge globale sur un système d'origine et pour la réexécuter sur un système test avec les caractéristiques de transaction, d'accès simultané et d'accès exactes de la charge globale d'origine.

Oracle Real Application Testing fournit une méthode précise pour tester l'impact de diverses modifications du système et vous permet d'effectuer les tâches suivantes :

  • Vous pouvez tester les effets d'une modification du système sur une charge globale sans affecter le système de production.

  • Vous pouvez capturer une charge globale sur un système de production et simuler la même charge globale sur un système de test.

Vous pouvez utiliser Oracle Database Replay pour capturer une charge globale à partir d'une instance Autonomous Database ou d'une base de données sur site ou de toute autre base de données de service cloud, et réexécuter la charge globale sur Autonomous Database. Vous pouvez ainsi comparer l'exécution d'une charge globale sur une instance Autonomous Database avec une autre instance Autonomous Database, une base de données sur site ou une autre base de données de service cloud.

Real Application Testing vous permet d'effectuer l'une des actions Capture-Replay suivantes :

Option de réexécution de capture Description

Charges de travail Capture-Replay entre bases de données autonomes.

Pour plus d'informations, reportez-vous à Charges de travail Capture-Replay entre bases de données autonomes.

Capturez la charge globale à partir d'Autonomous Database Oracle Database 19c et réexécutez sur Autonomous Database avec Oracle Database 23ai

Cette fonction Capture-Replay vous permet de capturer une charge globale sur une instance Autonomous Database avec Oracle Database 19c et de la réexécuter sur une instance Autonomous Database avec Oracle Database 23ai.

Pour plus d'informations, reportez-vous à Test des charges globales 19c sur un clone actualisable 23ai avec Capture-Replay.

Capturez une charge globale à partir d'une base de données non Autonomous Database et réexécutez sur Autonomous Database.

Pour plus d'informations, reportez-vous à Charges de travail Capture-Replay entre bases de données non autonomes et autonomes.

Capturez une charge globale à partir d'une instance Autonomous Database de production et réexécutez-la sur une instance Autonomous Database cible à un niveau de patch différent (après l'application d'un patch à l'instance Autonomous Database cible).

Pour plus d'informations, reportez-vous à Tester les charges globales par rapport à un patch à venir.

Capture-Replay Workloads entre bases de données autonomes

Vous pouvez capturer et réexécuter une instance Autonomous Database vers une autre instance Autonomous Database.

Vous pouvez ainsi comparer les charges globales entre différentes instances Autonomous Database. Ces instances Autonomous Database peuvent varier selon les niveaux de patch, les versions de base de données ou les régions.

Le workflow Capture-Replay entre bases de données autonomes comprend les étapes suivantes (vous annulez ou terminez une capture de charge globale, pas les deux) :

(Facultatif) S'abonner aux événements d'information à notifier des détails de capture et de réexécution

Abonnez-vous à com.oraclecloud.databaseservice.autonomous.database.information Evénements d'information à notifier au début et à la fin d'une capture et d'une réexécution.

Remarque

Cette étape est facultative. Vous pouvez également rechercher des informations sur le statut et l'historique d'une capture de charge globale dans les vues DBA_CAPTURE_REPLAY_STATUS et DBA_CAPTURE_REPLAY_HISTORY.

Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_STATUS View et à DBA_CAPTURE_REPLAY_HISTORY View.

Les événements d'information fournissent des notifications sur les heures de début et de fin de la capture et de la réexécution, et contiennent une URL de demande pré-authentifiée permettant d'accéder aux rapports de capture et de réexécution.

Les événements d'informations sur Autonomous Database sont les suivants :

  • WorkloadCaptureBegin : cet événement est déclenché lorsqu'une capture de charge globale est lancée.
  • WorkloadCaptureEnd : cet événement est déclenché lorsqu'une capture de charge globale se termine et génère une URL pré-authentifiée pour télécharger le fichier de capture.
  • WorkloadReplayBegin : cet événement est déclenché lorsqu'une réexécution de charge globale est lancée.
  • WorkloadReplayEnd : cet événement est déclenché lorsqu'une réexécution de charge globale se termine et génère une URL pré-authentifiée pour télécharger les rapports de réexécution.

Pour plus d'informations, reportez-vous à Evénements d'informations sur Autonomous Database.

Capture d'une charge globale sur une instance Autonomous Database

La première étape dans l'utilisation de Database Replay consiste à capturer une charge globale d'exploitation.

Remarque

Vous pouvez capturer une charge globale dans une instance Autonomous Database et la réexécuter dans une autre instance Autonomous Database. Vous pouvez réexécuter la charge globale capturée sur un clone complet ou sur un clone actualisable. Les cibles de capture et de réexécution doivent présenter un état logique cohérent. Vous devez donc provisionner un clone actualisable ou un clone complet de l'instance Autonomous Database sur laquelle capturer la charge globale.

Pour plus d'informations, reportez-vous à Clonage, déplacement ou mise à niveau d'une instance Autonomous Database.

Lorsque vous commencez la capture de la charge globale sur un système de production, toutes les demandes des clients externes dirigées vers Oracle Database sont suivies et stockées dans des fichiers binaires appelés fichiers de capture.

Une capture de charge globale entraîne la création de deux sous-répertoires, cap et capfiles, qui contiennent les fichiers de capture. Les fichiers de capture fournissent toutes les informations pertinentes sur la demande client, notamment les détails de la transaction, les valeurs attachées et le texte SQL. Les fichiers de capture sont indépendants de la plate-forme et peuvent donc être transférés sur un autre système.

Exécutez DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE pour lancer la capture de charge globale sur une instance Autonomous Database.

Pour plus d'informations, reportez-vous à Clonage, déplacement ou mise à niveau d'une instance Autonomous Database.

Pour lancer une capture de charge globale sur votre instance Autonomous Database, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

Exemple pour lancer une capture de charge globale :

BEGIN 
   DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE(
        capture_name => 'test',
        duration     => 60);
   END;
/

Cette opération démarre la capture de charge globale sur votre instance Autonomous Database.

Les paramètres sont les suivants :

  • capture_name : nom de la capture de charge globale.

  • duration : durée (en minutes) pendant laquelle vous devez capturer la charge globale. Ce paramètre est facultatif.

Pour plus d'informations, reportez-vous à Procédure START_WORKLOAD_CAPTURE.

Evénements de capture de charge globale

Vous pouvez vous abonner à l'événement Information com.oraclecloud.databaseservice.autonomous.database.information pour être averti au début de START_WORKLOAD_CAPTURE. Pour plus d'informations, reportez-vous à (Facultatif) S'abonner aux événements d'information à notifier des détails de capture et de réexécution.

Vues de capture et de réexécution de charge globale

Vous trouverez des informations sur la capture et la réexécution de la charge globale dans les vues DBA_CAPTURE_REPLAY_STATUS et DBA_CAPTURE_REPLAY_HISTORY. Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_STATUS View et à DBA_CAPTURE_REPLAY_HISTORY View.

Annulation d'une capture de charge globale sur une instance Autonomous Database

Exécutez DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE pour annuler la capture de charge globale en cours sur votre instance Autonomous Database.

Pour annuler une capture de charge globale, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

Exemple :

BEGIN
    DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE;
END;
/

La capture de charge globale en cours est annulée et une actualisation est effectuée sur le clone actualisable.

Vous pouvez interroger la vue DBA_CAPTURE_REPLAY_STATUS pour vérifier le statut d'annulation de la charge globale.

Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_STATUS View.

Pour plus d'informations, reportez-vous à Procédure CANCEL_WORKLOAD_CAPTURE.

Terminaison d'une capture de charge globale sur une instance Autonomous Database

Exécutez DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE pour effectuer une capture de charge globale sur votre instance Autonomous Database.

Exemple pour terminer une capture de charge globale sur votre instance Autonomous Database :

BEGIN
    DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE;
END;
/

Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN. Lorsque vous exécutez cette procédure, un fichier de capture de charge globale est téléchargé dans la banque d'objets sous forme de fichier ZIP.

Pour plus d'informations, reportez-vous à Procédure FINISH_WORKLOAD_CAPTURE.

Evénements de capture de charge globale

Vous pouvez vous abonner à l'événement d'information com.oraclecloud.databaseservice.autonomous.database.information pour être informé d'une capture de charge globale, qui inclut les éléments suivants :

  • Fin de FINISH_WORKLOAD_CAPTURE.

  • Champ captureDownloadURL contenant l'URL de demande pré-authentifiée permettant d'accéder à la capture et aux rapports dans la banque d'objets. La capture et les rapports sont valides pendant sept (7) jours à compter de la date de génération de l'URL de demande pré-authentifiée.

Pour plus d'informations, reportez-vous à (Facultatif) S'abonner aux événements d'information à notifier des détails de capture et de réexécution.

Vues de capture et de réexécution de charge globale

Vous pouvez interroger la vue DBA_CAPTURE_REPLAY_STATUS pour vérifier le statut d'une capture de charge globale terminée. Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_STATUS View.

Vous trouverez des informations sur la capture et la réexécution de la charge globale dans la vue DBA_CAPTURE_REPLAY_HISTORY. Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_HISTORY View.

Vous pouvez interroger les colonnes ID, NAME, START_TIME et END_TIME de la vue DBA_WORKLOAD_CAPTURES pour extraire les détails de la capture de charge globale. Pour plus d'informations, reportez-vous à DBA_WORKLOAD_CAPTURES.

Préparation d'un clone actualisable pour la réexécution de charge globale

Fournit les étapes de préparation d'un clone actualisable pour une réexécution de charge globale.

Remarque

Cette étape n'est pas applicable lorsque vous réexécutez une charge globale sur un clone complet.

Vous disposez de deux options pour préparer un clone actualisable afin de réexécuter une capture de charge globale. Vous pouvez exécuter DBMS_CLOUD_ADMIN.PREPARE_REPLAY pour préparer automatiquement un clone actualisable pour une réexécution de charge globale. Cette procédure actualise le clone actualisable à l'heure de début de la capture et déconnecte le clone actualisable. Vous pouvez également préparer manuellement un clone actualisable pour réexécuter une capture de charge globale.

Préparation automatique d'un clone actualisable pour la réexécution de charge globale

Exemple de préparation automatique d'un clone actualisable pour une réexécution de charge globale :

BEGIN
 DBMS_CLOUD_ADMIN.PREPARE_REPLAY (
    capture_name    'test'
END;
/

Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

DBMS_CLOUD_ADMIN.PREPARE_REPLAY effectue les opérations suivantes :

  • Actualise le clone actualisable avec l'horodatage de début de capture.

  • Déconnecte le clone actualisable.

A ce stade, vous pouvez éventuellement modifier le clone actualisable avant de réexécuter une capture. Par exemple, modifier les valeurs des paramètres et activer/désactiver certaines fonctionnalités pour voir l'impact sur la réexécution.

Préparation manuelle d'un clone actualisable pour la réexécution de charge globale

Ces étapes de clone actualisable manuellement ne sont pas requises lorsque vous préparez automatiquement un clone actualisable en exécutant DBMS_CLOUD_ADMIN.PREPARE_REPLAY.

Pour préparer manuellement une réexécution de charge globale, procédez comme suit :

  1. Recherchez l'horodatage de début de capture en interrogeant la vue DBA_WORKLOAD_CAPTURES. Pour plus d'informations, reportez-vous à DBA_WORKLOAD_CAPTURES.

  2. Actualisez le clone actualisable avec l'horodatage de début de capture. Pour plus d'informations, reportez-vous à Actualisation d'un clone actualisable sur Autonomous Database.

  3. Déconnectez manuellement le clone actualisable. Pour plus d'informations, reportez-vous à Déconnexion d'un clone actualisable de la base de données source.

  4. Avant de réexécuter une capture, vous pouvez éventuellement apporter des modifications au clone actualisable. Par exemple, modifier les valeurs des paramètres, activer/désactiver certaines fonctionnalités pour voir l'impact sur la réexécution.

Réexécution d'une charge globale sur une instance Autonomous Database

Une fois la capture de charge globale terminée, vous pouvez la réexécuter sur un système de test. Oracle réexécute les actions enregistrées lors de la capture de la charge globale avec la même synchronisation, la même simultanéité et les mêmes dépendances de transaction que le système de production.

Exécutez la procédure DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD pour lancer la réexécution de la charge globale sur la base de données. Vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN pour exécuter DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD.

Vous pouvez réexécuter une charge globale capturée sur un clone actualisable ou sur un clone complet de l'instance Autonomous Database à partir de laquelle la charge globale a été capturée. Les cibles de capture et de réexécution doivent présenter un état logique cohérent.

Réexécuter la charge globale sur un clone actualisable

L'exemple suivant télécharge les fichiers de capture à partir d'Object Storage, réexécute la charge globale capturée et télécharge un rapport de réexécution vers Object Storage.

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
      capture_name => 'CAP_TEST1');
END;
/

Le paramètre CAPTURE_NAME indique le nom de la capture de charge globale. Ce paramètre est obligatoire.

Réexécuter la charge globale sur un clone complet

L'exemple suivant permet de télécharger des fichiers de capture à partir d'Object Storage, de réexécuter la charge globale capturée sur le clone et de télécharger un rapport de réexécution vers Object Storage.

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
       capture_name                => 'CAP_TEST1',        
       capture_source_tenancy_ocid => 'OCID1.TENANCY.REGION1..ID1',         
       capture_source_db_name      => 'ADWFINANCE');
END;
/
Remarque

Si plusieurs captures portent le même nom, la procédure REPLAY_WORKLOAD utilise la dernière capture. Oracle recommande d'utiliser un nom de capture unique pour chaque capture afin d'éviter toute confusion quant à la capture que vous réexécutez.

Le paramètre CAPTURE_NAME indique le nom de la capture de charge globale. Ce paramètre est obligatoire.

Le paramètre CAPTURE_SOURCE_TENANCY_OCID indique l'OCID de location source de la capture de charge globale. Ce paramètre est obligatoire lors de l'exécution de la capture de charge globale dans un clone complet.

Le paramètre CAPTURE_SOURCE_DB_NAME indique le nom de la base de données source de la capture de charge globale. Ce paramètre est obligatoire lors de l'exécution de la capture de charge globale dans un clone complet.

Pour plus d'informations, reportez-vous à Procédure REPLAY_WORKLOAD.

Evénements de réexécution de charge globale

Abonnez-vous à l'événement Information com.oraclecloud.databaseservice.autonomous.database.information pour être informé des éléments suivants :

  • Début et réalisation d'un élément REPLAY_WORKLOAD.

  • Lien Banque d'objets permettant de télécharger les rapports de réexécution. L'événement fournit une URL de demande pré-authentifiée pour accéder aux rapports dans le champ replayDownloadURL. Les rapports sont valides pendant sept (7) jours à compter de la date de génération de l'URL de demande pré-authentifiée.

Pour plus d'informations, reportez-vous à Evénements d'informations sur Autonomous Database.

Vues de capture et de réexécution de charge globale

Vous pouvez interroger la vue DBA_CAPTURE_REPLAY_STATUS pour vérifier le statut de réexécution de la charge globale.

Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_STATUS View.

Vous trouverez des informations sur la capture et la réexécution de la charge globale dans la vue DBA_CAPTURE_REPLAY_HISTORY. Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_HISTORY View.

Tester les charges globales 19c sur un clone actualisable on 23ai avec Capture-Replay

Vous pouvez utiliser Oracle Real Application Testing pour capturer une charge globale à partir d'Autonomous Database sur Oracle Database 19c et la réexécuter sur un clone actualisable sur Oracle Database 23ai.

Cette option Capture-Replay est particulièrement utile lorsque vous souhaitez tester vos charges globales exécutées sur Oracle Database 19c avant la mise à niveau vers Oracle Database 23ai.

Pour réexécuter les charges globales sur une autre version de base de données, procédez comme suit :

  1. (Facultatif) S'abonner aux événements d'information à notifier des détails de capture et de réexécution

  2. Capturez vos charges de travail sur une instance Autonomous Database avec Oracle Database 19c. Pour plus d'informations, reportez-vous à Capture d'une charge globale sur une instance Autonomous Database.

  3. Exécutez DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE pour terminer la capture de la charge globale sur l'instance de base de données Oracle Database 19c sourceAutonomous.

  4. Préparez votre clone actualisable Oracle Database 23ai cible. Pour plus d'informations, reportez-vous à Préparation d'un clone actualisable pour la réexécution de charge globale.

  5. Une fois la capture de charge globale terminée et la préparation du clone actualisable de la cible Oracle Database 23ai, réexécutez la charge globale sur la cible. Pour plus d'informations, reportez-vous à Réexécution d'une charge globale sur une instance Autonomous Database.

Capture-Replay Workloads entre bases de données autonomes et non autonomes

Vous pouvez capturer et réexécuter dans une instance Autonomous Database à partir d'une instance non Autonomous Database.

Vous pouvez ainsi comparer les charges de travail entre une base de données sur site ou une autre base de données de service cloud et une instance Autonomous Database.

Sujets

Capture d'une charge globale

La première étape dans l'utilisation de la réexécution de la base de données consiste à capturer la charge globale de production.

Lorsque vous commencez la capture de la charge globale sur le système de production, toutes les demandes provenant de clients externes dirigées vers Oracle Database sont suivies et stockées dans des fichiers binaires appelés fichiers de capture.

Une capture de charge globale entraîne la création de deux sous-répertoires, cap et capfiles, qui contiennent les fichiers de capture.

Les fichiers de capture fournissent toutes les informations pertinentes sur la demande client, notamment les détails de la transaction, les valeurs attachées et le texte SQL.

Les fichiers de capture sont indépendants de la plate-forme et peuvent donc être transférés sur un autre système.

Reportez-vous à Capture de charge globale pour capturer une charge globale sur une base de données sur site.

Réexécution d'une charge globale sur une instance Autonomous Database

Une fois la capture de charge globale terminée, vous pouvez la réexécuter sur un système de test. Oracle réexécute sur le système de test les actions enregistrées lors de la capture de la charge globale, avec les mêmes dates, simultanéités et dépendances de transaction du système de production.

Exécutez DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD pour lancer la réexécution de la charge globale sur la base de données. Vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN pour exécuter REPLAY_WORKLOAD.

Exemple de réexécution d'une charge globale capturée à partir d'une base de données sur site sur une instance Autonomous Database :

BEGIN 
   DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
      location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
      credential_name => 'CRED_TEST',   
      synchronization => TRUE,
      process_capture => TRUE);    
END;
/

Les fichiers de capture contenus dans l'emplacement Object Storage indiqué dans le paramètre location_uri sont téléchargés et la capture de charge globale est réexécutée à partir des fichiers de capture. La réexécution génère et télécharge les rapports de réexécution et de référentiel AWR vers l'emplacement Object Storage indiqué dans le paramètre location_uri.

Dans cet exemple, namespace-string est l'espace de noms d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

Pour plus d'informations sur le téléchargement de fichiers vers Object Storage, reportez-vous à Téléchargement de fichiers vers le bucket de banque d'objets Oracle Cloud Infrastructure.

Pour plus d'informations sur Object Storage, reportez-vous à Accès à Oracle Cloud Infrastructure Object Storage et création d'un bucket.

Le paramètre credential_name indique les informations d'identification permettant d'accéder au bucket de stockage d'objet. Les informations d'identification que vous fournissez doivent disposer des privilèges d'écriture pour écrire dans le bucket Object Storage. Les privilèges d'écriture sont requis pour télécharger le rapport de réexécution vers le bucket.

Si vous n'indiquez pas de valeur credential_name, DEFAULT_CREDENTIAL est utilisé.

Vous n'avez pas besoin de créer d'informations d'identification pour accéder à la banque d'objets Oracle Cloud Infrastructure si vous activez les informations d'identification de principal de ressource. Pour plus d'informations, reportez-vous à Utilisation du principal de ressource pour accéder à des ressources Oracle Cloud Infrastructure.

Le paramètre synchronization indique la méthode de synchronisation utilisée lors de la réexécution de la charge globale. Une valeur TRUE indique que la synchronisation est basée sur un numéro SCN.

La valeur process_capture indique si vous devez indiquer la valeur process_capture. Une valeur TRUE indique que la réexécution inclut process_capture.

Remarque

Vous devez conserver le même état logique des bases de données de capture et de réexécution au début de la capture.

Pour plus d'informations, reportez-vous à Procédure REPLAY_WORKLOAD.

Evénements de réexécution de charge globale

Vous pouvez vous abonner à l'événement d'information com.oraclecloud.databaseservice.autonomous.database.information pour être informé des événements WorkloadReplayBegin et WorkloadReplayEnd. Ces événements fournissent des informations sur :

  • Début et réalisation de REPLAY_WORKLOAD.

  • Champ replayDownloadURL contenant l'URL de demande pré-authentifiée permettant d'accéder aux rapports dans la banque d'objets. L'URL de demande pré-authentifiée est valide pendant 7 jours à compter de la date de génération.

Pour plus d'informations, reportez-vous à Evénements d'informations sur Autonomous Database.

Vues de capture et de réexécution de charge globale

Vous pouvez interroger les vues DBA_CAPTURE_REPLAY_STATUS et DBA_CAPTURE_REPLAY_HISTORY pour vérifier le statut de réexécution de la charge globale.

Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_STATUS View et à DBA_CAPTURE_REPLAY_HISTORY View.

Tester les charges globales par rapport à un patch à venir

A l'aide de la fonctionnalité de réexécution automatique de la charge globale, vous pouvez capturer automatiquement une charge globale à partir d'une base de données de production située au niveau du patch standard et la réexécuter sur un clone actualisable cible situé au niveau du patch initial.

Cette fonctionnalité vous permet de tester un patch à venir en exécutant une charge globale existante en production sur un patch, avant qu'il n'atteigne la production.

A propos du test des charges globales par rapport à un patch à venir

A l'aide de la fonctionnalité de réexécution automatique de la charge globale, vous pouvez automatiser le processus de réexécution de la capture afin de capturer une charge globale exécutée sur une base de données de production et de réexécuter automatiquement la charge globale sur un clone actualisable cible après l'application d'un patch à venir sur la cible.

Autonomous Database permet de provisionner une instance ou de créer un clone actualisable à l'aide de l'option de niveau de patch Précédent. Sur les instances exécutées au niveau des patches au plus tôt, Autonomous Database applique les patches de maintenance à venir une semaine avant que les patches ne soient appliqués aux bases de données de production (bases de données provisionnées au niveau des patches standard). A l'aide de la fonctionnalité WORKLOAD_AUTO_REPLAY, vous pouvez vous assurer qu'un patch à venir est testé sur votre charge globale avant que le patch ne soit mis en production. Cela vous permet de vérifier que le patch corrige un problème connu ou n'introduit pas de problème affectant votre charge globale.

Pour trouver des informations sur les captures et les réexécutions, abonnez-vous aux événements d'information. Les événements d'information fournissent une notification pour les événements de capture et de réponse de charge globale et incluent une URL de demande pré-authentifiée dans laquelle vous pouvez télécharger le fichier de capture et le rapport de réexécution. Pour plus d'informations, reportez-vous à (Facultatif) S'abonner aux événements d'information à notifier des détails de capture et de réexécution.

Lorsque l'option WORKLOAD_AUTO_REPLAY est activée, la base de données source capture une charge globale en l'exécutant pendant un nombre de minutes spécifié. Par défaut, la capture de charge globale démarre lorsque vous activez WORKLOAD_AUTO_REPLAY (vous pouvez éventuellement utiliser des paramètres pour définir le jour et l'heure de début de la capture). Ensuite, Autonomous Database vérifie la base de données cible pour vérifier le statut d'application de patches. Une fois le patch hebdomadaire à venir appliqué, Autonomous Database réexécute la charge globale sur la base de données cible. Ce cycle de capture-lecture se poursuit automatiquement chaque semaine, Autonomous Database capturant la charge globale sur la base de données source, attendant que le patch à venir soit appliqué et réexécutant la charge globale sur le clone actualisable.

Pour activer WORKLOAD_AUTO_REPLAY, tenez compte des points suivants :

  • La base de données source doit utiliser le niveau de patch standard.

  • La base de données cible doit utiliser le niveau de patch Early.

  • La base de données cible doit être un clone actualisable de la base de données source et doit être créée avant d'activer WORKLOAD_AUTO_REPLAY.

  • Une base de données source peut activer WORKLOAD_AUTO_REPLAY pour un clone actualisable au maximum (vous pouvez activer cette fonctionnalité pour un clone actualisable au maximum, même si vous créez plusieurs clones actualisables à partir de la même base de données source).

  • Une fois que vous avez activé WORKLOAD_AUTO_REPLAY, le cycle de capture-relecture se poursuit chaque semaine. Autonomous Database exécute une capture sur la base de données source, puis la réexécute sur la base de données cible, jusqu'à ce que vous désactiviez WORKLOAD_AUTO_REPLAY.

Vous trouverez des informations sur les captures et les réexécutions de charge globale dans la vue DBA_CAPTURE_REPLAY_HISTORY. Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_HISTORY View.

Autonomous Database applique automatiquement des patches à votre base de données. Oracle fournit un objectif de niveau de service de zéro régression dans votre base de données de production en raison de ces patches. Pour plus d'informations, voir Objectif de niveau de service à régression zéro.

Activer la réexécution automatique de la charge globale

La fonctionnalité WORKLOAD_AUTO_REPLAY vous permet d'exécuter une charge globale à partir de votre base de données de production et de surveiller toute divergence sur une instance à laquelle des patches sont appliqués une semaine à l'avance. Cette fonctionnalité vous permet de tester un patch à venir en exécutant une charge globale existante en production sur un patch avant qu'il n'atteigne la production.

Pour activer WORKLOAD_AUTO_REPLAY, procédez comme suit :

  1. Créez un clone actualisable de la base de données de production.

    Lorsque vous créez le clone actualisable cible, définissez le niveau de patch sur Précédent.

    Pour plus d'informations, reportez-vous à Définition du niveau de patch et à Création d'un clone actualisable pour une instance Autonomous Database.

  2. Exécutez DBMS_CLOUD_ADMIN.ENABLE_FEATURE sur la base de données source.

    Par exemple :

    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'WORKLOAD_AUTO_REPLAY',
            params       => JSON_OBJECT(
                              'target_db_ocid' VALUE 'OCID1.autonomousdatabase.REGION..ID1',
                              'capture_duration' VALUE 120,
                              'capture_day' VALUE 'MONDAY',
                              'capture_time' VALUE '15:00'));
    END;
    /

    Où se trouvent les paramètres :

    • feature_name : la valeur WORKLOAD_AUTO_REPLAY active la fonctionnalité de réexécution automatique de la charge globale.

    • params : objet JSON avec les paires de valeurs suivantes :

      • target_db_ocid : accepte une valeur string. La valeur indique l'OCID de la base de données clone actualisable cible sur laquelle la charge globale capturée est réexécutée.

        Ce paramètre est obligatoire.

      • capture_duration : accepte une valeur number. La valeur indique la durée en minutes pendant laquelle la charge globale est capturée dans la base de données de production. La valeur doit être comprise entre 1 et 720 minutes.

        Ce paramètre est obligatoire.

      • capture_day : accepte une valeur string. Cette valeur indique le jour de la semaine auquel la capture de la charge globale sur la base de données de production doit commencer.

        Ce paramètre est facultatif.

      • capture_time : accepte une valeur au format HH24:MM. Cette valeur indique l'heure à laquelle la capture de la charge globale sur la base de données de production doit commencer.

        Ce paramètre est facultatif.

      Par défaut, la capture de charge globale démarre lorsque vous activez WORKLOAD_AUTO_REPLAY. Lorsque les options capture_day et capture_time facultatives sont indiquées, la capture et la réexécution automatiques de la charge globale se produisent à l'horodatage indiqué.

      Par exemple, si capture_day est lundi et capture_time est 15:00, la première capture sur la base de données de production démarre à 3PM le lundi suivant. Le même jour de la semaine et l'heure sont également utilisés pour planifier des captures et des réexécutions ultérieures.

    Pour plus d'informations, reportez-vous à Procédure ENABLE_FEATURE.

    Une valeur d'erreur ORA-20000: Invalid argument for target_db_ocid peut indiquer que l'OCID que vous avez fourni n'est pas un clone actualisable. Dans ce cas, vous devez fournir un OCID avec une valeur pour un clone actualisable.

  3. Interrogez la vue DBA_CAPTURE_REPLAY_STATUS pour vérifier le statut de réexécution de la charge globale.

Cet exemple active WORKLOAD_AUTO_REPLAY sur la base de données Autonomous Database source et sur la base de données clone actualisable cible indiquée. Lorsque WORKLOAD_AUTO_REPLAY est activé, chaque semaine, Autonomous Database exécute une capture sur la base de données source et réexécute la charge globale sur la base de données cible, jusqu'à ce que vous désactiviez WORKLOAD_AUTO_REPLAY.

Pour trouver des informations sur les captures et les réexécutions, abonnez-vous aux événements d'information. Les événements d'information fournissent une notification pour les événements de capture et de réponse de charge globale et incluent une URL de demande pré-authentifiée dans laquelle vous pouvez télécharger le fichier de capture et le rapport de réexécution. Pour plus d'informations, reportez-vous à (Facultatif) S'abonner aux événements d'information à notifier des détails de capture et de réexécution.

Vous trouverez des informations sur les captures et les réexécutions de charge globale dans la vue DBA_CAPTURE_REPLAY_HISTORY. Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_HISTORY View.

Désactiver la réexécution automatique de la charge globale

Exécutez DBMS_CLOUD_ADMIN.DISABLE_FEATURE pour désactiver WORKLOAD_AUTO_REPLAY.

Exécutez DBMS_CLOUD_ADMIN.DISABLE_FEATURE pour désactiver la réexécution automatique de la charge globale. Par exemple :

BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'WORKLOAD_AUTO_REPLAY');   
END;
/

Vous devez être connecté en tant qu'administrateur ou disposer des privilèges DBMS_CLOUD_ADMIN pour exécuter DBMS_CLOUD_ADMIN.DISABLE_FEATURE.

Pour plus d'informations, reportez-vous à Procédure DISABLE_FEATURE.