DBA Oracle v1 Oracle Khaled Jouini

download DBA Oracle v1 Oracle Khaled Jouini

of 263

description

Oracle Khaled Jouini ISTCOM

Transcript of DBA Oracle v1 Oracle Khaled Jouini

  • Administration des bases de donnes

    Khaled Jouini

    [email protected]

    Institut Suprieur d'Informatique et des Technologies de Communication

    2012-2013

    1 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 1 / 228

  • La reproduction de ce document par tout moyen que ce soit,

    sans l'avis de l'auteur, est interdite conformment aux

    lois protgeant la proprit intellectuelle

    Ce document peut comporter des erreurs, utiliser donc en connaissance de cause!

    2 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 2 / 228

  • Syllabus du cours

    SQL la maison

    Oracle Database 11g Personal Edition ou ( dfaut) Oracle Database 11g

    Express Edition.

    http://www.oracle.com/technetwork/indexes/downloads/index.html

    Pour en savoir plus...

    Documentation Oracle :

    http://www.oracle.com/technetwork/documentation/.

    En anglais, 2000 pages sur l'administration

    Oracle 11g Administration, O. Heurtel, eni Editions, Nov. 2008

    OCA : Oracle 10g Administration I Study Guide (1Z0-042), Ch. Dawes, B.

    Bryla, J.C. Johnson, M. Weishan. Sybex, 2005.

    3 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 3 / 228

  • Introduction gnrale Prsentation d'Oracle

    Chapitre 1 - Introduction gnrale

    Prsentation d'Oracle

    Serveur de BD Oracle

    Rles du DBA

    Principaux outils d'administration

    Plan du cours

    4 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 4 / 228

  • Introduction gnrale Prsentation d'Oracle

    Prsentation d'Oracle

    Oracle : leader mondial des SGBDRs, avec une part de march de 48,6%(Gartner Group)

    Commercialise dirents produits : Oracle DataBase, Oracle Developer Suite,

    Oracle Application Server, etc.

    Oracle DataBase : Serveur de base de donnes produit principal d'Oracle

    pass de la version 1 (1977) la version 11g (2010).

    4 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 4 / 228

  • Introduction gnrale Serveur de BD Oracle

    Chapitre 1 - Introduction gnrale

    Prsentation d'Oracle

    Serveur de BD Oracle

    Rles du DBA

    Principaux outils d'administration

    Plan du cours

    5 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 5 / 228

  • Introduction gnrale Serveur de BD Oracle

    Oracle DataBase

    Commercialisation selon trois gammes : personnelle, standard et entreprise.

    Edition Personnelle (Personal Edition)

    Monolicence

    Destine aux dveloppeurs

    Edition Standard (Standard Edition)

    Comporte toutes les fonctionnalits de base pour mettre en oeuvre une

    architecture client/serveur

    Destine des serveurs avec une capacit maximale de 4 processeurs (2 pour

    l'dition standard One)

    5 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 5 / 228

  • Introduction gnrale Serveur de BD Oracle

    Oracle DataBase

    Edition Entreprise (Entreprise Edition)

    Fonctionnalits supplmentaires pour l'amlioration de la disponibilit,

    scurit, administration, etc.

    Real Application Clusters (RAC): serveurs en cluster (BDs rparties)

    Oracle Partitioning : partitionnement des tables et des index

    Advanced Security Option : cryptage (essentiellement)

    Oracle Tuning Pack : outil d'aide l'optimisation des performances

    Oracle Olap and datamining : outils d'aide la mise en place de systmes

    dcisionnels

    etc.

    6 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 6 / 228

  • Introduction gnrale Serveur de BD Oracle

    Architecture d'un serveur de BD Oracle

    Principales composantes d'un serveur de BD Oracle

    1 La base de donnes

    Ensemble de chiers contenant, entre autres, les donnes, les informations

    sur les donnes (le dictionnaire de donnes) et les journaux de modication

    sur les donnes (chiers log)

    2 L'instance

    Ensemble de processus et de zones en mmoire vive permettant la gestion

    de la base de donnes. Une BD n'est disponible pour utilisation que si elle est

    associ une instance

    7 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 7 / 228

  • Introduction gnrale Serveur de BD Oracle

    Architecture d'un serveur de BD Oracle

    8 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 8 / 228

  • Introduction gnrale Serveur de BD Oracle

    Catgories de BD

    BDs transactionnelles (OLTP : On Line Transaction Processing)

    Forte activit de mises jour (insert/delete/update) sous forme de

    transactions courtes

    Nombre important d'utilisateurs concurrents

    Exigence de temps de rponse court

    BDs dcisionnelles (OLAP : Online analytical processing) :

    Systme d'aide la dcision

    Mises--jour oine par lot, priodique

    Forte activit d'interrogation (select)

    9 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 9 / 228

  • Introduction gnrale Rles du DBA

    Chapitre 1 - Introduction gnrale

    Prsentation d'Oracle

    Serveur de BD Oracle

    Rles du DBA

    Principaux outils d'administration

    Plan du cours

    10 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 10 / 228

  • Introduction gnrale Rles du DBA

    Rles du DBA

    1 Installation et conguration du SGBD et des applications clientes (rle

    technique)

    2 Planication et cration des bases de donnes

    3 Gestion de l'espace de stockage

    4 Gestion des comptes des utilisateurs et des droits d'accs

    5 Dploiement des procdures de sauvegarde et de rcupration pour protger

    la base de donnes

    6 Optimisation des performances d'accs aux donnes.

    7 Gestion des aspects rseau

    10 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 10 / 228

  • Introduction gnrale Principaux outils d'administration

    Chapitre 1 - Introduction gnrale

    Prsentation d'Oracle

    Serveur de BD Oracle

    Rles du DBA

    Principaux outils d'administration

    Plan du cours

    11 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 11 / 228

  • Introduction gnrale Principaux outils d'administration

    Principaux outils d'administration

    Oracle Universal Installer : interface graphique pour l'installation des outils

    Oracle

    Oracle DataBase Conguration Assistant : assistant pour la cration et la

    conguration d'une base de donnes partir d'un modle par dfaut (OLTP,

    OLAP ou mixte)

    DataBase Upgrade Assistant : assistant pour migration du serveur d'une

    version une autre

    Net Conguration Assistant : assistant pour la conguration des accs en

    rseau

    Oracle Entreprise Manager : interface graphique permettant d'eectuer les

    tches d'administration et de maintenance

    SQL*Plus : application cliente du serveur de BD. Il s'agit d'un interprteur de

    commandes SQL

    11 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 11 / 228

  • Introduction gnrale Plan du cours

    Chapitre 1 - Introduction gnrale

    Prsentation d'Oracle

    Serveur de BD Oracle

    Rles du DBA

    Principaux outils d'administration

    Plan du cours

    12 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 12 / 228

  • Introduction gnrale Plan du cours

    1 Introduction gnrale

    2 Concepts de base sur le stockage de donnes

    3 Gestion des tablespaces et des chiers de donnes

    4 Les bases de l'architecture Oracle

    5 Gestion de l'instance

    6 Gestion des utilisateurs

    7 Cration manuelle d'une BD et conguration du rseau

    8 Sauvegarde et rcupration

    12 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 12 / 228

  • Concepts de base sur le stockage de donnes Introduction

    Chapitre 2 - Concepts de base sur le stockage de

    donnes

    Introduction

    I. Structures physiques de stockage

    II. Technologie RAID

    III. Structures logiques de stockage sous Oracle

    13 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 13 / 228

  • Concepts de base sur le stockage de donnes Introduction

    Hirarchie des mmoires

    Figure: Hirarchie des mmoires

    13 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 13 / 228

  • Concepts de base sur le stockage de donnes Introduction

    Hirarchie des mmoires

    Mmoire vive

    Espace de travail du processeur : toute donne ou tout programme doit tre

    charg en mmoire vive avant d'tre trait par le processeur

    Mmoire volatile : perd son contenu lorsque la machine est teinte

    Disque dur

    Mmoire persistante : ne perd pas son contenu lorsque la machine est teinte

    Grande capacit de stockage par rapport la mmoire vive

    Lent : 1 accs au disque dur 1 million d'accs la mmoire vive

    14 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 14 / 228

  • Concepts de base sur le stockage de donnes Introduction

    Objectifs d'un SGBD

    Base de donnes : ensemble de chiers stocks sur disque(s) dur(s) Raisons

    du stockage sur disque

    1 Souvent : taille de la base > taille mmoire vive

    2 Persistance

    Lenteur du disque Problmes potentiels de performance

    SGBD

    Organiser les donnes de manire minimiser le temps d'accs aux donnes

    Orir les outils de paramtrage et de contrle pour exploiter au mieux les

    ressources matrielles

    Ce chapitre...

    1 Structures physiques de stockage

    2 Structures logiques de stockage sous Oracle

    15 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 15 / 228

  • Concepts de base sur le stockage de donnes I. Structures physiques de stockage

    Chapitre 2 - Concepts de base sur le stockage de

    donnes

    Introduction

    I. Structures physiques de stockage

    1. Fonctionnement d'un disque

    2. Optimisation

    3. Fichiers et enregistrements

    II. Technologie RAID

    III. Structures logiques de stockage sous Oracle

    16 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 16 / 228

  • Concepts de base sur le stockage de donnes I. Structures physiques de stockage

    1. Fonctionnement d'un disque - a. Dispositif

    Disque dur

    Ensemble de plateaux tournant

    vitesse constante autour d'un

    axe

    +

    ttes de L/E se dplaant

    perpendiculairement l'axe

    Plateau : compos de pistes

    concentriques

    Piste : divise en blocs

    contenant les donnes

    Contrleur : reoit les demandes

    de L/E et les transforme en

    mouvements appropris des ttes

    de lecture

    16 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 16 / 228

  • Concepts de base sur le stockage de donnes I. Structures physiques de stockage

    1. Fonctionnement d'un disque - b. Bloc

    Bloc

    Unit d'change entre la mmoire vive et le disque

    Taille typique : 512 octets

    Accs un bloc

    Par son adresse : numro du plateau + numro de la piste + numro du

    bloc sur la piste

    Temps de lecture

    1 Dlai de positionnement : positionnement de la tte de lecture sur la piste

    contenant le bloc

    2 Temps de latence : rotation du disque pour attendre que le bloc passe sous la

    tte de lecture

    3 Temps de transfert (ngligeable) : transfert du bloc vers la mmoire vive

    17 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 17 / 228

  • Concepts de base sur le stockage de donnes I. Structures physiques de stockage

    2. Optimisation - a. Proximit

    Dnition (Proximit)

    Mettre dans un nombre minimal de blocs les donnes qui sont frquemment

    utilises en mme temps

    Ex. les clients d'une mme ville

    Permet de rduire le nombre de blocs transfrs en mmoire vive

    18 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 18 / 228

  • Concepts de base sur le stockage de donnes I. Structures physiques de stockage

    2. Optimisation - b. Regroupement

    Dnition (Regroupement)

    Mettre dans des blocs conscutifs les donnes qui ont de grandes chances d'tre

    utilises en mme temps

    Ex. les tuples d'une mme relation

    Permet de rduire le dlai de positionnement de la tte de lecture et le

    temps de latence

    Proximit et regroupement principe de localit spatiale

    19 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 19 / 228

  • Concepts de base sur le stockage de donnes I. Structures physiques de stockage

    Exercice

    Un SGBD doit lire 5 chanes de caractres de 1000 octets chacune.

    Caractristiques du disque : Taille de bloc : 4096 octets, Dlai de positionnement : 6

    ms, Temps de latence moyen : 3 ms, Temps de transfert : 1 ms

    Temps ncessaire pour lire les chanes en supposant tour tour que :

    a Les chanes se trouvent dans des blocs dirents rpartis alatoirement sur le disque

    b les chanes se trouvent dans des blocs dirents se trouvant les uns cot des

    autres sur une mme piste

    c les chanes se trouvent cot les unes des autres dans des blocs conscutifs.

    20 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 20 / 228

  • Concepts de base sur le stockage de donnes I. Structures physiques de stockage

    2. Optimisation - c. Tampon mmoire (Buer)

    Dnition (Tampon mmoire)

    Zone en mmoire vive destine garder des copies d'une partie des blocs se

    trouvant sur le disque

    Chaque fois qu'un bloc est lu, une copie en est garde dans le tampon pour

    que l'on puisse l'utiliser ultrieurement

    Accs un bloc : vrier d'abord s'il ne se trouve pas dj en mmoire vive

    avant de le lire depuis le disque

    principe de localit temporelleTaille du tampon : paramtrable dans la plupart des SGBD

    21 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 21 / 228

  • Concepts de base sur le stockage de donnes I. Structures physiques de stockage

    2. Optimisation - c. Tampon mmoire (Buer)

    Tampon satur : plusieurs stratgies

    LRU (Least Recently Used) : le bloc le plus rcemment lu, remplace le moins

    rcemment lu

    Touch Count : le bloc le plus rcemment lu remplace celui qui totalise le

    moins d'utilisations

    Exemple

    Taille tampon : 3 blocs

    Utilisation des blocs : t

    1

    Ba

    , t

    2

    Bb

    , t

    3

    Bb

    , t

    4

    Bc

    , t

    5

    Ba

    et

    t

    6

    Bd

    Quel bloc est remplac t

    6

    ?

    Selon LRU :

    Selon Touch Count :

    22 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 22 / 228

  • Concepts de base sur le stockage de donnes I. Structures physiques de stockage

    3. Fichiers et enregistrements

    Le stockage des donnes sur disque : organis au moyen de chiers

    Fichier

    Occupe un ou plusieurs blocs pouvant tre disperss sur le disque

    Compos d'un ensemble d'enregistrements (records)

    Enregistrement : stocke physiquement un objet du SGBD

    Exemples :

    Fichier de donnes : un enregistrement stocke la valeur d'un tuple

    Fichier log : un enregistrement stocke une action fate sur un tuple

    23 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 23 / 228

  • Concepts de base sur le stockage de donnes II. Technologie RAID

    Chapitre 2 - Concepts de base sur le stockage de

    donnes

    Introduction

    I. Structures physiques de stockage

    II. Technologie RAID

    1. Prsentation

    2. Niveaux

    III. Structures logiques de stockage sous Oracle

    24 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 24 / 228

  • Concepts de base sur le stockage de donnes II. Technologie RAID

    1. Prsentation

    Dure de vie d'un disque dur magntique

    Prs de 100,000 heures en moyenne, soit prs de 11 ans (avant qu'il ne tombe

    en panne)

    Risque de panne pour un disque parmi 100, grossirement estim

    100,000/100=1000 heures soit 42 jours

    Si la dfaillance d'un disque entrane une perte de donnes, ce risque est trop

    important

    Technologie RAID (Redundant Array of Independent Disks)

    Ide : il est plus intressant d'un point de vue, cot, abilit et performances

    de combiner plusieurs disques "grand march" que d'avoir un seul disque dur

    haute performance et grande capacit

    Objectif 1 : limiter les consquences des pannes matrielles en rpartissant

    les donnes sur un grand nombre de disques

    Objectif 2 : acclrer l'accs aux donnes

    Il existe plusieurs niveaux RAID (de 0 6), chacun atteignant l'un ou les deux

    objectifs prcdents.

    24 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 24 / 228

  • Concepts de base sur le stockage de donnes II. Technologie RAID

    2. Niveaux - a. RAID 0

    RAID 0 : volume agrg par bandes (Striping)

    Principe

    Chaque chier est divis en bandes (Stripes) de taille xe (Ex. 64 ko)

    Chaque bande est stocke sur un disque dirent

    L'accs (en L/E) aux direntes bandes d'un mme chier peut ainsi se faire

    en parallle

    Amliore les performances, mais ne protge pas des pannes

    25 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 25 / 228

  • Concepts de base sur le stockage de donnes II. Technologie RAID

    2. Niveaux - b. RAID 1

    RAID 1 : Disques en miroir (Mirroring)

    Principe :

    Au moins deux disques : un disque principal et des disques miroirs

    Les critures s'eectuent en parallle sur le principal et ses miroirs.

    Excellente protection des donnes

    Permet certaines optimisations en lecture : Ex. la demande d'accs un bloc

    peut tre tre transmise au disque dont la tte de lecture est la plus proche

    de la piste contenant le bloc.

    Coteux (de moins en moins vrai) : la moiti de l'espace de stockage est

    perdu

    26 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 26 / 228

  • Concepts de base sur le stockage de donnes II. Technologie RAID

    2. Niveaux - b. RAID 1

    RAID 1 : Disques en miroir (Mirroring)

    27 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 27 / 228

  • Concepts de base sur le stockage de donnes II. Technologie RAID

    2. Niveaux - c. RAID 4

    RAID 4 : Rpartition et parit

    Principe

    Considrer n 1 disques de la grappe comme tant un seulRpartir les donnes du les n 1 disquesL'unit de rpartition est le bloc : le premier est aect au premier disque le

    deuxime au deuxime disque est ainsi de suite

    Pas de redondance, mais utilisation de la parit et d'un disque supplmentaire

    pour reconstruire l'information perdue

    Parit

    Bit de parit : =0 si le nombre de 1 est paire et =1 sinon (OU EXclusif)

    Exemple

    disque 1 1100

    disque 2 0110

    disque C 1010

    Si un des disques est endommag, il est possible de reconstruire l'information

    partir des n 1 autres disques et du disque de contrle28 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 28 / 228

  • Concepts de base sur le stockage de donnes II. Technologie RAID

    2. Niveaux - c. RAID 4

    RAID 4 : Rpartition et parit

    29 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 29 / 228

  • Concepts de base sur le stockage de donnes II. Technologie RAID

    2. Niveaux - c. RAID 4

    RAID 4 : Rpartition et parit

    Avantage

    Un seul disque supplmentaire est ncessaire quel que soit le nombre de

    disques de donnes

    Limites

    Si plus d'un disque est endommag la fois (improbable), impossible de

    reconstruire l'information perdue

    Le disque de contrle est un goulot d'tranglement : il subit n 1 fois plusd'criture que les autres disques (n nombre total de disques)

    Reconstruction lente pour les disques volumineux

    30 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 30 / 228

  • Concepts de base sur le stockage de donnes II. Technologie RAID

    2. Niveaux - d. RAID 5

    RAID 5 : volume agrg par bandes parit rpartie

    Principe

    Mme principe que le RAID 4

    Pour viter d'avoir un goulot d'tranglement, les blocs de contrle ne sont pas

    stocks dans un seul disque, mais rpartis sur les dirents disques (de la

    mme manire que les blocs de donnes)

    31 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 31 / 228

  • Concepts de base sur le stockage de donnes II. Technologie RAID

    2. Niveaux - e. RAID 1+0

    RAID 1+0

    Principe

    Combine le RAID 1 et le RAID 0 utiliser le miroring , puis le striping

    ncessite au moins 4 disquesCombine les avantages mirroring et du du striping niveau recommandpour les chiers de donnes s'il existe susamment de disques (autrement on

    utilise gnralement le RAID 5)

    Appel galement architecture SAME (Strip And Mirror Everything)

    32 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 32 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    Chapitre 2 - Concepts de base sur le stockage de

    donnes

    Introduction

    I. Structures physiques de stockage

    II. Technologie RAID

    III. Structures logiques de stockage sous Oracle

    1. Bloc Oracle

    2. Extension

    3. Segment

    4. Tablespace

    33 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 33 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    1. Bloc Oracle - a. Dnition

    Bloc Oracle (Block)

    Plus petite unit de stockage et de transfert de donnes utilise par Oracle

    De taille paramtrable : correspond un multiple de bloc disque

    Intrt : Rduire le nombre d'accs au(x) disque(s) en transmettant plusd'informations la fois chaque accs

    Cependant, une taille de bloc "trop" grande : risque de saturer rapidement letampon mmoire avec des donnes inutiles

    La "bonne" taille dpend de l'application

    Paramtre DB_BLOCK_SIZE

    Pour consulter la taille d'un bloc Oracle partir de SQL*PLUS :

    SQL> show parameter DB_BLOCK_SIZE

    33 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 33 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    1. Bloc Oracle - b. Structure

    Structure d'un bloc Oracle, essentiellement :

    1 Entte : contient l'adresse du bloc

    2 Rpertoire des tables : liste des tables des donnes stockes

    3 Rpertoire des enregistrements : adresse des enregistrements stocks

    4 Espace libre

    5 Espace des donnes : contient les enregistrements

    34 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 34 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    1. Bloc Oracle - c. Contrle du remplissage

    Problme : Mise--jour (UPDATE) augmentant la taille d'un tuple dans un bloc

    satur

    1 Conduit au dplacement d'une partie ou de tout un enregistrement dans un

    autre bloc Chanage

    2 Chanage : opration coteuse en terme de temps d'excution, surtout si

    rpte pour chaque m--j + dgradation du temps ncessaire pour lire les

    tuples chans

    Solution : rserver un espace dans un bloc pour permettre l'augmentation de la

    taille des enregistrements due aux m--j

    35 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 35 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    1. Bloc Oracle - c. Contrle du remplissage

    Deux paramtres PCTFREE et PCTUSED spcis lors de la cration d'une table

    PCTFREE (PerCenT FREE)

    Pourcentage minimum d'espace libre rserv pour permettre l'accroissement

    de la taille des enregistrements d aux mises jour

    Si taux de remplissage >= 100-PCTFREE bloc plein : mises--jour etsuppressions autorises, insertions interdites

    PCTFREE=

    Taille moyenne d

    un tuple Taille initiale d un tupleTaille moyenne d

    un tuple

    100

    Par dfaut 10%

    36 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 36 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    1. Bloc Oracle - c. Contrle du remplissage

    PCTUSED (PerCenT USED)

    Pourcentage minimum d'espace devant tre occup par les enregistrements

    Si taux de remplissage

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    1. Bloc Oracle - c. Contrle du remplissage

    Exemple 1

    CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30,

    PCTUSED 40;

    1 Les insertions sont autorises jusqu' ce que le bloc soit plein

    2 Lorsque le bloc est plein 70 %

    1 Les insertions sont interdites dans le bloc ;

    2 Suppressions et modications sont autorises ;

    3 Les insertions sont nouveau autorises si le taux de remplissage devient

    infrieur

    Au pire, quel pourcentage du bloc reste inutilis?

    38 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 38 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    1. Bloc Oracle - c. Contrle du remplissage

    Exemple 2

    Considrons une table o :

    1 Les insertions (INSERT), les suppressions (DELETE) et les m--j (UPDATE)

    sont frquentes;

    2 Les mises jour n'augmentent pas la taille des tuples signicativement;

    3 La table est volumineuse et conomiser l'espace de stockage est primordial

    Quelles valeurs choisir pour PCTFREE et PCTUSED?

    Pas besoin de rserver beaucoup d'espace pour les m--j : petite valeur pourPCTFREE (Ex. 5)

    Rcuprer rapidement les espaces librs par les DELETE : grande valeurpour PCTUSED (Ex. 60)

    39 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 39 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    1. Bloc Oracle - c. Contrle du remplissage

    Modication de PCTFREE et de PCTUSED

    ALTER TABLE table_name PCTFREE int;

    ALTER TABLE PRODUIT PCTFREE 20;

    ALTER TABLE table_name PCTUSED int;

    ALTER TABLE PRODUIT PCTUSED 50;

    40 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 40 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    2. Extension

    Extension (Extent)

    Ensemble de blocs Oracle contigus stockant un mme type de donnes

    Ex. des tuples d'une mme relation

    Objectif : amliorer le regroupement et donc rduire le temps de ncessairepour lire des donnes d'un mme type

    41 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 41 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    3. Segment - a. Dnition

    Segment (Segment)

    Ensemble de toutes les extensions stockant les donnes d'un mme type (Ex.

    les tuples d'une mme table)

    Il existe quatre types de segment

    Segment de table : espace occup par les tuples d'une table

    Segment d'index : espace occup par un index

    Segment d'annulation : espace occup par les images des donnes avant que

    celles-ci ne soient modies

    Segment temporaire : espace temporaire o sont stockes les donnes

    temporaires utilises lors d'un tri, d'une jointure, etc.

    Les segments sont groups dans des tablespaces

    42 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 42 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    3. Segment - b. Segment d'annulation (RollBack

    Segment)

    Problme : Ncessit d'annuler des actions sur les donnes, suite une panne ou

    autre

    Exemple : virement bancaire de 100DT d'un compte A un compte B

    2 actions : dbiter A de 100 et crditer B de 100

    A est dbit, mais une panne empche B d'tre crdit

    la mise--jour de A doit tre annule!! il est ncessaire de garder une image de A avant sa mise--jour il est ncessaire de savoir avec quelles autres actions la mise--jour de Aforme une squence d'oprations indivisible (=transaction)

    43 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 43 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    3. Segment - b. Segment d'annulation (RollBack

    Segment)

    Transaction ACID (Atomicit, Cohrence, Isolation, Durabilit)

    Action ou squence d'actions d'un utilisateur ou d'une application qui doivent

    tre excutes, soit toutes, soit aucune

    Commence par un BEGIN TRANSACTION et se termine par un COMMIT

    (validation) ou un ROLLBACK (annulation)

    Enchanement type

    1 Transaction lance (BEGIN TRANSACTION)

    2 Les nouvelles images des donnes modies sont stockes dans le segment de

    table et les anciennes dans le segment d'annulation

    3 En cas de ROLLBACK, l'ancienne image remplace la nouvelle dans le segment de

    table

    Vue V$TRANSACTION : transactions utilisant le segment d'annulation actif

    44 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 44 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    4. Tablespace

    Tablespace

    Espace logique permettant d'organiser "logiquement" une base de donnes,

    par exemple un tablespace par thme

    Contient un ou plusieurs segments (un segment appartient un et un seul

    tablespace)

    Stock physiquement dans un (au moins) ou plusieurs chiers, appels

    chiers de donnes

    Unit de sauvegarde/restauration

    45 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 45 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    4. Tablespace

    Exemple : BD grant la facturation et les RH

    1 Tablespace Facturation :

    Contient les tables (segments) facture, produit, client, ligne_fact, etc.

    Stock dans les chiers fact01.dbf et fact02.dbf

    2 Tablespace RH :

    Contient les tables (segments) Employ, Paie, Absence, etc.

    Stock dans les chiers rh01.dbf et rh02.dbf

    46 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 46 / 228

  • Concepts de base sur le stockage de donnes III. Structures logiques de stockage sous Oracle

    En rsum...

    Un tablespace ne peut appartenir

    qu' une seule base de donnes la

    fois.

    Un segment ne peut pas tre rparti

    sur plusieurs tablespaces, mais peut

    s'tendre plusieurs chiers de

    donnes d'un mme tablespace.

    Un extent ne peut appartenir qu'

    un seul chier.

    Figure: Structures logiques et physiques de stockage

    [Oracle r Concepts. 11g Release 2 (11.2). E10713-05Fv. 2010]

    47 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 47 / 228

  • Gestion des tablespaces et des chiers de donnes I. Vue d'ensemble et directives

    Chapitre 3 - Gestion des tablespaces et des

    chiers de donnes

    I. Vue d'ensemble et directives

    II. Tablespaces grs localement

    III. Tablespaces temporaires et tablespaces d'annulation

    IV. Grer des tablespaces l'aide d'OMF

    V. Information sur les tablespaces et les chiers

    48 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 48 / 228

  • Gestion des tablespaces et des chiers de donnes I. Vue d'ensemble et directives

    Vue d'ensemble et directives

    Une BD Oracle contient au minimum deux tablespaces crs en mme temps

    que la BD : SYSTEM et SYSAUX (depuis la version 10)

    Tablespace SYSAUX : contient les objets crs par les produits Oracle

    Tablespace SYSTEM :

    Contient le dictionnaire de donnes, y compris les programmes stocks

    Contient le segment d'annulation SYSTEM

    Ne doit pas contenir les donnes des utilisateurs (bien que a soit possible)

    Ncessit de crer d'autres tablespaces

    48 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 48 / 228

  • Gestion des tablespaces et des chiers de donnes I. Vue d'ensemble et directives

    Vue d'ensemble et directives

    En pratique, il est fortement recommand de crer :

    Un tablespace UNDO (pour les segments d'annulation) :

    CREATE UNDO TABLESPACE...

    Un tablespace temporaire (pour les segments temporaires) :

    CREATE TEMPORARY TABLESPACE...

    Au moins un tablespace permanent (de donnes) pour viter de mettre les

    donnes utilisateurs dans SYSTEM :

    CREATE TABLESPACE...

    En gnral, sparer les segments

    1 Selon leur type : annulation, temporaire, d'index ou de table

    2 Segments de table (de donnes) : selon les besoins de sauvegarde et de

    maintenance

    49 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 49 / 228

  • Gestion des tablespaces et des chiers de donnes I. Vue d'ensemble et directives

    Vue d'ensemble et directives

    L'utilisation de plusieurs tablespaces permet :

    1 Raliser des des maintenances et des sauvegardes/restaurations partielles

    2 quilibrer la charge en E/S et accs parallle : gnralement, un serveur

    utilise plusieurs disques et les chiers d'un mme tablespace sont stocks

    dans des disques dirents (Striping)

    3 Grer l'espace de stockage allou chaque utilisateur (Chapitre Gestion des

    utilisateurs)

    4 Sparer les donnes du dictionnaire de donnes des donnes applicatives

    5 Sparer les donnes de plusieurs applications stockes dans la mme BD

    6 Sparer le stockage des dirents types d'objets

    50 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 50 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    Chapitre 3 - Gestion des tablespaces et des

    chiers de donnes

    I. Vue d'ensemble et directives

    II. Tablespaces grs localement

    1. Modes de gestion de l'espace

    2. Cration

    3. Modication

    III. Tablespaces temporaires et tablespaces d'annulation

    IV. Grer des tablespaces l'aide d'OMF

    V. Information sur les tablespaces et les chiers

    51 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 51 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    1. Modes de gestion de l'espace dans un tablespace -

    a. Prsentation

    Deux modes de gestion de l'allocation/libration des extensions d'un

    tablespace : localement et par le dictionnaire

    Gestion par le dictionnaire de donnes

    L'information sur la disponibilit des extensions est stocke dans le

    dictionnaire de donnes

    Les tables du dictionnaire sont mises jour lors de l'allocation ou libration

    d'une extension

    Gestion locale ( partir de la version 8i)

    Extensions libres grs au niveau du tablespace

    Un bitmap (par tablespace) reprsente les extensions libres/allous

    Chaque bit correspond un bloc ou un groupe de blocs

    La valeur des bits indique si ceux-si sont disponibles/utiliss

    51 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 51 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    1. Modes de gestion de l'espace dans un tablespace -

    b. Avantages du mode local

    Avantages du mode local

    + La contention est rduite au niveau du dictionnaire

    + Aucune donne d'annulation n'est gnre lors de l'allocaion/libration

    + Aucune fusion (dfragmentation ou coalesce) n'est requise

    Oracle recommande l'utilisation de la gestion locale

    52 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 52 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    2. Cration - a. Syntaxe (non-exhaustive)

    > Spcication du type du (des) chier(s) stockant le tablespace

    CREATE [SMALLFILE|BIGFILE] TABLESPACE nom_tablespace

    > Spcication des chiers stockant le tablespace

    DATAFILE fich1 [REUSE] SIZE int [K|M|G|T] [AUTOEXTEND [ON|OFF][NEXT int [K|M|G|T][MAXSIZE UNLIMITED|int [K|M|G|T]]]]

    [,fich2 [REUSE] SIZE int [K|M|G|T] [AUTOEXTEND [ON|OFF][NEXT int [K|M|G|T] [MAXSIZEUNLIMITED|int [K|M|G|T]]]]

    > Mode de gestion des extensions

    [EXTENT MANAGEMENT LOCAL [AUTOALLOCATE | UNIFORM[SIZE int]]]> Mode de gestion des segments

    [SEGMENT SPACE MANAGEMENT [AUTO|MANUAL]]> Journalisation des oprations

    [LOGGING|NOLOGGING]> Taille des blocs du tablespace

    [BLOCKSIZE int ]

    > Accessibilit immdiate ou non du tablespace aprs la cration

    [ONLINE|OFFLINE]

    53 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 53 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    2. Cration - b. BIGFILE vs. SMALLFILE

    > Spcication du type du (des) chier(s) stockant le tablespace

    CREATE [SMALLFILE|BIGFILE] TABLESPACE nom_tablespace

    SMALLFILE : valeur par dfaut

    Le tablespace peut contenir plusieurs (6 1022) "petits" chiers (taille 6 4millions de blocs Oracle)

    Avantages : striping et redimensionnement possible par ajout de nouveaux

    chiers

    BIGFILE ( partir de la version 10)

    Un seul "gros" chier (taille 6 4 milliards de blocs Oracle)Possible uniquement pour les tablespaces grs localement

    Utile si le gestionnaire de volumes logiques utilise le striping

    Simplie la gestion

    54 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 54 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    2. Cration - c. chiers de donnes

    > Spcication des chiers stockant le tablespace

    DATAFILE fich1 [REUSE] SIZE int [K|M|G|T] [AUTOEXTEND [ON|OFF][NEXT int[K|M|G|T] [MAXSIZE UNLIMITED|int [K|M|G|T]]]]

    [,fich2... ]

    REUSE : rutilisation du chier s'il existe. Sinon un message d'erreur s'ache

    AUTOEXTEND : augmentation automatique de la taille d'un chier

    NEXT : taille de l'espace supplmentaire allou au chier chaque fois que sa

    taille est augmente

    MAXSIZE : taille maximale du chier

    UNLIMITED : taille illimite. viter, un message d'erreur d'Oracle est

    prfrable un message d'erreur du SE, relay par Oracle.

    55 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 55 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    2. Cration - c. Fichiers de donnes

    > Spcication des chiers stockant le tablespace

    Exemples

    CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M;

    CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M AUTOEXTEND ON

    NEXT 5M;

    CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M AUTOEXTEND ON

    NEXT 5M MAXSIZE UNLIMITED;

    CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M AUTOEXTEND ON

    NEXT 5M MAXSIZE 100M, 'f_2.dbf' SIZE 40M AUTOEXTEND ON;

    56 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 56 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    2. Cration - d. Mode de gestion des extensions

    > Mode de gestion des extensions

    [EXTENT MANAGEMENT LOCAL [AUTOALLOCATE | UNIFORM [SIZE int ]]]LOCAL : gestion locale de l'espace

    AUTOALLOCATE : dtermination par Oracle de la taille optimale pour les

    extensions

    UNIFORM : toutes les extensions de tous les segments du tablespace ont la

    mme taille (par dfaut 1Mo). La taille doit correspondre au minimum 5

    blocs Oracle

    Exemple

    CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M

    EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2 M;

    57 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 57 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    2. Cration - e. Mode de gestion des segments

    > Mode de gestion des segments

    [SEGMENT SPACE MANAGEMENT [AUTO|MANUAL]]Clause valide uniquement lorsque le tablespace est gr localement

    AUTO : gestion des blocs disponibles pour l'insertion via des bitmaps

    MANUAL : gestion des blocs disponibles pour l'insertion via des FREE LISTS

    ( viter)

    Exemple

    CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20 M

    EXTENT MANAGEMENT LOCAL

    SEGMENT SPACE MANAGEMENT AUTO;

    58 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 58 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    3. Modication - a. Redimensionner un tablespace

    Redimensionner un tablespace : se fait par

    1 L'ajout d'un nouveau chier de donnes

    ALTER TABLESPACE nomTablespace ADD DATAFILE 'nomFichier' SIZE int

    [K|M|G|T] [AUTOEXTEND [ON|OFF][NEXT int [K|M|G|T] [MAXSIZE UNLIMITED|int[K|M|G|T]]]];

    2 La modication de la taille du (des) chier(s) de donnes

    Manuellement

    ALTER DATABASE DATAFILE 'nomFichier' RESIZE int [K|M|G|T];

    Automatiquement avec AUTOEXTEND

    ALTER DATABASE DATAFILE 'nomFichier' AUTOEXTEND ON [NEXT int[K|M|G|T] [MAXSIZE UNLIMITED|int [K|M|G|T]]];

    59 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 59 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    3. Modication - a. Redimensionner un tablespace

    La vue DBA_DATA_FILES permet de savoir si AUTOEXTEND est activ

    SQL> select tablespace_name, file_name, autoextensible

    2 from dba_data_files;

    TABLESPACE_NAME FILE_NAME AUTOEXTENSIBLE

    -

    SYSTEM /home/dba01/ORADATA/u01/system01.dbf YES

    DATA01 /home/dba01/ORADATA/u04/data01.dbf NO

    ...

    60 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 60 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    3. Modication - c. Mettre un tablespace hors ligne

    Mettre un tablespace hors ligne

    Hors ligne : donnes inaccessibles

    Tablespaces ne pouvant pas tre mis hors ligne

    Tablespace SYSTEM

    Tablespaces contenant des segments d'annulation actifs

    Tablespace temporaire par dfaut

    Mise d'un tablespace hors ligne

    ALTER TABLESPACE nomTablespace OFFLINE

    Mise d'un tablespace en ligne

    ALTER TABLESPACE nomTablespace ONLINE

    61 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 61 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    3. Modication - d. Suppression d'un tablespace

    Suppression d'un tablespace

    Tablespaces ne pouvant pas tre supprims

    Tablespace SYSTEM

    Tablespaces ayant des segments d'annulation actifs

    Syntaxe

    DROP TABLESPACE nomTablespace [INCLUDING CONTENTS [AND DATAFILES][CASCADE CONSTRAINTS] ]

    INCLUDING CONTENTS : supprime les segments. Ncessaire si le tablespace n'est pas

    vide (sinon erreur ORA-01549..)

    INCLUDING CONTENTS AND DATAFILES : supprime les segments et les chiers de

    donnes

    CASCADE CONSTRAINTS : supprime les contraintes d'intgrit rfrentielle

    Ordre DDL : pas de Rollback possible

    62 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 62 / 228

  • Gestion des tablespaces et des chiers de donnes II. Tablespaces grs localement

    3. Modication - e. Autres oprations

    Rendre un tablespace accessible en lecture uniquement

    ALTER TABLESPACE nomTablespace READ ONLY;

    Dsactivation de la journalisation

    ALTER TABLESPACE nomTablespace NOLOGGING;

    Aectation d'un segment de table un tablespace

    1 Au moment de la cration de la table :

    Exemple : CREATE TABLE Produit (...) PCTFREE 10, PCTUSED 40,

    TABLESPACE TS1;

    2 Ultrieurement :

    ALTER TABLE nomTable MOVE TABLESPACE nomTablespace;

    Exemple : ALTER TABLE Produit MOVE TABLESPACE TS1;

    63 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 63 / 228

  • Gestion des tablespaces et des chiers de donnes III. Tablespaces temporaires et tablespaces d'annulation

    Chapitre 3 - Gestion des tablespaces et des

    chiers de donnes

    I. Vue d'ensemble et directives

    II. Tablespaces grs localement

    III. Tablespaces temporaires et tablespaces d'annulation

    1. Tablespaces temporaires

    2. Tablespaces d'annulation

    IV. Grer des tablespaces l'aide d'OMF

    V. Information sur les tablespaces et les chiers

    64 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 64 / 228

  • Gestion des tablespaces et des chiers de donnes III. Tablespaces temporaires et tablespaces d'annulation

    1. Tablespaces temporaires

    Temporary Tablespace (Tablespace temporaire)

    Compos uniquement par des segments temporaires

    Cration

    CREATE TEMPORARY TABLESPACE temp_01

    TEMPFILE 'temp.tmp' SIZE 20 M AUTOEXTEND ON;

    Restrictions :

    ne peut pas tre en mode lecture seule (READ ONLY)

    ne peut pas tre en mode journalisation (LOGGING)

    ne peut contenir que des chiers temporaires (TEMPFILE)

    64 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 64 / 228

  • Gestion des tablespaces et des chiers de donnes III. Tablespaces temporaires et tablespaces d'annulation

    1. Tablespaces temporaires

    Temporary Tablespace (Tablespace temporaire)

    Dsignation d'un tablespace par dfaut (pour tous les utilisateurs)

    ALTER DATABASE

    DEFAULT TEMPORARY TABLESPACE nomTbsTemp;

    Aectation d'un tablespace temporaire aux activits d'un utilisateur

    ALTER USER nomUser TEMPORARY TABLESPACE nomTbsTemp;

    Vue DATABASE_PROPERTIES : permet de trouver le tablespace temporaire par

    dfaut d'une BD

    SELECT FROM DATABASE_PROPERTIES;

    65 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 65 / 228

  • Gestion des tablespaces et des chiers de donnes III. Tablespaces temporaires et tablespaces d'annulation

    2. Tablespaces d'annulation (Undo tablespace)

    Undo Tablespace (Tablespace d'annulation)

    A partir de la version 9i

    Contient tous les segments d'annulation (except le segment d'annulation du

    dictionnaire)

    Intrt : un seul tablespace UNDO au lieu de plusieurs segments Rollback

    disperss sur dirents tablespace + gestion automatique

    Il peut en exister plusieurs, mais un instant donn un seul est utilis par le

    systme

    ALTER SYSTEM SET UNDO_TABLESPACE = undotbs_02;

    66 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 66 / 228

  • Gestion des tablespaces et des chiers de donnes III. Tablespaces temporaires et tablespaces d'annulation

    2. Tablespaces d'annulation (Undo tablespace)

    Undo Tablespace (Tablespace d'annulation)

    Cration

    CREATE UNDO TABLESPACE nomTbsUndo

    DATAFILE ...

    [RETENTION [NON GUARANTEE|GUARANTEE]]...;

    Si RETENTION GUARANTEE et que Oracle ne trouve pas d'espace pour garder

    les donnes UNDO, toute opration DML est bloque

    Si RETENTION NON GUARANTEE et qu'une partie des donnes d'annulation a t

    crase la fameuse erreur ORA-01555 snapshot too old

    Modication de la dure de rtention (par dfaut 900 secondes)

    ALTER SYSTEM SET UNDO_RETENTION = 1000;

    67 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 67 / 228

  • Gestion des tablespaces et des chiers de donnes IV. Grer des tablespaces l'aide d'OMF

    Chapitre 3 - Gestion des tablespaces et des

    chiers de donnes

    I. Vue d'ensemble et directives

    II. Tablespaces grs localement

    III. Tablespaces temporaires et tablespaces d'annulation

    IV. Grer des tablespaces l'aide d'OMF

    1. Prsentation d'Oracle Managed File

    2. Gestion des tablespaces avec OMF

    V. Information sur les tablespaces et les chiers

    68 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 68 / 228

  • Gestion des tablespaces et des chiers de donnes IV. Grer des tablespaces l'aide d'OMF

    1. Prsentation d'OMF (Oracle Managed File)

    Avec OMF (Oracle Managed File) :

    Le DBA indique les rpertoires o les dirents types de chiers devraient tre

    stocks

    Le DBA n'a plus besoin de nommer et de prciser le chemin des chiers qu'il

    cr (Ex. plus de clause DATAFILE)

    Oracle prend en charge la cration, le nommage, la suppression et la gestion

    des chiers

    Intrt : faciliter la gestion

    68 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 68 / 228

  • Gestion des tablespaces et des chiers de donnes IV. Grer des tablespaces l'aide d'OMF

    2. Gestion des tablespaces avec OMF

    Dsignation du rpertoire cible :

    Paramtre DB_CREATE_FILE_DEST

    Exemple :

    ALTER SYSTEM SET db_create_file_dest = '/u01/oradata/dba01';

    Cration d'un tablespace OMF

    CREATE TABLESPACE nomTablespace [DATAFILE SIZE int [k|M|G|T]];

    Ajout d'un chier un tablespace OMF

    ALTER TABLESPACE nomTablespace ADD DATAFILE;

    Suppression d'un tablespace OMF

    DROP TABLESPACE nomTablespace INCLUDING CONTENTS;

    Supprime galement les chiers de donnes

    69 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 69 / 228

  • Gestion des tablespaces et des chiers de donnes V. Information sur les tablespaces et les chiers

    Chapitre 3 - Gestion des tablespaces et des

    chiers de donnes

    I. Vue d'ensemble et directives

    II. Tablespaces grs localement

    III. Tablespaces temporaires et tablespaces d'annulation

    IV. Grer des tablespaces l'aide d'OMF

    V. Information sur les tablespaces et les chiers

    70 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 70 / 228

  • Gestion des tablespaces et des chiers de donnes V. Information sur les tablespaces et les chiers

    Informations sur les tablespaces et les chiers de

    donnes

    Vues du dictionnaire contenant des informations sur les tablespaces et les chiers

    de donnes :

    Tablespaces

    DBA_TABLESPACES

    V$TABLESPACE

    Fichiers de donnes

    DBA_DATA_FILES

    V$DATAFILE

    Fichiers temporaires

    DBA_TEMP_FILES

    V$TEMPFILE

    70 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 70 / 228

  • Les bases de l'architecture Oracle Introduction

    Chapitre 4 - Les bases de l'architecture Oracle

    Introduction

    I. La base de donnes

    II. Instance

    III. Traitement d'un ordre SQL

    IV. Dictionnaire de donnes

    71 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 71 / 228

  • Les bases de l'architecture Oracle Introduction

    Architecture d'un serveur de BD Oracle

    Serveur de BD Oracle : comporte deux lments distincts

    1 La base de donnes : ensemble de chiers contenantles donnes, les

    informations sur les donnes (le dictionnaire de donnes) et les journaux de

    modications sur les donnes (chiers log)

    2 L'instance : ensemble de processus et de zones en mmoire vive

    permettant l'interaction avec les chiers de la BD.

    71 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 71 / 228

  • Les bases de l'architecture Oracle Introduction

    Plan

    Ce chapitre...

    I. Base de donnes

    II. Instance

    III. Traitement d'un ordre SQL

    IV. Dictionnaire de donnes

    72 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 72 / 228

  • Les bases de l'architecture Oracle I. La base de donnes

    Chapitre 4 - Les bases de l'architecture Oracle

    Introduction

    I. La base de donnes

    1. Structure de la base

    2. Fichiers de donnes

    3. Fichiers de journalisation

    4. Fichier de contrle

    II. Instance

    III. Traitement d'un ordre SQL

    IV. Dictionnaire de donnes

    73 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 73 / 228

  • Les bases de l'architecture Oracle I. La base de donnes

    1. Structure de la base

    Base de donnes

    Ensemble de chiers stocks sur les disques durs du serveur hbergeant la

    base

    Porte un nom dni lors de sa cration stock dans le paramtre

    d'initialisation DB_NAME (Ex. DBisit)

    En complment l'emplacement de la BD sur le rseau peut tre inscrit dans le

    paramtre DB_DOMAIN (Ex. infcom.rnu.tn)

    Nom global de la BD : DB_NAME.DB_DOMAIN (DBisit.infcom.rnu.tn)

    73 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 73 / 228

  • Les bases de l'architecture Oracle I. La base de donnes

    1. Structure de la base

    Il existe dirents types de chiers : de donnes, de journalisation, etc.

    Les chiers de paramtres, de contrle, des mots de passe et les archives des

    chiers de journalisation ne font pas partie de la BD

    74 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 74 / 228

  • Les bases de l'architecture Oracle I. La base de donnes

    2. Fichiers de donnes (Data Files)

    Contiennent :

    Les tables et les index crs par les utilisateurs

    Les donnes d'annulation (images avant modication)

    Le dictionnaire de donnes

    Groups logiquement dans des tablespaces

    75 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 75 / 228

  • Les bases de l'architecture Oracle I. La base de donnes

    3. Fichiers de journalisation (Redo Log Files)

    Contiennent un historique de toutes les oprations de modication faites sur

    les donnes (depuis une certaine priode)

    Utiliss par le systme pour reconstituer les chiers de donnes en cas

    d'altration de ceux-ci ou de crash systme

    Informations sur les chiers journaux : vues V$LOGFILES et V$LOG dudictionnaire de donnes

    76 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 76 / 228

  • Les bases de l'architecture Oracle I. La base de donnes

    3. Fichiers de journalisation (Redo Log Files)

    criture dans les chiers Redo Log

    Multiplexe

    Maintien de plusieurs copies synchrones d'un mme chier log

    Groupe : ensemble de chiers multiplexs (identiques).

    Membre : un chier appartenant un groupe synchrone est dit membre de ce

    groupe (vue V$LOGFILE)

    Il existe au minimum deux groupes par BD (vue V$LOG).

    Cyclique

    Chaque fois que les chiers d'un groupe sont saturs, le systme crit dans les

    chiers du groupe suivant (basculement ou switch)

    Si le contenu des chiers n'est pas archiv, il est dnitivement perduLa BD est par dfaut en mode NOARCHIVELOG.

    Pour activer l'archivage : ALTER DATABASE ARCHIVELOG

    77 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 77 / 228

  • Les bases de l'architecture Oracle I. La base de donnes

    3. Fichiers de journalisation (Redo Log Files)

    Ajout d'un nouveau groupe

    ALTER DATABASE ADD LOGFILE [GROUP numGroup] ('nomFichier1.LOG',

    ['nomFichier2.LOG',...] SIZE [K|M]

    Ajout d'un chier membre un groupe (multiplexage)

    ALTER DATABASE ADD LOGFILE MEMBER 'nomFichier .LOG' TO GROUP

    numGroupe

    Basculement forc d'un groupe un autre

    ALTER SYSTEM SWITCH LOGFILE

    78 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 78 / 228

  • Les bases de l'architecture Oracle I. La base de donnes

    4. Fichier de contrle (Control File)

    Contient des informations sur la structure physique de la BD :

    Nom et date de cration de la BD

    Emplacement des chiers de donns et de journalisation

    Position courante dans les log

    Informations sur les points de reprise (CheckPoint)

    Etc.

    Premier chier consult par l'instance aprs l'ouverture d'une BD (pour

    localiser les autres chiers)

    Multiplexage fortement recommand (pour des raisons de performances,8 copies au maximum)

    Mis jour automatiquement chaque modication de la structure de la BD

    (Ex. ajout/suppression de chiers de la BD, cration d'un point de reprise,

    etc;)

    79 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 79 / 228

  • Les bases de l'architecture Oracle I. La base de donnes

    4. Fichier de contrle (Control File)

    Le paramtre CONTROL_FILES contient l'emplacement des chiers de

    contrle

    Consultation partir de SQL*PLUS :

    "SQL> show parameter control_files"

    La vue V$CONTROLFILE du dictionnaire renseigne sur le chier de contrle

    80 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 80 / 228

  • Les bases de l'architecture Oracle II. Instance

    Chapitre 4 - Les bases de l'architecture Oracle

    Introduction

    I. La base de donnes

    II. Instance

    1. Vue d'ensemble

    2. La SGA

    3. La PGA

    4. Processus Serveur

    5. Processus d'arrire plan

    III. Traitement d'un ordre SQL

    IV. Dictionnaire de donnes

    81 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 81 / 228

  • Les bases de l'architecture Oracle II. Instance

    1. Vue d'ensemble

    Instance

    Ouvre une seule BD la fois

    Identie par un SID (System ID) stock dans le paramtre INSTANCE_NAME

    (gnralement, mme valeur que pour DB_NAME)

    Se compose de :

    1 Zones en mmoire vive :

    1 System Global Area (SGA)

    2 Program Global Area (PGA)

    2 Processus serveur

    3 Processus d'arrire plan

    81 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 81 / 228

  • Les bases de l'architecture Oracle II. Instance

    2. La SGA

    System Global Area

    Ensemble de tampons mmoire partags par les processus de l'instance

    Alloue au dmarrage de la BD et libre sa fermeture

    3 zones obligatoires et 3 zones optionnelles

    Taille maximale : paramtre SGA_MAX_SIZE

    82 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 82 / 228

  • Les bases de l'architecture Oracle II. Instance

    2. La SGA - a. Le pool partag (shared pool)

    Rle : essentiellement, acclrer l'analyse des requtes

    Compos de deux tampons : le Library Buer et le Dictionary Buer

    Library Buer

    Tampon stockant des informations sur les requtes SQL les plus rcemment

    excutes

    Informations : texte, version compile et plan d'excution

    Remplacement : LRU

    Dictionary Buer

    Tampon stockant les donnes du dictionnaire les plus rcemment utilises

    (tables, droits des utilisateurs, etc.)

    Remplacement : LRU

    Taille du pool partag : paramtre SHARED_POOL_SIZE

    83 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 83 / 228

  • Les bases de l'architecture Oracle II. Instance

    2. La SGA - b. Le tampon de la BD (DataBase Buer)

    Tampon mmoire rserv au stockage des blocs de donnes Oracle (blocs de

    tables, d'index, d'annulation)

    Rle :

    Remplacement

    Gr selon la stratgie LRU, applique en premier aux blocs dont le contenu a

    t modi (Dirty Blocks)

    Raison : Les blocs modis sont crits en premier sur le disque pourminimiser l'information perdue et le temps de sa restauration

    84 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 84 / 228

  • Les bases de l'architecture Oracle II. Instance

    2. La SGA - b. Le tampon de la BD (DataBase Buer)

    DB_CACHE_SIZE

    Paramtre contrlant la taille du DataBase Buer

    doit tre un multiple de DB_BLOCK_SIZE.Nombre maximal de blocs dans le tampon =

    N.B. si un tablespace tbs utilise une taille de bloc 6= DB_BLOCK_SIZENcessit d'initialiser au pralable un tampon supplmentaire dont la taille est

    un multiple de la taille du bloc de tbs

    Paramtre (selon la taille de bloc utilise dans tbs) : DB_nk_CACHE_SIZE ,avec n {2, 4, 8, 16, 32}ALTER SYSTEM SET DB_32K_CACHE_SIZE=300M

    85 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 85 / 228

  • Les bases de l'architecture Oracle II. Instance

    2. La SGA - c. Le tampon de journalisation (Redo

    Log Buer)

    Tampon mmoire rserv au stockage de l'historique des oprations de

    modication faites sur les donnes

    Priodiquement le contenu du tampon est crit dans les chiers de

    journalisation (par exemple, suite un commit)

    Taille dnie par le paramtre LOG_BUFFER

    Rle : criture par lot (batch) des entres log au lieu d'une criture par

    entre (i.e. par opration de modication)

    86 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 86 / 228

  • Les bases de l'architecture Oracle II. Instance

    2. La SGA - d. Autres zones mmoires

    Java Pool :

    Plusieurs routines internes d'Oracle utilise du code Java

    Ex. import/export de donnes

    Zone de mmoire utilise par la machine virtuelle Java intgre. Paramtre

    JAVA_POOL_SIZE

    Large Pool : stocke essentiellement, les donnes sur les sessions des

    utilisateurs. Paramtre LARGE_POOL_SIZE

    Streams Pool : Zone de mmoire utilise pour l'change d'informations

    entre processus. Paramtre STREAMS_POOL_SIZE

    SGA Fixe : inclut les informations sur l'tat de la base, l'instance, les

    verrous, etc.

    87 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 87 / 228

  • Les bases de l'architecture Oracle II. Instance

    2. La SGA - e. Gestion automatique

    Tailles des direntes zones mmoires : grables manuellement (par le DBA)

    ou automatiquement (par Oracle)

    Gestion manuelle : donner une taille chacune des zones. La somme des

    tailles doit tre

  • Les bases de l'architecture Oracle II. Instance

    2. La SGA - En rsum...

    89 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 89 / 228

  • Les bases de l'architecture Oracle II. Instance

    3. PGA (Program Global Area)

    Zone mmoire prive des dirents processus, une PGA par processus

    PGA agrge : PGA totale alloue tous les processus

    Paramtre PGA_AGGREGATE_TARGET : taille de la PGA agrge (Oracle se

    charge de la rpartition entre le dirents processus)

    90 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 90 / 228

  • Les bases de l'architecture Oracle II. Instance

    4. Processus serveur

    Processus Utilisateur (PU ou User Process) :

    Programme demandant une interaction avec le Serveur de BD (Ex.

    SQL*PLUS)

    Ne fait pas partie du serveur de BD et n'interagit avec celui-ci qu'au travers

    d'un processus serveur

    Processus Serveur (PS ouServer Process) :

    Prend en charge les appels gnrs par un ou plusieurs processus utilisateurs et

    leur renvoie les rsultats

    Notamment : chargement des donnes dans le tampon de BD et criture dans

    le tampon Redo Log

    Deux modes : serveur ddi et serveur partag (spci au moment de la

    cration de la BD)

    Ddi : un processus serveur pour chaque processus utilisateur

    Partag : un processus serveur pour plusieurs processus utilisateur

    91 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 91 / 228

  • Les bases de l'architecture Oracle II. Instance

    5. Processus d'arrire plan - a. Rle et prsentation

    Rle :

    1 Grer la SGA et criture partir de la SGA vers les chiers de la BD

    2 Assurer le bon fonctionnement de l'instance, mme en cas de crash

    Dclenchement :

    Au dmarrage de l'instance pour certains

    Ultrieurement suite des vnements particuliers (ex. Tampon satur) pour

    d'autres

    92 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 92 / 228

  • Les bases de l'architecture Oracle II. Instance

    5. Processus d'arrire plan - b. Processus DBW (DataBase Writer)

    Rle : criture dans les chiers de donnes (sur disque) des blocs devant

    sortir du tampon de la base de donnes

    Sur les systmes multi-processeurs, multi-disques, il est recommand d'en

    avoir plusieurs (jusqu' 20) numrots comme suit : DBW0, DBW1,...,

    DBW9, DBWa,..., DBWj

    Paramtre DB_WRITER_PROCESSES : dtermine le nombre de processus DBW

    93 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 93 / 228

  • Les bases de l'architecture Oracle II. Instance

    5. Processus d'arrire plan - c. Processus LGWR (LoG WRiter)

    Rle : criture squentielle par lot dans les chiers de journalisation (Redo

    log) des entres log devant sortir du tampon Redo Log

    Dclenchement

    1 Suite une validation (COMMIT);

    2 Toute les trois secondes (cf. 5.d. Processus CKPT);

    3 Quand

    1

    3

    du tampon Redo Log est plein :

    4 Avant que DBW n'crive sur disque les blocs modis (Dirty) : pour viter les

    modications non journalises en cas de crash systme.

    94 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 94 / 228

  • Les bases de l'architecture Oracle II. Instance

    5. Processus d'arrire plan - d. Processus CKPT (ChecKPoinT)

    Rle

    1 Forcer l'criture de tous les blocs modis "Dirty" (et donc du contenu du

    tampon Redo log) sur disque Cration d'un point de reprise (CheckPoint)2 Consigner l'estampille temporelle (System Change Number ou SCN) de

    l'criture :

    dans le chier de contrle,

    dans les en-ttes des chiers de donnes et de journalisation

    En cas crash, le SCN indique le point de dpart de la restauration

    Intrt :

    Restauration plus rapide en cas de crash systme

    Les entres Redo log datant d'avant le SCN ne sont pas rejoues

    95 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 95 / 228

  • Les bases de l'architecture Oracle II. Instance

    5. Processus d'arrire plan - d. Processus CKPT (ChecKPoinT)

    Dclenchement de CKPT :

    A la demande : ALTER SYSTEM CHECKPOINT

    A la fermeture d'une BD (except SHUTDOWN ABORT)

    Lors de la mise hors ligne d'un tablespace

    Toute les 3 secondes

    Lorsque LGWR bascule d'un groupe un autre :

    96 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 96 / 228

  • Les bases de l'architecture Oracle II. Instance

    5. Processus d'arrire plan - e. Le processus SMON (System

    MONitor)

    Dclenchement : l'ouverture de la BD

    Rle : rcupration de la BD suite un arrt brutal

    Dtection de l'arrt brutal de la BD :

    1 Comparaison des SCN des en-ttes des chiers de donnes et de journalisation

    avec le SCN du chier de contrle

    2 Si dirents, une rcupration est ncessaire

    Rcupration : deux tapes

    1 Roll Forward : rejouer toutes les transactions, valides ou non, depuis le

    dernier point de reprise (chiers de journalisation + chier de contrle)

    2 Roll Back : annuler les transactions non valides (segments d'annulation)

    97 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 97 / 228

  • Les bases de l'architecture Oracle II. Instance

    5. Processus d'arrire plan - e. Le processus SMON (System

    MONitor)

    Figure: Roll Forward (Redo) suivi d'un Roll Back (Undo)[Oracle

    c Database Concepts 11gRelease 2 (11.2)E10713-05,2010]

    98 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 98 / 228

  • Les bases de l'architecture Oracle II. Instance

    5. Processus d'arrire plan - f. Le processus PMON (Process

    MONitor)

    PMON, essentiellement

    Dtection et nettoyage suite au plantage d'un processus utilisateur

    Exemple :

    1 Un PU ouvre une session et lance une requte UPDATE

    2 Les donnes concernes sont verrouilles et le UPDATE excut

    3 Le PU n'est plus prsent et n'a pas ferm la session (n'a ni valid ni annul la

    transaction)!!

    PMON dtecte le blocage, annule la transaction et libre les verrous

    99 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 99 / 228

  • Les bases de l'architecture Oracle II. Instance

    5. Processus d'arrire plan - e. Processus ARC (ARChive)

    Rle : archivage des chiers de journalisation

    Dclenchement : basculement d'un groupe de chiers un autre

    Suite la saturation du groupe

    Suite ALTER SYSTEM SWITCH LOGFILE

    Il peut en exister plusieurs : ARCn

    ARC n'crit pas directement sur la bande de sauvegarde, mais sur les disques

    de la machine hte

    Paramtre d'initialisation LOG_ARCHIVE_DEST_n : dtermine l'emplacement

    de la n

    eme

    copie d'archive

    ALTER SYSTEM SET log_archive_dest_1='location=chemin'

    SCOPE=spfile

    100 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 100 / 228

  • Les bases de l'architecture Oracle II. Instance

    En rsum...

    Figure: [Oracle 11g Administration, Olivier Heurtel, eni Editions, Nov. 2008]

    101 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 101 / 228

  • Les bases de l'architecture Oracle III. Traitement d'un ordre SQL

    Chapitre 4 - Les bases de l'architecture Oracle

    Introduction

    I. La base de donnes

    II. Instance

    III. Traitement d'un ordre SQL

    1. Traitement d'un SELECT

    2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)

    IV. Dictionnaire de donnes

    102 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 102 / 228

  • Les bases de l'architecture Oracle III. Traitement d'un ordre SQL

    1. Traitement d'un SELECT

    1 Analyse (Parse)

    1 Le PU envoie la requte au PS

    2 Si la requte n'a pas dj t analyse prcdemment (consultation du Library

    Buer), le PS l'analyse

    3 Le PS doit vrier si les objets interrogs par la requte existent et si

    l'utilisateur a le droit de les consulter. Si ces informations ne sont pas

    prsentes dans le Dictionary Buer, le PS les charge

    4 Gnration et enregistrement du plan d'excution (si non prsent dans le

    Library Buer)

    2 Excution : excution du plan de la requte. Si les blocs des donnes

    interroges ne sont pas dans le tampon de la BD, le PS les charge dans le

    tampon partir,

    1 du chier de donnes si les donnes n'ont pas t modies par une

    transaction non encore valide

    2 du tablespace d'annulation (undo), sinon

    3 Extraction : le PS renvoie au PU le rsultat de la requte

    102 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 102 / 228

  • Les bases de l'architecture Oracle III. Traitement d'un ordre SQL

    2. Traitement d'un ordre DML

    (UPDATE/INSERT/DELETE)

    1 Analyse (Parse)

    Idem. que pour une slection

    2 Excution

    1 Si les blocs de donnes et les blocs d'annulation ne se trouvent pas dj dans

    le tampon de la BD, le PS les charge.

    2 Le PS place des verrous sur les tuples modier

    3 Le PS place l'image avant des donnes dans le bloc d'annulation.

    4 Les modications sont enregistres dans les blocs de donnes qui sont alors

    marqus comme "Dirty"

    5 Les informations sur la modication sont consignes dans le tampon de

    journalisation

    103 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 103 / 228

  • Les bases de l'architecture Oracle IV. Dictionnaire de donnes

    Chapitre 4 - Les bases de l'architecture Oracle

    Introduction

    I. La base de donnes

    II. Instance

    III. Traitement d'un ordre SQL

    IV. Dictionnaire de donnes

    1. Rappel

    2. Vues statiques

    3. Vues dynamiques

    104 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 104 / 228

  • Les bases de l'architecture Oracle IV. Dictionnaire de donnes

    1. Rappel

    Dictionnaire de donnes

    1 Ensemble de vues et de tables contenant les informations sur toutes les

    composantes logiques et physiques de la BD et de l'instance

    2 Cr et mis jour par le systme lorsque des ordres DDL sont excutes

    (CREATE/ALTER/DROP)

    3 Proprit de l'utilisateur SYS stock dans le tablespace SYSTEM.4 Les donnes des tables sont codes et modiables uniquement par le systme.

    Accessibles uniquement via des vues

    5 Deux types de vues :

    Vues statiques : bases sur les "vraies" tables du dictionnaire

    Vues dynamiques : bases sur de l'information se trouvant en mmoire vive

    (Ex. SGA) ou extraite du chier de contrle

    104 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 104 / 228

  • Les bases de l'architecture Oracle IV. Dictionnaire de donnes

    2. Vues statiques

    Trois types :

    Vues prxes par USER_

    Donnent accs aux informations sur les objets possds (crs) par l'utilisateur

    Exemple : USER_TABLES : tables cres par l'utilisateur

    Vues prxes par ALL_

    Donnent accs aux informations sur les objets (tables, index, vues, triggers,

    etc.) accessibles par l'utilisateur

    Exemple : ALL_TABLES : toutes les tables que l'utilisateur peut voir

    Vues prxes par DBA_

    Interrogeables uniquement par les administrateurs

    Donnent accs aux informations sur tous les objets de la BD

    Exemple : DBA_TABLES : toutes les tables de la BD

    105 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 105 / 228

  • Les bases de l'architecture Oracle IV. Dictionnaire de donnes

    3. Vues dynamiques

    Contiennent l'information sur l'activit en cours de la BD et de l'instance

    Prxes par V$

    V$FIXED_TABLE : contient la liste des vues dynamiques. Quelques vues

    dynamiques :

    Nom Description

    V$DATABASE Informations sur la BD

    V$INSTANCE Informations sur l'instance

    V$SGA Informations rsumes sur la SGA

    V$PARAMETER Informations sur les paramtres d'initialisation

    V$SQL Informations sur les requtes SQL excutes

    106 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 106 / 228

  • Gestion de l'instance I. Fichier de paramtres

    Chapitre 5 - Gestion de l'instance

    I. Fichier de paramtres

    1. Prsentation

    2. PFILE vs. SPFILE

    3. Modication des paramtres d'initialisation

    II. Dmarrage et arrt d'un serveur de BD Oracle

    III. Diagnostic et surveillance d'un serveur de BD Oracle

    107 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 107 / 228

  • Gestion de l'instance I. Fichier de paramtres

    1. Prsentation

    Fichier de paramtres

    Consult par l'instance son dmarrage et avant l'ouverture de la BD. Ne

    fait pas partie de la BD

    Contient l'ensemble des paramtres d'initialisation de l'instance

    Paramtres d'emplacement : DB_CREATE_FILE_DEST, CONTROL_FILES, etc.

    Paramtres de limites et d'allocation mmoire : DB_BLOCK_SIZE,

    DB_CACHE_SIZE, SGA_MAX_SIZE, etc.

    Il existe deux types de chiers de paramtres : le PFILE (historique) et le

    SPFILE (depuis la version 9i)

    107 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 107 / 228

  • Gestion de l'instance I. Fichier de paramtres

    1. Prsentation

    Exemple d'un chier de paramtres PFILE

    Il existe deux types de chiers de paramtres : le PFILE (historique) et le

    SPFILE (depuis la version 9i)

    108 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 108 / 228

  • Gestion de l'instance I. Fichier de paramtres

    2. PFILE vs. SPFILE

    `

    PFILE (Parameter File) SPFILE (Server Parameter File)

    Fichier texte Fichier binaire

    Modiable via un diteur texte Modiable uniquement via SQL

    Prsent sur chaque machine pouvant d-

    marrer l'instance (problme de synchroni-

    sation)

    Centralis : un seul chier sur la machine

    hte de la BD

    Nomm initSID.ora Nomm spleSID.ora

    Modication froid Modiable chaud (pour les paramtres

    dynamiques)

    Possibilit de crer un PFILE partir d'un SPFILE et inversement :

    CREATE PFILE/SPFILE [nomFichier1] FROM SPFILE/PFILE [nomFichier2]

    Lors du dmarrage d'une instance, le serveur cherche un sple et sinon un

    ple

    109 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 109 / 228

  • Gestion de l'instance I. Fichier de paramtres

    3. Modication des paramtres d'initialisation

    Instruction SQL pour modier les paramtres d'initialisation

    ALTER SYSTEM SET nomParam = nouvelleValeur

    [SCOPE = [BOTH|MEMORY|SPFILE]]

    SCOPE = SPFILE : si le paramtre est statique (modiable uniquement

    froid), ou bien s'il est souhait que les changements ne prennent eet qu'au

    prochain dmarrage de l'instance

    SCOPE = MEMORY : si le paramtre est dynamique (modiable chaud). Les

    changements aectent uniquement l'instance en cours

    SCOPE = BOTH : si le paramtre est dynamique et les modications

    concernent aussi bien l'instance en cours que les prochaines

    110 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 110 / 228

  • Gestion de l'instance I. Fichier de paramtres

    3. Modication des paramtres d'initialisation

    Si l'instance dmarre l'aide d'un PFILE

    Seule l'option MEMORY est utilisable avec ALTER SYSTEM...

    Le DBA doit retranscrire les modications dans le PFILE

    Pour consulter la valeur courante d'un paramtre nomParametre

    1 A partir de SQL*PLUS: "SQL>show parameter nomParametre"

    2 SQL : "SELECT name, value FROM V$PARAMETER WHERE name =nomParametre"

    Pour consulter la valeur stocke dans un SPFILE d'un paramtre

    nomParametre

    SQL : "SELECT name, value FROM V$SPPARAMETER WHERE name =nomParametre"

    111 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 111 / 228

  • Gestion de l'instance II. Dmarrage et arrt d'un serveur de BD Oracle

    Chapitre 5 - Gestion de l'instance

    I. Fichier de paramtres

    II. Dmarrage et arrt d'un serveur de BD Oracle

    1. Dmarrage

    2. Arrt

    III. Diagnostic et surveillance d'un serveur de BD Oracle

    112 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 112 / 228

  • Gestion de l'instance II. Dmarrage et arrt d'un serveur de BD Oracle

    1. Dmarrage - a. Syntaxe

    Dmarrage - Syntaxe (non exhaustive)

    STARTUP [FORCE][RESTRICT][PFILE=nomPFILE]

    [OPEN | MOUNT | NOMOUNT]

    Figure: Phases de dmarrage [Oracle

    c Database Concepts 11g Release 2 (11.2)E10713-05,2010]

    112 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 112 / 228

  • Gestion de l'instance II. Dmarrage et arrt d'un serveur de BD Oracle

    1. Dmarrage - b. STARTUP NOMOUNT

    STARTUP NOMOUNT

    1 Un SPFILE (sple%.ora) est cherch. Si non trouv un ple (init%.ora) est

    cherch et utilis la place

    2 La SGA est alloue selon les paramtres d'initialisation

    3 Les processus d'arrire plan sont lancs

    La BD n'est ni monte ni ouverte

    les vues dynamiques relatives l'instance (V$INSATNCE, V$SGA, etc.) sontinterrogeables, mais pas celles relatives la BD (V$DATABASE)

    Pour monter (resp. ouvrir) la BD ultrieurement :

    ALTER DATABASE MOUNT (resp. ALTER DATABASE OPEN)

    113 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 113 / 228

  • Gestion de l'instance II. Dmarrage et arrt d'un serveur de BD Oracle

    1. Dmarrage - c. STARTUP MOUNT

    STARTUP MOUNT

    1 Ouverture du chier de contrle de la BD (localisation partir du paramtre

    d'initialisation CONTROL_FILES)

    2 Si le chier de contrle est multiplex et que les copies ne sont pas

    identiques, l'instance reste l'tat NOMOUNT

    3 Depuis le chier de contrle, extraction des noms, des emplacements et des

    tats des chiers de donnes et de journalisation. Ces chiers ne sont ce

    stade ni ouverts ni vris

    Connexion la BD possible uniquement pour les administrateurs. Ils peuvent

    y faire certaines tches d'administration

    Ex. Renommage/dplacement de chiers, activation de la journalisation, etc.

    (Pourquoi ne sont elles pas possibles en mode NOMOUNT?)

    La BD est dite associe l'instance, les vues dynamiques relatives la BD

    sont consultables (V$DATABASE), mais pas les vues statiques

    Pour la rendre accessible tous le monde ultrieurement :

    ALTER DATABASE OPEN

    114 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 114 / 228

  • Gestion de l'instance II. Dmarrage et arrt d'un serveur de BD Oracle

    1. Dmarrage - d. STARTUP OPEN

    STARTUP ou STARTUP OPEN

    1 Ouverture des chiers de journalisation et de donnes

    2 SMON est lanc. Si les SCN des en-ttes des chiers de donnes et de

    journalisation sont dirents du SCN apparaissant dans le chier de contrle

    Roll Forward + Roll Back.

    Aprs l'ouverture, la BD est disponible une utilisation "normale" pour tous

    les utilisateurs

    115 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 115 / 228

  • Gestion de l'instance II. Dmarrage et arrt d'un serveur de BD Oracle

    1. Dmarrage - e. Autres options de dmarrage

    STARTUP FORCE

    1 Interrompt l'instance en cours, puis excute un dmarrage normal

    Equivalent SHUTDOWN ABORT + STARTUP

    STARTUP RESTRICT

    N'autorise l'accs la BD qu'aux administrateurs et les utilisateurs disposant

    du privilge RESTRICTED SESSION

    Utilis pour eectuer certaines oprations d'administration qui ncessite que

    la BD soit ouverte, mais qu'il est prfrable de raliser sans utilisateur

    connect

    Ex. Import/export de donnes, rorganisation d'une table etc.

    Pour quitter le mode restreint

    ALTER SYSTEM DISABLE RESTRICTED SESSION

    116 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 116 / 228

  • Gestion de l'instance II. Dmarrage et arrt d'un serveur de BD Oracle

    2. Arrt - a. Syntaxe

    Syntaxe (non exhaustive)

    SHUTDOWN [NORMAL | TRANSACTIONAL | IMMIDIATE | ABORT]

    Figure: Phases d'arrt [Oracle

    c Database Concepts 11g Release 2 (11.2)E10713-05,2010]

    117 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 117 / 228

  • Gestion de l'instance II. Dmarrage et arrt d'un serveur de BD Oracle

    2. Arrt - b. Options d'arrt

    SHUTDOWN ou SHUTDOWN NORMAL

    Attend la dconnexion de tous les utilisateurs et l'arrt de toutes les

    transactions en cours

    Eectue un checkpoint avant l'arrt

    SHUTDOWN TRANSACTIONAL

    Attend l'arrt de toutes les transactions (mais pas la dconnexion de tous les

    utilisateurs)

    Eectue un checkpoint avant l'arrt

    118 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 118 / 228

  • Gestion de l'instance II. Dmarrage et arrt d'un serveur de BD Oracle

    2. Arrt - b. Options d'arrt

    SHUTDOWN IMMEDIATE

    Fermeture instantane sans attendre les sessions/transactions en cours.

    Eectue un rollback des transactions non valides, puis un checkpoint avant

    l'arrt

    SHUTDOWN ABORT

    Fermeture instantane sans attendre les sessions/transactions en cours.

    Pas de checkpoint avant l'arrt recouvrement au dmarrage utiliser uniquement si blocage des autres types d'arrt

    119 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 119 / 228

  • Gestion de l'instance II. Dmarrage et arrt d'un serveur de BD Oracle

    2. Arrt - b. Options d'arrt

    En rsum...

    Figure: Options d'arrt [Oracle

    c Database Concepts 11g Release 2 (11.2)E10713-05,2010]

    120 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 120 / 228

  • Gestion de l'instance III. Diagnostic et surveillance d'un serveur de BD Oracle

    Chapitre 5 - Gestion de l'instance

    I. Fichier de paramtres

    II. Dmarrage et arrt d'un serveur de BD Oracle

    III. Diagnostic et surveillance d'un serveur de BD Oracle

    1. Vue d'ensemble

    2. Le chier d'alertes alertSID.log

    3. Les chiers trace des processus d'arrire plan

    4. Les chiers trace des processus utilisateur

    5. Outils de diagnostic

    121 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 121 / 228

  • Gestion de l'instance III. Diagnostic et surveillance d'un serveur de BD Oracle

    1. Fichiers de diagnostic

    Problme et incident

    Problme : erreur critique. A un identicateur unique (ORA-...)

    Incident : occurrence d'un problme

    Fichiers de diagnostic

    Informations relatives aux vnements signicatifs qui se sont produits,

    Permettent la rsolution des incidents et l'amlioration de la gestion

    quotidienne de la base de donnes.

    Plusieurs types

    Fichier alertSID.log : informations sur le fonctionnement au quotidien de la

    BD

    Fichiers trace de processus d'arrire-plan : informations sur les erreurs

    dtectes par les processus d'arrire plan

    Fichiers trace utilisateur : informations sur les processus utilisateurs

    121 / 228 Khaled Jouini

    c (IsitCom) Administration des bases de donnes 2012-2013 121 / 228

  • Gestion de l'instance III. Diagnostic et surveillance d'un serveur de BD Oracle

    2. Le chier d'alertes alertSID.log

    Chaque instance possde un chier d'alertes, cr au dmarrage si besoin.

    Exemple d'informations

    Cration, dmarrages/arrts

    Modication de la structure (tablespaces, chiers de donnes)

    Certains types d'erreurs : erreurs du SE (ORA-07445), manque de mmoire

    pour le Pool partag (ORA-04031)

    Problmes relatifs l'criture et l'archivage des chiers de journalisation

    Alertes (Tablespace presque plein, disque presque plein, etc.)

    Etc.

    Cont