2-Les Structures de Stockageetudiants2022

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

04/04/2022

Chapitre 2: • Définir les structures logiques d’une base de données


• Connaitre les types de tablespaces
• Manipuler les tablespaces : création, déplacement et
Les structures de stokage •
suppression
Collecter des informations sur les tablespaces et les
fichiers

• D'un point de vue logique, les données sont stockées


Base de données
par Oracle dans des tablespaces
• Les tablespaces :
Fichier du système
• Peuvent appartenir à une seule base de données à la fois Tablespace
d'exploitation
• Sont constitués d'un ou plusieurs fichiers de données
• Sont divisés en unités de stockage logiques Segment
• D'un point de vue physique, elles sont stockées dans des fichiers de
données
• Les fichiers de données : Extent
• Ne peuvent appartenir qu’à un seul tablespace et à une seule base de
données
Bloc du système
• Servent de référentiel pour les données des objets de schéma Bloc de
données Oracle d'exploitation

3 4

Ref: cours officiel Oracle


04/04/2022

• Une BD est définie avec au moins un tablespace (SYSTEM


• Blocs de données :correspond à un nombre d’octets précis d’espace tablespace) contenant le dictionnaire de données.
de base de données physique sur le disque. Un bloc de donnée Oracle est • Oracle recommande de ne pas stocker d’autres objets outre le
dictionnaire de données dans le SYSTEM tablespace
la plus petite unité d’E/S (entre 2k et 32 K voir paramètre
DB_BLOCK_SIZE) • Un tablespace ne peut appartenir qu’à une seule BD.
• Extents : ensemble de blocs contigus obtenus dans une allocation

unique. Chaque tablespace comprend un ou plusieurs data files

• Segments : ensemble d’extents alloués à une structure logique donnée. Un tablespace peut être :
• Actif (online) : ses données sont accessibles aux users

• Désactivé (offline) : ses données ne sont plus accessibles aux


5 users. Le tablespace SYSTEM ne peut jamais être désactivé. 6

• La définition et le paramétrage des tablespaces permet au DBA


• SYSTEM : Il contient le dictionnaire de données et les tables
• D’organiser la base
comprenant les informations d’administration sur la base.
• Assigner des quotas de ressources aux utilisateurs
• TEMP : Le tablespace temporaire est utilisé lorsque vous exécutez
• Contrôler la disponibilité des données en mettant hors service ou en une instruction SQL qui requiert la création de segments temporaires
lecture seule certains tablespaces (par exemple une opération de tri volumineuse ou la création d’un
• D’améliorer la performance en répartissant les zones de stockage sur index)
plusieurs disques • UNDO : Il s’agit d’un tablespace d’annulation utilisé par le serveur de
• Ce qui évite le problème de contention du disque base de données pour le stockage des informations d’annulation.

8
7
04/04/2022

CREATE TABLESPACE nom_tablespace


[DATAFILE
• SYSAUX : Il s’agit d’un tablespace auxilaire du tablespace SYSTEM. [‘nom_fichier’][SIZE integer {K|M|G|T}]
[AUTOEXTEND
• USERS : Ce tablespace est utilisé pour le stockage des données et
{OFF|
objets utilisateur permanents. Il est le tablespace par défaut de tous ON [NEXT integer {K|M|G|T}]
les utilisateurs (sauf les utilisateurs système). Pour SYS et SYSTEM, le [MAXSIZE {UNLIMITED | integer {K|M|G|T}]
}
tablespace permanent par défaut est SYSTEM.
][,…]
• EXAMPLE : Ce tablespace contient les exemples de schéma pouvant ] En mode LOGGING, les
être installés lors de la création de la base de données. [{LOGGING|NOLOGGING}]
modifications apportées aux
segments , sont journalisées par
[{ONLINE|OFFLINE}]; défaut.

permet de rendre le tablespace


disponible ou non, juste après la
9 création 10

• On peut créer un tablespace temporaire par défaut autre que TEMP, où


seront stockées toutes les données temporaires (utilisées lors des tris,
création d'index, jointures, etc). • Chaque utilisateur peut se voir assigner un tablespace temporaire
• Ils sont définis lors de la création de la base. particulier

• SQL> CREATE DATABASE ma_base... SQL> CREATE TEMPORARY TABLESPACE mon_temp TEMPFILE
DEFAULT TEMPORARY TABLESPACE mon_temp; '/oracle/data/temp01.dbf' SIZE
20M
ou
• ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tempts2; SQL> CREATE USER t1
IDENTIFIED BY t1
DEFAULTTABLESPACE data
QUOTA 100M ON data
TEMPORARY TABLESPACE mon_temp

11 11
04/04/2022

• UNDO : permet de créer un tablespace UNDO réservé exclusivement à


l'annulation des commandes LMD (Un ROLLBACK permet de revenir en
• READ ONLY : En lecture seule
arrière alors que le COMMIT supprimera les lignes du tablespace UNDO)
• Pour revenir en mode lecture/écriture utiliser l’option READWRITE

CREATEUNDOTABLESPACE undo_1
• Exemple :
DATAFILE '/tmp/undo1.dbf' SIZE 10M AUTOEXTENDON
NEXT 1M MAXSIZE 20M alter tablespace tbl01 read only;

Alter tablespace tbl01 read write

13 14

• CREATETABLESPACETBL1 • Pour augmenter la taille d'un tablespace, il y a 3 solutions :


DATAFILE '/data/t1.dbf' SIZE 50M, '/data/t2.dbf' SIZE 64M • Ajouter un fichier au tablespace, qui sera chainé au premier
AUTOEXTEND on NEXT 32m MAXSIZE 2048m; ALTERTABLESPACETBL1 ADD DATAFILE ‘c:\oracle\oradata\FGEST01.dbf'
• Activer size 100M;
Alter TablespaceTBL1 ONLINE; • Mettre le fichier du tablespace en AUTO extension
• Désactiver
ALTER DATABASE DATAFILE toto.dbf AUTOEXTENDON NEXT 32 M
Alter TablespaceTBL1 OFFLINE;
• Renommer un fichier MAXSIZE 2048 M
• Augmenter la taille du fichier
ALTERTABLESPACET1 RENAME DATAFILE 'T:\oradata\TBL1FT1.DBF‘
Alter database datafile
'T:\oradata\TBL1FT2.DBF‘
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\fd02.ORA‘ resize 200 M;

15 16
04/04/2022

• Supprimer un fichier de données • Les informations relatives aux tablespaces et aux fichiers de
ALTERTABLESPACET1 DROP DATAFILE 'T:\oradata\live\Temp02.DBF' données peuvent également être obtenues via l'interrogation des
• Le fichier sera physiquement supprimé par oracle selon les restrictions: vues suivantes :
- le fichier de données doit être vide (ne contient aucune extention)
• Informations relatives aux tablespaces :
- ne peut pas être le premier fichier créé pour le tablespace • DBA_TABLESPACES , V$TABLESPACE
- ne doit pas appartenir à un tablespace en lecture seule
• Informations relatives aux fichiers de données :
• DBA_DATA_FILES ,V$DATAFILE
- doit être en ligne • Informations relatives aux fichiers temporaires :
- ne doit pas appartenir au tablespace SYSTEM • DBA_TEMP_FILES ,V$TEMPFILE
• Supprimer un tablespace
DROPTABLESPACE nom_tablespace

17 17

• Le dictionnaire des données contient des vues qui décrivent l’organisation


de la base et l’utilisation de l’espace:
• DBA_EXTENTS : liste des extensions

• DBA_SEGMENTS : liste des segments


• DBA_FREE_SPACE : espace disponible restant dans les tablespaces
• DBA_TABLESPACES : liste des tablespaces
• DBA_DATA_FILES : liste des fichiers de données
• DBA_TEMP_FILES : liste des fichiers temporaires des tablespaces

18

Vous aimerez peut-être aussi