SCN与数据恢复关联
一、各种SCN简介:如图,控制文件中有系统SCN号,针对每个数据文件还有文件SCN号、结束SCN号(如四个数据文件就有4个对应的文件SCN号、结束SCN号)数据文件头部
一、各种SCN简介:
如图,控制文件中有系统SCN号,针对每个数据文件还有文件SCN号、结束SCN号(如四个数据文件就有4个对应的文件SCN号、结束SCN号)
数据文件头部有开始SCN号。都是为了保证数据文件的一致性
正常情况下:系统SCN、文件SCN、文件头部的开始SCN应该一样,结束SCN为null
系统SCN:
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
617242
文件SCN:
SQL> select name,checkpoint_change# from v$datafile;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/jiagulun/system01.dbf 617242
/u01/app/oracle/oradata/jiagulun/undotbs01.dbf 617242
/u01/app/oracle/oradata/jiagulun/sysaux01.dbf 617242
/u01/app/oracle/oradata/jiagulun/users01.dbf 617242
/u01/app/oracle/oradata/jiagulun/example01.dbf 617242
/u01/app/oracle/oradata/jiagulun/data1_01_dbf 617242
结束SCN:
SQL> select name,last_change# from v$datafile;
NAME LAST_CHANGE#
-------------------------------------------------- ------------
/u01/app/oracle/oradata/jiagulun/system01.dbf
/u01/app/oracle/oradata/jiagulun/undotbs01.dbf
/u01/app/oracle/oradata/jiagulun/sysaux01.dbf
/u01/app/oracle/oradata/jiagulun/users01.dbf
/u01/app/oracle/oradata/jiagulun/example01.dbf
/u01/app/oracle/oradata/jiagulun/data1_01_dbf
数据文件头部开始SCN:
SQL> select name,checkpoint_change# from v$datafile_header;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/jiagulun/system01.dbf 617242
/u01/app/oracle/oradata/jiagulun/undotbs01.dbf 617242
/u01/app/oracle/oradata/jiagulun/sysaux01.dbf 617242
/u01/app/oracle/oradata/jiagulun/users01.dbf 617242
/u01/app/oracle/oradata/jiagulun/example01.dbf 617242
/u01/app/oracle/oradata/jiagulun/data1_01_dbf 617242
每一条日志都有SCN,每个日志组文件的头部有两个SCN first SCN和next SCN
first SCN:即这个文件组中第一条日志的SCN,等于上一组的next SCN。
next SCN:即这个文件组中最后一条日志的SCN,等于下一组的first SCN。
二、SCN如何保证数据库文件一致性(如何确认需要恢复)?
正常关闭:将所有buffer cache脏块写到磁盘,同时更新系统SCN、文件SCN,,数据头部开始SCN,同时结束SCN写上与系统SCN、文件SCN、数据头部开始SCN都一样的时间点(关闭时间)
非正常关闭:结束SCN为null,未正常写上。开启数据库时检测到结束SCN为null,则需要实例恢复。
数据文件丢失:例如当1号DBF文件丢失了,从备份中拷贝一个备份的1号DBF文件过来,此时文件头部的SCN比较旧,与控制文件系统SCN号对比,oracle则发现需要做恢复。则用跑日志将其SCN跑到与控制文件中文件SCN一样。
控制文件丢失:控制文件和数据文件都换成旧的,此时光对比控制文件中的SCN号和数据文件头部的SCN号还不能确认需不需要恢复,oracle还要对比on disk rba scn,如果on disk rba scn比控制文件中的SCN号和数据文件头部的SCN号都新,则要实例恢复。
用SCN号确认使用哪些日志组来恢复实例:
目前系统SCN号为617242:
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
617242
此时日志组1first SCN为617242,则需要日志组1恢复即可;
试着经过两次日志组切换:
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
此时系统当前最新的文件SCN仍然是617242
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
617242
那么这时候数据库实例崩溃使用哪些日志组恢复呢?
此时617242在日志组1,按照序列号8-10,日志组3是最新日志,此时需要日志组1、2、3恢复。
日志中active代表组中存在日志对应的脏块还没有写到磁盘中。
执行
SQL> alter system flush buffer_cache;
System altered.
后,日志组active变为inactive:
而此时控制文件中的SCN也更新为:
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
628825
此时如果数据库实例非正常关闭,则需要日志组3来恢复。
三、总结:
控制文件中系统SCN,文件SCN等于最旧的active日志文件组的first SCN,实例恢复需要active和current日志组。
控制文件中的系统SCN,文件SCN用于确认数据恢复的所需要的重做日志文件组。
确认文件组后根据控制文件中的LRBA地址去跑日志跑到on disk rba地址。
CKPT进程只是将LRBA地址写到控制文件中,而控制文件中的系统SCN,文件SCN和数据头部SCN的更新是当一个日志组由active变为inactive时更新的,结束SCN则是关闭数据库时候更新的。

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Les utilisateurs de Windows 7 rencontrent le phénomène selon lequel le fichier de registre système est manquant ou endommagé lors du démarrage. Comment résoudre cette situation ? Vous forcez d'abord le redémarrage de l'ordinateur, puis appuyez sur la touche F8, sélectionnez le mode sans échec dans la page ouverte, puis recherchez l'invite de commande dans la barre de menu pour l'ouvrir, entrez la commande SFC/SCANNOW et appuyez sur Entrée pour exécuter, le système s'exécutera automatiquement. démarrer l'ordinateur Réparer les fichiers d'installation manquants ou corrompus. Que faire si le fichier de registre système de Windows 7 est perdu ou endommagé 1. Après le premier autotest à la mise sous tension, maintenez immédiatement la touche F8 enfoncée, utilisez les touches fléchées pour sélectionner le mode sans échec et appuyez sur Entrée. 2. Cliquez ensuite sur le bouton Démarrer, sélectionnez Invite de commandes et exécutez en tant qu'administrateur. 3. Enfin, entrez SFC/ dans l'invite contextuelle.

1. Binlog Binlog est utilisé pour enregistrer les informations sur les opérations d'écriture (hors requêtes) effectuées par la base de données et les sauvegarder sur le disque sous forme binaire. Binlog est le journal logique de MySQL et est enregistré par la couche serveur. Les bases de données Mysql utilisant n'importe quel moteur de stockage enregistreront les journaux binlog. Journal logique : peut être simplement compris comme une instruction SQL ; journal physique : les données dans MySQL sont stockées dans la page de données et le journal physique enregistre les modifications sur la page de données ; insérez le morceau de code ici et le journal binaire est écrit en ajoutant l'entrée, vous pouvez définir la taille de chaque fichier binlog via le paramètre max_binlog_size lorsque la taille du fichier atteint la valeur donnée.

De nombreux amis ne savent pas comment récupérer les données diskgenius, c'est pourquoi l'éditeur partagera les didacticiels pertinents sur la récupération de données diskgenius. Je pense que cela sera utile à tout le monde. Tout d'abord, dans le diagramme de partition du disque dur au-dessus de l'interface principale de DiskGenius, vous pouvez directement sélectionner la partition cible et cliquer avec le bouton droit. Ensuite, dans le menu contextuel qui apparaît, recherchez et cliquez sur l'élément de menu « Récupération de fichiers supprimés ou formatés », comme indiqué sur la figure. Dans la deuxième étape, la fenêtre des options de récupération apparaît et assurez-vous de cocher les trois options « Récupérer les fichiers supprimés », « Récupération complète » et « Analyse supplémentaire des types de fichiers connus ». Étape 3 : Cliquez sur le bouton « Sélectionner le type de fichier » à droite et spécifiez les fichiers que vous devez récupérer dans la fenêtre contextuelle

Solution au problème de perte de paramètres PHP Dans le processus de développement de programmes PHP, nous rencontrons souvent le problème de perte de paramètres. Cela peut être dû à des paramètres incomplets transmis par le front-end, à une manière incorrecte de recevoir les paramètres par le back-end, etc. Dans cet article, nous fournirons quelques solutions au problème des paramètres manquants en PHP, ainsi que des exemples de code spécifiques. 1. Problème de transmission des paramètres front-end Utilisez la méthode GET pour transmettre des paramètres Lorsque vous utilisez la méthode GET pour transmettre des paramètres, les paramètres seront ajoutés à l'URL demandée sous la forme de paramètres d'URL. Lors de la réception des paramètres dans le backend

Sauvegarde et récupération de données ThinkPHP6 : assurer la sécurité des données Avec le développement rapide d'Internet, les données sont devenues un atout extrêmement important. La sécurité des données est donc une préoccupation majeure. Dans le développement d’applications Web, la sauvegarde et la récupération des données constituent un élément important pour garantir la sécurité des données. Dans cet article, nous présenterons comment utiliser le framework ThinkPHP6 pour la sauvegarde et la récupération des données afin de garantir la sécurité des données. 1. Sauvegarde des données La sauvegarde des données fait référence à la copie ou au stockage des données dans la base de données d'une manière ou d'une autre. De cette façon, même si les données

Laravel est un framework d'application Web PHP populaire qui offre de nombreux moyens rapides et simples de créer des applications Web efficaces, sécurisées et évolutives. Lors du développement d'applications Laravel, nous devons souvent considérer la question de la récupération des données, c'est-à-dire comment récupérer les données et assurer le fonctionnement normal de l'application en cas de perte ou de dommage de données. Dans cet article, nous présenterons comment utiliser le middleware Laravel pour implémenter des fonctions de récupération de données et fournirons des exemples de code spécifiques. 1. Qu'est-ce que Lara ?

Préface Il existe six types de fichiers journaux dans MySQL, à savoir : journal redo (redolog), journal de restauration (undolog), journal binaire (binlog), journal des erreurs (errorlog), journal des requêtes lentes (slowquerylog), journal des requêtes générales (generallog) ), journal de relais (relaylog). 1. Qu'est-ce que le redolog ? Redolog, également connu sous le nom de fichier redo log, est utilisé pour enregistrer les modifications dans les opérations de transaction. Il enregistre la valeur après la modification des données. Elle sera enregistrée, que la transaction soit soumise ou non. Les fichiers Redolog peuvent s'avérer utiles en cas de panne d'instances et de médias (panne de média), telle qu'une panne de courant de la base de données, Inn

Comment résoudre un secteur de disque dur cassé ? Un secteur de disque dur cassé est une panne matérielle courante, qui peut entraîner une perte de données et affecter les performances de l'ordinateur. Il est très important de comprendre et de résoudre le problème des secteurs défectueux du disque dur. Cet article présentera le concept de secteurs de disque dur, discutera des causes courantes des secteurs de disque dur défectueux et des solutions. 1. Que sont les secteurs du disque dur ? Avant de présenter comment résoudre le problème des secteurs de disque dur défectueux, commençons par comprendre ce que sont les secteurs de disque dur. Un secteur de disque dur est la plus petite unité lisible et inscriptible sur un disque dur. C'est une petite section d'espace sur un disque dur.
