Nous allons voir dans cet article comment créer et configurer un utilisateur de base de données ou
un compte avec lequel vous pourrez vous connecter et effectuer des actions sur la base de donné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 un utilisateur
sur une base de données Oracle celui-ci ne dispose d'aucun droit, pour cela reportez vous à 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'utilisateur
Choisir une méthode d'authentification
Choisir les TABLESPACEs que l'utilisateur pourra utiliser
Définir les quotas sur chaques TABLESPACEs
Définir les TABLESPACEs par défaut de l'utilisateur
Créer l'utilisateur
Assigner les rôles et privilèges à l'utilisateur
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 de données est crée,
son schéma est automatiquement crée. Un utilisateur ne pourra alors être associé 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.
Cet utilisateur sera stocké dans le dictionnaire de données et disposera d'un espace de stockage pour
ses 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'éviter d'avoir trop de problèmes lors de l'ajout de nouveaux utilisateurs, il est fortement
recommandé de metttre 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ères
accentué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 alors sensible à 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 sur la base de données, le serveur Oracle doit pouvoir vérifier les accès
de l'utilisateur lorsque celui-ci se 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 mots de passe stockés dans la base de données. Cela signifie que la base de données devra
être ouverte pour q'un utilisateur puisse se connecter.
Pour créer un utilisateur authentifié par la base de données, vous devrez utiliser
la clause IDENTIFIED BY <password>.
Le mot de passe devra dans les cas par défaut commencer par une lettre, avoir une longueur
maximale de 30 caractères et ne pourra etre composé que de chiffres, lettre de l'alphabet,
et des symboles 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 qui nous permettra de faire débuter notre mots de passe par un chiffre et d'utiliser des
caractères accentués. Il est bon de savoir que Oracle préconise l'utilisation de caractères
mono-bytes même si 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 :
CREATE USER scott IDENTIFIED BY tiger;
Cette commande va donc créer un utilisateur SCOTT dont le mot de passe sera tiger.
Pour se connecter 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 tierce ou par le système d'exploitation. L'avantage majeur de cette solution réside
dans le fait que l'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 se déconnecter de sa machine, il sera alors très simple de
se connecter à la base sans avoir à fournir de 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 clause
IDENTIFIED EXTERNALLY.
Attention cette commande va nécessiter la configuration de quelques
paramètres Oracle avant de pouvoir fonctionner correctement.
Nous allons prendre pour les exemples suivants :
Un utilisateur local helyos
Un utilisateur helyos du domaine galaxy
Nous allons donc voir comment configurer le serveur pour autoriser l'authentification de ces utilisateurs 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 fichier init.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'utilisateur
Connexion 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 consulter la
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 valeur dans votre base de registre.
Dans HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEid (ou id correspond à l'instance qui devra authentifier 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_SERVICES dans 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 DBA
CONNECT 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
CONNECT 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 en
majuscule car nous utilisons des guillemets et Oracle devient alors sensible à la casse. Si vous ne
saisissez 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 soit
interprété comme étant une variable d'environnement.
Une fois ces commandes effectuées le nouvel utilisateur sera en mesure de se connecter sur la base 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. Donc voici les actions
à effectuer pour que celui-ci puisse se connecter à distance sur le serveur tout en étant authentifié par son OS.
La première chose à faire va être de mettre à TRUE la valeur du paramètre REMOTE_OS_AUTHENT dans le fichier init.ora du serveur.
Ce paramètre va permettre à des connexions distantes de pouvoir se connecter sur le serveur. Si vous oubliez de mettre à TRUE ce
paramètre vous obtiendrez alors les erreurs suivantes :
ORA-01004: default username feature not supported; logon denied
ORA-01988: remote os logon isnot 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 pourra utiliser
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 de l'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 tablespace SYSTEM, 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 des tablespaces 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 UNLIMITEDON TMP_USERS...
...
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ées et 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 le tablespace de données et TEMPORARY TABLESPACE pour le tablespace temporaire.
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 la
premiè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
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 sera tbs_users avec un quota de 10Mo, son tablespace
temporaire sera le TABLESPACE tmp_users avec un 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 sera authentifié par le système d'exploitation.
De plus il est important de savoir que seul l'utilisateur HELYOS du domaine GALAXY pourra se connecter avec ce nouvel utilisateur, et que l'utilisateur local 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 devrez utiliser.
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é
la fonction de vérification de mots de passe fournie par Oracle (script UTLPWDMG.SQL) ou que vous
avez crée la votre, vous allez devoir utiliser une option supplémentaire : l'option REPLACE avec l'ancien mot de passe
afin que celui-ci puisse être passé à la fonction de vérification de mot de passe.
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 exemple cet utilisateur dispose d'une procédure qui
ne pourra être lancée que par cet utilisateur car la condition 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 son mot de passe.
-- On se connecte en DBA
sqlplus system/<mot de passe>@< chaine de connexion >
-- On fait un export text des informations de l'utilisateur dont on souhaite prendre la place
SPOOL c:\saveuser.sql
SELECT 'ALTER USER '||username ||' IDENTIFIED BYVALUES '''||password||''' ;'
FROM dba_users
WHERE 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 utilisateur
CONNECT < login du user >/tata
-- On fait nos actions
...
-- On execute l'ordre SQL contenu dans saveuser.sqlALTER USER < login du user > IDENTIFIED BYVALUES '< mot de passe crypté >' ;
Cette méthode vous permet de prendre la place d'un utilisateur temporairement sans connaitre son mot de passe, et sans
que cela soit visible par l'utilisateur. L'option IDENTIFIED BY VALUES est une des 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ée lors de la création de l'utilisateur.
Cependant il est important de noter que si un utilisateur disposait de 1Mo de quotas sur un TABLESPACE 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 vous permettra de modifier les TABLESPACES par défaut de l'utilisateur.
Cela ne déplacera pas les objets des 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 pour organiser
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 :
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 la
premiè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 par dé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 être supprimé.
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 soit vide lors de
l'exécution de cette commande. Sinon il en résultera l'erreur suivante :
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 de l'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 devez alors 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 contraintes d'intégrités des tables et
toutes les contraintes d'intégrités dans les schémas d'autres utilisateurs qui faisaient références aux contraintes UNIQUE et PRIMARY KEY
du schéma qui est en cours de suppression.
Oracle supprimera aussi tous les index liés aux colonnes des tables, ainsi que tout les triggers, les types de données (avec l'option FORCE).
Oracle invalidera mais ne supprimera pas les objets contenus dans d'autres schéma mais qui faisaient 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 les utilisateurs que nous avons créés.
Les vues qui nous seront utiles sont les vues DBA_USERS et DBA_TS_QUOTAS (voire les vues USER_USERS qui contiendra les informations de l'utilisateur courant et USER_TS_QUOTAS qui contiendra 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é
ACCOUNT_STATUS
VARCHAR2(32) NOT NULL
Statut du compte:
OPEN : ouvert
EXPIRED : Doit changer son mot de passe
EXPIRED(GRACE) : Doit changer son mot de passe (en période de grace)
LOCKED(TIMED) : Vérouillé pour un certain temps
LOCKED : Vérouillé de manière définitive
EXPIRED & LOCKED(TIMED) : Doit changer son mot de passe et vérouillé pour un certain temps
EXPIRED(GRACE) & LOCKED(TIMED) : Doit changer son mot de passe (en période de grace) et vérouillé pour un certain temps
EXPIRED & LOCKED : Vérouillé et doit changer son mot de passe
EXPIRED(GRACE) & LOCKED : Doit changer son mot de passe (en période de grace) et vérouillé
LOCK_DATE
DATE
Date à laquelle le compte a été vérouillé si le status est LOCKED
EXPIRY_DATE
DATE
Date du prochain changement de mot de passe
DEFAULT_TABLESPACE
VARCHAR2(30) NOT NULL
TABLESPACE par défaut pour les données
TEMPORARY_TABLESPACE
VARCHAR2(30) NOT NULL
TABLESPACE par défaut pour les données temporaires
CREATED
DATE NOT NULL
Date de création de l'utilisateur
PROFILE
VARCHAR2(30) NOT NULL
Nom du profil assigné à l'utilisateur
INITIAL_RSRC_CONSUMER_GROUP
VARCHAR2(30)
Nom du groupe de consomation des ressources
EXTERNAL_NAME
VARCHAR2(4000)
Nom exterieur (pour option IDENTIFIED 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 NULL
Nom de l'utilisateur à qui ce quota est assigné
BYTES
NUMBER
Nombre de Bytes alloué actuellement à l'utilisateur sur le TABLESPACE
MAX_BYTES
NUMBER
Quota maximal en bytes de l'utilisateur sur ce TABLESPACE (contiendra -1 si il n'y a pas de limite)
BLOCKS
NUMBER NOT NULL
Nombre de blocs alloué actuellement à l'utilisateur sur le TABLESPACE
MAX_BLOCKS
NUMBER
Quota maximal en blocs de l'utilisateur sur ce TABLESPACE (contiendra -1 si il n'y a pas de limite)
Le guide Oracle par Orafrance, Helyos et SheikYerbouti
Responsable bénévole de la rubrique Oracle : Vincent Rogier - Contacter par EMail :