+ Répondre à la discussion
Affichage des résultats 1 à 12 sur 12
  1. #1
    Invité régulier
    Inscrit en
    décembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 21
    Points : 8
    Points
    8

    Par défaut Problème droit sur un tablespace

    Bonjour,

    Je continue mes premiers pas sous Oracle et je trouve ca assez sympathique.

    Par contre, je me suis heurté à un problème lorsque je crée des utilisateurs

    En tant que SYS :

    - J'ai créé un tablespace "tbs_toto".
    - Je crée l'utilisateur "toto" auquel je donne que "default tablespace" : "tbs_toto".
    La création se passe bien.
    - Je mets des droits à "toto" , entre autre : "create session, create table, create tablespace, alter tablespace, drop tablespace".

    En tant que toto:

    - je me loggue en tant que toto >> ca marche bien
    - je tente de créer une table >> ca marche po ... j'ai pas les droits sur le tablespace "tbs_toto".

    Après avoir cherché, je n'ai pas trouvé dans la commande "alter tablespace" de clause pour modifier le owner du tablespace.

    Je me demande s'il y a un moyen de permettre l'accès à "toto" à ce tablespace mais je n'ai pas trouvé

    Voila mon problème.

    Merci d'avance pour vos réponses.

  2. #2
    Membre éprouvé

    Inscrit en
    juin 2004
    Messages
    487
    Détails du profil
    Informations forums :
    Inscription : juin 2004
    Messages : 487
    Points : 414
    Points
    414

    Par défaut

    Quel message d'erreur obtiens tu?

    Ne serait-ce pas du au fait aue tu n'as pas mis de quotas d'écriture sur ce tablespace?

  3. #3
    Invité régulier
    Inscrit en
    décembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 21
    Points : 8
    Points
    8

    Par défaut

    j'ai l'erreur

    ora-01950 : no privileges on tablespace 'toto'
    et je ne sais pas comment mettre des privilèges sur un tablespace hormis avec le

    Code :
    1
    2
     
    grant create tablespace, alter tablespace, drop tablespace, manage tablespace to toto;

  4. #4
    Membre éprouvé

    Inscrit en
    juin 2004
    Messages
    487
    Détails du profil
    Informations forums :
    Inscription : juin 2004
    Messages : 487
    Points : 414
    Points
    414

    Par défaut

    Code :
    alter user toto  quota {100M|unlimited} on  TBS_TOTO

  5. #5
    Invité régulier
    Inscrit en
    décembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 21
    Points : 8
    Points
    8

    Par défaut

    Enorme ca fonctionne... en réalité c'était dans la doc que gt en train de lire mais je n'avais pas saisi l'utilité de cette commande.

    Merci 1000 fois :d

  6. #6
    Futur Membre du Club
    Inscrit en
    mai 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : mai 2004
    Messages : 43
    Points : 16
    Points
    16

    Par défaut Réouverture de post

    Bonjour,

    Je suis en cours de migration d'une base Oracle de 8i vers 10g.
    J'ai créé la base, le dico, les tablespaces, les rollback segments et les user. Et j'essaye d'importer un dump de la version 8i sur la base 10g et lors de cette manip j'ai le message suivant :

    Code :
    1
    2
    3
    4
    IMP-00017: following statement failed with ORACLE error 1950:
     "CREATE TABLE "ARTICLE ..." 
    IMP-00003: ORACLE error 1950 encountered
    ORA-01950: no privileges on tablespace 'TAB_USER01_M'

    et mon utilisateur linux avec lequel je lance l'import a été créé de la manière suivante :

    Code :
    1
    2
    3
    4
    CREATE USER OPS$userlinux identified externally
    default tablespace TAB_USER01_M
    temporary tablespace TMP ;
    GRANT CONNECT, RESOURCE          to OPS$userlinux ;
    Y'a-t-il une manip que je vais devoir faire systématiquement à l'import de mon dump ? ou juste la première fois ?
    Je ne connais pas la commande ci-dessus qui semble avoir réglé le problème de Wazar.
    Pourquoi maintenant en aurais-je besoin ?

    Merci d'avance pour votre aide.


    Elise78

  7. #7
    Futur Membre du Club
    Inscrit en
    mai 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : mai 2004
    Messages : 43
    Points : 16
    Points
    16

    Par défaut Tentative

    J'ai quand même tenté la manip sur le user linux et sur le user oracle que j'importais :
    Code :
    1
    2
    ALTER user usr_base quota 100M ON  TAB_USER01_M ;
    ALTER user usr_linux quota 100M ON  TAB_USER01_M ;
    Rien n'a marché

    Elise78

  8. #8
    Membre du Club
    Inscrit en
    février 2003
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 98
    Points : 46
    Points
    46

    Par défaut

    Bonjour

    Je relance cette discussion car il y a une chose que je ne comprends pas.

    Pour moi, affecter un quota sert à limiter les ressources. Si on n'utilise pas la clause quota lors de la création du user, celui-ci devrait donc pouvoir créer ce qu'il veut dans le tablespace, non ?

    Ou il y a un quota par défaut à la création du user ?

    Merci par avance pour vos réponses.

  9. #9
    Expert Confirmé

    Inscrit en
    février 2006
    Messages
    3 435
    Détails du profil
    Informations forums :
    Inscription : février 2006
    Messages : 3 435
    Points : 3 897
    Points
    3 897

    Par défaut

    Par défaut un utilisateur n'a aucun quota sur aucun tablespace.

  10. #10
    Membre du Club
    Inscrit en
    février 2003
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 98
    Points : 46
    Points
    46

    Par défaut

    Par défaut un utilisateur n'a aucun quota sur aucun tablespace.
    Excuse moi pifor j'ai du mal a expliquer correctement ma question
    Quota signifie-t-il autorisation ou restriction ?
    La clause quota est-elle obligatoire dans le create user ?
    Il me semble qu'en 9i elle ne l'était pas : on faisait juste par exemple :
    Code :
    1
    2
    3
     
    create user toto identified by toto default tablespace users;
    grant create session, create table to toto;
    Et hop on pouvait créer n'importe quelle table sous toto dans le tablespace users.
    Mais je me trompe peut-être (sûrement) !

  11. #11
    Expert Confirmé

    Inscrit en
    février 2006
    Messages
    3 435
    Détails du profil
    Informations forums :
    Inscription : février 2006
    Messages : 3 435
    Points : 3 897
    Points
    3 897

    Par défaut

    Un quota dans Oracle est un forme de privilège et il n'est pas obligatoire dans CREATE USER. La clause DEFAULT TABLESPACE définit un tablespace par défaut pour le stockage des objets créés par l'utilisateur mais ne donne pas le droit d'utiliser de l'espace (c'est ce que fait le quota).

    Voir le 10.2 Security Guide http://download.oracle.com/docs/cd/B...htm#DBSEG10220

    Cela ne semble pas différent en 9.2: http://download.oracle.com/docs/cd/B...sers.htm#15298

  12. #12
    Membre du Club
    Inscrit en
    février 2003
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 98
    Points : 46
    Points
    46

    Par défaut

    Ok merci c'est clair.

    J'ai trouvé qu'en 9i, je faisais non pas un
    Code :
    grant create session, create table to toto;
    mais un
    Code :
    grant create session, resource to toto;
    et sans jamais utiliser quota, je pouvais créer tout ce que je voulais.
    Il semble donc que le rôle resource donne automatiquement un privilege unlimited tablespace ...

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •