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

Administration Oracle Discussion :

Export de procédures d'un schéma vers un autre


Sujet :

Administration Oracle

  1. #1
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut Export de procédures d'un schéma vers un autre
    Bonjour,

    Je suis confronté à un problème sur le projet auquel je participe.

    Nous avons un schema de travail appelé BILLING.
    Et plusieurs autres schémas appelés (entre autre) VIEWCUST et VIEWSUP qui ont le droit de voir les données du schéma de travail par l'utilisation de synonymes mais pas de faire de modifications.

    Sur le schéma de travail, se trouvent de nombreuses procédures stockées, fonctions, triggers, packages,... que les "utilisateurs" VIEWCUST et VIEWSUP devraient pouvoir visualiser...(juste pour les voir pas les lancer)

    Par le biais des synonymes ce n'est pas possible (a moins que j'ai raté quelque chose) donc pour l'instant nous utilisons un script (shellscript sous unix) qui récupère le code via select sur user_source sur BILLING , et va le recréer sur les schémas VIEW... (en passant par la création de fichiers temporaires,...)

    Est ce que quelqu'un voit une façon plus simple de faire?

    Ah oui je suis sous Oracle 9

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    il faut autoriser la lecture de DBA_SOURCE j'imagine

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Vérifions si je t'ai bien compris Fred_D...

    Tu me dis que si je donne le privilège de lecture sur DBA_SOURCE à mes user VIEWCUST et VIEWSUP, ils pourront visualiser les procédures de mon schéma BILLING?

    Normalement ou juste en faisant un select sur DBA_SOURCE? Parce que l'idée c'est qu'il puisse les visualiser dans TOAD en fait...

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    il faut essayer

    Sinon, ce sera le role SELECT_CATALOG_ROLE je pense.

  5. #5
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Quelle est la fonction exacte du role SELECT_CATALOG_ROLE ?

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    autoriser la lecture de toutes les tables du catalogue... si je ne m'abuse ce sont les v$ et all_

  7. #7
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Merci...

    Je viens de faire un test avec un GRANT EXECUTE ANY PROCEDURE pensant que le user ne pourrait pas les faire tourner du fait de l'absence de droits d'INSERT/DELETE/UPDATE...
    Malheureusement il a pu exécuter la procédure ...

    Et je manque de privilege pour donner un droit de select sur DBA_SOURCE...

    Pour le role... Je me souvient bien comment en créer un ... Mais pour en affecter un a un utilisateur je sèche...

    --- edit

    oups GRANT SELECT_CATALOG_ROLE TO ... marche très bien...

  8. #8
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Bien...

    J'ai testé le role SELECT_CATALOG_ROLE...

    Accordé à un utilisateur il ne permet pas à celui ci de faire un DESC sur une procédure située sur un autre schéma...

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 165
    Points
    165
    Par défaut
    Est-ce que cela répond à ton problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    conn system/manager@base
    Connecté.
     
    create user test identified by test ;
    Utilisateur créé.
     
    create user test2 identified by test2;
    Utilisateur créé.
     
    grant connect, resource to test;
    Autorisation de privilèges (GRANT) acceptée.
     
    grant connect, resource to test2;
    Autorisation de privilèges (GRANT) acceptée.
     
    conn test/test@base
    create procedure toto is
    begin
    dbms_output.put_line('proc toto');
    end;
    /
    Procédure créée.
     
    set serveroutput on size 10000
    exec toto;
    proc toto
    Procédure PL/SQL terminée avec succès.
     
    conn test2/test2@base
    Connecté.
     
    desc test.toto
    ERROR:
    ORA-04043: objet test.toto inexistant
     
    conn system/manager@base
    Connecté.
     
    grant create any procedure to test2;
    Autorisation de privilèges (GRANT) acceptée.
     
    conn test2/test2@base
    Connecté.
    desc test.toto
    PROCEDURE test.toto
     
    drop procedure test.toto;
    drop procedure test.toto
    *
    ERREUR à la ligne 1 :
    ORA-01031: privilèges insuffisants
     
    exec test.toto;
    BEGIN test.toto; END;
               *
    ERREUR à la ligne 1 :
    ORA-06550: Ligne 1, colonne 12 :
    PLS-00904: privilège insuffisant pour accéder à l'objet TEST.TOTO
    ORA-06550: Ligne 1, colonne 7 :
    PL/SQL: Statement ignored

  10. #10
    Membre régulier Avatar de Titouf
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 177
    Points : 95
    Points
    95
    Par défaut
    Bonjour, Je n'ai pas tout compris, mais je crois que j'ai déjà eu le problème sous TOAD...
    Tu veux visualiser des sources d'un autre schéma auquel tu n'appartiens pas, sous TOAD...
    Nous les DBA, on fait un GRANT VIEW quelque chose, je crois, puis il a fallu modifier un parm de TOAD, dans le startup (menu option), "...DBA... ", un truc comme ça...
    Je relie mon post, et je me dis que si tu retrouves avec ces infos, tu es super doué.

  11. #11
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Alors si je t'ai bien suivi jlucch :

    Si je donne le privilege CEATE ANY PROCEDURE à mes user VIEW... ils pourront visualiser les procedures des autres schemas mais pas les lancer...
    Ca semble répondre à mes préoccupations...

    Juste une question : est ce que çà ne permettra pas aux user VIEW... de créer des procedures sur mon schéma BILLING?

    Je teste de suite...

  12. #12
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    je viens d'avoir le cas au boulot et je vous confirme que CONNECT et SELECT_CATALOG_ROLE suffisent

  13. #13
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    J'ai ma réponse...

    Le privilege CREATE ANY PROCEDURE ne permet pas de modifier les procs d'un autre schéma...

    Merci beaucoup jlucch (et Fred_D aussi)

  14. #14
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Citation Envoyé par Fred_D
    je viens d'avoir le cas au boulot et je vous confirme que CONNECT et SELECT_CATALOG_ROLE suffisent
    Ben c'est bizarre çà, j'ai testé aussi hier chez moi et ca ne marchait pas...
    Tu es sur que tu n'as pas aussi le CREATE ANY PROCEDURE ?

  15. #15
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Je remet ce sujet sur le tapis car après l'analyse du probleme je passe au developpement...

    J'ai testé le coup du CREATE ANY PROCEDURE...
    Ca marche bien mais mon user VIEW... peut créer des procedures sur mon schema BILLING (il ne peut pas les lancer mais peut en créer... ca me gene un peu quand meme)

    J'ai testé aussi les roles CONNECT et SELECT_CATALOG_ROLE par contre là çà ne marche pas...
    Je ne comprends pas comment çà peut marcher chez toi Fred_D et pas chez moi... C'est quand meme bizarre...

  16. #16
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Fred_D, pourrais tu revenir sur ce point STP...
    J'ai tenté les deux roles que tu m'indiquais mais chez moi cela ne marche vraiment pas... Es-tu sur que cela soit suffisant? N'aurais tu pas en plus un autre privilege?

  17. #17
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    explique ton problème de manière exhaustive STP

  18. #18
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Et bien...

    D'après ce que tu as dit précédemment conférer les rôles CONNECT et SELECT_CATALOG_ROLE à un user devrait permettre à celui-ci de visionner les procédures stockées sur d'autres schémas que le sien...

    J'ai conféré ces rôles à l'un de mes user, or il ne peut toujours pas voir quoi que ce soit comme procédure sur un autre schéma...

    Je ne vois pas pourquoi cela marche chez toi et pas chez moi...

    Note : Si je lui donne le privilege CREATE ANY PROCEDURE il pourra les visualiser mais il pourra aussi en créer n'importe où et cela m'embête un peu...

    juste au cas ou je suis toujours en Oracle 9.2

Discussions similaires

  1. Exporter les résultats d'une macro vers une autre feuille excel
    Par sara2001 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/09/2011, 18h33
  2. [AC-2007] Exporter des données d'une table vers une autre sous condition
    Par Imitator92 dans le forum IHM
    Réponses: 3
    Dernier message: 11/09/2009, 16h34
  3. Réponses: 2
    Dernier message: 07/07/2009, 17h51
  4. Comment exporter les objets d'un utilisateur vers un autre ?
    Par p026687 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/05/2007, 19h00
  5. exporter des objets d'une base vers une autre
    Par RGShoop dans le forum Access
    Réponses: 3
    Dernier message: 07/09/2005, 12h52

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