Test des charges globales avec Oracle Real Application Testing

Oracle Real Application Testing est une solution de gestion des performances proactive, extrêmement rentable et facile à utiliser qui vous permet d'évaluer entièrement les résultats d'une modification du système en cours de test ou en production.

A propos d'Oracle Real Application Testing

Vous pouvez utiliser Oracle Real Application Testing pour capturer une charge globale sur un système de production et la réexécuter sur un système test avec les caractéristiques de synchronisation, d'accès simultané et de transaction 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 système sur une charge globale sans incidence sur 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. Cela vous permet de comparer la façon dont une charge globale s'exécute 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 globales de capture et de réexécution entre bases de données autonomes.

Pour plus d'informations, reportez-vous à Capture-Replay Workloads between Autonomous Databases.

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 base de données Autonomous Database avec Oracle Database 19c et de la réexécuter sur une base de données Autonomous Database avec Oracle Database 23ai.

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

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

Pour plus d'informations, reportez-vous à Capture-Replay Workloads between non-Autonomous and Autonomous Databases.

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 à Test des charges globales par rapport à un patch à venir.

Capturer-Réexécuter les charges globales entre les bases de données autonomes

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

Cela vous permet de comparer des 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) Abonnement 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 trouver des informations de statut et d'historique pour 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. Ils contiennent également une URL permettant d'accéder aux rapports de capture et de réexécution.

Les événements d'information 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 avec succès et génère une URL de demande 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 avec succès et génère une URL de demande pré-authentifiée pour télécharger les rapports de réexécution.

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

Capture d'une charge globale sur une instance Autonomous Database

Lors de la réexécution de la base de données, la première étape consiste à capturer une charge globale de production.

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 charge globale sur un système de production, toutes les demandes de clients externes envoyées à Oracle Database font l'objet d'un suivi et d'un stockage 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 de lancement d'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 à START_WORKLOAD_CAPTURE Procédure.

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) Abonnement 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;
/

Cette opération annule la capture de charge globale en cours et actualise le clone actualisable.

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

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

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

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 à FINISH_WORKLOAD_CAPTURE Procédure.

Evénements de capture de charge globale

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

  • Exécution 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) Abonnement 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éparer 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 afin de préparer automatiquement un clone actualisable pour une réexécution de charge globale. Cette procédure actualise le clone actualisable jusqu'à l'heure de début de la capture et déconnecte le clone actualisable. Vous avez également la possibilité de préparer manuellement un clone actualisable pour réexécuter une capture de charge globale.

Préparer automatiquement 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 la capture.

  • Déconnecte le clone actualisable.

A ce stade, vous pouvez éventuellement apporter des modifications à un clone actualisable avant de réexécuter une capture. Par exemple, la modification des valeurs de paramètre et l'activation/désactivation de 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 clonage actualisable manuel 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 la 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 la 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 modifier le clone actualisable. Par exemple, la modification des valeurs de paramètre, l'activation/désactivation de 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 relance les actions enregistrées pendant la capture de charge globale avec les mêmes données temporelles, accès simultané et 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 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 télécharge des fichiers de capture à partir d'Object Storage, réexécute la charge globale capturée sur le clone et télécharge 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

S'il existe plusieurs captures avec le même nom de capture, 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 à REPLAY_WORKLOAD Procédure.

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

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

  • Début et fin d'une opération REPLAY_WORKLOAD.

  • Lien Object Store pour 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 à événements d'information 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 la fonction 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.

Procédez comme suit pour réexécuter vos charges globales sur une autre version de base de données :

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

  2. Capturez vos charges globales 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 19c sourceAutonomous Oracle Database.

  4. Préparez le 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 que vous avez terminé la capture de la charge globale et préparé le 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 : réexécution de charges globales entre des bases de données non autonomes et autonomes

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

Cela vous permet de comparer les charges globales entre une base de données sur site ou une autre base de données de service cloud et une instance Autonomous Database.

Rubriques

Capturer une charge globale

Lors de la réexécution de la base de données, la première étape consiste à capturer la charge globale de production.

Lorsque vous commencez la capture de charge globale sur le système de production, toutes les demandes de clients externes envoyées à 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 relance sur le système test les actions enregistrées lors de la capture de charge globale, avec les mêmes dépendances de synchronisation, de simultanéité et de transaction que le système de production.

Exécutez DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD pour lancer la réexécution de 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 sur une instance Autonomous Database d'une charge globale capturée à partir d'une base de données sur site :

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;
/

Cette commande télécharge les fichiers de capture contenus dans l'emplacement Object Storage indiqué dans le paramètre location_uri et réexécute la capture de charge globale à 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 de stockage 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 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 ne spécifiez pas de valeur credential_name, DEFAULT_CREDENTIAL est utilisé.

Vous n'avez pas besoin de créer d'informations d'identification pour accéder à Oracle Cloud Infrastructure Object Storage 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 aux 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. La valeur TRUE indique que la synchronisation est basée sur un numéro SCN.

Le paramètre process_capture indique si vous devez indiquer la valeur process_capture. La 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 l'heure de capture.

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

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

Vous pouvez vous abonner à l'événement Informations 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 fin 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'information 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.

Test des charges globales par rapport à un patch à venir

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

Cette fonctionnalité vous permet de tester un patch à venir en exécutant une charge globale existante en production par rapport à un patch, avant que le patch n'atteigne la production.

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

Grâce à la fonctionnalité de réexécution automatique de la charge globale, vous pouvez automatiser le processus de capture-réexécution pour capturer une charge globale qui s'exécute sur une base de données de production et 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 avec l'option de niveau de patch Anticipé. Sur les instances exécutées au niveau de patch Anticipé, Autonomous Database applique les patches de maintenance à venir une semaine avant l'application des patches aux bases de données de production (bases de données provisionnées au niveau de patch Régulier). A l'aide de la fonctionnalité WORKLOAD_AUTO_REPLAY, vous pouvez vous assurer qu'un patch à venir est testé par rapport à 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 rediffusions, abonnez-vous aux événements Information. Les événements d'information fournissent une notification pour la capture de charge globale et les événements de réponse. Ils 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) Abonnement aux événements d'information à notifier des détails de capture et de réexécution.

Lorsque WORKLOAD_AUTO_REPLAY est activé, 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 le statut d'application de patches sur la base de données cible. 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, procédez comme suit :

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

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

  • 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 seul clone actualisable (vous pouvez activer cette fonctionnalité pour un seul clone actualisable, 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-lecture se poursuit chaque semaine. Autonomous Database exécute une capture sur la base de données source, puis réexécute la charge globale 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 à progression 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 ont été appliqués une semaine à l'avance. Cette fonctionnalité vous permet de tester un patch à venir en exécutant une charge globale existante en cours de production par rapport à un patch avant que le patch n'atteigne l'environnement de 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 de cible, définissez le niveau de patch sur Anticipé.

    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ù sont 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. Cette 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 où 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 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 facultatives capture_day et capture_time sont indiquées, la capture et la réexécution automatiques de la charge globale ont lieu à l'horodatage indiqué.

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

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

    La 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. Avec WORKLOAD_AUTO_REPLAY 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 rediffusions, abonnez-vous aux événements Information. Les événements d'information fournissent une notification pour la capture de charge globale et les événements de réponse. Ils 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) Abonnement 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. Exemples :

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

Vous devez être connecté en tant qu'utilisateur ADMIN 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.