web-dev-qa-db-fra.com

SID Oracle et nom du service; problèmes de connexion

J'essaie de me connecter à Oracle db sur un serveur distant via un développeur SQL. J'ai copié les détails de la connexion à tnsnames et je peux me connecter à la base de données. 

Cependant, j'ai une autre application de base de données qui est identique à sqldeveloper et lorsque j'essaie d'établir une connexion, je continue à avoir cette erreur. Cette application utilise le client léger jdbc Oracle qui requiert le nom d’hôte et le SID. 

J'ai eu l'erreur ci-dessous:

Java.sql.SQLException: le programme d'écoute a refusé la connexion avec l'erreur suivante: ORA-12505, TNS: le programme d'écoute n'a pas connaissance du SID indiqué dans le descripteur de connexion.

Lors du dépannage, j’ai modifié l’option tns de sqldeveloper et j’ai choisi l’option de base pour découvrir ce qui ne fonctionnait pas. Je me suis rendu compte que je pouvais me connecter à cette application en raison du nom de service correct et ne pas pouvoir me connecter à la base de données via SID nommer même à travers sqldeveloper. 

J'ai utilisé des requêtes de base de données pour trouver le nom SID, mais je continue à avoir la même erreur. S'il vous plaît aidez-moi à résoudre les problèmes. 

Merci pour votre temps..

6
user1751356

ORA-12505 signifie que votre client a transmis un SID que l'écouteur du serveur N'a pas reconnu du tout.

À partir de 10G, vous pouvez utiliser EZ Connect sans configurer le côté serveur Comme ceci:

sqlplus hr@liverpool:1521/DEMO

hr is the user name
liverpool is the server name
1521 is the port the listener for the DB is listening on
DEMO is the database SID

(OU)

Si vous souhaitez toujours utiliser tnsnames.ora, essayez d’exécuter tnsping SID à partir de votre client.

Sur LINUX, Oracle peut également lire un fichier tnsnames.ora à partir d’un chemin local . Il suffit de définir TNS_ADMIN dans le répertoire où se trouve votre fichier tnsnames.ora.

Sinon, vous devez configurer tnsnames.ora dans $ Oracle_HOME/network/admin Sur le client. 


Si vous avez besoin de connaître le SID de la base de données, utilisez ceci:

sélectionnez sys_context ('userenv', 'db_name') dans dual;

Voir cette URL:

Vérification du sid Oracle et du nom de la base de données

11
A B

Je suis aussi confronté à ce problème. Linux avec Oracle 11.2.0.1.

Ce que j'ai trouvé, c'est que la chaîne de connexion doit être:

sqlplus hr@liverpool:1521:DEMO

et pas 

sqlplus hr@liverpool:1521/DEMO
0
Øyvind Øfsthsu