Administration Base de Données 2011-2012
P.1
Administration des bases de données relationnelles
(suite)
3 – Sécurité et confidentialité : la gestion des utilisateurs
Le SGBDR permet de distinguer les administrateurs (super utilisateurs) des autres utilisateurs.
L’administrateur a le droit de créer et de supprimer des utilisateurs.
C’est également lui qui leur affecte des droits d’accès aux différentes structures logiques de la base.
La norme SQL
La norme stipule qu’un utilisateur ne peut exécuter une opération sur la base de données qu’à la condition
de détenir le privilège correspondant.
Un utilisateur possède tous les droits sur les objets dont il est propriétaire.
La norme définit les privilèges suivants :
-SELECT : privilège d’accès à toutes les colonnes d’une table
-INSERT : privilège autorisant l’insertion de tuple dans une table ; peut être limité à certaines
colonnes de la table
-UPDATE : privilège autorisant la mise à jour des tuples d’une table ; peut être limité à certaines
colonnes de la table
-DELETE : privilège autorisant la suppression de tuples dans une table
-REFERENCES : privilège autorisant l’utilisation des colonnes d’une table dans une contrainte
d’intégrité
Les SGBDR du marché propose généralement des privilèges spécifiques tels que : ALTER (pour autoriser
la modification de structure d’une table), INDEX (pour autoriser la gestion des index), DBA (pour obtenir
tous les privilèges de l’administrateur), ALL (pour obtenir tous les privilèges sur une table),….
La norme définit également deux instructions :
-une instruction pour allouer des privilèges à un(plusieurs) utilisateur(s) :
GRANT privilèges ON objet TO liste d’utilisateurs
[with grant option] ;
L’option permet à l’utilisateur qui reçoit le privilège de le redistribuer à d’autres utilisateurs
L’objet peut être une table, une vue, un index, une séquence
Exemple :
Autoriser la lecture et la mise à jour de la table AVION à l’utilisateur univ_ag :
GRANT UPDATE, SELECT ON avion TO univ_ag ;
Autoriser la lecture de la table VOL à tous les utilisateurs (PUBLIC) :
GRANT SELECT ON vol TO PUBLIC ;
Autoriser la valorisation de la clé étrangère NUM_AV dans la table VOL qui référence la clé
NUM_AV de la table AVION à l’utilisateur univ_ag :
GRANT REFERENCES(num_av) ON TABLE vol TO univ_ag ;
-une instruction pour enlever des privilèges à un(plusieurs) utilisateur(s) :
REVOKE [GRANT OPTION FOR] privilèges ON objet
FROM liste d’utilisateurs [Restrict | Cascade]
L’option permet de retirer à l’utilisateur le droit qui lui avait été préalablement accordé par l’option du GRANT
Exemple :
Enlever à l’utilisateur univ_ag l’accès en mise à jour à la table avion
REVOKE UPDATE ON avion FROM univ_ag ;
Administration Base de Données 2011-2012
P.2
La gestion des utilisateurs sous Oracle
A sa création (
ordre sql « Create user »
), un utilisateur ne possède aucun privilège, il faut les lui affecter
explicitement (Grant).
Oracle dispose de deux types de privilèges ainsi que des rôles pour gérer les droits d’accès des utilisateurs aux
objets.
Un « privilège système », objectivement destiné aux administrateurs, autorise des opérations système sur la base
de données.
Exemple de privilèges système :
« alter database » : privilège de modifier la base de données
« create role » : privilège de créer des rôles
« create tablespace » : privilège de créer des tablespaces
« create any table » : privilège de créer des tables dans n’importe quel schéma
Un « privilège objet » permet de contrôler les accès à un objet particulier. Ce sont les privilèges définis par la
norme sql, complétés de privilèges spécifiques à Oracle.
Exemple de privilèges objet spécifique à Oracle :
« alter » : donne le privilège de modifier la structure de l’objet référencé (table, vue)
« index » : donne le privilège de créer des index pour la table référencée
« execute » : donne le privilège d’exécuter la fonction/procédure référencée
Un « rôle » est un regroupement de plusieurs privilèges et/ou autres rôles qui facilite l’attribution de privilèges
multiples aux utilisateurs.
Exemple de rôles que l’on peut créer : rôle pour chaque tâche d’application, rôle pour chaque type d’utilisateur.
Plusieurs rôles sont prédéfinis par Oracle comme par exemple
« dba » : tous les privilèges système
« connect » : le privilège de se connecter à la base de données, de créer une session
A sa création (
ordre sql « Create role »
), un rôle ne possède aucun privilège, ces derniers doivent être explicitement
attribués au rôle en utilisant un ordre GRANT.
A la création d’une base de données, Oracle crée les administrateurs SYS et SYSTEM qui possède tous les
privilèges système et tous les rôles prédéfinis.
Lors de la création d’un utilisateur, on lui attribue en général trois tablespaces : un tablespace Données qui est le
tablespace par défaut de l'utilisateur ; un tablespace pour le tri qui est le tablespace temporaire de l’instance en
général ; un tablespace pour les index qui est également le tablespace dédié aux index en général dans l’instance.
Il est aussi possible d’affecter un PROFIL à un utilisateur. Un profil (
ordre sql « Create profile »
)est un ensemble
nommé de limites de ressources (temps de connexion, temps d’inactivité, SGA privée, durée de vie du mot de
passe, nombre de tentatives infructueuse de login, …).
Etapes de création d’un utilisateur
-choisir le nom et le mode d’identification (Oracle ou Système d’Exploitation)
-identifier les tablespaces requis (données, tris, index)
-arrêter le quota pour chaque tablespace
-créer l’utilisateur (create user)
-allouer les rôle et/ou privilèges
Gestion d’un compte utilisateur
Modification
L’ordre de modification est ALTER USER, pour modifier des paramètres de l’utilisateur tels que son tablespace par
défaut, son quota dans son tablespace, son mot de passe, son droit à se connecter à la base, …
Suppression
L’ordre de suppression est DROP USER, à utiliser avec l’option « CASCADE » si l’utilisateur possède des objets
Information
Plusieurs vues du Dictionnaire fournissent des informations sur les utilisateurs, parmi elles : DBA_USERS, et
DBA_TS_QUOTAS
Administration Base de Données 2011-2012
P.3
Administration Base de Données 2011-2012
P.4
4 – Etapes de la mise en place d’une base de données Oracle
Etape 1 : Evaluation des ressources matérielles
Déterminer le nombre de disques disponibles pour Oracle, les media de sauvegardes utilisables,
la taille mémoire disponible pour l’instance Oracle.
Etape 2 : Plannifier la mise en place de la base de données
Prévoir les structures logiques et physiques de stockage, concevoir l’organisation globale de la
base, penser la stratégie de sauvegarde .
Avoir une idée précise du type des données ainsi que de l’organisation des données, au sens
sémantique/applicatif, que vont contenir les tablespaces ; ceci afin entre autres de mieux déterminer la taille
des blocs, les paramètre de gestion de l’espace libre
Avoir connaissance du nombre de fichier de données qui vont constituer les tablespaces et de la localisation
physique de ces fichiers (cas plusieurs disques)
Prendre des options en matière de gestion des annulations (tablespace dédié ou non)
Estimer la taille des tables et des index associés
Les choix faits à ce stade vont influencer les performances de la machine exécutant Oracle, les
performances du SGBD pendant les opérations sur la base, l’efficacité des procédures de
sauvegarde/restauration.
Etape 3 : Installer Oracle
Suivre les étapes spécifiées dans le guide d’installation : vérification des pré-requis hardware et
software, création des utilisateurs et groupe Unix/Linux requis par Oracle, création des
répertoires requis, configuration des paramètres du noyau Unix/linux, configuration des
paramètre d’environnement Oracle. Au terme de la procédure d’installation une instance est
créée.
Etape 4 : effectuer les vérifications post-installation
Un fichier trace a été produit par la procédure d’installation, il est recommandé d’en vérifier le
contenu.
Il est recommandé de vérifier les variables d’environnement telles que :
ORACLE_HOME, PATH, et
LD_LIBRARY_PATH.
Les paramètres d’initialisation de la base doivent être vérifiés et éventuellement modifiés dans le
fichier « init.ora ».
Une base de données Oracle peut être dans un des états suivants : « Fermée », « Non montée »
(instance montée, base en création ou fichier de contrôle en création), « Montée » (instance
démarrée et fichiers de contrôle ouverts), « Ouverte » (instance démarrée, fichiers de contrôle et
de données ouverts).
Il est recommandé, après installation, de procéder au démarrage (startup) puis à la fermeture
(shutdown) de l’instance .
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown
Où “/” (slash) permet de se connecter au schéma de l’administrateur “SYS”, et le
privilège “sysdba” permet entre autre de créer des bases de données
Etape 5 : Créer la base de données
Concevoir l’ordre Create Database qui correspond à la base
Administration Base de Données 2011-2012
P.5
Exemple de création complète
CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY pz6r58
USER SYSTEM IDENTIFIED BY y1tz5p
LOGFILE GROUP 1 ('/u01/oracle/oradata/mynewdb/redo01.log') SIZE 100M,
GROUP 2 ('/u01/oracle/oradata/mynewdb/redo02.log') SIZE 100M,
GROUP 3 ('/u01/oracle/oradata/mynewdb/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u01/oracle/oradata/mynewdb/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/oracle/oradata/mynewdb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE tbs_1
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/oracle/oradata/mynewdb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/oracle/oradata/mynewdb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
Exemple de création où c’est Oracle qui assure la gestion des fichiers
CREATE DATABASE rbdb1
USER SYS IDENTIFIED BY pz6r58
USER SYSTEM IDENTIFIED BY y1tz5p
UNDO TABLESPACE undotbs
DEFAULT TEMPORARY TABLESPACE tempts1;
Etape 6 : Sauvegarder la base
Sauvegarder la structure de la base.
Prévoir la programmation des sauvegardes à venir
Déterminer les fichiers de reprises
Définir une politique de sauvegarde
-sauvegarde à chaud en mode « archivage automatique », sans arrêt de la base
-sauvegarde à froid : les fichiers concernés(data, control, reprise)sont sauvegardés après arrêt
de la base
5 – Optimiser les performances d’une base de données
5.1 - Compétences et fonctions d’un administrateur de base de données
L’administrateur doit posséder des compétences couvrant plusieurs domaines:
- l’entreprise et la conception du système d’informations
il doit maîtriser la signification des informations manipulées par le SGBD et les règles de gestion
associées.
- le SGBDR
il doit maîtriser techniquement le SGBD, i.e maîtriser ses fonctionnalités, ses contraintes et ses
limites, ses outils de surveillance et d’administration, ses paramètres de réglage, les langages de
définition et de manipulation supportés
- l’architecture technique
il doit connaître le fonctionnement du matériel et du système d’exploitation supportant le SGBD
Deux types de fonctions pour l’administrateur :
- fonctions de coordination
il doit savoir faire appel au bon interlocuteur au bon moment : chef de projet, ingénieur système,
maintenance du SGBD, développeur, ...
- fonctions techniques
le DBA doit administrer à plusieurs niveaux :
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !