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

Oracle Discussion :

Grant entre 2 databases ???


Sujet :

Oracle

  1. #1
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut Grant entre 2 databases ???
    Bonjour à tous
    Voila mon problème, j'ai une appli1 qui tourne sur une base Oracle DB1 et une appli2 sur une base Oracle DB2, et chacune à son propre schéma dans chaque base. Le truc c'est que mon appli1 doit récupérer des infos dans la base DB2, les simples droits de lecture suffisent mais je n'arrive pas à lui accorder ces droits.
    Moi je voyais un truc du genre (en étant connecté sur le schéma de la DB2):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT SELECT ON SCHEMA2."TABLE2" TO DB1.USER1
    Mais forcément il me dit que l'identificateur DB1 est inconnu puisque le user du DB2 ne connait pas la DB1. Donc je tourne en rond et j'en viens à me demander si cela est possible.
    Merci

  2. #2
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut
    Tu as plusieurs choix :

    1) créer un user genre lecteur sur DB2 qui a que des grant on select. Et te connecter depuis appli1 sur DB2 avec consult
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    --SUR DB2'
    CREATE USER LECTEUR   
        IDENTIFIED BY LECTEUR DEFAULT TABLESPACE "TBS1" 
        TEMPORARY TABLESPACE "TEMPO" 
        ACCOUNT UNLOCK;
     
    grant connect to LECTEUR   ;
     
    grant resource to LECTEUR   ;
     
    grant select any tables on to lecteur;
    2) créer un user genre consult sur DB2 qui a que des grant on select. Et créer un DBlink DB2 sur DB1 vers DB2 qui se connect avec consult. Ensuite avec appli1 tu te connect comme avant et tu pouras voir les tables de DB2 en utilisatn le dblink

    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
     
    --SUR DB2'
    CREATE USER LECTEUR   
        IDENTIFIED BY LECTEUR DEFAULT TABLESPACE "TBS1" 
        TEMPORARY TABLESPACE "TEMPO" 
        ACCOUNT UNLOCK;
     
    grant connect to LECTEUR   ;
     
    grant resource to LECTEUR   ;
     
    grant select any tables on to lecteur;
     
    --SUR DB1'
    CREATE DATABASE LINK DB2 CONNECT TO LECTEUR 
    IDENTIFIED BY LECTEUR USING 'DB2';
    PS : J'ai écris les scripts vite fait de mémoire, faut surement faire kk ajustements pour qu'il fonctionne

  3. #3
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Excuse je me suis rendu compte que je n'avais été assez clair.
    En effet mon utilisateur a les droits de connexion sur les deux databases, mais mon problème c'est que une fois que je suis connecté à la db1 je puisse lire des tables de la db2. Par exemple sous SQL*Plus je me connecte à la DB1, que je fasse un insert dans les tables DB1 depuis un select des tables de la DB2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO DB1.Table1 FROM SELECT * FROM DB2.Table2

  4. #4
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Merci beaucoup sygale, en regardant la fonction database link, ca fait nickel ce que je veux. Je crée un lien depuis ma database 1 vers la database 2 et c'est nickel.
    Encore merci

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

Discussions similaires

  1. dblink informix entre 2 databases
    Par challenger212 dans le forum Informix
    Réponses: 2
    Dernier message: 14/09/2013, 08h12
  2. Réponses: 5
    Dernier message: 18/10/2012, 12h34
  3. v10 - Faire un grant entre bases
    Par Jean_Benoit dans le forum Administration
    Réponses: 0
    Dernier message: 11/02/2009, 15h58
  4. [newbeee] différence entre database front-end et backend
    Par mlequim dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 20/01/2006, 12h40
  5. Réponses: 72
    Dernier message: 05/12/2005, 10h45

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