Académique Documents
Professionnel Documents
Culture Documents
PostgreSQL est un SGBD relationnel et relationnel-objet très puissant qui offre une
alternative open source aux solutions commerciales comme Oracle ou IBM.
MySQL est un SGBD relationnel libre (licence GPL et commerciale), simple d'accès et très
utilisé pour la réalisation de sites Web dynamiques. Depuis la version 4 MySQL implémente
la plupart des fonctions attendues d'un SGBD relationnel.
Access est un SGBD relationnel Microsoft, qui offre une interface graphique permettant de
concevoir rapidement des applications de petite envergure ou de réaliser des prototypes.
Comparaison Oracle Database et Mysql
Le prix
• Le prix représente la différence la plus importante entre les deux bases de
données. Oracle possède un produit qui s'appelle Oracle Express Éditions,
et cette édition est totalement gratuite. Malheureusement, l'édition a trop
de limitation avec les fonctionnalités. Cela vous coûtera des milliers d’euros,
si vous achetez une édition standard complète ou une édition Enterprise.
• My Sql, d'autre part, est une base de données open source, et est
complètement gratuite. Le site du réseau social le plus célèbre appelé
Facebook s'exécute sur My Sql. Oracle s'adresse aux grandes organisations
avec un budget élevé mais cette base de données open source gratuites
manque de possibilités d'ajout et de fonctionnalités robustes d'Oracle.
- La sécurité
• Alors que MySQL utilise trois paramètres pour authentifier un utilisateur, notamment nom d'utilisateur,
mot de passe et l’emplacement, Oracle possède un grand nombre de fonctionnalités de sécurité comme
le nom d'utilisateur, le mot de passe, les profils, l'authentification locale, l'authentification externe, les
améliorations de sécurité anticipées, etc.
- La syntaxe SQL
• La syntaxe Oracle SQL différé quelque peu de Mysql. Oracle offre plus de flexibilité pour le langage de
programmation appelé PL / SQL. L'outil SQL * Plus d'Oracle offre plus de commandes que MySQL pour
générer une sortie de rapport et une définition de variable.
- Le stockage
• Comparez avec Oracle, MySQL n'a pas d'espace de tables, de gestion de rôle, de synonymes, de
packages et de gestion de stockage automatique.
- Type de sauvegarde
Oracle Database fournit différentes fonctionnalités de sauvegarde de type, comme la sauvegarde à froid, la
sauvegarde à chaud, l'exportation, l'importation, la pompe de données. Oracle offre l'utilitaire de sauvegarde le plus
populaire appelé Recovery manager (RMAN). En utilisant RMAN, nous pouvons automatiser notre base de données
de récupération et de récupération en utilisant très peu de scripts de commande ou stockés.
- La base de données MySQL ne prend en charge aucune fonctionnalité d'audit. Oracle, d'autre part, prend en charge
plusieurs extensions et programmes sur son serveur de base de données, par exemple, Active Data Guard, Audit
Vault, Partitionnement et data Mining, etc.
- Oracle prend en charge la création de programmes intégrés dans la base de données au moyen d'un langage
procédural et peut être exécuté indépendamment ou déclenchés par certains événements.
FONCTIONNALITÉS PRINCIPALES
D'ORACLE DATABASE
• Possibilité de stocker de gros volumes de données.
• Partitionnement des grosses tables.
• Mirroring et Stand By Database pour la redondance.
• Database Vault, Advanced Security pour la sécurité.
• Oracle Data Mining pour l’extraction de connaissances à partir de
données (ECD).
• Star Transformation Optimizer pour l’optimisation de requêtes SQL
basé sur la réécriture de requête.
•…
AVANTAGES D'ORACLE DATABASE
Le dictionnaire de données
L’instance Oracle est constituée :
Elle est constituée de deux structures mémoire clés liées aux performances :
Cache « Library »
Cache du dictionnaire de données
Il contient des informations sur les fichiers, les tables, les index, les colonnes, les
utilisateurs, les privilèges et d'autres objets de la base de données.
Le multiplexage
• CONTROL_FILES =‘CONTROL01.CTL’,’CONTROL02.CTL’
• En raison de l’importance du fichier de contrôle, Oracle permet de multiplexer ce fichier pour
en avoir plusieurs copies, afin de parer à toute corruption ou perte du fichier.
Fichier de journalisation (redoLog)
Un tablespace bigfile (oracle 10g) contient qu’un seul fichier de données, mais qui
peut être plus gros qu’un fichier de données traditionnel.
LGWR – LoG Writer : Chargé d’écrire le Redo Log Buffer dans le fichier de journalisation courant (Redo Log)
après un Chekpoint. En effet si une synchronisation n’est pas terminée, le fichier de journalisation (Redo Log)
contient des informations qui seraient nécessaires pour une récupération de l’instance en cas d’arrêt anormal.
PMON – Process MONitor : Chargé du nettoyage en effectuant une annulation (rollback) lorsqu’un processus
utilisateur est planté. Il libère les verrous et les ressources.
Exemple
DROP ROLE rl_admin_secu ;
Affectation de privilèges ou de rôles à un rôle
Exemple :
Création de deux rôles
o Un rôle rassemblant les privilèges pour se connecter :
CREATE ROLE rl_connect
o Un rôle rassemblant les privilèges pour administrer la sécurité
CREATE ROLE rl_admin_secu;
Affectation des privilèges aux rôles
GRANT create session, alter session, Restrictedsession TO rl_connect;
GRANT create role, create user, create profile TO rl_admin_secu;
Affectation d'un Rôle à un autre Rôle
GRANT rl_connectTO rl_admin_secu;
Affectation d’un rôle à un utilisateur
GRANT role to user [WITH ADMIN OPTION] : L’utilisateur ayant reçu le
rôle avec WITH ADMIN OPTION peut le réaffecter.
Plus d’infos
Interrogez les vues suivantes du dictionnaire de données:
• DBA_ROLES: Tous les rôles qui existent dans la base de données
• DBA_ROLE_PRIVS: Rôles accordés à des utilisateurs et à des rôles
• ROLE_ROLE_PRIVS: Rôles accordés à des rôles
• DBA_SYS_PRIVS: Privilèges système accordés à des utilisateurs et à des
rôles
• ROLE_SYS_PRIVS: Privilèges système accordés à des rôles
• ROLE_TAB_PRIVS: Privilèges objet accordés à des rôles
• SESSION_ROLES: Rôles activés par l'utilisateur
Gestion des profils
Afin d'augmenter la sécurité de la base de données il peut être très
interessant de mettre en place une gestion des mots de passe comme
le nombre maximal de tentatives de connexion à la base, le temps de
vérouillage d'une compte, etc...
La protection d'un système informatique, en particulier d'un système sur réseau, requiert
des mécanismes permettant de contrôler des activités avant que les processus système
ou les processus utilisateur ne commencent. La sécurité nécessite des outils permettant
de surveiller les activités lorsque celles-ci se produisent. La sécurité requiert également
des rapports d'activités après que les activités ont eu lieu.
Il est conseillé de définir les paramètres d'audit avant la connexion des utilisateurs ou le
démarrage des processus système, car la plupart des activités d'audit impliquent la surveillance
des événements en cours et la signalisation des événements qui répondent aux paramètres
spécifiés.
Vous voulez sélectionner avec soin les types d'activités auditées. Dans le même temps, vous
voulez collecter des informations d'audit utiles. Vous devez également planifier soigneusement
les utilisateurs et objets audités.
Parfois, les fichiers d'audit peuvent rapidement augmenter de volume et remplir l'espace
disponible, de sorte que vous devez leur allouer suffisamment d'espace disque :
• Détermination des personnes et objets à auditer
• Planification de l'espace de stockage pour les audités
Méthodes d’audit
Oracle donne deux possibilités d’auditer une base de données:
AUDIT_TRAIL=db.
Activation de l'audit, la valeur db permet la redirection de tous les
enregistrements dans la table de trace SYS.AUD$.
Syntaxe
AUDIT { sql_statement_clause | schema_object_clause | NETWORK } [ BY { SESSION |
ACCESS } ] [ WHENEVER [ NOT ] SUCCESSFUL ] ;
Exemple : Ici, audit sur toutes les suppressions, et modifications effectuées sur la table
EMP du schéma SCOTT et dont les requêtes s'exécutent avec succès.
• SQL> AUDIT delete, update ON scott.emp WHENEVER SUCCESSFUL;
Niveau table : Lors de l'exportation de tables individuelles tous leurs objets associés (index,
contraintes, déclencheurs, privilèges …) sont écrits dans le fichier DUMP. Lors de
l'importation tout comme l'exportation les tables doivent être nommées grâce au paramètre
TABLES.
Niveau tablespace : Lors de l'exportation, des métas donnés concernant les tablespaces
spécifiés et les objets qu'ils contiennent sont écrites dans un fichier DUMP.
Privilèges prérequis
Paramètres d’export
Paramètre d’import
Exemples - Export
Exemples – Import
Exporter selon une condition
Il est possible de n'exporter qu'une partie de la table et non pas la
totalité. Il suffit de le préciser par l'option QUERY. Dans cette exemple
nous allons exporter les personnes dont le salaire est supérieur à 500,
supprimer la table et enfin la réimporter :
Présentation de l'environnement RMAN
Recovery Manager (RMAN) est un client de base de données Oracle qui effectue des tâches de
sauvegarde et de récupération sur vos bases de données et automatise l'administration de vos
stratégies de sauvegarde. Il simplifie considérablement la sauvegarde, la restauration et la
récupération des fichiers de base de données.
L'environnement RMAN se compose des utilitaires et des bases de données qui jouent un rôle dans
la sauvegarde de vos données. Au minimum, l'environnement pour RMAN doit inclure les
composants suivants:
Une base de données cible : Une base de données Oracle à laquelle RMAN est connecté avec le
TARGET. Une base de données cible est une base de données sur laquelle RMAN effectue des
opérations de sauvegarde et de récupération. RMAN conserve toujours des métadonnées sur ses
opérations sur une base de données dans le fichier de contrôle de la base de données.
Le client RMAN : Un exécutable Oracle Database qui interprète les commandes, dirige les sessions
serveur pour exécuter ces commandes et enregistre son activité dans le fichier de contrôle de la
base de données cible. L'exécutable RMAN est automatiquement installé avec la base de données
et se trouve généralement dans le même répertoire que les autres exécutables de la base de
données.
Une catalogue de récupération : Un schéma de base de données distinct utilisé pour enregistrer
l'activité RMAN sur une ou plusieurs bases de données cible. Un catalogue de récupération préserve
les métadonnées du référentiel RMAN en cas de perte du fichier de contrôle, ce qui facilite la
restauration et la récupération après la perte du fichier de contrôle. La base de données peut
remplacer les enregistrements plus anciens dans le fichier de contrôle, mais RMAN conserve les
enregistrements pour toujours dans le catalogue, sauf si les enregistrements sont supprimés par
l'utilisateur.
Architecture
Démarrage de RMAN et connexion à une
base de données
Le client RMAN est démarré en exécutant la rman commande à l'invite de commandes de votre
système d'exploitation. RMAN affiche ensuite une invite pour vos commandes, comme illustré dans
l'exemple suivant :
Vous pouvez vous connecter à une base de données avec des options de ligne de commande ou en
utilisant la CONNECT TARGET commande. L'exemple suivant démarre RMAN puis se connecte à une
base de données cible via Oracle Net, SYSDBA n'est pas spécifié car il est implicite. RMAN vous
demande un mot de passe.
Affichage de la configuration RMAN par
défaut
L'environnement de sauvegarde et de récupération RMAN est préconfiguré pour chaque base de
données cible. La configuration est persistante et s'applique à toutes les opérations suivantes sur
cette base de données cible.
Les paramètres configurés RMAN peuvent spécifier des périphériques de sauvegarde, configurer
une connexion à un périphérique de sauvegarde (appelé canal ), les politiques affectant la stratégie
de sauvegarde et autres. La configuration par défaut est adéquate pour la plupart des applications.
Entrez la commande à l'invite RMAN comme suit:
Sauvegarde de la base de données
Nous avons deux méthodes pour sauvegarder notre base de données :
MODE ARCHIVELOG
MODE SANS ARCHIVELOG
Le mode ARCHIVELOG est un mode dans lequel vous pouvez placer la base de données pour créer
une sauvegarde de toutes les transactions qui se sont produites dans la base de données afin de
pouvoir récupérer à tout moment.
Les avantages :
Vous pouvez effectuer des sauvegardes à chaud (sauvegardes lorsque la base de données est
en ligne).
Les journaux d'archivage et la dernière sauvegarde complète (hors ligne ou en ligne) ou une
sauvegarde plus ancienne peuvent récupérer complètement la base de données sans perdre
de données car toutes les modifications apportées dans la base de données sont stockées
dans le fichier journal.
Désavantages :
Il nécessite de l'espace disque supplémentaire pour stocker les fichiers journaux archivés.
Cependant, l'agent offre la possibilité de purger les journaux après leur sauvegarde, vous donnant
ainsi la possibilité de libérer de l'espace disque si vous en avez besoin.
Pour implémenter une stratégie de sauvegarde mise à jour progressivement : Le script suivant,
exécuté régulièrement, est tout ce qui est nécessaire pour implémenter une stratégie basée sur des
sauvegardes mises à jour de manière incrémentielle :
Rapports sur les opérations RMAN
Le RMAN LIST et les REPORT commandes génèrent des rapports sur les activités de sauvegarde
basés sur le référentiel RMAN.
Exécutez les commandes LIST BACKUP et LIST COPY pour afficher des informations sur les
sauvegardes et les copies de fichiers de données répertoriées dans le référentiel :
Rapports :
Restauration et récupération de fichiers de
base de données
Utilisez les commandes RESTORE et RECOVER pour la restauration et la récupération RMAN des
fichiers de base de données physiques. La restauration des fichiers de données consiste à les
récupérer à partir des sauvegardes nécessaires pour une opération de récupération. La récupération
de média est l'application des modifications des journaux de rétablissement et des sauvegardes
incrémentielles à un fichier de données restauré :