Télécharger la présentation
1
Gestion des Rollback Segments
2
Objectifs Planification du nombre et de la taille
Création avec initialisation appropriée du stockage Maintenance des rollback segments Récupérer les informations à partir du dictionnaire de données Dépannage.
3
Rollback Segment Ancienne image Nouvelle image Table Rollback segment
Transaction Mise à jour
4
Rollback Segments: Objectif
L’ancienne Image est sauvegardée Transaction rollback Annulation des modifications Non validées Pendant la transaction Rollback: Cohérence en lecture (lorsque plusieurs utilisateurs utilisent la base: un en modification (non commiter), un en lecture (il obtient les « anciennes valeur ») Annulation des modifications non validées en cas de pb Restauration Transaction Rollback segment Lecture cohérente
5
Types de Rollback Segments
SYSTEM Non-SYSTEM System : pour les modifications systèmes (créés à la création de la base) Non-system : données
6
Transactions et Rollback Segments
1 2 Transaction 1 Transaction 2 4 3 Extent actif Extent inactif
7
Croissance des Rollback Segments
rollback Segment de 4 extents 1 2 1 2 5 3 4 3 4 Extent Actif Extent Supplémentaire si 1 à 4 plein. (Cf MAXEXTENTS) Extent Inactif
8
Rétrécissement d’un Rollback Segments
6 1 1 2 5 2 6 3 3 4 Extent Actif Paramètre Optimal (taille en octets) Extent Inactif
9
Lecture Cohérente SELECT * FROM table Table Nouvelle image
Tant que le commit n’est pas effectif Nouvelle image Image au début de l’instruction
10
Planification des Rollback Segments : Nombre
OLTP (on line transaction processing) petit, mais plusieurs segments Batch Grand, mais peu de segment OLTP : beaucoup de requête mais moins de données Batch: peu de requêtes mais beaucoup de données
11
Planification Rollback Segments: Nombre d’Extents
0.50 Minextents=20 0.40 Probabilité d’extention 0.30 0.20 Plus il y a d’extents moins il y aura à modifier leur taille 0.10 0.00 10 20 30 40 Nombre d’ extents
12
Création des Rollbacks Segments
Exemple CREATE ROLLBACK SEGMENT rbs01 TABLESPACE rbs STORAGE ( INITIAL 100K NEXT 100K OPTIMAL 4M MINEXTENTS 20 MAXEXTENTS 100); Toujours faire un tablespace rollback segment distinct
13
Mise Online des Rollback Segments
Avec la commande suivante: Spécifier le paramètre d’initialisation suivant pour une lise online au démarrage : ALTER ROLLBACK SEGMENT rbs01 ONLINE; ROLLBACK_SEGMENTS=(rbs01)
14
Comment les Instances Acquièrent des Rollback Segments
Il y a t-il Assez de RBS ? Acquisition du RBS nommé Calcul du Nombre de RBS requis Non Oui Acquisition Des RBS Mise online Des RBS acquis
15
Changement de l’initialisation du Stockage des Rollback Segment
Utilisez ALTER ROLLBACK SEGMENT ALTER ROLLBACK SEGMENT rbs01 STORAGE( MAXEXTENTS 200 );
16
Libération d’espace dans les Rollback Segments
Utilisez ALTER ROLLBACK SEGMENT ALTER ROLLBACK SEGMENT rbs01 SHRINK TO 4M;
17
Mise Offline des Rollback Segments
Mettre un rollback segment offline pour Le rendre indisponible. ALTER ROLLBACK SEGMENT rbs01 OFFLINE;
18
Suppression des Rollback Segments
Un RBS doit être offline avant de pouvoir être supprimé. DROP ROLLBACK SEGMENT rbs01;
19
Les Rollback Segments dans la base de données
DBA_ROLLBACK_SEGS Identification SEGMENT_ID SEGMENT_NAME Emplacement, type, et status TABLESPACE_NAME OWNER (PUBLIC or SYS) STATUS (ONLINE or OFFLINE)
20
Statistique sur les Rollback Segments
V$ROLLNAME USN NAME V$ROLLSTAT USN EXTENTS RSSIZE XACTS OPTSIZE HWMSIZE AVEACTIVE STATUS CUREXT CURBLK
21
Rollback Segment: Activité courante
V$SESSION SADDR USERNAME SID SERIAL# V$TRANSACTION SES_ADDR XIDUSN UBAFIL UBABLK UBASQN UBAREC STATUS USED_UBLK USED_UREC
22
Problèmes de Rollback Segment
Espace insuffisant pour la transaction Erreur de lecture cohérente Transaction bloquante Erreur de mise offline du tablespace
23
Espace insuffisant pour la transaction
Pas d’espace dans le tablespace (01562) Agrandir le fichier de données Allocation automatique Ajouter un fichier de données MAXEXTENTS atteint pour le segment Augmentation MAXEXTENTS Recréation segments avec des extents plus grande
24
Erreur de Lecture Cohérente
SELECT * FROM table Bloc réutilisé Table ORA-01555 SNAPSHOT TOO OLD Nouvelle image Image au démarrage de l’instruction écrasée par une autre transaction
25
SOLUTIONS Mettre des MINEXTENTS plus élevés
Mettre des tailles d’extents plus grandes Utilisez un autre RBS avec : SET TRANSACTION USE ROLLBACK SEGMENT « nouveau segment » Toujours construire plusieurs RBS
26
Session de blocage 1 2 4 1 5 3 3 2 4 Extent existant Nouvel extent
27
Erreur à la mise offline d’un Tablespace
Impossibilité de mettre offline un tablespace RBS actif Vérification des rollback segments dans le tablespace (dba_rollback_segs) Recherche des transactions actives en utilisant ces même RBS (v$transaction) Recherche de session ID et numéro de série (v$session) Arrêt de la session si nécessaire
28
Résumé Création de rollback segments adéquats
Dépannage de problème de rollback segment
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.