decouverte mysql postgresql oracle

24
Découverte de MySQL, PostgreSQL et Oracle Par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES René Date de publication : 18 février 2014 Dernière mise à jour : 24 janvier 2015 Ce tutoriel destiné aux débutants explique aux administrateurs de bases de données les différents aspects à cerner lors de l'administration d'une base de données inconnue. Ce document est aussi utile aux administrateurs qui ne connaissent qu'un des logiciels présentés, afin de connaître les commandes équivalentes. Les commentaires et les suggestions d'amélioration sont les bienvenus, alors, après votre lecture, n'hésitez pas. Commentez

Upload: hacene-lamraoui

Post on 19-Dec-2015

42 views

Category:

Documents


4 download

DESCRIPTION

Decouverte MySQL PostgreSQL Oracle

TRANSCRIPT

  • Dcouverte de MySQL, PostgreSQL et Oracle

    Par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    Date de publication : 18 fvrier 2014

    Dernire mise jour : 24 janvier 2015

    Ce tutoriel destin aux dbutants explique aux administrateurs de bases de donnesles diffrents aspects cerner lors de l'administration d'une base de donnes inconnue.Ce document est aussi utile aux administrateurs qui ne connaissent qu'un des logicielsprsents, afin de connatre les commandes quivalentes.

    Les commentaires et les suggestions d'amlioration sont les bienvenus, alors, aprs votrelecture, n'hsitez pas. Commentez

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 2 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    1 - Rsum.................................................................................................................................................................. 42 - Introduction.............................................................................................................................................................43 - Conseils prliminaires............................................................................................................................................ 44 - Dtermination du systme d'exploitation............................................................................................................... 45 - Dtermination de l'environnement......................................................................................................................... 46 - Services en cours de fonctionnement................................................................................................................... 5

    6-1 - Pour connatre la liste des processus qui fonctionnent................................................................................ 56-2 - Pour connatre la liste des dmons au dmarrage de l'ordinateur............................................................... 5

    7 - Les logiciels installs | la faon dont ils sont installs.......................................................................................... 57-1 - Pour visualiser l'tat de fonctionnement de la base de donnes..................................................................6

    7-1-1 - MySQL.................................................................................................................................................. 67-1-2 - PostgreSQL...........................................................................................................................................67-1-3 - Oracle....................................................................................................................................................6

    7-2 - Comment dmarrer/arrter/redmarrer une base de donnes..................................................................... 67-2-1 - MySQL.................................................................................................................................................. 67-2-2 - PostgreSQL...........................................................................................................................................77-2-3 - Oracle....................................................................................................................................................7

    8 - Les fichiers de configuration..................................................................................................................................78-1 - MySQL........................................................................................................................................................... 78-2 - PostgreSQL................................................................................................................................................. 108-3 - Oracle.......................................................................................................................................................... 10

    9 - Localisation physique des donnes.....................................................................................................................1110 - Interfaces de connexion la base de donnes................................................................................................ 12

    10-1 - Web............................................................................................................................................................1210-1-1 - MySQL.............................................................................................................................................. 1210-1-2 - PostgreSQL.......................................................................................................................................1210-1-3 - Oracle................................................................................................................................................12

    10-2 - Applications graphiques............................................................................................................................ 1210-2-1 - Pour tous les serveurs de base de donnes [modifier | modifier le wikicode].................................. 1210-2-2 - MySQL.............................................................................................................................................. 1210-2-3 - PostgreSQL.......................................................................................................................................1210-2-4 - Oracle................................................................................................................................................13

    10-3 - Ligne de commande..................................................................................................................................1310-3-1 - MySQL.............................................................................................................................................. 1310-3-2 - PostgreSQL.......................................................................................................................................1310-3-3 - Oracle................................................................................................................................................13

    11 - Analyse interne de la base de donnes............................................................................................................ 1311-1 - Gnralits.................................................................................................................................................13

    11-1-1 - MySQL...............................................................................................................................................1311-2 - Utilisateurs - rles - droits......................................................................................................................... 13

    11-2-1 - MySQL...............................................................................................................................................1311-2-2 - PostgreSQL....................................................................................................................................... 1411-2-3 - Oracle................................................................................................................................................ 14

    11-3 - Les bases de donnes.............................................................................................................................. 1511-3-1 - MySQL...............................................................................................................................................1511-3-2 - PostgreSQL....................................................................................................................................... 1511-3-3 - Oracle................................................................................................................................................ 15

    11-4 - Tables.........................................................................................................................................................1511-4-1 - MySQL...............................................................................................................................................1511-4-2 - PostgreSQL....................................................................................................................................... 1611-4-3 - Oracle................................................................................................................................................ 16

    11-5 - Schma des relations entre les tables...................................................................................................... 1611-5-1 - MySQL...............................................................................................................................................1611-5-2 - PostgreSQL....................................................................................................................................... 1611-5-3 - Oracle................................................................................................................................................ 16

    11-6 - Charge de la base de donnes.................................................................................................................1611-6-1 - MySQL...............................................................................................................................................1711-6-2 - PostgreSQL....................................................................................................................................... 17

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 3 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    11-6-3 - Oracle................................................................................................................................................ 1711-7 - Triggers...................................................................................................................................................... 17

    11-7-1 - MySQL...............................................................................................................................................1711-7-2 - PostgreSQL....................................................................................................................................... 1711-7-3 - Oracle................................................................................................................................................ 18

    11-8 - Procdures stockes................................................................................................................................. 1811-8-1 - MySQL...............................................................................................................................................1811-8-2 - PostgreSQL....................................................................................................................................... 1811-8-3 - Oracle................................................................................................................................................ 18

    11-9 - Logs........................................................................................................................................................... 1811-9-1 - MySQL...............................................................................................................................................1811-9-2 - PostgreSQL....................................................................................................................................... 1911-9-3 - Oracle................................................................................................................................................ 19

    12 - Suivi de scurit................................................................................................................................................ 2012-1 - Oracle........................................................................................................................................................ 20

    13 - Sauvegardes...................................................................................................................................................... 2013-1 - MySQL....................................................................................................................................................... 2013-2 - PostgreSQL............................................................................................................................................... 2113-3 - Oracle........................................................................................................................................................ 21

    14 - Restauration....................................................................................................................................................... 2214-1 - MySQL....................................................................................................................................................... 2214-2 - PostgreSQL............................................................................................................................................... 2314-3 - Oracle........................................................................................................................................................ 2314-4 - Mise jour.................................................................................................................................................2314-5 - Suivi des bogues.......................................................................................................................................23

    14-5-1 - MySQL.............................................................................................................................................. 2414-5-2 - PostgreSQL.......................................................................................................................................2414-5-3 - Oracle................................................................................................................................................24

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 4 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    1 - Rsum

    Ce document explique aux administrateurs de bases de donnes les diffrents aspects cerner lors del'administration d'une base de donnes inconnue. Ce document est aussi utile aux administrateurs qui ne connaissentqu'un des logiciels prsents, afin de connatre les commandes quivalentes.

    Sont prsents ici MySQL 5.1, PostgreSQL 8.1 et Oracle 10g installs sur une Debian Etch.

    2 - Introduction

    On prsentera ici trois systmes diffrents de gestion de base de donnes :

    MySQL 5.1, base de donnes libre trs utilise par les hbergeurs web pour ses bonnes performances etdont la version 5 comble les principaux manques (trigger, procdures stockes). MySQL a la particularitde fournir plusieurs moteurs de bases de donnes (InnoDB, MyIsam, Berkeley DB), qui ne fournissent pasles mmes fonctionnalits ni les mmes performances, afin de s'adapter au besoin. Par exemple, le moteurARCHIVE est optimis pour stocker et fournir des informations, mais il n'est pas possible de mettre jour uneligne dans une table.

    PostgreSQL 8.1 est la base de donnes qui offre le plus de fonctionnalits en logiciel libre. Oracle 10g.

    3 - Conseils prliminaires

    Voici quelques conseils qui permettent de gagner du temps lors de la dcouverte et la maintenance d'une base dedonnes :

    1 Demander s'il y a une fiche technique du serveur sur un partage de fichiers ou sur un wiki ;2 Interroger les personnes qui travaillent sur ce serveur pour savoir s'il y a des recommandations en plus par

    rapport la documentation au cas o elle ne serait pas jour ;3 Crer ou mettre jour la documentation du serveur ;4 Lire la documentation officielle de la base de donnes et regarder les commentaires :

    franais MySQL 5.0 [archive] | anglais MySQL 5.1 [archive], franais PostgreSQL 8.1.5 [archive], anglais Oracle [archive].

    4 - Dtermination du systme d'exploitation

    Unixes : cat /etc/issue

    Linux :

    Debian : on trouve ce fichier /etc/debian_version qui contient la version de Debian, Redhat : /etc/redhat_release.

    Pour la suite du document, on considre que la base de donnes fonctionne sur Debian, mais la quasi-totalit desexplications dans la suite fonctionne avec les autres distributions Linux. Il sera indiqu quand la commande estspcifique Debian.

    5 - Dtermination de l'environnement

    Pour connatre le(s) processeur(s) :

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 5 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    # cat /proc/cpuinfo

    Les partitions swap utilises :

    # cat /proc/swaps

    La quantit de RAM disponible/utilise :

    # cat /proc/meminfo

    La configuration rseau :

    # ifconfig

    6 - Services en cours de fonctionnement

    Toutes les commandes sont excuter en root.

    6-1 - Pour connatre la liste des processus qui fonctionnent

    # ps aux

    6-2 - Pour connatre la liste des dmons au dmarrage de l'ordinateur

    Regarder le nom du logiciel de dmarrage dans la liste des processus, c'est celui dont le PID vaut 1.

    Si vous obtenez init :

    Regardez le chiffre entre [] derrire init, puis tapez : # ls /etc/rc[chiffre].d/

    Par exemple si le chiffre est 2 :

    # ls /etc/rc2.d/

    de manire gnrique :

    # ls -la /etc/rc`runlevel |awk '{print $2}'`.d

    Si vous obtenez initng, il faut taper :

    # ng-update show

    pour obtenir la liste des dmons dmarrs.

    7 - Les logiciels installs | la faon dont ils sont installs

    Il est possible d'installer de deux manires diffrentes un logiciel dans une distribution Linux. Soit avec un paquetage,soit avec les sources. L'intrt du paquetage, c'est qu'il est beaucoup plus facile installer et mettre jour que lessources. Par contre, plus de personnalisations du logiciel sont possibles grce une installation partir des sources.

    Dans Debian, pour grer les paquetages, on utilise le logiciel aptitude. Il permet d'installer, dsinstaller et mettre jourl'ensemble des logiciels prsents sur le serveur. Dans le menu d'aptitude il est possible de rechercher un paquetage.

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 6 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    Si le paquetage de la base de donnes n'est pas install, alors il est install avec les sources. La plupart du temps,les logiciels installs partir des sources se situent dans /usr/local/bin.

    La faon dont est install le logiciel dtermine la procdure des mises jour.

    7-1 - Pour visualiser l'tat de fonctionnement de la base de donnes

    7-1-1 - MySQL

    # /etc/init.d/mysqld status

    Exemple de rsultat pour une base en cours de fonctionnement :

    /usr/bin/mysqladmin Ver 8.41 Distrib 5.0.18, for pc-linux-gnu on i486Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult ABThis software comes with ABSOLUTELY NO WARRANTY. This is free software,and you are welcome to modify and redistribute it under the GPL license Server version 5.0.18-Debian_7-logProtocol version 10Connection Localhost via UNIX socketUNIX socket /var/run/mysqld/mysqld.sockUptime: 4 min 47 sec

    Threads: 1 Questions: 157 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 64 Queries per second avg: 0.547

    7-1-2 - PostgreSQL

    # /etc/init.d/postgresql-8.1 status

    Exemple de rsultat pour une base en cours de fonctionnement :

    Version Cluster Port Status Owner Data directory Log file8.1 main 5432 online postgres /var/lib/postgresql/8.1/main /var/log/postgresql/postgresql-8.1-main.log

    7-1-3 - Oracle

    # /etc/init.d/oracle status

    On identifie la liste des instances Oracle en cours de fonctionnement avec la commande :

    ps -ef | grep pmon

    (Le processus PMON, Process Monitor, tant unique chaque instance, et identifiant le SID de la base concerne).

    7-2 - Comment dmarrer/arrter/redmarrer une base de donnes

    7-2-1 - MySQL

    Avec init Dans le cas d'une base de donnes classique :

    # /etc/init.d/mysql (start|stop|restart|reload|force-reload)

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 7 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    Dans le cas d'un nud de cluster :

    # /etc/init.d/mysql-ndb (start|stop|restart|reload|force-reload)

    Dans le cas d'un mdiateur de cluster :

    # /etc/init.d/mysql-ndb-mgm (start|stop|restart|reload|force-reload)

    Avec initng

    # ngc --(start|stop|restart) mysql

    7-2-2 - PostgreSQL

    Avec init

    Dans le cas d'une base de donnes :

    # /etc/init.d/postgresql-8.1 (start|stop|restart|reload|force-reload|status|autovac-start|autovac-stop|autovac-restart)

    Avec initng

    # ngc --(start|stop|restart) postgresql

    7-2-3 - Oracle

    Avec init

    Dans le cas d'une base de donnes :

    # /etc/init.d/oracle (start|stop|restart)

    Avec initng

    # ngc --(start|stop|restart) oracle

    8 - Les fichiers de configuration

    8-1 - MySQL

    Tous les fichiers se trouvent dans le dossier /etc/mysql :

    debian.cnf : fichier de configuration gnr automatiquement par Debian, contient le login de l'utilisateur systmeDebian dans MySQL ainsi que son mot de passe. Cet utilisateur permet Debian de faire la maintenance desbases de MySQL.

    Exemple :

    Automatically generated for Debian scripts. DO NOT TOUCH![client]host = localhostuser = debian-sys-maintpassword = XXXXXXXXXXXXXXXXsocket = /var/run/mysqld/mysqld.sock

    debian-log-rotate.conf : dfinit la quantit de fichiers de logs stocker.

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 8 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    Exemple :

    KEEP_BINARY_LOGS=2

    debian-start : script qui contient la liste des oprations de maintenance effectuer lors du dmarrage de MySQL.

    Exemple :

    #!/bin/bash## This script is executed by "/etc/init.d/mysql" on every (re)start.## Changes to this file will be preserved when updating the Debian package.#

    source /usr/share/mysql/debian-start.inc.sh

    MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"MYCHECK="/usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf"MYCHECK_SUBJECT="WARNING: mysqlcheck has found corrupt tables"MYCHECK_PARAMS="--all-databases --fast --silent"

    # Put commands in the background if they should not block the server start.( mycheck;) &exit 0

    my.cnf : Tous les paramtres de configuration de MySQL comme les ports/sockets d'coute, les interfacesrseaux autorises, le tuning de la base, l'emplacement des logs et des fichiers de base de donnes Enfin,ce fichier dfinit si le serveur MySQL est un nud de cluster ou le matre du cluster. Les commentaires dansce fichier sont assez dtaills.

    Exemple :

    ## The MySQL database server configuration file.## You can copy this to one of:# - "/etc/mysql/my.cnf" to set global options,# - "/var/lib/mysql/my.cnf" to set server-specific options or# - "~/.my.cnf" to set user-specific options.# # One can use all long options that the program supports.# Run program with --help to get a list of available options and with# --print-defaults to see which it would actually understand and use.## For explanations see# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

    # This will be passed to all mysql clients# It has been reported that passwords should be enclosed with ticks/quotes# escpecially if they contain "#" chars...# Remember to edit /etc/mysql/debian.cnf when changing the socket location.[client]port = 3306socket = /var/run/mysqld/mysqld.sock

    # Here is entries for some specific programs# The following values assume you have at least 32M ram

    # This was formally known as [safe_mysqld]. Both versions are currently parsed.[mysqld_safe]socket = /var/run/mysqld/mysqld.socknice = 0

    [mysqld]#

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 9 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    # * Basic Settings#user = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockport = 3306basedir = /usrdatadir = /var/lib/mysqltmpdir = /tmplanguage = /usr/share/mysql/englishskip-external-locking## For compatibility to shell Debian packages that still use# libmysqlclient10 and libmysqlclient12.old_passwords = 1## Instead of skip-networking the default is now to listen only on# localhost which is more compatible and is not less secure.bind-address = 127.0.0.1## * Fine Tuning#key_buffer = 16Mmax_allowed_packet = 16Mthread_stack = 128K## * Query Cache Configuration#query_cache_limit = 1048576query_cache_size = 16777216query_cache_type = 1## * Logging and Replication## Both location gets rotated by the cronjob.# Be aware that this log type is a performance killer.#log = /var/log/mysql.log#log = /var/log/mysql/mysql.log## Error logging goes to syslog. This is a Debian improvement :)## Here you can see queries with especially long duration#log-slow-queries = /var/log/mysql/mysql-slow.log## The following can be used as easy to replay backup logs or for replication.#server-id = 1log-bin = /var/log/mysql/mysql-bin.log# See /etc/mysql/debian-log-rotate.conf for the number of files kept.max_binlog_size = 104857600#binlog-do-db = include_database_name#binlog-ignore-db = include_database_name## * BerkeleyDB## According to an MySQL employee the use of BerkeleyDB is now discouraged# and support for it will probably cease in the next versions.skip-bdb## * InnoDB## InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.# Read the manual for more InnoDB related options. There are many!## * Security Features## Read the manual, too, if you want chroot!# chroot = /var/lib/mysql/## If you want to enable SSL support (recommended) read the manual or my# HOWTO in /usr/share/doc/mysql-server/SSL-MINI-HOWTO.txt.gz# ssl-ca=/etc/mysql/cacert.pem# ssl-cert=/etc/mysql/server-cert.pem

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 10 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    # ssl-key=/etc/mysql/server-key.pem

    [mysqldump]quickquote-namesmax_allowed_packet = 16M

    [mysql]#no-auto-rehash # faster start of mysql but no tab completition

    [isamchk]key_buffer = 16M

    ## * NDB Cluster## See /usr/share/doc/mysql-server-*/README.Debian for more information.## The following configuration is read by the ndbd storage daemons,# not from the ndb_mgmd management daemon.## [MYSQL_CLUSTER]# ndb-connectstring=127.0.0.1

    8-2 - PostgreSQL

    Les fichiers de configuration se trouvent dans /usr/local/pgsql/data ou /etc/postgresql/8.1/main/. PostgreSQL possdetrois fichiers de configurations :

    pg_hba.conf : fichier de configuration pour l'authentification des utilisateurs. Ce fichier est une suited'enregistrements.

    Les lignes vides sont ignores. Chaque ligne est structure d'une des manires suivantes :

    local database user auth-method [auth-option]host database user CIDR-address auth-method [auth-option]hostssl database user CIDR-address auth-method [auth-option]hostnossl database user CIDR-address auth-method [auth-option]host database user IP-address IP-mask auth-method [auth-option]hostssl database user IP-address IP-mask auth-method [auth-option]hostnossl database user IP-address IP-mask auth-method [auth-option]

    pg_ident.conf : fichier de configuration utilis si l'on veut effectuer une authentification automatique avec le loginutilis lors du lancement de l'OS.

    Exemple :

    # MAPNAME IDENT-USERNAME PG-USERNAME

    omicron bryanh bryanhomicron ann ann# bob has user name robert on these machinesomicron robert bob# bryanh can also connect as guest1omicron bryanh guest1

    postgresql.conf : principal fichier de configuration. Toutes les informations propres au SGBD sont stockesdans ce fichier.

    8-3 - Oracle

    Par dfaut, le fichier de configuration se trouve dans ${ORACLE_HOME}/dbs/et se nomme en gnral init%ORACLE_SID%.ora.

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 11 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    %ORACLE_SID% est le nom de l'instance d'Oracle utilise.

    Il contient en gnral tous les paramtres dont a besoin la base.

    Exemple :

    db_name=isimadb_files=1020control_files=/home/oracle/admin/isima/isima.oradb_file_multiblock_read_count = 8db_block_buffers=200shared_pool_size=6500000log_checkpoint_interval=8000processes=50dml_locks=100log_buffers=8192sequence_cache_entries=10sequence_cache_hash_buckets=10#audit_trail=true#timed_statistics=truebackground_dump_dest=/home/oracle/rdbms80/traceuser_dump_dest=/home/oracle/rdbms80/tracedb_block_size=2048compatible=8.0.4.0.0...

    9 - Localisation physique des donnes

    1 Dterminer la localisation dans l'arborescence systme des bases de donnes partir du fichier deconfiguration. Par exemple, pour MySQL, il se situe dans /var/lib/mysql ;

    2 Taper :

    # mountpour connatre le point de montage des partitions.

    Exemple :

    /dev/md0 on / type reiserfs (rw,notail) /dev/sda6 on /home type ext3 (rw)

    Si le fichier du priphrique commence par /dev/md, alors il s'agit d'une partition en RAID software. Pour connatrela localisation physique des fichiers, il faut regarder le fichier : /etc/mdadm/mdadm.conf.

    Exemple :

    DEVICE partitionsARRAY /dev/md0 level=raid1 num-devices=2 UUID=8402604e:5b65bb45:f6c894f0:906c8b43 devices=/dev/hda1,/dev/hdd1MAILADDR [email protected]

    Dans cet exemple, on peut voir que /dev/md0 est un RAID rparti entre deux partitions, hda1 et hdd1. L'adresse del'administrateur avertir en cas de dfaillance d'une des deux partitions est galement indique.

    La commande :

    # df -h

    affiche l'espace disponible pour chaque partition.

    Exemple :

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 12 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    Sys. de fich. Tail. Occ. Disp. %Occ. Mont sur/dev/md0 186G 163G 23G 88% //dev/sda6 9,2G 1,7G 7,1G 20% /home

    Cette commande :

    # du -hs /var/lib/mysql/*

    affiche des informations prcises sur la taille de chaque fichier.

    10 - Interfaces de connexion la base de donnes

    10-1 - Web

    10-1-1 - MySQL

    PhpMyAdmin est l'interface web la plus utilise pour grer une base de donnes MySQL.

    10-1-2 - PostgreSQL

    PhpPgAdmin

    10-1-3 - Oracle

    isql*plus sql*Plus SQLPlus Worksheet

    10-2 - Applications graphiques

    10-2-1 - Pour tous les serveurs de base de donnes [modifier | modifier le wikicode]

    Kexi - Outil KDE OpenOffice.org Base - intgr la suite bureautique OpenOffice.org 2 et ultrieur. Permet de gnrer des

    schmas de la base de donnes. LibreOffice Base - intgr la suite bureautique LibreOffice. Permet de gnrer des schmas de la base de

    donnes.

    10-2-2 - MySQL

    MySQL Administrator [archive]

    10-2-3 - PostgreSQL

    PgAdmin [archive]

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 13 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    10-2-4 - Oracle

    Tora Oracle Enterprise Manager [archive]

    10-3 - Ligne de commande

    10-3-1 - MySQL

    # mysql

    10-3-2 - PostgreSQL

    # psql

    10-3-3 - Oracle

    # sqlplus

    11 - Analyse interne de la base de donnes

    On va maintenant dterminer les composantes internes de la base de donnes. Pour cela, on dispose d'une listede commandes, trs souvent en SQL. Voil galement quelques commandes utiles pour un administrateur de basede donnes.

    11-1 - Gnralits

    11-1-1 - MySQL

    Pour auditer un serveur MySQL, la commande SHOW permet d'afficher la plupart des informations utiles.(Documentation dtaille [archive])

    11-2 - Utilisateurs - rles - droits

    11-2-1 - MySQL

    (Documentation dtaille [archive])

    Liste des utilisateurs

    USE mysqlSELECT * FROM `user`

    Crer un utilisateur (Documentation dtaille [archive])

    CREATE USER user [IDENTIFIED BY [PASSWORD] 'password']

    Supprimer un utilisateur (Documentation dtaille [archive])

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 14 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    DROP USER user;

    11-2-2 - PostgreSQL

    L'authentification dans PostgreSQL se fait via les rles ou via les utilisateurs.

    Liste des rles :

    SELECT rolname FROM pg_roles;

    Crer un rle : (Documentation dtaille [archive]) :

    CREATE ROLE name [ [ WITH ] option [ ... ] ]

    Supprimer un rle : (Documentation dtaille [archive]) :

    DROP ROLE name;

    Liste des utilisateurs :

    SELECT usename FROM pg_user;ou en gnral on utilise la mtacommande \d

    Cration d'un utilisateur (Documentation dtaille [archive]) :

    CREATE USER nom [ [ WITH ] SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | CONNECTION LIMIT limite_connexion | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse' | VALID UNTIL 'dateheure' | IN ROLE nomrole [, ...] | IN GROUP nomrole [, ...] | ROLE nomrole [, ...] | ADMIN nomrole [, ...] | USER nomrole [, ...] | SYSID uid

    Effacer un utilisateur :

    DROP USER nom

    Modifier un utilisateur :

    ALTER USER nom

    11-2-3 - Oracle

    Les utilisateurs :

    Afficher les utilisateurs :

    SELECT * FROM DBA_USERS

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 15 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    Crer un utilisateur :

    CREATE USER nomIDENTIFIED BY mot_de_passeDEFAULT TABLESPACE tablespace_par_defautTEMPORARY TABLESPACE tablespace_temporaireQUOTA quota ON tablespace

    Supprimer un utilisateur :

    DROP USER utilisateur [CASCADE]

    Modifier un utilisateur :

    ALTER USER utilisateur

    Les rles et les privilges :

    Afficher les rles :

    SELECT * FROM DBA_ROLES

    Crer un rle :

    CREATE ROLE

    Attribuer un privilge/un rle :

    GRANT privilge/rle TO rle/utilisateur

    Supprimer un rle :

    DROP ROLE role

    11-3 - Les bases de donnes

    11-3-1 - MySQL

    Liste des bases de donnes :

    SHOW DATABASES;

    11-3-2 - PostgreSQL

    Liste des bases de donnes : (Plus d'infos [archive]) :

    SELECT datname FROM pg_database;en gnral on utilise la mtacommande \l

    11-3-3 - Oracle

    SELECT name FROM V$DATABASE

    11-4 - Tables

    11-4-1 - MySQL

    Liste des tables :

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 16 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    SHOW TABLES;

    11-4-2 - PostgreSQL

    Liste des tables : (Plus d'infos [archive]) :

    SELECT tablename FROM pg_tables;ou la mtacommande \dt

    11-4-3 - Oracle

    Liste des tables :

    SELECT owner,table_name FROM all_tables;

    11-5 - Schma des relations entre les tables

    Il est possible de gnrer un schma des relations entre les diffrentes tables grce OpenOffice Base ou LibreOfficeBase.

    11-5-1 - MySQL

    Attention, il faut utiliser le moteur InnoDB pour pouvoir ajouter des cls trangres.

    Lister les cls trangres :

    SELECT * FROM information_schema.KEY_COLUMN_USAGE T;

    11-5-2 - PostgreSQL

    Liste des clefs trangres :

    SELECT classid, refclassid FROM pg_depend; (Plus d'infos [archive]

    11-5-3 - Oracle

    Liste des cls trangres de l'utilisateur connect :

    SELECT table_name, constraint_name, r_owner, r_constraint_nameFROM user_constraintsWHERE constraint_type = 'R'ORDER BY table_name, constraint_name;

    11-6 - Charge de la base de donnes

    Connatre la charge moyenne d'une base de donnes permet d'anticiper la monte en charge et la migration de labase de donnes vers un nouveau serveur ou un cluster de serveurs.Le logiciel Nagios fournit une interface web afin d'afficher un tat dtaill du serveur. Il permet galement d'envoyerune alerte mail ou SMS l'administrateur systme en cas de panne ou de saturation du serveur.

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 17 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    11-6-1 - MySQL

    MySQLAR est un logiciel qui gnre des courbes partir de l'activit du serveur MySQL, trs utile pourauditer des engorgements dans le temps. (Site officiel [archive] | Dmonstration [archive])

    Cette commande :

    # /usr/bin/mysqladmin status

    permet de connatre la charge du serveur MySQL. Exemple de rsultat :

    /usr/bin/mysqladmin Ver 8.41 Distrib 5.0.18, for pc-linux-gnu on i486Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult ABThis software comes with ABSOLUTELY NO WARRANTY. This is free software,and you are welcome to modify and redistribute it under the GPL license Server version 5.0.18-Debian_7-logProtocol version 10Connection Localhost via UNIX socketUNIX socket /var/run/mysqld/mysqld.sockUptime: 4 min 47 sec

    Threads: 1 Questions: 157 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 64 Queries per second avg: 0.547

    11-6-2 - PostgreSQL

    11-6-3 - Oracle

    En version 10g, via la DBConsole.

    Sinon, interroger la vue V$SESSION_WAIT, qui renseigne en temps rel des sessions en attentes.

    Event : correspond l'vnement P1 ; P2 et P3 correspondent aux spcifications de l'vnement (exemple : db filesequential read : P1: file #, P2: block #).

    Nanmoins, le suivi de l'activit d'une instance Oracle est complexe, et requiert l'utilisation d'outil type PERFSTATpour avoir des informations concrtes.

    11-7 - Triggers

    Pour afficher les diffrents triggers dfinis dans la base de donnes :

    11-7-1 - MySQL

    SHOW TRIGGERS;

    11-7-2 - PostgreSQL

    Liste des triggers : (Plus d'infos [archive])

    SELECT tgname FROM pg_trigger

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 18 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    11-7-3 - Oracle

    SELECT trigger_name FROM user_triggers;SELECT trigger_name FROM user_triggers;

    11-8 - Procdures stockes

    Permet d'afficher la liste des procdures stockes.

    11-8-1 - MySQL

    USE mysqlSELECT * FROM `func`;

    (Documentation sur les procdures stockes archive]

    11-8-2 - PostgreSQL

    Ou utilise la mtacommande \df. Si on connat le schma, on peut faire \df schema.*, par exemple \df public.* donnetoutes les fonctions cres dans ce schma, qui est celui affect par dfaut utilisateur. On pourrait tout aussi bienfaire \df public.ab* pour avoir toutes les fonctions commenant par ab . Avec \df+ on obtient aussi les commentaires(CREATE COMMENT) sur la fonction.

    11-8-3 - Oracle

    Pour slectionner la liste des procdures stockes :

    SELECT object_name FROM user_objects WHERE object_type='PROCEDURE';

    Pour afficher le contenu d'une procdure stocke :

    SELECT textFROM user_source WHERE NAME = 'NOM DE LA PROCEDURE'AND TYPE = 'PROCEDURE';

    On peut aussi utiliser les vues dba_objects et dba_source.

    11-9 - Logs

    Les logs sont des fichiers textes qui contiennent tout ce qui se passe dans le logiciel. Ces fichiers sont importantspour dtecter et localiser une panne.

    Les logs des distributions Linux sont dans le dossier : /var/log. Le fichier de log le plus important est : /var/log/syslog.

    11-9-1 - MySQL

    /var/log/mysql.log contient toutes les erreurs autour du serveur MySQL. C'est le premier fichier regarder quandle serveur MySQL ne dmarre pas.

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 19 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    Il est possible d'activer des logs pour sauvegarder toutes les requtes, les modifications dans les tables ou pouridentifier les requtes les plus lentes (dtails sur les types de logs [archive].

    11-9-2 - PostgreSQL

    Lors de la cration d'une base, elle est configure avec un archivage minimum (un certain nombre de fichiers detaille fixe sont utiliss pour l'archivage). Cet archivage n'est pas suffisant pour pouvoir restaurer des sauvegardes chaud, il faut un archivage de type WAL, qui n'crase pas les logs les plus anciens.

    Pour configurer un archivage WAL : dans le fichier postgresql.conf, recherchez le paramtre archive_command etdonnez-lui la valeur suivante :

    archive_command = 'cp -i %p /mnt/server/archivedir/%f

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 20 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    max_dump_file_size string UNLIMITEDshadow_core_dump string partialuser_dump_dest string /u01/oracle/admin/V102/udump

    Sachant que :

    bdump : processus systmes ; udump : processus user : client ; cdump : fautes de segmentations (bogues).

    12 - Suivi de scurit

    Il est primordial de suivre les alertes propos de failles de scurit qui peuvent tre dtectes dans l'ensemble deslogiciels prsents sur le serveur.

    Heureusement, avec la plupart des distributions Linux, dont Debian, le suivi de scurit est ralis pour tous leslogiciels contenus dans la distribution.

    Il suffit de s'abonner la liste de diffusion debian-security-announce [archive].

    chaque alerte de scurit, un mail est envoy tous les abonns pour signaler le problme.

    Si l'alerte de scurit concerne un logiciel prsent sur le serveur, il faut le mettre jour grce aux commandes :

    # apt-get update# apt-get upgrade

    Bien entendu, il faut que les logiciels installs soient des paquetages Debian officiels, sinon cette politique de scuritest dfaillante.

    12-1 - Oracle

    Debian n'effectue pas de suivi de scurit pour Oracle, car c'est un logiciel propritaire. Il faut donc mettre en placeune procdure de scurit spcifique pour Oracle.

    Il est impratif, pour un systme en production, d'avoir un support valide auprs d'Oracle.

    Le site Web de la base de connaissances est http://metalink.oracle.com.

    13 - Sauvegardes

    Un serveur de base de donnes doit tre obligatoirement sauvegard, car un serveur sera obligatoirement en panneun jour. Il est donc important de mettre en place une politique de sauvegardes et de les effectuer rgulirement.Une multitude de mthodes sont possibles pour sauvegarder un serveur. La plus courante est de possder unserveur de sauvegardes qui automatise et centralise toutes les sauvegardes de l'entreprise, puis de stocker sur bandemagntique ou DVD-R.

    BackupPC est un logiciel trs utilis pour sauvegarder un ensemble d'ordinateurs, car il possde une interface webafin de lancer des sauvegardes ou de restaurer des fichiers.

    13-1 - MySQL

    chaud :

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 21 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    La procdure recommande pour sauvegarder est :

    # mysqldump --tab=/emplacement/du/fichier.sql --opt nom_bdd

    Ceci gnre un fichier SQL de la base de donnes qui est facile compresser et sauvegarder.(Documentation dtaille [archive]

    froid :

    Sauvegarder le dossier o MySQL stocke ses bases de donnes. (Gnralement /var/lib/mysql)

    13-2 - PostgreSQL

    Les sauvegardes peuvent se faire de trois manires :

    SQL DUMP :

    Faire un SQL DUMP signifie crer un fichier texte contenant une suite de requtes SQL permettant de pouvoirreconstruire toute la base de donnes. Dans PostgreSQL, nous disposons de la commande pg_dump quis'utilise de la manire suivante.

    pg_dump dbname > outfile

    Une sauvegarde au niveau du systme de fichier :

    Cette sauvegarde se fait elle aussi froid, et elle consiste simplement en un archivage de toutes les donnesde la base sauvegarder. On peut utiliser une commande comme celle-ci :

    tar -cf backup.tar /usr/local/pgsql/data

    Une sauvegarde chaud :

    Les sauvegardes chaud se font alors que la base est en exploitation. Pour pouvoir faire des restaurationscorrectes, il est ncessaire que la base dispose d'un systme d'archivage WAL. Cela permet de faire du point-in-time recovery (PITR) : on peut rcuprer l'tat de la base n'importe quel instant, du moment qu'il y a euun backup de fait.

    Crer la sauvegarde de la base : aprs s'tre assur que l'archivage WAL fonctionne, loggez-vous enadministrateur, et lancez la commande :

    SELECT pg_start_backup('label');(label correspond au nom que vous voulez donner cette sauvegarde)

    Ensuite, effectuez une sauvegarde avec la commande cpio ou tar, comme dans la sauvegarde au niveau dusystme de fichier.

    Et aprs cette dernire effectue, reloggez-vous en administrateur et lancer la requte :

    SELECT pg_stop_backup();

    13-3 - Oracle

    Il existe plusieurs faons d'effectuer la sauvegarde d'une base de donnes.

    Sauvegarde froid.

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 22 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    Il s'agit de faire une sauvegarde de la base dans un tat donn.

    Formatage de texte sous SQL*Plus :

    Set feedback off Set Linesize 200Set Heading off Set Pagesize 0Set Trimspool off Set Verify off

    crire les donnes dans un script SQL :

    spool ~/backup.sqlselect 'host cp ' || name || ' ~/backup ' from v$datafile;select 'host cp ' || member || ' ~/backup ' from v$logfile;select 'host cp ' || name || ' ~/backup ' from v$controlfile;select 'host cp ' || name || ' ~/backup ' from v$tempfile;spool off

    Arrter la base :

    shutdown immediate

    Effectuer la sauvegarde proprement parler :

    @~/backup.sql

    Redmarrer la base :

    startup

    Sauvegarde chaud :

    Il s'agit de sauvegarder des donnes alors que la base est en marche. Il est ncessaire que le modeARCHIVELOG soit activ.

    Il faut tout d'abord identifier le tablespace qui va tre sauvegard. Ensuite il faut mettre le tablespace hors ligne.

    Exemple :

    ALTER TABLESPACE exple_tablespace OFFLINE NORMAL;

    Sauvegarder le fichier concern (un simple copier/coller) ; Enfin, remettre le tablespace en ligne.

    Exemple :

    ALTER TABLESPACE exple_tablespace ONLINE NORMAL;

    14 - Restauration

    14-1 - MySQL

    Si la sauvegarde a t effectue chaud :

    # mysql < nom_du_fichier.sql

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 23 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    Sinon : arrter le serveur, et copier la sauvegarde dans le dossier de travail MySQL, puis dmarrer le serveur.

    14-2 - PostgreSQL

    La restauration s'effectue de diffrentes manires, suivant le type de sauvegarde utilise.

    SQL DUMP :

    Pour rcuprer la base de donnes, il faut utiliser la commande suivante :

    psql dbname < infile

    Sauvegarde au niveau du systme de fichier :

    Il suffit de lancer la commande :

    tar -xvf backup.tar /usr/local/pgsql/data

    point-in-time recovery (PITR), restauration d'une sauvegarde chaud :

    Aprs avoir ferm la base de donnes et restaur le fichier de sauvegarde comme pour une sauvegarde froid,crez un fichier de configuration pour la restauration dans le rpertoire data. Appelez ce fichier recovery.confet dans ce fichier insrez la commande suivante :

    restore_command = 'cp /mnt/archivedir/%f %p'

    14-3 - Oracle

    Si la sauvegarde a t effectue chaud, utiliser la commande recover aprs avoir ventuellement remisdes fichiers sauvegards :

    RECOVER [AUTOMATIC] [FROM location] {[STANDBY] DATABASE [UNTIL options] [USING BACKUP CONTROLFILE] |TABLESPACE {tablespace [, tablespace ...]} |DATAFILE {datafilename [,datafilename ...]} |STANDBY {TABLESPACE tablespace [,tablespace ...] |DATAFILE datafilename [,datafilename ...]} UNTIL CONTROLFILE |LOGFILE filename |CONTINUE [DEFAULT] |CANCEL} [PARALLEL clause]

    Si la sauvegarde a t effectue froid, recopier tous les fichiers de la sauvegarde dans la base aprs l'avoirau pralable arrte.

    14-4 - Mise jour

    Pour mettre jour le serveur de base de donnes, s'il est install en paquetage, il suffit de faire :

    # apt-get update# apt-get upgrade

    Sinon, bon courage :-)

    14-5 - Suivi des bogues

    Quand on rencontre un problme inexplicable avec un logiciel, le bon rflexe est de faire un tour sur le rapporteurde bugs du projet. Il ne faut pas hsiter rapporter un bug lorsqu'on en trouve un, car sinon il a moins de chancesd'tre corrig.

  • Dcouverte de MySQL, PostgreSQL et Oracle par CarsracBot - Walpole - Tavernier - Damja - Greudin - Malta - BORIES Ren

    - 24 -Le contenu de cet article est rdig par WIKIBOOKS et est mis disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

    Mmes Conditions 3.0 non transpos. Les logos Developpez.com, en-tte, pied de page, css, et look & feel de l'article sont Copyright 2013 Developpez.com.http://sgbd.developpez.com/tutoriels/debian/decouverte-mysql-postgresql-oracle/

    14-5-1 - MySQL

    Le gestionnaire de bugs de MySQL [archives]

    14-5-2 - PostgreSQL

    Rapporter les bogues :

    Lorsque vous rencontrez un bogue dans PostgreSQL, vous pouvez le rapporter l'organisme qui s'occupe desmises jour de PostgreSQL. Pour cela, il vous suffit d'envoyer un rapport sur le bogue l'adresse suivante : [email protected]. Il est demand de faire un bref descriptif du bogue en tant que sujet du mail.

    14-5-3 - Oracle

    On utilise le site du support Oracle : http://metalink.oracle.com.

    SynopsisSommaire1 - Rsum2 - Introduction3 - Conseils prliminaires4 - Dtermination du systme d'exploitation5 - Dtermination de l'environnement6 - Services en cours de fonctionnement6-1 - Pour connatre la liste des processus qui fonctionnent6-2 - Pour connatre la liste des dmons au dmarrage de l'ordinateur

    7 - Les logiciels installs | la faon dont ils sont installs7-1 - Pour visualiser l'tat de fonctionnement de la base de donnes7-1-1 - MySQL7-1-2 - PostgreSQL7-1-3 - Oracle

    7-2 - Comment dmarrer/arrter/redmarrer une base de donnes7-2-1 - MySQL7-2-2 - PostgreSQL7-2-3 - Oracle

    8 - Les fichiers de configuration8-1 - MySQL8-2 - PostgreSQL8-3 - Oracle

    9 - Localisation physique des donnes10 - Interfaces de connexion la base de donnes10-1 - Web10-1-1 - MySQL10-1-2 - PostgreSQL10-1-3 - Oracle

    10-2 - Applications graphiques10-2-1 - Pour tous les serveurs de base de donnes [modifier|modifier le wikicode]10-2-2 - MySQL10-2-3 - PostgreSQL10-2-4 - Oracle

    10-3 - Ligne de commande10-3-1 - MySQL10-3-2 - PostgreSQL10-3-3 - Oracle

    11 - Analyse interne de la base de donnes11-1 - Gnralits11-1-1 - MySQL

    11-2 - Utilisateurs - rles - droits11-2-1 - MySQL11-2-2 - PostgreSQL11-2-3 - Oracle

    11-3 - Les bases de donnes11-3-1 - MySQL11-3-2 - PostgreSQL11-3-3 - Oracle

    11-4 - Tables11-4-1 - MySQL11-4-2 - PostgreSQL11-4-3 - Oracle

    11-5 - Schma des relations entre les tables11-5-1 - MySQL11-5-2 - PostgreSQL11-5-3 - Oracle

    11-6 - Charge de la base de donnes11-6-1 - MySQL11-6-2 - PostgreSQL11-6-3 - Oracle

    11-7 - Triggers11-7-1 - MySQL11-7-2 - PostgreSQL11-7-3 - Oracle

    11-8 - Procdures stockes11-8-1 - MySQL11-8-2 - PostgreSQL11-8-3 - Oracle

    11-9 - Logs11-9-1 - MySQL11-9-2 - PostgreSQL11-9-3 - Oracle

    12 - Suivi de scurit12-1 - Oracle

    13 - Sauvegardes13-1 - MySQL13-2 - PostgreSQL13-3 - Oracle

    14 - Restauration14-1 - MySQL14-2 - PostgreSQL14-3 - Oracle14-4 - Mise jour14-5 - Suivi des bogues14-5-1 - MySQL14-5-2 - PostgreSQL14-5-3 - Oracle