You are on page 1of 32

Oracle11g

Administration
Razvan Bizo

Groupe Eyrolles, 2011, ISBN : 978-2-212-12898-7

faux-titre_oracle_admin.indd 2

28/11/10 15:53

15

CREATE TABLESPACE
DB_Nx_CACHE_SIZE
TEMPORARY
UNDO

15 Les
tablespaces
Objectifs
la fin de ce module, vous serez mme deffectuer les tches suivantes :
Crer un espace logique de stockage permanent.
Dfinir le tablespace permanent par dfaut pour une base de donnes.
Crer un tablespace de type temporaire.
Crer un groupe de tablespaces temporaires.
Dfinir le tablespace temporaire par dfaut pour la base de donnes.
Crer un tablespace utilisant un stockage crypt.
Crer un tablespace avec une taille de bloc autre que celle par dfaut.

Contenu
Le tablespace

15-2 La taille du bloc

15-17

Lemplacement des fichiers

15-4 Le cryptage transparent

15-20

Les types de tablespaces

15-5 Le tablespace temporaire

15-24

La cration dun tablespace

15-7 Le groupe tablespaces temporaires 15-27

Le tablespace par dfaut

15-11 Le tablespace undo

15-29

La console dadministration

15-13 Atelier 15

15-31

Le tablespace BIGFILE

15-15

Tsoft/Eyrolles Oracle 11g Administration

15-1

Module 15 : Les tablespaces

Le tablespace
Le tablespace

TSOFT Oracle11g Administration I

Module 18 : Les espaces de disque logiques

La sparation des structures logique et physique dune base de donnes facilite le


contrle pouss de la gestion de lespace disque. Ladministrateur peut configurer les
paramtres dallocation despace aux composants physiques et logiques de la base de
donnes.
Pour utiliser efficacement lespace du disque dur, il est important de connatre les
relations entre les composants physiques et logiques de la base de donnes. Il est
important galement de savoir comment lespace est allou dans la base de donnes.
Comme on la vu prcdemment, la base de donnes est divise en zones despace
logique plus petites, appeles tablespaces.
Note
Un tablespace est constitu dun ou plusieurs fichiers de donnes (datafiles) ; par
contre un fichier de donnes ne peut appartenir qu un seul tablespace.
Un fichier de donnes est cr automatiquement par le serveur Oracle chaque fois que
vous crez le tablespace ou que vous avez ajout un nouveau fichier au tablespace. La
quantit de disque occup par le fichier de donnes est spcifie par ladministrateur
de la base de donnes. Chaque fois que le fichier est cr, lespace est
automatiquement rserv sur disque.
Aprs la cration dun tablespace, vous pouvez ajouter dautres fichiers de donnes.
Un fichier de donnes peut tre modifi par ladministrateur de la base de donnes
aprs sa cration.
Ds lors quun fichier de donnes est cr pour un tablespace, il est attach ce
tablespace, et il va pouvoir tre dtach uniquement par la destruction du tablespace.
Un tablespace est constitu de segments. Un segment est lespace allou pour un type
spcifique de structure de stockage logique dans un tablespace. Les segments dindex,
segments temporaires, undo segments et segments de donnes reprsentent quelques
exemples de segments. Un segment, tel quun segment de donnes, peut tre rparti
sur plusieurs fichiers appartenant au mme tablespace.
15-2

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces


Le niveau suivant de la structure logique dune base de donnes est lextent. Un extent
est un ensemble de blocs contigus. Chaque segment est constitu dun ou plusieurs
extents. Un extent ne peut pas tre stock sur plusieurs fichiers de donnes.
Note
Un segment peut tre stock sur un ou plusieurs fichiers appartenant au mme
tablespace.
Par contre un extent ne peut pas tre stock sur plusieurs fichiers de donnes ; il doit
tre absolument contenu dans le mme fichier de donnes.
Les blocs de donnes constituent le dernier niveau de granularit. Les donnes dune
base de donnes Oracle sont stockes dans les blocs de donnes. Un bloc de donnes
correspond un ou plusieurs blocs de fichiers physiques allous partir de fichiers de
donnes existants.
Dans ce module, nous allons voir la gestion des tablespaces et des fichiers de
donnes ; la partie stockage est dtaille dans le module La gestion du stockage .
Attention
Un tablespace est un conteneur qui na pas de concept de proprit dobjet. Il ny a
aucune relation dappartenance entre un tablespace et un propritaire de structure (ou
un propritaire de table). Les objets possds par un utilisateur peuvent rsider dans de
multiples tablespaces ou dans un mme tablespace.

Tsoft/Eyrolles Oracle 11g Administration

15-3

Module 15 : Les tablespaces

Lemplacement des fichiers


Lemplacement des fichiers

TSOFT Oracle11g Administration I

Module 18 : Les espaces de disque logiques

La valeur du paramtre DB_CREATE_FILE_DEST est le nom dun rpertoire


existant indiquant Oracle o crer les fichiers de donnes et les fichiers temporaires.
Chaque fois que vous voulez crer un fichier de donnes, Oracle, cre
automatiquement dans ce rpertoire un sous-rpertoire avec le nom du paramtre
DB_UNIQUE_NAME sil nexiste pas dj. Ensuite, pour stocker le fichier, il
cre un autre sous-rpertoire DATAFILE pour les fichiers de donnes ou pour
les fichiers temporaires.
Pour les fichiers stocks dans des rpertoires de votre systme de fichiers, le format du
nom du fichier est le suivant :
o1_mf_%t_%u_.dbf ou o1_mf_%t_%u_.tmp
Pour les fichiers stocks dans des groupes de disques, le format du nom du fichier est
le suivant : nom.fichier.incarnation .
Pour les exemples de crations des tablespaces, quatre machines avec deux systmes
dexploitation Linux et Windows sont utilises. Dans lenvironnement Linux vous
vous avez la machine terra avec la base de donnes saphire et la
machine saturne avec la base de donnes rubis . Dans
lenvironnement Windows les deux machines sont gaia avec la base de
donnes ambre et cronos avec sa base de donnes jaspe .
Dans limage prcdente vous pouvez voir les valeurs du paramtre
DB_CREATE_FILE_DEST pour chacune de ces bases de donnes. Ainsi vous
pouvez remarquer que rubis et jaspe sont stockes chacune dans une
groupe de disques dune instance ASM installe sur les machines respectives.
Lutilisation de plusieurs base de donnes sur des environnements indpendants
montre que la gestion OMF (Oracle Managed Files) utilise les mmes syntaxes de
cration et de modification des tablespaces quel que soit lenvironnement ou le type
stockage de la base.

15-4

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces

Les types de tablespaces


Les types de tablespaces

La base de donnes

TSOFT Oracle11g Administration I

Module 18 : Les espaces de disque logiques

Chaque base de donnes Oracle cre possde un tablespace SYSTEM . Il sagit


de lemplacement o Oracle garde toute linformation du catalogue exige pour le
fonctionnement de la base de donnes.
partir de la version Oracle 10g, un deuxime tablespace SYSAUX est cr
automatiquement la cration de la base de donnes. Il contient les objets systme
complmentaires qui permettent ainsi de diminuer le temps dattente pour les lectures
des informations systme.
Les deux tablespaces SYSTEM et SYSAUX sont utiliss uniquement par
Oracle ; il faut prendre soin de ne pas stocker des objets utilisateur dans ces deux
tablespaces.
Lors dimportantes oprations de tri (telles que select distinct, union et create index),
si la taille de la zone PGA du processus utilisateur ne suffit pas, Oracle va stocker
dans les tablespaces de la base de donnes des informations concernant le tri des
enregistrements avant de retourner linformation aux utilisateurs. En raison de leur
nature dynamique, ces espaces de tris ne devraient pas tre stocks avec dautres types
de segments.
Lorsquun tablespace temporaire TEMPORARY est dfini, un segment de tri est
aussi cr. Celui-ci est capable de crotre si ncessaire afin de pouvoir hberger toutes
les oprations de tri de donnes, et il existe jusqu ce que la base de donnes soit
ferme puis redmarre.
Lors de la cration de la base de donnes, vous avez la possibilit de dfinir un
tablespace avec la clause DEFAULT TEMPORARY TABLESPACE de la
commande CREATE DATABASE .
Certains utilisateurs dune base de donnes Oracle peuvent avoir besoin de volumes de
stockage temporaires beaucoup plus grands que ceux de tous les autres utilisateurs de
lapplication. Dans ce cas, vous pouvez crer plusieurs tablespaces temporaires
TEMPORARY , pour distribuer les espaces de stockages des utilisateurs ayant des
besoins semblables sur les mmes tablespaces.

Tsoft/Eyrolles Oracle 11g Administration

15-5

Module 15 : Les tablespaces


Toutes les donnes dannulation sont stockes dans un tablespace spcial appel
UNDO . Lorsque vous crez un tablespace UNDO , Oracle gre le stockage,
la rtention et lemploi de lespace pour les donnes de rollback par lintermdiaire de
la fonction SMU (System-Managed Undo). Aucun objet permanent nest plac dans le
tablespace UNDO.
Rappelez-vous, la syntaxe SQL de cration de la base de donnes comporte dabord la
cration dun tablespace SYSTEM et dun tablespace SYSAUX , ainsi
que la cration des tablespaces TEMP et UNDO .
SQL>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

CREATE DATABASE "tpdba"


MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 24
MAXLOGMEMBERS 2
MAXDATAFILES 1024
DATAFILE SIZE 300M AUTOEXTEND ON
NEXT 10240K
MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE SIZE 120M AUTOEXTEND ON
NEXT 10240K
MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE SIZE 20M
AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE "UNDOTBS1" DATAFILE SIZE 200M
AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
CHARACTER SET WE8MSWIN1252
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 SIZE 10240K,
GROUP 2 SIZE 10240K,
GROUP 3 SIZE 10240K
USER SYS IDENTIFIED BY "&&sysPassword"
USER SYSTEM IDENTIFIED BY "&&systemPassword";

Un tablespace applicatif typique contient tous les objets principaux associs une
application. Limportant volume de lectures-critures dont elles font lobjet justifie
lisolation de ces tables dans leur propre tablespace, sparant ainsi leurs fichiers de
donnes des autres fichiers de donnes dans la base. La rpartition de ces fichiers sur
des disques diffrents peut de plus amliorer les performances (grce une rduction
de la contention lors des accs au disque) et simplifier leur gestion.
Les index ne devraient pas tre stocks dans le mme tablespace que les tables de
donnes sur lesquelles ils ont t dfinis, car ces deux types de structures font lobjet
de nombreuses oprations de lectures-critures concurrentes lors des manipulations de
donnes et des interrogations.

15-6

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces

La cration dun tablespace


La cration dun tablespace
CREATE SMALLFILE TABLESPACE APPLICATION_01
DATAFILE
SIZE 1G AUTOEXTEND ON NEXT 1G MAXSIZE 5G,
SIZE 1G AUTOEXTEND ON NEXT 1G MAXSIZE 5G;

Module 18 : Les espaces de disque logiques

TSOFT Oracle11g Administration I

la cration dun tablespace, vous indiquez le ou les fichiers de donnes, leur taille,
leur mode dagrandissement. La cration du tablespace permet galement de
configurer la taille du bloc, les informations de journalisation ou les options de
compression ; ces options seront dtailles au fur et mesure que nous avancerons
dans ce module.
Linstruction SQL qui permet de crer un tablespace permanent est :
CREATE {BIGFILE|SMALLFILE} TABLESPACE nom_tablespace
[ DATAFILE
['nom_fichier'] [ SIZE integer {K|M|G|T} ]
[ AUTOEXTEND
{OFF |
ON [ NEXT integer {K|M|G|T}]
[ MAXSIZE {UNLIMITED | integer {K|M|G|T}]
}
] [,...]
]
[BLOCKSIZE integer [ K ]]
[{LOGGING | NOLOGGING}]
[FORCE LOGGING]
[{ONLINE | OFFLINE}]
[FLASHBACK {ON | OFF}]
[ENCRYPTION [ USING 'algorithm']
[IDENTIFIED BY mot_de_passe]
DEFAULT STORAGE ENCRYPT]
Tsoft/Eyrolles Oracle 11g Administration

15-7

Module 15 : Les tablespaces


[ DEFAULT { COMPRESS
{ BASIC
| FOR { OLTP
|{ QUERY | ARCHIVE } [ LOW | HIGH ]}
| NOCOMPRESS}] ;

15-8

BIGFILE

Indique que le tablespace est cr avec un seul fichier


pouvant contenir jusqu 232 blocs. Pour un tablespace dun
bloc de 8 k, vous pouvez stocker jusqu 32 TB.

SMALLFILE

Indique que le tablespace peut avoir un ou plusieurs


fichiers de donnes. Aucun fichier ne peut contenir plus de
222 blocs. Pour un tablespace dun bloc de 8 k, chaque
fichier peut stocker jusqu 32 GB.

nom_fichier

Le ou les fichiers de donnes qui constituent le tablespace.

AUTOEXTEND

Largument active ou dsactive lextension automatique


dun nouveau fichier de donnes ou temporaire. Si vous
omettez cette clause, ces fichiers ne seront pas
automatiquement tendus.

integer

Spcifie une taille en octets si vous ne prcisez pas de


suffixe pour dfinir une valeur en K, M, G, T.

Valeurs spcifies pour prciser la taille en kilooctets.

Valeurs spcifies pour prciser la taille en mgaoctets.

Valeurs spcifies pour prciser la taille en gigaoctets.

Valeurs spcifies pour prciser la taille en traoctets.

AUTOEXTEND

Active ou dsactive lextension automatique du fichier de


donnes, dun nouveau fichier de donnes, ou dun fichier
temporaire. Si vous ne spcifiez pas cette clause, ces
fichiers ne sont pas automatiquement tendus.

NEXT

Dfinit la taille en octets du prochain incrment despace


disque qui doit tre allou automatiquement au fichier
lorsque davantage despace de stockage est requis.

MAXSIZE

Dfinit lespace disque maximal autoris pour lextension


automatique du fichier de donnes.

UNLIMITED

Dfinit une allocation despace illimite pour le fichier.

BLOCKSIZE

Indique une taille de bloc non standard pour le tablespace.

LOGGING

Dfinit que la base de donnes effectue les journalisations


pour toutes les oprations sur tous les index, tables et
partitions contenus dans le tablespace. Lattribut de
journalisation de niveau tablespace peut tre modifi par
les spcifications de journalisation au niveau table, index
ou partition.

NOLOGGING

Dfinit que la base de donnes neffectue pas de


journalisation pour les INSERT /*+APPEND*/ ou
les chargements des donnes laide de SQL*Loader ainsi
que les oprations DDL sur toutes les crations dindex,
tables et partitions contenues dans le tablespace. Les
modifications de tables avec les options MOVE ou
SPLIT .
Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces


FORCE LOGGING

Force le travail en mode LOGGING pour toutes les


oprations de la base de donnes, mme si lopration
concerne est effectue dans le mode NOLOGGING .

ONLINE

Permet de crer un tablespace mis la disposition des


utilisateurs qui ont reu le droit dy accder
immdiatement aprs sa cration. Il sagit du choix par
dfaut

OFFLINE

Permet de crer un tablespace dans un tat indisponible


immdiatement aprs sa cration.

FLASHBACK

Indique que le tablespace peut tre utilis dans des


oprations de rcupration de type FLASHBACK .

ENCRYPTION

Indique que le tablespace stocke les informations cryptes


dans ces fichiers. Cette option doit tre accompagne de la
clause de stockage :
DEFAULT STORAGE ENCRYPT .

COMPRESS

Indique que le stockage de segments dans le tablespace est


compress. Pour plus dinformations sur le stockage des
segments, voir le module La gestion du stockage .

SYS@saphir>create tablespace tbsdata datafile


2 size 10m autoextend on next 10m maxsize 1g,
3 size 10m autoextend on next 10m maxsize 1g
4 force logging online flashback on;
Tablespace cr.
SYS@saphir>select file_name
2 from dba_data_files
3 where tablespace_name = 'TBSDATA';
FILE_NAME
----------------------------------------------------------------/u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbsdata_63mdggwt_.dbf
/u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbsdata_63mdgh16_.dbf
SYS@saphir>!ls -l /u02/donnees/oradata/SAPHIR/datafile
...
-rw-r----- 1 oracle oinstall 10493952 jui 11 13:58
o1_mf_tbsdata_63mdggwt_.dbf
-rw-r----- 1 oracle oinstall 10493952 jui 11 13:58
o1_mf_tbsdata_63mdgh16_.dbf
...

Dans lexemple prcdent, vous pouvez remarquer la cration dun tablespace avec
deux fichiers de donnes, chacun dune taille de 10 M. Lespace de stockage dfini
pour chaque fichier de 10 Mb est rserv sous sur disque.
Attention
la cration du tablespace, il faut veiller ce que les tailles des fichiers mentionns
ne dpassent pas lespace libre qui se trouve sur disque.
En effet Oracle rserve automatiquement lespace prcis pour chaque fichier de
donnes. Sil ny a pas assez despace sur disque, Oracle projette la cration du
tablespace.

Tsoft/Eyrolles Oracle 11g Administration

15-9

Module 15 : Les tablespaces


Vous pouvez galement dfinir si le tablespace cr est accessible tout de suite aprs
la cration, comme celui cr dans lexemple prcdent. Le tablespace cr
OFFLINE nest pas accessible immdiatement aprs sa cration ; il faut
modifier son tat pour pouvoir travailler avec un tel type de tablespace.
SYS@saphir>create table table_01 tablespace tbsdata
2 as select * from cat;
Table cre.
SYS@saphir>create tablespace tbsdata02 datafile
2 size 10m autoextend on next 10m maxsize 1g
3 force logging offline flashback on;
Tablespace cr.
SYS@saphir>create table table_02 tablespace tbsdata02 as
2 select * from cat;
select * from cat
*
ERREUR la ligne 2 :
ORA-01542: tablespace 'TBSDATA02' hors ligne ; impossible de lui
affecter de l'espace
SYS@saphir>alter tablespace tbsdata02 online;
Tablespace modifi.
SYS@saphir>create table table_02 tablespace tbsdata02 as
2 select * from cat;
Table cre.

15-10

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces

Le tablespace par dfaut


Le tablespace par dfaut
ALTER DATABASE DEFAULT TABLESPACE APPLICATION_01;

La base de donnes

TSOFT Oracle11g Administration I

Module 18 : Les espaces de disque logiques

Tous les objets qui ne comportent pas, dans la syntaxe de cration, les mentions de
stockage dans un tablespace, sont stocks automatiquement dans le tablespace
permanent par dfaut.
Il faut prendre lhabitude de dfinir un tablespace permanent par dfaut qui reoive
lensemble des objets crs sans mention de stockage.
Vous pouvez dfinir le tablespace permanent par dfaut de la base de donnes laide
de la commande SQL suivante :
ALTER DATABASE
DEFAULT TABLESPACE nom_tablespace ;
SYS@saphir>alter database default tablespace tbsdata;
Base de donnes modifie.
SYS@saphir>select property_value from database_properties
2 where property_name like 'DEFAULT_PERMANENT_TABLESPACE';
PROPERTY_VALUE
-------------------------------------------------------------TBSDATA
SYS@saphir>create table table_03 as select * from cat;
Table cre.
SYS@saphir>select table_name, tablespace_name
2 from dba_tables
3 where tablespace_name = 'TBSDATA';

Tsoft/Eyrolles Oracle 11g Administration

15-11

Module 15 : Les tablespaces


TABLE_NAME
TABLESPAC
------------------------------ --------TABLE_01
TBSDATA

La vue DATABASE_PROPERTIES permet dafficher toutes les informations


sur les proprits par dfaut dune base de donnes comme : le nom global de la base
de donnes, le tablespace permanent, le tablespace temporaire, le type de tablespace,
le fuseau horaire, la langue, le territoire
Le tablespace permanent par dfaut peut tre dfini lors de la cration de la base de
donnes, grce largument DEFAULT TABLESPACE .
SQL>
...
7
8
9
10
11
12
13
14
15
16
17
16
17
...

create database "tpdba"


datafile size 300m autoextend on
next 10240k
maxsize unlimited
extent management local
sysaux datafile size 120m autoextend on
next 10240k
maxsize unlimited
default temporary tablespace temp tempfile size 20m
autoextend on next 640k maxsize unlimited
undo tablespace "UNDOTBS1" datafile size 200m
autoextend on next 5120k maxsize unlimited
default tablespace app_users datafile size 200m
autoextend on next 5120k maxsize unlimited

Comme vous pouvez le remarquer dans lexemple prcdent, la cration de la base de


donnes permet de crer en plus des quatre tablespaces SYSTEM ,
SYSAUX , UNDOTBS1 et TEMP , un autre tablespace permanent
APP_USERS pour devenir le tablespace permanent par dfaut de la base.

15-12

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces

La console dadministration
La console dadministration

TSOFT Oracle11g Administration I

Module 18 : Les espaces de disque logiques

Vous pouvez galement utiliser la console OEM (Oracle Enterprise Manager) pour
crer un tablespace.
Choisissez longlet Serveur sur la page daccueil puis sur le lien Tablespaces pour
accder la page de gestion des tablespaces. Vous pouvez ainsi crer un tablespace,
dfinir le type et le statut, ainsi que le mode de gestion du tablespace.

Vous pouvez saisir toutes les informations relatives aux fichiers de donnes dfinis
pour le tablespace, comme lemplacement, la taille et la quantit despace utilise dans
le fichier de donnes.
Tsoft/Eyrolles Oracle 11g Administration

15-13

Module 15 : Les tablespaces

Pour toutes les oprations de cration dobjets et des composants de la base de


donnes que vous excutez travers la console, vous pouvez obtenir le code SQL de
lopration de cration.

Attention
Pour toutes les oprations dadministration que vous effectuez travers la console,
vous devez imprativement sauvegarder le script SQL correspondant.
En effet, plusieurs oprations dadministration de la base de donnes ncessitent le
script SQL pour pouvoir recrer les objets ou tout simplement effectuer des oprations
de maintenance.

15-14

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces

Le tablespace BIGFILE
Le tablespace BIGFILE
SMALLFILE

BIGFILE
max 1022
fichiers

232 blocs

222 blocs
CREATE BIGFILE
TABLESPACE NOM_TBS ...

TSOFT Oracle11g Administration I

Module 18 : Les espaces de disque logiques

Le tablespace de type SMALLFILE peut avoir plusieurs fichiers de donnes, au


maximum 1022 fichiers, qui peuvent chacun contenir jusqu 222 blocs de donnes.
Ainsi pour un talespace construit avec un bloc de 32 Kb, vous pouvez avoir un espace
de stockage par fichier de 128 Gb. La taille maximale de stockage pour un tablespace
SMALLFILE est dapproximativement 32 Tb (il faut 1024 fichiers pour une
taille exacte de 32 Tb).
Linconvnient de ce type de tablespace, cest que lors dun point de contrle
(checkpoint), le processus DBWn crit les blocs modifis dans les fichiers de
donnes correspondants et le processus CKPT met jour len-tte de tous les
fichiers de la base de donnes qui sont en mode lecture criture. Ainsi, plus il y a de
fichiers, plus les checkpoints durent longtemps mme si ces fichiers nont pas de blocs
de donnes modifis.
Par ailleurs, quand vous utilisez un gestionnaire de volume logique comme Oracle
ASM, les fichiers dans ces architectures sont uniquement des informations logiques.
Le tablespace type BIGFILE est un tablespace avec un seul fichier de donnes
qui peut contenir jusqu 232 blocs de donnes. Ainsi un fichier de donnes pour un
tablespace construit avec des blocs de 32 Kb peut stocker jusqu 32 Tb. Ainsi ce type
de tablespace rduit le nombre de fichiers de donnes en occurrence avec le temps des
checkpoints.
Lorsque vous crez votre base de donnes, vous pouvez spcifier le type de tablespace
par dfaut que vous souhaitez, laide de la syntaxe :
SET DEFAULT {BIGFILE | SMALLFILE} TABLESPACE
Sans prcision explicite, le type du talespace SYSTEM est considr comme le
type par dfaut. Aprs la cration de la base de donnes vous pouvez galement
changer le type par dfaut laide de la syntaxe :
ALTER DATABASE SET
DEFAULT {BIGFILE | SMALLFILE} TABLESPACE ;

Tsoft/Eyrolles Oracle 11g Administration

15-15

Module 15 : Les tablespaces


La vue DATABASE_PROPERTIES vous permet dafficher le type de tablespace
par dfaut de votre base de donnes.
SYS@rubis>alter database set default bigfile tablespace;
Base de donnes modifie.
SYS@rubis>select property_name, property_value
2 from database_properties
3 where property_name = 'DEFAULT_TBS_TYPE';
PROPERTY_NAME
PROPERTY_VALUE
------------------ -----------------DEFAULT_TBS_TYPE
BIGFILE
SYS@rubis>create tablespace tbsbig datafile
2 size 10m autoextend on next 10m;
Tablespace cr.
SYS@rubis>create tablespace tbssmall datafile
2 size 10m autoextend on next 10m ,
3 size 10m autoextend on next 10m;
create tablespace tbssmall datafile
*
ERREUR la ligne 1 :
ORA-32774: plusieurs fichiers ont t indiqus pour le tablespace
BIGFILE TBSSMALL
SYS@rubis>create smallfile tablespace tbssmall datafile
2 size 10m autoextend on next 10m ,
3 size 10m autoextend on next 10m;
Tablespace cr.
SYS@rubis>select tablespace_name, bigfile, file_name
2 from dba_data_files join
3
dba_tablespaces using ( tablespace_name)
4 where tablespace_name in ( 'TBSBIG', 'TBSSMALL');
TABLESPAC
--------TBSBIG
TBSSMALL
TBSSMALL

BIG
--YES
NO
NO

FILE_NAME
------------------------------------------------+GD_DONNEES/rubis/datafile/tbsbig.330.724090169
+GD_DONNEES/rubis/datafile/tbssmall.329.724090417
+GD_DONNEES/rubis/datafile/tbssmall.328.724090419

Dans lexemple prcdent, vous pouvez voir la configuration de la base de donnes


pour crer par dfaut des tablespaces de type BIGFILE . Par la suite, la cration
du tablespace TBSBIG est effectue avec succs, mais la cration dun
tablespace TBSSMALL avec plusieurs fichiers choue. En prcisant quil sagit
dun tablespace de type SMALLFILE le tablespace est cette fois-ci cr.

15-16

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces

La taille du bloc
La taille du bloc

Buffer Cache

BLOC 4K

4K

BLOC 8K

BLOC 16K

8K

TSOFT Oracle11g Administration I

16K

Module 18 : Les espaces de disque logiques

Pour lire ou crire les donnes de la base de donnes, Oracle charge dabord les blocs
correspondants dans le buffer cache (cache de tampon). Ainsi il faut dabord
paramtrer le buffer cache pour pouvoir recevoir les blocs respectifs.
Le paramtre qui vous permet de rserver de lespace pour les blocs diffrents des
blocs par dfaut est :
DB_nK_CACHE_SIZE
Les valeurs autorises pour le n sont 2, 4, 8, 16 et 32 (certains systmes
dexploitation nacceptent pas cette valeur). La valeur du bloc par dfaut est
DB_BLOCK_SIZE , paramtre dfini la cration de la base de donnes.
SYS@rubis>show parameter db_block_size
NAME
TYPE
VALUE
------------------------------------ ----------- ----db_block_size
integer
8192
SYS@rubis>show parameter k_cache_size
NAME
TYPE
VALUE
------------------------------------ ----------- ----db_16k_cache_size
big integer 0
db_2k_cache_size
big integer 0
db_32k_cache_size
big integer 0
db_4k_cache_size
big integer 0
db_8k_cache_size
big integer 0
SYS@rubis>alter system set db_32k_cache_size=16m;
Systme modifi.
SYS@rubis>alter system set db_4k_cache_size=16m;
Systme modifi.

Tsoft/Eyrolles Oracle 11g Administration

15-17

Module 15 : Les tablespaces


SYS@rubis>show parameter k_cache_size
NAME
-----------------------------------db_16k_cache_size
db_2k_cache_size
db_32k_cache_size
db_4k_cache_size
db_8k_cache_size

TYPE
----------big integer
big integer
big integer
big integer
big integer

VALUE
----0
0
16M
16M
0

Lexemple prcdent montre le paramtrage de la mmoire pour pouvoir crer des


tablespaces qui utilisent une taille de bloc de 4 Kb et 16 Kb en plus de la taille par
dfaut de 8 Kb.
SYS@rubis>create tablespace data_4k datafile
2 size 10m autoextend on next 10m ,
3 blocksize 4k;
Tablespace cr.
SYS@rubis>create tablespace data_32k datafile
2 size 10m autoextend on next 10m
3 blocksize 32k;
Tablespace cr.
SYS@rubis>create tablespace data_2k datafile
2 size 10m autoextend on next 10m
3 blocksize 2k;
create tablespace data_2k datafile
*
ERREUR la ligne 1 :
ORA-29339: la taille de bloc de tablespace 2048 ne correspond pas
aux tailles de blocs configures
SYS@rubis>select tablespace_name, block_size/1024 "bs K", file_name
2 from dba_data_files join
3
dba_tablespaces using ( tablespace_name)
4 where tablespace_name like 'DATA%K';
TABLESPAC bs K FILE_NAME
--------- ---- ---------------------------------------------------DATA_4K
4 +GD_DONNEES/rubis/datafile/data_4k.327.724092783
DATA_32K
32 +GD_DONNEES/rubis/datafile/data_32k.326.724092799

Les deux premires crations de tablespace sont acceptes par la base de donnes, et le
paramtrage du buffer cache est dj effectu. Par contre la dernire cration est
rejete ; il faut dabord paramtrer le buffer cache pour pouvoir recevoir les blocs de
2 Kb.
SYS@rubis>create table tdata_32k tablespace data_32k as
2 select * from cat;
Table cre.
SYS@rubis>alter system set db_32k_cache_size=0;

15-18

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces


Systme modifi.
SYS@rubis>select * from tdata_32k;
select * from tdata_32k
*
ERREUR la ligne 1 :
ORA-00379: aucun tampon libre dans le pool de tampons DEFAULT pour
la taille de bloc (32 ko)

SYS@rubis>alter system set db_32k_cache_size=16m;


Systme modifi.
SYS@rubis>select count(*) from tdata_32k;
COUNT(*)
---------4854

Attention
Pour lire ou crire les donnes de la base de donnes, Oracle charge dabord les blocs
correspondants dans le buffer cache (cache de tampon).
Si une des zones dune taille de bloc non standard vient dtre mise zro, alors tous
les objets des tablespaces qui ont cette taille de bloc ne peuvent plus tre lus, comme
cest le cas dans lexemple prcdent.
Une fois que la zone mmoire a t initialise, les donnes sont nouveau accessibles.

Tsoft/Eyrolles Oracle 11g Administration

15-19

Module 15 : Les tablespaces

Le cryptage transparent
Le cryptage transparent
$ORACLE_BASE/admin/$ORACLE_SID/wallet
%ORACLE_BASE%\admin\%ORACLE_SID%\wallet

Module 18 : Les espaces de disque logiques

TSOFT Oracle11g Administration I

Pour pouvoir mettre en place le cryptage transparent, il faut dabord configurer


Oracle Encryption Wallet sil na pas dj t initialis pour votre base de
donnes.
Initialiser consiste crer un fichier WALLET portefeuille dans le rpertoire par
dfaut pour ce fichier de la base de donnes :
$ORACLE_BASE/admin/$ORACLE_SID/wallet
ou
%ORACLE_BASE%\admin\%ORACLE_SID%\wallet
Le rpertoire doit exister, sinon la cration par dfaut du fichier est impossible.
Vous pouvez visualiser lemplacement du fichier WALLET portefeuille et le
statut en interrogeant la vue V$ENCRYPTION_WALLET .
La syntaxe de cration du portefeuille est la suivante :
ALTER SYSTEM SET ENCRYPTION KEY
IDENTIFIED BY "mot de passe";
mot de passe

Le mot de passe pour lactivation du cryptage une fois le


fichier portefeuille cr.

Vous pouvez visualiser les informations concernant les algorithmes de cryptage en


interrogeant la vue V$RMAN_ENCRYPTION_ALGORITHMS .
SYS@saphir>select algorithm_name "Nom",
2 algorithm_description "Description",is_default "Df"
3 from v$rman_encryption_algorithms;
Nom
-------AES128
AES192

15-20

Description
---------------AES 128-bit key
AES 192-bit key

Df
--YES
NO

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces


AES256

AES 256-bit key

NO

SYS@saphir>!mkdir /u01/app/oracle/admin/saphir/wallet
SYS@saphir>!ls -la /u01/app/oracle/admin/saphir
...
drwxr-xr-x 2 oracle oinstall 4096 jui 11 18:31 wallet

SYS@saphir>select * from v$encryption_wallet;


WRL_TYPE WRL_PARAMETER
STATUS
-------- ------------------------------------ -----file
/u01/app/oracle/admin/saphir/wallet CLOSED
SYS@saphir>alter system set encryption key identified by "P#sw0rd3";
Systme modifi.
SYS@saphir>select * from v$encryption_wallet;
WRL_TYPE WRL_PARAMETER
STATUS
-------- ------------------------------------ ------file
/u01/app/oracle/admin/saphir/wallet OPEN
SYS@saphir>!ls -la /u01/app/oracle/admin/saphir/wallet
...
-rw-r--r-- 1 oracle oinstall 1573 jui 11 18:36 ewallet.p12

Attention
Il est impratif, aprs chaque dmarrage de la base, douvrir le fichier portefeuille pour
pouvoir bnficier des fonctionnalits de cryptage.
La syntaxe douverture ou de la fermeture du fichier portefeuille est la suivante :
ALTER SYSTEM SET WALLET
{ OPEN | CLOSE }
IDENTIFIED BY "mot de passe";

SYS@saphir>startup force
Instance ORACLE lance.
...
SYS@saphir>select * from v$encryption_wallet;
WRL_TYPE WRL_PARAMETER
STATUS
-------- ------------------------------------ -----------------file
/u01/app/oracle/admin/saphir/wallet CLOSED
SYS@saphir>alter system set wallet open identified by "P#sw0rd3";
Systme modifi.

Tsoft/Eyrolles Oracle 11g Administration

15-21

Module 15 : Les tablespaces


SYS@saphir>create tablespace tbs_ne datafile size 256k;
Tablespace cr.
SYS@saphir>create tablespace tbs_e datafile size 256k
2 encryption using 'AES256' default storage ( encrypt);
Tablespace cr.
SYS@saphir>create table nom01 ( nom varchar2(50)) tablespace tbs_ne;
Table cre.
SYS@saphir>create table nom02 ( nom varchar2(50)) tablespace tbs_e;
Table cre.
SYS@saphir>insert all into nom01 into nom02
2 select 'Razvan BIZO' from dual;
2 ligne(s) cre(s).
SYS@saphir>commit;
Validation effectue.
SYS@saphir>select * from nom01, nom02;
NOM
NOM
-------------- -------------Razvan BIZO
Razvan BIZO
SYS@saphir>alter system set wallet close identified by "P#sw0rd3";
Systme modifi.
SYS@saphir>select * from nom02;
select * from nom02
*
ERREUR la ligne 1 :
ORA-28365: le wallet n'est pas ouvert

SYS@saphir>select file_name
2 from dba_data_files join
3
dba_tablespaces using ( tablespace_name)
4 where tablespace_name like 'TBS%E';
FILE_NAME
-----------------------------------------------------------------/u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbs_ne_63mxrtrl_.dbf
/u02/donnees/oradata/SAPHIR/datafile/o1_mf_tbs_e_63mxrx4g_.dbf
SYS@saphir>!mv /u01/app/oracle/admin/saphir/wallet/ewallet.p12
/u01/app/oracle/admin/saphir/wallet/ewallet.p12.sav

15-22

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces


SYS@saphir>alter system set wallet close identified by "P#sw0rd3";
Systme modifi.
SYS@saphir>alter system set wallet open identified by "P#sw0rd3";
alter system set wallet open identified by "P#sw0rd3"
*
ERREUR la ligne 1 :
ORA-28367: le wallet n'existe pas
SYS@saphir>alter system set encryption key identified by "P#sw0rd3";
alter system set encryption key identified by "P#sw0rd3"
*
ERREUR la ligne 1 :
ORA-28374: cl matre indique introuvable dans le portefeuille
(wallet)

Lutilisation du fichier portefeuille permet de crer des tablespaces crypts. Ainsi le


tablespace TBS_NE est un tablespace classique qui contient une table avec un seul
champ et un seul enregistrement avec la valeur 'Razvan BIZO'. Le deuxime
tablespace TBS_E est un tablespace crypt contenant galement une table avec un seul
champ et un seul enregistrement. videmment, si vous perdez le fichier portefeuille,
vous navez plus aucune possibilit de lire les donnes stockes dans les tablespaces.
En utilisant un diteur qui permet de lire des contenus hexadcimaux, vous pouvez
remarquer que pour le tablespace non crypt linformation est visible comme cest le
cas dans limage suivante.

Dans le cas dun tablespace crypt il nest pas possible de trouver linformation.

Tsoft/Eyrolles Oracle 11g Administration

15-23

Module 15 : Les tablespaces

Le tablespace temporaire
Le tablespace temporaire
CREATE TEMPORARY TABLESPACE TEMP TEMPFILE
SIZE 1G AUTOEXTEND ON NEXT 256M,
SIZE 1G AUTOEXTEND ON NEXT 256M;

Module 18 : Les espaces de disque logiques

TSOFT Oracle11g Administration I

Lors dimportantes oprations de tri (telles que select distinct, union et create index)
Oracle a besoin de stocker dans la base de donnes, des informations concernant le tri
des enregistrements, avant de retourner linformation aux utilisateurs. En raison de
leur nature dynamique, ces espaces de tris ne devraient pas tre stocks avec dautres
types de donnes.
Lorsquun tablespace temporaire TEMPORARY est dfini, un segment de tri est
aussi cr. Celui-ci est capable de crotre si ncessaire afin de pouvoir hberger toutes
les oprations de tri de donnes, et existe jusqu ce que la base de donnes soit
ferme puis redmarre.
La syntaxe de cration dun tablespace temporaire est :
CREATE {BIGFILE|SMALLFILE} TEMPORARY
TABLESPACE nom_tablespace
[ TEMPFILE
['nom_fichier'] [ SIZE integer {K|M|G|T} REUSE]
[ AUTOEXTEND
{OFF |
ON [ NEXT integer {K|M|G|T}]
[ MAXSIZE {UNLIMITED | integer {K|M|G|T}]
}
] [,...]
]
[{ONLINE | OFFLINE}] ;

15-24

TEMPORARY

Indique que le tablespace est de type temporaire.

TEMPFILE

Indique quil sagit dun fichier temporaire et pas dun


fichier de donnes.

REUSE

Dfinit la rutilisation du fichier temporaire sil existe dj.

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces


SYS@jaspe>create bigfile temporary tablespace temp01 tempfile
2 size 10m autoextend on next 10m ;
Tablespace cr.
SYS@jaspe>create bigfile temporary tablespace temp02 tempfile
2 size 10m autoextend on next 10m ;
Tablespace cr.
SYS@jaspe>create bigfile temporary tablespace temp03 tempfile
2 size 10m autoextend on next 10m ;
Tablespace cr.
SYS@jaspe>select tablespace_name, file_name
2 from dba_temp_files join
3
dba_tablespaces using ( tablespace_name)
4 where tablespace_name like 'TEMP0_';
TABLESPAC
--------TEMP01
TEMP02
TEMP03

FILE_NAME
--------------------------------------------------+GD_DONNEES/jaspe/tempfile/temp01.283.724094305
+GD_DONNEES/jaspe/tempfile/temp02.281.724094309
+GD_DONNEES/jaspe/tempfile/temp03.280.724094315

Dans lexemple prcdent, vous pouvez observer la cration de trois tablespaces


temporaires de type BIGFILE . Les fichiers temporaires ainsi crs peuvent
sagrandir automatiquement par des tranches de 10 Mb.
SYS@ambre>create temporary tablespace temp04
2 tempfile 'W:\DONNEES\ORADATA\AMBRE\DATAFILE\TEMP04.TMP'
3 size 10m autoextend on next 10m;
Tablespace cr.
SYS@ambre>drop tablespace temp04;
Tablespace supprim.
SYS@ambre>create temporary tablespace temp04
2 tempfile 'W:\DONNEES\ORADATA\AMBRE\DATAFILE\TEMP04.TMP'
3 size 10m autoextend on next 10m;
create temporary tablespace temp04
*
ERREUR la ligne 1 :
ORA-01119: chec de cration du fichier de base de donnes
'W:\DONNEES\ORADATA\AMBRE\DATAFILE\TEMP04.TMP'
ORA-27038: le fichier cr existe dj
OSD-04010: option <create> indique ; le fichier existe dj
SYS@ambre>create temporary tablespace temp04
2 tempfile 'W:\DONNEES\ORADATA\AMBRE\DATAFILE\TEMP04.TMP'
3 size 20m reuse autoextend on next 10m;
Tablespace cr.

Tsoft/Eyrolles Oracle 11g Administration

15-25

Module 15 : Les tablespaces


SYS@ambre>$dir W:\DONNEES\ORADATA\AMBRE\DATAFILE\TEMP04.TMP
Le volume dans le lecteur W s'appelle Nouveau nom
Le numro de srie du volume est C051-C97C
Rpertoire de w:\donnees\oradata\AMBRE\DATAFILE
11/07/2010
...

18:03

20 979 712 TEMP04.TMP

Lexemple prcdent commence par la cration dun tablespace TEMP04 .


Ensuite on dtruit le tablespace sans effacer le fichier temporaire. Vous pouvez
remarquer que la cration dun tablespace ne peut pas tre effectue si le fichier
correspondant existe dj, et cela est valable pour tous les tablespaces. Vous pouvez
utiliser largument REUSE pour demander Oracle de rutiliser le fichier
existant sur disque. En effet Oracle rutilise le nom du fichier temporaire et il le
dimensionne au volume demand.
Cette dmarche de rattachement dun fichier temporaire est utilise dans le cas de
perte du fichier de contrle et la cration laide du script de sauvegarde.
Attention
Vous ne pouvez pas crer de tablespaces temporaires avec une taille de bloc diffrente
de la taille du bloc par dfaut de la base de donnes.
Les tablespaces temporaires ainsi que les tablespaces systme sont toujours crs avec
une taille de bloc gale au bloc par dfaut de la base de donnes.

15-26

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces

Le groupe tablespaces temporaires


Le groupe tablespaces temporaires
ALTER TABLESPACE TEMP_n TABLESPACE GROUP GR_TEMP;
...

GR_TEMP

TSOFT Oracle11g Administration I

Module 18 : Les espaces de disque logiques

Certains utilisateurs dune base de donnes Oracle peuvent avoir besoin de volumes de
stockage temporaire beaucoup plus grands que ceux de tous les autres utilisateurs de
lapplication. Dans ce cas, vous pouvez crer plusieurs tablespaces temporaires
TEMPORARY pour distribuer les espaces de stockages des utilisateurs ayant des
besoins semblables sur les mmes tablespaces.
partir de la version Oracle 10g, il est possible de crer des groupes de tablespaces
temporaires pour quilibrer les charges et diminuer les contentions daccs aux
segments temporaires. Un groupe de tablespaces temporaires est gr par la base de
donnes comme un tablespace temporaire ; vous pouvez ainsi dfinir que cest le
tablespace temporaire par dfaut.
La syntaxe de cration dun groupe de tablespaces temporaires est en effet uniquement
un assignement dun tablespace temporaire existant au nom du groupe qui va tre cr,
comme suit :
ALTER TABLESPACE nom TABLESPACE GROUP nom_groupe;
SYS@jaspe>alter tablespace temp01 tablespace group ngrp_temp;
Tablespace modifi.
SYS@jaspe>alter tablespace temp02 tablespace group ngrp_temp;
Tablespace modifi.
SYS@jaspe>alter tablespace temp03 tablespace group ngrp_temp;
Tablespace modifi.
SYS@jaspe>select * from dba_tablespace_groups;
GROUP_NAME
TABLESPAC
------------------------------ ---------

Tsoft/Eyrolles Oracle 11g Administration

15-27

Module 15 : Les tablespaces


NGRP_TEMP
NGRP_TEMP
NGRP_TEMP

TEMP01
TEMP02
TEMP03

Les trois tablespaces temporaires ont t ajouts au groupe NGRP_TEMP ;


prsent le nom du groupe peut tre utilis la place du nom dun tablespace
temporaire. Pour retirer un tablespace dun groupe de tablespaces temporaires, il suffit
dutiliser la syntaxe suivante :
ALTER TABLESPACE nom TABLESPACE GROUP '' ;
Vous pouvez dfinir le tablespace temporaire par dfaut de la base, laide de la
commande SQL suivante :
ALTER DATABASE
DEFAULT TEMPORARY TABLESPACE nom_tablespace ;
SYS@jaspe>alter database default temporary tablespace ngrp_temp;
Base de donnes modifie.
SYS@jaspe>select property_value from database_properties
2 where property_name like 'DEFAULT_TEMP_TABLESPACE';
PROPERTY_VALUE
-----------------NGRP_TEMP

Dans lexemple prcdent, vous pouvez remarquer la dfinition du tablespace


temporaire par dfaut avec lutilisation dun groupe de tablespaces
NGRP_TEMP , et lutilisation de la vue DATABASE_PROPERTIES pour
retrouver la valeur du tablespace temporaire par dfaut de la base de donnes.

15-28

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces

Le tablespace undo
Le tablespace undo
CREATE UNDO
SIZE
SIZE
SIZE
SIZE

TABLESPACE UNDO DATAFILE


2G AUTOEXTEND ON NEXT 512M,
2G AUTOEXTEND ON NEXT 512M,
2G AUTOEXTEND ON NEXT 512M,
2G AUTOEXTEND ON NEXT 512M;

TSOFT Oracle11g Administration I

Module 18 : Les espaces de disque logiques

Toutes les donnes dannulation sont stockes dans un tablespace spcial appel
UNDO . Lorsque vous crez un tablespace UNDO , Oracle gre le stockage,
la rtention et lemploi de lespace pour les donnes de rollback par lintermdiaire de
la fonction SMU (System-Managed Undo). Aucun objet permanent nest plac dans le
tablespace undo.
Pour pouvoir crer un tablespace undo la cration de la base de donnes, il faut
prendre soin dinitialiser le paramtre
UNDO_MANAGEMENT=AUTO
partir de la version Oracle 9i, il est fortement conseill dutiliser la gestion
automatique des segments dannulation. partir de la version Oracle 10g, il est
impratif dutiliser ce mode de gestion, sans quoi une grande partie des fonctionnalits
de la base de donnes sont inutilisables. Voir le module Les segments UNDO .
Rappelez-vous, la syntaxe SQL de cration de la base de donnes comporte dabord la
cration dun tablespace SYSTEM et dun tablespace SYSAUX , ainsi
que la cration de tablespaces TEMP et UNDO .
Attention
la cration de la base de donnes, si vous ne prcisez pas de tablespace undo, Oracle
cre un tablespace undo appel SYS_UNDOTS .
Le paramtre UNDO_TABLESPACE doit avoir la valeur SYS_UNDOTS ,
sinon la base de donnes ne pourra pas tre cre.
La syntaxe de cration dun tablespace UNDO est :
CREATE {BIGFILE|SMALLFILE} UNDO
TABLESPACE nom_tablespace
[ DATAFILE
['nom_fichier'] [ SIZE integer {K|M|G|T} ]
Tsoft/Eyrolles Oracle 11g Administration

15-29

Module 15 : Les tablespaces


[ AUTOEXTEND
{OFF |
ON [ NEXT integer {K|M|G|T}]
[ MAXSIZE {UNLIMITED | integer {K|M|G|T}]}
] [,...]
]
[{ONLINE | OFFLINE}] ;
UNDO

Indique que le tablespace est de type undo.

Attention, les tablespaces prennes et temporaires par dfaut sont attribus laide de
la syntaxe ALTER DATABASE DEFAULT ; ce nest pas le cas pour le
tablespace de type UNDO . Le tablespace UNDO par dfaut est celui qui est
prcis dans le paramtre UNDO_TABLESPACE .
SYS@rubis>show parameter undo_tablespace
NAME
TYPE
VALUE
------------------------------------ ----------- -------undo_tablespace
string
UNDOTBS1
SYS@rubis>create bigfile undo tablespace undo datafile
2 size 512m autoextend on next 512m;
Tablespace cr.
SYS@rubis>select contents, file_name
2 from dba_data_files join
3
dba_tablespaces using ( tablespace_name)
4 where tablespace_name like 'UNDO';
CONTENTS FILE_NAME
--------- ---------------------------------------------UNDO
+GD_DONNEES/rubis/datafile/undo.325.724104703
SYS@rubis>alter system set undo_tablespace =undo;
Systme modifi.
SYS@rubis>show parameter undo_tablespace
NAME
TYPE
VALUE
------------------------------------ ----------- ------undo_tablespace
string
UNDO

Attention
Comme pour les tablespaces systme et pour les tablespaces temporaires, le tablespace
UNDO doit tre cr avec la taille de bloc par dfaut.
La base de donnes Oracle utilise pour ses fichiers de gestion la taille de bloc par
dfaut dfinie lors de la cration de cette base de donnes.

15-30

Tsoft/Eyrolles Oracle 11g Administration

Module 15 : Les tablespaces

Atelier 15

Exercice n1
Identifiez le tablespace permanent, temporaire et undo par dfaut de votre base de
donnes.

Exercice n2
Crez deux tablespaces TPD01 et TPD02 chacun avec un seul fichier de
donnes dune taille de 10 M sans agrandissement automatique.
Dfinissez le tablespace TPD01 comme tant le tablespace permanent par
dfaut de votre base de donnes. Effacez lancien tablespace par dfaut.

Exercice n3
Crez un tablespace de type temporaire TPT01 avec un seul fichier de donnes
dune taille de 10 M sans agrandissement automatique.
Dfinissez le tablespace TPT01 comme tant le tablespace temporaire par
dfaut de votre base de donnes. Effacez lancien tablespace par dfaut.

Exercice n4
Crez un tablespace de type undo TPU01 avec un seul fichier de donnes dune
taille de 512 M en agrandissement automatique jusqu une taille de 3 G.
Dfinissez le tablespace TPU01 comme tant le tablespace temporaire par
dfaut de votre base de donnes. Effacez lancien tablespace par dfaut.

Exercice n5
Crez un tablespace de type BIGFILE TPD03 avec une taille de bloc de 4 k et
un tablespace de type BIGFILE TPD04 avec une taille de bloc de 16 k, chacun
avec un fichier de donnes dune taille de 10 M, avec agrandissement automatique
jusqu une taille de 128 M.

Exercice n6
Affichez le rpertoire de destination pour les fichiers des donnes et pour les fichiers
journaux.
Crez un tablespace GEST_DATA avec deux fichiers de donnes, chacun dune
taille de 10 M.

Tsoft/Eyrolles Oracle 11g Administration

15-31