ORA-00942: Tabelle oder view nicht vorhanden : Wie kann ich herausfinden, welche Tabelle oder Sicht ist die Rede von
Wir einen java/hibernate-app gegen ORACLE 10g im TEST. Einmal in eine Weile, wir sehen uns diesen Fehler:
ORA-00942: Tabelle oder view nicht vorhanden
Ist es ein Weg, um herauszufinden, welche Tabelle/view(s) ORACLE redet ?
Ich weiß, dass ich zusätzliche Ebenen der Protokollierung im Ruhezustand, in dem die SQL, die es ausführt, die auf ORACLE, und führen Sie dann das SQL um herauszufinden, welche TABELLE/VIEW fehlt, oder fehlt die Berechtigung. Aber angesichts der Tatsache, dass es in TESTING/STAGING, verlangsamt sich die Leistung.
Gibt es eine einfache Möglichkeit zu verengen auf die Tabelle/View Name ?
UPDATE :
Nur damit Sie wissen, ich habe keine Kontrolle über die Oracle-DB-Server-Umgebung.
Ich aktivierte den Ruhezustand tracing/logging und fand ein GÜLTIGES SQL. Ich selbst Wireshark(was ist ein TCP-packet filter), um zu sehen, was hibernate tatsächlich sendet, und das war eine gültige SQL. Also, warum sollte Oracle beklagen, es einmal in eine Weile und NICHT immer.
InformationsquelleAutor anjanb | 2008-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick in die DBA_AUDIT_EXISTS Tabelle, wenn die überwachung eingeschaltet ist für Oracle. Ich glaube, dass Oracle kann für sehr detaillierte überwachung, die können Sie einfach ein-und ausschalten, wenn Sie gerne über die DB-Befehle, obwohl ich mich nicht mehr erinnern, was Sie aus der Spitze von meinem Kopf.
Finden Sie unter:
http://docs.oracle.com/cd/B19306_01/network.102/b14266/cfgaudit.htm
für eine Vorstellung (die ich nur schnell gegoogelt)
InformationsquelleAutor Mark
Dies ist, was ich Tue, entschuldige mich, wer diese ursprünglich kamen, ich weiß, ich nahm es von einigen website, aber kann mich nicht erinnern, wo es jetzt ist.
In der Vorproduktion, ich habe diese
Jeder Zeit servererror geworfen wird, seine abgefangen und protokolliert, um eine Tabelle, kann ich das dann überprüfen Sie die Tabelle zu finden, die problematische Abfragen, und erstatten Sie als notwendig, um die fehlende Tabelle (wenn Sie die Abfrage ausführen in sqlplus, es wird Ihnen sagen, die Tabelle)
Hinweis, ja, es gibt Probleme mit diesem, zB, was ist, wenn caught_errors gelöscht wird, oder löst einen Fehler aus, selbst konnte man rekursive Schleife, also warum dies alles existiert nur in der Vorproduktion.
InformationsquelleAutor Matthew Watson
Ich glaube nicht, dass es eine Magische Kugel hier.
Es kann eine fehlende Tabelle, oder ein falsch geschriebenes Tabellennamen in der Abfrage.
Kann es sein, ein Privileg, das Problem. Man kann wirklich nicht sagen, ohne die Ausführung der Abfrage
Ich schlage vor, Sie gehen Sie vor und instrument, Ihren code in einer Weise, dass Sie können Sie ein-und ausschalten. Führen Sie es, entpacken Sie die Abfrage, und versenden Sie es aus, um den DBA zu lösen.
InformationsquelleAutor EvilTeach
Sollten Sie überprüfen die Rechnung, die ob hat die Genehmigung für den Zugriff auf die Zieltabelle.
InformationsquelleAutor aboutstudy
Bitte überprüfen Sie die tablespace-name korrekt ist, wenn Sie mit diesem Problem beim Import der DB.
InformationsquelleAutor meeta lalwani