Administration Des Bases De Données Sous Oracle - CNRS

Transcription

Administration des bases de données sous OracleAdministration des bases de données sous OracleFabien De MarchiUniversité de Lyon1/1

Administration des bases de données sous OracleSur le coursPrérequis et objectifsPrérequisModèle relationnel (structure, contraintes, SQL)ObjectifsConnaı̂tre les tâches d’un DBAConnaı̂tre les concepts et points clés de l’architecture OracleSavoir effectuer les principales tâches sous Oracle2/1

Administration des bases de données sous OracleSur le coursPour en savoir plus.Documentation Oracle : www.oracle.comEn anglais, 2000 pages sur l’administration : très complet.3/1

Administration des bases de données sous OracleIntroductionLes métiers autour des bases de données4/1

Administration des bases de données sous OracleIntroductionLes métiers autour des bases de donnéesLes métiers autour des bases de donnéesAdministrateurResponsable de la sécuritéAdministrateur réseauxDéveloppeurs d’applicationAdministrateurs d’applicationUtilisateurs : modifier les données, créer des rapportsNoteDans des environnements de petite taille, l’administrateur peutjouer quasiment tous les rôles4/1

Administration des bases de données sous OracleIntroductionRôles du DBARôles du DBAInstaller les logiciels Oracleun serveur, des applications clientes,En fonction de l’OS et des paramètres systèmesSi fonctionnement en réseau : composants réseaux d’OraclePlanifier et créer des bases de donnéesGérer l’espace et implanter les schémas des donnéesAssurer la sécurité, l’intégrité et la pérennité des donnéesEffectuer des réglages pour optimiser les performances5/1

Administration des bases de données sous OracleOracle : les grands conceptsArchitecture6/1

Administration des bases de données sous OracleOracle : les grands conceptsArchitectureVue d’ensembleDeux architectures possibles:client/serveur : des applications clientes envoient lesrequêtes SQL et PL/SQL à un serveur.Multitier : des serveurs d’application allègent la charge duserveur en réalisant certains accès pour les clients.Un serveur de bases de données est composé :d’une instance plusieurs processus et une zone de mémoired’une base de donnéesde plusieurs schémas, assimilés à des utilisateursDans le cas de clusters de machines, Oracle peut associerplusieurs instance à une même base de données.6/1

Administration des bases de données sous OracleOracle : les grands conceptsLa connexion client/serveurLa connexion client/serveurUn processus utilisateur est créé quand un utilisateur lanceune application clienteUne connexion va être créée avec l’instance Oracle,l’utilisateur va ouvrir une sessionUn processus serveur va analyser et exécuter les requêtes,retourner les donnéesMode dédié : une processus serveur pour un processus clientMode partagé : les clients partagent un groupe de processusserveursEvite les processus serveurs inactifs7/1

Administration des bases de données sous OracleOracle : les grands conceptsComposants d’une instanceLa mémoireLa SGA (Système Global Area)Zone partagée par tous les utilisateurs de la base de donnéesAllouée au démarrage de l’instance en mémoire principale :doit-être la plus grosse possible.Son but est d’économiser les E/S. Elle contient :le cache de données (database buffer cache) :le cache de reprise (redo log buffer) : log des changementsrécentsle cache d’exécution partagé (shared pool) pour les requêtesSQL et PL/SQl. Contient le dictionnaire de données en cache.La PGA (Program Global Area)Zone d’exécution des processus du serveurAllouée au lancement de chaque processus8/1

Administration des bases de données sous OracleOracle : les grands conceptsComposants d’une instanceLes processus de fond serveurExécutent des actions asynchrones d’écriture et de contrôleDBWn (Database Writer) - Ecrit le contenu du cache dedonnées dans les fichiers de donnéesLorsque la place manque en SGADe façon périodique, en mettant à jour le point de restaurationdans les fichiers de logon peut en créer plusieurs : DBW0, DBW1, . , DBWjLGWR (Log Writer) - Ecrit le contenu du cache de reprisedans les fichiers de logen cas de “commit” d’un utilisateurToutes les trois secondesQuand le cache de reprise est plein au tiersQuand un processus DBWn décharge des données modifiées9/1

Administration des bases de données sous OracleOracle : les grands conceptsComposants d’une instanceLes processus de fond serveur (cont.)CKPT (Chekpoint)Pour assurer la synchronisation et la cohérence des donnéesSMON (System Monitor)Effectue la restauration lors de reprise après panneNettoie les segments temporairesFusionne certains extents libres contigüePMON (Process Monitor)Pour gérer les pannes des processus clientsRECO (Recover)Pour les reprises après panne de transactions distribuéesARCn (Archiver)Pour l’archivage, lorsqu’il est activé.10/1

Administration des bases de données sous OracleOracle : les grands conceptsComposants d’une base de donnéesStructure physiqueDes fichiers sur le disqueun fichier de contrôle qui spécifie le nom et l’emplacementdes fichiers, le nom de la base,.plusieurs fichiers de données pour stocker les donnéesau moins deux fichiers de reprise après panne qui contiennentles modifications récentesdes fichiers d’archivage (optionnel) pour archiver les fichiersde contrôleun fichier de paramètres (optionnel) qui stocke tous lesparamètres de la basedes fichiers de trace pour répertorier toutes les tâches eterreurs effectuées11/1

Administration des bases de données sous OracleOracle : les grands conceptsComposants d’une base de donnéesStructure logiqueDes concepts pour gérer finement la mémoirele block de données est l’unité logique la plus fine, 8ko pardéfaut.l’extent est un ensemble contigüe de blocks, alloués en uneseule fois.le segment est un ensemble d’extents dédiés à un même objet(table, index, .)le tablespace : regroupe un ensemble d’objets ( segments)pour faciliter leur administration. Peut atteindre 8 exabytes !Un tablespace un ou plusieurs fichiers de données12/1

Administration des bases de données sous OracleOracle : les grands conceptsLes schémas pour OracleContenu d’une schémaCorrespond à un utilisateur : les deux portent le même nomEnsemble d’objets de l’utilisateur manipulables en SQLExemple : tables, index, clusters, triggers, vues, dimensions,fonctions, .Un objet correspond à :plusieurs extentsun segmentun tablespaceun ou plusieurs fichiers du tablespacePas de correspondance schema/tablespace13/1

Administration des bases de données sous OracleOracle : les grands conceptsLes schémas pour OracleStockage des tablesPour des tables de moins de 256 attributssi possible : un tuple est entièrement dans un blocksinon : chaı̂nage inter-blocs (augmente les E/S)pour tes tuples de plus de 256 attributs (compris)chaque partie de 255 tuples est chaı̂née intra-bloc (si possible!)Les tuples sont chaı̂nés en utilisant le ROWIDA la création d’une table, on peut :spécifier le tablespacespécifier la taille du segmentspécifier la quantite d’espace libre laissée dans chaque bloc14/1

Administration des bases de données sous OracleOracle : les grands conceptsIdentification du DBA sous OracleLes privilèges SYSDBA et SYSOPERPermettent d’effectuer les opérations au-dessus de la basede données, en se connectant à l’instanceDémarrer et arrêter le serveurCréer ou supprimer des bases de donnéesChanger les modes d’archivage de la base.Leur identification est gérée soit :Par le SE,l’utilisateur doit appartenir au groupe dba ou oper (ora dba etora oper sous WINDOWS)connect / as sysdba ; connect / as sysoper.Par le fichier password d’Oracle.Créer un fichier password avec l’outil ORAPWDaccorder le privilège à partir de l’utilisateur SYSconnect user/user as sysdba;15/1

Administration des bases de données sous OracleOracle : les grands conceptsIdentification du DBA sous OracleLe rôle DBAAccès au catalogue, gestion des utilisateurs, de la mémoire.Dès la création de la base, deux utilisateurs sont créés avec lerôle “DBA“SYS/CHANGE ON INSTALLPossède toutes les tables systèmes, dont le dictionnaireNe jamais rien écrire sur ce compte !SYSTEM/MANAGERPour créer des tables d’administration uniquementIl est fortement conseillé de spécifier d’autres mots de passedans la phase de création.Ne pas utiliser dans l’administration quotidienne16/1

Administration des bases de données sous OracleOracle : les grands conceptsLe dictionnaire de donnéesInformations du dictionnaireEnsemble de tables appartenant à l’utilisateur SYSprincipales informationsLa définition de tous les objets et leur espace allouéLes valeurs par défaut des attributsLes contraintes d’intégritéLa liste des utilisateurs, leurs privilègesDes informations d’audit sur les accès et modifications.17/1

Administration des bases de données sous OracleOracle : les grands conceptsLe dictionnaire de donnéesStructure du dictionnaireDes tables de base, uniquement accédées par Oracle et SYSDes vues mises à la disposition des utilisateurs (selon leursdroits)Vues utilisateurs : USER View. Pour les objets de l’utilisateurqui demandeVues d’ensemble : ALL Views. Pour une vue d’ensemble surles objets auxquels on a accèsVues d’administration : DBA Views. Sur l’ensemble de labase, uniquement SYS.Vues dynamiques sur l’activité de la base : V Views.18/1

Administration des bases de données sous OracleOracle : les grands conceptsSynthèseEnchaı̂nement type (1)Une instance Oracle est démarrée sur le serveurUne application cliente établit une connexion et ouvre unesessionLe serveur détecte la requête de connexion et crée unprocessus serveur dédiéL’utilisateur lance une requête SQL et un commitLe processus serveur recherche dans la ”shared pool“ si larequête existeOUI : elle sera utilisée pour répondreNON : la nouvelle requête est insérée dans la shared pool,analysée et executée19/1

Administration des bases de données sous OracleOracle : les grands conceptsSynthèseEnchaı̂nement type (2)Le processus serveur récupère les donnéesDans le cache de donnéesdans les fichiers de données (et les charge dans le cache)Le processus serveur modifie éventuellement les données dansle cachePuisqu’il y a validation, LGWR ecrit la transaction dans lefichier de repriseLes changements seront répertoriés dans les fichiers de donnéespar DBWnLe résultat, ou une confirmation, est envoyé au processusutilisateur20/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de données21/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de donnéesPréliminairesDeux possibilitésUtiliser l’assistant Oracle : graphiqueCréer manuellement à l’aide de scriptsEn cas de mise à jour d’Oracle, une procédure particulièreexisteCompatibilité ascendante, on ne recrée pas les bases dedonnées.Prérequis :Oracle doit-être installéVous devez être administrateur du SE et de l’instance OracleLa mémoire principale et mémoire disque doit être suffisante21/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de donnéesPlanifier la basePhase de reflexion avant création, pour faire les bons choix.Réfléchir aux tables et indexes à venir, estimer leur taillePlanifier la distribution de ses fichiers, l’espace libre dans lesblocksDécider entre une gestion classique ou automatique desfichiersChoisir l’encodage des caractères (peut-être surchargé par lesclients)Déterminer la taille des blocs de donnéesChoisir le mode de gestion de l’annulationTablespace dédiéSegments d’annulationDéterminer la stratégie de sauvegarder et reprise après panne22/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de donnéesEtapes de création (1/2)Spécifier le nom de l’instance SIDCréer le fichier de paramètres PFILE (partir de l’exempleOracle)Nom de la base, emplacement des fichiers de contrôleSe connecter à l’instance inactiveSQLPLUS /nolog puis CONNECT / AS SYSDBACréer un fichier de paramètre serveur SPFILE (à partir dufichier manuel)Lancer l’instance : STARTUP NOMOUNT (Aucunevérification de cohérence à ce niveau)Créer la base de données : CREATE DATABASE.23/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de donnéesCREATE DATABASE mynewdbUSER SYS IDENTIFIED BY pz6r58USER SYSTEM IDENTIFIED BY y1tz5pLOGFILE GROUP 1 (’/u01/oracle/oradata/mynewdb/redo01.log’) SIZE 100M,GROUP 2 (’/u01/oracle/oradata/mynewdb/redo02.log’) SIZE 100M,GROUP 3 (’/u01/oracle/oradata/mynewdb/redo03.log’) SIZE 100MMAXLOGFILES 5MAXLOGMEMBERS 5MAXLOGHISTORY 1MAXDATAFILES 100MAXINSTANCES 1CHARACTER SET US7ASCIINATIONAL CHARACTER SET AL16UTF16DATAFILE ’/u01/oracle/oradata/mynewdb/system01.dbf’ SIZE 325M REUSEEXTENT MANAGEMENT LOCALSYSAUX DATAFILE ’/u01/oracle/oradata/mynewdb/sysaux01.dbf’ SIZE 325M REUSEDEFAULT TABLESPACE tbs 1DEFAULT TEMPORARY TABLESPACE tempts1TEMPFILE ’/u01/oracle/oradata/mynewdb/temp01.dbf’SIZE 20M REUSEUNDO TABLESPACE undotbsDATAFILE E 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;24/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de donnéesEtapes de création (2/2)Créer de nouveaux tablespace, par exemple :Un USERS pour les utilisateursun INDX pour les indexLancer les scripts de création du dictionnaire (catalog.sql,catproc.sql) et éventuellement d’autres scripts optionnelsCréer une sauvegarde complète de l’installation dans cet état24/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de donnéesAlternative : fichiers gérés par OracleOracle peut prendre en charge les fichiersSpécifié dans les paramètres d’initialisationSimplifie les commandesL’administrateur ne gère que la partie logique : tablespace,extents.25/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de donnéesCREATE DATABASE rbdb1USER SYS IDENTIFIED BY pz6r58USER SYSTEM IDENTIFIED BY y1tz5pUNDO TABLESPACE undotbsDEFAULT TEMPORARY TABLESPACE tempts1;26/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de donnéesPrécisions sur les paramètres de l’instance (pfile)le nom de la base ne comporte que 8 caractèrescréer au moins deux fichiers de contrôlesSur des disques différents si possibleLaisser Oracle choisir la taille des blocsOn peut contrôler la SGAEn lui fixant une taille maximaleen fixant la taille de différents composantsOn peut changer plus tard, de façon dynamiqueOn peut fixer le nombre de processus autorisésNombres de processus utilisateurs 10On doit choisir un mode de gestion des annulationsComment on gère les données d’annulation ? (Avant Commit)Automatique : gérées dans un tablespaceManuel : gérées dans les segments d’annulation26/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de donnéesRemarques complémentairesSi la création échoue, visualier le fichier d’alertesArrêter l’instanceSupprimer les fichiers créés pendant la tentativePour supprimer une base :Drop databaseLa base doit être montée et ferméeConserve les fichiers d’archivage et les copiesPour modifier des paramètresLes commandes ALTER SYSTEM pour les paramètresd’instance (modifie le SPFILE, pas le PFILE !)Les commande ALTER DATABASE pour revenir sur les choixdu CREATE DATABASEPour voir les informations sur la baseShow parameters, vues ’database properties’ et V DATABASE27/1

Administration des bases de données sous OracleTâches élémentaires d’administrationCréer une base de donnéesConfiguration du réseauCôté serveurUn processus d’écoute utilisant un protocole réseau :listenerSIDUn serveur BD Oracle instance baseLes configurations ( services d’écoute) sont enregistrées danslistener.oraEditable à la main, ou via outils graphiquesCôté clientConfigurations (services d’accès) enregistrées dans tnsname.oraPermet au client de se connecter de façon transparente28/1

Administration des bases de données sous OracleTâches élémentaires d’administrationDémarrer et arrêter une baseDémarrer une base de donnéesOracle Enterprise Manager (OEM)SQL*PlusSQLplus /nolog : lancer SQL*plusconnect / as sysdbaCommande STARTUP pour démarrer l’instanceUtilise le SPFILE ou le PFILE à préciserNOMOUNT : base fermée et non montéeMOUNT : base fermée et montéeFORCE : ouvre de force, en tuant une éventuelle instancedémarréeCommande ALTER DATABASE si l’instance est déjà ouverteMOUNT pour monter la baseOPEN pour ouvrir la baseOPEN READ ONLY ouverte en lecture seuleALTER SYSTEM ENABLE RESTRICTED SESSION : seulsles DBA peuvent ouvrir des sessions29/1

Administration des bases de données sous OracleTâches élémentaires d’administrationDémarrer et arrêter une baseFermer une base de donnéesCommande SHUTDOWNGarde la main jusqu’à l’arrêt completPlus personne ne peut se connecterPlusieurs modes d’arrêt :NORMAL : attend la déconnexion de tous les utilisateursIMMEDIATE : annule toutes les transactions non validées ettue les sessions en coursTRANSACTIONAL : attend la fin des transactions puis tue lessessionsABORT : tue les sessions, mais n’annule pas les transactionsnon validées30/1ABORT est à utiliser en dernier recoursABORT nécessite une restauration de la base pour retrouversa cohérenceOn peut suspendre une base de données : ALTER SYSTEMSUSPEND/RESUME

Administration des bases de données sous OracleTâches élémentaires d’administrationGestion des processusMode dédié et mode partagéLe mode dédié est par défautLe mode partagé est préférable, sauf :Lorsque l’utilisateur envois des tâches en batchpour effectuer certaines tâches de restaurationPour démarrer le mode partagéSpécifier le nombre de serveurs dans le paramètre d’instanceSHARED SERVERSDans le fichier de paramètre, ou avec ALTER SYSTEMCe nombre peut-être augmenté par Oracle en fonction de lacharge31/1

Administration des bases de données sous OracleTâches élémentaires d’administrationGestion des processusTerminer des sessionsOn peut tuer une session avec la commande ALTER SYSTEMKILL SESSION ’SI,SN’SI est l’identifiant systèmeSN est le numéro de sérierécupérer ces identifiants dans la vu V SESSIONLes transactions en cours sont annulées32/1

Administration des bases de données sous OracleTâches élémentaires d’administrationGestion des processusSurveiller l’activité de la base (1)Doit être constamment fait en tâche de fond du DBAPour repérer des erreurs éventuellesPour devenir familier du comportement normal.Alertes du serveurà partir de seuils : trop de validations, trop d’accès disque,temps de réponse trop long.à partir d’évènements : une vue est trop ancienne, .Paramétrables via OEM ou package PL/SQL :DBMS SERVER ALERTSAccessibles dans des vues du dictionnaire33/1

Administration des bases de données sous OracleTâches élémentaires d’administrationGestion des processusSurveiller l’activité de la base (2)Chaque processus serveur est associé à un fichier trace.le fichier d’alerte recueil en particuliererreurs internes, corruption de blocs, blocagestoutes les commandes d’administrationles erreurs relatives aux processus serveurs partagésles erreurs durant le rafraı̂chissement des vuesles valeurs des paramètres d’initialisation spécifiés parl’utilisateurIl est possible de maı̂triser :l’emplacement des fichiers traceleur taillele traçage des processus serveurs, pour collecter des statistiques34/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreFichiers de contrôle35/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreFichiers de contrôleQu’est ce que c’est ?Fichier binaire qui décrit la structure physique de la baseLe nom de la baseLes fichiers de données et de repriseLa date de création de la baseLa position courrante dans les logsDes informations sur les point de synchronisation (checkpoint)Nécessaire pour monter la baseFortement recommandé en cas de restaurationGénéré lors de la création de la baseAvec au moins une réplicationOn peut faire d’autres réplications plus tard35/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreFichiers de contrôleGrandes lignesOn peut en spécifier lors de la création (nom par défaut sinon)Ils doivent être répliqués (multiplexage) sur des disquesséparésLorsque l’instance est arrêtée, créer la copie du fichierDéclarer le nouveau fichier dans le fichier de paramètresMême procédure pour le renommageIls doivent être sauvegardés. Deux options :ALTER DATABASE BACKUP CONTROLEFILE TO filenameALTER DATABASE BACKUP CONTROLFILE TO TRACEgénère un script CREATE CONTROL FILE. dans le fichiertrace36/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreFichiers de contrôleCréation de nouveaux fichiers de contrôleToutes les réplications sont endommagées, pas de sauvegardeOn modifie un paramètre de création qui affecte la tailleMAXLOGFILES, MAXLOGMEMBERS,MAXLOGHISTORY,MAXDATAFILES, MAXINSTANCESle nom de la baseProcédure :répertorier tous les fichiers données et reprisearrêter l’instance, sauvegarder les fichiers, redémarrer enNOMOUNTCREATE CONTROL FILE (cf doc SQL), puis sauvegarde dunouveau fichierSpécifier les nouveaux fichiers de contrôle dans le fichier deparamètresRestaurer éventuellement la base, si des fichiers ont été perdusOuvrir la baseVisualiser le fichier d’alertes pour vérifier les erreurs37/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreFichiers de contrôleSuprression et visualisationPour supprimer, il suffit de supprimer dans le fichier deparamètreAttention : toujours garder 2 fichiers de contrôle !Informations sur les fichiers de contrôle :V DATABASE : ce que contient le fichier de contrôleV CONTROLFILE : nom des fichiers de contrôleV PARAMETER : voir les paramètres d’initialization38/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreFichiers de repriseQu’est-ce que c’est ?Fichiers ”journaux“ qui stockent tous les changements, pourla reprise après panneOrganisation physique et logique :Un groupe est un ensemble de fichiers multiplexés(membres)Il faut au moins deux groupes avec un fichier chacunUn fichier doit être vu comme un ensemble d’enregistrementsUn enregistrement est un ensemble de vecteurs dechangementUn vecteur est créé pour chaque bloc de données modifiéStocke aussi les informations d’annulation39/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreFichiers de repriseFonctionnementAccedés uniquement par le processus LGWR (Log Writer)De façon circulaire : groupe après groupeDéclenchement : validation, ou cache de reprise rempliAssigne un identifiant unique à l’enregistrement crééSi pas de validation : possibilité d’annulationEn fin de boucle, les premiers fichiers sont écrasés (attentesynchronisation)Possibilité d’archiver les fichiers de reprise pleinsSi problème d’écriture sur tout un groupe : l’instance s’arrête.Erreur reportée dans le fichier d’alerteIl faut corriger et redémarrer40/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreFichiers de repriseGénéralités et conseilsSi possible, un disque par fichier de repriseArchivage sur un autre disqueFichiers de données sur un autre disquePour choisir la taille des fichiers, penser à l’archivageCommencer par deux groupes, puis vérifier le fichier de traceSi trop de blocages, augmenter le nombre de groupesOn peut créer ou supprimer des groupes ou des membres,renommer des membressans dépasser MAXLOGFILES et MAXLOGMEMBERSprivilège ALTER DATABASE, en général base démmontée.Vues V LOG, V LOGFILE41/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreFichiers de donnéesQu’est-ce que c’est ?Fichiers physiques où sont stockées toutes les structureslogiquesUn fichier de données est associé à un tablespacePossède un numéro unique dans la base (absolu)possède un numéro unique dans le tablespace (relatif)Au moins deux : tablespaces SYSTEM et SYSAUXLe nombre max est fixé par le paramètre DB FILESCertaines limites sont imposées par le SELes fichiers temporaires sont des fichiers de données un peuspéciaux42/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreFichiers de donnéesManipulations des fichiers de donnéesCréation les tablespace ou avec la baseCREATE/ALTER TABLESPACECREATE/ALTER DATABASEOn peut modifier leur taille à la voléeAutomatiquement (ici par pas de 512k) : AUTOEXTEND ONNEXT 512kManuellement : ALTER DATAFILE . RESIZE .Peuvent être mis ONLINE ou OFFLINEpeuvent être renommés ou déplacésRenommer physiquement, puis logiquement avec ALTERTABLESPACE . RENAME DATAFILE . TOManuellement : ALTER DATAFILE . RESIZE .Informations : DBA DATA FILES, V DATAFILES43/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreTablespacesGrandes lignesEspace de stockage logique des objetsUn tablespace plusieurs fichiers de donnéesUn seul dans le cas des tablespace à gros fichier (bigfile)Il est nécessaire d’utiliser plusieurs tablespaceSéparer les données des utilisteurs du dictionnaireSéparer les données d’applications différentes, pour alléger lesaccès et réduire les risques de panne des applisTablespaces optimisés pour certaines tâches : lecture seule oumises à jour fréquentes, espace temporaireSauvegarde individuelle des tablespaceStocker un tablespace par disque, pour réduire lesconcurrences E/SPour chaque utilisateur il faut assigner un quota44/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreTablespacesDifférents types de tablespacesTablespaces à gestion locale des extents (par défaut !)Gère la mémoire locallement avec des bitmapsAméliore les performancesAllège les accès au dictionnairePermet le choix automatique de l’unité d’extentionAutorise la gestion automatique de l’espace dans les segmentspeut s’appliquer à tous les tablespacesTablespaces gérer par le dictionnairesGestion plus préciseNécessite une fusion périodique des extents libresBigfile tablespaces (jusqu’à 128 tera)Lorsqu’on a besoin de plus de capacité (64 000 fichiers dedonnées au maximum)Simplifie la gestion du tablespace (un seul fichier)Uniquement pour les tablespace à gestion locale et gestionautomatique de l’espace45/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreTablespacesDifférents types de tablespaces (cont.)Tablespaces temporaires : pour la gestion des trisUne instance un tablespace –¿ un segment de triAffectés à chaque utilisateursForcément à gestion locale depuis 10gne génère pas d’écriture dans les fichiers de reprisePossibilié de créer des groupes, pour des tris parallèlesTablespace d’annulation, pour les opérations non validées46/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreTablespacesLe tablespace d’annulationStocke les opérations non validées. Utilisées dans lesannulations, et les restaurationsJusqu’à la version 8 : Rollback SegmentsMaintenant : tablespace dédié à l’annulation et géréautomatiquementFortement recommandé, mais pas par défaut (paramètres duPFILE)Les opérations validées sont écrasées, mais possibilité de lesconserver47/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreTablespacesMaintenance des tablespacesLes opérations suivantes sont réalisables sur un tablespace :demander la non-génération de log: NO LOGGINGExemple : CREATE TABLE NOLOGGINGmarquer indisponible : OFFLINEImpossible pour SYSTEM, d’annulation ou temporairePlacer en mode lecture seuleRenommerSupprimer (pas de restauration possible !)Les transporter sur une autre base de données ou plateforme48/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreLes modes de gestion automatiqueGestion automatique des fichiersDécharge le DBA de la gestion des fichiers physiquesS’applique aux tablespace, fichiers de reprise, de contrôle,d’archivage, .Autorisé par des paramètres du PFILE : spécifient lesrépertoiresDes noms standards sont donnés aux fichiers49/1

Administration des bases de données sous Oraclegestion des fichiers, tablespaces et espace libreLes modes de gestion automatiqueGestion automatique du stockageNiveau de décharge supplémentaire pour le DBAOptimise automatiquement les E/S.Protège les données : gère la réplication des fichiers, leurrépartition sur les disquesPrincipe :Le DBA définit des disques, ou groupes de disques : partagéspar plusieurs basesCes groupes peuvent être créés ou modifiés après la créationde la baseLes fichiers ne sont pas visibles à partir du SE !Trois niveaux de redondance : normal, élevé ou externePossibilité de définir des patrons de fichiers dans les groupesNotion de ”failure groups“ : des disques qui courent un mêmerique, et ne peuvent donc se servir mutuellement de miroirsGéré par une

Administration des bases de donn ees sous Oracle Sur le cours Pr erequis et objectifs Pr erequis Mod ele relationnel (structure, contraintes, SQL)