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

Recovery Manager Oracle Discussion :

RMAN comment dupliquer une base


Sujet :

Recovery Manager Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Pas accès au listener depuis RMAN - ORA-12514
    Je souhaite dupliquer ma base de donnée (SID=BASE) sur un serveur distinct en utilisant l'utilitaire RMAN (SID=DUPL)
    Sur mon serveur destinataire, le listener tourne ainsi que le service OracleServiceDUPL. J'ai créé mon fichier d'init, et je démarre ma base en NOMOUNT (car de controlfile, ...)
    Depuis, RMAN je dois pouvoir contacter ma base auxilaire par 'connect auxiliary DUPL/???@DUPL' mais j'ai une erreur 'ORA-12514 : TNS le module d'écoute ...'

    J'ai pourtant suivi le 'Recovery Manager User's Guide', mais je bloque à ce niveau
    Merci d'avance pour votre aide

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 12
    Points : 7
    Points
    7
    Par défaut quelques pistes pour debugger ton pb ...
    Je ne suis pas expert mais regarde déjà tes fichiers listerner.ora et tnsname.ora. L'explication ci dessous en anglais de ton erreur va t'aiguiller ...

    2.1 ORA-12514 errors connecting to registered instances
    -------------------------------------------------------

    When attempting to connect to Oracle8i using a connect descriptor containing a SERVICE_NAME entry, you may receive the following error:

    ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor

    The error means that the client has connected to the Listener but is requesting a connection to SERVICE_NAME that the Listener does not have a service handler for. This is usually not a problem with Service Registration, but since the SERVICE_NAME entry that the client is attempting to connect to is almost always a dynamically registered service, it needs to be addressed
    here.
    There are several reasons that error ORA-12514 might occur:

    1) The instance that the client is attempting to connect to is not registered with the Listener because the instance cannot locate the correct Listener address in order to register itself.
    If the LOCAL_LISTENER parameter is present in the INIT.ORA file, it will attempt to resolve to an address. The instance will attempt to connect to a Listener on that address to register itself.
    If the LOCAL_LISTENER parameter is not present in the INIT.ORA file, the instance will attempt to connect to the Default Listener using the default address of TCP/IP port 1521 or IPC key PNPKEY.

    2) The instance has registered with the listener, but the SERVICE_NAME that the client is attempting to connect to does not match the SERVICE that PMON has registered with the Listener.

    The following steps show which SERVICE_NAME is registering with the Listener:

    - Run the listener control utility (lsnrctl).
    - At the LSNRCTL prompt, type "set displaymode verbose" and press Enter.
    - At the LSNRCTL prompt, type "services" and press Enter.

    Ensure that the TNSNAMES.ORA entry for the SERVICE_NAME parameter exactly matches a service that is registered with the Listener.

    3) The instance is down.

    One of the benefits of using service registration is that the Listener is aware of the state of the instance.
    When the instance is up, it registers itself with the Listener, allowing the Listener to service incoming requests for it.
    When the instance is down, it will not be registered with the Listener. If the instance is not registered with the Listener, the Listener will refuse incoming requests for it, and clients receive error ORA-12514.


    4) The instance and Listener are both up, but the instance has not yet registered with the Listener.
    When the instance is started, it attempts to connect to register with the local Listener. It continues to check for the Listener about once every 60 seconds.

    If the Listener is up when the instance is started, service registration should take place as the instance starts. If the Listener comes up after the instance, it will take up to a minute or so for the instance to register itself with the Listener. This is usually not an issue, but if the Listener is stopped then started, users may fail to connect until the
    the instance successfully re-registers with the Listener.

    You can check to see whether the instance has registered itself using the lsnrctl commands described in 2).

    To resolve the ORA-12514 errors, you need to either resolve the registration problems, resolve the problems with the SERVICE_NAME not matching what the name that is actually registering with the listener, or define a static service
    handler in the LISTENER.ORA file and modify the TNSNAMES.ORA file to connect to the newly defined SID instead of the SERVICE_NAME.
    <\code>
    hope it can help...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    J'ai revu le listener.ora et effectivement, j'avais un souci, désormais, il ressemble à ceci

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = AZERTY)(PORT = 1521))
    )

    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    )

    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = D:\oracle\ora920)
    (PROGRAM = extproc)
    )
    )

    Et le fichier tnsname.ora
    DUPL =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = azerty)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = DUPL)
    )
    )

    Et désormais, j'ai l'erreur ORA-12523 : le module d'écoute (listener) n'a pas pu trouver une instance appropriée pour la connexion client

    Depuis, l'invite de commande :
    LSNRCTL> services
    Connexion Ó (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=AZERTY)(PORT=1521)))
    RÚcapitulatif services...
    Le service "DUPL" comporte 1 instance(s).
    L'instance "DUPL", statut BLOCKED, comporte 1 gestionnaire(s) pour ce service.
    ..
    Gestionnaire(s) :
    "DEDICATED" Útabli : 0 refusÚ : 0 statut : ready
    LOCAL SERVER
    La commande a rÚussi
    LSNRCTL>

  4. #4
    Membre régulier Avatar de links
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 113
    Points : 95
    Points
    95
    Par défaut
    Ton listener dois être configuré pour écouter les demandes de connexion pour ta base dupl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = DUPL)
          (ORACLE_HOME = c:\oracle\ora920)
          (SID_NAME = DUPL)
        )
    Il te faut indiquer au listener le SID_NAME pour qu'il sache qu'il doit écouter pour le compte de cette base.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Effectivement, avec ton paramétrage, cela fonctionne.
    Mais je ne comprends car mes listener sont toujours paramétrés de la façon suivante et je n'ai jamais eu de problème :
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = azerty)(PORT = 1521))
    )
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    )
    )

    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = D:\oracle\ora920)
    (PROGRAM = extproc)
    )
    )

  6. #6
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 142
    Points : 170
    Points
    170
    Par défaut
    La base de données peut se déclarer au listener, bien sur il faut pour cela que le listener soit démarré au moment du startup de la base.
    Donc si tu redémarre un listener sans que celui-ci soit paramétré avec les bases de données à servir, il y a un certain temps avant que la base ne soit effectivement reconnu par le listener.

    Le process PMON essaye toute les 60s de s'enregister sur un listener
    DBA ORACLE

  7. #7
    Membre régulier Avatar de links
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 113
    Points : 95
    Points
    95
    Par défaut
    Arturius, ce n'est pas au moment du create database que PMON enregistre la base au niveau du listener ? tu dis que c'est au startup ?

  8. #8
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 142
    Points : 170
    Points
    170
    Par défaut
    A chaque démarrage de la base de données celle-ci se signaler par défaut au port 1521 sinon, il faut configurer le fichier d'init ou le spfile si le listener est sur un autre port.
    Si un listener est présent, celui-ci prend en compte la présence de la base et peut alors initier les connexions.
    Si il n'y a pas de listener alors toutes les 60s la base essaye de se signaler à un listener.
    Ce processus est géré par le process PMON.

    A la création de la base avec DBCA le fichier tnsnames.ora et listener.ora sont créés. A vérifier en 10g DBCA est programmé pour configurer la base de manière à suivre le processus décrit ci-dessus.
    DBA ORACLE

  9. #9
    Membre régulier Avatar de links
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 113
    Points : 95
    Points
    95
    Par défaut
    ok, merci, c'est noté.

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

Discussions similaires

  1. Comment dupliquer une base sur le même serveur
    Par lenco dans le forum Débuter
    Réponses: 1
    Dernier message: 28/03/2011, 15h49
  2. Dupliquer une base via rman?
    Par Mehdilis dans le forum Recovery Manager
    Réponses: 6
    Dernier message: 17/07/2008, 15h54
  3. [débutant] Comment créer une base ?
    Par laffreuxthomas dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 14/12/2004, 22h12
  4. comment vider une base de donnée
    Par caps_corp dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 21/04/2004, 16h54
  5. Comment acceder à une base de donnée F1.db_ ?
    Par diado dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 26/12/2003, 08h09

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