Administration des Bases de données Oracle
CHAPITRE 5
GERER LES TABLESPACES ET LES FICHIERS DE DONNEES
Tablespace=Structure logique d’une base de données
Types de tablespace
Tablespace SYSTEM
créé en même temps que la base de données
contient le dictionnaire de données
Contient les segments d’annulations
Tablespace non SYSTEM
Créé par l’administrateur
Sépare les segments
Facilite l’administration de l’espace
Sépare données dynamiques et statiques
Gère la quantité d’espace allouée aux utilisateurs
Trois (3) catégories de tablespaces
Permanent
Temporaire (tri)
UNDO TABLESPACE (tablespace d’annulation)
TABLESPACE PERMANENT
CREATION DE TABLESPACES NON SYSTEME
Syntaxe générale :
CREATE TABLESPACE nom_tablespace
DATAFILE '$:\oracle_home\oradata\SID_INSTANCE\nom_fichier_données.dbf'
SIZE n M|K|G
[[AUTOEXTEND ON] [NEXT n M|K|G]
[maxsize n M|K|G]]
n : représente la taille
Size n : est la taille initiale affectée au fichier de données en Ko, Mo ou Go
Autoextend on : permet d’augmenter dynamiquement la taille du fichier de
données
Next n : précise la taille de l’incrémentation à ajouter au fichier de donnés
lorsque celui-ci atteint sa taille maximale
Maxsize : taille maximale du fichier de données
Email : [email protected]
Administration des Bases de données Oracle
CAS PRATIQUES
Création de tablespace permanent à fichiers de données de taille
statique
Syntaxe :
CREATE TABLESPACE nom_tablespace
DATAFILE '$:\oracle_home\oradata\SID_INSTANCE\nom_fichier_données.dbf'
SIZE taille M|K|G
Ex1 : Tablespace statique
CREATE TABLESPACE TS_SR2
DATAFILE 'c:\oracle\oradata\orcl\TS_SR201.dbf' SIZE 10 M
Informations sur les tablespaces
DBA_TABLESPACES
V$TABLESPACE
Tablespace_name : nom des tablespaces
Status : état
Contents : type de tablespaces
Name : nom tablespace
Flashback : activation des récupérations des données supprimées dans un laps
de temps bien défini.
Ex2 : création de tablespace dynamique
CREATE TABLESPACE TD_SR2
DATAFILE 'c:\oracle\oradata\orcl\TD_SR201.dbf' SIZE 20 M
AUTOEXTEND ON
Informations sur les fichiers de données (permanents) : 2 tables
-DBA_DATA_FILES
-V$DATAFILE
Select tablespace_name, file_name, bytes, status, autoextensible
From dba_data_files
Order by tablespace_name;
Conversion de bytes (octets) en Mo
Select tablespace_name, file_name, bytes/(1024*1024)||‟Mo‟ Taille, status, autoextensible
From dba_data_files
Order by tablespace_name;
Email : [email protected]
Administration des Bases de données Oracle
TABLESPACE D’ANNULATION (UNDO)
Permet de stocker les segments d’annulation
Ne peut contenir aucun autre objet
Les extents sont gérés localement
Ne peut être utilisé qu’avec les clauses DATAFILE et EXTENT
SYNTAXE :
CREATE UNDO TABLESPACE nom_tablespace
DATAFILE '$:\oracle_home\oradata\SID_INSTANCE\nom_fichier_données.dbf'
SIZE taille M|K|G
[AUTOEXTEND ON]
Ex :
CREATE UNDO TABLESPACE undo_SR2
DATAFILE 'c:\oracle\oradata\ORCL\ undo_SR201.dbf'
SIZE 20M
AUTOEXTEND ON ;
TABLESPACE TEMPORAIRE (TEMPORARY TABLESPACE)
Opération de tri
Ne peuvent contenir d’objets permanents
Gestion locale des extents recommandée
SYNTAXE :
CREATE TEMPORARY TABLESPACE nom_tablespace
TEMPFILE '$:\oracle_home\oradata\SID_INSTANCE\nom_fichier_données.dbf'
SIZE taille M|K|G
[AUTOEXTEND ON]
Ex :
CREATE TEMPORARY TABLESPACE temp_sr2
TEMPFILE 'c:\oracle \oradata\ORCL\ temp_sr201.dbf'
SIZE 10M
AUTOEXTEND ON ;
Info sur les tablespaces temporaires :
SQL>Desc dba_tablespaces
Nb : CONTENTS représente la catégorie de tablespaces (permanent, temporaire,
undo)
Info sur les fichiers de données temporaires :
-DBA_TEMP_FILES
-V$TEMPFILE
Email : [email protected]
Administration des Bases de données Oracle
EX :
Select tablespace_name, file_name, bytes/(1024*1024)||‟Mo‟ Taille, status,
autoextensible
From dba_temp_files
Order by tablespace_name;
Info sur le tablespace temporaire utilisé par défaut par le système à
l’aide de la table système DATABASE_PROPERTIES
SQL>DESC DATABASE_PROPERTIES
Faire :
col property_value format a40
Col description format a40
EX : select * from DATABASE_PROPERTIES
MODIFICATION DU TABLESPACE TEMPORAIRE PAR DEFAUT
Sql> alter database default temporary tablespace nom_ tablespace;
Important: Laisser le tablespace TEMP par défaut (ne pas changer)
REDIMENSIONNEMENT D’UN TABLESPACE
Le redimensionnement d’un tablespace consiste à diminuer ou à augmenter la
taille d’un tablespace en agissant sur la taille des fichiers de données qui le
composent.
Cette opération peut s’effectuer de 2 manières :
1. ajout des nouveaux fichiers de données aux tablespaces en cas
d’augmentation de la taille (et éventuellement la suppression de fichiers
de données : s’assurer que ces fichiers ne contiennent pas de données et
arrêter la base)
2. redimensionner la taille de fichiers existant
Syntaxe :
ALTER TABLESPACE nom_tbs
ADD DATAFILE
‘$:\oracle_home\oradata\SID_INSTANCE\nom_fichier_données.dbf'
SIZE taille M|K|G
[AUTOEXTEND ON]
Email : [email protected]
Administration des Bases de données Oracle
Applications :
1) Redimensionner la taille du tablespace permanent « ts_sr2 » en
ajoutant un fichier de données de 25Mo et autoextensible
ALTER TABLESPACE ts_sr2
ADD DATAFILE ‘C :\oracle \oradata\ORCL\ ts_sr202.dbf'
SIZE 25M
AUTOEXTEND ON
Faire la somme pour vérifier que le fichier ts_sr2 a une taille de 25Mo
Ex: Select tablespace_name, sum(bytes/(1024*1024))||‟Mo‟ Taille
From dba_temp_files
Group by tablespace_name
Order by tablespace_name;
Ou
Ex: Select tablespace_name, sum(bytes/(1024*1024))||‟Mo‟ Taille
From dba_temp_files
Where tablespace_name=’TS_SR2’
Group by tablespace_name;
2) Redimensionnement de la taille de fichiers de données existants
Syntaxe :
ALTER DATABASE
DATAFILE ‘$ :\oracle_home\oradata\SID_INSTANCE\nom_fichier_données.dbf'
RESIZE taille M|K|G
Applications :
Modifier la taille du tablespace en augmentant la taille du fichier « TS_SR2 » à
15Mo à l’aide de la clause RESIZE
SQL> ALTER DATABASE
DATAFILE ‘C:\oracle\oradata\ORCL\ TS_SR201 .dbf'
RESIZE 15M
SUPPRESSION DE TABLESPACES
Un tablespace ne peut pas être supprimé :
un tablespace SYSTEM
il possède des segments actifs
INCLUDING CONTENTS supprime les segments (objets)
INCLUDING CONTENTS AND DATAFILES supprime les fichiers de données
CASCADE CONSTRAINTS supprime les contraintes d’intégrité référentielle
Email : [email protected]
Administration des Bases de données Oracle
Syntaxe :
DROP TABLESPACE nom_tablespace
[INCLUDING CONTENTS AND DATAFILES]
[CASCADE CONSTRAINTS]
Ex: --Possible s’il n’y a pas d’objets dans le tablespace
DROP TABLESPACE temp_sr2
INCLUDING CONTENTS AND DATAFILES
CASCADE CONSTRAINTS;
Email : [email protected]