Administration et Sécurité des Bases de Données Année Universitaire : 2019-2020

Administration et Sécurité des Bases de Données Année Universitaire : 2019-2020 1 Les Tablespaces 2 Structure logique • La structure logique définit le mode d'utilisation de l'espace physique d'une base de données. • Cette structure possède une hiérarchie composée de tablespaces, de segments, d'extents et de blocs. 3 Tablespaces et fichiers de données • Oracle stocke les données logiquement dans les tablespaces et physiquement dans les fichiers de données. – Un tablespace : • ne peut appartenir qu’à une seule base de données à la fois, • est composé d’un ou de plusieurs fichiers de données, • est divisé en unités logiques de stockage. – Un fichier de données : • ne peut appartenir qu’à un tablespace et qu’à une seule base de données. Base de données Tablespace Fichiers de données 4 Types des tablespaces – Le tablespace SYSTEM • est créé en même temps que la base de données; • contient le dictionnaire de données; • contient le segment d'annulation SYSTEM. – Le tablespace non SYSTEM • sépare les segments; • facilite l'administration de l'espace; • gère la quantité d'espace allouée aux utilisateurs. 5 Création des tablespaces CREATE TABLESPACE userdata DATAFILE '/u01/oradata/userdata01.dbf' SIZE 100M AUTOEXTEND ON NEXT 5M MAXSIZE 200M; • Un tablespace est créé à l'aide de la commande : CREATE TABLESPACE 6 Gestion de l'espace dans les tablespaces Les tablespaces affectent de l'espace dans les extents au moment de leur création, alors deux méthodes de gestion de l'espace sont utilisées : – Tablespace géré localement : • Extents libres sont gérés dans le tablespace – Tablespace géré au moyen du dictionnaire : • Les extents libres sont gérés par le dictionnaire de données. • Les tables appropriées sont mises à jour lorsque les extents sont alloués ou libérés. 7 Tablespaces gérés localement Aucune annulation n'est générée lors de l'allocation ou de la libération d'espace. CREATE TABLESPACE userdata DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; 8 Tablespaces gérés au moyen du dictionnaire – Les extents sont gérés dans le dictionnaire de données. – Chaque segment stocké dans le tablespace peut posséder une clause de stockage différente. CREATE TABLESPACE userdata DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE (initial 1M NEXT 1M PCTINCREASE 0); 9 Tablespace d'annulation – Un tablespace d'annulation est utilisé dans la gestion automatique des annulations (AUM :Automatic Undo Management) (Oracle gère la taille des segments de restauration à l’aide de l’AUM). – Il permet de stocker des segments d'annulation. – Il ne peut contenir aucun autre objet. – Les extents sont gérés localement. – Il ne peut être utilisé qu'avec les clauses DATAFILE et EXTENT. CREATE UNDO TABLESPACE undo1 DATAFILE '/u01/oradata/undo01.dbf' SIZE 40M; 10 Tablespaces TEMPORARY Le tablespace temporaire héberge les segments temporaires issus des requêtes ou de commandes SQL telles que : (select … order by , select … group by, les requêtes ensemblistes UNION et MINUS) – Ils ne peuvent pas contenir d'objets permanents. – La gestion locale des extents est recommandée. CREATE TEMPORARY TABLESPACE temp TEMPFILE '/u01/oradata/temp01.dbf' SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4M; 11 Tablespace TEMPORARY par défaut – Un tablespace TEMPORARY par défaut correspond toujours à la base de données. – Permet d'effectuer des suppressions à l'aide du tablespace SYSTEM pour stocker des données temporaires. – Un tablespace TEMPORARY peut être créé à l'aide de : • CREATE DATABASE • ALTER DATABASE 12 - Pendant la création de la base de données (CREATE DATABASE) : CREATE DATABASE DBA01 LOGFILE GROUP 1 ('/$HOME/ORADATA/u01/redo01.log') SIZE 100M, GROUP 2 ('/$HOME/ORADATA/u02/redo02.log') SIZE 100M, MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXLOGHISTORY 1 MAXDATAFILES 100 MAXINSTANCES 1 DATAFILE '/$HOME/ORADATA/u01/system01.dbf' SIZE 325M UNDO TABLESPACE undotbs DATAFILE '/$HOME/ORADATA/u02/undotbs01.dbf' SIZE 200 DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/$HOME/ORADATA/u03/temp01.dbf' SIZE 4M CHARACTER SET US7ASCII 13 – Une fois la base de données créée (ALTER DATABASE) : – Pour trouver le tablespace TEMPORARY par défaut de la base de données, interrogez DATABASE_PROPERTIES. ALTER DATABASE DEFAULT TEMPORARY TABLESPACE default_temp; SELECT * FROM DATABASE_PROPERTIES; 14 Restrictions relatives au tablespace TEMPORARY par défaut Les tablespaces TEMPORARY par défaut ne peuvent pas être : – supprimés tant qu'un nouveau tablespace par défaut n'est pas disponible. – mis hors ligne. – transformé en tablespace permanent. 15 Tablespaces accessibles en lecture seule Utilisez la commande suivante pour placer un tablespace en lecture seule. Ces données sont disponibles pour les opérations de lecture uniquement. ALTER TABLESPACE userdata READ ONLY; 16 Mettre un tablespace hors ligne – Mettre un tablespace hors ligne : – Mettre un tablespace en ligne : – Tablespaces ne pouvant pas être mis hors ligne : • Tablespace SYSTEM • Tablespaces contenant des segments d'annulation actifs. • Tablespace TEMPORARY par défaut. ALTER TABLESPACE userdata OFFLINE; ALTER TABLESPACE userdata ONLINE; 17 Modifier les paramètres de stockage – Utiliser la commande ALTER TABLESPACE pour modifier les paramètres de stockage : – Les paramètres de stockage des tablespaces gérés localement ne peuvent pas être modifiés. ALTER TABLESPACE userdata MINIMUM EXTENT 2M; ALTER TABLESPACE userdata DEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 999); 18 Redimensionner un tablespace Un tablespace peut être redimensionné en : – modifiant la taille d'un fichier de données : • automatiquement à l'aide de AUTOEXTEND • manuellement à l'aide de ALTER TABLESPACE – ajoutant un fichier de données à l'aide de ALTER TABLESPACE 19 Activer l'extension automatique des fichiers de données – Les fichiers peuvent être redimensionnés automatiquement à l'aide des commandes suivantes : • CREATE DATABASE • CREATE TABLESPACE • ALTER TABLESPACE … ADD DATAFILE – Exemple : – Interrogez la vue DBA_DATA_FILES pour déterminer si AUTOEXTEND est activé. CREATE TABLESPACE user_data DATAFILE '/u01/oradata/userdata01.dbf' SIZE 200M AUTOEXTEND ON NEXT 10M MAXSIZE 500M; 20 Redimensionner manuellement un fichier de données – On augmente ou on réduise manuellement la taille d'un fichier de données à l'aide de ALTER DATABASE. – L e redimensionnement d’un fichier de données ajoute de l'espace sans ajouter de fichier de données. – Le redimensionnement manuel d'un fichier de données requiert l'utilisation de l'espace libre d'une base de données. Exemple : ALTER DATABASE DATAFILE '/u03/oradata/userdata02.dbf' RESIZE 200M; 21 Ajouter des fichiers de données à un tablespace - On peut Augmenter l'espace alloué à un tablespace en ajoutant des fichiers de données à l’aide de La clause ADD DATAFILE. ALTER TABLESPACE user_data ADD DATAFILE '/u01/oradata/userdata03.dbf' SIZE 200M; 22 Méthodes de déplacement des fichiers de données Pour renommer un fichier de données, Le tablespace doit être hors ligne et les fichiers de données cibles doivent exister. Etapes permettant de renommer un fichier • Mettre le tablespace hors ligne. • Utiliser la commande appropriée du système d'exploitation pour déplacer ou copier les fichiers. • Exécutez la commande ALTER TABLESPACE RENAME DATAFILE. • Mettre le tablespace en ligne. • Au besoin, utiliser la commande appropriée du système d'exploitation pour supprimer le fichier. ALTER TABLESPACE userdata RENAME DATAFILE '/u01/oradata/userdata01.dbf' TO '/u02/oradata/userdata01.dbf'; 23 Méthodes de déplacement des fichiers de données A l’aide de ALTER DATABASE • La base de données doit être montée. • Le fichier de données cible doit exister. ALTER DATABASE RENAME FILE '/u01/oradata/system01.dbf' TO '/u03/oradata/system01.dbf'; 24 Supprimer des tablespaces – Un tablespace ne peut pas être supprimé : • s'il s'agit du tablespace SYSTEM, • s'il possède des segments actifs. – INCLUDING CONTENTS supprime les segments. – INCLUDING CONTENTS AND DATAFILES supprime les fichiers de données – CASCADE CONSTRAINTS supprime les contraintes d'intégrité référentielle DROP TABLESPACE userdata INCLUDING CONTENTS AND DATAFILES; 25 Obtenir des informations sur les tablespaces On peut obtenir des informations sur les tablespaces et les fichiers de données en interrogeant les éléments suivants : – Tablespaces : • DBA_TABLESPACES • V$TABLESPACE – Informations sur le fichier de données : • DBA_DATA_FILES • V$DATAFILE – Informations sur les fichiers temporaires : • DBA_TEMP_FILES • V$TEMPFILE 26 Gestion d’une instance Oracle 27 spfileSID.ora initSID.ora Fichiers de paramètres d'initialisation Instance Oracle Mémoire SGA Tampon de journali- sation Zone de mémoire partagée Cache du dictionnaire de données Cache "library" DBW0 SMON PMON CKPT LGWR Autres Cache de tampons de la base de données Zone de mémoire Java Zone de mémoire LARGE POOL Pour démarrer une instance, le serveur Oracle doit lire le fichier de paramètres d'initialisation. 28 Fichiers de paramètres d'initialisation Le fichier de paramètres d'initialisation peut être de deux types : • Fichier de paramètres statique PFILE (Parameter File) généralement nommé initSID.ora • Fichier de paramètres persistant SPFILE (Server Parameter File) généralement nommé spfileSID.ora 29 Fichiers de paramètres d'initialisation Les fichiers de paramètres d'initialisation contiennent : • Liste de paramètres d'instance • Nom de la base de données à laquelle l'instance est associée • Affectations destinées aux structures mémoire de la mémoire SGA (System Global Area) • Utilisation des fichiers de journalisation en ligne (online) remplis • Noms et emplacements des fichiers de contrôle • Informations relatives aux segments d'annulation Une instance peut présenter plusieurs fichiers de paramètres d'initialisation afin d'optimiser les performances dans certaines situations. 30 Fichier PFILE initSID.ora – Il s'agit d'un fichier texte; – Il peut être modifié à l'aide d'un éditeur du système d'exploitation; – Toute modification est apportée manuellement ; – Les modifications sont effectives au démarrage suivant; uploads/Philosophie/administration-et-securite-des-bd-partie-3.pdf

  • 26
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager