Table des matières:
Vidéo: Webcast : Base de données : Votre backup et votre site de secours dans le Cloud Oracle 2024
La fonctionnalité Oracle 12c Database Replay a évolué pour répondre au besoin d'effectuer des tests d'application réalistes. Avant Database Replay, si vous vouliez tester n'importe quel type de modification par rapport à la performance ou à la charge de travail, vous deviez acheter un outil tiers ou faire des quantités massives de codage pour simuler une charge de travail.
Dans la plupart des cas, aucune méthode n'était vraiment représentative de votre charge de travail réelle. En outre, apporter des modifications à un environnement de production sans les tester peut s'avérer risqué.
Database Replay est un outil de plus dans votre hangar pour couvrir toutes les bases.
En substance, Database Replay vous permet d'enregistrer votre charge de travail en temps réel, puis de la lire. En outre, vous pouvez jouer contre
-
Une autre base de données
-
Une version différente d'Oracle
-
Un OS différent
Database Replay capture la charge de travail au-dessous du niveau SQL. La charge de travail est stockée dans des fichiers binaires. Vous pouvez ensuite transférer ces fichiers dans un environnement de test, exécuter la charge de travail, analyser les problèmes, résoudre les problèmes et tester à nouveau. La même charge de travail est répétable. En conjonction avec un outil comme la base de données Flashback, vous pouvez tester à plusieurs reprises les changements en succession rapide. Cela aide à réduire les risques que quelque chose ne se brise lorsque les environnements sont modifiés.
Database Replay fournit un mécanisme pour aider avec ce genre de situations:
-
Test
-
Modifications de configuration
-
Mises à jour
-
Révisions de descente
-
Changements d'application
-
Débogage > Modifications du stockage, du réseau et de l'interconnexion
-
Modifications de la plate-forme
-
Modifications du système d'exploitation
-
Conversion vers Real Application Clusters (RAC)
-
Voici comment utiliser Database Replay:
Connectez-vous à SQL * Plus en tant qu'utilisateur avec le privilège SYSDBA.
-
Oracle requiert un répertoire dans lequel écrire les fichiers de relecture.
Créez un répertoire à un emplacement sur l'OS avec beaucoup d'espace:
-
Vous voyez ceci:
Répertoire créé.
Démarrer une capture:
-
Cet exemple utilise le nom CAPTURE_DEMO.
Idéalement, vous redémarrez la base de données avant le début de la capture, ce qui vous évite d'intercepter les transactions au milieu. Bien sûr, cela n'est pas toujours une option lorsqu'on travaille avec un système de production.
Vous voyez ceci:
La procédure PL / SQL s'est terminée avec succès.
Exécutez votre charge de travail.
-
Si le comportement de l'application est normal, laissez-le s'exécuter pendant la durée souhaitée.
Lorsque la charge de travail est terminée ou que votre cible temporelle est dépassée, arrêtez le processus de capture:
-
Vous voyez ceci:
La procédure PL / SQL s'est terminée avec succès.
Selon la documentation Oracle, la capture d'une charge de travail peut ajouter jusqu'à 4.5% du temps système de traitement au système ainsi que 64 Ko de surcharge mémoire pour chaque session. De plus, si l'espace est insuffisant dans le répertoire de capture, la capture s'arrêtera. Toutes les données capturées jusqu'à ce point seront toujours utiles.
L'idée est que vous utiliserez votre capture pour "rejouer" la charge de travail. Dans notre expérience, la charge de travail est généralement rejouée sur une base de données différente, telle qu'un environnement de test. Cependant, ce n'est pas toujours le cas.
Si votre environnement de base de données comporte de longues fenêtres de maintenance (par exemple un week-end), vous risquez de:
Activer la base de données Flashback
-
Créer un point de restauration le vendredi matin
-
Démarrage d'une capture de charge de travail pendant quatre heures à partir de 8 a. m. à midi
-
Restriction du système et création d'un autre point de restauration après le retour des employés vendredi soir
-
Restauration de la base de données au point de restauration Vendredi matin
-
Déploiement des modifications de base de données ou d'application
-
changements
-
Retourne la charge de travail au vendredi soir
-
Déploiement des changements de base de données ou d'application à prendre en compte lorsque les employés reviennent Lundi matin
-
Comment rejouer la charge de travail dans Oracle 12c
Suivez ces étapes pour relire la charge de travail:
Créez un répertoire pour les fichiers de capture de relecture:
-
Vous voyez ceci:
Répertoire créé.
Cet exemple suppose que la relecture a lieu sur une autre base de données. Si c'est sur la même base de données, il n'est pas nécessaire de créer un répertoire et de déplacer les fichiers de capture car ils seront déjà dans l'emplacement correct.
Déplacez les fichiers du répertoire de capture du système source vers le répertoire du système de relecture.
-
Commencez le processus de relecture sur la base de données:
-
Vous voyez ceci:
La procédure PL / SQL s'est terminée avec succès.
Initialiser une session de relecture appelée REPLAY_DEMO:
-
Vous voyez ceci:
La procédure PL / SQL s'est terminée avec succès.
Dites à Oracle de préparer les fichiers de relecture:
-
Vous voyez ceci:
La procédure PL / SQL s'est terminée avec succès.
Démarrez
les clients de relecture, qui sont des processus qui exécutent et gèrent la charge de travail. Ces processus sont lancés à partir de la ligne de commande du système d'exploitation. L'exemple suivant démarre un client de relecture avec Oracle comme mot de passe:
-
Vous voyez ceci:
Workload Replay Client: Version 12. 1. 0. 1. 0 - Production le vendredi 16 août 22: 24: 44 Copyright 2013 (c) 1982, 2013, Oracle et / ou ses filiales. Tous les droits sont réservés. Attendez que la relecture commence (22: 24: 44)
Dites à la base de données de démarrer la relecture:
-
Vous voyez ceci:
La procédure PL / SQL a été complétée avec succès.
Vérifiez l'état pendant l'exécution de la relecture:
-
Essentiellement, vous interrogez la table DBA_WORKLOAD_REPLAYS. Vous voyez ceci (ou quelque chose comme ça):
ID NOM STATUS DURATION_SECS ---------- -------------------- --- -------- ------------- 10 REPLAY_DEMO EN COURS 369
Lorsque tout est terminé, vous devez nettoyer les métadonnées de relecture.
Capture d'informations d'ID sur le système source:
-
Vous pourriez voir quelque chose comme ceci:
ID NAME ---------- -------------- --------------------- 4 CAPTURE_DEMO
Supprimez les informations de capture:
-
Vous voyez ceci:
La procédure PL / SQL s'est terminée avec succès.
Trouvez l'ID de relecture sur le système de relecture:
-
Vous pourriez voir quelque chose comme ceci:
ID NAME ---------- ------------- ---------------------- 10 REPLAY_DEMO
Supprimer les informations de relecture: