Performances? Critères de performances (2) Critères de performances



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

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

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

CHAPITRE 1 ARCHITECTURE

Présentation du projet

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

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

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

Tungsten: une implémentation du futur clustering de PostgreSQL

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

Oracle Maximum Availability Architecture

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

PostgreSQL. Formations. Catalogue Calendrier... 8

Bacula R - The Network Backup Solution

Clients et agents Symantec NetBackup 7

Oracle Database 11g: Administration Workshop I Release 2

Du 10 Fév. au 14 Mars 2014

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

La replication dans PostgreSQL

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

Base de données MySQL

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

Architecture de la plateforme SBC

Hébergement de base de données MySQL. Description du service (D après OGC - ITIL v3 - Service Design- Appendix F : Sample SLA and OLA)

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

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

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

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

Cours Bases de données

PostgreSQL, le cœur d un système critique

Procédure d installation :

«clustering» et «load balancing» avec Zope et ZEO

Cours de Base de Données Cours n.12

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

CATALOGUE FORMATION 2014

PostgreSQL. Formations. Calendrier... 14

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

ClariLog - Asset View Suite

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

Administration PostgreSQL

Dix bonnes raisons de choisir ExpressCluster en environnement virtualisé

Haute disponibilité avec PostgreSQL

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

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

ORACLE 10g Découvrez les nouveautés. Jeudi 17 Mars Séminaire DELL/INTEL/ORACLE

Data Governance et. Optim / FileNet. La synergie entre le structuré et le non structuré IBM Corporation

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Bacula. It comes by night and sucks the vital essence from your computers. Guillaume Arcas

Petit guide pour l installation de CVW sous Linux

Configuration de plusieurs serveurs en Load Balancing

Les journées SQL Server 2013

Bases de données et sites WEB

Symantec Backup Exec 11d

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

VMWare Infrastructure 3

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

Implémentation des SGBD

NEXTDB Implémentation d un SGBD Open Source

Disponibilité 24-7/365

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

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT

Chapitre 1 Windows Server

Outils de développement collaboratif

La Continuité d Activité

Introduction aux SGBDR

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

SQL Express face à la concurrence

Symantec Backup Exec 2012

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Zimbra Collaboration 8.X

VMotion ne peut fonctionner qu avec une architecture de stockage centralisé de type SAN FC, iscsi ou NAS.

Notes de cours : bases de données distribuées et repliquées

Sauvegardes sous Mac OS X

Les 10 pratiques pour adopter une démarche DevOps efficace

ITIL V3. Transition des services : Principes et politiques

CAHIER DES CHARGES D IMPLANTATION

contact@nqicorp.com - Web :

Java et les bases de données

FORMATION PostgreSQL Réplication / Haute Disponibilité

Lettre d annonce ZP d IBM Europe, Moyen-Orient et Afrique,, datée du 20 octobre 2009

Technologie de déduplication de Barracuda Backup. Livre blanc

Installation d ORACLE 10g sous Debian Etch

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

WEA Un Gérant d'objets Persistants pour des environnements distribués

Online Backup. & Recovery Service

Maintenir Debian GNU/Linux à jour

Manuel du logiciel PrestaTest.

SOMMAIRE Thématique : Systèmes d'information et d'exploitation

PARAGON SYSTEM BACKUP 2010

SQL Server 2012 et SQL Server 2014

Description de SQL SERVER. historique

La virtualisation de serveurs avec VMWare Infrastructure - Retour d expérience. Rodérick Petetin CRI INSA Rennes

Guide de l administrateur CorpoBack

Transcription:

68 Performances? 69 Motivations Sécurité/intégrité Sauvegarde/restauration Performances Gestion du changement Mise en œuvre De quelles performances parle-t-on? Quels sont les éléments actifs et quels sont leurs rôles respectifs? Quelles sont les mesures de performance significatives sur ces éléments? Quelles sont les optimisations possibles? Comment les mettre en œuvre? Critères de performances Notion de performance: capacité à répondre dans les délais prévus aux besoins prévus dans le contexte prévu Donc, la question essentielle est: «Qu est-ce qui est prévu?» 70 Critères de performances (2) Questions:! combien d utilisateurs sont prévus?! comment les utilisateurs vont-ils interagir?! quelle est la vitesse du réseau?! quelle est la quantité de données seront accédées par les utilisateurs?! quelle proportion en lecture seule?! quel est le temps de réponse exigé par les utilisateurs?! le système doit-il être 24/24?! les changements doivent-ils être pris en compte en temps réel? 71

Où agir? 72 Système sous-jacent 73 Côté infrastructure sous-jacente! système d exploitation! ressources matérielles Côté instance de la base! réglage des paramètres mémoire et buffers! élimination des blocages! surveillance des E/S sur les données Côté applicatif! conception de la base de données! codage de l application (source de 80% des pbs de performance) Au niveau de l installation! utilisation appropriée des paramètres d installation Au niveau de la mémoire! utilisation optimale de la mémoire! interfaces des disques (SCSI, IDE, )! adaptation des caches Au niveau du réseau! charge! débit Système sous-jacent (2) Au niveau des entrées/sorties! placement des données (données adjacentes, répartition)! réplication (mirroring) des données les plus accédées Au niveau du CPU! surveillance de la charge! calcul des priorités des processus 74 SGBD/Instance de la base Au niveau SGBD: réglage des paramètres mémoire et buffers! caches! logs! mémoire allouée aux tris! mémoire allouée aux rollback! Au niveau de l instance! utiliser les informations fournies par les statistiques! concurrence 75

Application 76 Performances 77 Au niveau conception de la base! normalisation/dénormalisation! vues! index Au niveau codage! optimisation des programmes SQL pour réduire le temps de réponse et/ou les ressources nécessaires! moyens! réduire la charge! organiser la charge! paralléliser la charge Optimisation (tuning) à plusieurs niveaux! installation! utilisation appropriée des paramètres d installation! mémoire! utilisation optimale de la mémoire! adaptation des caches! calcul des priorités de processus! entrées/sorties! placement des données (données adjacentes, répartition - striping)! réplication (mirroring) des données les plus accédées! CPU! surveillance de la charge! code! optimisation des programmes SQL Concurrence 78 Concurrence (2) 79 Problèmes liés à la concurrence Dans un environnement multi-utilisateurs! accès simultanés aux données! interférences! pertes de données possibles Solution: contrôle de la concurrence! pas d interférence entre les opérations! l intégrité des données est vérifiée Exemple: perte de mise à jour Pierre 1. lit le solde du compte (solde = 1000!) 2. retire 200! (solde = 800!) 3. écrit le solde (solde = 800!) temps Stéphanie 1. lit le solde du compte (solde = 1000!) 2. retire 300! (solde = 700!) 3. écrit le solde (solde = 700!) Erreur!

Concurrence (3) 80 Concurrence (4) 81 Techniques de contrôle de la concurrence Sérialisabilité! terminer une transaction avant d en commencer une autre Mécanismes de verrouillage! la façon la plus commune de réaliser la sérialisabilité! les données qui sont censées être modifiées sont verrouillées pour l utilisateur qui va les mettre à jour! aucun autre utilisateur ne peut effectuer de mise à jour tant que le verrou existe Pierre 1. demande à lire le solde du compte 2. verrouille le solde du compte 3. lit le solde du compte (solde = 1000!) 4. retire 200! (solde = 800!) 5. écrit le solde (solde = 800!) 6. déverrouille le solde du compte temps Stéphanie 1. demande à lire le solde du compte (refusé) 2. verrouille le solde du compte 3. lit le solde du compte (solde = 800!) 4. retire 300! (solde = 500!) 5. écrit le solde (solde = 500!) 6. déverrouille le solde du compte Verrouillage Mécanismes de verrouillage Niveau de verrouillage! base - pendant les mises à jour de la base! table - pour les mises à jour en rafale! bloc ou page - le plus utilisé! enregistrement - seulement les lignes demandées! champ - nécessite beaucoup de travail annexe, peu pratique Type de verrou! partagé - lecture, mais pas de mise à jour possible. Utilisé pour lire et pour éviter que d autres posent un verrou exclusif! exclusif - pas d accès permis. Utilisé pour préparer une mise à jour 82 Verrouillage (2) Deadlock: impasse quand deux ou plusieurs transactions ont verrouillé une ressource commune, et chacun attend que l autre libère le verrou Pierre 1. verrou sur X 2. demande de Y attente de Y temps Stéphanie 1. verrou sur Y 2. demande de X attente de X 83

Verrouillage (3) 84 Verrouillage (4) 85 Gestion des interblocages (deadlocks) Prévention! opérer toutes les opérations de verrouillage avant la première opération de déverrouillage! protocole 2-phase locking (verrouillage à 2 phases)! phase d expansion: tous les verrous sont apposés! phase de rétrécissement: les verrous sont libérés et aucun nouveau verrou ne peut être apposé Versionnement! approche optimiste du contrôle de la concurrence! remplace le verrouillage! hypothèse: les mises à jour concurrentes sont peu fréquentes! une transaction peut tenter une mise à jour n importe quand! le système rejette la mise à jour s il pressent un conflit! utilisation de rollback et commit Résolution! autoriser l apparition d interblocages! mécanisme pour les détecter et les casser! matrice d utilisation des ressources Verrouillage (5) 86 87 Motivations Pierre 1. lit le solde du compte (solde = 1000!) 2. retire 200! (solde = 800!) temps Stéphanie 1. lit le solde du compte (solde = 1000!) 2. tentative de retrait de 300! Sécurité/intégrité Sauvegarde/restauration Performances Gestion du changement Mise en œuvre 3. commit 3. rollback 4. ré-exécuter la transaction

87 Gestion du changement 88 Motivations Sécurité/intégrité Sauvegarde/restauration Performances Gestion du changement Mise en œuvre En entreprise, le changement peut être:! déménagement physique! modification organisationnelle et/ou des procédés! modification de l infrastructure réseau! évolution des applications avec des données existantes! modification des types et structures de données avec des données existantes Modification des applications! changement des spécifications! évolution des performances/nécessité d optimisation! augmentation du volume de données! prise en compte de nouvelles technologies Gestion du changement (2) Anticipation: le plus tôt est le moins coûteux Analyse: réfléchir à l ensemble des aspects mis en jeu Planification: maximiser l efficacité Information: mettre au courant les utilisateurs Analyse d impact: analyser les liens entre les éléments Automatisation: réduire les risques d erreurs humaines Continuité de service: minimiser le temps nécessaire à la procédure de changement Livraison rapide et efficace: le contraire est dramatique! 89 Gestion du changement (3) Le DBA devient maître d œuvre Il est rarement à l origine des modifications! il connaît la rigidité des SGBD! il connaît la complexité de l infrastructure! il connaît la complexité du processus de changement Mais c est à lui que revient la charge de rendre le changement le plus transparent possible! 90

Types de changements: upgrade du SGBD 91 Types de changements: autour du SGBD 92 Avantages! nouvelles fonctionnalités dont les développeurs ont besoin! ajustement des pré-requis de systèmes propriétaires! meilleures performances et stabilité! support du constructeur! remise au même niveau des systèmes de développement et production Inconvénients! interruption de l application! disparition de fonctionnalités! coût! réécriture du code! support moins performant au début Modification du matériel Modification/cohérence de l analyse/conception! MCD/MCT! MLD/MLT Modification de l application Modification des technologies Types de changements: modification de la base Ce qu ALTER ne peut pas faire Base! changer son nom! déplacer un objet d une base à l autre Structure physique! changer le nombre de partitions ou de fichiers de données Tables! modifier l ordre des attributs! effacer un attribut, en changer le type, la taille! ajouter un attribut entre deux autres 93 Types de changements: modification de la base Vues! ajouter ou effacer une colonne, changer le SELECT Index! unicité, clustering, ordre Modifier un trigger Exemple: ajout d un attribut entre deux autres? 94

Types de changements: modification de la base 95 En cas de problème 96! retrouver la définition de la table! retrouver la définition de toute vue qui la référence! retrouver la définition de tout index qui la référence! retrouver la définition de tout trigger sur la table! examiner toutes les contraintes sur la table et mesurer l impact de l effacement de la table! retrouver tous les grants sur la table! retrouver tous les programmes qui la référence! sauvegarder les données de la table! effacer la table (cela inclut index, triggers, vues)! recréer la table avec la nouvelle colonne! recharger les données! recréer les contraintes, les triggers, les index, les vues, les grant! examiner les requêtes applicatives qui référencent la table Dysfonctionnement d un média physique! disque qui rend l âme! CPU qui rend l âme Erreur de manipulation! utilisateur qui effectue une opération «malheureuse» Corruption de l état de l instance! suite à un arrêt brutal Erreur de paramétrage Problème réseau En cas de problème (2) Le mieux: avoir une solution préventive! Matériel! sauvegarde, cluster Manipulation! sauvegarde, instances de développement Corruption! sauvegarde, gestion de l instance par le DBA Paramétrage! actions ponctuelles Réseau! surveillance du réseau 97 Conclusion Gestion de la qualité des données Lien avec tous les utilisateurs 5 qualités! sécurité et récupération! contrôle des utilisateurs! contrôle des accès! maintenance (logicielle & matérielle)! protection des données 98

Évolution 99 Évolution (2) 100 Moins centré sur les aspects traditionnels! backups! optimisation! mise en place des patches! gestion de l espace de stockage Les SGBDs offrent maintenant des outils permettant une maintenance automatique Plus orienté vers! gérer les applications! fournir une disponibilité maximale! gérer la virtualisation! extraire une plus-value des informations Les nouvelles missions! compliance: audit, respect des règles de sécurité,! respect des bonnes pratiques : ITIL (Information Technology Infrastructure Library)! help desk, gestion des incidents, gestion des problèmes, gestion des changements, gestion des mises en production, gestion des configurations! compétences pour les applications ERP (Enterprise Resource Planning): Oracle, PeopleSoft, SAP, JD Edwards,! gestion des données (modélisation, archivage, mining, consolidation, )! matériel et stockage: fermes de disques, SANs, virtualisation, grille,! disponibilité: clusters, Évolution (3) Mais toujours:! communication: orale et écrite! comment expliquer simplement des choses pas si simples! résoudre les problèmes! analyser, corriger, prévenir! gérer le stress! 24x7, utilisateurs, clients! gérer le temps! multitâches, priorités, planifier! gérer le niveau au-dessus! apprendre et connaître le domaine des affaires! communiquer avec des termes compréhensibles! avoir des données pour conforter vos analyses/propositions 101 Évolution (4) Différence entre gestionnaires et techniciens! "Technology is ruled by two types of people: those who manage what they do not understand, and those who understand what they do not manage." -- Mike Trout (IBM)! se mettre au niveau! exemples! en augmentant la taille des buffers, j ai réussi à diminuer le nombre de lectures disque de 15%, et à diminuer les temps de lecture de 10%! j ai amélioré et optimisé le processus de récupération en cas de panne! nous devons mettre à jour la base de données, car le support de la version actuelle ne sera bientôt plus garanti 102

Évolution (4) 102 Évolution (4) 102 Différence entre gestionnaires et techniciens! "Technology is ruled by two types of people: those who manage what they do not understand, and those who understand what they do not manage." -- Mike Trout (IBM)! se mettre au niveau! exemples! grâce en augmentant à mes efforts la taille d optimisation, des buffers, j ai réussi à augmenter diminuer le les nombre de performances, lectures disque et de donc 15%, à et offrir à diminuer environ les 25% temps de confort de lecture supplémentaire de 10% aux! j ai amélioré utilisateurs, et ce optimisé qui pourrait le processus nous faire de récupération gagner au minimum en cas de 5000! panne! nous devons mettre à jour la base de données, car le support de la version actuelle ne sera bientôt plus garanti Différence entre gestionnaires et techniciens! "Technology is ruled by two types of people: those who manage what they do not understand, and those who understand what they do not manage." -- Mike Trout (IBM)! se mettre au niveau! exemples! en augmentant la taille des buffers, j ai réussi à diminuer le nombre de lectures disque de 15%, et à diminuer les temps de lecture de 10%! j ai amélioré et optimisé le processus de récupération en cas de panne! nous devons mettre à jour la base de données, car le support de la version actuelle ne sera bientôt plus garanti Évolution (4) Différence entre gestionnaires et techniciens! "Technology is ruled by two types of people: those who manage what they do not understand, and those who understand what they do not manage." -- Mike Trout (IBM)! se mettre au niveau! exemples! en augmentant la taille des buffers, j ai réussi à diminuer le nombre de lectures disque de 15%, et à diminuer les temps de lecture de 10%! grâce j ai amélioré à mes efforts et optimisé sur le le processus de de récupération en en cas de de panne, panne j ai! nous réussi devons à abaisser mettre le à temps jour la nécessaire base de données, de 6 à 2 car heures, le support ce qui de permet la de version gagner actuelle 4 heures, ne sera et environ bientôt 10000! plus garanti 102 Évolution (4) Différence entre gestionnaires et techniciens! "Technology is ruled by two types of people: those who manage what they do not understand, and those who understand what they do not manage." -- Mike Trout (IBM)! se mettre au niveau! exemples! en augmentant la taille des buffers, j ai réussi à diminuer le nombre de lectures disque de 15%, et à diminuer les temps de lecture de 10%! j ai amélioré et optimisé le processus de récupération en cas de panne! nous devons mettre à jour la base de données, car le support de la version actuelle ne sera bientôt plus garanti 102

Évolution (4) 102 Plan 103 Différence entre gestionnaires et techniciens! "Technology is ruled by two types of people: those who manage what they do not understand, and those who understand what they do not manage." -- Mike Trout (IBM)! se mettre au niveau! exemples! en augmentant la taille des buffers, j ai réussi à diminuer le nombre de lectures disque de 15%, et à diminuer les temps de lecture de 10%! j ai amélioré et optimisé le processus de récupération en cas de panne! sans nous support, devons mettre nous prenons à jour la le base risque de de données, voir notre car service le support ne plus de la être disponible version actuelle pendant ne sera un certain bientôt nombre plus garanti d heures en cas de découverte d un bug. Cela pourrait donc nuire non seulement à nos revenus, mais également à notre réputation Motivations Sécurité/intégrité Sauvegarde/restauration Performances Gestion du changement Mise en œuvre Plan Motivations Sécurité/intégrité Sauvegarde/restauration Performances Gestion du changement Mise en œuvre 103 Quel SGBD? Open source 5.0 8.3 2.1! MaxDB 7.7! Ingres 2006 Open source " gratuit: bien analyser les licences Bien analyser les besoins et les fonctionnalités 104

Analyse 105 Analyse (2) 106 Quelques critères! licence! plates-formes! compatibilité SQL standard! vitesse! stabilité! compatibilité ACID! intégrité! sécurité! authentification! vues! Licence! GPL si vous fournissez tout le source de votre application! Commerciale sinon! BSD licence (pas besoin d inclure le source)! IDPL & IPL (Interbase Public Licence) Commentaire! attention à la licence! Analyse (3) Plate-formes! Linux, MacOS, Windows, FreeBSD, OpenBSD,! Linux, MacOS, Windows, FreeBSD, OpenBSD,! Linux, FreeBSD, MacOs, Windows 107 Analyse (4) Conformité SQL! moyenne! très bonne! bonne 108 Commentaires! toutes les plateformes les plus courantes sont supportées Commentaires : sous-ensembles de SQL 92 et SQL 99 : sous-ensemble de SQL 2003

Analyse (5) 109 Analyse (6) 110 Vitesse! moyenne/bonne! bonne/moyenne! moyenne/bonne Stabilité! bonne! bonne! bonne Commentaires utilise un serveur avec des threads, PostgreSQL utilise les processus supérieur pour SELECT simple, moins pour UPDATE largement optimisable Commentaire! toujours prendre une version stable! Analyse (7) Sécurité! bonne! bonne!? 111 Analyse (8) Stockage! plusieurs possibilités: MyISAM, BerkeleyBD, MERGE, InnoDB! une seule possibilité! EVT 112 Commentaire : seul InnoDB est transaction-safe : un seul modèle, plus cohérent

Analyse (9) 113 Analyse (10) 114 Intégrité des données! ACID classique! MVCC: Multi Version Concurrency Control! ACID Procédures stockées! oui, supérieure à 5.0! oui! oui Commentaire : row-level : row-level, MVCC Commentaire : langage pl/pgsql, plus pl/perl, pl/tcl, pl/python Analyse (11) Langage! non! oui! non 115 Analyse (12) Triggers! oui, rudimentaire, version supérieure à 5.0! oui! oui 116 Commentaire pgsql est équivalent à PL/SQL (Oracle) Commentaire! pas de contraintes pour MySQL

Analyse (13) 117 Analyse (14) 118 Index! oui, full-text par tierce partie! oui, full-text en modifiant le source! oui Backups! InnoDB seulement pour la cohérence! réplication! Write Ahead Logging! Recovery après un problème disque (Point-in-Time Recovery)! oui, backup incrémental Commentaire! réplication single-master ou multi-slave pour MySQL et PostgreSQL Analyse (15) Interface! JDBC, ODBC, C++, Python, Perl, PHP, ADO.Net! ODBC, JDBC, C++, Python, Perl, PHP, Tcl/Tk! ODBC, JDBC, PHP, Perl, Python, ADO.Net 119 Choix de PostgreSQL version 8 120 Commentaire possède en plus son propre langage

Mise en œuvre 121 Mise en œuvre (2) 122 Télécharger! http://www.postgresql.org/ftp/source/v8.3.4/ Construire l application Compiler! outils! gmake, gcc, gzip, tar! packages! GNU Readline library! OpenSSL! Tcl/Tk./configure gmake su gmake install adduser postgres mkdir /usr/local/pgsql/data chown postgres /usr/local/pgsql/data su - postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start /usr/local/pgsql/bin/createdb test /usr/local/pgsql/bin/psql test! JDK (JDBC)! espace disque! 200 Mo nécessaires pour installation! l espace évolue en fonction des données Mise en œuvre (3) Options dans configure! --with-perl, --with-python, --with-tcl: interfaces! --with-krb5: kerberos 5 authentification! --with-openssl=directory: connexions SSL! --enable-debug: symboles de debug! --enable-cassert: assertions (dégrade les performances) 123 Environnement L utilisateur PostgreSQL! le serveur est démarré à partir d un compte utilisateur spécial! généralement, postgres! ajouté grâce à adduser Ne pas utiliser le compte ROOT! 124

Espace disque 125 Espace disque (2) 126 Créer un cluster! première chose, initialisation d un espace sur le disque! notion de cluster! collection de bases de données! gérées par une seule instance du serveur! après initialisation, le cluster contient une base template! le cluster est créé sous /usr/local/pgsql/data grâce à initdb! initdb -D /usr/local/pgsql/data à partir du compte postgres Créer un cluster (suite)! options! -W: nécessite un mot de passe administrateur pour créer le cluster! -A md5, -A password: le mode d authentification trust n est pas utilisé! -D directory: répertoire des données! -E encoding: caractères! -U username: nom de l administrateur! -d: debug Démarrer Démarrer le serveur! utilisation de pg_ctl! pg_ctl start! pg_ctl stop! pg_ctl restart! pg_ctl status! pg_ctl reload! pg_ctl kill! options! -D directory: répertoire des données! -l logfile: fichier de log! -m mode: mode de l arrêt: smart, fast, immediate (smart est conseillé!)! -w/-w: attend ou n attend pas que le lancement soit fini pour redonner la main! -o options: options de postmaster 127 Démarrer (2) Démarrage (suite)! le serveur doit savoir où trouver les données! pg_ctl -D /usr/local/pgsql/data -l logfile start [galibier@test ~]$ pg_ctl -D /usr/local/pgsql/data start postmaster successfully started DEBUG: database system was shut down at 2008-09-19 08:06:34 PDT DEBUG: CheckPoint record at (0, 1000524052) DEBUG: Redo record at (0, 1000524052); Undo record at (0, 0); Shutdown TRUE DEBUG: NextTransactionId: 815832; NextOid: 3628113 DEBUG: database system is in production state 128

Arrêter Ne jamais faire de kill -KILL (ou kill -9)! perte de données ou données corrompues Arrêter avec pg_ctl! smart: attend que tous les clients aient fermé leur connexions! fast: le serveur s arrête, sans vérifier les clients! immediate: contourne la procédure d arrêt, recovery au redémarrage [galibier@test ~]$ pg_ctl -D /usr/local/pgsql/data stop -m fast Fast Shutdown request at Fri Sep 19 09:23:39 2008 DEBUG: shutting down waiting for postmaster to shut down... DEBUG: database system is shut down done postmaster successfully shut down 129 Redémarrage & statut Option restart de pg_ctl! équivalent à stop et start Option status! pas d impact sur les données! nécessite -D chemin Option reload! relit les fichiers de configuration: pg_hba.conf, postgresql.conf,! envoi d un signal SIGHUP (relecture) Option kill! pour Windows 130