Architecture et Administration des SGBDR. Application au SGBD Oracle. Nacer Boudjlida http://www.loria.fr/ nacer. Sommaire. Transparents tirés de :



Documents pareils
Cours Bases de données 2ème année IUT

Architecture et Administration des SGBDR. Application au SGBD Oracle. Nacer Boudjlida nacer. Sommaire. Chapitre I:Introduction

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Introduction aux SGBDR

Administration des bases de données relationnelles Part I

CHAPITRE 1 ARCHITECTURE

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Notion de base de données

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

//////////////////////////////////////////////////////////////////// Administration bases de données

Oracle Maximum Availability Architecture

Administration des Bases de Données Oracle

TP11 - Administration/Tuning

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Eléments de base de la sécurité des bases de données

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Structure fonctionnelle d un SGBD

Mise en oeuvre TSM 6.1

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Oracle : Administration

et Groupe Eyrolles, 2006, ISBN :

Création d'une nouvelle base de données

Bases de données et sites WEB

Administration de Base de Données Notes de cours

3. La SGA ou System global Area

Description de SQL SERVER. historique

Administration des bases de données sous Oracle. 10g. Fabien De Marchi, Jean-Marc Petit. Université de Lyon. November 22, /96

Du 10 Fév. au 14 Mars 2014

Nœud Suisse du Projet International GBIF (Global Biodiversity Information Facility)

Département Informatique de l Institut Universitaire de Technologie de l Université Bordeaux 1 Bases de Données Oracle : administration (cours)

Bases de Données Avancées

Bases de données et sites WEB Licence d informatique LI345

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Version Description Date

Administration d'une base de données

ORACLE 10g Découvrez les nouveautés. Jeudi 17 Mars Séminaire DELL/INTEL/ORACLE

TP Administration Oracle

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Cours Bases de données

Présentation de l'outil RMAN d'oracle

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Systèmesdegestionde. basesdedonnées

Chapitre III Architecture de Base de Données Oracle

Les bases de données

Architectures, modèles et langages de données

Développement d une base de données relationnelle. Exploitation des statistiques de pêche au thon tropical

1. Qu'est qu'un tablespace?

Oracle Database 11g: Administration Workshop I Release 2

Oracle 10g Administration +

Gestion des utilisateurs et de leurs droits

Présentation du module Base de données spatio-temporelles

Clients et agents Symantec NetBackup 7

Secteur Tertiaire Informatique Filière étude - développement. Accueil. Apprentissage. Période en entreprise. Evaluation.

Administration de Bases de Données : Optimisation

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Les bases de l optimisation SQL avec DB2 for i

Session S12 Les bases de l optimisation SQL avec DB2 for i

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

SYSTÈME DE GESTION DE FICHIERS

et Groupe Eyrolles, 2006, ISBN :

STATISTICA Version 12 : Instructions d'installation

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Prestations de conseil en SRM (Storage Ressource Management)

Cours Bases de données 2ème année IUT

Bases de Données Avancées

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

420-PK6-SL Banques de données Avancées UTILISATEURS

Les journées SQL Server 2013

Logiciel HLA Fusion Version 3.X.X

Le modèle client-serveur

Consolidation. Grid Infrastructure avec la 11gR2

Sauvegarde et Restauration d un environnement SAS

<Insert Picture Here> Solaris pour la base de donnés Oracle

UPSTREAM for Linux on System z

Tutorial sur SQL Server 2000

Module BDR Master d Informatique (SAR)

Implémentation des SGBD

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

TP Contraintes - Triggers

Bases de données Cours 1 : Généralités sur les bases de données

SQL Server 2008 et YourSqlDba

Créer et partager des fichiers

GPI Gestion pédagogique intégrée

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

LA GOUVERNANCE, OU COMMENT RAPPROCHER LES ÉQUIPES DE DÉVELOPPEMENT ET D INFRASTRUCTURE

Tsoft et Groupe Eyrolles, 2005, ISBN :

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Notes de cours : bases de données distribuées et repliquées

Partie 7 : Gestion de la mémoire

Préconisations Techniques & Installation de Gestimum ERP

HP StorageWorks All-in-One Storage Manager Manuel de l utilisateur

Manuel d'installation de GESLAB Client Lourd

OFFRES DE SERVICES SDS CONSULTING

Transcription:

SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 1/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 2/478 Architecture et Administration des SGBDR Application au SGBD Oracle Nacer Boudjlida http://www.loria.fr/ nacer Université Henri Poincaré Nancy 1 FST, UFR STMIA et ESIAL (Décembre 2006) Architecture et Administration des SGBDR Transparents tirés de : Gestion et Administration des Bases de Données. Application à Sybase et Oracle. N. Boudjlida, Dunod, Collection Sciences Sup. Octobre 2003. Bases de données et systèmes d informations. Le modèle relationnel:langages, systèmes et méthodes. N. Boudjlida, Dunod, Collection Sciences Sup. Septembre 1999. SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 3/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 4/478 Sommaire Architecture et Administration des SGBDR Chapitre 1 Introduction (p. 5) Chapitre 2 Installation et lancement de serveurs (p. 17) Chapitre 3 Organisation et stockage de données (p. 45) Chapitre 4 Création de bases de données (p. 161) Chapitre 5 Gestion des utilisateurs (p. 253) Chapitre 6 Sécurité de fonctionnement et reprises (p. 289) Chapitre 7 Traitement des requêtes (p. 377) Chapitre 8 Adaptation de serveurs et performances (p. 453) Bibliographie (p. 477)

SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 5/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 6/478 1. Généralités Chapitre I : Introduction 2. Administration systèmes : Préalables Administrer 1-Généralités : Installer (Serveur(s) SQLet Serveur(s) Back-up) Gérer et contrôler les espaces (disque, mémoire) et les connexions Allouer rôles et privilèges aux utilisateurs Sauvegarder/Restaurer les bases Diagnostiquer les problèmes système Configurer le système pour de meilleures performances Possible interférence avec les concepteurs pour normalisation définition de données, politique de maintien de l intégrité, etc. SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 7/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 8/478 1-Généralités Rôles requis pour administrer : administrateur, officier de sécurité Administration par isql (Sybase) Administration sous sqlplus (Oracle) Environnements graphiques d administration Préalable : Maîtrise des concepts du système. 2-Administration système : préalables 1. Installation de serveur(s) et de produit(s) 2. Allocation de ressources 3. Sauvegardes et restoration 4. Maintenance 5. Historisation ( carnet de bord )

SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 9/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 10/478 2.1-Insta lations (serveurs,produits) Consulter le Release Bulletin pour : (In)Compatibilités éventuelles Problèmes (System Problem Reports) et solutions (Closed Problem Reports) Installation et upgrade Consulter les guides d installation et de configuration Consulter l administrateur système : espaces, E/S asynchrones, etc. Ajout de protocoles réseaux Configuration et test des connexions clients 2.2-A location de ressources physiques au serveur SQL Mémoire, Espace disque, CPU (cas multi-processeurs) Choix machine dédiée (au serveur SQL) vs partagée Planification de l utilisation des ressources Pour les reprises : données et logs sur des unités physiques différentes Miroir des données importantes Configuration au niveau système d exploitation Raw devices (cf. administrateur Unix) Nombre de connexions, d unités, etc. SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 11/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 12/478 2.3-Sauvegardes et restorations Clé de voûte : dictionnaire, fichiers de configuration ; à sauvegarder après : Création/suppression de base(s) Initialisation de nouvelles unités bases de données Ajout de nouvelles unités de sauvegarde Utilisation d une commande de mirroring (multiplexage) Création/suppression/modification d un segment Ajout de nouveaux comptes + garder des copies off line Sauvegardes et restorations Automatisation des procédures de sauvegardes (scripts ou utilitaires de déclenchement automatique) Vérifier la cohérence de la base avant sauvegarde Contrôler la taille du log ou utilisation de thresholds Sauvegarder périodiquement le log (de préférence avant la base)

SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 13/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 14/478 2.4-M aintenance en exploitation Lancement du serveur en même temps que le système d exploitation Examen périodique du fichier de trace et d alert (Oracle) ou error log (Sybase) Raffraîchissement du fichier 2.5-Historisation : carnet de bord Changements, problèmes Référence des contacts (système, constructeur, etc.) Paramètres de configuration Commandes de création de bases, de comptes et d utilisateurs Noms, localisations, tailles des unités initialisées Échéancier des contrôles de cohérence, sauvegardes, examen de l Audit, recompilation de procédures, etc. Hardware et système d exploitation Procédures de sauvegarde et de reprise SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 15/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 16/478 Chapitre I : Introduction Chapitre I : Introduction

!! " SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 17/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 18/478 Chapitre II : Insta lation et lancement de serveurs 1. Introduction 2. Application à Oracle (p. 20) 3. Conclusion Insta lation de serveurs SQL Procédure d installation dépendante du SGBD Tâches préalables : Installation Guide, Release Notes Machine(s) d installation : serveur de données, outils clients Paramètres importants de configuration/d initialisation dynamiques : prise en compte immédiate statiques : relance du serveur 1ères expériences : maximum de paramètres par défaut Puis installations personnalisées Hypothèse : logiciel déjà copié de son support de livraison vers la machine d accueil SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 19/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 20/478 Chapitre II : Insta lation et lancement de serveurs 1. Introduction 2. Application à Oracle (p. 20) 3. Conclusion (p. 44) II-Insta lation : Application à Oracle Oracle Universal Installer : environnement graphique Quelques concepts pour comprendre ses fonctionnalités : 1. Serveur de données Oracle : Base de données + Instance Oracle 2. Instance : (a) Ensemble de processus d arrière-plan (b) Zone système globale (System Global Area, SGA) 3. SGA : Tampons partagés, dont tampon de données et tampon de journal 4. Dictionnaire de données : créé dans chaque base (pas de base des bases)

# # # % $ ) ) & ( ) ) ) ( & ( & ) ) ) ) * ' SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 21/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 22/478 Insta lation : Application à Oracle Insta lation : Application à Oracle 5. Control file : un (au moins) par base nom, date de création, localisation des espaces consulté à chaque lancement (startup) mis à jour automatiquement si modification des caractéristiques de la base (ajout/suppression d espaces,... ) La suite : 1. Installation 2. Eléments du dictionnaire 3. Processus d arrière plan d une instance Oracle 6. Init file : Paramètres d initialisation de la base 7. Transactions et journalisation : (a) Images avant : segments/fichiers d annulation (rollback segments/undo tablespaces) (b) Images après : journaux de ré-exécution (redo log files) SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 23/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 24/478 Insta lation de serveur et de produits Scénario typique d insta lation Oracle Universal Installer : installer, désinstaller ou faire migrer des composants Ressources et processus variables selon les systèmes hôtes (cf. guide installation) Scenario sous Windows (droits administrateur) : Produits à installer localisés en F: Lancement : F: ORACLE Disk1 ORACLE Disk1 setup ou autorun Deux adresses requises : 1. Source : chemin vers les produits à installer (F: ORACLE Disk1 stage products.jar) 2. Destination : répertoire de résidence de l installation (Orahome )

. -... -... - + + + + /, 2 0 2 0 0 2 3 2 3 3 3 4 1 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 25/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 26/478 Scénario typique d insta lation Scénario typique d insta lation 1. Choix du type d installation : (a) Complete : tous les composants et ceux qui en dépendent, (b) Minimal : que les seuls composants requis, (c) Typical : installation de composants dépendants par défaut (d) Custom : installation personnalisée 2. Affichage d informations de synthèse sur l installation envisagée : Espace requis, celui disponible, Chemins source et destination, 3. Installation effective : Comptes-rendus dans OraInstall OraInstall.err et OraInstall OraInstall.out dans les espaces temporaires de la machine (par défaut dans C: tmp) Trace de l installation dans InstallActions.log sous Files Oracle Inventory logs Program Traces d installations antérieures dans des versions datées de ce fichier (fichiers InstallActionsDate.log) Liste éventuelle de produits déjà installés, Liste des composants à désinstaller et à réinstaller, etc. SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 27/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 28/478 Scénario typique d insta lation Scénario typique d insta lation 4. Affichage écran Required Configuration Tools : nom et état d une liste d outils requis pour achever l installation, avec état : succeeded : outil correctement installé pending : en cours d installation failed : échec 5. Ecran Optional Configuration Tools : idem que ci-dessus pour des outils facultatifs 6. Ecran Fin d installation : message de succès ou d échec ; Code retour : 0 : succès 1 : succès malgré l échec éventuel de l installation d outils facultatifs -1 : échec d au moins une installation primordiale. Fin de l installation : Oracle Universal Installer installé dans Files Oracle oui install sous le nom setup. Program

5 5 5 7 6 9 9 9 8 ; 8 8 ; 8 8 ; ; 8 ; 8 8 < : SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 29/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 30/478 Hiérarchie partie le de menus et d options Database Configuration Assistant : création/suppression de bases DBA Studio : environnement d administration d instances et de bases (gestion des schémas des objets, de la sécurité, du stockage, etc.) Enterprise Manager : gestion centralisée d un environnement distribué éventuellement hétérogène Insta lation : Application à Oracle La suite : 1. Installation 2. Eléments du dictionnaire 3. Processus d arrière plan d une instance Oracle SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 31/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 32/478 Le dictionnaire Oracle Ensemble d ensembles de tables et de vues (all user dba v$ xxx) Créé et rangé dans chaque base dans l espace SYSTEM Propriétaire : Utilisateur privilégié SYS Synonymes publics des vues pour les désigner sans le préfixe de leur propriétaire Table SYS.AUD$ : seule table modifiable (cf. auditing). 1. Vues USER xxx : Concernent les objets d un utilisateur Accessibles par cet utilisateur Exemple : Vue USER TABLES : tables d un utilisateur 2. Vues ALL xxx : Le dictionnaire Oracle Etendent les informations des vues USER par des informations sur les objets auxquels il a accès Exemple : Vue ALL TABLES : tables d un utilisateur + tables auxquelles il a accès. 3. Vues DBA xxx : Plus de colonnes que les autres Information sur les objets de tous les utilisateurs Exemple : Vue DBA TABLES : toutes les tables d une base

= = = =? > @ @ B @ C A SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 33/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 34/478 4. Vues V$xxx : Le dictionnaire Oracle Tables de performance dynamiques Concernent l activité d une base Exemple : Vue V$DATAFILE : Information sur les fichiers physiques d une base. 5. Vue DICTIONARY : Liste des tables et des vues du dictionnaire. Insta lation : Application à Oracle La suite : 1. Installation 2. Composants 3. Eléments du dictionnaire 4. Processus d arrière plan d une instance Oracle DESCRIBE Nom de table ou de Vue : liste des colonnes SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 35/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 36/478 Les processus Oracle Processus utilisateurs et processus Oracle 1. Processus utilisateurs Créés pour exécuter le code d un outil Oracle (comme Oracle Enterprise Manager) ou d un programme d application (comme un programme Pro*C/C++) Gèrent la communication avec les processus serveur grâce à l interface de programme (program interface) : mécanismes de formattage et de transmission de données de conversion de données (cas machines hétérogènes) 2. Processus Oracle : (a) un processus serveur Les processus Oracle (b) un ensemble de processus d arrière-plan (background processes) Note : Net8= interface propriétaire avec les protocoles standard de communication sur un réseau

D D D D F E ] ] ] G H H G ] G UT U SR Q IQ L J I G G ^ \ SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 37/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 38/478 Processus Oracle : (a)processus serveur Processus Oracle : (b)processus arrière-plan Créé pour gérer les demandes d actions des utilisateurs Chargé de la communication avec le processus utilisateur et de l interaction avec Oracle Si configuration de type serveur dédié : un processus serveur ne gère que les demandes d un seul processus utilisateur Si configuration multitâches (multithreaded) : plusieurs processus utilisateurs partagent un nombre restreint de processus serveurs. SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 39/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 40/478 Processus Oracle : (b)processus arrière-plan Exécution asynchrone des opérations d entrées/sorties et de contrôle d autres processus Oracle : DBW (Database Writer ) Chargé des écritures physiques Un par défaut (DBW0). Sinon i, ou PO KLNMM IVW ) [ XU WZY W[[ db writer processes : paramètre d initialisation d une base Processus Oracle : (b)processus arrière-plan LGWR (Log Writer) : écriture dans les fichiers Redo Log dans leurs miroirs éventuels (cf. chapitre Sécurité). CKPT : informe le DBW de l arrivée d un point de contrôle (checkpoint)

_ a _ a _ a a _ a b a a b _ j cj f d c x ` y { y { y { y y y { y y z SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 41/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 42/478 Processus Oracle : (b)processus arrière-plan SMON (System Monitor) réalise : la reprise, lors de la relance d une instance (startup) ; le nettoyage des segments d annulation (rollback segments) qui ne sont plus utilisés (cf. chapitre Organisation et Stockage) ; la reprise de transactions mortes qui n ont pas pu être prises en compte au moment de l incident, de l instance Oracle du fait d erreurs de lecture ou de mises hors ligne (offline) d unités (reprise des transactions lors de la remise en ligne) ; le compactage d espaces physiques (extents) dans les espaces de données (tablespace) gérés par le dictionnaire (cf. chapitres Organisation et Stockage et Bases de données ). Processus Oracle : (b)processus arrière-plan PMON (Process Monitor) : chargé de ARC : Reprise en cas d échec d un processus utilisateur, Nettoyage de sa mémoire cache et Libération de ses ressources Si nécessaire : relance des processus dispatcher et serveur. Archivage du journal si base en mode archivelog et archivage automatique autorisé (cf. chapitre Sécurité) Peut, si la charge du serveur le nécessite, créer des ARC ou log archive max processes : paramètre dynamique ih efngg ws w wsp l ov unt qc r s p k l m on SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 43/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 44/478 RECO: Processus Oracle : (b)processus arrière-plan Résoudre les transactions distribuées en suspens du fait de problèmes réseau ou système Répétition de tentatives de connexion à la base pour annuler ou valider Dnnn (Dispatcher) : processus optionnel existe dans une configuration multithreaded du serveur un par protocole de communication chargé du routage des demandes et des réponses entre le processus serveur et les processus utilisateurs LCK0 : Verrouillage inter-instances dans Oracle parallel server (Oracle parallel server : accès à une base par plusieurs instances). Insta lation de serveurs : Conclusion Installation = activité nécessitant une préparation minutieuse En coopération avec l administrateur système et réseau Connaissance minimale Concepts et structure du serveur (bases propres éventuelles, structures mémoire requises, etc.) Paramètres initiaux de configuration Configuration : données quantitatives Nombre de bases attendues et tailles estimées Nombre d utilisateurs locaux et/ou distants, etc. Bon réglage (tuning)

~ ~ } ƒ SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 45/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 46/478 Chapitre III : Organisation et stockage des données Contenu du chapitre : 1. Organisation et stockage des données (p. 46) 2. Organisation et stockage des index (p. 74) 3. Application à Oracle (p. 94) Comprendre : I-Organisation et Stockage des données 1. Stockage et accès sans index 2. Index : Organisation, structuration, accès Pour savoir : 1. Gérer les espaces ; 2. Forme à donner aux requêtes pour maximiser l utilisation des index? 3. Utiliser les outils du serveur pour examiner les choix de son optimiseur. SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 47/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 48/478 Organisation et Stockage des données 80% de l amélioration des performances obtenus par Sans index : parcours de toute la table (i.e. parcours de toutes les pages contenant des tuples de la table) Possiblité d estimer a priori le nombre d E/S pour des des lectures ou des Selon l existence ou non d index et leur type, l optimiseur décide : 1. Table Scan : Lecture de toutes les pages 2. Index Access : Lecture via les index 3. Index Covering : Valeurs aux feuilles suffisent pour satisfaire la requête Organisation et Stockage des données : Sommaire 1. Organisation en pages 2. Représentation des tuples 3. Casdes objetslongs :texteetimage 4. Organisation en tas (heap) 5. La mémoire cache

ˆ Š Š Š Š Š Œ SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 49/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 50/478 1.Organisation et stockage : pages etextents Organisation et stockage en pages Hypothèse: données organisées et stockées en vrac (entasou heap) Espace(données, index, log): blocs(pages) de même taille Page: Unité de lecture/écriture physique Lecture/écriture via des tampons(cache) du système Lecture/Ecriture logique: Lecture/écriture dans les pages des tampons bloc1 bloc2...... Base de données bloc n Cache du SGBD 1 2 4 3 Espace utilisateur Défautde page: Absence d une page dans le cache Extent: Nombre, fixe ou variable, de pages contiguës Attribué généralement à un seul objet SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 51/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 52/478 Structure générale des pages Structure générale des pages 1. En-tête: Identification de l objet contenu dans la page Chaînage page suivante, page précédente de l objet, etc.; 2. Corps:Valeursdestuples; 3. Table desdéplacements: Localisation des tuples dans la page Sybase:enfindepage Oracle:Endébutdepage

Ž Ž SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 53/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 54/478 Organisation et Stockage des données : Sommaire 1. Organisation en pages 2. Représentation des tuples 3. Casdes objetslongs :texteetimage 4. Organisation en tas (heap) 5. La mémoires cache 2.Représentation des tuples dans les pages En-tête: identification du tuple, nombre de colonnes à valeurs inconnues(null) nombre de colonnes de longueur variable, etc.) Valeur effective du tuple: Colonnes de type ordinaire Pointeurs vers les valeurs des objets longs SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 55/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 56/478 3.Stockage des objets de grande tai le Organisation et Stockage des données : Sommaire 1. Organisation en pages 2. Représentation des tuples 3. Casdes objetslongs :texteetimage 4. Organisation en tas (heap) 5. La mémoires cache

SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 57/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 58/478 4.Organisation en tas (heap) Comportement: 1. Recherche, 2. Insertion, 3. Suppression, 4. Modification de tuples. 4.1-Organisation en tas et recherche de tuples RecherchedetuplesdeR AdressedelapremièrepagecontenantR:dansunedestablesdela méta-base ParcoursdespagesdeR p0 p1 p2 p3 Adresse de la 1ère page contenant R t1 t2 Symbole de fin de chaîne SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 59/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 60/478 4.2-Organisation en tas et insertion Dans la dernière page de la relation, si espace disponible Sinon, dans une page vide de l extentcourant Si extentsaturé: Allocation d un nouveau Insertion dans sa première page Note:Adressedeladernièrepage 4.3-Organisation en tas et suppression Localisation du tuple Effacement Décalage des tuples( effet gruyère ) Mise à jour des déplacements des tuples Cas page vide après suppression? Cas extent vide après suppression?

œ ž š Ÿ SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 61/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 62/478 Organisation en tas et suppression 4.4-Organisation en tas et mise à jour Parcours des pages; Castaile dutuple modifié: 1. = taille(ancien): Modification du tuple; 2. taille(ancien): (a) Modification du tuple et décalage vers le haut; (b) Modification des pointeurs de tuples. 3. taille(ancien)etplacedisponibledanslapage:cf.cas2,mais avec décalage vers le bas; 4. Sinon(Migrationde tuple) (a) Suppressiondutupledelapage; (b) Insertion dans la dernière page du tas. SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 63/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 64/478 Organisation en tas et mise à jour Organisation en tas et mise à jour Gérer au mieux les migrations de tuples Contrôle du remplissage (densité)des pages Sybase: max rowsper page Oracle: PCTUSED,PCTFREE

ª «ª ª ª SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 65/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 66/478 Organisation en tas : Conclusion Quand utiliser des tas? Petites relations utilisant peu de pages; Pasd accèsdirectàuntuple; Pas d ordre sur les ensembles résultats; Relationayantdestuplesnonuniques+cequiprécède; Relations avec peu de modifications et d insertions. Organisation et Stockage des données : Sommaire 1. Organisation en pages 2. Représentation des tuples 3. Casdes objetslongs :texteetimage 4. Organisation en tas (heap) 5. La mémoire cache Maintenancepériodique SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 67/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 68/478 5.Gestion de la mémoire cache mémoire paginée dans les systèmes d exploitation Recherche d une donnée 1. Dansunepageducache? 2. Si absente(défautde page): page la contenant cache 3. Sitouteslespagesducachesontoccupées:en vider une Stratégiesdechoixdelapageducacheàremplacer: 1. Dernière page utilisée(mostrecentlyused, MRU) 2. La moins récemment utilisée(lessrecentlyused, LRU) Stratégies de caching Cache géré comme une chaîne de buffers Most Recently Used/Less RU Âge d un buffer: MRU LRU Quand des pages modifiées atteignent un point dans la chaîne(wash marker): Ecriture asynchrone de la page[ou checkpoint] par le serveur (i.e.quandunepagearriveenfindechaîne,elleest propre etpeut alors être ré-utilisée) Stratégiesde remplacementde pages: 1. LRU 2. MRU(fetch and discard)

³ ² ± º ¹ µ ¹ µ µ ¹»¹ ¼ SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 69/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 70/478 1-Stratégie LRU de remplacement de pages 1-Stratégie LRU de remplacement de pages LectureséquentielledepagesentêtedelachaîneMRU Pousser éventuellement des pages vers la LRU Quand une page modifiée passe le wash marker: écriture Sinouveaubesoin/accèsàcettepage:laremettreentêtedeMRU. SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 71/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 72/478 1-Stratégie LRU de remplacement de pages (fin) Recherche d une page p p nonmodifiéeetp cache:p p et p modifiée cache:p entêtemru p cache:lecturedisque(1buffer)entêtedemru. et 2-Stratégie M RU de remplacement de pages Pages mises juste avant le wash marker Sip cache:mettrep avant le marqueur Sinon: 1. Lirep 2. Mettre avant le marqueur

¾ ¾ ½ À Á À È À À Ê É SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 73/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 74/478 Chapitre III: Organisation et stockage des données 1. Organisation et stockage des données(p. 46) 2. Organisation et stockage des index(p. 74) 3. Application à Oracle(p. 94) II-Organisation et stockage des index Localisation des tuples Parcours séquentiel de l instance d une relation Directement via des index. Index: structure de données associant valeur d un attribut ou une liste d attributs(cĺe de l index) et adresses des tuples contenant cette valeur SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 75/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 76/478 Typologie des index Typologie des index:indexdense 1/4)Indexdense Uneentréedansl indexparvaleurdelaclé Entrée: Â Ã où Ç Æ Ã ÂÄÃ Å : valeur d une clé d index : tête d une liste d adresses de tuples Æ Ã SiCléd index=clédelarelation:pasdechaînage Rangement des tuples pas nécessairement contigu

Ë Ì Ë Ó Õ Ó Ô Ú Ù Û Û Û Ý Ü SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 77/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 78/478 Typologie des index Typologie des index: IndexCreux 2/4)Indexcreux Moinsd entréesquedevaleursdelaclé Entrée: Í Î où Ò Ñ Î ÍÏÎ Ð : valeur d une clé d index : tête d une liste d adresses de tuples Ñ Î t.q. ÍÄÎ ÖÔ Ø 5 12 Index K <= 5 5<K<=12 1 3 7 1 12 Données 7 5 1 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 79/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 80/478 Typologie des index Typologie des index: IndexPrimaire 3/4)Indexprimaire Défini sur une clé primaire de relation Valeurs ordonnées dans la relation Ordre logique = ordre physique.

Þ Þ à ß Þ ã â éè ìí ë ë ê ä ë ê ä æå ê ï ù ñ ú ï ò ñ ç SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 81/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 82/478 Typologie des index 4/4)Indexsecondaire Construit sur un attribut dont les valeurs devraient être ordonnées. Mais relation déjà ordonnée sur sa clé primaire ordre logique ordre physique á ß 1 2 3 7 8 10 Typologie des index: Indexsecondaire A D F L M R 3 7 1 2 10 8 10 20 30 70 80 90 30 70 10 20 L 30 M 10 R 90 T 80 Clé primaire Clé primaire - Index secondaire sur clé - - Index sur attribut non-clé - A D F K SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 83/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 84/478 Représentation des index Représentation des index: (1) Arbres Arbres équilibrés(balanced trees, B-arbres) Chaque nœud a entre et nœuds fils Feuilles toujours à égale distance de la racine 1. Arbres 2. B-arbres fixépourunarbredonné Nœud feuile: auplus Pasmoinsde óò ñ îðï Dernier pointeur: valeurs et ø óö ò ñ ôîõï pointeurs valeurs feuille suivante Nœud racine et Nœuds internes: Entre et ø ö ô ï Premier Pointeur Dernier pointeur pointeurs :clés û ò û þ ï ü ò ÿ üïý üïý þ :clés, üäý ü üäý ÿ ü

! " SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 85/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 86/478 Représentationdesindex: (1) Arbres Représentationdesindex: (1) Arbres Recherche Recherche par dichotomie longueur du chemin de la racine jusqu aux feuilles étantlenombredevaleursdelaclé Exemple: SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 87/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 88/478 Représentationdesindex: (1) Arbres etmise à jour Arbres etmise à jour : avant Efficacité en recherche Activité supplémentaire en mise à jour: Maintenirlapropriété B Garantir la structure des nœuds cf.exempledelapage86

(' $ # ) % * & 1 + 43.- 2,,.- /,, 5 0 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 89/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 90/478 Arbres Ajoutd untupledecléc aprèsinsertion Arbres aprèssuppression SuppressiondelavaleurP(surl arbredelapage86) SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 91/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 92/478 Représentationdesindex: (2) -arbres Représentationdesindex: (2) -arbres Similaires aux arbres Exemple Correspondant à l exemple d arbre,page89 Différence: toutes les clés de l index n apparaissent pas aux feuilles Nombre de nœuds du B-arbre ceux du Ajout de pointeurs dans les nœuds non-feuilles pour les valeurs de la clé de l index qui n apparaissent pas aux feuilles

7 7 7 7 7 8 6 9 ; ; ; ; 9 9 < : SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 93/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 94/478 Chapitre III: Organisationetstockage desdonnées Contenu du chapitre: 1. Organisation et stockage des données(p. 46) 2. Organisation et stockage des index(p. 74) 3. Application à Oracle(p. 94) Organisationetstockage : Applicationà Oracle Espace de tables(tablespace): ensemble d unités logiques de stockage des objets d une base Base: découpée en une ou plusieurs tablespaces Tablespace: contenu rangé dans un plusieurs fichiers de données (Datafile) Unfichierphysique:associéàuneseule tablespaceetàuneseulebase Note : Datafile n accueille pas exclusivement des données SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 95/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 96/478 ApplicationauSGBD Oracle Outreles datafiles,unebaseestdotée : d un fichier de paramètres de configuration(controlfile) d un fichier de paramètres d initialisation(init.ora) de fichiers de journalisation des transactions(redolog files, rolback segments/undotablespaces) Gestion du controlfile et du fichier d initialisation: cf. chapitre Bases de données et leurs objets Espaces physiques persistants(disque) structurés en: Pages(appelés blocs), extentset segments ApplicationauSGBD Oracle Bloc = l unité par défaut de lecture/écriture physique Extent: nombre déterminé de blocs contigus Segment: ensemble d extents non nécessairement contigus Lasuite: 1. Quelques notions sur les tablespaces pour comprendre la gestion des blocs, des extents et des segments Compléments dans le chapitre Bases de données et leurs objets 2. Gestiondesblocsetdes extents 3. Gestion des segments 4. Gestion des espaces physiques non persistants(cache)

@ = > > B A @ = B A C? F D D D F G D H E SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 97/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 98/478 Tablespace SYSTEM 1.Introductionauxtablespaces automatiquement créée lors de la création de chaque base contient, dans son premier datafile: dictionnaire de la base unités de programmes stockés(procédures, fonctions, paquetages et triggers) peutsuffirepourunebasedepetitetaille M AIS, on peut(recommandé) créer des tablespaces pour contrôler le placement des objets affecter des ressources aux utilisateurs Introductionauxtablespaces Exemples de tablespaces dédiés : Images avant modification(undotablespaces) Pour stockage exclusif des données ou des index Pourlestablesdesoutilsdusystème Espaces temporaires(pour les tris, par exemple) Durée de vie d une tablespace: création(create tablespace) suppression explicite(droptablespace) implicite: tablespace temporaire( fin de session de création) SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 99/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 100/478 M odesde gestiondestablespaces Espace des tablespaces découpé en blocs Blocs groupés en extents Extents(libres/occupés)gérés 1. à l aide du dictionnaire(dictionary-managed) 2. localement à la tablespace(loca ly-managed) M ode de gestion(dictionary/loca ly) choisi lors de la création(create tablespace... extent management dictionaryou local) Par défaut: dictionary-managed M odesde gestiondestablespaces Gestion d une liste des extents libres dans des tables du dictionnaire Journalisation des modifications de celles-ci Modedegestiondit local: Surlesversions version 8.0 M atrice de positions binaires(bitmap) par datafile de la tablespace M atrice mise à jour, sans journalisation, lors de chaque allocation ou libération d extent non modifiable

I K K L J O O M M O M O P N SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 101/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 102/478 M odesde gestiondestablespaces M odes de gestion également applicables aux tablespaces temporaires create tablespace Nom-de-la-tablespace temporary... : tablespace temporaire avec gestion par dictionnaire create temporarytablespace... tempfile... : avec gestion locale. Tablespace : Exemples Tablespace Espace1: deux fichiers physiques(datafiles) Tablespaces Espace2et EspaceTemp: un seul espace physique SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 103/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 104/478 Statutsetétatsd une tablespace 1. Temporaire/permanente: changement par: alter tablespace... temporary/permanent 2. Accessible(online )/Inacessible(offline ): alter tablespacenom online/offline Pasdemisehorslignede SYSTEM Pas de mise hors ligne de tablespaces contenant des segments d annulation(rolback segments) en cours d utilisation Pendant la mise hors ligne: données des transactions non achevées journaliséesdans segments d annulation différée(cf.chapitre Sécurité et reprise). Etatsetstatutsd une tablespace M ise hors ligne d une tablespace ne contenant que des index: données indexées restent accessibles M ise hors ligne d une tablespace par le système si incidents sur la tablespace Exemple: échec de tentatives d écriture par un des processus DBWi Si tablespace sur plusieurs fichiers physiques: tous les fichiers sont inaccessibles M ise en/hors ligne sélective de datafiles: alter database... datafile... online/offline

S Q S Q Q Q T R W U W X V SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 105/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 106/478 3. Lecture seule(read only): Etatsetstatutsd une tablespace Par défaut, tablespace en lecture/écriture M ise en lecture seule provisoire ou définitive alter tablespace... read only Changement d état effectif à l issue des transactions actives Seules les opérations de consultation et de suppression d objets (index, tables) restent autorisées. Etatsetstatutsd une tablespace : Exemples M ise hors ligne temporaire de l espace Espace2 Création Espace3hors ligne puis mise en lecture seule puis remise en ligne dba tablespaces: informations sur toutes les tablespaces user tablespaces: sur celles accessibles par un utilisateur. SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 107/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 108/478 ApplicationauSGBD Oracle 1. Notions sur les tablespaces Compléments dans le chapitre Bases de données et leurs objets 2. Gestion des blocs 3. Gestion des extents 2.BlocsOracle Taillemultipledelatailledesblocsdusystèmehôte Structure: 1. Descripteur 2. Contenu 4. Gestion des segments 5. Gestion des espaces physiques non persistants(cache)

Z Z Z Z [ Y \ ^ \ ^ _` ^ \ a b ] SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 109/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 110/478 BlocsOracle : Structure BlocsOracle : Descripteur( overhead ) En-tête de page Répertoire d objets Déplacement de tuples Espace libre "Overhead" Espace occupé 84à 120octets 1. En-tête: adresse, type du segment d appartenance, etc. 2. Répertoire de tables: informations sur les objets contenus dans le bloc 3. Table des déplacementsdestuples: 2 octets par entrée Entrées non libérées lors de la suppression de tuples Ré-utilisables lors d insertions dans le bloc SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 111/478 SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 112/478 BlocsOracle : Contenu Espaceoccupé: croîtdebasenhaut Espace libre: peut parfois contenir des informations sur des transactions information stockée dans des transaction entries(cf. chapitre Sécurité) Une entrée par opération insert, update, delete, select for update environ 230octets/entrée Paramètres de stockage INITRANSet MAXTRANS: Nombre initial et nombre maximum de transactions concurrentes surlebloc; Index, tables et des groupements de tables(cluster). Gestionetcontrôle duremplissage d unbloc Paramètres de stockage: Contrôler le remplissage de blocs de tables, groupements de tables(cluster) et index ayant leurs propres segments de stockage: 1. PCTFREE: pourcentage minimum d espace libre dans un bloc 2. PCTUSED: pourcentage maximum pouvant être occupé Spécifiés lors de la création ou de la modification d une table, d un cluster ou d un index(create/alter table, cluster ou index) Si taux de remplissage d un bloc Insertions interdites dans le bloc; PCTFREE: Suppressions et modifications autorisées; Reprise des insertions si taux de remplissage à PCTUSED.

c e d f j i f i g f k h SGBD relationnels: Architecture et Administration UHP Nancy 1, Département Informatique 113/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 114/478 PCTFREE, PCTUSED: Exemple PCTFREE, PCTUSED : Exemple PCTFREE = 30% et PCTUSED = 50% : 1. Insertions autorisées dans le bloc jusqu à ce qu il n y reste que 30% d espace libre ; 2. Seules les mises à jour sont alors autorisées dans le bloc ; 3. Insertions de nouveau permises lorsque le taux d occupation du bloc descend au-dessous de 50%. SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 115/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 116/478 Gestionetcontrôle duremplissage d unbloc Gestionetcontrôle duremplissage d unbloc Listes de blocs d insertion(i.e. blocs non saturés) : Pour chaque segment de données ou d index : 1 ou n listes ; n listes pour favoriser les insertions concurrentes. 1. Cas insertion: 2. Cas suppressionou modification: Après l opération Si taux d occupation du bloc PCTUSED : mettre le bloc en tête de la liste des blocs d insertion associée à la transaction qui a émis l opération ; Recherche d un bloc dans la liste ; Si espace insuffisant dans le bloc et taux d occupation PCTUSED : retirer le bloc de la liste. Si un tuple modifié ne peut pas être rangé dans son bloc d origine : Migration vers un autre bloc ; Lien de chaînage (cf. gestion des tas)

m l o l l p n s q q q s q q t r SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 117/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 118/478 Gestionetcontrôle duremplissage d unbloc Si taille d un tuple capacité d un bloc (par exemple, types LONG et LONG RAW) : Rangement dans une chaîne de blocs. Pas de compactage (i.e. élimination effet gruyère, coalesce) systématique du bloc après libération de place ; Compactage lorsque, pour une insertion ou une modification : espace contigu insuffisant ; mais somme d espaces non contigus suffisante. ApplicationauSGBD Oracle 1. Notions sur les tablespaces Compléments dans le chapitre Bases de données et leurs objets 2. Gestion des blocs 3. Gestion des extents 4. Gestion des segments 5. Gestion des caches SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 119/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 120/478 Groupe de blocs contigus, 3.ExtentsOracle Unité d allocation d espace pour un objet dans un segment, Segment : Un ou plusieurs extents ; Bloc d en-tête d un segment : répertoire des extents. Formattage des extents : au fur et à mesure des besoins Forcer le formattage dès l alocation: clause ALLOCATE EXTENT dans alter table (administrateur). ExtentsOracle : Paramètresde stockage Sans paramètres de stockage explicites : Allocation d un extent (initialextent) à la création d un objet ; Quand saturé : allocation d un nouveau (increment). Paramètres de stockage : Taille et nombre d extents pour un objet ; Par défaut : paramètres de la tablespace du segment. 1. Cas des tablespaces gérées localement 2. Cas des tablespaces gérées par le dictionnaire

u u u x x x x y v z z { SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 121/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 122/478 a)extents: Paramètresde stockage etgestionlocale de tablespaces a)extents: Paramètresde stockage etgestionlocale de tablespaces Extents alloués dans le premier fichier (datafile) de la tablespace ayant le nombre requis de blocs libres contigus Localisation des blocs libres : Matrices d occupation des datafiles. Taille d un extent : Fixe ou variable Déterminée par le système. w Modes de choix de la taille d un extent : Arguments UNIFORM ou AUTOALLOCATE de create tablespace UNIFORM : Taille fixe (spécifiée ou 1MO par défaut) AUTOALLOCATE (option par défaut) Taille extent choisie par système Taille minimum : 64KO Valeur par défaut pour les tablespaces permanentes : 64KO Possibilité de spécifier la taille de l extent initial. SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 123/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 124/478 Paramètresde stockage etextents: exemple Paramètresde stockage etextents: exemple T1: tablespace : 5M; extents : 128K T2: tablespace : 2M; extents : 64K, minimum

} } } ~ ƒ š ² SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 125/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 126/478 b)extents: Paramètresde stockage etgestionpar le dictionnaire b)extents: Stockage etgestionpar le dictionnaire : exemple Clause de stockage de la tablespace : spécification de la taille de l extent initial, de l incrément, des suivants, etc. Clause de stockage s applique à la plupart des objets logiques ou physiques d une base (clusters, tables, ro lback segments, partitions, etc.). (Quelques) Arguments de la clause de stockage : INITIAL, NEXT, PCTINCREASE, MINEXTENTS, MAXEXTENTS, BUFFER POOL. SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 127/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 128/478 b)extents: Paramètresde stockage etgestionpar le dictionnaire b)extents: Paramètresde stockage etgestionpar le dictionnaire 1. INITIALxK ou ym : Taille du premier extent (xko ou ymo) ; Alloué à un objet dès la création de sa définition (ou schéma) ; Valeur par défaut : 5*taille d un bloc ; Allocations de blocs : pour éviter la fragmentation des espaces : (a) Allocation de ˆ ƒ ŠŒ blocs, Ž si taille t (xk ou ym) et si t requiert moins de cinq blocs. multiple de la taille des blocs (b) Allocation du plus petit multiple de cinq blocs satisfaisant la demande si nombre de blocs requis par t 5. 2. NEXT xk ou ym : = Taille du deuxième extent ; Minimum = Taille d un bloc ; Valeur par défaut = 5*taille d un bloc. 3. PCTINCREASE : = Pourcentage d augmentation de la taille des extents alloués après le deuxième extent. Taille š d un extent, Œš : œ ± š «ª ª Ÿ ž Œš arrondi à la taille du plus proche multiple de la taille des blocs. Par défaut, PCTINCREASE = 50%..

µ µ ³ ³ º º º» ¹ SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 129/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 130/478 b)extents: Paramètresde stockage etgestionpar le dictionnaire b)extents: Stockage etgestionpar le dictionnaire (suite) 4. MINEXTENTS : nombre minimum d extents à allouer sur un segment lors de sa création ; 5. MAXEXTENTS : nombre maximum d extents allouables à un segment ; 6. BUFFER POOL: Affecter un cache par défaut à un objet autre qu une tablespace ou qu un segment d annulation cf. Gestion des caches Rappel : 1er extent alloué dès la création de la définition d un objet : Allocation des autres extents : 1. Recherche, dans latablespace du segment, du premier espace libre contigu de taille taille extent à allouer ; 2. Cas trouvé : allouer l extent et (a) Fragmenter éventuellement l espace contigu trouvé en espace libre/espace occupé, (b) Mettre à jour le répertoire des extents dans l en-tête du segment, (c) Mettre à jour les tables concernées dans le dictionnaire. SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 131/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 132/478 b)extents: Stockage etgestionpar le dictionnaire Gestiondesextents: Libération 3. Cas échec de larecherche : (a) Compactage éventuel des blocs libres d une tablespace (b) Relance de la recherche. Note : compactages périodiques par le processus d arrière-plan SMON. Généralement pas de libération physique avant suppression de l objet contenu Libérationlogique : marquage dans la matrice d occupation ou dans les tables du dictionnaire Forcer la libération des extents marqués libres (administrateur) : option dealocate unused dans alter table, alter index ou alter cluster.

½ ¾ ¼ Á Á Ä Ã Â Á Å À SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 133/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 134/478. Gestiondesextents(fin): Libérationphysique 1. Notions sur les tablespaces ApplicationauSGBD Oracle Compléments dans le chapitre Bases de données et leurs objets 2. Gestion des blocs 3. Gestion des extents 4. Gestion des segments 5. Gestion des caches SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 135/478 SGBD relationnels : Architecture et Administration UHP Nancy 1, Département Informatique 136/478 4.SegmentsOracle Blocs des extents : contigus, extents d un segment : pas nécessairement contigus Segment : alloué à un objet de la base, dans une tablespace éventuellement dans des fichiers physiques différents. Quatre types de segments : 1. Données (cf. chapitre bases de données) 2. Index (cf. chapitre bases de données) 3. Temporaires (ici) 4. Annulation (cf. chapitre sécurité et reprise) Oracle : Segmentstemporaires = Espaces disque Utilisés lors de l analyse et de l exécution de requêtes create index, select distinct avec/sans order byet/ou groupby avec,, de jointures sans index. Utilisables pour des index construits pour des tables temporaires