La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Gérer les tablespaces et les fichiers de données

Présentations similaires


Présentation au sujet: "Gérer les tablespaces et les fichiers de données"— Transcription de la présentation:

1 Gérer les tablespaces et les fichiers de données

2 Objectifs A la fin de ce chapitre, vous pourrez :
définir la fonction des tablespaces et des fichiers de données créer des tablespaces gérer des tablespaces créer et gérer des tablespaces à l’aide d'Oracle-Managed Files (OMF)

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, est un référentiel pour les données d’objet de schéma. Base de données Tablespaces et fichiers de données Les bases de données, les tablespaces et les fichiers de données sont très proches, mais ils présentent d’importantes différences. Une base de données Oracle est composée d’une ou de plusieurs unités de stockage logiques appelées tablespaces, qui de manière collective stockent toutes les données de la base de données. Chaque tablespace d'une base de données Oracle contient un ou plusieurs fichiers appelés fichiers de données. Ces fichiers sont des structures physiques conformes au système d'exploitation sur lequel s'exécute le serveur Oracle. Les données d'une base sont stockées de manière collective dans les fichiers de données constituant chaque tablespace de la base de données. Par exemple, la base de données Oracle la plus simple comportera un tablespace et un fichier de données. Une autre base de données pourra comporter trois tablespaces, chacun étant composé de deux fichiers de données (soit un total de six fichiers de données). Tablespace Fichiers de données

4 Types de tablespace Le tablespace SYSTEM : Le tablespace non 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. Types de tablespace L'administrateur de base de données crée des tablespaces pour améliorer le contrôle et faciliter la gestion de la base. Le serveur Oracle accepte deux types de tablespace : le tablespace SYSTEM et tous les autres tablespaces. Le tablespace SYSTEM : est créé en même temps que la base de données, doit exister dans toutes les bases de données, contient le dictionnaire de données, y compris les programmes stockés, contient le segment d'annulation SYSTEM, ne doit pas contenir de données utilisateur, bien que cela soit possible. Les tablespaces non SYSTEM : facilitent l'administration de la base de données, séparent les segments d'annulation, les segments temporaires, les segments de données d'application et les segments d'index d'application, séparent les données en fonction des besoins de sauvegarde, séparent les données dynamiques des données statiques, gèrent la quantité d'espace allouée aux objets utilisateur.

5 Créer des tablespaces Un tablespace est créé à l'aide de la commande :
CREATE TABLESPACE CREATE TABLESPACE userdata DATAFILE '/u01/oradata/userdata01.dbf' SIZE 100M AUTOEXTEND ON NEXT 5M MAXSIZE 200M; Créer des tablespaces La commande CREATE TABLESPACE permet de créer un tablespace : CREATE TABLESPACE tablespace [DATAFILE clause] [MINIMUM EXTENT integer[K|M]] [BLOCKSIZE integer [K]] [LOGGING|NOLOGGING] [DEFAULT storage_clause ] [ONLINE|OFFLINE] [PERMANENT|TEMPORARY] [extent_management_clause] [segment_management_clause]

6 Gestion de l'espace dans les tablespaces
Tablespace géré localement : Extents libres gérés dans le tablespace Un bitmap est utilisé pour enregistrer des extents libres Chaque bit correspond à un bloc ou à un groupe de blocs La valeur des bits indique si ceux-ci sont disponibles ou utilisés 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. Gestion de l'espace dans les tablespaces Les tablespaces affectent de l'espace dans les extents. Lors de leur création, vous pouvez choisir l'une ou l'autre des méthodes de gestion de l'espace libre et utilisé suivantes : Tablespaces gérés localement : les extents sont gérés dans le tablespace via des bitmaps. Chaque bit du bitmap correspond à un bloc ou à un groupe de blocs. Lorsqu'un extent est alloué ou libéré pour être réutilisé, le serveur Oracle modifie les valeurs bitmap pour indiquer le nouveau statut des blocs. Cette méthode est utilisée par défaut dans Oracle9i. Tablespaces gérés au moyen du dictionnaire : Les extents sont gérés à l'aide du dictionnaire de données. Le serveur Oracle met à jour les tables appropriées dans le dictionnaire de données chaque fois qu'un extent est alloué ou libéré.

7 Tablespaces gérés localement
La contention au niveau des tables du dictionnaire de données est réduite. Aucune annulation n'est générée lors de l'allocation ou de la libération d'espace. Aucune fusion n'est requise. CREATE TABLESPACE userdata DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; Tablespaces gérés localement L'option LOCAL (option par défaut) de la clause EXTENT MANAGEMENT permet d'indiquer qu'un tablespace doit être géré localement. extent_management_clause: [ EXTENT MANAGEMENT [ DICTIONARY | LOCAL [ AUTOALLOCATE | UNIFORM [SIZE integer[K|M]] ] ] ] Où : DICTIONNARY indique que le tablespace est géré à l'aide des tables du dictionnaire. LOCAL indique que le tablespace est géré localement à l'aide d'un bitmap. Si vous définissez LOCAL, vous ne pouvez pas définir DEFAULT storage_clause, MINIMUM EXTENT ou TEMPORARY. AUTOALLOCATE (option par défaut) indique que le tablespace est géré par le système (les utilisateurs ne peuvent pas définir de taille d'extent). UNIFORM indique que le tablespace est géré à l'aide d'extents d'une taille uniforme de SIZE octets. Utilisez K ou M pour définir la taille d'extent en kilo-octets ou en mégaoctets. La taille par défaut est de 1 Mo.

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 Une fusion est requise CREATE TABLESPACE userdata DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE (initial 1M NEXT 1M PCTINCREASE 0); Tablespaces gérés au moyen du dictionnaire Il est possible de personnaliser le stockage des segments des tablespaces gérés au moyen du dictionnaire. Cette méthode est plus souple que celle applicable aux tablespaces gérés localement, mais elle s'avère beaucoup moins efficace.

9 Tablespace d'annulation
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; Tablespace d'annulation Un tablespace d'annulation est utilisé dans la gestion automatique des annulations (AUM). Pour plus d'informations, voir le chapitre "Gérer les données d'annulation". CREATE UNDO TABLESPACE tablespace [DATAFILE clause]

10 Tablespaces TEMPORARY
Ils sont utilisés pour les opérations de tri 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; Tablespaces TEMPORARY Vous pouvez gérer plus efficacement l'espace pour les opérations de tri en définissant des tablespaces TEMPORARY réservés exclusivement aux segments de tri. Aucun objet de schéma permanent ne peut résider dans un tablespace TEMPORARY. Un segment de tri ou un segment temporaire est utilisé lorsqu'un segment est partagé par plusieurs opérations de tri. Les tablespaces TEMPORARY améliorent les performances lorsque plusieurs tris ne peuvent tenir dans la mémoire. Le segment de tri d'un tablespace TEMPORARY donné est créé lors de la première opération de tri dans l'instance. La taille du segment de tri augmente par allocation d'extents jusqu'à ce qu'elle soit égale ou supérieure au nombre total des demandes de stockage de tous les tris en cours exécutés dans l'instance.

11 Tablespace TEMPORARY par défaut
Définit un tablespace TEMPORARY par défaut correspondant à 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 Géré localement ALTER DATABASE Tablespace TEMPORARY par défaut Lorsque vous ne définissez pas de tablespace TEMPORARY par défaut à la création de la base de données, le tablespace SYSTEM est affecté à tous les utilisateurs créés sans la clause TEMPORARY TABLESPACE. Par ailleurs, un avertissement indiquant que le tablespace SYSTEM est le tablespace temporaire par défaut est placé dans le fichier alert_sid.log. Si vous créez un tablespace TEMPORARY par défaut en même temps que la base de données, le tablespace SYSTEM ne sera pas utilisé à des fins de stockage temporaire. Pour définir un tablespace TEMPORARY par défaut une fois la base de données créée, vous devez créer un tablespace TEMPORARY, puis modifier la base de données. SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp; Les utilisateurs qui n'ont pas été explicitement affectés à un tablespace TEMPORARY seront alors affectés au tablespace TEMPORARY par défaut. Vous pouvez modifier la base de données temporaire par défaut à tout moment à l'aide de la commande ALTER DATABASE DEFAULT TEMPORARY TABLESPACE. En cas de modification du tablespace TEMPORARY par défaut, tous les utilisateurs affectés à ce tablespace sont réaffectés au nouveau tablespace par défaut. ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;

12 Créer un tablespace TEMPORARY par défaut
Pendant la création de la base de données : 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 Créer un tablespace TEMPORARY par défaut Pendant la création de la base de données : Lorsque vous ne définissez pas de tablespace TEMPORARY par défaut à la création de la base de données, le tablespace SYSTEM est affecté à tous les utilisateurs créés sans la clause TEMPORARY TABLESPACE. Par ailleurs, un avertissement est placé dans le fichier alert_sid.log, indiquant que le tablespace SYSTEM est le tablespace TEMPORARY par défaut. Si vous créez un tablespace TEMPORARY par défaut en même temps que la base de données, le tablespace SYSTEM ne sera pas utilisé à des fins de stockage temporaire. Lorsqu'un tablespace TEMPORARY par défaut est créé à l'aide de la commande CREATE DATABASE, il est géré localement.

13 Créer un tablespace TEMPORARY par défaut
Une fois la base de données créée : Pour trouver le tablespace TEMPORARY par défaut de la base de données, interrogez DATABASE_PROPERTIES. ALTER DATABASE DEFAULT TEMPORARY TABLESPACE default_temp2; SELECT * FROM DATABASE_PROPERTIES; Créer un tablespace TEMPORARY par défaut (suite) Une fois la base de données créée : Un tablespace TEMPORARY par défaut peut être créé et défini à l'aide de : la commande CREATE TABLESPACE pour créer un tablespace TEMPORARY, la commande ALTER DATABASE comme indiqué ci-dessus. Les utilisateurs qui n'ont pas été explicitement affectés à un tablespace temporaire seront alors affectés au tablespace temporaire par défaut. Vous pouvez modifier le tablespace TEMPORARY par défaut à tout moment à l'aide de la commande ALTER DATABASE DEFAULT TEMPORARY TABLESPACE. En cas de modification du tablespace TEMPORARY par défaut, tous les utilisateurs affectés à ce tablespace sont réaffectés au nouveau tablespace par défaut.

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. Restrictions relatives au tablespace TEMPORARY par défaut Supprimer un tablespace TEMPORARY par défaut Avant de supprimer le tablespace TEMPORARY par défaut, vous devez en créer un nouveau à l'aide de la commande ALTER DATABASE. L'ancien tablespace n'est supprimé que lorsque le nouveau est disponible. Les utilisateurs affectés à l'ancien tablespace sont automatiquement réaffectés au nouveau. Modifier le type de tablespace TEMPORARY par défaut Dans la mesure où le tablespace TEMPORARY par défaut doit être le tablespace SYSTEM ou un tablespace TEMPORARY, vous ne pouvez pas le transformer en tablespace permanent. Mettre le tablespace TEMPORARY par défaut hors ligne (offline) La mise hors ligne des tablespaces vise à rendre cette partie de la base de données indisponible pour d'autres utilisateurs (sauvegarde hors ligne, maintenance ou modification d'une application qui utilise le tablespace, par exemple). Etant donné que ces situations ne s'appliquent pas aux tablespaces TEMPORARY, vous ne pouvez pas mettre hors ligne un tablespace TEMPORARY par défaut.

15 Tablespaces accessibles en lecture seule
Utilisez la commande suivante pour placer un tablespace en lecture seule. Crée un point de reprise. Ces données sont disponibles pour les opérations de lecture uniquement. Il est possible de supprimer des objets des tablespaces ALTER TABLESPACE userdata READ ONLY; Tablespaces accessibles en lecture seule La commande ALTER TABLESPACE [tablespace]READ ONLY place le tablespace en mode lecture seule de transition. Ce mode n'autorise pas les opérations d'écriture dans le tablespace, excepté pour l'annulation de transactions existantes qui ont préalablement modifié des blocs du tablespace. Une fois toutes les transactions existantes validées ou annulées, la commande en lecture seule s'exécute et place le tablespace en lecture seule. Vous pouvez supprimer des éléments, tels que des tables et des index, d'un tablespace en lecture seule, car ces commandes n'affectent que le dictionnaire de données. Cette opération est possible car la commande DROP met à jour le dictionnaire de données et non les fichiers physiques qui constituent le tablespace. Pour les tablespaces gérés localement, le segment supprimé est converti en segment temporaire pour éviter la mise à jour du bitmap. Pour rendre accessible en écriture un tablespace qui est en lecture seule, tous ses fichiers de données doivent être en ligne (online). La mise en lecture seule d'un tablespace crée un point de reprise dans les fichiers de données du tablespace.

16 Mettre un tablespace hors ligne
Non disponible pour l'accès aux données Tablespaces ne pouvant pas être mis hors ligne : Tablespace SYSTEM : Tablespaces contenant des segments d'annulation actifs Tablespace TEMPORARY par défaut Mettre un tablespace hors ligne : Mettre un tablespace en ligne : ALTER TABLESPACE userdata OFFLINE; Mettre un tablespace hors ligne Un tablespace est généralement en ligne, ce qui permet aux utilisateurs de la base d'accéder aux données qu'il contient. Toutefois, l'administrateur de base de données peut le mettre hors ligne pour : rendre une partie de la base de données indisponible tout en permettant l'accès normal au reste de la base, sauvegarder un tablespace hors ligne (bien qu'il soit possible de sauvegarder un tablespace pendant qu'il est en ligne et en cours d'utilisation), restaurer un tablespace ou un fichier de données lorsque la base de données est ouverte, déplacer un fichier de données lorsque la base est ouverte. Statut hors ligne d'un tablespace Lorsque vous mettez un tablespace hors ligne, le serveur Oracle ne permet pas aux instructions SQL qui suivent de faire référence aux objets contenus dans le tablespace. Dans ce cas, les utilisateurs qui tentent d'accéder à ces objets reçoivent un message d'erreur. La mise hors ligne ou en ligne des tablespaces est enregistrée dans le dictionnaire de données et le fichier de contrôle. Si un tablespace est hors ligne lorsque vous arrêtez une base de données, il reste hors ligne et n'est pas vérifié au remontage et à la réouverture de la base de données. 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); Modifier les paramètres de stockage Utilisez la commande ALTER TABLESPACE pour modifier la définition de stockage par défaut d'un tablespace : ALTER TABLESPACE tablespace [MINIMUM EXTENT integer[K|M] |DEFAULT storage_clause ]

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 Redimensionner un tablespace Vous pouvez augmenter la taille d'un tablespace de deux manières : en modifiant automatiquement ou manuellement la taille d'un fichier de données, en ajoutant un fichier de données au 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; Activer l'extension automatique des fichiers de données Indiquer AUTOEXTEND pour un nouveau fichier de données La clause AUTOEXTEND permet d'activer ou de désactiver l'extension automatique des fichiers de données. La taille des fichiers est incrémentée selon vos indications mais est limitée par une valeur maximale. Avantages de l'utilisation de la clause AUTOEXTEND : Le besoin d'intervention immédiate est réduit lorsque l'espace disponible est insuffisant dans le tablespace. Les applications ne s'arrêtent plus à cause des pannes d'allocation des extents. Lors de la création d'un fichier de données, utilisez les commandes SQL suivantes pour activer l'augmentation automatique de la taille du fichier de données : CREATE DATABASE CREATE TABLESPACE ... DATAFILE ALTER TABLESPACE ... ADD DATAFILE

20 Redimensionner manuellement un fichier de données
Augmentez ou réduisez manuellement la taille d'un fichier de données à l'aide de ALTER DATABASE. Redimensionner 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; Redimensionner manuellement un fichier de données Pour augmenter l'espace de la base de données, le DBA peut redimensionner un fichier de données au lieu d'ajouter des fichiers de données. La commande ALTER DATABASE permet d'augmenter ou de diminuer manuellement la taille d'un fichier de données. ALTER DATABASE [database] DATAFILE ‘filename’[, ‘filename’]... RESIZE integer[K|M] Où : Integer correspond à la taille absolue, en octets, du fichier de données final. S'il existe des objets de base de données ayant une taille supérieure à la taille définie, la taille du fichier de données est diminuée uniquement jusqu'au dernier bloc des derniers objets du fichier de données.

21 Ajouter des fichiers de données à un tablespace
Augmente l'espace alloué à un tablespace en ajoutant des fichiers de données. La clause ADD DATAFILE permet d'ajouter un fichier de données. Exemple : ALTER TABLESPACE user_data ADD DATAFILE '/u01/oradata/userdata03.dbf' SIZE 200M; Ajouter des fichiers de données à un tablespace Utilisez la commande ALTER TABLESPACE ADD DATAFILE pour ajouter des fichiers de données à un tablespace afin d'augmenter l'espace disque total qui lui est alloué. ALTER TABLESPACE tablespace ADD DATAFILE filespec [autoextend_clause]

22 Méthodes de déplacement des fichiers de données
ALTER TABLESPACE Le tablespace doit être hors ligne. Les fichiers de données cible doivent exister. Etapes permettant de renommer un fichier Mettez le tablespace hors ligne. Utilisez la commande appropriée du système d'exploitation pour déplacer ou copier les fichiers. Exécutez la commande ALTER TABLESPACE RENAME DATAFILE. Mettez le tablespace en ligne. Au besoin, utilisez 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'; Méthodes de déplacement des fichiers de données Selon le type de tablespace, l'administrateur de base de données peut déplacer des fichiers de données en utilisant l'une des méthodes suivantes : Commande ALTER TABLESPACE La commande ALTER TABLESPACE présentée ci-dessous ne s'applique qu'aux fichiers de données d'un tablespace non SYSTEM qui ne contiennent pas de segments d'annulation ou temporaires actifs : ALTER TABESPACE tablespace RENAME DATAFILE 'filename'[, 'filename']... TO 'filename'[, 'filename']... Les noms des fichiers source doivent correspondre à ceux stockés dans le fichier de contrôle.

23 Méthodes de déplacement des fichiers de données
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'; Méthodes de déplacement des fichiers de données (suite) Commande ALTER DATABASE La commande ALTER DATABASE permet de déplacer tous les types de fichier de données. ALTER DATABASE [database] RENAME FILE 'filename'[, 'filename']... TO 'filename'[, 'filename']... Dans la mesure où le tablespace SYSTEM ne peut pas être mis hors ligne, vous devez utiliser cette méthode pour déplacer ses fichiers de données. Pour renommer les fichiers des tablespaces qui ne peuvent pas être mis hors ligne, procédez comme suit : 1. Arrêtez la base de données. 2. Utilisez la commande de système d'exploitation appropriée pour déplacer les fichiers. 3. Montez la base de données. 4. Exécutez la commande ALTER DATABASE RENAME FILE. 5. Ouvrez la base de données.

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 Supprimer des tablespaces Vous pouvez utiliser la commande SQL DROP TABLESPACE pour supprimer un tablespace de la base de données lorsque le tablespace et son contenu ne sont plus utiles : DROP TABLESPACE tablespace [INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]] Où : tablespace correspond au nom du tablespace à supprimer. INCLUDING CONTENTS supprime tous les segments du tablespace. AND DATAFILES supprime les fichiers du système d'exploitation associés. CASCADE CONSTRAINTS supprime les contraintes d'intégrité référentielles des tables situées en dehors du tablespace qui font référence aux clés primaires et uniques des tables du tablespace supprimé. DROP TABLESPACE userdata INCLUDING CONTENTS AND DATAFILES;

25 Gérer des tablespaces à l'aide d'OMF
Définissez le paramètre DB_CREATE_FILE_DEST en utilisant l'une des méthodes suivantes : Fichier de paramètres d'initialisation Définition dynamique à l'aide de la commande ALTER SYSTEM Lorsque vous créez le tablespace : le fichier de données est automatiquement créé dans DB_CREATE_FILE_DEST, la taille par défaut est de 100 Mo, La valeur UNLIMITED est affectée à AUTOEXTEND. ALTER SYSTEM SET db_create_file_dest = '/u01/oradata/dba01'; Gérer des tablespaces à l'aide d'OMF Le paramètre d'initialisation DB_CREATE_FILE_DEST est défini lors de la configuration d'Oracle-Managed Files (OMF) pour la création de tablespaces. La clause DATAFILE n'est pas requise. Tous les fichiers de données sont créés automatiquement et leur emplacement est défini par DB_CREATE_FILE_DEST. Le nom du fichier est généré automatiquement par le serveur Oracle (ora_tbs1_2ixfh90q.dbf).

26 Gérer des tablespaces à l'aide d'OMF
Créer un tablespace OMF Ajouter un fichier de données OMF à un tablespace existant Modifier de manière dynamique l'emplacement du fichier par défaut : Supprimer un tablespace supprime également des fichiers du système d'exploitation. CREATE TABLESPACE text_data DATAFILE SIZE 20M; ALTER TABLESPACE text_data ADD DATAFILE; ALTER SYSTEM SET db_create_file_dest = '/u01/oradata/dba01'; Gérer des tablespaces à l'aide d'OMF Créer des tablespaces à l'aide d'OMF La création de tablespaces avec OMF ne requiert pas de clause DATAFILE. Dans ce cas, la taille par défaut des fichiers est de 100 Mo et AUTOEXTEND est défini sans restriction de taille maximale (MAXSIZE). Il est toutefois possible d'indiquer une taille de fichier. CREATE TABLESPACE tablespace [ DATAFILE [ filename ] [ SIZE integer [K|M] ] ]; Ajouter des fichiers de données aux tablespaces OMF Un fichier de données peut être ajouté à un tablespace existant. La commande ADD DATAFILE ne requiert plus de spécification de fichier. Modifier de manière dynamique les emplacements du fichier par défaut DB_CREATE_ONLINE_LOG_DEST_n doit être défini pour éviter que des fichiers journaux et des fichiers de contrôle ne soient placés avec des fichiers de données. Leur destination peut être modifiée de manière dynamique à l'aide de la commande SYSTEM SET. Supprimer les tablespaces OMF Lorsqu'un tablespace créé avec OMF est supprimé, les fichiers de données associés sont supprimés au niveau du système d'exploitation.

27 Obtenir des informations sur les tablespaces
Vous pouvez 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

28 Synthèse Ce chapitre vous a permis d'apprendre à :
utiliser des tablespaces pour séparer des données créer différents types de tablespace gérer des tablespaces gérer des tablespaces à l'aide d'OMF


Télécharger ppt "Gérer les tablespaces et les fichiers de données"

Présentations similaires


Annonces Google