IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Création d'un schéma


Sujet :

SQL Oracle

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 51
    Points : 160
    Points
    160
    Par défaut Création d'un schéma
    Bonjour,

    Je suis peut-être un boulet, mais je n'arrives pas à créer de schema sur Oracle 12c (édition standard) que j'ai installé sur mon poste personnel pour de petit projet..

    Je me suis connecté à la base via l'utilisateur "SYSTEM".

    J'ai vérifier les rôles attribués à cet utilisateur via la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select *
    from dba_role_privs
    where GRANTEE = 'SYSTEM';
    Je vois les rôles "DBA" et "AQ_ADMINISTRATOR_ROLE" attribué, jusque là tout vas bien.

    J’exécute ensuite la requête suivante afin de voir les autorisations du rôle DBA (que j'ai aussi exécute pour l'utilisateur SYSTEM, mais retournant moins de résultat, et rien concernant les schémas.)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select * 
    from dba_sys_privs
    where grantee = 'DBA'
    and ( PRIVILEGE like '%SCHEMA%' or Privilege like '%TABLE%' );
    Je retrouves comme autorisations "CREATE TABLESPACE", "ALTER TABLESPACE", "DROP TABLESPACE" ou encore "MANAGE TABLESPACE", de ce que j'ai compris c'est différent d'un schéma, même si j'avoue ne pas trop avoir saisie la nuance.

    Lorsque j'essaie donc de créer un schéma avec la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create schema authorization toto
    Je reçois le message d'erreur suivant

    Erreur SQL : ORA-02421: identificateur d'autorisation de schéma absent ou erroné
    02421. 00000 - "missing or invalid schema authorization identifier"
    *Cause: the schema name is missing or is incorrect in an authorization
    clause of a create schema statement.
    *Action: If the name is present, it must be the same as the current
    schema.

    Je voulais savoir comment créer un schéma lorsque l'on a bien le rôle DBA mais apparemment pas l'autorisation de créer un schéma ?

    Si je cherches à créer un schéma c'est parce que lorsque je me connecte via talend il me demande le schéma que je souhaites utilisé et j'ai pas trop envie d'utiliser le schéma SYS pour ajouter des tables..

    La création d'un USER (qui implique création de schéma de ce que j'ai compris ?) ne serait pas plus simple ?

    Je vous remercie de vos réponses

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Citation Envoyé par Fuigi Voir le message
    Si je cherches à créer un schéma c'est parce que lorsque je me connecte via talend il me demande le schéma que je souhaites utilisé et j'ai pas trop envie d'utiliser le schéma SYS pour ajouter des tables..
    Effectivement ne jamais utiliser sys ou system (ou les autres users oracle) pour stocker des données ou pour des besoins applicatifs.

    Citation Envoyé par Fuigi Voir le message
    La création d'un USER (qui implique création de schéma de ce que j'ai compris ?) ne serait pas plus simple ?
    Oui vous devez créer un user et lui donner des droits :
    Différence entre USER et SCHEMA ?

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 561
    Points
    52 561
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Fuigi Voir le message
    La création d'un USER (qui implique création de schéma de ce que j'ai compris ?) ne serait pas plus simple ?
    Effectivement Oracle étant à l'origine monobase impose l'usage d'un utilisateur distinct et obligatoire pour tout schéma, le nom du schéma étant le même que le nom de son propriétaire...

    Ceci n'est pas requis par la norme SQL et la plupart des autres SGBDR dissocient les notions d'utilisateur SQL, de propriétaire et de schéma SQL pour une meilleurs sécurité !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 51
    Points : 160
    Points
    160
    Par défaut
    Bonjour,

    Alors d'abord je vous remercie de vos explications.

    D'abord j'ai eu du mal a créer un utilisateur. J'ai cru être une buse

    En cherchant sur internet, de ce que j'ai compris, un utilisateur doit être préfixé de "C##" ?

    J'ai trouvé donc une manipulation pour contourner cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter session set "_ORACLE_SCRIPT"=true;
    Aucun problème avec cette ligne de code ?

  5. #5
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Si vous utilisez des paramètres cachées sans autorisation de la part de l'assistance Oracle! Et certainement vous ne connaissez pas qu'elle est l'impact de ce paramètre.
    Voila un lien vers la documentation de la commande Create User. Sur e même site il y a un tutoriel de type 2 jours DBA qu'il sera sage de lire avant de faire des bêtises. Et si vous voulez travailler avec Oracle la lecture d'Oracle Concepts est impérative.

Discussions similaires

  1. Création base avec schéma
    Par freerider74 dans le forum C#
    Réponses: 2
    Dernier message: 13/07/2009, 21h31
  2. Aide pour la création d'un schéma
    Par fasyr dans le forum Valider
    Réponses: 2
    Dernier message: 06/11/2007, 14h58
  3. Connaitre la date de création d'un schéma
    Par ziffox dans le forum Administration
    Réponses: 4
    Dernier message: 28/08/2007, 17h39
  4. création d'un schémas uml
    Par pierrot2908 dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 13/04/2007, 12h00
  5. Réponses: 6
    Dernier message: 05/11/2005, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo