La fonction est de fournir des informations et des enregistrements d'utilisation en retour aux ingénieurs pour faciliter l'analyse des problèmes (utilisés pendant le développement) ; puisque les utilisateurs eux-mêmes ne génèrent pas souvent de journaux de téléchargement, ils sont inutiles pour les utilisateurs. Le tampon de journalisation est une petite zone temporaire utilisée pour le stockage à court terme des vecteurs de modifications pour les journaux redo à écrire sur le disque. Une écriture de tampon de journal sur le disque est un lot de vecteurs de modification provenant de plusieurs transactions. Malgré cela, le vecteur de modification dans le tampon de journal est écrit sur le disque en temps quasi réel, et lorsque la session émet une instruction COMMIT, l'opération d'écriture dans le tampon de journal est effectuée en temps réel.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.
Le but des journaux de taille de tampon de l'enregistreur de journaux est le suivant : principalement utilisés pour fournir aux ingénieurs des commentaires sur les informations d'utilisation et les enregistrements afin de faciliter l'analyse des problèmes (utilisés pendant le développement), car les utilisateurs eux-mêmes ne génèrent pas souvent de journaux de téléchargement, ils sont inutiles pour les utilisateurs.
Le tampon de journalisation est une petite zone temporaire utilisée pour le stockage à court terme des vecteurs de modifications pour les journaux redo qui seront écrits sur le disque. Les « vecteurs de changement » sont des modifications appliquées à certains objets. L'exécution d'une instruction DML générera un vecteur de changement appliqué aux données.
Avec les journaux redo, la base de données peut garantir que les données ne sont jamais perdues : chaque fois qu'un bloc de données change, le vecteur de modification appliqué au bloc est écrit dans le journal redo, et si le fichier de données doit être restauré, il est transmis le redo log, le vecteur de modification peut être extrait et appliqué à la sauvegarde du fichier de données.
Le processus du serveur de session n'écrit pas les enregistrements de rétablissement directement dans le fichier de journalisation, sinon la session devra attendre la fin de l'opération d'E/S du disque chaque fois qu'une instruction DML est exécutée. Au lieu de cela, la session écrit les enregistrements de rétablissement dans un tampon de journal en mémoire. Ce sera beaucoup plus rapide que d'écrire sur le disque. Par la suite, le tampon de journal (qui peut contenir des vecteurs de modifications alternés pour plusieurs sessions) est écrit dans le fichier de journalisation. Par conséquent, une écriture dans le tampon de journal sur le disque est un lot de vecteurs de modification provenant de plusieurs transactions. Malgré cela, le vecteur de modification dans le tampon de journal est écrit sur le disque en temps quasi réel, et lorsque la session émet une instruction COMMIT, l'opération d'écriture dans le tampon de journal est effectuée en temps réel. Les opérations d'écriture sont effectuées par le processus d'arrière-plan du rédacteur de journal (LGWR).
Caractéristiques
Comparé à d'autres structures de mémoire, le tampon de journal est plus petit car il s'agit d'une zone de stockage de très courte durée. Insérez-y le vecteur de changement et faites-le circuler sur le disque en temps quasi réel. Il n'est pas nécessaire que le tampon de journal soit supérieur à quelques Mo au maximum, et en effet, le définir plus grand que la valeur par défaut peut avoir un très mauvais impact sur les performances. La valeur par défaut est déterminée par le serveur Oracle et dépend du nombre de processeurs dans le nœud du serveur.
Dans les options du développeur, il existe une option appelée "Taille du tampon de l'enregistreur". La valeur par défaut est 256 Ko. Les journaux sont écrits dans le tampon de manière circulaire. Dans des circonstances normales, le journal le plus ancien qui est plein sera supprimé. espace pour les nouveaux journaux.
La taille du tampon de l'enregistreur est généralement ajustée en fonction de chaque individu. Elle peut être réglée plus petite pour un nettoyage plus rapide. Si vous ne vous en souciez pas beaucoup, vous pouvez la définir légèrement plus grande, par exemple environ 100.
Théoriquement, plus c'est gros, mieux c'est dans une certaine valeur (car cela détermine le nombre de couches d'application que vous pouvez ouvrir).
Étant donné que les utilisateurs eux-mêmes ne génèrent pas souvent des journaux de téléchargement, il n'est pas nécessaire de les ajuster au minimum. Les utilisateurs peuvent utiliser les paramètres par défaut. Par exemple, dans le cas d'une configuration élevée de l'appareil, la valeur par défaut ou même la valeur maximale peuvent être augmentées pour répondre aux besoins personnalisés de l'utilisateur.
Comment définir
Le tampon de journal ne peut pas être défini à une valeur inférieure à la valeur par défaut. Si vous essayez de faire cela, le tampon du journal sera défini sur la taille par défaut. Il est possible de créer un tampon plus grand que celui par défaut, mais cela n'est généralement pas recommandé. Le problème est que lorsqu'une instruction COMMIT est émise, une partie du traitement de validation implique l'écriture du contenu du tampon de journalisation dans le fichier de journalisation sur le disque. L'opération d'écriture est effectuée en temps réel et pendant qu'elle est en cours, la session qui a émis le COMMIT se bloquera. Le traitement des validations est un élément clé de l'architecture d'Oracle. Pour garantir qu'une transaction validée n'est jamais perdue, le bloc de données dans le cache ne peut pas être modifié tant que le bloc de données n'a pas été modifié (ce qui signifie que la transaction n'est pas terminée) et que le vecteur de modification n'a pas été écrit dans le journal de rétablissement sur le disque (de sorte que la transaction peut être restaurée si nécessaire). Renvoie un message de fin de validation à la session. Un tampon de journal volumineux signifie que lorsqu'une instruction COMMIT est émise, davantage de contenu doit être écrit et il faut plus de temps avant que l'achèvement du message de validation ne soit émis et que la session reprenne le travail.
Description :
Pour certaines applications, il est nécessaire de définir une taille de tampon de journal supérieure à la taille par défaut, mais utilisez généralement la taille de tampon de journal par défaut pour commencer le réglage.
Le tampon de journal est alloué au lancement de l'instance et ne peut pas être redimensionné par la suite sans redémarrer l'instance. C'est un tampon circulaire. L'adresse d'écriture actuelle se déplace d'avant en arrière à mesure que le processus serveur y écrit des vecteurs de modification. Le processus de rédaction du journal écrit les vecteurs par lots, auquel cas l'espace qu'il occupe devient disponible et peut être couvert par davantage de vecteurs de changement. Aux périodes de pointe d'activité, les vecteurs de changement peuvent être générés plus rapidement que le processus de rédaction du journal ne peut les écrire. Si cela se produit, toute activité DML s'arrêtera pendant quelques millisecondes pendant que le rédacteur du journal efface le tampon.
Dans l'architecture Oracle, le vidage du tampon de journal sur le disque est l'un des goulots d'étranglement fondamentaux. DML ne peut pas être plus rapide que LGWR peut vider les vecteurs de modifications dans des fichiers de journalisation en ligne.
Si la génération de restauration est le facteur limitant les performances de la base de données, la seule option est d'utiliser RAC. Dans une base de données RAC, chaque instance possède son propre tampon de journal et son propre LGWR. C'est le seul moyen d'écrire des données de restauration sur le disque en parallèle.
Remarques sur le tampon de l'enregistreur :
1. Paramètre de taille : Pour certaines applications, il est nécessaire de définir la taille du tampon de journal au-dessus de la valeur par défaut, mais généralement le tampon de journal par défaut est utilisé. Commencez le réglage.
2. Allocation d'instance : Le tampon de journal est alloué au démarrage de l'instance. Si l'instance n'est pas redémarrée, sa taille ne peut pas être ajustée par la suite. C'est un tampon circulaire. L'adresse d'écriture actuelle se déplace d'avant en arrière à mesure que le processus serveur y écrit des vecteurs de modification.
3. Traitement par lots : le processus d'écriture de journaux écrit des vecteurs en mode batch. À ce stade, l'espace qu'il occupe deviendra disponible et pourra être couvert par davantage de vecteurs de changement. Aux périodes de pointe d'activité, les vecteurs de changement peuvent être générés plus rapidement que le processus de rédaction du journal ne peut les écrire. Si cela se produit, toute activité DML s'arrêtera pendant quelques millisecondes pendant que le rédacteur du journal efface le tampon.
Pour plus de connaissances connexes, veuillez visiter la rubrique FAQ !
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!