|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2005 Messages : 19 ![]() |
Bonjour,
Ces questions n'existent pas dans la FAQ ni dans les tutoriels, alors que c'est des cas qui peuvent etre rencontrés dans la réalité J'ai 6 situations de pannes dontj'aimerais savoir le comportement du SGBD Oracle vis a vis de ces situations (Les deux premieres situations sont réalistes, par contre les 4 dernieres je ne sais pas qund est ce que la situation est realiste ou pas ?) 1) Situation n°1: On dispose de la transaction de MAJ suivante: Begin Tran // Debut de la transaction Update Emp set sal = sal*1.2 where deptno = 10; Update Dep set mgr = 10 where mgr = 7; ... Update Emp set sal = sal*1.2 where deptno = 10; Update Dep set mgr = 10 where mgr = 7; End Tran // Fin de la transaction Question : supposons qu'au moment de l'execution de cette transaction (après la deuxième commande update), une coupure de courant se produit. Comment cette transaction sera traitée par le SGBD Oracle ??? ----------------------------------------------------------------------------------- 2) Situation n°2: Si on n'arrive pas a démarrer notre serveur Oracle suite a une perte d'un fichier de données. Comment peut on resoudre ce probleme dans le deux cas suivants : a) Le fichier perdu peut-etre recuperer. b) Le fichier est definitivement perdu. ------------------------------------------------------------------------------------ Les situations suivantes resultent d'une panne du systeme. 3) Situation n°3: Des mises a jour provenant de transactions non encore validées ont été consignées dans les fichiers de données. 4) Situation n°4: Certaines transactionsse sont terminées correctement (et donc validées par le SGBD), mais on ne trouve pas de trace de leurs mises a jour dans les fichiers de données. 5) Situation n°5: Certaines transactionsse sont terminées correctement (et donc validées par le SGBD), mais on ne trouve pas de trace de leurs mises a jour dans les journaux de la base de données. La base de données étant configurée en mode NOARCHIVLOG. 6) Situation n°6: Certaines transactions étaient encore actives (ne se sont pas terminées) au moment de la panne, mais on ne trouve pas de trace de leurs mises a jour nin dans les fichiers de données ni dans les journaux de la base d e données. Question : Pour les quatre situations précedentes: a) Est ce que la situation est realiste? b) Quel scénario peut engendrer les situations realistes ? c) Comment le Oracle va restaurer la BD pour les situations realistes ? ------------------------------------------------------------------------------------ Merci d'avance de votre aide. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Il faudrait aussi lire la documentation Oracle correspondante: par exemple,
http://download-uk.oracle.com/docs/c...htm#sthref2419 pour comprendre la notion de crash recovery qui répond à la plupart de vos questions (1, 3, 4 et 6). Le cas n°5 n'est normalement pas possible: une transaction correctement validée doit être dans le redo log (=journal des transactions de la base). Si Oracle n'arrive pas à écrire dans le redo log au moment du COMMIT, la transaction n'est pas validée et Oracle doit remonter une erreur. Les différents scénarios du cas n°2 sont documentés à partir de:http://download-uk.oracle.com/docs/c....htm#sthref183 |
|
|
00
|
|
|
#3 | ||||
![]() Inscription : janvier 2005 Messages : 1 778 ![]() |
Citation:
Citation:
Par exemple, Ce cas peut être réalisé en lançant un BEGIN BACKUP pour sauvegarder un tablespace, et tous les mises à jours sur cet tablespace seront enregistrés dans les fichiers de journalisations. Citation:
Citation:
Si le disque contenant le fichier de journalisation est plein. Donc oracle n'écrit pas dans les fichiers de journalisation et les donnés seront toujours en memoire.
__________________
Questionnaires : Testez vos connaissances Mes articles : Les Fichiers Redo / SCN : System Change Number / Fichier de Contrôle : Administration |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com