Table des matières
Que se passe-t-il lors d'un engagement
Comment le Rollback fonctionne avec l'annulation
Redo vs UNO - Différences clés
Implications pratiques et considérations de réglage
Maison base de données Oracle Comment Oracle Geory Transaction Commits and Rollbacks en utilisant les mécanismes de rétablissement et d'annulation?

Comment Oracle Geory Transaction Commits and Rollbacks en utilisant les mécanismes de rétablissement et d'annulation?

Jul 08, 2025 am 12:16 AM
oracle Gestion des transactions

Oracle garantit la durabilité et la cohérence des transactions à l'aide de REDO pour les validations et d'annuler pour les reculs. Au cours d'un engagement, Oracle génére un enregistrement de validation dans le tampon de journal de rétablissement, marque les changements permanents dans les journaux de rétablissement et met à jour le SCN pour refléter l'état de base de données actuel. Pour les rétroviseurs, Oracle utilise des données d'annulation pour réintégrer les modifications en reconstruisant les valeurs d'origine et en maintenant la cohérence de lecture. Redro enregistre les modifications pour la récupération, stockés dans les journaux de rétablissement en ligne, tandis que l'annulation des stores sur la façon de renverser les modifications pour le retrait et la cohérence, conservés dans des espaces de table d'annulation. Les principales considérations pratiques comprennent: 1) les engagements fréquents augmentent la rétrofacturation mais réduisent l'utilisation d'annulation; 2) De grandes transactions peuvent déclencher des erreurs "instantanées trop anciennes" si l'annulation de la rétention est insuffisante; 3) le moniteur est de réviser via des fichiers V $ sysstat ou de trace; 4) Assurer la taille et la rétention adéquates de l'espace de table et de rétention pour les requêtes longues; et 5) Vérifiez les événements d'attente comme la synchronisation du fichier journal ou ENQ: TX - affirmation lors du dépannage des problèmes de performances.

Oracle gère les commits de transaction et les rollbacks à l'aide de deux mécanismes de base: RecOd et UNDO . Ceux-ci fonctionnent ensemble pour garantir la cohérence des données, la durabilité et la capacité de se remettre des échecs.


Que se passe-t-il lors d'un engagement

Lorsque vous émettez un COMMIT , Oracle n'écrit pas immédiatement toutes les modifications des fichiers de données. Au lieu de cela, il fait quelques choses clés:

  • Il génère un enregistrement de validation dans le tampon de journal de rétablissement.
  • Toutes les modifications apportées par la transaction jusqu'à ce point sont marquées comme permanentes dans les journaux de rétablissement.
  • Le numéro de modification du système (SCN) est mis à jour pour refléter le point actuel dans le temps de la base de données.

Ainsi, même si les blocs de données réels n'ont pas encore été écrits sur le disque, le fait que la transaction engagée soit enregistrée dans le journal de rétablissement. C'est pourquoi Oracle peut garantir la durabilité - une fois qu'un engagement revient avec succès, le changement est sûr, même en cas de crash.


Comment le Rollback fonctionne avec l'annulation

Si une transaction est annulée (soit explicitement ou en raison d'une erreur), Oracle utilise des données d'annulation pour retourner les modifications.

Chaque modification effectuée par une transaction est d'abord enregistrée dans l'espace de table d'annulation avant la modification des données réelles. Cela permet à Oracle de:

  • Reconstruire les valeurs d'origine des données modifiées.
  • Maintenir la cohérence de lecture pour d'autres sessions qui pourraient interroger simultanément les mêmes données.

Par exemple, si la session A met à jour une ligne et la session B la demande avant le commit, la session B voit la version originale de la ligne à l'aide des données d'annulation.

Rollback revient essentiellement à ces informations d'annulation à l'envers, restaurant la base de données à son état avant le début de la transaction.


Redo vs UNO - Différences clés

Il est facile de mélanger refaire et annuler, mais voici comment ils diffèrent en fonction:

  • Reder :

    • Enregistre les modifications apportées à la base de données.
    • Utilisé pour la récupération - récupération des instances, récupération des médias, etc.
    • Stocké dans des fichiers journaux en ligne .
    • Chaque changement passe par le tampon de bûche de rétablissement avant d'être rincé sur le disque.
  • Défaire :

    • Enregistre comment annuler un changement.
    • Utilisé pour les recul et maintien de la cohérence de lecture.
    • Stocké dans des espaces de table d'annulation .
    • Également utilisé par Oracle pour les fonctionnalités de flashback et les lectures cohérentes.

En bref:

Redo consiste à enregistrer les modifications de récupération; L'annulation consiste à préserver les anciennes valeurs pour le retour en arrière et la cohérence.


Implications pratiques et considérations de réglage

La compréhension de ces mécanismes aide à gérer les performances ou les problèmes de récupération.

Voici quelques points pratiques:

  • Les engagements fréquents réduisent la quantité d'annulation nécessaire, mais augmentent la génération de rétroaction. Ainsi, dans les opérations en vrac, lancez vos engagements judicieusement.
  • De grandes transactions peuvent provoquer des erreurs de "instantané trop anciennes" si l'annulation de la rétention n'est pas suffisante.
  • Vous pouvez surveiller la génération de rétroaction via des vues telles que V$SYSSTAT ( redo size ) ou des fichiers de trace.
  • Pour des rapports ou des requêtes de longue durée, assurez-vous que votre espace de table d'annulation est suffisamment grand et configuré avec une rétention appropriée.

Si vous résumez les problèmes de performances liés à Redo ou UNDO, la vérification des événements d'attente comme log file sync (pour Redo) ou enq: TX – contention (pour UNDO) peut aider à identifier les goulots d'étranglement.


C'est ainsi que Oracle assure une gestion fiable des transactions sous le capot. Pas quelque chose que vous voyez tous les jours, mais bon à comprendre lors du réglage ou du comportement de la base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1543
276
MySQL vs Oracle: licence, fonctionnalités et avantages MySQL vs Oracle: licence, fonctionnalités et avantages May 08, 2025 am 12:05 AM

La principale différence entre MySQL et Oracle est les licences, les fonctionnalités et les avantages. 1. Licence: MySQL fournit une licence GPL gratuitement, et Oracle adopte une licence propriétaire, qui est coûteuse. 2. Fonction: MySQL a des fonctions simples et convient aux applications Web et aux petites et moyennes entreprises. Oracle a des fonctions puissantes et convient aux données à grande échelle et aux entreprises complexes. 3. Avantages: MySQL est sans source, adapté aux startups, et Oracle est fiable en performances, adapté aux grandes entreprises.

Comment apprendre Java sans prendre de détours. Partagez des méthodes et des techniques pour apprendre efficacement Java Comment apprendre Java sans prendre de détours. Partagez des méthodes et des techniques pour apprendre efficacement Java May 20, 2025 pm 08:24 PM

La clé pour apprendre Java sans prendre de détours est: 1. Comprendre les concepts de base et la grammaire; 2. Pratiquez plus; 3. Comprendre la gestion de la mémoire et la collecte des ordures; 4. Rejoignez les communautés en ligne; 5. Lisez le code des autres; 6. Comprendre les bibliothèques et les cadres communs; 7. Apprenez à faire face aux erreurs courantes; 8. faire un plan d'apprentissage et procéder étape par étape. Ces méthodes peuvent vous aider à maîtriser efficacement la programmation Java.

MongoDB vs Oracle: Explorer les approches nosql et relationnelles MongoDB vs Oracle: Explorer les approches nosql et relationnelles May 07, 2025 am 12:02 AM

Dans différents scénarios d'application, le choix de MongoDB ou Oracle dépend des besoins spécifiques: 1) Si vous devez traiter une grande quantité de données non structurées et ne pas avoir d'exigences élevées pour la cohérence des données, choisissez MongoDB; 2) Si vous avez besoin de cohérence des données strictes et de requêtes complexes, choisissez Oracle.

Que apprendre Java? Un résumé des itinéraires d'apprentissage Java et des points de connaissance essentiels Que apprendre Java? Un résumé des itinéraires d'apprentissage Java et des points de connaissance essentiels May 20, 2025 pm 08:15 PM

L'apprentissage Java nécessite l'apprentissage de la syntaxe de base, de la programmation orientée objet, des cadres de collecte, de la gestion des exceptions, du multithreading, du streaming d'E / S, du JDBC, de la programmation réseau et des fonctionnalités avancées telles que la réflexion et l'annotation. 1. La syntaxe de base comprend des variables, des types de données, des opérateurs et des instructions de flux de contrôle. 2. La programmation orientée objet couvre les classes, les objets, l'héritage, le polymorphisme, l'encapsulation et l'abstraction. 3. Le cadre de collection implique ArrayList, LinkedList, HashSet et HashMap. 4. Gestion des exceptions garantit la robustesse du programme à travers le bloc d'essai. 5. La programmation multithread nécessite une compréhension du cycle de vie du fil et de la synchronisation. 6. Les flux d'E / S sont utilisés pour la lecture des données, l'écriture et les opérations de fichiers. 7. JDBC est utilisé pour interagir avec les bases de données. 8. Passe de programmation réseau s

Connexion et visualisation des données des bases de données Oracle avec des outils BI tels que Tableau Connexion et visualisation des données des bases de données Oracle avec des outils BI tels que Tableau May 19, 2025 pm 06:27 PM

Pour connecter Oracle Database à Tableau pour la visualisation des données, vous devez suivre les étapes suivantes: 1. Configurez la connexion de la base de données Oracle dans Tableau, utilisez les pilotes ODBC ou JDBC; 2. Explorez les données et créez des visualisations, telles que les graphiques à barres, etc.; 3. Optimiser les requêtes SQL et les index pour améliorer les performances; 4. Utilisez des types et fonctions de données complexes d'Oracle pour implémenter via des requêtes SQL personnalisées; 5. Créer des vues matérialisées pour améliorer la vitesse de la requête; 6. Utilisez les fonctions interactives de Tableau telles que le tableau de bord pour une analyse approfondie.

Comment se connecter au pool de connexions de la base de données Oracle à l'aide de JDBC Comment se connecter au pool de connexions de la base de données Oracle à l'aide de JDBC Jun 04, 2025 pm 10:15 PM

Les étapes pour se connecter à un pool de connexions de base de données Oracle à l'aide de JDBC incluent: 1) Configurer le pool de connexion, 2) Obtenez la connexion à partir du pool de connexion, 3) Effectuer des opérations SQL et 4) Fermez les ressources. Utilisez OracleUCP pour gérer efficacement les connexions et améliorer les performances.

Utilisation de l'intégration de la base de données Oracle avec Hadoop dans un environnement Big Data Utilisation de l'intégration de la base de données Oracle avec Hadoop dans un environnement Big Data Jun 04, 2025 pm 10:24 PM

La raison principale de l'intégration des bases de données Oracle avec Hadoop est de tirer parti des puissantes capacités de gestion des données et de transaction d'Oracle, ainsi que des capacités de stockage et d'analyse de données à grande échelle de Hadoop. Les méthodes d'intégration comprennent: 1. Exporter les données d'OracleBigDataconnector à Hadoop; 2. Utilisez Apachesqoop pour la transmission des données; 3. Lisez les données Hadoop directement via la fonction de table externe d'Oracle; 4. Utilisez OracleGoldEngate pour obtenir la synchronisation des données.

Configuration de la requête parallèle et améliorations des performances dans les bases de données Oracle Configuration de la requête parallèle et améliorations des performances dans les bases de données Oracle May 19, 2025 pm 06:24 PM

Dans Oracle Database, les étapes pour configurer la requête parallèle pour améliorer les performances comprennent: 1. Définissez au niveau de la base de données et implémentez en modifiant les paramètres d'initialisation tels que parallel_degree_policy et parallel_max_servers; 2. Définir au niveau de la session, ajustez le parallélisme de la session en cours via la commande AlterSession; 3. Considérez des points clés tels que le parallélisme, la gestion des ressources et la distribution des données; 4. Améliorer les performances en optimisant la planification des requêtes, en ajustant le parallélisme et la surveillance et le réglage. Ces étapes aident à profiter des avantages des requêtes parallèles et à améliorer considérablement les performances de requête de la base de données.

See all articles