Upload
balzofaye
View
18
Download
0
Embed Size (px)
Citation preview
06/08/13 Gestion des utilisateurs
oracle.developpez.com/guide/administration/adminuser/ 1/10
Forums Tutoriels Magazine FAQs Blogs Projets Chat Newsletter Études Emploi Club Contacts
SGBD 4D Access DB2 Firebird InterBase MySQL NoSQL Oracle PostgreSQL SQL-Server Sybase
ACCUEIL ORACLE FORUM ORACLE F.A.Q ORACLE TUTORIELS ORACLE TUTORIELS SQL SCRIPTS SQL LIVRES ORACLE
QUIZ
Gestion des utilisateurs
Date de publication : 23/04/2004 , Date de mise a jour : 23/04/2004
Par Helyos
Administration Oracle : Utilisateurs
Pour revenir à la page d'administration Oracle : ICI.
Gestion des utilisateurs 1. Création des utilisateurs 1.1. Introduction 1.1.1. Définition d'un schéma 1.1.2. Définition d'un user 1.2. Choix du nom de l'utilisateur 1.3. Choisir la méthode d'authentification de l'utilisateur 1.3.1. Par la base de données 1.3.2. Par le système d'exploitation 1.3.2.1. Configuration sur le serveur 1.3.2.2. Configuration sur le client 1.4. Choisir les TABLESPACEs que l'utilisateur pourra utiliser 1.5. Définir les QUOTAs de l'utilisateur 1.6. Choisir les TABLESPACEs par défaut de l'utilisateur 1.7. Syntaxe complète de l'ordre CREATE USER 1.8. Exemples 2. Modifications d'un utilisateur 2.1. Modification de son mot de passe 2.2. Modification des quotas 2.3. Modification des TABLESPACES par défaut 2.4. Modification du status d'un utilisateur 2.5. Syntaxe complète de l'ordre ALTER USER 3. Suppressions d'un utilisateur 3.1. Supprimer un utilisateur avec un schéma vide 3.2. Supprimer un utilisateur avec son schéma 3.2. Syntaxe complète de l'ordre DROP USER 4. Informations sur les utilisateurs 4.1. Descriptif de la vue DBA_USERS 4.2. Descriptif de la vue DBA_TS_QUOTAS
Gestion des utilisateurs
1. Création des utilisateurs
Nous allons voir dans cet article comment créer et configurer un utilisateur de base de données ouun compte avec lequel vous pourrez vous connecter et effectuer des actions sur la base dedonnées en fonctions des droits qui vous serons alloués.
Il est aussi bon de savoir que contrairement à d'autres bases de données, quand vous créez unutilisateur sur une base de données Oracle celui-ci ne dispose d'aucun droit, pour cela reportezvous à la section "Administration des rôles et privilèges".
Voici les différentes étapes qui seront nécessaire à la création d'un utilisateur Oracle :
Choisir un nom d'utilisateurChoisir une méthode d'authentificationChoisir les TABLESPACEs que l'utilisateur pourra utiliserDéfinir les quotas sur chaques TABLESPACEsDéfinir les TABLESPACEs par défaut de l'utilisateurCréer l'utilisateurAssigner les rôles et privilèges à l'utilisateur
Accueil ALM Java .NET Dév. Web EDI Langages SGBD Office Solutions d'entreprise Applications Mobiles Systèmes
06/08/13 Gestion des utilisateurs
oracle.developpez.com/guide/administration/adminuser/ 2/10
1.1. Introduction
1.1.1. Définition d'un schéma
Un schéma est une collection (ou un ensemble) nommé d'objets tels que des tables, vues,clusters, procédure et packages associés à un utilisateur précis. Quand un utilisateur de base dedonnées est crée, son schéma est automatiquement crée. Un utilisateur ne pourra alors êtreassocié qu'à un seul schéma et réciproquement.
1.1.2. Définition d'un user
Un utilisateur de base de données va correspondre à un login qui aura reçu certains privilèges. Cetutilisateur sera stocké dans le dictionnaire de données et disposera d'un espace de stockage pourses objets qui seront alors stockés dans son schéma.
En Oracle on pourra assimiler un utilisateur avec son schéma.
1.2. Choix du nom de l'utilisateur
La première chose à faire pour créer un nouvel utilisateur va être de définir un login. Afin d'éviterd'avoir trop de problèmes lors de l'ajout de nouveaux utilisateurs, il est fortement recommandé demetttre une stratégie de nommage en place.
Par exemple tout les noms d'utilisateur devront être composé des 6 premières lettres de leur nom,d'un "_" et de la première lettre de leur prénom.
Par exemple : Albert Durand donnera comme login durand_a.
Il convient ensuite de connaitre les limitations et règles de nommage à respecter:
Taille maximale 30 caractères.Ne devra contenir que des lettres de [a-z] et des chiffres [0-9]. Tout les caractèresaccentués ou autres sont à éviter. Vous pourrez également utiliser les symboles #, $, _.Le login devra commencer par une lettre. Si vous désirez utiliser des logins composéuniquement de chiffres vous devrez alors entourer votre login entre des ".
Note : Il faudra faire attention lors de l'utilisation des " sur un login car Oracle deviendra alorssensible à la casse.
"DURAND_D" ne sera pas identique à "durand_d".
1.3. Choisir la méthode d'authentification de l'utilisateur
Afin d'authentifier un utilisateur et de définir les actions que celui-ci sera en mesure d'effectuer surla base de données, le serveur Oracle doit pouvoir vérifier les accès de l'utilisateur lorsque celui-cise connecte.
Il existe différents type d'authentification :
Authentification par la base de données.Authentification par le système d'exploitation.Authentification par le réseau.
1.3.1. Par la base de données
Ce mode, le plus courant, est le mode par défaut. En clair l'utilisateur est authentifié avec le motsde passe stockés dans la base de données. Cela signifie que la base de données devra êtreouverte pour q'un utilisateur puisse se connecter.
Pour créer un utilisateur authentifié par la base de données, vous devrez utiliser la clauseIDENTIFIED BY <password>.
Le mot de passe devra dans les cas par défaut commencer par une lettre, avoir une longueurmaximale de 30 caractères et ne pourra etre composé que de chiffres, lettre de l'alphabet, et dessymboles suivants : #, _, $ (bien que Oracle ne préconise pas l'utilisation de # et $)
Toutefois il est possible d'outrepasser ces conventions en entourant le mot de passe de ". Ce quinous permettra de faire débuter notre mots de passe par un chiffre et d'utiliser des caractèresaccentués. Il est bon de savoir que Oracle préconise l'utilisation de caractères mono-bytes mêmesi la base de données supporte les caractères multi-bytes.
Voici un exemple de création simple d'un utilisateur authentifié par la base de données :
06/08/13 Gestion des utilisateurs
oracle.developpez.com/guide/administration/adminuser/ 3/10
CREATE USER scott IDENTIFIED BY tiger;
Cette commande va donc créer un utilisateur SCOTT dont le mot de passe sera tiger. Pour seconnecter il devra utiliser la commande suivante (après lui avoir attribué les droits nécessaires)
CONNECT scott/tiger@<chaîne d'hôte>;
1.3.2. Par le système d'exploitation
Ce mode permettra à Oracle de se baser sur l'authentification de l'utilisateur par un système tierceou par le système d'exploitation. L'avantage majeur de cette solution réside dans le fait quel'utilisateur n'aura alors besoin de s'authentifier qu'une seule fois sur son système d'exploitation.
Cependant cette solution apporte aussi son lot de faille de sécurité car si l'utilisateur oublie de sedéconnecter de sa machine, il sera alors très simple de se connecter à la base sans avoir à fournirde mot de passe. Oracle ne recommande pas l'utilisation de ce mode d'authentification.
Pour créer un utilisateur authentifié de manière extérieure, vous devrez utilisez la clauseIDENTIFIED EXTERNALLY.
Attention cette commande va nécessiter la configuration de quelques paramètres Oracle avant depouvoir fonctionner correctement.
Nous allons prendre pour les exemples suivants :
Un utilisateur local helyosUn utilisateur helyos du domaine galaxy
Nous allons donc voir comment configurer le serveur pour autoriser l'authentification de cesutilisateurs par le système d'exploitation. Puis nous verrons comment configurer le client.
1.3.2.1. Configuration sur le serveur
La 1ère étape sera de configurer la valeur du paramètre OS_AUTHENT_PREFIX (dans le fichierinit.ora). Ce paramètre servira à Oracle pour être en mesure de déterminer les utilisateurs devantêtre authentifiés par une application tierce.
Il est vivement conseiller de laisser la valeur par défaut OPS$
Valeur de OS_AUTHENT_PREFIX Login de l'utilisateurConnexion distante
possible
OS_ OS_DURAND_D Non
Pas de préfixe DURAND_D Non
OPS$ (valeur par défaut) ou vide OPS$DURAND_D Oui
La 2ème étape sera de créer un utilisateur OS local ou de domaine. Pour ce point veuillez consulterla documentation de votre système d'exploitation.
La 3ème étape va dépendre du type d'utilisateur système que vous voulez autoriser.
Sur Windows, si l'utilisateur ne fais pas partie d'un domaine, vous allez devoir rajouter une valeurdans votre base de registre. Dans HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEid (ou id correspond à l'instance qui devraauthentifier les utilisateurs à l'aide du système).
Rajouter la clé OSAUTH_PREFIX_DOMAIN (de type valeur de chaîne extensible) et lui donner la
valeur TRUE.
La 4ème étape consistera à vérifier la valeur du paramètre SQLNET.AUTHENTICATION_SERVICESdans le fichier sqlnet.ora. Celui-ci devra contenir la valeur NTS.
La 5ème étape consistera à créer explicitement le nouvel utilisateur de la base de données.
On lance SQL*Plus
SQLPLUS /nolog
Puis on effectue les actions suivantes si l'utilisateur est un utilisateur OS local :
-- On se connecte en tant que DBACONNECT system/<mot de passe>-- Si l'utilisateur est un utilisateur local on lance cette commandeCREATE USER ops$helyos IDENTIFIED EXTERNALLY;-- On lui donne ensuite les droits par défaut GRANT connect, resource TO ops$helyos;
Si l'utilisateur est un utilisateur OS d'un domaine :
-- On se connecte en tant que DBA
06/08/13 Gestion des utilisateurs
oracle.developpez.com/guide/administration/adminuser/ 4/10
-- On se connecte en tant que DBACONNECT system/<mot de passe>-- Si l'utilisateur est un utilisateur local on lance cette commandeCREATE USER "OPS$GALAXY\HELYOS" IDENTIFIED EXTERNALLY;-- On lui donne ensuite les droits par défaut GRANT connect, resource TO "OPS$GALAXY\HELYOS";
Attention dans le deuxième cas il sera très important de mettre le nouveau nom d'utilisateur enmajuscule car nous utilisons des guillemets et Oracle devient alors sensible à la casse. Si vous nesaisissez pas le login en majuscule vous devriez avoir l'erreur ORA-01017.
De plus sous Unix, il sera très important de préfixer le $ par un \ pour éviter que celui-ci ne soitinterprété comme étant une variable d'environnement.
Une fois ces commandes effectuées le nouvel utilisateur sera en mesure de se connecter sur labase de données en utilisant la commande à partir du serveur.
SQLPLUS /
1.3.2.2. Configuration sur le client
Comme la majeure partie du temps l'utilisateur lambda n'a pas accès directement au serveur. Doncvoici les actions à effectuer pour que celui-ci puisse se connecter à distance sur le serveur touten étant authentifié par son OS.
La première chose à faire va être de mettre à TRUE la valeur du paramètre REMOTE_OS_AUTHENTdans le fichier init.ora du serveur. Ce paramètre va permettre à des connexions distantes depouvoir se connecter sur le serveur. Si vous oubliez de mettre à TRUE ce paramètre vousobtiendrez alors les erreurs suivantes :
ORA-01004: default username feature not supported; logon denied ORA-01988: remote os logon is not allowed
Ensuite le reste de la configuration est très simple puisqu'il vous faudra juste avoir un compte local
ou un compte de domaine sur la machine.
Vérifier la valeur du paramètre SQLNET.AUTHENTICATION_SERVICES dans le fichier sqlnet.ora.Celui-ci devra contenir la valeur NTS.
Configurer le client Net8 pour pouvoir accéder à la base de données
Se connecter en utilisant la commande :
SQLPLUS /@<chaîne de connection>
1.4. Choisir les TABLESPACEs que l'utilisateur pourrautiliser
Il va maintenant falloir choisir le domaine d'action du nouvel utilisateur.
En effet, pour des raisons de sécurités évidentes, nous allons restreindre le champ d'action del'utilisateur en choisissant les tablespaces que celui-ci sera en mesure d'utiliser.
En premier lieu il est très fortement déconseillé d'autoriser un utilisateur à utiliser le tablespaceSYSTEM, qui doit impérativement rester dédié au dictionnaire de données.
Il va donc falloir identifier tous les tablespaces nécessaire à l'utilisateur, que ce soit destablespaces de données, d'index, ou temporaire. Il n'y a pas de syntaxe particulière pour cetteétape.
1.5. Définir les QUOTAs de l'utilisateur
Une fois les tablespaces identifiés, l'étape suivante va consister à définir l'espace alloué àl'utilisateur sur chacun des tablespaces.
Voici les différentes options disponibles pour les quotas :
Une taille en K (KiloBytes) ou en M (MegaBytes)Unlimited
Par défaut le nouvel utilisateur dispose d'un quota null sur tous les tablespaces.
Voici un exemple d'assignation de quotas sur différents TABLESPACES :
...QUOTA 5M ON TBS_USERS QUOTA UNLIMITED ON TMP_USERS......
1.6. Choisir les TABLESPACEs par défaut de l'utilisateur
06/08/13 Gestion des utilisateurs
oracle.developpez.com/guide/administration/adminuser/ 5/10
1.6. Choisir les TABLESPACEs par défaut de l'utilisateur
Cette étape est absolument indispensable, elle va permettre de définir le tablespace de donnéeset le tablespace temporaire de l'utilisateur. Cette étape est indispensable pour éviter touteécriture dans le tablespace SYSTEM (qui est assigné si aucun tablespace par défaut n'est défini).
Vous devrez définir ces deux tablespaces avec les options DEFAULT TABLESPACE pour letablespace de données et TEMPORARY TABLESPACE pour le tablespace temporaire.
Voici un exemple d'utilisation :
...DEFAULT TABLESPACE tbs_user TEMPORARY TABLESPACE tmp_user...
1.7. Syntaxe complète de l'ordre CREATE USER
Voici la structure complète d'un ordre CREATE USER :
Voici une explication de tous les mots clé.
utilisateur :Login du futur utilisateur (voir paragraphe 1.2)
IDENTIFIED BY mot de passe :Active l'authentification par la base de données avec le mot de passe spécifié.
IDENTIFIED EXTERNALLY :Active l'authentification par le système d'exploitation
IDENTIFIED GLOBALLY AS 'nom externe' :Active l'authentification par un LDAP externe.
DEFAULT TABLESPACE nom du tablespace :Permet d'attribuer un TABLESPACE de données par défaut à l'utilisateur.
TEMPORATY TABLESPACE nom du tablespace :Permet d'attribuer un TABLESPACE temporaire par défaut à l'utilisateur.
QUOTA options ON nom du tablespace :Permet de définir le quota d'espace attribué à l'utilisateur sur un TABLESPACE précis.
PROFILE nom du profil :Permet d'attribuer un profil limitant les ressources système de l'utilisateur.
PASSWORD EXPIRE :Permet de faire expirer le mot de passe de l'utilisateur pour que celui-ci le change lors de lapremière connexion.
ACCOUNT LOCK / UNLOCK :Permet d'activer ou de désactiver un compte utilisateur.
1.8. Exemples
Voici quelques exemples de création d'utilisateurs Oracle :
CREATE USER Helyos
06/08/13 Gestion des utilisateurs
oracle.developpez.com/guide/administration/adminuser/ 6/10
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;
L'utilisateur helyos aura donc le mot de passe mypass1. Son TABLESPACE par défaut seratbs_users avec un quota de 10Mo, son tablespace temporaire sera le TABLESPACE tmp_users avecun quota de 5M. Il aura aussi la possibilité d'utiliser le TABLESPACE tools avec un quota de 5Mo. Il devra changer son mot de passe lors de la connexion et se verra attribuer le profil app_user.
CREATE USER "OPS$GALAXY\HELYOS" 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;
L'utilisateur aura les mêmes attributs que celui de l'exemple préc édent mais celui-ci seraauthentifié par le système d'exploitation. De plus il est important de savoir que seul l'utilisateurHELYOS du domaine GALAXY pourra se connecter avec ce nouvel utilisateur, et que l'utilisateurlocal HELYOS ne pourra pas utiliser ce nouveau compte.
2. Modifications d'un utilisateur
2.1. Modification de son mot de passe
Si vous souhaitez changer le mot de passe d'un utilisateur voici la commande que vous devrezutiliser.
ALTER USER < login de l'utilisateur > IDENTIFIED BY < nouveau mot de passe >
Cette commande permettra de modifier le mot de passe d'un utilisateur. Si vous avez utilisé lafonction de vérification de mots de passe fournie par Oracle (script UTLPWDMG.SQL) ou que vousavez crée la votre, vous allez devoir utiliser une option supplémentaire : l'option REPLACE avecl'ancien mot de passe afin que celui-ci puisse être passé à la fonction de vérification de mot depasse.
Exemple :
ALTER USER < login de l'utilisateur > IDENTIFIED BY < nouveau mot de passe > REPLACE < ancien mot de passe >
Pour les DBAs :
Vous pouvez parfois, en tant que DBA, être confronté au type de problème suivant :
Devoir utiliser le compte d'un autre utilisateur mais sans changer son mot de passe. (Par exemplecet utilisateur dispose d'une procédure qui ne pourra être lancée que par cet utilisateur car lacondition a été codée dans la procédure).
Voici une méthode qui va vous permettre de prendre la place de cet utilisateur sans changer sonmot de passe.
-- On se connecte en DBAsqlplus system/<mot de passe>@< chaine de connexion > -- On fait un export text des informations de l'utilisateur dont on souhaite prendre la placeSPOOL c:\saveuser.sqlSELECT 'ALTER USER '||username ||' IDENTIFIED BY VALUES '''||password||''' ;'FROM dba_usersWHERE username='< login du user >';SPOOL OFF
-- On change son mot de passALTER USER < login du user > IDENTIFIED BY tata;
-- On se connecte en tant que l'autre utilisateurCONNECT < login du user >/tata
-- On fait nos actions...
-- On execute l'ordre SQL contenu dans saveuser.sqlALTER USER < login du user > IDENTIFIED BY VALUES '< mot de passe crypté >' ;
Cette méthode vous permet de prendre la place d'un utilisateur temporairement sans connaitre sonmot de passe, et sans que cela soit visible par l'utilisateur. L'option IDENTIFIED BY VALUES est une
06/08/13 Gestion des utilisateurs
oracle.developpez.com/guide/administration/adminuser/ 7/10
mot de passe, et sans que cela soit visible par l'utilisateur. L'option IDENTIFIED BY VALUES est unedes nombreuses commandes cachées d'Oracle.
2.2. Modification des quotas
La syntaxe de modification des quotas d'un utilisateur n'est pas différente de la syntaxe utiliséelors de la création de l'utilisateur.
Cependant il est important de noter que si un utilisateur disposait de 1Mo de quotas sur unTABLESPACE et qu'il en avait utilisé la moitié avec des tables, et bien 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 sinifiera que ses tables ne pourront pas s'allouer d'extents supplémentaires.
Exemple :
ALTER USER scott QUOTA 15M ON tbs_users QUOTA 0M ON tools;
2.3. Modification des TABLESPACES par défaut
La syntaxe à utiliser n'est pas différente de la syntaxe de création. Cette commande vouspermettra de modifier les TABLESPACES par défaut de l'utilisateur. Cela ne déplacera pas les objetsdes anciens TABLESPACES.
Exemple :
ALTER USER scott DEFAULT TABLESPACE tbs_users2 TEMPORARY TABLESPACE tmp2;
2.4. Modification du status d'un utilisateur
Pour des raisons de sécurité, il peut parfois être utile de vérouiller le compte d'un utilisateur pouréviter que celui-ci soit utilisé de manière frauduleuse. Cette méthode peut aussi être utilisée pourorganiser des objets dans un schéma sans que l'on puisse utiliser l'utilisateur en question.
Voici un exemple d'activation et de verrouillage d'un compte utilisateur :
-- Verrouillage du compteALTER USER scott ACCOUNT LOCK;
-- Activation du compteALTER USER scott ACCOUNT UNLOCK;
2.5. Syntaxe complète de l'ordre ALTER USER
Voici la structure complète d'un ordre ALTER USER :
06/08/13 Gestion des utilisateurs
oracle.developpez.com/guide/administration/adminuser/ 8/10
Voici une explication de tous les mots clé.
utilisateur :Login du futur utilisateur
IDENTIFIED BY mot de passe :Active l'authentification par la base de données avec le mot de passe spécifié.
IDENTIFIED EXTERNALLY :Active l'authentification par le système d'exploitation
IDENTIFIED GLOBALLY AS 'nom externe' :Active l'authentification par un LDAP externe.
DEFAULT TABLESPACE nom du tablespace :Permet d'attribuer un TABLESPACE de données par défaut à l'utilisateur.
TEMPORATY TABLESPACE nom du tablespace :Permet d'attribuer un TABLESPACE temporaire par défaut à l'utilisateur.
QUOTA options ON nom du tablespace :Permet de définir le quota d'espace attribué à l'utilisateur sur un TABLESPACE précis.
PROFILE nom du profil :Permet d'attribuer un profil limitant les ressources système de l'utilisateur.
PASSWORD EXPIRE :Permet de faire expirer le mot de passe de l'utilisateur pour que celui-ci le change lors de lapremière connexion.
ACCOUNT LOCK / UNLOCK :Permet d'activer ou de désactiver un compte utilisateur.
DEFAULT ROLE :Ces options vont permettre de définir lors de la modification d'un utilisateur son ou ses rôles pardéfaut. Ces rôles seront activés lors de la connexion de l'utilisateur.
Nous ne traiterons pas ici la clause proxy.
3. Suppressions d'un utilisateur
Nous allons maintenant voir comment supprimer un utilisateur et son schéma.
Il est important de noter qu'un utilisateur actuellement connecté à la base ne pourra pas êtresupprimé.
Par exemple :
SQL> DROP USER scott CASCADE;DROP USER scott CASCADE*ERREUR à la ligne 1 :ORA-01940: impossible supprimer un utilisateur qui est connecté
3.1. Supprimer un utilisateur avec un schéma vide
Pour cette méthode nous utiliserons juste la commande DROP USER.
Cette méthode est la méthode par défaut. Il faut juste vérifier que le schéma de l'utilisateur soitvide lors de l'exécution de cette commande. Sinon il en résultera l'erreur suivante :
06/08/13 Gestion des utilisateurs
oracle.developpez.com/guide/administration/adminuser/ 9/10
SQL> DROP USER scott;DROP USER scott*ERREUR à la ligne 1 :ORA-01922: CASCADE à spécifier pour supprimer 'SCOTT'
Cette erreur est due au fait que Oracle ne supprimera pas les objets à l'intérieur du schéma del'utilisateur et qu'il vous faudra utiliser l'option CASCADE du chapitre suivant.
Voici un exemple de suppression d'un utilisateur ayant un schéma vide :
SQL> DROP USER test;
Utilisateur supprimé.
3.2. Supprimer un utilisateur avec son schéma
Lorsque vous souhaitez supprimer un utilisateur et tous les objets de son schéma, vous devezalors utiliser l'option CASCADE.
Cette option va automatiquement effacer tout les objets contenus dans le schéma de l'utilisateur. Si le schéma contient des tables, Oracle effacera alors automatiquement toute les contraintesd'intégrités des tables et toutes les contraintes d'intégrités dans les schémas d'autres utilisateursqui faisaient références aux contraintes UNIQUE et PRIMARY KEY du schéma qui est en cours desuppression.
Oracle supprimera aussi tous les index liés aux colonnes des tables, ainsi que tout les triggers, lestypes de données (avec l'option FORCE).
Oracle invalidera mais ne supprimera pas les objets contenus dans d'autres schéma mais quifaisaient références au schéma supprimé.
Par contre, Oracle ne supprimera pas les rôles créés par l'utilisateur.
Voici un exemple de suppression d'un utilisateur et de son schéma :
SQL> DROP USER scott CASCADE;
Utilisateur supprimé.
3.2. Syntaxe complète de l'ordre DROP USER
Voici la structure complète d'un ordre DROP USER :
Voici une explication de tous les mots clé.
utilisateur :Login de l'utilisateur à supprimer.
CASCADE :Permet de supprimer le contenu du schéma de l'utilisateur qui sera supprimé.
4. Informations sur les utilisateurs
Nous allons ici voir les différentes vues qui seront utile pour obtenir des informations sur lesutilisateurs que nous avons créés.
Les vues qui nous seront utiles sont les vues DBA_USERS et DBA_TS_QUOTAS (voire les vuesUSER_USERS qui contiendra les informations de l'utilisateur courant et USER_TS_QUOTAS quicontiendra les informations sur les quotas de l'utilisateur courant).
4.1. Descriptif de la vue DBA_USERS
Colonne Type Description
USERNAME VARCHAR2(30) NOT NULL Login de l'utilisateur
USER_ID NUMBER NOT NULL ID de l'utilisateur
PASSWORD VARCHAR2(30) Mot de passe encrypté
Statut du compte: OPEN :ouvert EXPIRED : Doitchanger son mot de passeEXPIRED(GRACE) : Doitchanger son mot de passe(en période de grace)LOCKED(TIMED) : Vérouillé
06/08/13 Gestion des utilisateurs
oracle.developpez.com/guide/administration/adminuser/ 10/10
Developpez.com
Nous contacterParticipezInformations légales
Services
Forum OracleBlogsHébergement
Partenaires
Hébergement Web
ACCOUNT_STATUS VARCHAR2(32) NOT NULL
LOCKED(TIMED) : Vérouillépour un certain tempsLOCKED : Vérouillé demanière définitive EXPIRED& LOCKED(TIMED) : Doitchanger son mot de passeet vérouillé pour uncertain tempsEXPIRED(GRACE) &LOCKED(TIMED) : Doitchanger son mot de passe(en période de grace) etvérouillé pour un certaintemps EXPIRED & LOCKED: Vérouillé et doit changerson mot de passeEXPIRED(GRACE) &LOCKED : Doit changerson mot de passe (enpériode de grace) etvérouillé
LOCK_DATE DATEDate à laquelle le comptea été vérouillé si le statusest LOCKED
EXPIRY_DATE DATEDate du prochainchangement de mot depasse
DEFAULT_TABLESPACE VARCHAR2(30) NOT NULLTABLESPACE par défautpour les données
TEMPORARY_TABLESPACE VARCHAR2(30) NOT NULLTABLESPACE par défautpour les donnéestemporaires
CREATED DATE NOT NULLDate de création del'utilisateur
PROFILE VARCHAR2(30) NOT NULLNom du profil assigné àl'utilisateur
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)Nom du groupe deconsomation desressources
EXTERNAL_NAME VARCHAR2(4000)Nom exterieur (pour optionIDENTIFIED GLOBALLY)
4.2. Descriptif de la vue DBA_TS_QUOTAS
Colonne Type Description
TABLESPACE_NAME VARCHAR2(30) NOT NULL Nom du TABLESPACE
USERNAME VARCHAR2(30) NOT NULLNom de l'utilisateur à qui cequota est assigné
BYTES NUMBERNombre de Bytes allouéactuellement à l'utilisateursur le TABLESPACE
MAX_BYTES NUMBER
Quota maximal en bytes del'utilisateur sur ceTABLESPACE (contiendra -1si il n'y a pas de limite)
BLOCKS NUMBER NOT NULLNombre de blocs allouéactuellement à l'utilisateursur le TABLESPACE
MAX_BLOCKS NUMBER
Quota maximal en blocs del'utilisateur sur ceTABLESPACE (contiendra -1si il n'y a pas de limite)
Le guide O rac le par O rafrance, Helyos et SheikYerbouti
Responsable bénévole de la rubrique Oracle : le Rédacteur en Chef - Contacter par email
Copyright © 2000-2013 - www.developpez.com