Upload
raulf-cochet
View
107
Download
1
Embed Size (px)
Citation preview
• Fichiers de données• Fichiers de contrôles• Fichiers de journalisations• Fichiers de paramètres
d’initialisation
Fichiers de données• Occupent la majeure partie de la base de données• Les fichiers de données contiennent des informations de deux types :
- Le dictionnaire de données et de travail - Les données des utilisateurs
• La lecture de ces fichiers de données est faite à l'aide des processus utilisateurs tandis que l'écriture est assuré par le processus DBWR (Database Writer) • Organisés selon une structure de stockage logique appelé tablespace.• Les tablespace sont constitués d’un ou plusieurs fichiers de données• Un fichier de données est propre à un seul tablespace
Tablespace • Une base peut être décomposée en
tablespaces : partitions logiques contenant un ou plusieurs fichiers.
• Un fichier appartient à 1 et 1 seul tablespace.• Un tablespace peut s'étendre soit par ajout
(on-line) d'un fichier, soit par auto-extension du fichier du tablespace.
• ordres SQL associés aux tablespaces :– SQL> CREATE TABLESPACE ...– SQL> DROP TABLESPACE...– SQL> ALTER TABLESPACE...
Tablespace• La taille d'un tablespace est la taille de son
(ses) fichier(s) d'origine(s).• Pour augmenter la taille d'un tablespace, il y a
2 solutions :– Ajouter un fichier au tablespace, qui sera chainé
au premier (ALTER TABLESPACE toto ADD DATAFILE...)
– mettre le fichier du tablespace en AUTO extension (ALTER DATABASE DATAFILE toto.dbf AUTOEXTEND ON NEXT … MAXSIZE …)
Les différents types de tablespaces spéciaux
Tablespaces en lecture seule (READ ONLY tablespaces)• Ces tablespaces sont utilisés en lecture seule.• Ils permettent de stocker des données statiques.• Pour modifier les données d'un Tablespace READ ONLY il est
évidemment obligatoire de modifier préalablement son statut.
- SQL> ALTER TABLESPACE toto READ ONLY;- SQL> ALTER TABLESPACE toto READ WRITE;
Les différents types de tablespaces spéciaux
Tablespaces temporaires (temporary tablespaces)• On peut créer un tablespace temporarire 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). Ils sont définis lors de la création de la base.– SQL> CREATE DATABASE ma_base...
DEFAULT TEMPORARY TABLESPACE mon_temp;ou– ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tempts2;
• En plus de ce tablespace temporaire par défaut, chaque utilisateur peut se voir assigner un tablespace temporaire particulier
SQL> CREATE TEMPORARY TABLESPACE mon_temp TEMPFILE '/oracle/data/temp01.dbf' SIZE 20M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M
SQL> CREATE USER totoIDENTIFIED BY totoDEFAULT TABLESPACE dataQUOTA 100M ON dataTEMPORARY TABLESPACE mon_temp
Les différents types de tablespaces spéciaux
Tablespace d'annulation (undo tablespaces)• Les UNDO tablespaces sont exclusivement réservés au stockage de
segments d'images avant modification des données pour des annulations éventuelles (ROLLBACK).
- SQL spécifice associéCREATE UNDO TABLESPACE undo_1 DATAFILE '/tmp/undo1.dbf' SIZE 10M AUTOEXTEND ON
Tablespace – Syntaxe
CREATE [UNDO] TABLESPACE tablespace_name DATAFILE Datafile_Options Storage_Options ; UNDO : permet de créer un tablespace UNDO réservé exclusivement à l'annulation des commandes
LMD (Un ROLLBACK permet de revenir en arrière alors que le COMMIT supprimera les lignes du tablespace UNDO)
Datafile_Options: 'filename' [size] K|M[AUTOEXTEND ON|OFF [NEXT int K | M] [MAXSIZE int K | M]]La taille maximale sera illimitée si vous n’avez pas mentionné la taille maximale
Storage_Options: LOGGING | NOLOGGING : définit le mode de journalisation par défaut des segments qui seront stockés dans le tablespace et pour lesquels aucun mode de journalisation n’a été défini.
ONLINE |OFFLINE: permet de rendre le tablespace disponible ou non, juste après la création.PERMANENT | TEMPORARY EXTENT MANAGEMENT{ DICTIONARY | LOCAL {AUTOALLOCATE | UNIFORM [SIZE int K | M]}}
AUTOALLOCATE | UNIFORM permet d'indiquer que le tablespace s'agrandit de manière uniforme ou automatiquement.
Tablespace – Interface
Tablespace – Interface
Datafiles spécifications - Interface
Datafiles spécifications - Interface
Tablespace - Exemple• CREATE TEMPORARY TABLESPACE temp TEMPFILE ‘c:\oracle\oradata\oragestion\
temp01.dbf' SIZE 20M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M;• CREATE UNDO TABLESPACE undog DATAFILE ‘c:\oracle\oradata\oragestion\undogest.dbf'
size 100M;– ALTER SYSTEM SET UNDO_TABLESPACE= undog;
• CREATE TABLESPACE ts_mydemo logging DATAFILE '/data/ts_mydemo01.dbf' SIZE 50M,'/data/ts_mydemo02.dbf' SIZE 64Mautoextend onnext 32m maxsize 2048mextent management local;
• CREATE TABLESPACE ts_myapp logging DATAFILE'/data/ts_myapp01.dbf' SIZE 200M,'/data/ts_myapp02.dbf' SIZE 500Mautoextend offextent management local;
• Ajouter un fichier de donnéesALTER TABLESPACE ora_data ADD DATAFILE ‘c:\oracle\oradata\oragestion\FGEST01.dbf' size 100M;
Tablespace - Exemple• Activer
Alter Tablespace T1 ONLINE;• Désactiver
Alter Tablespace T1 OFFLINE;• Renommer un fichier
ALTER TABLESPACE T1 RENAME DATAFILE 'T:\oradata\oragestFT1.DBF‘ TO 'T:\oradata\oragest\FT2.DBF‘
• Supprimer un fichier de donnéesALTER TABLESPACE T1 DROP DATAFILE 'T:\oradata\live\Temp02.DBF'
NB. Le fichier sera physiquement supprimé par oracle selon les restrictions:- le fichier de données doit être vide (ne contient aucune extention)- ne peut pas être le premier fichier créé pour le tablespace- ne doit pas appartenir à un tablespace en lecture seule- doit être en ligne- ne doit pas appartenir au tablespace SYSTEM
Structure d’une base de données (ORACLE)
tablespaces
Segments
extents
Blocs de données Oracle
Fichiers du système
d’exploitation
Bloc du système d’exploitation
15
LogiquePhysique
Les fichiers de contrôle• contiennent les informations relatives à la structure physique
de la base de données – Les adresses physiques d’accès aux ressources (fichiers de
données et journaux)– Les dates de création
• Contiennent des informations sur l’état de la base• Ils sont multiplexés afin de protéger la base contre toute
défaillance due à la perte de ces fichiers .• Ils sont nécessaires pour démarrer l’instance : au démarrage
les fichiers de contrôle sont lus• Leurs adresses physiques est indiqué par un paramètre
d’initialisation • Extension .ctl
Les fichiers de contrôle• La vue V$CONTROLFILE : Affiche tous les noms des fichiers de contrôles et leurs
statut qui peut être NULL ou INVALID
SELECT * FROM V$CONTROLFILE; On peut aussi visualiser ces informations avec la commande :
show parameter control_files