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

Connexions aux bases de données Oracle Discussion :

Connexion à un PDB sous Oracle 12c


Sujet :

Connexions aux bases de données Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 54
    Par défaut Connexion à un PDB sous Oracle 12c
    Bonjour à tous,

    Je viens de me lancer dans l'installation et la configuration d'Oracle 12c sur une machine Windows 8.
    J'ai donc installé l'édition Enterprise avec création automatique d'un CDB et d'un PDB. Mon CDB s'appelle ORCL et mon PDB PDBORCL.
    J'ai donc ce listener.ora:
    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
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:\Oracle\product\12.1.0\dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle\product\12.1.0\dbhome_1\bin\oraclr12.dll")
        )
      )
     
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = MaMachine.MonDomaine.com)(PORT = 1521))
        )
      )
    Et ce tnsnames.ora:
    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
    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
        )
      )
    
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = MaMachine.MonDomaine.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ORCL.MonDomaine.com)
        )
      )
    Et ce sqlnet.ora:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SQLNET.AUTHENTICATION_SERVICES= (NTS)
     
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    MonDomaine.com correspond au nom de domaine de mon entreprise.

    Comme vous le voyez ci-dessous, je peux me connecter au CDB sans souci:
    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
    C:\Windows\system32>sqlplus system@orcl
     
    SQL*Plus: Release 12.1.0.1.0 Production on Wed Aug 14 17:31:58 2013
     
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
     
    Enter password:
    Last Successful login time: Wed Aug 14 2013 17:31:49 +02:00
     
    Connected to:
    Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Advanced Analytics and Real Application Testing op
    ions
     
    SQL> select name, open_mode from v$pdbs;
     
    NAME                           OPEN_MODE
    ------------------------------ ----------
    PDB$SEED                       READ ONLY
    PDBORCL                        READ WRITE
     
    SQL>
    Je vois que mon PDB est bien configuré et est actif.
    Je souhaiterais maintenant me connecter à PDBORCL comme on le faisait avant 12c, cad sqlplus system@pdborcl
    Or, en faisant ceci (avec l'hypothèse que le mot de passe du compte SYSTEM est le même que le CDB, ce qui me semble logique...), j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    C:\Windows\system32>sqlplus system@pdborcl
     
    SQL*Plus: Release 12.1.0.1.0 Production on Wed Aug 14 17:37:51 2013
     
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
     
    Enter password:
    ERROR:
    ORA-12154: TNS:could not resolve the connect identifier specified


    J'ai alors vainement tenté de faire la procédure suivante:
    - Ajouter une entrée dans mon listener.ora
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (SID_DESC =
          (SID_NAME = PDBORCL)
          (ORACLE_HOME = c:\app\oracle\product\12.1.0\dbhome_1)
        )
    - Arrêt du listener via lsnrctl stop
    - Démarrage du listener avec lsnrctl start (sans problème)
    - Ajout d'une nouvelle section dans mon tnsnames.ora
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PDBORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = MaMachine.MonDomaine.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = PDBORCL)
        )
      )
    - En me loggant via sqlplus system@pdborcl j'obtiens le message suivant ORA-12518.

    Pour info, tous mes tests sont faits en local sur la même machine.
    Auriez-vous par hasard une idée du problème?
    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    L'ajout de PDBORCL dans le listener.ora n'est pas utile: c'est l'instance qui enregistre ses services auprès du listener.
    un lsnrctl status devrait montrer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Service "PDBORCL" has 1 instance(s).
      Instance "ORCL", status READY, has 1 handler(s) for this service...

    D'ailleurs, PDBORCL n'est pas un SID_NAME. C'est un SERVICE_NAME. C'est peut-être ce qui prête à confusion.

    Cordialement,
    Franck.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 54
    Par défaut
    Bonjour,

    J'ai effacé toute référence faite à PDBORCL dans mon listener.ora suivi d'un stop/start du listener.
    Puis j'ai rajouté les lignes suivantes dans mon tnsnames.ora:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PDBORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = MaMachine.MonDomaine.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = PDBORCL.MonDomaine.com)
        )
      )
    Et je peux me connecter à mon PDB maintenant via SQL*Plus. L'erreur venait apparemment de l'absence du nom de domaine pour le SERVICE_NAME (sans l'extension .MonDomaine.com, je ne peux pas me connecter, j'obtiens un ORA-12514).

    Merci pour votre aide en tout cas!

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

Discussions similaires

  1. connexion à plusieurs bases sous oracle
    Par semsima dans le forum Connexions aux bases de données
    Réponses: 7
    Dernier message: 21/05/2011, 13h39
  2. Connexion à Sql*plus sous oracle 10g
    Par phenix1988 dans le forum Oracle
    Réponses: 4
    Dernier message: 22/03/2010, 14h41
  3. Pb de connexions sous Oracle 10g
    Par pat29 dans le forum Connexions aux bases de données
    Réponses: 2
    Dernier message: 29/01/2008, 14h23
  4. connexion sous oracle 10g
    Par jalam dans le forum Oracle
    Réponses: 4
    Dernier message: 04/01/2007, 16h46
  5. Réponses: 12
    Dernier message: 21/12/2006, 11h49

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