ORA-12560: TNS: erreur d'adaptateur de protocole
Je Google [d] pour cette erreur ORA-12560: TNS: erreur d'adaptateur de protocole mais pas en mesure de trouver la raison réelle et comment résoudre cette erreur ?
Quelqu'un peut-il me dire une solution parfaite pour résoudre le problème de connexion.
17 réponses
- accédez à la machine windows qui héberge le serveur de base de données Oracle
Allez dans Démarrer -> Exécuter -> Services.msc dans Windows. Localisez OracleService (ici
OracleServiceORCL
) et cliquez surStart
pour démarrer le service de base de données oracle (s'il n'est pas déjà en cours d'exécution)-
Une fois qu'il est opérationnel, à partir de l'invite de commande, exécutez ce qui suit:
tnsping < tnsalias >
(tnsalias entrée vous pouvez le trouver dans
tnsnames.ora
fichier)
Semble que la base de données n'est pas en place. Cela peut être dû au redémarrage de la machine et l'instance n'est pas définie sur autostart et n'a donc pas démarré munuellement après le démarrage de l'écran services.
Juste aller à l'invite de commande
Définir Oracle SID C:>définir oracle_sid=ORCL)
Maintenant, exécutez la commandeNET start . C: > NET start oracleserviceORCL
Dans mon cas, je n'avais pas de OracleService
(OracleServiceORCL) dans Windows Services.msc
comme décrit dans la réponse de Bharathi .
J'ai exécuté cette commande:
C:\> ORADIM -NEW -SID ORCL
Et puis le OracleService
appelé OracleServiceORCL vient d'apparaître et a commencé dans les Services.MSC. Vraiment nice.
Source: https://forums.oracle.com/forums/message.jspa?messageID=4044655#4044655
Ajoutez aux variables d'environnement les variables et valeurs suivantes pour identifier l'emplacement des noms tnsnames.fichier ora:
TNS_ADMIN
C:\oracle\product\10.2.0\client_1\network\admin
Depuis la console de commande, si vous obtenez cette erreur, vous pouvez l'éviter en tapant sqlplus / nolog
Ensuite, vous pouvez vous connecter conn user / pass @ host: port / service
Très souvent, cela signifie que l'écouteur n'a pas démarré. Vérifiez le panneau Services.
Sous Windows (comme vous l'êtes), une autre cause fréquente est que ORACLE_SID n'est pas défini dans le registre. Modifiez le registre ou définissez ORACLE_SID dans une boîte CMD. (Parce que vous voulez exécuter sqlplusw.exe je vous suggère de modifier le registre.)
J'ai résolu le problème de manière simple. Mon oracle fonctionnait très bien dans le passé. Après avoir installé MS SQL Server, j'ai remarqué ce problème. Je viens de désinstaller MS SQL Server sur ma machine, puis le problème avait disparu. Assurez-vous de redémarrer votre ordinateur après que. Maintenant, je peux me connecter à la base de données Oracle via SQLPlus à nouveau. Je suppose qu'il y a un conflit entre les deux. Espérons que cette aide.
Après avoir cherché beaucoup a obtenu un moyen simple de le résoudre. Il suffit de suivre les étapes.
- Vérifiez l'état de votre écouteur.
- ouvrez l'invite de commande et tapez
lsnrctl status
- Vous n'aurez aucun auditeur.
- ouvrez l'invite de commande et tapez
-
Maintenant, ouvrez
listener.ora
fichier qui est présent dans le répertoire suivant:C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN
- ouvrez ce fichier et modifiez le paramètre host avec votre nom d'ordinateur
-
Vous pouvez obtenir le nom de votre ordinateur par un clic droit sur
My Computer
et vous vérifier nom de l'ordinateur, et remplacez le paramètre host par le nom de votre ordinateur comme suit:LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = Electron-PC)(PORT = 1521) ) ) )
Donc ici vous pouvez observer
HOST = Electron-PC
, qui est mon nom d'ordinateur. -
Enregistrez l'auditeur.retour à cammand propt
3.Tapez ce qui suit dans l'invite de commande
lsnrctl start
Cela va commencer le OracleTNSListner
.
Vous pouvez le vérifier dans le service en ouvrant l'onglet services du Gestionnaire des tâches. si pas démarré automatiquement vous pouvez démarrer il.
Juste autant et vous êtes prêt à travailler à nouveau sur oracle.
Bonne Chance.
Si aucun travail ci-dessus, alors essayez ceci :
Modifiez le LISTENER.ora
(le mien se trouve dans : oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
) ==> Ajoutez un écouteur personnalisé qui pointe vers votre base de données (SID), par exemple mon SID est XZ0301, donc:
## Base XZ03001
SID_LIST_LISTENER_XZ03001=(SID_LIST=(SID_DESC=(ORACLE_HOME =
E:\oracle\product\11.2.0\dbhome_1)(SID_NAME= XZ03001)))
LISTENER_XZ03001=(DESCRIPTION_LIST=(ADDRESS=(PROTOCOL =
TCP)(HOST=MyComputerName)(PORT= 1521)))
DIAG_ADR_ENABLED_LISTENER_XZ03001=ON
ADR_BASE_LISTENER_XZ03001=E:\oracle
Redémarrez votre machine
Pour Windows 7, utilisez ce qui suit pour modifier l'écouteur.ora: - Allez dans Démarrer > Tous les programmes > Accessoires - Faites un clic droit sur le bloc-notes, puis cliquez sur Exécuter en tant Qu'administrateur . - Fichier > Ouvrir et naviguer vers le tnsnames.dossier ora. - Faire les changements alors il devrait vous permettre de enregistrer
Une autre solution possible qui a juste fonctionné pour moi...considérant que j'utilisais ma connexion locale comme les autorisations dba.
Suivez les étapes pour accéder aux Services. Faites un clic droit sur l'instance et allez dans "Connexion"? (peut-être pas le nom, mais c'est l'un des onglets contenant des autorisations). Modifiez les paramètres pour utiliser LOCAL.
Dans mon cas (pour OracleExpress), le service était en cours d'exécution, mais j'ai eu ce problème en essayant d'accéder à la base de données via sqlplus sans identifiant de connexion:
sqlplus sys/mypassword as sysdba
Pour le faire fonctionner, j'avais besoin d'ajouter l'identifiant de connexion (XE pour Oracle Express), donc la commande suivante fonctionnait bien:
sqlplus sys/mypassword@XE as sysdba
Si vous obtenez toujours ORA-12560, assurez-vous que vous pouvez ping le service XE. Utilisation:
tnsping XE
Et vous devriez obtenir un message OK avec une chaîne de connexion complète (la commande tnsping se trouve dans répertoire d'installation d'oracle: [répertoire d'installation d'Oracle express] \ app \ oracle \ product \ 11.2.0 \ server \ bin). Si vous ne pouvez pas effectuer de ping, assurez-vous que votre fichier tnsnames.ora
est accessible pour sqlplus. Vous devrez peut-être définir la variable D'environnement TNS_ADMIN pointant vers votre répertoire ADMIN, où se trouve le fichier, par exemple:
TNS_ADMIN=[oracle express installation dir]\app\oracle\product\11.2.0\server\network\ADMIN
Flux les étapes d'écoulement:
-
Modifiez votre écouteur.ora et tnsnames.fichier ora dans $Oracle_home\produit\11.2.0\client_1\NETWORK\ADMIN emplacement
A. ajouter un écouteur.fichier ora
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) )
)
ADR_BASE_LISTENER = C: [ici c est le répertoire personnel oralce]
B. ajouter dans tnsnames.fichier ora
SCHEMADEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = dabase_ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SCHEMADEV)
)
)
- Ouvrez l'invite de commande et tapez
nom d'utilisateur sqlplus / passowrd@oracle_connection_alias
Exemple :
nom d'utilisateur : your_database_username
mot de passe: Your_database_password
oracle_connection_alias: SCHEMADEV pour l'exemple ci - dessus.
Vous devez indiquer à SQLPlus à quelle base de données vous souhaitez vous connecter. Host String doit être une chaîne de connexion ou un alias configuré dans vos noms TNSNames.dossier ora.
Dans mon cas, (ora-12560: erreur d'adaptateur de protocole TNS ) cause du problème de connexion à la base de données comme la base de données, le nom d'utilisateur et le mot de passe.
Une fois que vous avez eu le problème. Au départ, vous devez Vérifier les détails de connexion, Après avoir vérifié le service oracle et plus encore.
J'ai manqué quelques détails de connexion, donc seulement j'ai eu erreur d'adaptateur de protocole TNS , je vais changer les détails de la connexion, cela fonctionnerait bien.
ORA-12560: TNS: erro de adaptador de protocolo
- Définir les Variables D'environnement: ORACLE_BASE, ORACLE_HOME, ORACLE_SID
- Assurez-vous que votre utilisateur fait partie de ORACLE_GROUP_NAME (Windows)
- Assurez-vous que le fichier ORACLE_HOME / network / admin / sqlnet.ora est: SQLNET.AUTHENTICATION_SERVICES = (NTS)
- (Windows) soyez prudent lorsque vous ajoutez un nouveau client Oracle: ajout d'un nouveau chemin à L'env PATH. variable peut gâcher les choses. La première entrée de cette variable fait la différence: certifiez que l'exécutable sqlplus dans ORACLE_HOME (ORACLE_HOME / bin) vient en premier dans le chemin env. variable.
J'ai eu le problème" ORA-12560: TNS:erreur d'adaptateur de protocole", et je l'ai googlé pendant 2 heures pour ne pas prêter attention aux détails. J'ai ouvert l'invite de commande et puis j'ai eu ceci:
C:\Users\Frodo>set oracle_sid=<DB name>
... alors qu'il devrait être mentir ceci:
C:\>set oracle_sid=<DB name>
C:> devrait être à la place de C:\Users\Frodo> - c'était mon problème; donc cela a fonctionné:
C:\Users\Frodo> cd c:
C:\>set oracle_sid=<DB name>
C:\>exp ........