Vous êtes sur la page 1sur 25

Objectifs

A la fin de ce chapitre, vous pourrez :


• définir la fonction des tablespaces et des fichiers de
données
Gérer les tablespaces et les fichiers
• créer des tablespaces
de données
• gérer des tablespaces
• créer et gérer des tablespaces à l’aide d'Oracle-
Managed Files (OMF)

Copyright © Oracle Corporation, 2001. Tous droits réservés. 8-2 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Oracle9i Database Administration I 8-2


Structure de stockage et relations Tablespaces et fichiers de données

Base de données
PROD
Oracle stocke les données logiquement dans les
TABLESPACES
SYSTEM USER_DATA RBS TEMP
tablespaces et physiquement dans les fichiers de données.
FICHIERS DE DONNEES • Un tablespace :
DISK2/ DISK3/ DISK1/ DISK1/
DISK1/SYS1.dbf USER1.dbf USER2.dbf ROLL1.dbf TEMP.dbf – ne peut appartenir qu’à une seule base de données à la fois,
SEGMENTS S_DEPT S_EMP S_DEPT S_EMP RBS1 RBS2 RBS1 RBS2 Temp
– est composé d’un ou de plusieurs fichiers de données,
(suite) FIRST_N (suite) (suite)
Table Index AME

D.D. D.D. Index – est divisé en unités logiques de stockage.


Seg Seg Seg Seg Seg Seg Seg
RB RB RB
Seg Seg Seg données
données Index RB
données Seg
Data
Seg
Index
RB
Temp • Un fichier de données :
Base de données
– ne peut appartenir qu’à un
EXTENTS
tablespace et qu’à une seule Tablespace
1 2 1 2 1 2 1 1 2 2 1 DISPO 1 1 2 2 1
– base de données,
BLOCS DE DONNEES Oracle
– est un référentiel pour les Fichiers de
données
– données d’objet de schéma.

8-3 Copyright © Oracle Corporation, 2001. Tous droits réservés. 8-4 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Architecture de base de données Tablespaces et fichiers de données


Le chapitre précédent portait sur la structure de stockage d'une base de données, ses Les bases de données, les tablespaces et les fichiers de données sont très proches, mais ils
tablespaces et ses fichiers de données. Ce chapitre prolonge la description de la structure de présentent d’importantes différences.
stockage d'une base de données et aborde plus particulièrement les segments, les extents • Une base de données Oracle est composée d’une ou de plusieurs unités de stockage
(ensemble de blocs contigus) et les blocs de données. 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).

Oracle9i Database Administration I 8-3 Oracle9i Database Administration I 8-4


Types de tablespace Créer des tablespaces

• Le tablespace SYSTEM : Un tablespace est créé à l'aide de la commande :


– est créé en même temps que la base de données, CREATE TABLESPACE
– contient le dictionnaire de données,
CREATE TABLESPACE userdata
– contient le segment d'annulation SYSTEM. DATAFILE '/u01/oradata/userdata01.dbf' SIZE 100M
• Le tablespace non SYSTEM AUTOEXTEND ON NEXT 5M MAXSIZE 200M;
– sépare les segments,
– facilite l'administration de l'espace,
– gère la quantité d'espace allouée aux utilisateurs.

8-5 Copyright © Oracle Corporation, 2001. Tous droits réservés. 8-6 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Types de tablespace Créer des tablespaces


L'administrateur de base de données crée des tablespaces pour améliorer le contrôle et faciliter La commande CREATE TABLESPACE permet de créer un tablespace :
la gestion de la base. Le serveur Oracle accepte deux types de tablespace : le tablespace CREATE TABLESPACE tablespace
SYSTEM et tous les autres tablespaces.
[DATAFILE clause]
Le tablespace SYSTEM :
[MINIMUM EXTENT integer[K|M]]
• est créé en même temps que la base de données,
[BLOCKSIZE integer [K]]
• doit exister dans toutes les bases de données,
[LOGGING|NOLOGGING]
• contient le dictionnaire de données, y compris les programmes stockés,
[DEFAULT storage_clause ]
• contient le segment d'annulation SYSTEM,
[ONLINE|OFFLINE]
• ne doit pas contenir de données utilisateur, bien que cela soit possible.
[PERMANENT|TEMPORARY]
Les tablespaces non SYSTEM :
[extent_management_clause]
• facilitent l'administration de la base de données,
[segment_management_clause]
• 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.

Oracle9i Database Administration I 8-5 Oracle9i Database Administration I 8-6


Créer des tablespaces (suite) Créer des tablespaces (suite)
Où : Où :
Tablespace correspond au nom du tablespace à créer. MAXSIZE indique l'espace disque maximum autorisé pour l'extension automatique d'un fichier
DATAFILE définit les fichiers de données constituant le tablespace. de données.
MINIMUM EXTENT garantit que la taille de chaque extent (ensemble de blocs contigus) du UNLIMITED indique l'espace disque pouvant être affecté au fichier de données ou indique que
tablespace est un multiple de integer. Utilisez K ou M pour définir la taille en kilo-octets ou en le fichier temporaire n'est pas limité.
mégaoctets. Pour plus d'informations, voir Oracle9i SQL Reference et Oracle9i Concepts.
BLOCKSIZE indique une taille de bloc non standard pour le tablespace. Pour définir cette
clause, le paramètre DB_CACHE_SIZE et au moins un paramètre DB_nK_CACHE_SIZE
doivent être définis et la valeur de Integer que vous définissez dans cette clause doit être
identique à celle d'un paramètre DB_nK_CACHE_SIZE.
LOGGING indique que toutes les modifications effectuées sur les tables, index et partitions du
tablespace seront écrites par défaut dans le fichier de journalisation (LOGGING est la valeur
par défaut).
NOLOGGING indique que toutes les modifications effectuées dans les tables, index et
partitions du tablespace ne seront pas écrites par défaut dans le fichier de journalisation
(NOLOGGING n'affecte que certaines commandes LMD et LDD, telles que les chargements
des données par chemin direct).
DEFAULT définit les paramètres de stockage par défaut de tous les objets créés dans le
tablespace.
OFFLINE rend le tablespace indisponible dès sa création.
PERMANENT indique que le tablespace peut être utilisé pour stocker des objets permanents.
TEMPORARY indique que le tablespace ne contiendra que des objets temporaires, tels que les
segments de tri implicite créés par la clause ORDER BY. La définition des clauses EXTENT
MANAGEMENT LOCAL et BLOCKSIZE est impossible.
extent_management_clause indique la manière dont les extents du tablespace sont
gérés (cette clause est décrite dans l'une des sections suivantes du présent chapitre).
segment_management_clause ne s'applique qu'aux tablespaces permanents, gérés
localement. Elle vous permet d'indiquer si Oracle doit procéder au suivi de l'espace libre et
utilisé dans les segments du tablespace à l'aide des bitmaps ou des listes de blocs libres (free
list).
datafile_clause:== filename [SIZE integer[K|M] [REUSE]
[ autoextend_clause ]
filename correspond au nom d'un fichier de données du tablespace.
SIZE définit la taille du fichier (utilisez K ou M pour définir la taille en kilo-octets ou en
mégaoctets).
REUSE permet au serveur Oracle de réutiliser un fichier existant.
autoextend_clause permet d'activer ou de désactiver l'extension automatique du
fichier de données.
NEXT indique la taille en octets de la prochaine incrémentation de l'espace disque devant être
allouée automatiquement lorsque plusieurs extents sont requis.

Oracle9i Database Administration I 8-7 Oracle9i Database Administration I 8-8


Créer des tablespaces (suite) Gestion de l'espace dans les tablespaces
Utiliser Oracle Enterprise Manager pour créer un tablespace
A partir de la console OEM, procédez comme suit :
1. Sélectionnez Databases > Storage > Tablespaces. • Tablespace géré localement :
2. Sélectionnez Create dans le menu accessible par le bouton droit de la souris. – Extents libres gérés dans le tablespace
3. Entrez les informations requises concernant le tablespace dans les onglets General et – Un bitmap est utilisé pour enregistrer des extents
Storage.
libres
4. Cliquez sur Create.
– 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.

8-10 Copyright © Oracle Corporation, 2001. Tous droits réservé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é.

Oracle9i Database Administration I 8-9 Oracle9i Database Administration I 8-10


Tablespaces gérés localement Tablespaces gérés localement (suite)
La clause EXTENT MANAGEMENT peut être utilisée dans diverses commandes CREATE :
• Pour un tablespace permanent non SYSTEM, vous pouvez définir EXTENT
MANAGEMENT LOCAL dans la commande CREATE TABLESPACE.
• La contention au niveau des tables du dictionnaire • S'il s'agit d'un tablespace TEMPORARY, vous pouvez définir EXTENT MANAGEMENT
de données est réduite. LOCAL dans la commande CREATE TEMPORARY TABLESPACE.
Avantages des tablespaces gérés localement :
• Aucune annulation n'est générée lors de l'allocation
Les tablespaces gérés localement présentent les avantages suivants par rapport aux tablespaces
ou de la libération d'espace. gérés au moyen du dictionnaire :
• Aucune fusion n'est requise. • La gestion locale permet d'éviter les opérations récursives de gestion d'espace qui
peuvent se produire avec les tablespaces gérés au moyen du dictionnaire, lorsque
CREATE TABLESPACE userdata l'utilisation ou la libération d'espace dans un extent provoque l'exécution d'une autre
opération qui utilise ou libère l'espace dans un segment d'annulation ou une table du
DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M dictionnaire de données.
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; • Dans la mesure où les tablespaces gérés localement n'enregistrent pas l'espace libre dans
des tables du dictionnaire de données, ils réduisent la contention au niveau des tables.
• La gestion locale des extents identifie automatiquement les espaces libres adjacents, ce
qui évite d'avoir à fusionner les extents libres.
• Le système peut déterminer automatiquement la taille des extents gérés localement.
• La modification des bitmaps d'extent ne génère pas d'informations d'annulation, car elle
ne met à jour aucune table dans le dictionnaire de données (sauf dans certains cas précis,
tels que les informations sur les quotas de tablespace).
8-11 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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.

Oracle9i Database Administration I 8-11 Oracle9i Database Administration I 8-12


Tablespaces gérés au moyen Tablespace d'annulation
du dictionnaire

• Les extents sont gérés dans le dictionnaire de • Il permet de stocker des segments d'annulation.
données • Il ne peut contenir aucun autre objet.
• Chaque segment stocké dans le tablespace peut • Les extents sont gérés localement.
posséder une clause de stockage différente • Il ne peut être utilisé qu'avec les clauses DATAFILE
• Une fusion est requise et EXTENT.
CREATE TABLESPACE userdata CREATE UNDO TABLESPACE undo1
DATAFILE '/u01/oradata/userdata01.dbf' DATAFILE '/u01/oradata/undo01.dbf' SIZE 40M;
SIZE 500M EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE
(initial 1M NEXT 1M PCTINCREASE 0);

8-13 Copyright © Oracle Corporation, 2001. Tous droits réservés. 8-14 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Tablespaces gérés au moyen du dictionnaire Tablespace d'annulation


Il est possible de personnaliser le stockage des segments des tablespaces gérés au moyen du Un tablespace d'annulation est utilisé dans la gestion automatique des annulations (AUM).
dictionnaire. Cette méthode est plus souple que celle applicable aux tablespaces gérés Pour plus d'informations, voir le chapitre "Gérer les données d'annulation".
localement, mais elle s'avère beaucoup moins efficace. CREATE UNDO TABLESPACE tablespace
[DATAFILE clause]

Oracle9i Database Administration I 8-13 Oracle9i Database Administration I 8-14


Tablespaces TEMPORARY Tablespaces TEMPORARY (suite)
Les tablespaces temporaires gérés localement contiennent des fichiers de données temporaires
(tempfiles) semblables aux fichiers de données standard, à ceci près que :•les fichiers
temporaires sont toujours en mode NOLOGGING,
• Ils sont utilisés pour les opérations de tri • les fichiers temporaires ne peuvent pas être en lecture seule,
• vous ne pouvez pas renommer un fichier temporaire,
• Ils ne peuvent pas contenir d'objets permanents
• vous ne pouvez pas créer un fichier temporaire à l'aide de la commande ALTER
• La gestion locale des extents est recommandée DATABASE,
• des fichiers temporaires sont requis pour les bases de données en lecture seule,
CREATE TEMPORARY TABLESPACE temp • la restauration physique ne permet pas de restaurer les fichiers temporaires,
TEMPFILE '/u01/oradata/temp01.dbf' SIZE 500M
Pour optimiser les performances d'une opération de tri dans un tablespace temporaire, affectez
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4M; au paramètre UNIFORM SIZE une valeur multiple de celle du paramètre
SORT_AREA_SIZE.

8-15 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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.

Oracle9i Database Administration I 8-15 Oracle9i Database Administration I 8-16


Segments temporaires (suite) Tablespace TEMPORARY par défaut
Utiliser Oracle Enterprise Manager pour créer un tablespace TEMPORARY
A partir de la console OEM, procédez comme suit :
1. Sélectionnez Databases > Storage > Tablespaces.
2. Sélectionnez Create dans le menu accessible par le bouton droit de la souris.
• Définit un tablespace TEMPORARY par défaut
3. Renseignez l'onglet General.
correspondant à la base de données.
4. Sélectionnez l'option Temporary dans la région Type. • Permet d'effectuer des suppressions à l'aide du
5. Sélectionnez l'onglet Storage et entrez les informations de stockage. tablespace SYSTEM pour stocker des données
6. Cliquez sur Create. temporaires.
• Un tablespace TEMPORARY peut être créé à l'aide de :
– CREATE DATABASE
– Géré localement
– ALTER DATABASE
ALTER DATABASE
DEFAULT TEMPORARY TABLESPACE temp;

8-18 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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.

Oracle9i Database Administration I 8-17 Oracle9i Database Administration I 8-18


Créer un tablespace TEMPORARY Créer un tablespace TEMPORARY
par défaut par défaut
• Pendant la création de la base de données : • Une fois la base de données créée :
CREATE DATABASE DBA01
LOGFILE ALTER DATABASE
GROUP 1 ('/$HOME/ORADATA/u01/redo01.log') SIZE 100M, DEFAULT TEMPORARY TABLESPACE default_temp2;
GROUP 2 ('/$HOME/ORADATA/u02/redo02.log') SIZE 100M,
MAXLOGFILES 5
MAXLOGMEMBERS 5 • Pour trouver le tablespace TEMPORARY par défaut
MAXLOGHISTORY 1
MAXDATAFILES 100 de la base de données, interrogez
MAXINSTANCES 1 DATABASE_PROPERTIES.
DATAFILE '/$HOME/ORADATA/u01/system01.dbf' SIZE 325M
UNDO TABLESPACE undotbs
DATAFILE '/$HOME/ORADATA/u02/undotbs01.dbf' SIZE 200 SELECT * FROM DATABASE_PROPERTIES;
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/$HOME/ORADATA/u03/temp01.dbf' SIZE 4M
CHARACTER SET US7ASCII

8-19 Copyright © Oracle Corporation, 2001. Tous droits réservés. 8-20 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Créer un tablespace TEMPORARY par défaut Créer un tablespace TEMPORARY par défaut (suite)
Pendant la création de la base de données : Une fois la base de données créée :
Lorsque vous ne définissez pas de tablespace TEMPORARY par défaut à la création de la base Un tablespace TEMPORARY par défaut peut être créé et défini à l'aide de :
de données, le tablespace SYSTEM est affecté à tous les utilisateurs créés sans la clause • la commande CREATE TABLESPACE pour créer un tablespace TEMPORARY,
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. • la commande ALTER DATABASE comme indiqué ci-dessus.
Si vous créez un tablespace TEMPORARY par défaut en même temps que la base de données, Les utilisateurs qui n'ont pas été explicitement affectés à un tablespace temporaire seront alors
le tablespace SYSTEM ne sera pas utilisé à des fins de stockage temporaire. Lorsqu'un affectés au tablespace temporaire par défaut.
tablespace TEMPORARY par défaut est créé à l'aide de la commande CREATE DATABASE, Vous pouvez modifier le tablespace TEMPORARY par défaut à tout moment à l'aide de la
il est géré localement. 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.

Oracle9i Database Administration I 8-19 Oracle9i Database Administration I 8-20


Créer un tablespace TEMPORARY par défaut (suite) Restrictions relatives au tablespace
Utiliser Oracle Enterprise Manager pour créer un tablespace TEMPORARY par défaut TEMPORARY par défaut
A partir de la console OEM, procédez comme suit :
1. Sélectionnez Databases > Storage > Tablespaces.
2. Sélectionnez Create dans le menu accessible par le bouton droit de la souris.
Les tablespaces TEMPORARY par défaut ne peuvent
3. Sélectionnez Temporary et Set as Default Temporary Tablespace dans
pas être :
l'onglet General. • supprimés tant qu'un nouveau tablespace par
4. Renseignez la page Storage. défaut n'est pas disponible,
5. Cliquez sur Create.
• mis hors ligne,
• transformé en tablespace permanent.

8-22 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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.

Oracle9i Database Administration I 8-21 Oracle9i Database Administration I 8-22


Tablespaces accessibles en lecture seule Tablespaces accessibles en lecture seule (suite)
La mise en lecture seule d'un tablespace permet d'empêcher les opérations d'écriture dans les
fichiers de données de ce tablespace. Les fichiers de données peuvent donc résider sur des
supports en lecture seule, tels que des CD-ROM ou des unités non réinscriptibles. Grâce aux
tablespaces en lecture seule, il n'est pas nécessaire de sauvegarder de grandes sections de
• Utilisez la commande suivante pour placer un données statiques d'une base de données.
tablespace en lecture seule. Pour créer un tablespace accessible en lecture seule sur un lecteur non réinscriptible :
ALTER TABLESPACE userdata READ ONLY; 1. ALTER TABLESPACE...READ ONLY
2. Utilisez la commande appropriée du système d'exploitation pour transférer les fichiers
– Crée un point de reprise. de données d'un tablespace vers un lecteur accessible en lecture seule.
3. ALTER TABLESPACE...RENAME DATAFILE
– Ces données sont disponibles pour les opérations de
lecture uniquement.
– Il est possible de supprimer des objets des
tablespaces

8-23 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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.

Oracle9i Database Administration I 8-23 Oracle9i Database Administration I 8-24


Tablespaces accessibles en lecture seule (suite) Mettre un tablespace hors ligne
Utiliser Oracle Enterprise Manager pour créer un tablespace en lecture seule
A partir de la console OEM, procédez comme suit :
1. Sélectionnez Databases > Storage > Tablespaces.
2. Sélectionnez le tablespace.
• Non disponible pour l'accès aux données
3. Cochez la case Read Only dans la région Status de l'onglet General. • Tablespaces ne pouvant pas être mis hors ligne :
4. Cliquez sur Apply. – Tablespace SYSTEM :
– Tablespaces contenant des segments d'annulation
actifs
– Tablespace TEMPORARY par défaut
• Mettre un tablespace hors ligne :
ALTER TABLESPACE userdata OFFLINE;

• Mettre un tablespace en ligne :


ALTER TABLESPACE userdata ONLINE;

8-26 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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.

Oracle9i Database Administration I 8-25 Oracle9i Database Administration I 8-26


Mettre un tablespace hors ligne (suite) Mettre un tablespace hors ligne (suite)
Lorsque certaines erreurs se produisent (par exemple, si le processus DBWn tente plusieurs Utiliser Oracle Enterprise Manager pour créer un tablespace hors ligne
fois en vain d'écrire dans un fichier de données du tablespace), l'instance Oracle met A partir de la console OEM, procédez comme suit :
automatiquement hors ligne un tablespace en ligne. Ces situations sont décrites en détail dans
le cours Oracle9i DBA II. 1. Sélectionnez Databases > Storage > Tablespaces.
Mettre un tablespace hors ligne 2. Sélectionnez le tablespace.
Lorsque la base de données est ouverte, l'administrateur de base de données peut mettre hors 3. Sélectionnez Offline dans la région Status de l'onglet General.
ligne n'importe quel tablespace, à l'exception du tablespace SYSTEM ou des tablespaces 4. Sélectionnez le mode dans le menu déroulant.
contenant des segments d'annulation ou temporaires actifs. Lorsque vous mettez un tablespace
hors ligne, le serveur Oracle met tous les fichiers de données associés hors ligne. 5. Cliquez sur Apply.
ALTER TABLESPACE tablespace
{ONLINE |OFFLINE [NORMAL|TEMPORARY|IMMEDIATE|FOR RECOVER]}
Où :
NORMAL supprime de la mémoire SGA tous les blocs de tous les fichiers de données du
tablespace (action par défaut). Il n'est pas nécessaire d'effectuer une restauration physique du
tablespace avant de le remettre en ligne. Dans la mesure du possible, utilisez la clause
NORMAL.
TEMPORARY exécute un point de reprise pour les fichiers de données en ligne du tablespace
uniquement, même si certains fichiers ne peuvent pas être écrits. Les fichiers hors ligne
peuvent nécessiter une restauration physique.
IMMEDIATE ne garantit pas la disponibilité des fichiers du tablespace et n'exécute pas de
point de reprise. Vous devez effectuer une restauration physique du tablespace avant de le
remettre en ligne.
FOR RECOVER met les tablespaces hors ligne en vue d'une récupération jusqu'à un point dans
le temps.

Oracle9i Database Administration I 8-27 Oracle9i Database Administration I 8-28


Modifier les paramètres de stockage Modifier les paramètres de stockage par défaut (suite)
Utiliser Oracle Enterprise Manager pour modifier les paramètres de stockage
A partir de la console OEM, procédez comme suit :
1. Sélectionnez Databases > Storage > Tablespaces.
• Utiliser la commande ALTER TABLESPACE pour
2. Cliquez sur le tablespace à l'aide du bouton droit de la souris et sélectionnez
modifier les paramètres de stockage : View/Edit Details dans le menu qui s'affiche.
3. Cliquez sur l'onglet Storage et effectuez les modifications nécessaires.
ALTER TABLESPACE userdata MINIMUM EXTENT 2M;
4. Cliquez sur Apply.

ALTER TABLESPACE userdata


DEFAULT STORAGE (INITIAL 2M NEXT 2M
MAXEXTENTS 999);

• Les paramètres de stockage des tablespaces gérés


localement ne peuvent pas être modifiés.

8-29 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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 ]

Oracle9i Database Administration I 8-29 Oracle9i Database Administration I 8-30


Redimensionner un tablespace Activer l'extension automatique
des fichiers de données

Un tablespace peut être redimensionné en : • Les fichiers peuvent être redimensionnés


• modifiant la taille d'un fichier de données : automatiquement à l'aide des commandes suivantes :
– automatiquement à l'aide de AUTOEXTEND – CREATE DATABASE
– manuellement à l'aide de ALTER TABLESPACE – CREATE TABLESPACE
• ajoutant un fichier de données à l'aide de ALTER – ALTER TABLESPACE … ADD DATAFILE
TABLESPACE • Exemple :
CREATE TABLESPACE user_data
DATAFILE
'/u01/oradata/userdata01.dbf' SIZE 200M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M;

• Interrogez la vue DBA_DATA_FILES pour déterminer si


AUTOEXTEND est activé.
8-31 Copyright © Oracle Corporation, 2001. Tous droits réservés. 8-32 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Redimensionner un tablespace Activer l'extension automatique des fichiers de données


Vous pouvez augmenter la taille d'un tablespace de deux manières : Indiquer AUTOEXTEND pour un nouveau fichier de données
• en modifiant automatiquement ou manuellement la taille d'un fichier de données, La clause AUTOEXTEND permet d'activer ou de désactiver l'extension automatique des fichiers
• en ajoutant un fichier de données au tablespace. 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

Oracle9i Database Administration I 8-31 Oracle9i Database Administration I 8-32


Activer l'extension automatique des fichiers de données (suite) Indiquer AUTOEXTEND pour un nouveau fichier de données (suite)
Indiquer AUTOEXTEND pour un nouveau fichier de données (suite) Utiliser Oracle Enterprise Manager pour activer le redimensionnement automatique
La commande ALTER DATABASE permet de modifier un fichier de données et d'activer son A partir de la console OEM, procédez comme suit :
extension automatique. 1. Sélectionnez Databases > Storage > Datafiles.
ALTER DATABASE DATAFILE filespec [autoextend_clause]
2. Sélectionnez le fichier de données.
autoextend_clause:== [ AUTOEXTEND { OFF|ON[NEXT integer[K|M]]
3. Cochez la case Automatically extend datafile when full dans la page
[MAXSIZE UNLIMITED | integer[K|M]] } ]
Storage.
Où : 4. Définissez les valeurs de Increment et Maximum Size.
AUTOEXTEND OFF désactive l'extension automatique des fichiers de données. 5. Cliquez sur Apply.
AUTOEXTEND ON active l'extension automatique des fichiers de données.
NEXT définit l'espace disque à allouer au fichier de données lorsque des extents
supplémentaires sont nécessaires
MAXSIZE définit l'espace disque maximum à allouer au fichier de données.
UNLIMITED ne définit aucune limite d'allocation d'espace disque pour le fichier de données.
Indiquer AUTOEXTEND pour un fichier de données existant
Utilisez la commande SQL ALTER DATABASE pour activer ou désactiver l'extension
automatique des fichiers de données existants :
ALTER DATABASE [database]
DATAFILE 'filename'[, 'filename']... autoextend_clause
Déterminer si AUTOEXTEND est activé ou non
Interrogez la vue DBA_DATA_FILES pour déterminer si AUTOEXTEND est activé et
examinez la colonne AUTOEXTENSIBLE.
SQL> select tablespace_name, file_name, autoextensible
2 from dba_data_files;
TABLESPACE_NAME FILE_NAME AUTOEXTENSIBLE
--------------- ------------------------ --------------
SYSTEM /home/dba01/ORADATA/u01/system01.dbf YES
DATA01 /home/dba01/ORADATA/u04/data01.dbf NO
USERS /home/dba01/ORADATA/u03/users01.dbf NO
INDX /home/dba01/ORADATA/u06/indx01.dbf NO
SAMPLE /home/dba01/ORADATA/u02/sample01.dbf YES
DATA02 /home/dba01/ORADATA/u03/data02.dbf NO
INDEX01 /home/dba01/ORADATA/u06/index01.dbf YES
UNDO2 /home/dba01/ORADATA/u01/UNDO2.dbf NO
8 rows selected.

Oracle9i Database Administration I 8-33 Oracle9i Database Administration I 8-34


Redimensionner manuellement Ajouter des fichiers de données
un fichier de données à un tablespace

• Augmentez ou réduisez manuellement la taille d'un • Augmente l'espace alloué à un tablespace en


fichier de données à l'aide de ALTER DATABASE. ajoutant des fichiers de données.
• Redimensionner un fichier de données ajoute de • La clause ADD DATAFILE permet d'ajouter un fichier
l'espace sans ajouter de fichier de données. de données.
• Le redimensionnement manuel d'un fichier de • Exemple :
données requiert l'utilisation de l'espace libre d'une
ALTER TABLESPACE user_data
base de données. ADD DATAFILE '/u01/oradata/userdata03.dbf'
• Exemple : SIZE 200M;
ALTER DATABASE
DATAFILE '/u03/oradata/userdata02.dbf'
RESIZE 200M;

8-35 Copyright © Oracle Corporation, 2001. Tous droits réservés. 8-36 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Redimensionner manuellement un fichier de données Ajouter des fichiers de données à un tablespace


Pour augmenter l'espace de la base de données, le DBA peut redimensionner un fichier de Utilisez la commande ALTER TABLESPACE ADD DATAFILE pour ajouter des fichiers de
données au lieu d'ajouter des fichiers de données. La commande ALTER DATABASE permet données à un tablespace afin d'augmenter l'espace disque total qui lui est alloué.
d'augmenter ou de diminuer manuellement la taille d'un fichier de données. ALTER TABLESPACE tablespace
ALTER DATABASE [database] ADD DATAFILE
DATAFILE ‘filename’[, ‘filename’]... filespec [autoextend_clause]
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.

Oracle9i Database Administration I 8-35 Oracle9i Database Administration I 8-36


Ajouter des fichiers de données à un tablespace (suite) Méthodes de déplacement des fichiers
Utiliser Oracle Enterprise Manager pour ajouter un fichier de données de données
A partir de la console OEM, procédez comme suit :
1. Sélectionnez Databases > Storage > Tablespaces. • ALTER TABLESPACE
2. Sélectionnez le tablespace. – Le tablespace doit être hors ligne.
3. Sélectionnez Add Datafile. – Les fichiers de données cible doivent exister.
4. Dans l'onglet General, entrez les informations concernant le fichier. ALTER TABLESPACE userdata RENAME
5. Cliquez sur Create. DATAFILE '/u01/oradata/userdata01.dbf'
TO '/u02/oradata/userdata01.dbf';
• 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.

8-38 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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.

Oracle9i Database Administration I 8-37 Oracle9i Database Administration I 8-38


Méthodes de déplacement des fichiers Méthodes de déplacement des fichiers de données (suite)
de données Utiliser Oracle Enterprise Manager pour déplacer un fichier de données
A partir de la console OEM, procédez comme suit :
1. Sélectionnez Databases > Storage > Tablespaces.
• ALTER DATABASE
2. Sélectionnez le tablespace dans lequel se trouve le fichier à déplacer.
– La base de données doit être montée. 3. Dans la page General, sélectionnez Offline.
– Le fichier de données cible doit exister. 4. Sélectionnez Apply.
5. Lorsque le tablespace est hors ligne, mettez à jour les informations File Directory
ALTER DATABASE RENAME dans la page General.
FILE '/u01/oradata/system01.dbf' 6. Cliquez sur Apply.
TO '/u03/oradata/system01.dbf'; Remarque :
• Ces commandes vérifient l'existence du fichier au nouvel emplacement. Elles ne créent
ni ne déplacent aucun fichier.
• Indiquez toujours des noms de fichier complets (avec le chemin) pour distinguer les
nouveaux fichiers des anciens.

8-39 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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.

Oracle9i Database Administration I 8-39 Oracle9i Database Administration I 8-40


Supprimer des tablespaces Supprimer des tablespaces (suite)
Instructions :
• Un tablespace qui contient toujours des données ne peut pas être supprimé sans l'option
INCLUDING CONTENTS. Cette option peut générer un grand nombre d'annulations
• Un tablespace ne peut pas être supprimé : lorsque le tablespace contient de nombreux objets.
– s'il s'agit du tablespace SYSTEM, • Une fois qu'un tablespace a été supprimé, ses données ne figurent plus dans la base de
données.
– s'il possède des segments actifs. • Lorsque vous supprimez un tablespace, seuls les pointeurs de fichier du fichier de
contrôle de la base de données associée sont supprimés. Les fichiers du système
• INCLUDING CONTENTS supprime les segments d'exploitation sont conservés et doivent être supprimés explicitement à l'aide de la
• INCLUDING CONTENTS AND DATAFILES supprime commande appropriée du système d'exploitation si la clause AND DATAFILES n'est pas
utilisée ou si les fichiers de données ne sont pas des fichiers OMF.
les fichiers de données • Vous pouvez supprimer un tablespace en lecture seule et les segments qu'il contient.
• CASCADE CONSTRAINTS supprime les contraintes • Il est recommandé de mettre le tablespace hors ligne avant de le supprimer, afin
d'intégrité référentielle d'empêcher d'éventuelles transactions d'accéder à ses segments.

DROP TABLESPACE userdata


INCLUDING CONTENTS AND DATAFILES;

8-41 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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é.

Oracle9i Database Administration I 8-41 Oracle9i Database Administration I 8-42


Supprimer des tablespaces (suite) Gérer des tablespaces à l'aide d'OMF
Utiliser Oracle Enterprise Manager pour supprimer un tablespace
A partir de la console OEM, procédez comme suit :
1. Sélectionnez Databases > Storage > Tablespaces.
• Définissez le paramètre DB_CREATE_FILE_DEST en
2. Sélectionnez le tablespace.
3. Sélectionnez Remove dans le menu accessible par le bouton droit de la souris.
utilisant l'une des méthodes suivantes :
4. Sélectionnez Yes pour confirmer l'opération. – Fichier de paramètres d'initialisation
– Définition dynamique à l'aide de la commande ALTER
SYSTEM
ALTER SYSTEM SET
db_create_file_dest = '/u01/oradata/dba01';

• 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.

8-44 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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).

Oracle9i Database Administration I 8-43 Oracle9i Database Administration I 8-44


Gérer des tablespaces à l'aide d'OMF Obtenir des informations
sur les tablespaces

• Créer un tablespace OMF Vous pouvez obtenir des informations sur les
CREATE TABLESPACE text_data DATAFILE SIZE 20M; tablespaces et les fichiers de données en interrogeant
les éléments suivants :
• Ajouter un fichier de données OMF à un tablespace • Tablespaces :
existant
– DBA_TABLESPACES
ALTER TABLESPACE text_data ADD DATAFILE; – V$TABLESPACE
• Modifier de manière dynamique l'emplacement du • Informations sur le fichier de données :
fichier par défaut : – DBA_DATA_FILES
ALTER SYSTEM SET – V$DATAFILE
db_create_file_dest = '/u01/oradata/dba01'; • Informations sur les fichiers temporaires :
• Supprimer un tablespace supprime également des – DBA_TEMP_FILES
fichiers du système d'exploitation. – V$TEMPFILE

8-45 Copyright © Oracle Corporation, 2001. Tous droits réservés. 8-46 Copyright © Oracle Corporation, 2001. Tous droits réservés.

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.

Oracle9i Database Administration I 8-45 Oracle9i Database Administration I 8-46


Synthèse Présentation de l'exercice 8

Ce chapitre vous a permis d'apprendre à : Dans cet exercice, vous allez :


• utiliser des tablespaces pour séparer des données • créer des tablespaces
• créer différents types de tablespace • modifier des tablespaces
• gérer des tablespaces • configurer et créer un tablespace avec OMF
• gérer des tablespaces à l'aide d'OMF

8-47 Copyright © Oracle Corporation, 2001. Tous droits réservés. 8-48 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Présentation de l'exercice 8
Remarque : Cet exercice peut être réalisé avec SQL*Plus ou avec Oracle Enterprise Manager et
SQL*Plus Worksheet.

Oracle9i Database Administration I 8-47 Oracle9i Database Administration I 8-48


Exercice 8 : gérer les tablespaces et les fichiers de données
1 Créez des tablespaces permanents associés aux noms et aux paramètres de stockage
suivants :
a DATA01, géré au moyen du dictionnaire.
b DATA02, géré localement avec des extents de taille uniforme (assurez-vous que les
tailles des extents utilisés dans le tablespace sont des multiples de 100 Ko).
c INDX01, géré localement avec des extents d'une taille uniforme de 4 Ko (activez
l'extension automatique de 500 Ko lorsque des extents supplémentaires d'une taille
maximale de 2 Mo sont requis).
d RONLY pour les tables en lecture seule avec le stockage par défaut. NE METTEZ
PAS le tablespace en lecture seule à ce stade.
e Affichez les informations à partir du dictionnaire de données.
Indice : Pour obtenir des informations sur les tablespaces, utilisez l'une des
interrogations suivantes :
- DBA_TABLESPACES
- V$TABLESPACE
- V$DATAFILE
2 Allouez 500 Ko d'espace disque supplémentaire au tablespace DATA02 et vérifiez le
résultat.
3 Déplacez le tablespace INDEX01 vers le sous-répertoire u06. Vérifiez l'emplacement
et le statut de INDEX01.
Indices :
- Mettez le tablespace INDEX01 hors ligne.
- Utilisez V$DATAFILE pour vérifier le statut.
- Utilisez la commande appropriée du système d'exploitation pour déplacer le
tablespace vers u06.
- Utilisez la commande ALTER TABLESPACE pour redéplacer le tablespace.
- Mettez le tablespace INDEX01 en ligne.
- Utilisez V$DATAFILE pour vérifier le statut.
4 a Créez une table dans le tablespace RONLY. Mettez le tablespace RONLY en lecture
seule et vérifiez-le en exécutant une interrogation appropriée.
b Essayez de créer une autre table TABLE2. Supprimez la première table créée,
TABLE1. Que se passe-t-il ?
5 Supprimez le tablespace RONLY et le fichier de données associé, puis vérifiez le
résultat.
6 Affectez la valeur $HOME/ORADATA/u05 au paramètre DB_CREATE_FILE_DEST
uniquement dans la mémoire. Créez un tablespace DATA03 de 5 Mo. Ne définissez pas
d'emplacement de fichier. Vérifiez la création du fichier de données.

Oracle9i Database Administration I 8-49

Vous aimerez peut-être aussi