Support de cours Administration BD Emna Bouazizi emna.bouazizi@gmail.com ISIM De Monastir Année Univ. 2011/2012
Chapitre 2 : Administrer la sécurité utilisateur : Gestion des utilisateurs et de leurs droits d accès 2
Introduction Un SGBD oracle est un système multiutilisateur complexe Il doit protéger les données de l utilisateur Il doit permettre un partage contrôlé des données utilisateurs Accès à la base BD Oracle Utilisateur Droits Restrictions 3
Objectifs Il s agit de répartir et de sélectionner les droits des utilisateurs de la BD afin d en assurer la protection : Gestion des accès à la BD Gestion des accès aux données de la base Limitation des ressources accessibles aux utilisateurs Attribution des droits d accès par défaut 4
Utilisateur Oracle Nom Utilisateur USER Mot de passe Ensembles de privilèges Droits des utilisateurs Profil Privilège Privilège Système Privilège Objet Le droit d exécuter un ordre SQL (Ex : créer une table) Le droit d accéder à un objet d un autre utilisateur (Ex : Mettre à jour les données De la table CLIENT) 5
Organisation des privilèges Privilège Utilisateur Rôle Utilisateur 6
Organisation des Rôles Privilège 1 Privilège 2 Rôle 1 Utilisateur 1 Privilège 3 Privilège 4 Rôle 2 Utilisateur 2 Privilège 5 Utilisateur 3 7
Exemple : Rôles & Privilèges RÔLE Utilisateur 1 Utilisateur 2 admin RÔLE gestion ORDRE insert RÔLE utilise ORDRE select ORDRE update PROCEDURE Augmente TABLE 8
Rôle : Caractéristiques Définition Est un regroupement nommé de privilèges (système ou objet) qui peut être attribué à un utilisateur ou un autre rôle Attribution Un rôle peut être attribué à un rôle Un utilisateur peut avoir plusieurs rôles Mise en œuvre s effectue en trois étapes Création du rôle Attribution des privilèges Attribution de rôle au utilisateurs 9
Rôles Standards Il existe trois rôles par défaut dans Oracle : CONNECT : Pour les utilisateurs occasionnels qui n ont normalement pas besoin de créer des tables (même s ils pourront le faire). Ce rôle autorise simplement d utiliser Oracle : il permet de créer des tables, des vues, etc. RESOURCE : Pour les utilisateurs réguliers. Accorde des droits supplémentaires pour la création de tables, de séquences, de procédures, de déclencheurs, d index, etc. DBA : Regroupe tous les privilèges de niveau système et la possibilité d accorder n importe quel privilège à un autre utilisateur. 10
Profil utilisateur Objectif : Contrôler l activité de l utilisateur en limitant les ressources auxquels il a accès Niveau SESSION Niveau APPEL (exécution d un ordre SQL) Nombre de session par utilisateur Durée de connexion Durée sans occupation autorisée Nombre maximal d octets d espace privé dans SGA Temps CPU Nombre maximal de blocs lus Remarque : La notion de profil sert aussi à définir les paramètres de gestion du mot de passe 11
Gestion des utilisateurs Création d un utilisateur Modification d un utilisateur Suppression d un utilisateur Trouver les informations sur les utilisateurs 12
Création d un utilisateur : Syntaxe (1) CREATE USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; 13
Création d un utilisateur : Syntaxe (2) CREATE USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; Permet de créer un utilisateur qui a le même nom et le même mot de passe qu un Utilisateur défini au niveau SE Évite la saisie du mot de passe lors des connexions à Oracle 14
Création d un utilisateur : Syntaxe (3) CREATE USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; Définit le tablespace qui sera utilisé par défaut lors de la création d une table par L utilisateur (ordre CREATE TABLE) Si cette clause n est pas utilisée, les tables sont créées dans le tablespace SYSTEM 15
Création d un utilisateur : Syntaxe (4) CREATE USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; Définit le tablespace qui sera utilisé par défaut lorsque le système aura besoin d espace de travail Si cette clause n est pas utilisée, les zones de travail temporaires sont implantées dans le tablespace SYSTEM 16
Création d un utilisateur : Syntaxe (5) CREATE USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; Permet de limiter (valeur en KO ou MO) ou non (UNLIMITED) l espace qui pourra être alloué pour les tables de l utilisateur dans le tablespace temporaire et/ou dans le tablespace par défaut 17
Création d un utilisateur : Syntaxe (6) CREATE USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; Permet d effectuer un profil particulier à l utilisateur Si cette clause n est pas utilisée, le profil DEFAULT est attribué 18
Création d un utilisateur : Syntaxe (7) CREATE USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; Demande le changement du mot de passe 19
Création d un utilisateur : Syntaxe (8) CREATE USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; LOCK : le compte est bloqué UNLOCK : le compte est actif 20
Modification d un utilisateur : Syntaxe (1) ALTER USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [DEFAULT ROLE {rôle [, rôle, ] ALL ALL EXCEPT rôle [, rôle, ] NONE}] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; Tous les rôles attribués à l utilisateur sont activés par défaut 21
Modification d un utilisateur : Syntaxe (2) ALTER USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [DEFAULT ROLE {rôle [, rôle, ] ALL ALL EXCEPT rôle [, rôle, ] NONE}] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; Tous les rôles attribués à l utilisateur sont activés par défaut EXCEPT permet d enlever certains 22
Modification d un utilisateur : Syntaxe (3) ALTER USER nom_utilisateur IDENTIFIED { BY mdp EXTERNALLY } [DEFAULT TABLESPACE nom_tablespace] [TEMPORARY TABLESPACE nom_tablespace] [QUOTA { valeur [K M] UNLIMITED } ON nom_tablespace] [PROFILE nom_profile] [DEFAULT ROLE {rôle [, rôle, ] ALL ALL EXCEPT rôle [, rôle, ] NONE}] [PASSWORD EXPIRE ] [ACCOUNT {LOCK UNLOCK}]; Aucun des rôles attribués à l utilisateur n est activé par défaut 23
Suppression d un utilisateur : Syntaxe DROP USER nom [CASCADE]; Si l utilisateur possède des objets, l option CASCADE doit être présente pour forcer la suppression préalable de objets Si l utilisateur possède des objets et l option CASCADE n est pas présente : Erreur Un utilisateur connecté ne peut pas être supprimé 24
Récapitulation Chaque compte utilisateur de base de données comporte : Un nom d utilisateur unique Une méthode d authentification Un tablespace par défaut Un tablespace temporaire Un profile utilisateur Un statut de verrouillage 25
Comptes prédéfinis : SYS et Le compte SYS : SYSTEM reçoit le rôle d'administrateur de base de données (DBA) dispose de tous les privilèges associés à ADMIN OPTION est requis pour les opérations de démarrage et d'arrêt, ainsi que pour certaines commandes de maintenance est le propriétaire du dictionnaire de données Le compte SYSTEM a le rôle d'administrateur de base de données (DBA). 26
Exemple : Création d un utilisateur CREATE USER _salim IDENTIFIED BY mypass1 DEFAULT TABLESPACE tbs_users TEMPORARY TABLESPACE tmp_users QUOTA 10M ON tbs_users QUOTA 5M ON tmp_user PROFILE app_user PASSWORD EXPIRE; 27
Exemple de modification d un utilisateur Modification de mdp ALTER USER _salim IDENTIFIED BY mypass2; Modification des quotas ALTER USER _salim QUOTA 15M ON tbs_user QUOTA 10M ON tmp_users; Modification des statuts Verrouillage ALTER USER _salim ACCOUNT LOCK; Activation ALTER USER _salim ACCOUNT UNLOCK; 28
Exemple de suppression d un utilisateur Suppression DROP USER _salim CASCADE; 29
Gestion des Rôles Création d un Rôle Modification d un Rôle Suppression d un Rôle Activation d un Rôle 30
Création d un Rôle : Syntaxe CREATE ROLE nom_rôle [IDENTIFIED { BY mdp EXTERNALLY} USING nom_package NOT IDENTIFIED]; Indique qu une identification externe est nécessaire pour activer le rôle Remarques : Avant de recevoir des privilèges, un rôle doit être créé Un rôle est créé sans caractéristiques. Il faut utiliser l ordre GRANT pour lui affecter des privilèges ou des rôles 31
Modification d un Rôle : Syntaxe ALTER ROLE nom_rôle [NOT IDENTIFIED] [IDENTIFIED BY mdp]; Remarque : La modification d un rôle ne concerne que son mot de passe 32
Suppression d un Rôle : Syntaxe DROP ROLE nom_rôle; Remarque : Le rôle est alors retiré de tous les utilisateurs et de tous les autres rôles auxquels il avait été effectué 33
Activation ou désactivation d un Rôle Un rôle attribué à un utilisateur est par défaut automatiquement activé lors de la connexion de l utilisateur Si l utilisateur est connecté au moment de l attribution du rôle, l activation immédiate n est pas automatique L utilisateur peut activer le rôle grâce à l ordre SQL : SET RÔLE L ordre ALTER USER permet de définir les rôles par défaut d un utilisateur 34
Activation ou désactivation d un Rôle : Syntaxe Remarques : SET ROLE {nom_rôle1 [IDENTIFIED BY mdp], nom_rôle2 [IDENTIFIED BY mdp], } ALL [ ALL EXCEPT rôle [, rôle] ] NONE; SET ROLE permet d activer ou de désactiver un ou plusieurs rôles préalablement affectés à l utilisateur par une commande GRANT pour la session courante Un rôle qui ne figure pas dans la liste est considéré comme désactivé 35
Gestion des privilèges Gestion des privilèges au niveau system Attribution des privilèges systèmes Suppression des privilèges systèmes Listes de quelques privilèges systèmes Gestion des privilèges au niveau objet Attribution des privilèges objets Suppression de privilèges Listes des privilèges objets 36
Privilège Système Est le droit d exécuter un ordre SQL Chaque ordre SQL a au moins un privilège système associé qui porte le même nom que l ordre SQL Exemple : l ordre CREATE TABLE possède un privilège système associé CREATE TABLE qui donne le droit de créer une table dans son propre schéma 37
Attribution d un privilège système : Syntaxe (1) GRANT {<privilège_système> <rôle>} [,{<privilège_système> <rôle>}, ] TO {<nom_utilisateur> <rôle> PUBLIC } [,{<nom_utilisateur> <rôle> PUBLIC, }] [WITH ADMIN OPTION] ; La commande GRANT permet d accorder n importe quel privilège système ou rôle à un utilisateur, à un rôle, ou au groupe d utilisateurs 38
Attribution d un privilège système : Syntaxe (2) GRANT {<privilège_système> <rôle>} [,{<privilège_système> <rôle>}, ] TO {<nom_utilisateur> <rôle> PUBLIC } [,{<nom_utilisateur> <rôle> PUBLIC, }] [WITH ADMIN OPTION] ; PUBLIC permet d affecter le privilège ou le rôle à tous les utilisateurs 39
Attribution d un privilège système : Syntaxe (3) GRANT {<privilège_système> <rôle>} [,{<privilège_système> <rôle>}, ] TO {<nom_utilisateur> <rôle> PUBLIC } [,{<nom_utilisateur> <rôle> PUBLIC, }] [WITH ADMIN OPTION] ; WITH ADMIN OPTION autorise celui qui a reçu le privilège ou le rôle à le transmettre à un autre utilisateur ou un autre rôle 40
Exemple GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, TO nom_utilisateur ; 41
Suppression d un privilège système : Syntaxe REVOKE { <privilège_système> <rôle> } [, { <privilège_système> <rôle> }] FROM { <utilisateur> <rôle> PUBLIC } [, { <utilisateur> <rôle> PUBLIC }] ; REVOKE permet d enlever enlever un privilège ou un rôle à un utilisateur ou un rôle 42
Liste de quelques privilèges systèmes(1) ALTER PROFILE ALTER SESSION ALTER TABLESPACE ALTER USER CREATE PROFILE CREATE ROLE CREATE SESSION CREATE TABLE CREATE TABLESPACE CREATE USER Modification des profils Modification d une session Modification de tablespaces Modification des caractéristiques d un utilisateur Création de profils Création de rôles Connexion à la base de données Création des tables Création de tablespaces Création d utilisateurs 43
Liste de quelques privilèges systèmes(2) CREATE VIEW DROP PROFILE DROP TABLESPACE DROP USER GRANT ANY PRIVILEGE GRANT ANY ROLE Création des vues Suppression de profils Suppression de tablespaces Suppression des utilisateurs Attribution de tous les privilèges systèmes Attribution de tous les rôles 44
Privilège Objet Est le droit d accéder à un objet d un autre utilisateur Par défaut, seul le propriétaire d un objet a le droit d y accéder Pour qu un autre utilisateur puisse accéder à l objet, le propriétaire de l objet doit lui donner un privilège objet 45
Attribution d un privilège objet : Syntaxe GRANT {privilège_objet [, ] ALL PRIVILEGES} ON [schéma.]objet TO {<nom_utilisateur> <rôle> PUBLIC } [,{<nom_utilisateur> <rôle> PUBLIC, }] [WITH ADMIN OPTION] ; Remarques : Un utilisateur (créateur) qui crée un objet a tous les droits sur celui-ci, les autres utilisateurs (sauf DBA) n ont aucun droit. Un objet peut être un nom de : Table, vue, procédure, fonction, package, etc. 46
Exemple GRANT SELECT,INSERT,UPDATE,DELETE ON SCOTT.EMP TO nom_utilisateur ; 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 47
Suppression d un privilège objet : Syntaxe REVOKE {privilège_objet [, ] ALL PRIVILEGES} ON [schéma.]objet FROM {<utilisateur> <rôle> PUBLIC } [,{<nom_utilisateur> <rôle> PUBLIC, }] ; 48
Liste des privilèges sur les objets SELECT [(col ; )] INSERT UPDATE [(col ; ) DELETE EXECUTE ALTER INDEX REFERENCES [(col ; )] READ ALL Droit de lecture Droit d insertion de lignes Droit de modification de lignes (éventuellement limité à certaines colonnes) Droit de suppression de lignes Droit d exécuter une procédure, une fonction ou un package Droit de modification de la description de l objet Droit de création d index Droit de faire référence à des contraintes définies sur un objet Droit d accès en consultation Tous les droits 49
Exemples illustratifs 50
Gestion des profiles Création d un profile Modification d un profile Suppression d un profile 51
Définitions Un profile est un ensemble nommé de limitations de ressources qui peut être attribué à un utilisateur Les ressources qui peuvent être limitées sont : Temps CPU par appel et/ou par session Nombre de lectures logique par appel et/ou par session Nombre de sessions ouvertes simultanément Temps d inactivité par session Durée totale de la session Les profiles gèrent également le statut des comptes et imposent des restrictions sur les mots de passe des utilisateurs (longueur, délai d'expiration, etc.) Chaque utilisateur se voit affecter un profile et ne peut appartenir qu'à un seul profile à la fois Si des utilisateurs sont connectés lorsque vous modifiez leur profile, le changement ne prend effet que lors de leur prochaine connexion. Un profil par défaut est fourni à l installation de la base de données. Initialement, toutes les valeurs par défauts sont UNLIMITED. Ce profil est automatiquement attribué à un utilisateur lors de sa création. 52
Création d un profile (1) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] [FAILED_LOGIN_ATTEMPTS {entier UNLIMITED DEFAULT}] [PASSWORD_LIFE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX {entier UNLIMITED DEFAULT}] [PASSWORD_LOCK_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_GRACE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_VERIFY_FUNCTION {fonction NULL DEFAULT}] ; 53
Création d un profile (2) Paramètre de la création d un profil CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] [FAILED_LOGIN_ATTEMPTS {entier UNLIMITED DEFAULT}] [PASSWORD_LIFE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX {entier UNLIMITED DEFAULT}] [PASSWORD_LOCK_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_GRACE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_VERIFY_FUNCTION {fonction NULL DEFAULT}] ; Paramètre de gestion des mots de passe 54
Création d un profile (3) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] Limite le nombre de session actives simultanément pour un utilisateur 55
Création d un profile (4) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] Indique la durée CPU (d utilisation du processus) maximale autorisée pour la session active, (exprimée en centièmes de secondes) Les ressources CPU peuvent être limitées par session. Ex : Avec une limite CPU/Session de 1 000, une session qui utilise ce profile et qui consomme plus de 10 secondes de temps CPU (les limites de temps CPU étant exprimées en centièmes de seconde) reçoit une erreur et est déconnectée : ORA-02392: exceeded session limit on CPU usage, you are being logged off 56
Création d un profile (5) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] Indique la durée CPU (d appel serveur) maximale autorisée pour la session active (exprimée en centièmes de secondes) Les ressources CPU peuvent être limitées par appel. Elle a le même effet que limitation du CPU par session, mais au lieu de limiter la session globale de l'utilisateur, elle empêche chaque commande de consommer trop de temps CPU. Si une limite CPU/Call est définie et que l'utilisateur la dépasse, la commande s'arrête et l'utilisateur reçoit un message d'erreur semblable à ce qui suit : ORA-02393: exceeded call limit on CPU usage 57
Création d un profile (6) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] Indique la durée maximale de connexion autorisée pour la session active, (exprimée en minutes) 58
Création d un profile (7) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] Exprime la durée maximale d inactivité autorisée avant fermeture automatique de la session (exprimée en minutes) 59
Création d un profile (8) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] Indique le nombre maximal de blocs qui peuvent être transférés durant la session 60
Création d un profile (9) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] Indique le nombre maximal de blocs qui peuvent être transférés lors d un appel serveur 61
Création d un profile (10) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] Permet de gérer la taille allouée à la SGA privée (exprimée en KO ou MO) (utilisée uniquement avec l architecture serveurs partagés) 62
Création d un profile (11) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] [FAILED_LOGIN_ATTEMPTS {entier UNLIMITED DEFAULT}] Nombre d essais de connexion infructueux (échoué) avant le blocage du compte 63
Création d un profile (12) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] [FAILED_LOGIN_ATTEMPTS {entier UNLIMITED DEFAULT}] [PASSWORD_LIFE_TIME {entier UNLIMITED DEFAULT}] Durée maximale d un mot de passe (période normale) 64
Création d un profile (13) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] [FAILED_LOGIN_ATTEMPTS {entier UNLIMITED DEFAULT}] [PASSWORD_LIFE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX {entier UNLIMITED DEFAULT}] Nombre de jours qui doit s écouler avant de pouvoir réutiliser un mot de passe périmé 65
Création d un profile (14) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] [FAILED_LOGIN_ATTEMPTS {entier UNLIMITED DEFAULT}] [PASSWORD_LIFE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX {entier UNLIMITED DEFAULT}] Nombre maximal de réutilisation d un même mot de passe 66
Création d un profile (15) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] [FAILED_LOGIN_ATTEMPTS {entier UNLIMITED DEFAULT}] [PASSWORD_LIFE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX {entier UNLIMITED DEFAULT}] [PASSWORD_LOCK_TIME {entier UNLIMITED DEFAULT}] Nombre de jours du blocage du compte après un FAILED_LOGIN_ATTEMPS 67
Création d un profile (16) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] [FAILED_LOGIN_ATTEMPTS {entier UNLIMITED DEFAULT}] [PASSWORD_LIFE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX {entier UNLIMITED DEFAULT}] [PASSWORD_LOCK_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_GRACE_TIME {entier UNLIMITED DEFAULT}] Nombre de jours après la fin de la période normale (PASSWORD_LIFE_TIME) avant que le compte ne soit bloqué 68
Création d un profile (17) CREATE PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] [FAILED_LOGIN_ATTEMPTS {entier UNLIMITED DEFAULT}] [PASSWORD_LIFE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX {entier UNLIMITED DEFAULT}] [PASSWORD_LOCK_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_GRACE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_VERIFY_FUNCTION {fonction NULL DEFAULT}] ; Permet de définir l algorithme de vérification du mot de passe 69
Modification d un profile ALTER PROFILE nom_profile LIMIT [SESSIONS_PER_USER {entier UNLIMITED DEFAULT}] [CPU_PER_SESSION {entier UNLIMITED DEFAULT}] [CPU_PER_CALL {entier UNLIMITED DEFAULT}] [CONNECT_TIME {entier UNLIMITED DEFAULT}] [IDL_TIME {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_SESSION {entier UNLIMITED DEFAULT}] [LOGICAL_READS_PER_CALL {entier UNLIMITED DEFAULT}] [PRIVATE_SGA {entier [K M] UNLIMITED DEFAULT}] [FAILED_LOGIN_ATTEMPTS {entier UNLIMITED DEFAULT}] [PASSWORD_LIFE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX {entier UNLIMITED DEFAULT}] [PASSWORD_LOCK_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_GRACE_TIME {entier UNLIMITED DEFAULT}] [PASSWORD_VERIFY_FUNCTION {fonction NULL DEFAULT}] ; 70
Suppression d un profile DROP PROFILE nom_profile [CASCADE] ; L option CASCADE permet de supprimer le profil pour tous les utilisateurs concernés en le remplaçant par le profil DEFAULT 71