17
•Fichiers de données •Fichiers de contrôles •Fichiers de journalisations •Fichiers de paramètres d’initialisation

Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

Embed Size (px)

Citation preview

Page 1: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

• Fichiers de données• Fichiers de contrôles• Fichiers de journalisations• Fichiers de paramètres

d’initialisation

Page 2: 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

Page 3: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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

Page 4: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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

Page 5: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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;

Page 6: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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

Page 7: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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

Page 8: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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.

Page 9: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

Tablespace – Interface

Page 10: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

Tablespace – Interface

Page 11: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

Datafiles spécifications - Interface

Page 12: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

Datafiles spécifications - Interface

Page 13: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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;

Page 14: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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

Page 15: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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

Page 16: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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

Page 17: Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation

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