Administration des bases de donnéesKhaled Jouinij.khaled@gmail.comInstitut Supérieur dInformatique et des Technologies de ...
La reproduction de ce document par tout moyen que ce soit,sans lavis de lauteur, est interdite conformément auxlois protég...
Syllabus du coursSQL à la maisonOracle Database 11g Personal Edition ou (à défaut) Oracle Database 11gExpress Edition.http...
Introduction générale Présentation dOracleChapitre 1 - Introduction généralePrésentation dOracleServeur de BD OracleRôles ...
Introduction générale Présentation dOraclePrésentation dOracleOracle : leader mondial des SGBDRs, avec une part de marché ...
Introduction générale Serveur de BD OracleChapitre 1 - Introduction généralePrésentation dOracleServeur de BD OracleRôles ...
Introduction générale Serveur de BD OracleOracle DataBaseCommercialisation selon trois gammes : personnelle, standard et e...
Introduction générale Serveur de BD OracleOracle DataBaseEdition Entreprise (Entreprise Edition)Fonctionnalités supplément...
Introduction générale Serveur de BD OracleArchitecture dun serveur de BD OraclePrincipales composantes dun serveur de BD O...
Introduction générale Serveur de BD OracleArchitecture dun serveur de BD Oracle8 / 228 Khaled Jouini c (IsitCom) Administr...
Introduction générale Serveur de BD OracleCatégories de BDBDs transactionnelles (OLTP : On Line Transaction Processing)For...
Introduction générale Rôles du DBAChapitre 1 - Introduction généralePrésentation dOracleServeur de BD OracleRôles du DBAPr...
Introduction générale Rôles du DBARôles du DBA1 Installation et conguration du SGBD et des applications clientes (rôletech...
Introduction générale Principaux outils dadministrationChapitre 1 - Introduction généralePrésentation dOracleServeur de BD...
Introduction générale Principaux outils dadministrationPrincipaux outils dadministrationOracle Universal Installer : inter...
Introduction générale Plan du coursChapitre 1 - Introduction généralePrésentation dOracleServeur de BD OracleRôles du DBAP...
Introduction générale Plan du cours1 Introduction générale2 Concepts de base sur le stockage de données3 Gestion des table...
Concepts de base sur le stockage de données IntroductionChapitre 2 - Concepts de base sur le stockage dedonnéesIntroductio...
Concepts de base sur le stockage de données IntroductionHiérarchie des mémoiresFigure: Hiérarchie des mémoires13 / 228 Kha...
Concepts de base sur le stockage de données IntroductionHiérarchie des mémoiresMémoire viveEspace de travail du processeur...
Concepts de base sur le stockage de données IntroductionObjectifs dun SGBDBase de données : ensemble de chiers stockés sur...
Concepts de base sur le stockage de données I. Structures physiques de stockageChapitre 2 - Concepts de base sur le stocka...
Concepts de base sur le stockage de données I. Structures physiques de stockage1. Fonctionnement dun disque - a. Dispositi...
Concepts de base sur le stockage de données I. Structures physiques de stockage1. Fonctionnement dun disque - b. BlocBlocU...
Concepts de base sur le stockage de données I. Structures physiques de stockage2. Optimisation - a. ProximitéDénition (Pro...
Concepts de base sur le stockage de données I. Structures physiques de stockage2. Optimisation - b. RegroupementDénition (...
Concepts de base sur le stockage de données I. Structures physiques de stockageExerciceUn SGBD doit lire 5 chaînes de cara...
Concepts de base sur le stockage de données I. Structures physiques de stockage2. Optimisation - c. Tampon mémoire (Buer)D...
Concepts de base sur le stockage de données I. Structures physiques de stockage2. Optimisation - c. Tampon mémoire (Buer)T...
Concepts de base sur le stockage de données I. Structures physiques de stockage3. Fichiers et enregistrementsLe stockage d...
Concepts de base sur le stockage de données II. Technologie RAIDChapitre 2 - Concepts de base sur le stockage dedonnéesInt...
Concepts de base sur le stockage de données II. Technologie RAID1. PrésentationDurée de vie dun disque dur magnétiquePrès ...
Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - a. RAID 0RAID 0 : volume agrégé par bandes (S...
Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - b. RAID 1RAID 1 : Disques en miroir (Mirrorin...
Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - b. RAID 1RAID 1 : Disques en miroir (Mirrorin...
Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - c. RAID 4RAID 4 : Répartition et paritéPrinci...
Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - c. RAID 4RAID 4 : Répartition et parité29 / 2...
Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - c. RAID 4RAID 4 : Répartition et paritéAvanta...
Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - d. RAID 5RAID 5 : volume agrégé par bandes à ...
Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - e. RAID 1+0RAID 1+0PrincipeCombine le RAID 1 ...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous OracleChapitre 2 - Concepts de base ...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - a. DénitionBl...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - b. StructureS...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle d...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle d...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle d...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle d...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle d...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle d...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle2. ExtensionExtension (Extent)...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle3. Segment - a. DénitionSegmen...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle3. Segment - b. Segment dannul...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle3. Segment - b. Segment dannul...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle4. TablespaceTablespaceEspace ...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle4. TablespaceExemple : BD géra...
Concepts de base sur le stockage de données III. Structures logiques de stockage sous OracleEn résumé...Un tablespace ne p...
Gestion des tablespaces et des chiers de données I. Vue densemble et directivesChapitre 3 - Gestion des tablespaces et des...
Gestion des tablespaces et des chiers de données I. Vue densemble et directivesVue densemble et directivesUne BD Oracle co...
Gestion des tablespaces et des chiers de données I. Vue densemble et directivesVue densemble et directivesEn pratique, il ...
Gestion des tablespaces et des chiers de données I. Vue densemble et directivesVue densemble et directivesLutilisation de ...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localementChapitre 3 - Gestion des tablespaces et d...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement1. Modes de gestion de lespace dans un ta...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement1. Modes de gestion de lespace dans un ta...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - a. Syntaxe (non-exhaustive)...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - b. BIGFILE vs. SMALLFILE Sp...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - c. chiers de données Spécic...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - c. Fichiers de données Spéc...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - d. Mode de gestion des exte...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - e. Mode de gestion des segm...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement3. Modication - a. Redimensionner un tabl...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement3. Modication - a. Redimensionner un tabl...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement3. Modication - c. Mettre un tablespace h...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement3. Modication - d. Suppression dun tables...
Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement3. Modication - e. Autres opérationsRendr...
Gestion des tablespaces et des chiers de données III. Tablespaces temporaires et tablespaces dannulationChapitre 3 - Gesti...
Gestion des tablespaces et des chiers de données III. Tablespaces temporaires et tablespaces dannulation1. Tablespaces tem...
Gestion des tablespaces et des chiers de données III. Tablespaces temporaires et tablespaces dannulation1. Tablespaces tem...
Gestion des tablespaces et des chiers de données III. Tablespaces temporaires et tablespaces dannulation2. Tablespaces dan...
Gestion des tablespaces et des chiers de données III. Tablespaces temporaires et tablespaces dannulation2. Tablespaces dan...
Gestion des tablespaces et des chiers de données IV. Gérer des tablespaces à laide dOMFChapitre 3 - Gestion des tablespace...
Gestion des tablespaces et des chiers de données IV. Gérer des tablespaces à laide dOMF1. Présentation dOMF (Oracle Manage...
Gestion des tablespaces et des chiers de données IV. Gérer des tablespaces à laide dOMF2. Gestion des tablespaces avec OMF...
Gestion des tablespaces et des chiers de données V. Information sur les tablespaces et les chiersChapitre 3 - Gestion des ...
Gestion des tablespaces et des chiers de données V. Information sur les tablespaces et les chiersInformations sur les tabl...
Les bases de larchitecture Oracle IntroductionChapitre 4 - Les bases de larchitecture OracleIntroductionI. La base de donn...
Les bases de larchitecture Oracle IntroductionArchitecture dun serveur de BD OracleServeur de BD Oracle : comporte deux él...
Les bases de larchitecture Oracle IntroductionPlanCe chapitre...I. Base de donnéesII. InstanceIII. Traitement dun ordre SQ...
Les bases de larchitecture Oracle I. La base de donnéesChapitre 4 - Les bases de larchitecture OracleIntroductionI. La bas...
Les bases de larchitecture Oracle I. La base de données1. Structure de la baseBase de donnéesEnsemble de chiers stockés su...
Les bases de larchitecture Oracle I. La base de données1. Structure de la baseIl existe diérents types de chiers : de donn...
Les bases de larchitecture Oracle I. La base de données2. Fichiers de données (Data Files)Contiennent :Les tables et les i...
Les bases de larchitecture Oracle I. La base de données3. Fichiers de journalisation (Redo Log Files)Contiennent un histor...
Les bases de larchitecture Oracle I. La base de données3. Fichiers de journalisation (Redo Log Files)Écriture dans les chi...
Les bases de larchitecture Oracle I. La base de données3. Fichiers de journalisation (Redo Log Files)Ajout dun nouveau gro...
Les bases de larchitecture Oracle I. La base de données4. Fichier de contrôle (Control File)Contient des informations sur ...
Les bases de larchitecture Oracle I. La base de données4. Fichier de contrôle (Control File)Le paramètre CONTROL_FILES con...
Les bases de larchitecture Oracle II. InstanceChapitre 4 - Les bases de larchitecture OracleIntroductionI. La base de donn...
Les bases de larchitecture Oracle II. Instance1. Vue densembleInstanceOuvre une seule BD à la foisIdentiée par un SID (Sys...
Les bases de larchitecture Oracle II. Instance2. La SGASystem Global AreaEnsemble de tampons mémoire partagés par les proc...
Les bases de larchitecture Oracle II. Instance2. La SGA - a. Le pool partagé (shared pool)Rôle : essentiellement, accélére...
Les bases de larchitecture Oracle II. Instance2. La SGA - b. Le tampon de la BD (DataBase Buer)Tampon mémoire réservé au s...
Les bases de larchitecture Oracle II. Instance2. La SGA - b. Le tampon de la BD (DataBase Buer)DB_CACHE_SIZEParamètre cont...
Les bases de larchitecture Oracle II. Instance2. La SGA - c. Le tampon de journalisation (RedoLog Buer)Tampon mémoire rése...
Les bases de larchitecture Oracle II. Instance2. La SGA - d. Autres zones mémoiresJava Pool :Plusieurs routines internes d...
Les bases de larchitecture Oracle II. Instance2. La SGA - e. Gestion automatiqueTailles des diérentes zones mémoires : gér...
Les bases de larchitecture Oracle II. Instance2. La SGA - En résumé...89 / 228 Khaled Jouini c (IsitCom) Administration de...
Les bases de larchitecture Oracle II. Instance3. PGA (Program Global Area)Zone mémoire privée des diérents processus, une ...
Les bases de larchitecture Oracle II. Instance4. Processus serveurProcessus Utilisateur (PU ou User Process) :Programme de...
Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - a. Rôle et présentationRôle :1 Gérer la SGA et ...
Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - b. Processus DBW (DataBase Writer)Rôle : écritu...
Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - c. Processus LGWR (LoG WRiter)Rôle : écriture s...
Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - d. Processus CKPT (ChecKPoinT)Rôle1 Forcer lécr...
Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - d. Processus CKPT (ChecKPoinT)Déclenchement de ...
Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - e. Le processus SMON (SystemMONitor)Déclencheme...
Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - e. Le processus SMON (SystemMONitor)Figure: Rol...
Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - f. Le processus PMON (ProcessMONitor)PMON, esse...
Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - e. Processus ARC (ARChive)Rôle : archivage des ...
Les bases de larchitecture Oracle II. InstanceEn résumé...Figure: [Oracle 11g Administration, Olivier Heurtel, eni Edition...
Les bases de larchitecture Oracle III. Traitement dun ordre SQLChapitre 4 - Les bases de larchitecture OracleIntroductionI...
Les bases de larchitecture Oracle III. Traitement dun ordre SQL1. Traitement dun SELECT1 Analyse (Parse)1 Le PU envoie la ...
Les bases de larchitecture Oracle III. Traitement dun ordre SQL2. Traitement dun ordre DML(UPDATE/INSERT/DELETE)1 Analyse ...
Les bases de larchitecture Oracle IV. Dictionnaire de donnéesChapitre 4 - Les bases de larchitecture OracleIntroductionI. ...
Les bases de larchitecture Oracle IV. Dictionnaire de données1. RappelDictionnaire de données1 Ensemble de vues et de tabl...
Les bases de larchitecture Oracle IV. Dictionnaire de données2. Vues statiquesTrois types :Vues préxées par USER_Donnent a...
Les bases de larchitecture Oracle IV. Dictionnaire de données3. Vues dynamiquesContiennent linformation sur lactivité en c...
Gestion de linstance I. Fichier de paramètresChapitre 5 - Gestion de linstanceI. Fichier de paramètres1. Présentation2. PF...
Gestion de linstance I. Fichier de paramètres1. PrésentationFichier de paramètresConsulté par linstance à son démarrage et...
Gestion de linstance I. Fichier de paramètres1. PrésentationExemple dun chier de paramètres PFILE108 / 228 Khaled Jouini c...
Gestion de linstance I. Fichier de paramètres2. PFILE vs. SPFILE`PFILE (Parameter File) SPFILE (Server Parameter File)Fich...
Gestion de linstance I. Fichier de paramètres3. Modication des paramètres dinitialisationInstruction SQL pour modier les p...
Gestion de linstance I. Fichier de paramètres3. Modication des paramètres dinitialisationSi linstance démarre à laide dun ...
Gestion de linstance II. Démarrage et arrêt dun serveur de BD OracleChapitre 5 - Gestion de linstanceI. Fichier de paramèt...
Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage - a. SyntaxeDémarrage - Syntaxe (non exha...
Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage - b. STARTUP NOMOUNTSTARTUP NOMOUNT1 Un S...
Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage - c. STARTUP MOUNTSTARTUP MOUNT1 Ouvertur...
Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage - d. STARTUP OPENSTARTUP ou STARTUP OPEN1...
Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage - e. Autres options de démarrageSTARTUP F...
Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle2. Arrêt - a. SyntaxeSyntaxe (non exhaustive)SHUTDOWN ...
Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle2. Arrêt - b. Options darrêtSHUTDOWN ou SHUTDOWN NORMA...
Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle2. Arrêt - b. Options darrêtSHUTDOWN IMMEDIATEFermetur...
Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle2. Arrêt - b. Options darrêtEn résumé...Figure: Option...
Gestion de linstance III. Diagnostic et surveillance dun serveur de BD OracleChapitre 5 - Gestion de linstanceI. Fichier d...
Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle1. Fichiers de diagnosticProblème et incident...
Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle2. Le chier dalertes alertSID.logChaque insta...
Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle3. Les chiers trace des processus darrière pl...
Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle4. Les chiers trace des processus processusut...
Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle5. Outils de diagnosticRéférentiel de Diagnos...
Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle5. Outils de diagnosticOutils (consultation d...
Gestion des utilisateurs IntroductionChapitre 6 - Gestion des utilisateursIntroductionI. Gestion basique des comptes des u...
Gestion des utilisateurs IntroductionIntroductionRôle de ladministrateur de sécurité et des ressources1 Dénir une politiqu...
Gestion des utilisateurs I. Gestion basique des comptes des utilisateursChapitre 6 - Gestion des utilisateursIntroductionI...
Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs1. Notions de schéma et dutilisateurUtilisateur de...
Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs2. Création dun nouvel utilisateur - a. Enchaîneme...
Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs2. Création dun nouvel utilisateur - b. Ordre SQLC...
Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs2. Création dun nouvel utilisateur - c. Exemples1 ...
Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs2. Création dun nouvel utilisateur - d. Utilisateu...
Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs3. Modication (ALTER USER) et suppression (DROP US...
Gestion des utilisateurs II. Gestion des privilègesChapitre 6 - Gestion des utilisateursIntroductionI. Gestion basique des...
Gestion des utilisateurs II. Gestion des privilèges1. Privilèges système vs. privilèges objetPrivilèges accordés à un util...
Gestion des utilisateurs II. Gestion des privilèges2. Privilèges système - a. ExemplesCatégorie ExempleTABLE CREATE [ANY] ...
Gestion des utilisateurs II. Gestion des privilèges2. Privilèges système - b. PrivilègesdadministrationSYSOPER STARTUPSHUT...
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Dba oracle-v1
Prochain SlideShare
Chargement dans…5
×

Dba oracle-v1

2 750 vues

Publié le

0 commentaire
17 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 750
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
17
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Dba oracle-v1

  1. 1. Administration des bases de donnéesKhaled Jouinij.khaled@gmail.comInstitut Supérieur dInformatique et des Technologies de Communication2012-20131 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 1 / 228
  2. 2. La reproduction de ce document par tout moyen que ce soit,sans lavis de lauteur, est interdite conformément auxlois protégeant la propriété intellectuelleCe document peut comporter des erreurs, à utiliser donc en connaissance de cause!2 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 2 / 228
  3. 3. Syllabus du coursSQL à la maisonOracle Database 11g Personal Edition ou (à défaut) Oracle Database 11gExpress Edition.http://www.oracle.com/technetwork/indexes/downloads/index.htmlPour en savoir plus...Documentation Oracle :http://www.oracle.com/technetwork/documentation/.En anglais, 2000 pages sur ladministrationOracle 11g Administration, O. Heurtel, eni Editions, Nov. 2008OCA : 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 données 2012-2013 3 / 228
  4. 4. Introduction générale Présentation dOracleChapitre 1 - Introduction généralePrésentation dOracleServeur de BD OracleRôles du DBAPrincipaux outils dadministrationPlan du cours4 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 4 / 228
  5. 5. Introduction générale Présentation dOraclePrésentation dOracleOracle : leader mondial des SGBDRs, avec une part de marché de 48,6%(Gartner Group)Commercialise diérents produits : Oracle DataBase, Oracle Developer Suite,Oracle Application Server, etc.Oracle DataBase : Serveur de base de données produit principal dOraclepassé de la version 1 (1977) à la version 11g (2010).4 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 4 / 228
  6. 6. Introduction générale Serveur de BD OracleChapitre 1 - Introduction généralePrésentation dOracleServeur de BD OracleRôles du DBAPrincipaux outils dadministrationPlan du cours5 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 5 / 228
  7. 7. Introduction générale Serveur de BD OracleOracle DataBaseCommercialisation selon trois gammes : personnelle, standard et entreprise.Edition Personnelle (Personal Edition)MonolicenceDestinée aux développeursEdition Standard (Standard Edition)Comporte toutes les fonctionnalités de base pour mettre en oeuvre unearchitecture client/serveurDestinée à des serveurs avec une capacité maximale de 4 processeurs (2 pourlédition standard One)5 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 5 / 228
  8. 8. Introduction générale Serveur de BD OracleOracle DataBaseEdition Entreprise (Entreprise Edition)Fonctionnalités supplémentaires pour lamélioration de la disponibilité,sécurité, administration, etc.Real Application Clusters (RAC): serveurs en cluster (BDs réparties)Oracle Partitioning : partitionnement des tables et des indexAdvanced Security Option : cryptage (essentiellement)Oracle Tuning Pack : outil daide à loptimisation des performancesOracle Olap and datamining : outils daide à la mise en place de systèmesdécisionnelsetc.6 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 6 / 228
  9. 9. Introduction générale Serveur de BD OracleArchitecture dun serveur de BD OraclePrincipales composantes dun serveur de BD Oracle1 La base de donnéesEnsemble de chiers contenant, entre autres, les données, les informationssur les données (le dictionnaire de données) et les journaux de modicationsur les données (chiers log)2 LinstanceEnsemble de processus et de zones en mémoire vive permettant la gestionde la base de données. Une BD nest disponible pour utilisation que si elle estassocié à une instance7 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 7 / 228
  10. 10. Introduction générale Serveur de BD OracleArchitecture dun serveur de BD Oracle8 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 8 / 228
  11. 11. Introduction générale Serveur de BD OracleCatégories de BDBDs transactionnelles (OLTP : On Line Transaction Processing)Forte activité de mises à jour (insert/delete/update) sous forme detransactions courtesNombre important dutilisateurs concurrentsExigence de temps de réponse courtBDs décisionnelles (OLAP : Online analytical processing) :Système daide à la décisionMises-à-jour oine par lot, périodiqueForte activité dinterrogation (select)9 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 9 / 228
  12. 12. Introduction générale Rôles du DBAChapitre 1 - Introduction généralePrésentation dOracleServeur de BD OracleRôles du DBAPrincipaux outils dadministrationPlan du cours10 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 10 / 228
  13. 13. Introduction générale Rôles du DBARôles du DBA1 Installation et conguration du SGBD et des applications clientes (rôletechnique)2 Planication et création des bases de données3 Gestion de lespace de stockage4 Gestion des comptes des utilisateurs et des droits daccès5 Déploiement des procédures de sauvegarde et de récupération pour protégerla base de données6 Optimisation des performances daccès aux données.7 Gestion des aspects réseau10 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 10 / 228
  14. 14. Introduction générale Principaux outils dadministrationChapitre 1 - Introduction généralePrésentation dOracleServeur de BD OracleRôles du DBAPrincipaux outils dadministrationPlan du cours11 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 11 / 228
  15. 15. Introduction générale Principaux outils dadministrationPrincipaux outils dadministrationOracle Universal Installer : interface graphique pour linstallation des outilsOracleOracle DataBase Conguration Assistant : assistant pour la création et laconguration dune base de données à partir dun modèle par défaut (OLTP,OLAP ou mixte)DataBase Upgrade Assistant : assistant pour migration du serveur duneversion à une autreNet Conguration Assistant : assistant pour la conguration des accès enréseauOracle Entreprise Manager : interface graphique permettant deectuer lestâches dadministration et de maintenanceSQL*Plus : application cliente du serveur de BD. Il sagit dun interpréteur decommandes SQL11 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 11 / 228
  16. 16. Introduction générale Plan du coursChapitre 1 - Introduction généralePrésentation dOracleServeur de BD OracleRôles du DBAPrincipaux outils dadministrationPlan du cours12 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 12 / 228
  17. 17. Introduction générale Plan du cours1 Introduction générale2 Concepts de base sur le stockage de données3 Gestion des tablespaces et des chiers de données4 Les bases de larchitecture Oracle5 Gestion de linstance6 Gestion des utilisateurs7 Création manuelle dune BD et conguration du réseau8 Sauvegarde et récupération12 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 12 / 228
  18. 18. Concepts de base sur le stockage de données IntroductionChapitre 2 - Concepts de base sur le stockage dedonnéesIntroductionI. Structures physiques de stockageII. Technologie RAIDIII. Structures logiques de stockage sous Oracle13 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 13 / 228
  19. 19. Concepts de base sur le stockage de données IntroductionHiérarchie des mémoiresFigure: Hiérarchie des mémoires13 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 13 / 228
  20. 20. Concepts de base sur le stockage de données IntroductionHiérarchie des mémoiresMémoire viveEspace de travail du processeur : toute donnée ou tout programme doit êtrechargé en mémoire vive avant dêtre traité par le processeurMémoire volatile : perd son contenu lorsque la machine est éteinteDisque durMémoire persistante : ne perd pas son contenu lorsque la machine est éteinteGrande capacité de stockage par rapport à la mémoire viveLent : 1 accès au disque dur ≈ 1 million daccès à la mémoire vive14 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 14 / 228
  21. 21. Concepts de base sur le stockage de données IntroductionObjectifs dun SGBDBase de données : ensemble de chiers stockés sur disque(s) dur(s) Raisonsdu stockage sur disque1 Souvent : taille de la base taille mémoire vive2 Persistance⇒ Lenteur du disque Problèmes potentiels de performanceSGBDOrganiser les données de manière à minimiser le temps daccès aux donnéesOrir les outils de paramétrage et de contrôle pour exploiter au mieux lesressources matériellesCe chapitre...1 Structures physiques de stockage2 Structures logiques de stockage sous Oracle15 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 15 / 228
  22. 22. Concepts de base sur le stockage de données I. Structures physiques de stockageChapitre 2 - Concepts de base sur le stockage dedonnéesIntroductionI. Structures physiques de stockage1. Fonctionnement dun disque2. Optimisation3. Fichiers et enregistrementsII. Technologie RAIDIII. Structures logiques de stockage sous Oracle16 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 16 / 228
  23. 23. Concepts de base sur le stockage de données I. Structures physiques de stockage1. Fonctionnement dun disque - a. DispositifDisque durEnsemble de plateaux tournant àvitesse constante autour dunaxe+têtes de L/E se déplaçantperpendiculairement à laxePlateau : composé de pistesconcentriquesPiste : divisée en blocscontenant les donnéesContrôleur : reçoit les demandesde L/E et les transforme enmouvements appropriés des têtesde lecture16 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 16 / 228
  24. 24. Concepts de base sur le stockage de données I. Structures physiques de stockage1. Fonctionnement dun disque - b. BlocBlocUnité déchange entre la mémoire vive et le disqueTaille typique : 512 octetsAccès à un blocPar son adresse : numéro du plateau + numéro de la piste + numéro dubloc sur la pisteTemps de lecture1 Délai de positionnement : positionnement de la tête de lecture sur la pistecontenant le bloc2 Temps de latence : rotation du disque pour attendre que le bloc passe sous latête de lecture3 Temps de transfert (négligeable) : transfert du bloc vers la mémoire vive17 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 17 / 228
  25. 25. Concepts de base sur le stockage de données I. Structures physiques de stockage2. Optimisation - a. ProximitéDénition (Proximité)Mettre dans un nombre minimal de blocs les données qui sont fréquemmentutilisées en même tempsEx. les clients dune même villePermet de réduire le nombre de blocs transférés en mémoire vive18 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 18 / 228
  26. 26. Concepts de base sur le stockage de données I. Structures physiques de stockage2. Optimisation - b. RegroupementDénition (Regroupement)Mettre dans des blocs consécutifs les données qui ont de grandes chances dêtreutilisées en même tempsEx. les tuples dune même relationPermet de réduire le délai de positionnement de la tête de lecture et letemps de latenceProximité et regroupement ⇒ principe de localité spatiale19 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 19 / 228
  27. 27. Concepts de base sur le stockage de données I. Structures physiques de stockageExerciceUn SGBD doit lire 5 chaînes de caractères de 1000 octets chacune.Caractéristiques du disque : Taille de bloc : 4096 octets, Délai de positionnement : 6ms, Temps de latence moyen : 3 ms, Temps de transfert : 1 msTemps nécessaire pour lire les chaînes en supposant tour à tour que :a Les chaînes se trouvent dans des blocs diérents répartis aléatoirement sur le disqueb les chaînes se trouvent dans des blocs diérents se trouvant les uns à coté desautres sur une même pistec les chaînes se trouvent à coté les unes des autres dans des blocs consécutifs.20 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 20 / 228
  28. 28. Concepts de base sur le stockage de données I. Structures physiques de stockage2. Optimisation - c. Tampon mémoire (Buer)Dénition (Tampon mémoire)Zone en mémoire vive destinée à garder des copies dune partie des blocs setrouvant sur le disqueChaque fois quun bloc est lu, une copie en est gardée dans le tampon pourque lon puisse lutiliser ultérieurementAccès à un bloc : vérier dabord sil ne se trouve pas déjà en mémoire viveavant de le lire depuis le disque⇒ principe de localité temporelleTaille du tampon : paramètrable dans la plupart des SGBD21 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 21 / 228
  29. 29. Concepts de base sur le stockage de données I. Structures physiques de stockage2. Optimisation - c. Tampon mémoire (Buer)Tampon saturé : plusieurs stratégiesLRU (Least Recently Used) : le bloc le plus récemment lu, remplace le moinsrécemment luTouch Count : le bloc le plus récemment lu remplace celui qui totalise lemoins dutilisationsExempleTaille tampon : 3 blocsUtilisation des blocs : t1 → Ba, t2 → Bb, t3 → Bb, t4 → Bc, t5 → Ba ett6 → BdQuel bloc est remplacé à t6?Selon LRU :Selon Touch Count :22 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 22 / 228
  30. 30. Concepts de base sur le stockage de données I. Structures physiques de stockage3. Fichiers et enregistrementsLe stockage des données sur disque : organisé au moyen de chiersFichierOccupe un ou plusieurs blocs pouvant être dispersés sur le disqueComposé dun ensemble denregistrements (records)Enregistrement : stocke physiquement un objet du SGBDExemples :Fichier de données : un enregistrement stocke la valeur dun tupleFichier log : un enregistrement stocke une action faîte sur un tuple23 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 23 / 228
  31. 31. Concepts de base sur le stockage de données II. Technologie RAIDChapitre 2 - Concepts de base sur le stockage dedonnéesIntroductionI. Structures physiques de stockageII. Technologie RAID1. Présentation2. NiveauxIII. Structures logiques de stockage sous Oracle24 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 24 / 228
  32. 32. Concepts de base sur le stockage de données II. Technologie RAID1. PrésentationDurée de vie dun disque dur magnétiquePrès de 100,000 heures en moyenne, soit près de 11 ans (avant quil ne tombeen panne)Risque de panne pour un disque parmi 100, grossièrement estimé à100,000/100=1000 heures soit 42 joursSi la défaillance dun disque entraîne une perte de données, ce risque est tropimportantTechnologie RAID (Redundant Array of Independent Disks)Idée : il est plus intéressant dun point de vue, coût, abilité et performancesde combiner plusieurs disques grand marché que davoir un seul disque dur àhaute performance et à grande capacitéObjectif 1 : limiter les conséquences des pannes matérielles en répartissantles données sur un grand nombre de disquesObjectif 2 : accélérer laccès aux donnéesIl existe plusieurs niveaux RAID (de 0 à 6), chacun atteignant lun ou les deuxobjectifs précédents.24 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 24 / 228
  33. 33. Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - a. RAID 0RAID 0 : volume agrégé par bandes (Striping)PrincipeChaque chier est divisé en bandes (Stripes) de taille xe (Ex. 64 ko)Chaque bande est stockée sur un disque diérentLaccès (en L/E) aux diérentes bandes dun même chier peut ainsi se faireen parallèleAméliore les performances, mais ne protège pas des pannes25 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 25 / 228
  34. 34. Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - b. RAID 1RAID 1 : Disques en miroir (Mirroring)Principe :Au moins deux disques : un disque principal et des disques miroirsLes écritures seectuent en parallèle sur le principal et ses miroirs.Excellente protection des donnéesPermet certaines optimisations en lecture : Ex. la demande daccès à un blocpeut être être transmise au disque dont la tête de lecture est la plus prochede la piste contenant le bloc.Coûteux (de moins en moins vrai) : la moitié de lespace de stockage estperdu26 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 26 / 228
  35. 35. Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - b. RAID 1RAID 1 : Disques en miroir (Mirroring)27 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 27 / 228
  36. 36. Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - c. RAID 4RAID 4 : Répartition et paritéPrincipeConsidérer n − 1 disques de la grappe comme étant un seulRépartir les données du les n − 1 disquesLunité de répartition est le bloc : le premier est aecté au premier disque ledeuxième au deuxième disque est ainsi de suitePas de redondance, mais utilisation de la parité et dun disque supplémentairepour reconstruire linformation perdueParitéBit de parité : =0 si le nombre de 1 est paire et =1 sinon (OU EXclusif)Exempledisque 1 1100disque 2 0110disque C 1010Si un des disques est endommagé, il est possible de reconstruire linformationà partir des n − 1 autres disques et du disque de contrôle28 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 28 / 228
  37. 37. Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - c. RAID 4RAID 4 : Répartition et parité29 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 29 / 228
  38. 38. Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - c. RAID 4RAID 4 : Répartition et paritéAvantageUn seul disque supplémentaire est nécessaire quel que soit le nombre dedisques de donnéesLimitesSi plus dun disque est endommagé à la fois (improbable), impossible dereconstruire linformation perdueLe disque de contrôle 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 volumineux30 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 30 / 228
  39. 39. Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - d. RAID 5RAID 5 : volume agrégé par bandes à parité répartiePrincipeMême principe que le RAID 4Pour éviter davoir un goulot détranglement, les blocs de contrôle ne sont passtockés dans un seul disque, mais répartis sur les diérents disques (de lamême manière que les blocs de données)31 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 31 / 228
  40. 40. Concepts de base sur le stockage de données II. Technologie RAID2. Niveaux - e. RAID 1+0RAID 1+0PrincipeCombine le RAID 1 et le RAID 0 utiliser le miroring, puis le striping⇒ nécessite au moins 4 disquesCombine les avantages mirroring et du du striping ⇒ niveau recommandépour les chiers de données sil existe susamment de disques (autrement onutilise généralement le RAID 5)Appelé également architecture SAME (Strip And Mirror Everything)32 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 32 / 228
  41. 41. Concepts de base sur le stockage de données III. Structures logiques de stockage sous OracleChapitre 2 - Concepts de base sur le stockage dedonnéesIntroductionI. Structures physiques de stockageII. Technologie RAIDIII. Structures logiques de stockage sous Oracle1. Bloc Oracle2. Extension3. Segment4. Tablespace33 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 33 / 228
  42. 42. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - a. DénitionBloc Oracle (Block)Plus petite unité de stockage et de transfert de données utilisée par OracleDe taille paramètrable : correspond à un multiple de bloc disque⇒ Intérêt : Réduire le nombre daccès au(x) disque(s) en transmettant plusdinformations à la fois à chaque accès⇒ Cependant, une taille de bloc trop grande : risque de saturer rapidement letampon mémoire avec des données inutilesLa bonne taille dépend de lapplicationParamètre DB_BLOCK_SIZEPour consulter la taille dun bloc Oracle à partir de SQL*PLUS :SQL show parameter DB_BLOCK_SIZE33 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 33 / 228
  43. 43. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - b. StructureStructure dun bloc Oracle, essentiellement :1 Entête : contient ladresse du bloc2 Répertoire des tables : liste des tables des données stockées3 Répertoire des enregistrements : adresse des enregistrements stockés4 Espace libre5 Espace des données : contient les enregistrements34 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 34 / 228
  44. 44. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle du remplissageProblème : Mise-à-jour (UPDATE) augmentant la taille dun tuple dans un blocsaturé1 Conduit au déplacement dune partie ou de tout un enregistrement dans unautre bloc ⇒ Chaînage2 Chaînage : opération coûteuse en terme de temps dexécution, surtout sirépétée pour chaque m-à-j + dégradation du temps nécessaire pour lire lestuples chaînésSolution : réserver un espace dans un bloc pour permettre laugmentation de lataille des enregistrements due aux m-à-j35 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 35 / 228
  45. 45. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle du remplissageDeux paramètres PCTFREE et PCTUSED spéciés lors de la création dune tablePCTFREE (PerCenT FREE)Pourcentage minimum despace libre réservé pour permettre laccroissementde la taille des enregistrements dû aux mises à jourSi taux de remplissage = 100-PCTFREE ⇒ bloc plein : mises-à-jour etsuppressions autorisées, insertions interditesPCTFREE=Taille moyenne d un tuple − Taille initiale d un tupleTaille moyenne d un tuple×100Par défaut 10%36 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 36 / 228
  46. 46. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle du remplissagePCTUSED (PerCenT USED)Pourcentage minimum despace devant être occupé par les enregistrementsSi taux de remplissage = PCTUSED ⇒ bloc disponible : les insertions peuventy reprendrePar défaut 40%? Quel intérêt à considérer PCTUSED et non 100-PCTFREE, pour reprendre lesinsertions⇒ La gestion des blocs disponibles/indisponibles est moins intensive37 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 37 / 228
  47. 47. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle du remplissageExemple 1CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30,PCTUSED 40;1 Les insertions sont autorisées 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 autorisées ;3 Les insertions sont à nouveau autorisées si le taux de remplissage devientinférieur à⇒ Au pire, quel pourcentage du bloc reste inutilisé?38 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 38 / 228
  48. 48. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle du remplissageExemple 2Considérons une table où :1 Les insertions (INSERT), les suppressions (DELETE) et les m-à-j (UPDATE)sont fréquentes;2 Les mises à jour naugmentent pas la taille des tuples signicativement;3 La table est volumineuse et économiser lespace de stockage est primordialQuelles valeurs choisir pour PCTFREE et PCTUSED?⇒ Pas besoin de réserver beaucoup despace pour les m-à-j : petite valeur pourPCTFREE (Ex. 5)⇒ Récupérer rapidement les espaces libérés par les DELETE : grande valeurpour PCTUSED (Ex. 60)39 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 39 / 228
  49. 49. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle1. Bloc Oracle - c. Contrôle du remplissageModication de PCTFREE et de PCTUSEDALTER 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 données 2012-2013 40 / 228
  50. 50. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle2. ExtensionExtension (Extent)Ensemble de blocs Oracle contigus stockant un même type de donnéesEx. des tuples dune même relation⇒ Objectif : améliorer le regroupement et donc réduire le temps de nécessairepour lire des données dun même type41 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 41 / 228
  51. 51. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle3. Segment - a. DénitionSegment (Segment)Ensemble de toutes les extensions stockant les données dun même type (Ex.les tuples dune même table)Il existe quatre types de segmentSegment de table : espace occupé par les tuples dune tableSegment dindex : espace occupé par un indexSegment dannulation : espace occupé par les images des données avant quecelles-ci ne soient modiéesSegment temporaire : espace temporaire où sont stockées les donnéestemporaires utilisées lors dun tri, dune jointure, etc.Les segments sont groupés dans des tablespaces42 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 42 / 228
  52. 52. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle3. Segment - b. Segment dannulation (RollBackSegment)Problème : Nécessité dannuler des actions sur les données, suite à une panne ouautreExemple : virement bancaire de 100DT dun compte A à un compte B2 actions : débiter A de 100 et créditer B de 100A est débité, mais une panne empêche B dêtre crédité⇒ la mise-à-jour de A doit être annulée!!⇒ il est nécessaire de garder une image de A avant sa mise-à-jour⇒ il est nécessaire de savoir avec quelles autres actions la mise-à-jour de Aforme une séquence dopérations indivisible (=transaction)43 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 43 / 228
  53. 53. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle3. Segment - b. Segment dannulation (RollBackSegment)Transaction ACID (Atomicité, Cohérence, Isolation, Durabilité)Action ou séquence dactions dun utilisateur ou dune application qui doiventêtre exécutées, soit toutes, soit aucuneCommence par un BEGIN TRANSACTION et se termine par un COMMIT(validation) ou un ROLLBACK (annulation)Enchaînement type1 Transaction lancée (BEGIN TRANSACTION)2 Les nouvelles images des données modiées sont stockées dans le segment detable et les anciennes dans le segment dannulation3 En cas de ROLLBACK, lancienne image remplace la nouvelle dans le segment detableVue V$TRANSACTION : transactions utilisant le segment dannulation actif44 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 44 / 228
  54. 54. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle4. TablespaceTablespaceEspace logique permettant dorganiser logiquement une base de données,par exemple un tablespace par thèmeContient un ou plusieurs segments (un segment appartient à un et un seultablespace)Stocké physiquement dans un (au moins) ou plusieurs chiers, appeléschiers de donnéesUnité de sauvegarde/restauration45 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 45 / 228
  55. 55. Concepts de base sur le stockage de données III. Structures logiques de stockage sous Oracle4. TablespaceExemple : BD gérant la facturation et les RH1 Tablespace Facturation :Contient les tables (segments) facture, produit, client, ligne_fact, etc.Stocké dans les chiers fact01.dbf et fact02.dbf2 Tablespace RH :Contient les tables (segments) Employé, Paie, Absence, etc.Stocké dans les chiers rh01.dbf et rh02.dbf46 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 46 / 228
  56. 56. Concepts de base sur le stockage de données III. Structures logiques de stockage sous OracleEn résumé...Un tablespace ne peut appartenirquà une seule base de données à lafois.Un segment ne peut pas être répartisur plusieurs tablespaces, mais peutsétendre à plusieurs chiers dedonnées dun même tablespace.Un extent ne peut appartenir quàun seul chier.Figure: Structures logiques et physiques de stockage[Oracle Concepts. 11g Release 2 (11.2). E10713-05Fév. 2010]47 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 47 / 228
  57. 57. Gestion des tablespaces et des chiers de données I. Vue densemble et directivesChapitre 3 - Gestion des tablespaces et deschiers de donnéesI. Vue densemble et directivesII. Tablespaces gérés localementIII. Tablespaces temporaires et tablespaces dannulationIV. Gérer des tablespaces à laide dOMFV. Information sur les tablespaces et les chiers48 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 48 / 228
  58. 58. Gestion des tablespaces et des chiers de données I. Vue densemble et directivesVue densemble et directivesUne BD Oracle contient au minimum deux tablespaces créés en même tempsque la BD : SYSTEM et SYSAUX (depuis la version 10)Tablespace SYSAUX : contient les objets créés par les produits OracleTablespace SYSTEM :Contient le dictionnaire de données, y compris les programmes stockésContient le segment dannulation SYSTEMNe doit pas contenir les données des utilisateurs (bien que ça soit possible)⇒ Nécessité de créer dautres tablespaces48 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 48 / 228
  59. 59. Gestion des tablespaces et des chiers de données I. Vue densemble et directivesVue densemble et directivesEn pratique, il est fortement recommandé de créer :Un tablespace UNDO (pour les segments dannulation) :CREATE UNDO TABLESPACE...Un tablespace temporaire (pour les segments temporaires) :CREATE TEMPORARY TABLESPACE...Au moins un tablespace permanent (de données) pour éviter de mettre lesdonnées utilisateurs dans SYSTEM :CREATE TABLESPACE...En général, séparer les segments1 Selon leur type : annulation, temporaire, dindex ou de table2 Segments de table (de données) : selon les besoins de sauvegarde et demaintenance49 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 49 / 228
  60. 60. Gestion des tablespaces et des chiers de données I. Vue densemble et directivesVue densemble et directivesLutilisation de plusieurs tablespaces permet :1 Réaliser des des maintenances et des sauvegardes/restaurations partielles2 Équilibrer la charge en E/S et accès parallèle : généralement, un serveurutilise plusieurs disques et les chiers dun même tablespace sont stockésdans des disques diérents (Striping)3 Gérer lespace de stockage alloué à chaque utilisateur (Chapitre Gestion desutilisateurs)4 Séparer les données du dictionnaire de données des données applicatives5 Séparer les données de plusieurs applications stockées dans la même BD6 Séparer le stockage des diérents types dobjets50 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 50 / 228
  61. 61. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localementChapitre 3 - Gestion des tablespaces et deschiers de donnéesI. Vue densemble et directivesII. Tablespaces gérés localement1. Modes de gestion de lespace2. Création3. ModicationIII. Tablespaces temporaires et tablespaces dannulationIV. Gérer des tablespaces à laide dOMFV. Information sur les tablespaces et les chiers51 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 51 / 228
  62. 62. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement1. Modes de gestion de lespace dans un tablespace -a. PrésentationDeux modes de gestion de lallocation/libération des extensions duntablespace : localement et par le dictionnaireGestion par le dictionnaire de donnéesLinformation sur la disponibilité des extensions est stockée dans ledictionnaire de donnéesLes tables du dictionnaire sont mises à jour lors de lallocation ou libérationdune extensionGestion locale (à partir de la version 8i)Extensions libres gérés au niveau du tablespaceUn bitmap (par tablespace) représente les extensions libres/allouésChaque bit correspond à un bloc ou à un groupe de blocsLa valeur des bits indique si ceux-si sont disponibles/utilisés51 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 51 / 228
  63. 63. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement1. Modes de gestion de lespace dans un tablespace -b. Avantages du mode localAvantages du mode local+ La contention est réduite au niveau du dictionnaire+ Aucune donnée dannulation nest générée lors de lallocaion/libération+ Aucune fusion (défragmentation ou coalesce) nest requise⇒ Oracle recommande lutilisation de la gestion locale52 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 52 / 228
  64. 64. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - a. Syntaxe (non-exhaustive) Spécication du type du (des) chier(s) stockant le tablespaceCREATE [SMALLFILE|BIGFILE] TABLESPACE nom_tablespace Spécication des chiers stockant le tablespaceDATAFILE 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 opérations[LOGGING|NOLOGGING] Taille des blocs du tablespace[BLOCKSIZE int ] Accessibilité immédiate ou non du tablespace après la création[ONLINE|OFFLINE]53 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 53 / 228
  65. 65. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - b. BIGFILE vs. SMALLFILE Spécication du type du (des) chier(s) stockant le tablespaceCREATE [SMALLFILE|BIGFILE] TABLESPACE nom_tablespaceSMALLFILE : valeur par défautLe tablespace peut contenir plusieurs ( 1022) petits chiers (taille 4millions de blocs Oracle)Avantages : striping et redimensionnement possible par ajout de nouveauxchiersBIGFILE (à partir de la version 10)Un seul gros chier (taille 4 milliards de blocs Oracle)Possible uniquement pour les tablespaces gérés localementUtile si le gestionnaire de volumes logiques utilise le stripingSimplie la gestion54 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 54 / 228
  66. 66. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - c. chiers de données Spécication des chiers stockant le tablespaceDATAFILE 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 : réutilisation du chier sil existe. Sinon un message derreur sacheAUTOEXTEND : augmentation automatique de la taille dun chierNEXT : taille de lespace supplémentaire alloué au chier chaque fois que sataille est augmentéeMAXSIZE : taille maximale du chierUNLIMITED : taille illimitée. À éviter, un message derreur dOracle estpréférable à un message derreur du SE, relayé par Oracle.55 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 55 / 228
  67. 67. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - c. Fichiers de données Spécication des chiers stockant le tablespaceExemplesCREATE TABLESPACE ts_01 DATAFILE f_1.dbf SIZE 20M;CREATE TABLESPACE ts_01 DATAFILE f_1.dbf SIZE 20M AUTOEXTEND ONNEXT 5M;CREATE TABLESPACE ts_01 DATAFILE f_1.dbf SIZE 20M AUTOEXTEND ONNEXT 5M MAXSIZE UNLIMITED;CREATE TABLESPACE ts_01 DATAFILE f_1.dbf SIZE 20M AUTOEXTEND ONNEXT 5M MAXSIZE 100M, f_2.dbf SIZE 40M AUTOEXTEND ON;56 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 56 / 228
  68. 68. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - d. Mode de gestion des extensions Mode de gestion des extensions[EXTENT MANAGEMENT LOCAL [AUTOALLOCATE | UNIFORM [SIZE int ]]]LOCAL : gestion locale de lespaceAUTOALLOCATE : détermination par Oracle de la taille optimale pour lesextensionsUNIFORM : toutes les extensions de tous les segments du tablespace ont lamême taille (par défaut 1Mo). La taille doit correspondre au minimum à 5blocs OracleExempleCREATE TABLESPACE ts_01 DATAFILE f_1.dbf SIZE 20MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 2 M;57 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 57 / 228
  69. 69. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement2. Création - e. Mode de gestion des segments Mode de gestion des segments[SEGMENT SPACE MANAGEMENT [AUTO|MANUAL]]Clause valide uniquement lorsque le tablespace est géré localementAUTO : gestion des blocs disponibles pour linsertion via des bitmapsMANUAL : gestion des blocs disponibles pour linsertion via des FREE LISTS(à éviter)ExempleCREATE TABLESPACE ts_01 DATAFILE f_1.dbf SIZE 20 MEXTENT MANAGEMENT LOCALSEGMENT SPACE MANAGEMENT AUTO;58 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 58 / 228
  70. 70. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement3. Modication - a. Redimensionner un tablespaceRedimensionner un tablespace : se fait par1 Lajout dun nouveau chier de donnéesALTER 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 donnéesManuellementALTER DATABASE DATAFILE nomFichier RESIZE int [K|M|G|T];Automatiquement avec AUTOEXTENDALTER 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 données 2012-2013 59 / 228
  71. 71. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement3. Modication - a. Redimensionner un tablespaceLa vue DBA_DATA_FILES permet de savoir si AUTOEXTEND est activéSQL select tablespace_name, file_name, autoextensible2 from dba_data_files;TABLESPACE_NAME FILE_NAME AUTOEXTENSIBLE- SYSTEM /home/dba01/ORADATA/u01/system01.dbf YESDATA01 /home/dba01/ORADATA/u04/data01.dbf NO...60 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 60 / 228
  72. 72. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement3. Modication - c. Mettre un tablespace hors ligneMettre un tablespace hors ligneHors ligne : données inaccessiblesTablespaces ne pouvant pas être mis hors ligneTablespace SYSTEMTablespaces contenant des segments dannulation actifsTablespace temporaire par défautMise dun tablespace hors ligneALTER TABLESPACE nomTablespace OFFLINEMise dun tablespace en ligneALTER TABLESPACE nomTablespace ONLINE61 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 61 / 228
  73. 73. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement3. Modication - d. Suppression dun tablespaceSuppression dun tablespaceTablespaces ne pouvant pas être supprimésTablespace SYSTEMTablespaces ayant des segments dannulation actifsSyntaxeDROP TABLESPACE nomTablespace [INCLUDING CONTENTS [AND DATAFILES][CASCADE CONSTRAINTS] ]INCLUDING CONTENTS : supprime les segments. Nécessaire si le tablespace nest pasvide (sinon erreur ORA-01549..)INCLUDING CONTENTS AND DATAFILES : supprime les segments et les chiers dedonnéesCASCADE CONSTRAINTS : supprime les contraintes dintégrité référentielleOrdre DDL : pas de Rollback possible62 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 62 / 228
  74. 74. Gestion des tablespaces et des chiers de données II. Tablespaces gérés localement3. Modication - e. Autres opérationsRendre un tablespace accessible en lecture uniquementALTER TABLESPACE nomTablespace READ ONLY;Désactivation de la journalisationALTER TABLESPACE nomTablespace NOLOGGING;Aectation dun segment de table à un tablespace1 Au moment de la création de la table :Exemple : CREATE TABLE Produit (...) PCTFREE 10, PCTUSED 40,TABLESPACE TS1;2 Ultérieurement :ALTER TABLE nomTable MOVE TABLESPACE nomTablespace;Exemple : ALTER TABLE Produit MOVE TABLESPACE TS1;63 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 63 / 228
  75. 75. Gestion des tablespaces et des chiers de données III. Tablespaces temporaires et tablespaces dannulationChapitre 3 - Gestion des tablespaces et deschiers de donnéesI. Vue densemble et directivesII. Tablespaces gérés localementIII. Tablespaces temporaires et tablespaces dannulation1. Tablespaces temporaires2. Tablespaces dannulationIV. Gérer des tablespaces à laide dOMFV. Information sur les tablespaces et les chiers64 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 64 / 228
  76. 76. Gestion des tablespaces et des chiers de données III. Tablespaces temporaires et tablespaces dannulation1. Tablespaces temporairesTemporary Tablespace (Tablespace temporaire)Composé uniquement par des segments temporairesCréationCREATE TEMPORARY TABLESPACE temp_01TEMPFILE 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 données 2012-2013 64 / 228
  77. 77. Gestion des tablespaces et des chiers de données III. Tablespaces temporaires et tablespaces dannulation1. Tablespaces temporairesTemporary Tablespace (Tablespace temporaire)Désignation dun tablespace par défaut (pour tous les utilisateurs)ALTER DATABASEDEFAULT TEMPORARY TABLESPACE nomTbsTemp;Aectation dun tablespace temporaire aux activités dun utilisateurALTER USER nomUser TEMPORARY TABLESPACE nomTbsTemp;Vue DATABASE_PROPERTIES : permet de trouver le tablespace temporaire pardéfaut dune BDSELECT ∗ FROM DATABASE_PROPERTIES;65 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 65 / 228
  78. 78. Gestion des tablespaces et des chiers de données III. Tablespaces temporaires et tablespaces dannulation2. Tablespaces dannulation (Undo tablespace)Undo Tablespace (Tablespace dannulation)A partir de la version 9iContient tous les segments dannulation (excepté le segment dannulation dudictionnaire)Intérêt : un seul tablespace UNDO au lieu de plusieurs segments Rollbackdispersés sur diérents tablespace + gestion automatiqueIl peut en exister plusieurs, mais un instant donné un seul est utilisé par lesystèmeALTER SYSTEM SET UNDO_TABLESPACE = undotbs_02;66 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 66 / 228
  79. 79. Gestion des tablespaces et des chiers de données III. Tablespaces temporaires et tablespaces dannulation2. Tablespaces dannulation (Undo tablespace)Undo Tablespace (Tablespace dannulation)CréationCREATE UNDO TABLESPACE nomTbsUndoDATAFILE ...[RETENTION [NON GUARANTEE|GUARANTEE]]...;Si RETENTION GUARANTEE et que Oracle ne trouve pas despace pour garderles données UNDO, toute opération DML est bloquéeSi RETENTION NON GUARANTEE et quune partie des données dannulation a étéécrasée ⇒ la fameuse erreur ORA-01555 snapshot too oldModication de la durée de rétention (par défaut 900 secondes)ALTER SYSTEM SET UNDO_RETENTION = 1000;67 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 67 / 228
  80. 80. Gestion des tablespaces et des chiers de données IV. Gérer des tablespaces à laide dOMFChapitre 3 - Gestion des tablespaces et deschiers de donnéesI. Vue densemble et directivesII. Tablespaces gérés localementIII. Tablespaces temporaires et tablespaces dannulationIV. Gérer des tablespaces à laide dOMF1. Présentation dOracle Managed File2. Gestion des tablespaces avec OMFV. Information sur les tablespaces et les chiers68 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 68 / 228
  81. 81. Gestion des tablespaces et des chiers de données IV. Gérer des tablespaces à laide dOMF1. Présentation dOMF (Oracle Managed File)Avec OMF (Oracle Managed File) :Le DBA indique les répertoires où les diérents types de chiers devraient êtrestockésLe DBA na plus besoin de nommer et de préciser le chemin des chiers quilcréé (Ex. plus de clause DATAFILE)Oracle prend en charge la création, le nommage, la suppression et la gestiondes chiers⇒ Intérêt : faciliter la gestion68 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 68 / 228
  82. 82. Gestion des tablespaces et des chiers de données IV. Gérer des tablespaces à laide dOMF2. Gestion des tablespaces avec OMFDésignation du répertoire cible :Paramètre DB_CREATE_FILE_DESTExemple :ALTER SYSTEM SET db_create_file_dest = /u01/oradata/dba01;Création dun tablespace OMFCREATE TABLESPACE nomTablespace [DATAFILE SIZE int [k|M|G|T]];Ajout dun chier à un tablespace OMFALTER TABLESPACE nomTablespace ADD DATAFILE;Suppression dun tablespace OMFDROP TABLESPACE nomTablespace INCLUDING CONTENTS;⇒ Supprime également les chiers de données69 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 69 / 228
  83. 83. Gestion des tablespaces et des chiers de données V. Information sur les tablespaces et les chiersChapitre 3 - Gestion des tablespaces et deschiers de donnéesI. Vue densemble et directivesII. Tablespaces gérés localementIII. Tablespaces temporaires et tablespaces dannulationIV. Gérer des tablespaces à laide dOMFV. Information sur les tablespaces et les chiers70 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 70 / 228
  84. 84. Gestion des tablespaces et des chiers de données V. Information sur les tablespaces et les chiersInformations sur les tablespaces et les chiers dedonnéesVues du dictionnaire contenant des informations sur les tablespaces et les chiersde données :TablespacesDBA_TABLESPACESV$TABLESPACEFichiers de donnéesDBA_DATA_FILESV$DATAFILEFichiers temporairesDBA_TEMP_FILESV$TEMPFILE70 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 70 / 228
  85. 85. Les bases de larchitecture Oracle IntroductionChapitre 4 - Les bases de larchitecture OracleIntroductionI. La base de donnéesII. InstanceIII. Traitement dun ordre SQLIV. Dictionnaire de données71 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 71 / 228
  86. 86. Les bases de larchitecture Oracle IntroductionArchitecture dun serveur de BD OracleServeur de BD Oracle : comporte deux éléments distincts1 La base de données : ensemble de chiers contenantles données, lesinformations sur les données (le dictionnaire de données) et les journaux demodications sur les données (chiers log)2 Linstance : ensemble de processus et de zones en mémoire vivepermettant linteraction avec les chiers de la BD.71 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 71 / 228
  87. 87. Les bases de larchitecture Oracle IntroductionPlanCe chapitre...I. Base de donnéesII. InstanceIII. Traitement dun ordre SQLIV. Dictionnaire de données72 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 72 / 228
  88. 88. Les bases de larchitecture Oracle I. La base de donnéesChapitre 4 - Les bases de larchitecture OracleIntroductionI. La base de données1. Structure de la base2. Fichiers de données3. Fichiers de journalisation4. Fichier de contrôleII. InstanceIII. Traitement dun ordre SQLIV. Dictionnaire de données73 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 73 / 228
  89. 89. Les bases de larchitecture Oracle I. La base de données1. Structure de la baseBase de donnéesEnsemble de chiers stockés sur les disques durs du serveur hébergeant labasePorte un nom déni lors de sa création stocké dans le paramètredinitialisation DB_NAME (Ex. DBisit)En complément lemplacement de la BD sur le réseau peut être inscrit dans leparamètre 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 données 2012-2013 73 / 228
  90. 90. Les bases de larchitecture Oracle I. La base de données1. Structure de la baseIl existe diérents types de chiers : de données, de journalisation, etc.Les chiers de paramètres, de contrôle, des mots de passe et les archives deschiers de journalisation ne font pas partie de la BD74 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 74 / 228
  91. 91. Les bases de larchitecture Oracle I. La base de données2. Fichiers de données (Data Files)Contiennent :Les tables et les index créés par les utilisateursLes données dannulation (images avant modication)Le dictionnaire de donnéesGroupés logiquement dans des tablespaces75 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 75 / 228
  92. 92. Les bases de larchitecture Oracle I. La base de données3. Fichiers de journalisation (Redo Log Files)Contiennent un historique de toutes les opérations de modication faites surles données (depuis une certaine période)Utilisés par le système pour reconstituer les chiers de données en casdaltération de ceux-ci ou de crash systèmeInformations sur les chiers journaux : vues V$LOGFILES et V$LOG dudictionnaire de données76 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 76 / 228
  93. 93. Les bases de larchitecture Oracle I. La base de données3. Fichiers de journalisation (Redo Log Files)Écriture dans les chiers Redo LogMultiplexéeMaintien de plusieurs copies synchrones dun même chier logGroupe : ensemble de chiers multiplexés (identiques).Membre : un chier appartenant à un groupe synchrone est dit membre de cegroupe (vue V$LOGFILE)Il existe au minimum deux groupes par BD (vue V$LOG).CycliqueChaque fois que les chiers dun groupe sont saturés, le système écrit dans leschiers du groupe suivant (basculement ou switch)⇒ Si le contenu des chiers nest pas archivé, il est dénitivement perduLa BD est par défaut en mode NOARCHIVELOG.Pour activer larchivage : ALTER DATABASE ARCHIVELOG77 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 77 / 228
  94. 94. Les bases de larchitecture Oracle I. La base de données3. Fichiers de journalisation (Redo Log Files)Ajout dun nouveau groupeALTER DATABASE ADD LOGFILE [GROUP numGroup] (nomFichier1.LOG,[nomFichier2.LOG,...] SIZE [K|M]Ajout dun chier membre à un groupe (multiplexage)ALTER DATABASE ADD LOGFILE MEMBER nomFichier.LOG TO GROUPnumGroupeBasculement forcé dun groupe à un autreALTER SYSTEM SWITCH LOGFILE78 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 78 / 228
  95. 95. Les bases de larchitecture Oracle I. La base de données4. Fichier de contrôle (Control File)Contient des informations sur la structure physique de la BD :Nom et date de création de la BDEmplacement des chiers de donnés et de journalisationPosition courante dans les logInformations sur les points de reprise (CheckPoint)Etc.Premier chier consulté par linstance après louverture dune BD (pourlocaliser 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, création dun point de reprise,etc;)79 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 79 / 228
  96. 96. Les bases de larchitecture Oracle I. La base de données4. Fichier de contrôle (Control File)Le paramètre CONTROL_FILES contient lemplacement des chiers decontrôleConsultation à partir de SQL*PLUS :SQL show parameter control_filesLa vue V$CONTROLFILE du dictionnaire renseigne sur le chier de contrôle80 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 80 / 228
  97. 97. Les bases de larchitecture Oracle II. InstanceChapitre 4 - Les bases de larchitecture OracleIntroductionI. La base de donnéesII. Instance1. Vue densemble2. La SGA3. La PGA4. Processus Serveur5. Processus darrière planIII. Traitement dun ordre SQLIV. Dictionnaire de données81 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 81 / 228
  98. 98. Les bases de larchitecture Oracle II. Instance1. Vue densembleInstanceOuvre une seule BD à la foisIdentiée par un SID (System ID) stocké dans le paramètre INSTANCE_NAME(généralement, même valeur que pour DB_NAME)Se compose de :1 Zones en mémoire vive :1 System Global Area (SGA)2 Program Global Area (PGA)2 Processus serveur3 Processus darrière plan81 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 81 / 228
  99. 99. Les bases de larchitecture Oracle II. Instance2. La SGASystem Global AreaEnsemble de tampons mémoire partagés par les processus de linstanceAllouée au démarrage de la BD et libérée à sa fermeture3 zones obligatoires et 3 zones optionnellesTaille maximale : paramètre SGA_MAX_SIZE82 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 82 / 228
  100. 100. Les bases de larchitecture Oracle II. Instance2. La SGA - a. Le pool partagé (shared pool)Rôle : essentiellement, accélérer lanalyse des requêtesComposé de deux tampons : le Library Buer et le Dictionary BuerLibrary BuerTampon stockant des informations sur les requêtes SQL les plus récemmentexécutéesInformations : texte, version compilée et plan dexécutionRemplacement : LRUDictionary BuerTampon stockant les données du dictionnaire les plus récemment utilisées(tables, droits des utilisateurs, etc.)Remplacement : LRUTaille du pool partagé : paramètre SHARED_POOL_SIZE83 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 83 / 228
  101. 101. Les bases de larchitecture Oracle II. Instance2. La SGA - b. Le tampon de la BD (DataBase Buer)Tampon mémoire réservé au stockage des blocs de données Oracle (blocs detables, dindex, dannulation)Rôle :RemplacementGéré selon la stratégie LRU, appliquée en premier aux blocs dont le contenu aété modié (Dirty Blocks)Raison : ⇒ Les blocs modiés sont écrits en premier sur le disque pourminimiser linformation perdue et le temps de sa restauration84 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 84 / 228
  102. 102. Les bases de larchitecture Oracle II. Instance2. La SGA - b. Le tampon de la BD (DataBase Buer)DB_CACHE_SIZEParamètre contrôlant 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 = DB_BLOCK_SIZENécessité dinitialiser au préalable un tampon supplémentaire dont la taille estun multiple de la taille du bloc de tbs⇒ Paramètre (selon la taille de bloc utilisée dans tbs) : DB_nk_CACHE_SIZE ,avec n ∈ {2, 4, 8, 16, 32}ALTER SYSTEM SET DB_32K_CACHE_SIZE=300M85 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 85 / 228
  103. 103. Les bases de larchitecture Oracle II. Instance2. La SGA - c. Le tampon de journalisation (RedoLog Buer)Tampon mémoire réservé au stockage de lhistorique des opérations demodication faites sur les donnéesPériodiquement le contenu du tampon est écrit dans les chiers dejournalisation (par exemple, suite à un commit)Taille dénie par le paramètre LOG_BUFFERRôle : Écriture par lot (batch) des entrées log au lieu dune écriture parentrée (i.e. par opération de modication)86 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 86 / 228
  104. 104. Les bases de larchitecture Oracle II. Instance2. La SGA - d. Autres zones mémoiresJava Pool :Plusieurs routines internes dOracle utilise du code JavaEx. import/export de donnéesZone de mémoire utilisée par la machine virtuelle Java intégrée. ParamètreJAVA_POOL_SIZELarge Pool : stocke essentiellement, les données sur les sessions desutilisateurs. Paramètre LARGE_POOL_SIZEStreams Pool : Zone de mémoire utilisée pour léchange dinformationsentre processus. Paramètre STREAMS_POOL_SIZESGA Fixe : inclut les informations sur létat de la base, linstance, lesverrous, etc.87 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 87 / 228
  105. 105. Les bases de larchitecture Oracle II. Instance2. La SGA - e. Gestion automatiqueTailles des diérentes zones mémoires : gérables manuellement (par le DBA)ou automatiquement (par Oracle)Gestion manuelle : donner une taille à chacune des zones. La somme destailles doit être = SGA_MAX_SIZEGestion automatiqueActivée si le paramètre SGA_TARGET = 0.La valeur choisie pour SGA_TARGET doit être = SGA_MAX_SIZE.Paramètre dynamique : ALTER SYSTEM SET SGA_TARGET = 500 M88 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 88 / 228
  106. 106. Les bases de larchitecture Oracle II. Instance2. La SGA - En résumé...89 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 89 / 228
  107. 107. Les bases de larchitecture Oracle II. Instance3. PGA (Program Global Area)Zone mémoire privée des diérents processus, une PGA par processusPGA agrégée : PGA totale allouée à tous les processusParamètre PGA_AGGREGATE_TARGET : taille de la PGA agrégée (Oracle secharge de la répartition entre le diérents processus)90 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 90 / 228
  108. 108. Les bases de larchitecture Oracle II. Instance4. Processus serveurProcessus 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 ninteragit avec celui-ci quau traversdun processus serveurProcessus Serveur (PS ouServer Process) :Prend en charge les appels générés par un ou plusieurs processus utilisateurs etleur renvoie les résultatsNotamment : chargement des données dans le tampon de BD et écriture dansle tampon Redo LogDeux modes : serveur dédié et serveur partagé (spécié au moment de lacréation de la BD)Dédié : un processus serveur pour chaque processus utilisateurPartagé : un processus serveur pour plusieurs processus utilisateur91 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 91 / 228
  109. 109. Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - a. Rôle et présentationRôle :1 Gérer la SGA et écriture à partir de la SGA vers les chiers de la BD2 Assurer le bon fonctionnement de linstance, même en cas de crashDéclenchement :Au démarrage de linstance pour certainsUltérieurement suite à des événements particuliers (ex. Tampon saturé) pourdautres92 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 92 / 228
  110. 110. Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - b. Processus DBW (DataBase Writer)Rôle : écriture dans les chiers de données (sur disque) des blocs devantsortir du tampon de la base de donnéesSur les systèmes multi-processeurs, multi-disques, il est recommandé denavoir plusieurs (jusquà 20) numérotés comme suit : DBW0, DBW1,...,DBW9, DBWa,..., DBWjParamètre DB_WRITER_PROCESSES : détermine le nombre de processus DBW93 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 93 / 228
  111. 111. Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - c. Processus LGWR (LoG WRiter)Rôle : écriture séquentielle par lot dans les chiers de journalisation (Redolog) des entrées log devant sortir du tampon Redo LogDéclenchement1 Suite à une validation (COMMIT);2 Toute les trois secondes (cf. 5.d. Processus CKPT);3 Quand 13 du tampon Redo Log est plein :4 Avant que DBW nécrive sur disque les blocs modiés (Dirty) : pour éviter lesmodications non journalisées en cas de crash système.94 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 94 / 228
  112. 112. Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - d. Processus CKPT (ChecKPoinT)Rôle1 Forcer lécriture de tous les blocs modiés Dirty (et donc du contenu dutampon Redo log) sur disque ⇔ Création dun point de reprise (CheckPoint)2 Consigner lestampille temporelle (System Change Number ou SCN) delécriture :dans le chier de contrôle,dans les en-têtes des chiers de données et de journalisation⇒ En cas crash, le SCN indique le point de départ de la restaurationIntérêt :Restauration plus rapide en cas de crash système⇒ Les entrées Redo log datant davant le SCN ne sont pas rejouées95 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 95 / 228
  113. 113. Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - d. Processus CKPT (ChecKPoinT)Déclenchement de CKPT :A la demande : ALTER SYSTEM CHECKPOINTA la fermeture dune BD (excepté SHUTDOWN ABORT)Lors de la mise hors ligne dun tablespaceToute les 3 secondesLorsque LGWR bascule dun groupe à un autre :96 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 96 / 228
  114. 114. Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - e. Le processus SMON (SystemMONitor)Déclenchement : à louverture de la BDRôle : récupération de la BD suite à un arrêt brutalDétection de larrêt brutal de la BD :1 Comparaison des SCN des en-têtes des chiers de données et de journalisationavec le SCN du chier de contrôle2 Si diérents, une récupération est nécessaireRécupération : deux étapes1 Roll Forward : rejouer toutes les transactions, validées ou non, depuis ledernier point de reprise (chiers de journalisation + chier de contrôle)2 Roll Back : annuler les transactions non validées (segments dannulation)97 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 97 / 228
  115. 115. Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - e. Le processus SMON (SystemMONitor)Figure: Roll Forward (Redo) suivi dun Roll Back (Undo)[Oracle c Database Concepts 11gRelease 2 (11.2)E10713-05,2010]98 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 98 / 228
  116. 116. Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - f. Le processus PMON (ProcessMONitor)PMON, essentiellementDétection et nettoyage suite au plantage dun processus utilisateurExemple :1 Un PU ouvre une session et lance une requête UPDATE2 Les données concernées sont verrouillées et le UPDATE exécuté3 Le PU nest plus présent et na pas fermé la session (na ni validé ni annulé latransaction)!!⇒ PMON détecte le blocage, annule la transaction et libère les verrous99 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 99 / 228
  117. 117. Les bases de larchitecture Oracle II. Instance5. Processus darrière plan - e. Processus ARC (ARChive)Rôle : archivage des chiers de journalisationDéclenchement : basculement dun groupe de chiers à un autreSuite à la saturation du groupeSuite à ALTER SYSTEM SWITCH LOGFILEIl peut en exister plusieurs : ARCnARC nécrit pas directement sur la bande de sauvegarde, mais sur les disquesde la machine hôteParamètre dinitialisation LOG_ARCHIVE_DEST_n : détermine lemplacementde la neme copie darchiveALTER SYSTEM SET log_archive_dest_1=location=cheminSCOPE=spfile100 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 100 / 228
  118. 118. Les bases de larchitecture Oracle II. InstanceEn résumé...Figure: [Oracle 11g Administration, Olivier Heurtel, eni Editions, Nov. 2008]101 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 101 / 228
  119. 119. Les bases de larchitecture Oracle III. Traitement dun ordre SQLChapitre 4 - Les bases de larchitecture OracleIntroductionI. La base de donnéesII. InstanceIII. Traitement dun ordre SQL1. Traitement dun SELECT2. Traitement dun ordre DML (UPDATE/INSERT/DELETE)IV. Dictionnaire de données102 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 102 / 228
  120. 120. Les bases de larchitecture Oracle III. Traitement dun ordre SQL1. Traitement dun SELECT1 Analyse (Parse)1 Le PU envoie la requête au PS2 Si la requête na pas déjà été analysée précédemment (consultation du LibraryBuer), le PS lanalyse3 Le PS doit vérier si les objets interrogés par la requête existent et silutilisateur a le droit de les consulter. Si ces informations ne sont pasprésentes dans le Dictionary Buer, le PS les charge4 Génération et enregistrement du plan dexécution (si non présent dans leLibrary Buer)2 Exécution : exécution du plan de la requête. Si les blocs des donnéesinterrogées ne sont pas dans le tampon de la BD, le PS les charge dans letampon à partir,1 du chier de données si les données nont pas été modiées par unetransaction non encore validée2 du tablespace dannulation (undo), sinon3 Extraction : le PS renvoie au PU le résultat de la requête102 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 102 / 228
  121. 121. Les bases de larchitecture Oracle III. Traitement dun ordre SQL2. Traitement dun ordre DML(UPDATE/INSERT/DELETE)1 Analyse (Parse)Idem. que pour une sélection2 Exécution1 Si les blocs de données et les blocs dannulation ne se trouvent pas déjà dansle tampon de la BD, le PS les charge.2 Le PS place des verrous sur les tuples à modier3 Le PS place limage avant des données dans le bloc dannulation.4 Les modications sont enregistrées dans les blocs de données qui sont alorsmarqués comme Dirty5 Les informations sur la modication sont consignées dans le tampon dejournalisation103 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 103 / 228
  122. 122. Les bases de larchitecture Oracle IV. Dictionnaire de donnéesChapitre 4 - Les bases de larchitecture OracleIntroductionI. La base de donnéesII. InstanceIII. Traitement dun ordre SQLIV. Dictionnaire de données1. Rappel2. Vues statiques3. Vues dynamiques104 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 104 / 228
  123. 123. Les bases de larchitecture Oracle IV. Dictionnaire de données1. RappelDictionnaire de données1 Ensemble de vues et de tables contenant les informations sur toutes lescomposantes logiques et physiques de la BD et de linstance2 Créé et mis à jour par le système lorsque des ordres DDL sont exécutées(CREATE/ALTER/DROP)3 Propriété de lutilisateur SYS ⇒ stocké dans le tablespace SYSTEM.4 Les données des tables sont codées et modiables uniquement par le système.Accessibles uniquement via des vues5 Deux types de vues :Vues statiques : basées sur les vraies tables du dictionnaireVues dynamiques : basées sur de linformation se trouvant en mémoire vive(Ex. SGA) ou extraite du chier de contrôle104 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 104 / 228
  124. 124. Les bases de larchitecture Oracle IV. Dictionnaire de données2. Vues statiquesTrois types :Vues préxées par USER_Donnent accès aux informations sur les objets possédés (créés) par lutilisateurExemple : USER_TABLES : tables crées par lutilisateurVues préxées par ALL_Donnent accès aux informations sur les objets (tables, index, vues, triggers,etc.) accessibles par lutilisateurExemple : ALL_TABLES : toutes les tables que lutilisateur peut voirVues préxées par DBA_Interrogeables uniquement par les administrateursDonnent accès aux informations sur tous les objets de la BDExemple : DBA_TABLES : toutes les tables de la BD105 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 105 / 228
  125. 125. Les bases de larchitecture Oracle IV. Dictionnaire de données3. Vues dynamiquesContiennent linformation sur lactivité en cours de la BD et de linstancePréxées par V$V$FIXED_TABLE : contient la liste des vues dynamiques. Quelques vuesdynamiques :Nom DescriptionV$DATABASE Informations sur la BDV$INSTANCE Informations sur linstanceV$SGA Informations résumées sur la SGAV$PARAMETER Informations sur les paramètres dinitialisationV$SQL Informations sur les requêtes SQL exécutées106 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 106 / 228
  126. 126. Gestion de linstance I. Fichier de paramètresChapitre 5 - Gestion de linstanceI. Fichier de paramètres1. Présentation2. PFILE vs. SPFILE3. Modication des paramètres dinitialisationII. Démarrage et arrêt dun serveur de BD OracleIII. Diagnostic et surveillance dun serveur de BD Oracle107 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 107 / 228
  127. 127. Gestion de linstance I. Fichier de paramètres1. PrésentationFichier de paramètresConsulté par linstance à son démarrage et avant louverture de la BD. Nefait pas partie de la BDContient lensemble des paramètres dinitialisation de linstanceParamètres demplacement : DB_CREATE_FILE_DEST, CONTROL_FILES, etc.Paramètres de limites et dallocation mémoire : DB_BLOCK_SIZE,DB_CACHE_SIZE, SGA_MAX_SIZE, etc.Il existe deux types de chiers de paramètres : le PFILE (historique) et leSPFILE (depuis la version 9i)107 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 107 / 228
  128. 128. Gestion de linstance I. Fichier de paramètres1. PrésentationExemple dun chier de paramètres PFILE108 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 108 / 228
  129. 129. Gestion de linstance I. Fichier de paramètres2. PFILE vs. SPFILE`PFILE (Parameter File) SPFILE (Server Parameter File)Fichier texte Fichier binaireModiable via un éditeur texte Modiable uniquement via SQLPrésent sur chaque machine pouvant dé-marrer linstance (problème de synchroni-sation)Centralisé : un seul chier sur la machinehôte de la BDNommé initSID.ora Nommé spleSID.oraModication à froid Modiable à chaud (pour les paramètresdynamiques)Possibilité de créer un PFILE à partir dun SPFILE et inversement :CREATE PFILE/SPFILE [nomFichier1] FROM SPFILE/PFILE [nomFichier2]Lors du démarrage dune instance, le serveur cherche un sple et sinon unple109 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 109 / 228
  130. 130. Gestion de linstance I. Fichier de paramètres3. Modication des paramètres dinitialisationInstruction SQL pour modier les paramètres dinitialisationALTER SYSTEM SET nomParam = nouvelleValeur[SCOPE = [BOTH|MEMORY|SPFILE]]SCOPE = SPFILE : si le paramètre est statique (modiable uniquement àfroid), ou bien sil est souhaité que les changements ne prennent eet quauprochain démarrage de linstanceSCOPE = MEMORY : si le paramètre est dynamique (modiable à chaud). Leschangements aectent uniquement linstance en coursSCOPE = BOTH : si le paramètre est dynamique et les modicationsconcernent aussi bien linstance en cours que les prochaines110 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 110 / 228
  131. 131. Gestion de linstance I. Fichier de paramètres3. Modication des paramètres dinitialisationSi linstance démarre à laide dun PFILESeule loption MEMORY est utilisable avec ALTER SYSTEM...Le DBA doit retranscrire les modications dans le PFILEPour consulter la valeur courante dun paramètre nomParametre1 A partir de SQL*PLUS: SQLshow parameter nomParametre2 SQL : SELECT name, value FROM V$PARAMETER WHERE name =nomParametrePour consulter la valeur stockée dans un SPFILE dun paramètrenomParametreSQL : SELECT name, value FROM V$SPPARAMETER WHERE name =nomParametre111 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 111 / 228
  132. 132. Gestion de linstance II. Démarrage et arrêt dun serveur de BD OracleChapitre 5 - Gestion de linstanceI. Fichier de paramètresII. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage2. ArrêtIII. Diagnostic et surveillance dun serveur de BD Oracle112 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 112 / 228
  133. 133. Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage - a. SyntaxeDémarrage - Syntaxe (non exhaustive)STARTUP [FORCE][RESTRICT][PFILE=nomPFILE][OPEN | MOUNT | NOMOUNT]Figure: Phases de démarrage [Oracle c Database Concepts 11g Release 2 (11.2)E10713-05,2010]112 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 112 / 228
  134. 134. Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage - b. STARTUP NOMOUNTSTARTUP NOMOUNT1 Un SPFILE (sple%.ora) est cherché. Si non trouvé un ple (init%.ora) estcherché et utilisé à la place2 La SGA est allouée selon les paramètres dinitialisation3 Les processus darrière plan sont lancésLa BD nest ni montée ni ouverte⇒ les vues dynamiques relatives à linstance (V$INSATNCE, V$SGA, etc.) sontinterrogeables, mais pas celles relatives à la BD (V$DATABASE)Pour monter (resp. ouvrir) la BD ultérieurement :ALTER DATABASE MOUNT (resp. ALTER DATABASE OPEN)113 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 113 / 228
  135. 135. Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage - c. STARTUP MOUNTSTARTUP MOUNT1 Ouverture du chier de contrôle de la BD (localisation à partir du paramètredinitialisation CONTROL_FILES)2 Si le chier de contrôle est multiplexé et que les copies ne sont pasidentiques, linstance reste à létat NOMOUNT3 Depuis le chier de contrôle, extraction des noms, des emplacements et desétats des chiers de données et de journalisation. Ces chiers ne sont à cestade ni ouverts ni vériésConnexion à la BD possible uniquement pour les administrateurs. Ils peuventy faire certaines tâches dadministrationEx. Renommage/déplacement de chiers, activation de la journalisation, etc.(Pourquoi ne sont elles pas possibles en mode NOMOUNT?)La BD est dite associée à linstance, les vues dynamiques relatives à la BDsont consultables (V$DATABASE), mais pas les vues statiquesPour la rendre accessible à tous le monde ultérieurement :ALTER DATABASE OPEN114 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 114 / 228
  136. 136. Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage - d. STARTUP OPENSTARTUP ou STARTUP OPEN1 Ouverture des chiers de journalisation et de données2 SMON est lancé. Si les SCN des en-têtes des chiers de données et dejournalisation sont diérents du SCN apparaissant dans le chier de contrôle⇒ Roll Forward + Roll Back.Après louverture, la BD est disponible à une utilisation normale pour tousles utilisateurs115 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 115 / 228
  137. 137. Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle1. Démarrage - e. Autres options de démarrageSTARTUP FORCE1 Interrompt linstance en cours, puis exécute un démarrage normal⇒ Equivalent à SHUTDOWN ABORT + STARTUPSTARTUP RESTRICTNautorise laccès à la BD quaux administrateurs et les utilisateurs disposantdu privilège RESTRICTED SESSIONUtilisé pour eectuer certaines opérations dadministration qui nécessite quela BD soit ouverte, mais quil est préférable de réaliser sans utilisateurconnectéEx. Import/export de données, réorganisation dune table etc.Pour quitter le mode restreintALTER SYSTEM DISABLE RESTRICTED SESSION116 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 116 / 228
  138. 138. Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle2. Arrêt - a. SyntaxeSyntaxe (non exhaustive)SHUTDOWN [NORMAL | TRANSACTIONAL | IMMIDIATE | ABORT]Figure: Phases darrêt [Oracle c Database Concepts 11g Release 2 (11.2)E10713-05,2010]117 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 117 / 228
  139. 139. Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle2. Arrêt - b. Options darrêtSHUTDOWN ou SHUTDOWN NORMALAttend la déconnexion de tous les utilisateurs et larrêt de toutes lestransactions en coursEectue un checkpoint avant larrêtSHUTDOWN TRANSACTIONALAttend larrêt de toutes les transactions (mais pas la déconnexion de tous lesutilisateurs)Eectue un checkpoint avant larrêt118 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 118 / 228
  140. 140. Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle2. Arrêt - b. Options darrêtSHUTDOWN IMMEDIATEFermeture instantanée sans attendre les sessions/transactions en cours.Eectue un rollback des transactions non validées, puis un checkpoint avantlarrêtSHUTDOWN ABORTFermeture instantanée sans attendre les sessions/transactions en cours.Pas de checkpoint avant larrêt ⇒ recouvrement au démarrageÀ utiliser uniquement si blocage des autres types darrêt119 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 119 / 228
  141. 141. Gestion de linstance II. Démarrage et arrêt dun serveur de BD Oracle2. Arrêt - b. Options darrêtEn résumé...Figure: Options darrêt [Oracle c Database Concepts 11g Release 2 (11.2)E10713-05,2010]120 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 120 / 228
  142. 142. Gestion de linstance III. Diagnostic et surveillance dun serveur de BD OracleChapitre 5 - Gestion de linstanceI. Fichier de paramètresII. Démarrage et arrêt dun serveur de BD OracleIII. Diagnostic et surveillance dun serveur de BD Oracle1. Vue densemble2. Le chier dalertes alertSID.log3. Les chiers trace des processus darrière plan4. Les chiers trace des processus utilisateur5. Outils de diagnostic121 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 121 / 228
  143. 143. Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle1. Fichiers de diagnosticProblème et incidentProblème : erreur critique. A un identicateur unique (ORA-...)Incident : occurrence dun problèmeFichiers de diagnosticInformations relatives aux événements signicatifs qui se sont produits,Permettent la résolution des incidents et lamélioration de la gestionquotidienne de la base de données.Plusieurs typesFichier alertSID.log : informations sur le fonctionnement au quotidien de laBDFichiers trace de processus darrière-plan : informations sur les erreursdétectées par les processus darrière planFichiers trace utilisateur : informations sur les processus utilisateurs121 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 121 / 228
  144. 144. Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle2. Le chier dalertes alertSID.logChaque instance possède un chier dalertes, créé au démarrage si besoin.Exemple dinformationsCréation, démarrages/arrêtsModication de la structure (tablespaces, chiers de données)Certains types derreurs : erreurs du SE (ORA-07445), manque de mémoirepour le Pool partagé (ORA-04031)Problèmes relatifs à lécriture et larchivage des chiers de journalisationAlertes (Tablespace presque plein, disque presque plein, etc.)Etc.Contient également des pointeurs sur des chiers trace qui contiennent desinformations plus détaillées.En perpétuel grossissement ⇒ doit être géré par le DBAFormat xml disponible (depuis la version 11g) : log.xml122 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 122 / 228
  145. 145. Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle3. Les chiers trace des processus darrière planConsignent les erreurs détectées par les processus darrière plan,Permettent de diagnostiquer et de corriger les erreurs.Créés lorsquun processus darrière plan détecte une erreur.Convention de nommage : SID_nomProcessus_idProcessus.trc (Ex.DBisitcom_lgwr_23004.trc)123 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 123 / 228
  146. 146. Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle4. Les chiers trace des processus processusutilisateurCréés par le processus utilisateur,Peuvent être générés par un processus serveur,Contiennent des statistiques sur les instructions SQL (utiles pour le réglageou tuning)Contiennent des messages sur les erreurs constatées au cours dune session.Convention de nommage : SID_ORA_PID.trc (Ex.DBisitcom_ora_20045.trc)Activation de la collecte de statistiques (paramètre SQL_TRACE):ALTER SESSION SET SQL_TRACE=TRUE124 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 124 / 228
  147. 147. Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle5. Outils de diagnosticRéférentiel de Diagnostic Automatique (Automatic DiagnosticRepository)Répertoire structuré, centralisant tous les chiers de diagnostic (depuis laversion 11g)Emplacement déni par le paramètre : DIAGNOSTIC_DESTLa vue v$diag_info renseigne sur les emplacements des chiers dalerte etde trace125 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 125 / 228
  148. 148. Gestion de linstance III. Diagnostic et surveillance dun serveur de BD Oracle5. Outils de diagnosticOutils (consultation du référentiel ADR)Entreprise Manager : Support WorkBenchLutilitaire en ligne de commandes adrci (ADR Command Interpreter).Quelques commandes :Commande : adrci EetSHOW ALERT Ache les log du chier dalertesSHOW INCIDENT Ache les incidents répertoriésSHOW INCIDENT -MODE DETAIL -Pincident_id=7465Ache les détails de lincident 7465 etlemplacement des chiers de trace relatifsSHOW TRACEFILE Ache lemplacement des chiers de trace126 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 126 / 228
  149. 149. Gestion des utilisateurs IntroductionChapitre 6 - Gestion des utilisateursIntroductionI. Gestion basique des comptes des utilisateursII. Gestion des privilègesIII. Gestion des rôlesIV. Gestion des prolsV. Audit de lactivité des utilisateurs127 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 127 / 228
  150. 150. Gestion des utilisateurs IntroductionIntroductionRôle de ladministrateur de sécurité et des ressources1 Dénir une politique de sécurité2 Gérer les comptes des utilisateurs3 Assurer lattribution et la révocation des droits (privilèges et rôles)4 Gérer les ressources système (prols)5 Eectuer des auditsCe chapitre...1 Gestion basique des comptes des utilisateurs2 Gestion des privilèges3 Gestion des rôles4 Gestion des prols5 Audit de lactivité des utilisateurs127 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 127 / 228
  151. 151. Gestion des utilisateurs I. Gestion basique des comptes des utilisateursChapitre 6 - Gestion des utilisateursIntroductionI. Gestion basique des comptes des utilisateurs1. Notions de schéma et dutilisateur2. Création dun nouvel utilisateur3. Modication et suppressionII. Gestion des privilègesIII. Gestion des rôlesIV. Gestion des prolsV. Audit de lactivité des utilisateurs128 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 128 / 228
  152. 152. Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs1. Notions de schéma et dutilisateurUtilisateur de BD Oracle (User) :Identié par un login avec lequel il se connecte au systèmePossède un ensemble de droits ou privilèges associés à son login.Dispose dun espace de stockage par défaut (tablespace) dans lequel sontstockés les objets quil crééSchéma (Schema Objects)collection de tous les objets (tables, vues, index, etc.) créés par un utilisateurprécis (N.B. ninclut pas les chiers et les tablespaces)Oracle assimile un schéma à son utilisateur ⇒Chaque utilisateur possède un seul schéma et réciproquementLe login sert à identier à la fois un utilisateur et son schémaLa création dun utilisateur entraîne celle de son schémaAccès à un objet : login.nomObjet (Ex. sys.dba_tablespaces)128 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 128 / 228
  153. 153. Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs2. Création dun nouvel utilisateur - a. Enchaînement typique1 Choisir un nom dutilisateur et un mécanisme dauthentication,2 Décider des tablespaces dans lesquels lutilisateur peut stocker certains de sesobjets3 Aecter un tablespace par défaut et un tablespace temporaire4 Décider des quotas pour chaque tablespace,5 Créer un utilisateur6 Accorder des privilèges et des rôles a lutilisateur129 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 129 / 228
  154. 154. Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs2. Création dun nouvel utilisateur - b. Ordre SQLCREATE USER login Mode didentication, Oracle ou SE ou LDAPIDENTIFIED [by motDePasse|EXTERNALLY|GLOBALLY AS nomExterne] Tablespace par défaut où seront stockés les objets créés par lutilisateur[DEFAULT TABLESPACE nomTablespace] Tablespace temporaire des requêtes exécutées par lutilisateur[TEMPORARY TABLESPACE nomTablespaceTemporaire] Espace maximal que lutilisateur peut utiliser dans les tablespaces[QUOTA [int [K|M] | UNLIMITED ] ON nomTablespace][QUOTA [int [K|M] | UNLIMITED] ON nomTablespace2]] Indique si lutilisateur doit changer son mot de passe à la première connexion[PASSWORD EXPIRE] Verrouillage du compte[ACCOUNT[LOCK|UNLOCK]] Prol[PROFILE nomProl]130 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 130 / 228
  155. 155. Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs2. Création dun nouvel utilisateur - c. Exemples1 CREATE USER isitcom IDENTIFIED BY i$itc0m2 CREATE USER isitcom IDENTIFIED BY i$itc0mDEFAULT TABLESPACE tbs_usersPASSWORD EXPIREACCOUNT LOCK3 CREATE USER isitcom IDENTIFIED BY i$itc0mDEFAULT TABLESPACE tbs_usersQUOTA 10M ON tbs_usersTEMPORARY TABLESPACE tmp_usersQUOTA 5M ON tbs_hrPASSWORD EXPIRE131 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 131 / 228
  156. 156. Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs2. Création dun nouvel utilisateur - d. Utilisateur identié par leSESauthentie au niveau du SE mais pas au niveau dOracle (SQLCONNECT /)Oracle vérie uniquement si le nom de lutilisateur courant du SE correspondà un utilisateur de la BDNom utilisateur de la BD : OS_AUTHENT_PREFIX nomUserSEValeur de OS_AUTHENT_PREFIXPar défaut : OPS$Peut être modiée : ALTER SYSTEM SET OS_AUTHENT_PREFIX=;CréationCREATE USER OPS$myUser IDENTIFIED EXTERNALLYSous Windows il est nécessaire de rajouter le nom de domaine, ou à défaut dela machine (le tout en majuscule) : CREATE USER OPS$MY_DOMAINMY_USERIDENTIFIED EXTERNALLY132 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 132 / 228
  157. 157. Gestion des utilisateurs I. Gestion basique des comptes des utilisateurs3. Modication (ALTER USER) et suppression (DROP USER)Modication du mot de passeALTER USER isitcom IDENTIFIED BY c0mi$it [REPLACE i$itc0m]Modication des quotasALTER USER isitcom QUOTA 15M ON tbs_users QUOTA 0M ON tbs_hrModication des tablespaces par défautALTER USER isitcom DEFAULT TABLESPACE tbs2 TEMPORARY TABLESPACE tmp2;VerrouillageALTER USER isitcom ACCOUNT LOCKDéverrouillageALTER USER isitcom ACCOUNT UNLOCKSuppression dun utilisateur (et de son schéma sil nest pas vide)DROP USER isitcom [CASCADE]Les vues DBA_USERS et DBA_TS_QUOTAS contiennent les informations sur lesutilisateurs133 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 133 / 228
  158. 158. Gestion des utilisateurs II. Gestion des privilègesChapitre 6 - Gestion des utilisateursIntroductionI. Gestion basique des comptes des utilisateursII. Gestion des privilèges1. Privilèges système vs. privilèges objet2. Privilèges système3. Privilèges objetIII. Gestion des rôlesIV. Gestion des prolsV. Audit de lactivité des utilisateurs134 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 134 / 228
  159. 159. Gestion des utilisateurs II. Gestion des privilèges1. Privilèges système vs. privilèges objetPrivilèges accordés à un utilisateur :Déterminent quelles actions lutilisateur est autorisé à eectuer sur la baseAccordés par linstruction GRANT et retirés par linstruction REVOKEPeuvent être groupés dans des rôlesDeux types : privilèges au niveau du système et privilèges au niveau des objetsPrivilège au niveau du systèmeDroit dexécuter une action sur nimporte quel objet dun type particulier (prèsde 160).Ex. CREATE/DROP/ALTER TABLESPACE, USER, SESSION, TABLE, VIEW, etc.Privilège au niveau objetDroit dexécuter une action sur un objet spéciqueEx. SELECT, UPDATE, INSERT, etc.134 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 134 / 228
  160. 160. Gestion des utilisateurs II. Gestion des privilèges2. Privilèges système - a. ExemplesCatégorie ExempleTABLE CREATE [ANY] TABLEALTER [ANY] TABLEDROP [ANY] TABLESELECT [ANY] TABLEUPDATE [ANY] TABLEDELETE [ANY] TABLEINDEX CREATE [ANY] INDEXALTER [ANY] INDEXDROP [ANY] INDEXSESSION CREATE SESSIONALTER SESSIONRESTRICTED SESSIONTABLESPACE CREATE TABLESPACEALTER TABLESPACEDROP TABLESPACEMot réservé ANY : droit dexécuter un ordre dans nimporte quel schéma135 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 135 / 228
  161. 161. Gestion des utilisateurs II. Gestion des privilèges2. Privilèges système - b. PrivilègesdadministrationSYSOPER STARTUPSHUTDOWNALTER DATABASE OPEN | MOUNTRECOVER DATABASEALTER DATABASE BACKUP CONTROLFILE TOALTER DATABASE ARCHIVELOGRESTRICTED SESSIONSYSDBA SYSOPER WITH ADMIN OPTIONCREATE DATABASEVue SYSTEM_PRIVILEGE_MAP : liste de tous les privilèges systèmeVue DBA_SYS_PRIVS : privilèges système accordés à un utilisateurN.B. Si un utilisateur disposant du privilège SYSDBA se connecte à la BD avecCONNECT..AS SYSDBA il est connecté au schéma sys136 / 228 Khaled Jouini c (IsitCom) Administration des bases de données 2012-2013 136 / 228

×