Notion de base de données



Documents pareils
COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

3. La SGA ou System global Area

Administration des bases de données relationnelles Part I

CHAPITRE 1 ARCHITECTURE

Oracle Maximum Availability Architecture

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

Administration de Base de Données Notes de cours

Version Description Date

Chapitre III Architecture de Base de Données Oracle

Introduction aux SGBDR

Administration des Bases de Données Oracle

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

//////////////////////////////////////////////////////////////////// Administration bases de données

Administration d'une base de données

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Oracle : Administration

Cours Bases de données 2ème année IUT

Module n 2 CREER UNE BASE DE DONNEES 1Z0-001

Oracle 11g. Exploitation. Document Tellora Page 1/205. Auteur : Clotilde Attouche. Société TELLORA. Version 1.2. Du 6 Mai 2010

Oracle Database 11g: Administration Workshop I Release 2

INSIA SIGL Bases de données ARCHITECTURE ORACLE

Création d'une nouvelle base de données

Plan Général. Administration Oracle 10G Partie I. Plan Général. Plan Général

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

et Groupe Eyrolles, 2006, ISBN :

Département Informatique de l Institut Universitaire de Technologie de l Université Bordeaux 1 Bases de Données Oracle : administration (cours)

MEMORY MANAGEMENT Automated SQL exec Allocation dynamique des mémoires xxx_area_size

Développement d une base de données relationnelle. Exploitation des statistiques de pêche au thon tropical

Du 10 Fév. au 14 Mars 2014

BUFFER CACHE SHARED POOL LRU

Bases de Données Avancées

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Gestion des utilisateurs et de leurs droits

Oracle 10g Administration +

PostgreSQL. Formations. Catalogue Calendrier... 8

et Groupe Eyrolles, 2006, ISBN :

ADMINISTRATION D'UNE BASE DE DONNEES

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Systèmesdegestionde. basesdedonnées

Entraînement à l épreuve de QCM 40 mn


1. Qu'est qu'un tablespace?

Parallel Execution. IS-Net 29 DATA WEBHOUSE. Informatique de gestion et systèmes d information

Groupe Eyrolles, 2006, ISBN :

Mise en oeuvre TSM 6.1

Bases de données et sites WEB Licence d informatique LI345

Nœud Suisse du Projet International GBIF (Global Biodiversity Information Facility)

CATALOGUE FORMATION 2014

Présentation du module Base de données spatio-temporelles

SQL Server Database Engine : Part1. Modes de récupération / Sauvegardes / Checkpoint

PostgreSQL. Formations. Calendrier... 14

CATALOGUE FORMATIONS DOMAINE Bases de données

TP11 - Administration/Tuning

<Insert Picture Here> Solaris pour la base de donnés Oracle

Description de SQL SERVER. historique

Administration des bases de données sous Oracle. 10g. Fabien De Marchi, Jean-Marc Petit. Université de Lyon. November 22, /96

Présentation de l'outil RMAN d'oracle

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

contact@nqicorp.com - Web :

PostgreSQL. Formations. SQL avancé Calendrier... 18

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

contact@nqicorp.com - Web :

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Bases de données avancées Introduction

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Module 25 : Correction des exercices

Clients et agents Symantec NetBackup 7

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Le Langage De Description De Données(LDD)

Eléments de base de la sécurité des bases de données

Optimisations des SGBDR. Étude de cas : MySQL

TP Contraintes - Triggers

PREPARATION AU PTI SGBD

BASE DE DONNÉES ORACLE 11G SUR LE SYSTÈME DE STOCKAGE PILLAR AXIOM. Livre blanc publié par Oracle Novembre 2007

Secteur Tertiaire Informatique Filière étude - développement. Accueil. Apprentissage. Période en entreprise. Evaluation.

Oracle 11g - Dataguard

Structure fonctionnelle d un SGBD

Implémentation des SGBD

CAHIER DES CHARGES D IMPLANTATION

Bases de données cours 1

Application web de gestion de comptes en banques

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Guide de déploiement

ORACLE DIAGNOSTIC PACK 11G

420-PK6-SL Banques de données Avancées. UTILISATEURS (suite)

Compte-rendu de projet de Système de gestion de base de données

STATISTICA Version 12 : Instructions d'installation

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Cours Bases de données 2ème année IUT

Check-list de maintenance du système Instructions impératives pour l'utilisateur du système Dernière mise à jour 09 juin 2011

Cours Bases de données

Transcription:

Notion de base de données Collection de données opérationnelles enregistrées sur un support adressable et utilisées par les systèmes et les applications Les données doivent être structurées indépendamment d'une application particulière Elles doivent être cohérentes (contraintes), non redondantes (formes normales) et accessibles simultanément par plusieurs utilisateurs

Le SGBD Ensemble d'outils logiciels permettant la création et l'utilisation des bases de données Fournit un langage de description des données et un langage de manipulation des données Contrôle à tout instant l'intégrité des données Gère les accès concurrents, la confidentialité et la sécurité des données La description de la base est elle même gérée comme une base et s'appelle le dictionnaire

Quelques définitions Serveur Oracle = Instance Oracle + Base de données Oracle Instance Oracle = Processus + mémoire SGA Base de données Oracle = Fichiers de données + fichiers de contrôle + fichiers de journalisation

Principaux composants INSTANCE PROCESSUS SERVEUR MEMOIRE SGA PROCESSUS DONNEES CONTRÔLE JOURNEAUX S E R V E U R O R A C L E PGA BASE DE DONNEES

Base de données DONNEES CONTRÔLE JOURNEAUX BASE DE DONNEES La structure physique d'une base de données Oracle comprend 3 types de fichier : Fichier de données Fichier de contrôle Fichier de journalisation (redo-log)

Les autres fichiers D'autres fichiers sont destinés au fonctionnement interne de la base ou à son paramétrage. Les fichiers redo-log archivés Le fichier d'initialisation Les fichiers d'initialisation d'oracle Net Le fichier d'alerte Le fichier trace des utilisateurs Les logiciels Oracle

Les fichiers de données Les fichiers de données contiennent deux types d'informations : Celles du dictionnaire de données et de travail Celles des utilisateurs Ces fichiers sont dans un format spécifique à Oracle. Le bloc Oracle est défini à la création de la base

Le fichier de contrôle Petit fichier binaire nécessaire au démarrage et au fonctionnement de la base Il indique si la base à été correctement fermée Le fichier d'initialisation situe le fichier de contrôle. Celui-ci précise la localisation de tous les autres fichiers (données et journalisation). Sauf pour les déplacements ou les sauvegardes de la base l'administrateur n'a pas a s'en préoccuper.

Les fichiers redo-log Ce sont des fichiers de journalisation. Ils sont utiles lors de restauration suite à un problème. C'est le processus LGWR qui est chargé d'écrire dans ces fichiers les données avant et après modification. Lorsque le fichier redo-log courant est saturé Oracle poursuit sur le suivant etc..

Le fichier d'initialisation Contient les paramètres d'initialisation utilisés à chaque démarrage. Il s'agit soit d'un fichier initsid.ora, soit d'un fichier spfilesid.ora. Détermine de nombreux paramètres. show parameters select name, value from V$PARAMETER

show parameters instance_name BDEssai db_name BDEssai control_files D:\oracle\oradata\BDEssai\control01.ctl, D:\oracle\oradata\BDEssai\control02.ctl, D:\oracle\oradata\BDEssai\control03.ctl db_block_size 8192 db_file_multiblock_read_count 16 db_cache_size 25165824 db_block_buffers 0 shared_pool_size 50331648 large_pool_size 8388608 sga_max_size 135338868 log_buffer 524288 log_checkpoint_interval 0 undo_management AUTO undo_tablespace UNDOTBS1 processes 150 audit_trail NONE max_dump_file_size UNLIMITED log_archive_start FALSE

Les logiciels Oracle Il s'agit de la «distribution» Oracle. Ces fichiers sont organisés selon les règles OFA (Optimal Flexible Architecture). Ces fichiers sont placés dans des répertoires dont la racine est pointée par la variable d'environnement $ORACLE_HOME.

Structure mémoire La structure mémoire d'oracle est constituée des deux zones de mémoires suivantes : La mémoire SGA (System ou Shared Global Area est allouée pour une instance La mémoire PGA (Program ou Process Global Area au démarrage d'un processus serveur

La mémoire SGA La SGA représente la zone mémoire d'une instance Oracle. Elle comprend les structures suivantes : Le buffer cache Les buffers redo-log La shared pool (mémoire partagée) La Java pool Une zone de communication inter-processus Des espaces partagés si le Multi-Thread est activé

show SGA SQL> show sga Total System Global Area 135338868 bytes (135 Mo) Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes Les paramètres de la SGA sga_max_size big integer 135338868 db_cache_size big integer 25165824 db_block_size integer 8192 log_buffer integer 524288 shared_pool_size big integer 50331648 large_pool_size big integer 8388608 java_pool_size big integer 33554432

Le buffer cache Il s'agit du cache des blocs de données en provenance de la base (SELECT) ou destinés à y être écrits (UPDATE, INSERT, DELETE). La taille de ce cache est fixée par le paramètre DB_CACHE_SIZE, et doit être un multiple de la taille d'un bloc donné par DB_BLOCK_SIZE. Le cache est géré comme une liste de blocs ordonnées selon leurs dernières utilisations (liste MRU/LRU).

Cache hit, cache miss

Structure du bloc

L'overhead L'entête : - adresse du bloc - type de segment auquel le bloc appartient Répertoire des tables : Informations sur les tables ayant des lignes dans le bloc (Cf cluster) Table des déplacements des lignes contenues dans le bloc (2 octets par entrée) La croissance de l'overhead s'effectue vers le bas

Données et espace libre Les lignes de données sont insérées du bas vers le haut L'espace libre est utilisé pour l'insertion de nouvelles lignes et pour la mise à jour des lignes existantes Cet espace peut parfois contenir des informations sur les transactions Le fonctionnement de l'espace libre est géré par les valeurs des paramètres INITRANS, MAXTRANS, PCTFREE et PCTUSED

Paramètres d'utilisation du bloc INITRANS : Nombre minimum d'espaces de transactions dans un bloc (1) MAXTRANS : Nombre maximum d'espaces de transactions (255) PCTFREE : Pourcentage réservé à l'augmentation de la taille des données suite aux mises à jour des lignes présentes (10%) PCTUSED : Pourcentage d'espace de données à atteindre avant d'autoriser des insertions (40%)

Fonctionnement de PCTFREE et PCTUSED 1 Des lignes sont ajoutées tant qu'il reste au moins PCTFREE d'espace libre 2 Si PCTFREE est atteint il n'y a plus d'insertion possibles. Seules les mises à jour des lignes existantes sont autorisées

Fonctionnement de PCTFREE et PCTUSED 3 De l'espace se libère, mais les insertions de lignes ne sont toujours pas possibles 4 Si PCTUSED est atteint les insertions sont à nouveau possibles

Le buffer redo-log Le buffer redo-log est un buffer circulaire qui conserve les changements fait sur la base Sa principale fonction est la récupération des données Chaque entrée (redo entries) contient les informations necessaires pour reconstruire (redo) la base Le paramètre LOG_BUFFER dimensionne cette zone mémoire.

Le buffer redo-log Oracle copie les informations de l'espace utilisateur vers le buffer redo-log Le processus LGRW écrit les information du buffer redo-log vers les fichiers redo-log. LGWR Mémoire utilisateur Archive redo-log

Shared pool (mémoire partagée) Library cache Shared SQL area Shared pool Dictionary cache Private SQL area PL/SQL procedures & packages Control structures Control structures Reusable runtime memory

Shared pool (mémoire partagée) La shared pool est utilisée pour les données necéssaires au fonctionnement de la base. Par exemple : Le dictionaire de données, les curseurs, le multi-threads. Sa taille est fixée par le paramètre SHARED_POOL_SIZE

Shared SQL area Oracle sait reconnaître 2 instructions SQL identique Auquel cas la shared SQL area est utilisée Contient l'arborescence d'analyse et le plan d'exécution de la requête partagée Cette zone mémoire est allouée lorsque la requête est analysée

Private SQL area Chaque utilisateur qui lance une reqête SQL possède une zone privée Les zones privées peuvent être associés à la zone partagée Chaque zone privée est constitué : D'une zone persistante D'une zone d'exécution Si la session est connecté via un serveur dédié la private SQL area est localisé dans la PGA

La zone PGA La zone PGA (Program Global Area) est la zone allouée à chaque processus utilisateur. Elle stocke des informations concernant les variables utilisées, la session utilisateur, l'état des transactions en cours, le tri des données. La taille de la PGA est determinée par un ensemble de paramètres.

Les processus Oracle 9i Les processus assurent le fonctionnement d'une instance Oracle 5 processus indispensables : DBWR (Database Writer) LGWR (Log Writer) CKPT (Checkpoint) PMON (Process Monitor) SMON (System Monitor) Ces processus sont interdépendants.

Le processus DBWR Travaille en priorité avec les buffers de données en mémoire. Vérifie qu'il y a toujours des buffers libres en mémoire. Transfert les blocs de données de la mémoire vers les fichiers de la base de données. Le comportement de DBWR est contrôlé par le paramètre DB_WRITERS

Les processus LGWR et CKPT Le processus LGWR assure la sécurité. Il a pour mission d'écrire toutes les informations utiles dans les fichiers redo-log. Le processus CKPT signale les checkpoints au processus DBWR

Le System Monitor Le processus SMON surveille la base de données lors de son démarrage et au cours de son fonctionnement. SMON rétabli la base si le dernier arrêt n'a pas été corectement effectué. SMON est chargé de faire de la place si DBWR a besoin d'espace pour effectuer un tri. SMON vérifie l'espace libre dans les fichiers de la base de données.

Le Processus Monitor PMON nettoie les transactions défaillantes.