Wie finde ich heraus, welche Datei tnsnames.ora von meinem Linux-System verwendet wird?

7

Wenn ich ein aktualisiertes b mache und tnsnames.ora finde, erhalte ich aufgrund verschiedener Oracle DB-Installationen eine lange Liste zurück. Ich muss einige Einträge zu den für das System konfigurierten "Standard" -Tnsnames.ora hinzufügen.

Wie finde ich heraus, welche der vielen tnsnames.ora-Dateien tatsächlich verwendet wird?

Hinweis: Keine der 30 ungeraden Instanzen befindet sich in einem "System" -Ordner (z. B. / etc / usr etc) und:

> echo $TNS_ADMIN
TNS_ADMIN: Undefined variable.
> echo $PATH
/usr/kerberos/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/local/ade/bin:/usr/NX/bin
> echo $ORACLE_HOME
ORACLE_HOME: Undefined variable.

RHEL4

TiGz
quelle

Antworten:

10

Wenn $TNS_ADMINnicht eingestellt, tnsnames.orasollte das in sein $ORACLE_HOME/network/admin/.

Weitere Erklärungen zu tnsnames.ora finden Sie im Net Services-Referenzbuch .

Um den Wert von zu bestimmen $ORACLE_HOME, können Sie sich die Datei ansehen /etc/oratab. Diese Datei listet die Datenbank, die zugehörige $ORACLE_HOMEund ob die DB automatisch gestartet / gestoppt werden muss.

Sie finden auch einige Informationen in der oraInventory(siehe /etc/oraInventoryOrdner oder /etc/oraInst.locDatei)

Benoit
quelle
danke für die Antwort, aber $ ORACLE_HOME ist auch undefiniert - habe die Frage geändert.
TiGz
ok, mache tatsächlich ein ps -eaf Ich kann sehen, dass Oracle Home durch den relevanten Prozess festgelegt wird ... und tatsächlich gibt es keine Instanz von tnsnames.ora unter OH / network / admin, also werde ich eine erstellen und das versuchen.
TiGz
1
Wie von DCookie gesagt, MÜSSEN Sie ORACLE_HOME definieren, um den Oracle-Prozess starten zu können.
Benoit
2

Ihre obige Ausgabe stammt von dem Server, auf dem sich Ihre Oracle-Installationen befinden? Sind Sie als Benutzer angemeldet, der auf Oracle zugreift? Ich sehe nicht ein, wie Sie auf etwas zugreifen können, das auf dieser Ausgabe basiert, es sei denn, Sie tun dies über Shell-Skripte, die Ihre Umgebung jedes Mal erstellen. Es ist schon eine Weile her, aber IIRC auf * nix-Systemen müssen Sie ORACLE_HOME definieren, um auf Oracle zugreifen zu können.

Wenn Sie Folgendes eingeben:

sqlplus someuser@somedb 

Was sagt es Ihnen an der obigen Eingabeaufforderung? Mir scheint, es sollte Ihnen sagen, dass sqlplus ein unbekannter Befehl ist. Wenn nicht, was dann?

which sqlplus

sage dir?

DCookie
quelle
0

Wenn weder ORACLE_HOME noch TNS_ADMIN festgelegt sind, versuchen Sie es /etc/tnsnames.ora

Michael Grazebrook
quelle