Ich möchte die SID und den aktuellen Datenbanknamen überprüfen.
Ich verwende die folgende Abfrage zum Überprüfen der Oracle-SID
select instance from v$thread;
aber Tabelle oder Ansicht existiert nicht Fehler kommt.
Ich verwende die folgende Abfrage zum Überprüfen des aktuellen Datenbanknamens
select name from v$database;
aber Tabelle oder Ansicht existiert nicht Fehler kommt.
Irgendeine Idee für die oben genannten zwei Probleme?
select sys_context('userenv','db_name') from dual;
für Datenbankname und Sid habe ich bereits in der Antwort hinzugefügt.Wenn Ihr Ziel wie ich darin besteht, den Datenbankhost und die SID dazu zu bringen, eine Oracle JDBC-URL zu generieren, z
Die folgenden Befehle helfen:
Oracle-Abfragebefehl zum Überprüfen der SID (oder des Instanznamens):
Oracle-Abfragebefehl zum Überprüfen des Datenbanknamens (oder des Serverhosts):
Att. Sergio Marcelo
quelle
Der Vollständigkeit halber können Sie auch ORA_DATABASE_NAME verwenden.
Es ist möglicherweise erwähnenswert, dass nicht alle Methoden dieselbe Ausgabe liefern:
quelle
Die V $ -Ansichten sind hauptsächlich dynamische Ansichten von Systemmetriken. Sie werden zur Leistungsoptimierung, Sitzungsüberwachung usw. verwendet. Der Zugriff ist daher standardmäßig auf DBA-Benutzer beschränkt, weshalb Sie diese erhalten
ORA-00942
.Der einfachste Weg, den Datenbanknamen zu finden, ist:
Diese Ansicht wird PUBLIC gewährt, sodass jeder sie abfragen kann.
quelle
Geben Sie an der
sqlplus
Eingabeaufforderung einDann wird das Ergebnis an der Eingabeaufforderung angezeigt
Hier ist zuerst ein "ORCL" der Datenbankname, möglicherweise Ihr System "XE" und andere, die zum Zeitpunkt des Herunterladens von Oracle angegeben wurden.
quelle
Wie oben erwähnt wurde,
ist der Weg zu gehen.
Sie konnten v $ database / v $ instance / v $ thread nicht abfragen, da Ihr Benutzer nicht über die erforderlichen Berechtigungen verfügt. Sie können sie (über ein DBA-Konto) gewähren mit:
quelle