04/03/2015
SQL> DESC ALL_USERS;
Nom NULL ? Type
-------- -------- -----------
USERNAME NOT NULL VARCHAR2(30)
USER_ID NOT NULL NUMBER
CREATED NOT NULL DATE
SQL> DESC USER_USERS;
2
I.I.
II.II.
III.III.
IV.IV.
SQL> DESC DBA_USERS;
Nom NULL ? Type
--------------------------- -------- -----------
USERNAME
USER_ID
PASSWORD
ACCOUNT_STATUS
LOCK_DATE
EXPIRY_DATE
DEFAULT_TABLESPACE
TEMPORARY_TABLESPACE
CREATED
PROFILE
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
VARCHAR2(4000)
EXTERNAL_NAME
NOT NULL VARCHAR2(30)
NOT NULL NUMBER
VARCHAR2(30)
NOT NULL VARCHAR2(32)
DATE
DATE
NOT NULL VARCHAR2(30)
NOT NULL VARCHAR2(30)
NOT NULL DATE
NOT NULL VARCHAR2(30)
Nom NULL ? Type
-------------------- -------- -----------
USERNAME NOT NULL VARCHAR2(30)
USER_ID NOT NULL NUMBER
ACCOUNT_STATUS NOT NULL VARCHAR2(32)
LOCK_DATE DATE
EXPIRY_DATE DATE
DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
CREATED NOT NULL DATE
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
EXTERNAL_NAME VARCHAR2(4000)
R cup rer les noms users, leurs
dates de cr ation et les noms de
leurs tablespaces par d faut.
SQL> select username, created, default_tablespace from dba_users;
3
4
1
(cid:1) Un utilisateur de base de donn es
(cid:1) correspond un login
(cid:1) a re u certains privil ges.
(cid:1) est stock dans le dictionnaire de donn es (DBA_USERS)
(cid:1) dispose d'un espace de stockage pour ses objets qui seront
alors stock s dans son sch ma.
04/03/2015
(cid:1) Les tapes de cr ation d'un utilisateur Oracle
1. Choisir un nom d'utilisateur
2. Choisir une m thode d'authentification
(cid:1) R gles de nommage respecter:
(cid:1) Taille maximale 30 caract res.
(cid:1) Ne devra contenir que des lettres de et des chiffres [0-9].
3. Choisir les TABLESPACEs que l'utilisateur pourra utiliser
(cid:1) Tout les caract res accentu s ou autres sont viter.
4. D finir les quotas sur chaques TABLESPACEs
(cid:1) Vous pourrez galement utiliser les symboles #, $, _.
5. D finir les TABLESPACEs par d faut de l'utilisateur
(cid:1) Le login devra commencer par une lettre.
6. Cr er l'utilisateur
7. Assigner les r les et privil ges l'utilisateur
(cid:1) Si vous d sirez utiliser des logins compos uniquement de
chiffres vous devrez alors lentourer entre des ".
5
Il existe diff rents type d'authentification :
(cid:1) Authentification par la base de donn es.
(cid:1) Le mode par d faut.
(cid:1) L'utilisateur est authentifi avec le mots de passe stock s dans la BD.
(cid:1) La BD devra tre ouverte pour qu'un utilisateur puisse se connecter.
(cid:1) Authentification par le syst me d'exploitation.
(cid:1) L'utilisateur n'aura besoin de s'authentifier qu'une seule fois sur son
syst me d'exploitation.
(cid:1) Si l'utilisateur oublie de se d connecter de sa machine, il sera alors
tr s simple de se connecter la base sans avoir fournir de mot de
Publicité
passe.
(cid:1) Authentification par le r seau.
7
6
8
2
(cid:1) IDENTIFIED BY mot de passe
Active l'authentification par la base de donn es avec le mot de passe sp cifi .
(cid:1) IDENTIFIED EXTERNALLY
Active l'authentification par le syst me d'exploitation
(cid:1) IDENTIFIED GLOBALLY AS 'nom externe
Active l'authentification par un LDAP externe.
(cid:1) DEFAULT TABLESPACE nom du tablespace
Permet d'attribuer un TABLESPACE de donn es par d faut l'utilisateur.
(cid:1) TEMPORATY TABLESPACE nom du tablespace
Permet d'attribuer un TABLESPACE temporaire par d faut l'utilisateur.
(cid:1) QUOTA options ON nom du tablespace
Permet de d finir le quota d'espace attribu l'utilisateur sur un TABLESPACE pr cis.
(cid:1) PROFILE nom du profil
Permet d'attribuer un profil limitant les ressources syst me de l'utilisateur.
(cid:1) PASSWORD EXPIRE
Permet de faire expirer le mot de passe de l'utilisateur pour que celui-ci le change lors
de la premi re connexion.
(cid:1) ACCOUNT LOCK / UNLOCK
Permet d'activer ou de d sactiver un compte utilisateur.
9
CREATE USER SCOTT
IDENTIFIED BY mypass1
DEFAULT TABLESPACE tbs_users
QUOTA 10M ON tbs_users
TEMPORARY TABLESPACE tmp_users
QUOTA 5M ON tmp_users
QUOTA 5M ON tools
PROFILE app_user
PASSWORD EXPIRE;
(cid:2) L'utilisateur SCOTT aura le mot de
passe mypass1.
(cid:2) Son mot de passe expire la
premi re connexion donc il doit le
changer.
(cid:2) Son TABLESPACE par d faut sera
tbs_users avec un quota de 10Mo
(cid:2) Son tablespace temporaire sera le
TABLESPACE tmp_users avec un
quota de 5M.
(cid:2) Il aura aussi la possibilit d'utiliser le
TABLESPACE tools avec un quota
de 5Mo.
(cid:2) Il a le profile app_user.
10
(cid:1) Modification de son mot de passe
(cid:1) Modification des TABLESPACES par d faut
ALTER USER <login_utilisateur> IDENTIFIED BY <new_mot_passe>
ALTER USER scott DEFAULT TABLESPACE tbs_users2 TEMPORARY TABLESPACE tmp2;
(cid:1) Modification des quotas
ALTER USER scott QUOTA 15M ON tbs_users QUOTA 0M ON tools;
Si un utilisateur disposait de 1Mo de quotas sur un TABLESPACE
et qu'il en avait utilis la moiti avec des tables, si vous lui modifiez
son quota 0Mo sur ce TABLESPACE cela n'impliquera pas que
ses tables soient vid es ou supprim es, mais cela signifiera que
ses tables ne pourront pas s'allouer d'extents suppl mentaires.
Cela ne d placera pas les objets des anciens TABLESPACES.
(cid:1) Modification du status d'un utilisateur
-- Verrouillage du compte
ALTER USER scott ACCOUNT LOCK;
-- Activation du compte
ALTER USER scott ACCOUNT UNLOCK;
11
12
04/03/2015
3
(cid:1) Un utilisateur actuellement connect la base ne pourra
pas tre supprim .
(cid:1) Supprimer un utilisateur avec un sch ma vide
(cid:1) Supprimer un utilisateur avec son sch ma
14
13
15
(cid:1) Les privil ges sont des droits pour ex cuter des requ tes
(cid:1) Le plus haut niveau de privil ges sont des privil ges DBA
(cid:1) Les utilisateurs doivent poss der
(cid:1) des privil ges syst me pour se connecter la base de donn es,
(cid:1) et les privil ges objets pour manipuler des donn es
(cid:1) Un r le est un regroupement de privil ges.
(cid:1) Une fois cr il peut tre assign un utilisateur ou un autre r le
(cid:1) Les privil ges de niveau syst me
(cid:1) permettent la cr ation, modification, suppression, ex cution de
groupes d'objets
(cid:1) les privil ges CREATE TABLE, CREATE VIEW, CREATE SEQUENCE
permettent l'utilisateur qui les a re u de cr er des tables, des vues
et des s quences
(cid:1) Les privil ges de niveau objet
Publicité
(cid:1) permettent les manipulations sur des objets sp cifiques
(cid:1) les privil ges SELECT, INSERT, UPDATE, DELETE sur la table
SCOTT.EMP permettent l'utilisateur qui les a re u de s lectionner,
ajouter, modifier et supprimer des lignes dans la table EMP
appartenant l'utilisateur SCOTT
16
04/03/2015
4
04/03/2015
(cid:2) systeme_privilege repr sente un privil ge syst me
(cid:2) role repr sente un r le pr alablement cr
(cid:2) ALL PRIVILEGES repr sente tous les privil ges syst me
(cid:2) user repr sente le nom de l'utilisateur qui doit b n ficier du privil ge
(cid:2) PUBLIC assigne le privil ge tous les utilisateurs
(cid:2) WITH ADMIN OPTION assigne l'utilisateur le droit d'assigner, de retirer, de
modifier et de supprimer son tour les privil ges du r le re us
18
(cid:1) Lorsqu'un utilisateur est cr avec l'instruction CREATE
USER, il ne dispose encore d'aucun droit car aucun
privil ge ne lui a encore t assign
(cid:1) Il ne peut m me pas se connecter la base
(cid:3) Il faut donc lui assigner les privil ges n cessaires
(cid:1) Pour lui assigner des privil ges il faut utiliser l'instruction
GRANT
17
(cid:1) Pour que l'utilisateur puisse simplement se connecter la base,
il doit b n ficier du privil ge syst me CREATE SESSION
(cid:1) lui assigner des droits de cr ation de table
(cid:1) Puis les droits de cr ation de vues
19
20
5
(cid:1) object_privilege repr sente un privil ge objet
(cid:1) role repr sente un r le pr alablement cr
(cid:1) ALL PRIVILEGES repr sente tous les privil ges assign s l'ex cuteur de
(cid:1) Assigner l'utilisateur le droit de s lectionner, ins rer, modifier
et supprimer des lignes dans la table EMP de l'utilisateur
SCOTT
l'instruction
(cid:1) column repr sente le nom de colonne d'une table
(cid:1) schema repr sente le nom d'un sch ma
(cid:1) object repr sente le nom d'un objet du sch ma
(cid:1) directory_name repr sente le nom d'une directory
(cid:1) JAVA SOURCE repr sente le nom d'une source Java
(cid:1) JAVA RESOURCE repr sente le nom d'une ressource Java
(cid:1) WITH GRANT OPTION assigne l'utilisateur le droit d'assigner son tour le
privil ge re u un autre utilisateur (WITH GRANT OPTION s'applique un
utilisateur ou PUBLIC, mais pas un r le)
(cid:1) WITH HIERARCHY OPTION assigne le privil ges aux sous-objets
(cid:1) Une liste de colonnes peut tre indiqu e dans l'instruction afin
de restreindre davantage les droits sur une table
21
L'utilisateur peut modifier la table SCOTT.EMP mais uniquement
les colonnes JOB et MGR
22
(cid:1) Pour pouvoir mettre jour ou supprimer des lignes d'une table,
les privil ges UPDATE et DELETE ne suffisent pas. Le privil ge
SELECT est n cessaire
(cid:1) Un utilisateur poss de automatiquement tous les privil ges sur
un objet qui lui appartient
(cid:1) Un utilisateur ne peut pas donner plus de privil ges qu'il n'en a
re u
(cid:1) S'il n'a pas re u le privil ge avec l'option WITH GRANT OPTION,
un utilisateur ne peux pas assigner son tour ce m me
(cid:1) Lorsque la liste des privil ges est importante, utiliser linstruction
GRANT devient rapidement une t che fastidieuse et r p titive
Service
comptabilit
user1
Re oit un certain
nombre de privil ges
sur un certain nombre
d'objets
user2, &,n
Ont toutes les chances de
se voir assigner des
privil ges identiques
privil ge
23
(cid:1) C'est pourquoi il est souhaitable de pouvoir regrouper des
privil ges identiques dans un m me ensemble (cid:4) r le
24
Base de donn es
04/03/2015
6
04/03/2015
(cid:1) Lorsque le r le est cr , il ne contient rien et il faut l'alimenter
l'aide d'instructions GRANT
(cid:2) role repr sente le nom du r le
(cid:2) NOT IDENTIFIED (d faut) aucun mot de passe n'est n cessaire pour activer le r le
(cid:2) IDENTIFIED BY password un mot de passe est n cessaire pour activer le r le
(cid:2) IDENTIFIED USING package un package sera utilis pour fixer les droits de
Publicité
l'utilisateur
Une fois le r le cr , il peut tre assign un utilisateur ou un
autre r le
(cid:2) IDENTIFIED EXTERNALLY autorisation provient d'une source externe (S.E.)
(cid:2) IDENTIFIED GLOBALLY pour un user GLOBAL g r par exemple par Enterprise
Directory Service
(cid:1) Trois r les existent en standard
(cid:1) CONNECT
(cid:1) RESOURCE
(cid:1) DBA
25
27
(cid:2) Ce r le permet l'ouverture (CREATE SESSION) et la modification
(ALTER SESSION) d'une session
(cid:2) La cr ation de tables, vues, clusters, s quences, synonymes et liens
de bases de donn es
(cid:2) L'option ADMIN OPTION positionn e NO indique que ces privil ges
ne peuvent pas tre assign s un autre utilisateur ou r le
26
28
7
(cid:1) Ce r le permet de cr er des types, tables, clusters, op rateurs,
s quences, index et proc dures
(cid:1) Le r le RESOURCE accorde un privil ge UNLIMITED QUOTA l'utilisateur et
n'est donc assigner qu'en connaissance de cause
(cid:1) La liste des privil ges assign s au r le DBA est octroy aux utilisateurs
ayant des droits d'administration de la base
(cid:1) Il est fortement d conseill d'utiliser ces r les standards car ils accordent
trop de droits aux utilisateurs
04/03/2015
29
30
(cid:1) Un r le peut tre supprim en utilisant l'instruction
DROP ROLE
(cid:1) Le r le sp cifi ainsi que tous les privil ges qui lui sont
associ s sont supprim s de la base et galement retir s
tous les utilisateurs qui en b n ficiaient
(cid:1) Les privil ges syst me qui ont t assign s des
utilisateurs ou des r les peuvent tre retir s avec
l'instruction REVOKE
31
32
(cid:1) Retirer des privil ges un utilisateur ne supprime pas son
sch ma ni les objets qu'il contient
8
(cid:1) CASCADE CONSTRAINTS supprime toutes les contraintes d'int grit r f rentielles
d finies par l'utilisateur
(cid:1) FORCE retire le privil ge EXECUTE sur les types objet
33
34
(cid:1) Un PROFIL est un ensemble de limitations syst me.
(cid:1) Un utilisateur ne peut pas d passer les limitations impos es par son
PROFIL.
(cid:1) Disposer du privil ge syst me CREATE PROFILE.
CREATE PROFILE profile LIMIT
{ resource_parameters
| password_parameters }... ;
(cid:1) FAILED_LOGIN_ATTEMPTS
(cid:1) D finir le nombre maximal de tentatives de connexion.
(cid:1) Si le nombre de connexion donn par ce param tre est atteint le
compte sera alors verrouill pendant une p riode donn e par le
param tre PASSWORD_LOCK_TIME
(cid:1) PASSWORD_LIFE_TIME
(cid:1) D finir la dur e d'utilisation du m me mot de passe (en jours).
(cid:1) Apr s cette dur e, Oracle demandera automatiquement l'utilisateur
de bien vouloir changer son mot de passe.
(cid:1) PASSWORD_REUSE_TIME
(cid:1) D finir le d lai (en jours) entre deux utilisations du m me mot de
Les limitations du mot de passe
passe.
Deux types de
limitations
Les limitations des ressources syst me
35
(cid:1) Si celui ci vaut 30 et que votre mot de passe actuel est toto. Il vous
faudra attendre 30 jours compter de la date de votre changement de
mot de passe avant de pouvoir nouveau utiliser toto comme mot de
passe.
36
04/03/2015
9
(cid:1) PASSWORD_REUSE_MAX
(cid:1) D finir le nombre de r utilisation du m me mot de passe (cons cutive
ou non).
(cid:1) PASSWORD_LOCK_TIME
(cid:1) D finir la dur e de verrouillage du compte utilisateur apr s avoir
bloqu le compte avec le param tre FAILED_LOGIN_ATTEMPTS.
(cid:1) Le compte sera alors automatiquement d verrouill lorsque le temps
d fini par ce param tre sera atteint.
(cid:1) Ce param tre sera d fini en jours
(cid:2) pour sp cifier un nombre en minutes (diviser par 1440) en heures (diviser
par 24) : exemple 30 minutes donnera 30/1440
Publicité
(cid:2) La valeur UNLIMITED provoque un verrouillage d finitif et donc une action
d'un administrateur pour d bloquer le compte
(cid:1) &
37
(cid:1) Si le param tre PASSWORD_REUSE_TIME a t initialis avec une valeur num rique, alors
le param tre PASSWORD_REUSE_MAX devra tre UNLIMITED et inversement.
(cid:1) Si les deux param tres PASSWORD_REUSE_TIME et PASSWORD_REUSE_MAX poss dent la
valeur UNLIMITED, alors Oracle n'utilisera aucune de ces deux limitations de mot de
passe.
(cid:1) Si le param tre PASSWORD_REUSE_MAX poss de la valeur DEFAULT et que le param tre
PASSWORD_REUSE_TIME est UNLIMITED, alors Oracle utilisera le param tre
PASSWORD_REUSE_MAX avec la valeur d finie dans le profil par d faut.
(cid:1) Si le param tre PASSWORD_REUSE_TIME est DEFAULT et PASSWORD_REUSE_MAX est
UNLIMITED, alors Oracle utilisera le param tre PASSWORD_REUSE_TIME avec la valeur
d finie dans le profil DEFAULT.
(cid:1) Si les 2 param tres PASSWORD_REUSE_TIME et PASSWORD_REUSE_MAX sont DEFAULT,
alors Oracle utilisera les valeurs d finies dans le profil DEFAULT.
(cid:1) La valeur DEFAULT est une valeur particuli re, lorsque vous assignerez la valeur
DEFAULT une limitation alors Oracle ira r cup rer la valeur de la limitation dans le
profil DEFAULT.
38
(cid:1) SESSIONS_PER_USER
(cid:1) IDLE_TIME
(cid:1) D finir le nombre de session maximum qu'un utilisateur pourra ouvrir.
(cid:1) D finir le temps en minutes pour la dur e d'inactivit maximale d'une
(cid:1) CPU_PER_SESSION
session.
(cid:1) D finir le temps de processeur maximum en centi mes de secondes
(cid:1) A la fin du temps imparti la session sera automatiquement
qu'une session pourra utiliser.
(cid:1) CPU_PER_CALL
(cid:1) D finir le temps de processeur maximum en centi mes de secondes
qu'un "appel serveur" pourra utiliser.
(cid:1) On appellera "appel serveur" un passage de requ te, une ex cution
de requ te ou la r cup ration d'une requ te (FETCH)
(cid:1) CONNECT_TIME
(cid:1) D finir le temps en minutes pour la dur e de connexion maximale
d'une session.
(cid:1) A la fin du temps imparti la session sera automatiquement
d connect e.
d connect e.
(cid:1) LOGICAL_READS_PER_SESSION
(cid:1) D finir le nombre maximal de bloc lus durant une session.
(cid:1) On parlera ici des blocs lus sur le disque et dans la m moire.
(cid:1) LOGICAL_READS_PER_CALL
(cid:1) D finir le nombre maximal de bloc lus durant un "appel serveur".
(cid:1) On parlera ici des blocs lus sur le disque et dans la m moire.
(cid:1) PRIVATE_SGA
(cid:1) D finir la taille en Kbytes ou MBytes que pourra utiliser une session.
39
40
04/03/2015
10
(cid:2) Changer le nombre de tentative de connexion rat es ( cinq)
avant que le compte de l'utilisateur ne soit verrouill .
(cid:2) Modifier la dur e de blocage du compte qui passe 1 jour.
ALTER PROFILE app_user LIMIT
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LOCK_TIME 1;
42
(cid:2) Etablir les limitations de mot de passe et les limitations
syst me.
(cid:2) Cr er le profil
(cid:2) Attribuer le profil aux utilisateurs qui devront tre limit s
CREATE PROFILE app_user
LIMIT
SESSIONS_PER_USER
CPU_PER_SESSION
CPU_PER_CALL
CONNECT_TIME
LOGICAL_READS_PER_SESSION
LOGICAL_READS_PER_CALL
PRIVATE_SGA
UNLIMITED
UNLIMITED
3000
45
DEFAULT
1000
15K;
ALTER USER scott PROFILE app_user;
DROP PROFILE app_user CASCADE;
(cid:2) Ici tous les utilisateurs qui disposaient du profil
app_user se verront automatiquement assigner le
profil DEFAULT.
41
43
04/03/2015
11