Oracle : Administration 2crit & présenté par Abdoul Aziz Ciss Dept GIT EPT Email: aaciss@ept.sn Contenu Introduction Installation du logiciel Oracle Database Création de bases de données Configuration de l environnement réseau Gestion de l instance Oracle Gestion des structures de stockage Gestion des utilisateurs Données Undo Accès concurrents Maintenance & gestion de la performance Sauvegarde & restauration 2 1
Introduction Objectifs Concept de SGBD Structure d une BD relationnelle Notion d instance Rôles de l administrateur de BD 4 2
Base de données Base de données : Base de données relationnelle Bd objet-relationnelles Langages de programmation : SQL, PL/SQL, Java 5 Concept de SGBD SGBDR Système de Gestion de Bases de Données Relationnelles Système permettant de gérer une BD Un SGBD doit permettre Description des données Manipulation des données Contrôle des données Gestion des transactions Sécurité Performance Rque: SGBDR se traduit RDBMS en anglais 6 3
Structures d une BD relationnelle 7 Accès aux données OLTP On-Line Transactional Processing Permet de gérer un grand nombre de transactions OLAP Online Analytical Processing Utilisé pour les bases de données multidimensionnelles (Datawarehouse) Gère de grandes quantités de données 8 4
Système de BD Oralce 9 Structure d une BD Oracle La base de données est constituée d un ensemble de fichiers présents sur le disque La base de données est persistante 10 5
Fichier de contrôle Contient Nom de la base Structure de la base Informations sur l état de la base Multiplexage vivement conseillé Rque: Le fichier de contrôle est nécessaire au démarrage de la base 11 Journaux de transactions en ligne (redo-log) Contient Les transactions de la base de données Caractéristiques Ils fonctionnent en groupe de fichiers (minimum 2) Ils ont un fonctionnement séquentiel et circulaire Rôles Restauration en cas de défaillance d'un disque dur Récupération automatique de la base de données Multiplexage vivement conseillé Rque: Les journaux de transactions en ligne sont nécessaires à l ouverture de la base de données 12 6
Fichier de données Fichier Binaire Contenu Les données utilisateur Le dictionnaire de données 13 Tablespace Espace logique Contient un ou plusieurs fichiers de données Un fichier n appartient qu à un seul tablespace Types de tablespace disponibles Permanent Temporaire Undo 14 7
Instance Oracle Instance = Zones mémoires (SGA + PGA) + Processus d arrière Plan 15 Vue d ensemble de la SGA SGA (System Global Area) Mémoire partagée Chaque instance a sa propre SGA 16 8
17 Zones mémoires Shared pool Library Cache Analyse sémantique et syntaxique des requêtes Plan d exécution Gestion du cache en LRU Dictionnary Cache Droits des utilisateurs Descriptions des objets de la base Database buffer cache Cache des blocs de données récemment utilisés Redo Log Buffer Enregistrement des modifications sur les données La PGA Program Global Area Caractéristiques Utilisée par les processus (serveur et d arrière plan) Mémoire non partagée Utilisation Zone de travail (Tris, hachage) Espace de pile de traitements (Stack Space) 18 9
La PGA 19 Processus d arrière plan Assurent le fonctionnement interne de la base 20 10
Les processus serveur Rôles Met en relation le processus client à l instance de base de données Requêtes des utilisateurs Modes de connexions possibles Processus serveur dédié Un processus client = Un processus Serveur Mode par défaut 21 Les processus serveur Processus serveur partagé Initialisation d un nombre fini de processus d arrière plan spécifiques (les Dispatchers et les Shared Servers) Un grand nombre de processus clients s adresse aux dispatchers Les dispatchers transmettent les requêtes aux SharedServers qui communiquent avec l instance Mode utilisé pour traiter un fort volume de connexions simultanées nécessitant des temps de traitements très courts (OLTP) 22 11
Système de stockage 23 Système de stockage 24 12
Gestion de la mémoire Automatique Globale (SGA + PGA) : depuis la version 11g SGA Manuelle Le DBA détermine la taille des zones mémoires Outils DBCA SQL Plus EM console 25 Notion de schéma et d utilisateur Un utilisateur est une entité permettant d accéder, via un système d authentification, à tout ou partie des objets de la base de données Un schéma est une notion logique représentant l ensemble des objets appartenant à un utilisateur: Table Vue Synonyme Index Séquence Programme PL/SQL 26 13
Tâches de base d'un administrateur de base de données Tâches du DBA Evaluer les besoins matériels (Hardware) Installer et mettre à jour le logiciel Oracle Concevoir, ouvrir et migrer une base de données Assurer la sécurité (sauvegarde/restauration, accès à la base) Gérer les utilisateurs et leurs droits Restaurer la base en cas d erreur Surveiller le système Gérer les ressources et les optimiser 27 Outils d administration Oracle Enterprise Manager Database Control Outils d administration graphique Orientés Web SQL*Plus SQL PL/SQL Commandes d administration SQL Developer IDE pour le PL/SQL Oracle Net Manager Configuration d Oracle Net 28 14
Documentation oracle Oracle Technology Network http://www.oracle.com/technetwork/index.html Documentation http://tahiti.oracle.com/ My Oracle Support (ancien Metalink) https://support.oracle.com/ 29 Synthèse Définition et fonctionnement d un SGBDR La base de données L instance ( SGA + PGA + Processus d arrière plan) Tâche d un administrateur de base de données Outils d administration Liens utiles 30 15
Installation du logiciel Oracle 12c Objectifs Prérequis d installation Norme OFA Installer le logiciel Oracle 32 16
Exploitation L exploitation d Oracle passe par la connaissance Des procédures d installation Prérequis Opérations de pré-installation et post-installation De l arborescence du noyau De la norme OFA La localisation des fichiers de configuration Un exploitant Oracle doit savoir Installer le logiciel Oracle Identifier les composants d une installation 33 Prérequis matériels Systèmes d exploitation MS Windows, NIX : 32 bit, 64 bits Win Server, Client Voir documentation Oracle NIX Linux, Solaris, AIX, Mémoire RAM : 1GB VRAM/SWAP : 2 x RAM Espace disque : 6 GB Processor : Intel, AMD 34 17
Normes OFA Optimal flexible architecture Arborescence Noms des fichiers Avantages Organiser de grandes quantités de logiciels et de données Faciliter les tâches administratives Faciliter le passage d une base à une autre 35 Norme OFA Répertoire de base C:\app Fichiers Fichiers de contrôle (control files) controln.ctl Exemple : control01.ctl Fichiers journaux (redo log files) redon.log Exemple : redo04.log Fichiers de données (data files) tn.dbf Exemple : user01.dbf 36 18
Variables d environnement Variables d environnement ORACLE_BASE : répertoire racine d installation d Oracle ORACLE_HOME : racine d une instance ORACLE_SID : nom de l instance Exemple: ORACLE_BASE : C:\app ORACLE_HOME : C:\app\product\11.1.x\dbname ORACLE_SID : orcl(par défaut) 37 Utilisateurs et groupes NIX : procédure plus manuelle Windows Utilisateur Oracle avec des privilèges réduits Groupes d utilisateurs oinstall, dba(nix) ora_dba(windows) 38 19
Oracle Universal Installer (OUI) Application Java : interface consistante Utilisation Installation Désinstallation Patch Mise à niveau Exemple : setup.exe (Windows) Runinstaller.sh sous NIX 39 Lancement de OUI 40 20
Installation du logiciel Oracle Ecran d accueil 41 Installation du logiciel Oracle Mises à jour 42 21
Installation du logiciel Oracle Options d installation 43 Installation du logiciel Oracle Options d installation 44 22
Installation du logiciel Oracle Options d installation de grille 45 Installation du logiciel Oracle Langue du produit 46 23
Installation du logiciel Oracle Edition de base de données 47 Installation du logiciel Oracle Indiquer l utilisateur d Oracle 48 24
Installation du logiciel Oracle Indiquer l emplacement de l installation 49 Installation du logiciel Oracle Vérification des prérequis 50 25
Installation du logiciel Oracle Récapitulatif 51 Installation du logiciel Oracle Installation du produit 52 26
Installation du logiciel Oracle Autoriser les accès réseau 53 Installation du logiciel Oracle Fin de l installation 54 27
Synthèse Norme OFA Préparer l environnement Oracle Universal Installer Installation des binaires d Oracle 55 Création d une base de données Oracle 28
Objectifs Créer un listener avec NETCA Créer une base de données avec DBCA 57 Exploitation Un exploitant Oracle doit savoir Créer une base de données Connaître les bonnes pratiques d architecture de base de données Utiliser les outils permettant de créer une base de données 58 29
Quelques questions Stockage Configuration des disque? Quel disque? Combien de fichiers de données? Combien de tablespaces? Types de données à stocker dans la base? Evolution future de la base Type d accès aux données? OLTP OLAP Quel jeu les caractères? 59 Oracle Net Listener Ecouter les différents réseaux (TCP/IP, IPC, etc) Router les communications vers l instance cible Port par défaut 1521 pour TCP, 5500 pour TCPS 60 30
Configuration d un processus d écoute avec NETCA Lancement de NETCA 61 Configuration d un processus d écoute avec NETCA 62 31
Configuration d un processus d écoute avec NETCA 63 Configuration d un processus d écoute avec NETCA 64 32
Configuration d un processus d écoute avec NETCA 65 Configuration d un processus d écoute avec NETCA 66 33
Configuration d un processus d écoute avec NETCA 67 Configuration d un processus d écoute avec NETCA 68 34
Configuration d un processus d écoute avec NETCA 69 Configuration d un processus d écoute avec NETCA 70 35
Création de base de données avec DBCA 71 Création de base de données avec DBCA 72 36
Création de base de données avec DBCA 73 Création de base de données avec DBCA 74 37
Création de base de données avec DBCA 75 Création de base de données avec DBCA 76 38
Création de base de données avec DBCA 77 Création de base de données avec DBCA 78 39
Vérification de l installation avec OEM 79 Vérification de l installation avec OEM 80 40
Vérification de l installation avec OEM 81 Modifier le mot de passe SYS 82 41
Modifier le mot de passe SYS 83 Modifier le mot de passe SYS 84 42
Modifier le mot de passe SYS 85 Synthèse DBCA Création de base de données Les différentes options de création 86 43
Configurer l environnement réseau Objectifs Oracle Net Listener Outils de configuration Configuration coté serveur Configuration coté client Serveur dédié / serveur partagé 88 44
Exploitation L exploitation d Oracle nécessite De connaitre l infrastructure d accès à l instance par le réseau De savoir configurer les clients comme le serveur De connaitre et d utiliser les outils de configuration réseau De savoir identifier les programmes et fichiers permettant un accès client/serveur La personne exploitant Oracle doit S assurer de la conformité de l instance sur le réseau S assurer de la disponibilité de l instance sur le réseau Savoir démarrer et arrêter les services d accès via le réseau 89 Oracle Net Listener Le listenerou processus d écoute est un processus (hors instance) permettant de servir une connexion à une instance de base de données via un protocole réseau (TCP/IP, IPC, etc.) Sa configuration se situe Par défaut dans le répertoire $ORACLE_HOME\network\admin Dans le répertoire pointé par la variable d environnement TNS_ADMIN Le port d écoute TCP par défaut est 1521 90 45
Oracle Net Listener 91 Oracle Net Listener Fichiers de configuration listener.ora tnsnames.ora sqlnet.ora 92 46
Outils de configuration réseau Outils de configuration Oracle Net Manager (netmgr) Oracle Net Configuration Assistant (netca) 93 Netca Création d un listener avec netca 94 47
Netca Création d un listener avec netca 95 Netca Choix de l opération de configuration 96 48
Netca Configuration du nom du listener 97 Netca Choix des protocoles réseau 98 49
Netca Choix du port d écoute pour TCP/IP 99 Netca Valeur de la clé pour IPC 100 50
Netca Choix du numéro de port pour TCP/IP SSL 101 Netca Configurer un autre listener? 102 51
Netca Fin de la configuration 103 Configuration avec Netmgr Interface d accueil 104 52
Netmgr Ajouter un listener 105 Netmgr Ajouter une adresse 106 53
Netmgr Ajouter une adresse 107 Netmgr Sauvegarder les modifications 108 54
Editer les fichiers de configuration Editer directement le fichier listener.ora 109 Editer les fichiers de configuration Ajouter un listener 110 55
lsnrctl Gestion du listener 111 lsnrctl Gestion du listener 112 56
TNSPING Equivalent du ping Vérifie la connectivité à un processus d écoute 113 TNSPING 114 57
Synthèse Rôle du listener Les fichiers de configuration du listener Configuration Netmgr, netca TNSPING 115 Gestion de l instance : Contrôle de la BD 58
Objectifs DBconsole Sqlplus Paramètres d initialisation Démarrer une instance Arrêter une instance Fichiers d alertes Fichiers de traces Vues dynamiques Vues statiques 117 Exploitation Outils utilisés pour l exploitation d Oracle Oracle Database Control Oracle SQLDeveloper SQL*PLUS L exploitation d Oracle c est aussi Le paramétrage de l instance de base de données Le démarrage et l arrêt d une instance Le contrôle de l état de l instance Ses fichiers de log L interrogation du dictionnaire de données 118 59
Démarrer DBConsole Aller au niveau des Services de Windows Démarrer le service OracleDBConsoleSID 119 Page d accueil DBConsole 120 60
Connexion SQLPlus Nomenclature 121 Fichiers Paramètres d initialisation Paramètres Configuration de la base Optimisation des performances Trois types de paramètres Paramètres dérivés (Derived Parameters) Paramètres dépendants du système d exploitation (OSdependent parameters) Paramètres variables (Variable parameters) 122 61
Fichiers Paramètres d initialisation PFILE Fichier texte (paramètre=valeur) Modifiable via un éditeur de texte standard Nom par défaut: init$oracle_sid.ora SPFILE Fichier Binaire Modifiable avec la DBConsole ou la commande ALTER SYSTEM Nom par défaut: spfile$oracle_sid.ora Emplacement Sous Unix il est disponible dans $ORACLE_HOME/dbs Sous Windows, il est disponible dans $ORACLE_HOME/database Remarque : Toute modification du SPFILE dans un éditeur entraîne sa corruption 123 Localisation des fichiers de paramètres 124 62
Fichiers Paramètres d initialisation Paramètres Dynamiques Modification par un ordre SQL 125 Démarrer une instance 126 63
Démarrer une instance NOMOUNT 127 Démarrer une instance MOUNT 128 64
Démarrer une instance OPEN 129 Arrêter une instance 130 65
Arrêter une instance SQL*Plus 131 Arrêter l instance avec DBConsole 132 66
Fichiers d alertes Le fichier d alertes contient les informations suivantes Création de la base Démarrage / Arrêt Actions administratives Ajout de fichiers de données Suppression de tablespace Switch des journaux (redo log) Erreur interne (ORA-600) Block corrompu (ORA-01578) Erreur Deadlock(ORA-00060) 133 Fichiers d alertes A partir d Oracle 11g, le fichier d alertes est disponible sous deux formats Un format texte Un format XML Il se localise dans l arborescence ADR Automatic Diagnostic Repository Le fichier XML peut-être lu Avec Enterprise Manager Avec l utilitaire «adrci» 134 67
Localisation des fichiers d alertes 135 Dictionnaire de données Meta Données (Meta Data) Tables Vues Dynamiques V$_XXX Statiques USER_XXX ALL_XXX DBA_XXX Appartient à SYS Le dictionnaire est en lecture seule même pour le DBA 136 68
Les vues dynamiques Liste non exhaustive v$parameter v$instance v$datafile v$log v$sga v$session v$tablespace v$archived_log v$backup v$recover_file Liste exhaustive 137 Synthèse Utilisation de SQL*Plus Présentation DBcontrol Paramètres d initialisation Démarrage/Arrêt d une instance Fichiers d alertes Dictionnaire de données 138 69
Gestion des structures de stockage Objectifs Gestion des fichiers de contrôle Gestion des journaux de transactions en ligne Structure de stockage Gestion des fichiers de données Les tablespaces 140 70
Exploitation L exploitation d Oracle nécessite de : Connaître les structures physiques de stockage Connaître les structures logiques de stockage Prévoir les accroissements de la taille de la base de données La personne exploitant la base Oracle doit : Identifier et interpréter les erreurs relatives au stockage Anticiper les problèmes relatifs au stockage Adapter les espaces de stockage de la base à son environnement S assurer de la bonne organisation des données 141 Rappel : structures de stockage physique 142 71
Rappel : structures de stockage physique 143 Fichiers de contrôle Contient Nom de la base et son identifiant interne (DBID) Date création de la base Noms des tablespaces et leurs fichiers de données Nombre de groupes de redologs Localisation des membres des groupes de redologs Historique des archivelogs Informations sur les checkpoint Informations sur l état de la base Informations sur les sauvegardes RMAN Numéro de séquence des logs Multiplexage vivement conseillé Le fichier de contrôle est nécessaire au démarrage de la base 144 72
Localisation des fichiers de contrôle Dans le dictionnaire de données 145 Localisation des fichiers de contrôle Dans le fichier de paramètres de la base de données 146 73
Fichiers de contrôle : Multiplexage Arrêt de l instance Copie physique d un fichier de contrôle Démarrage de l instance en mode NOMOUNT Modification du paramètre control_files dans le SPFILE Redémarrage de l instance 147 Gestion par la DBConsole 148 74
Gestion par la DBConsole 149 Informations sur les fichiers de contrôle Vues du dictionnaire de données V$CONTROLFILE V$CONTROLFILE_RECORD_SECTION SHOW PARAMETER CONTROL_FILES 150 75
Fichiers de journalisation Enregistre toutes les transactions sur la base de données Utilités Restauration en cas de défaillance d'un disque dur Récupération automatique de la base de données LGWR Ecrit dans un seul groupe à la fois Quand le groupe est plein: switch Stockage sur disques rapides (notamment en écriture) Multiplexage des membres d un même groupe vivement conseillé 151 Fonctionnement 152 76
Infos sur les fichiers de journalisation 153 Log Files : Ajout/Suppression Ajout d un membre à un groupe 154 77
Ajout d un groupe de deux membres 155 Suppression de membre d un groupe 156 78
Suppression d un groupe de redo log 157 Forcer le changement de groupe Forcer le LGWR à écrire dans le groupe suivant se réalise avec la commande SQL 158 79
Gestion par la DBconsole 159 Gestion avec DBConsole 160 80
Informations Vues du dictionnaire de données V$LOG V$LOGFILE V$LOG_HISTORY Le contrôle de l état des groupes de journaux se fait avec la requête SQL suivante 161 Tablespaces/Fichiers de données Tablespaces Espace logique de stockage Appartient à une seule base Contient un ou plusieurs fichiers de données Fichier de données Espace physique Appartient à un seul tablespace Lu par le processus serveur Ecrit par le(s) processus DBWn 162 81
Tablespaces Trois types de tablespaces Permanent Temporaire Undo Tablespaces par défaut SYSTEM SYSAUX TEMP UNDOTBS1 USERS 163 Tablespaces: Ajout/Suppression Création d une tablespace disposant d un fichier de données de 100Mo 164 82
Ajout d un fichier de données à un tablespace 165 Suppression d un tablespace 166 83
Suppression d un tablespaceainsi que ses fichiers de données 167 Suppression d un DF d un tablespace 168 84
Gestion des TS par la DBConsole 169 Informations Vues du dictionnaire de données relatives à la gestion des fichiers de données et aux tablespaces(hors temporaires) DBA_DATA_FILES V$DATAFILE V$DATAFILE_HEADER DBA_TABLESPACES V$TABLESPACE 170 85
Tablespaces SYSAUX / SYSTEM Créés automatiquement lors de la création de la base Nécessaires au bon fonctionnement de la base Ils doivent être online Le tablespace SYSTEM contient le dictionnaire de données segment d annulation SYSTEM Le tablespace SYSAUX contient informations nécessaires aux composants et outils supplémentaires 171 Tablespace Temporaire Stocke les données temporaires de la base Débordement de cache PGA Tris Hash Création d index etc Tables globalement temporaires Données de calculs de statistiques Le tablespace temporaire par défaut se nomme TEMP 172 86
Tablespace Temporaire : Ajout 173 Tablespace Temporaire : Suppression 174 87
Tablespace Temporaire TS par défaut 175 Informations Vues du dictionnaire relatives aux tablespacestemporaires et à leurs fichiers DBA_TEMP_FILES V$TEMPFILE V$TEMP_EXTENT_MAP V$TEMP_SPACE_HEADER 176 88
Synthèse Structure de stockage Oracle Physique Logique Gestion des fichiers de contrôle Gestion des fichiers de journalisation Les tablespaces Permanent Temporaire Les fichiers de données 177 Sécurité : Gestion des utilisateurs 89
Objectifs Créer et gérer des comptes d'utilisateurs Connexion à la base Créer et gérer des rôles Accorder et révoquer des privilèges Gérer les profils 179 Exploitation La personne exploitant la base Oracle gère Les utilisateurs, les rôles Les politiques de sécurité Les méthodes d authentification Les privilèges systèmes et objets accordés 180 90
Méthode d authentification Identification par Oracle Identification par l OS 181 Comptes SYS et SYSTEM Rôle DBA SYS Dictionnaire de données SYSTEM Utilisé pour les tâches administratives 182 91
Compte utilisateur Un utilisateur un schéma Caractéristiques d un compte utilisateur un tablespace par défaut un temporary tablespace par défaut des quotas d utilisation sur les tablespaces des privilèges et rôles un mot de passe un profil 183 Création d un compte utilisateur Sélectionner un profil Choisir un mode d authentification Attribuer un tablespace par défaut et un tablespace temporaire Attribuer des rôles et des privilèges à l utilisateur Définir les quotas pour chaque tablespace 184 92
Création d un utilisateur SQL Création CREATE USER user_name IDENTIFIED BY mot_de_passe; Suppression DROP USER user_name CASCADE; Modification ALTER USER user_name DBConsole Onglet Serveur Option Sécurité 185 Création d un utilisateur 186 93
Création d un utilisateur 187 Création d un utilisateur 188 94
Rechercher un utilisateur 189 Rechercher un utilisateur 190 95
Infos sur un utilisateur 191 Infos sur un utilisateur 192 96
Informations du dictionnaire DBA_USERS DBA_TS_QUOTAS 193 SQL Déverrouiller un compte utilisateur DBConsole 194 97
Privilèges Privilèges objets Permet l accès et la manipulation d objets select, update, delete, insert, execute Privilèges système Permet d effectuer des opérations d administration sur la base CREATE USER,CREATE ROLE, CREATE TABLESPACE, RESTRICTED SESSION, SYSDBA, ALTER DATABASE, ALTER SYSTEM, 195 Gestion des privilèges objets 196 98
Ajouter des privilèges objets 197 Gestion des Privilèges Système 198 99
Gestion des Privilèges Système 199 Gestion des Privilèges Système 200 100
Rôles Groupe de privilèges Objet Système Un rôle peut contenir un autre rôle Intérêts Gestion simplifiée des privilèges Gestion dynamique des privilèges 201 Rôles 202 101
Rôles prédéfinis 203 Rôles sécurisés Rôle par défaut Activer l authentification pour un rôle 204 102
Gestion des Rôles 205 Créer un rôle 206 103
Créer un rôle 207 Profil Permet Contrôle la consommation de ressources Gestion des règles de mots de passe 208 104
Création de profile 209 Création de profile 210 105
Création de profile 211 Attribution d un profil DBconsole SQL Création d un utilisateur Modification d un utilisateur 212 106