Oracle pour s'executer parfaitement mérite que certains variables soient clairement définies notamment le ORACLE_HOME et le ORACLE_SID, il y' en a plusieurs d'autres mais votre problème tournera toujours autour de ces deux variables.
selon votre environnement à savoir linux ou windows les approches sont differentes.
Un c:\set ORACLE_HOME=your_oraclehome et c:\set ORACLE_SID=your_oraclesid fera l'affaire. Si vous disposez de plusieurs instances et ne voulez pas modifiez l'accès a votre base en production par exemple proceder comme suit:
$sqlplus / nolog
sqlplus>conn userid/userpwd@service_name
Ceci vous permettra de vous passer d'une écriture dans le registre de l'instance à laquelle vous souhaiter vous connecter.
Dans un environnement linux, il vous faudra penser à exporter ces variables par la suite.
La preuve que vos variable d'environnement sont mal positionné vous seras révélés en tapant la commande:
$tnsping service_name
Qui est en fait un test du service oracle. Comme un ping sur une adresse.
S'il s'execute vous verrez le temps d'execution si ces variables sont OK et le cas écheant l'erreur vous disant pourquoi il est impossible de resoudre le service.