Frage: Was ist die Ursache für den Fehler ORA-04063 „%s has errors“? Wie kann ich das Problem beheben?
Das Dienstprogramm Oerr gibt dies für den ORA-Fehler zurück.
ORA-04063 "%s has errors"
Attempt to execute a stored procedure or use a view that has errors. For stored procedures, the problem could be syntax errors or references to other, non-existent procedures. For views, the problem could be a reference in the view's defining query to a non-existent table. Can also be a table which has references to non-existent or inaccessible types.
Lösung
Es wurde versucht, auf eine ungültige Ansicht oder Prozedur zuzugreifen.
Die Ansicht könnte mit der Option FORCE erstellt worden sein. Eine Operation wie ein GRANT SELECT gegen diese ungültige Ansicht gibt den Fehler ORA-04063 zurück.
Im folgenden Fall ist die Tabelle tab1 nicht vorhanden. Die Ansicht wird erstellt, da die Option FORCE verwendet wird.
Wenn der GRANT SELECT gegen diese ungültige Ansicht ausgegeben wird, wird der Fehler ORA-04063 zurückgegeben.
SQL>CREATE OR REPLACE FORCE VIEW vst.myview
AS SELECT * FROM tab1;
Warning: View created with compilation errors.
SQL> GRANT SELECT ON vst.myview TO USER_A;
ORA-04063: view "VST.MYVIEW" has errors
Wenn die Ansicht auf einer vorhandenen Tabelle erstellt wird, gibt der GRANT SELECT nicht die Fehlermeldung ORA-04063 zurück.
SQL>CREATE OR REPLACE FORCE VIEW vst.myview
AS SELECT * FROM dba_tables;
View created.
SQL> GRANT SELECT ON vst.myview TO USER_A;
Grant succeeded.
Problem behoben!
Verwandte OraTipps
– Erfahren Sie mehr über veraltete Datenbankparameter in Oracle 12c – Beim Upgrade auf Oracle 12c ist es gut, mit diesen Parametern vertraut zu sein. Lesen Sie hier mehr.
– Proxy-Benutzerauthentifizierung mit Connect Through in Oracle Database – Der Proxy-Authentifizierungsmechanismus ermöglicht es einem Benutzer, sich als sein eigener Benutzer anzumelden, aber in einem anderen Schema zu landen, ohne das Passwort für diesen Benutzer zu kennen.
Sonstige Artikel
– Einrichten der aktiven Data Guard-Datenbank in Oracle 12c In der mandantenfähigen Welt wird die PDB-Datenbank als unabhängige Datenbank betrachtet, aber die auf CDB-Ebene durchgeführten Betriebsaufgaben wirken sich auf alle PDB-Datenbanken aus, die mit ihr verbunden sind. Die Einrichtung eines Data Guard, das Umschalten oder der Failover werden alle auf der CDB-Ebene durchgeführt. Bei der Ersteinrichtung des Data Guard mit der CDB-Datenbank werden alle PDBs auch auf das Ziel repliziert. Weitere Informationen finden Sie hier.
– Verbindung von Anwendungen vom Desktop zur VirtualBox-Datenbank Wenn Sie versuchen, eine Verbindung zwischen VirtualBox-Maschinen herzustellen oder das Netzwerk für die Kommunikation zwischen Desktop und VirtualBox-Maschinen einzurichten, folgen Sie den einfachen Anweisungen hier