Fråga: Vad är orsaken till felet ORA-04063 ”%s has errors”? Hur löser jag detta?
Oerr-verktyget returnerar detta för ORA-felet.
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ösning
Det gjordes ett försök att komma åt en ogiltig vy eller procedur.
Vyn kan ha skapats med alternativet FORCE. En operation som GRANT SELECT mot denna ogiltiga vy returnerar felet ORA-04063.
I fallet nedan finns inte tabellen tab1. Vyn skapas eftersom FORCE-alternativet används.
När GRANT SELECT utfärdas mot den här ogiltiga vyn returneras felet ORA-04063.
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
När vyn skapas på en befintlig tabell returnerar GRANT SELECT inte felmeddelandet ORA-04063.
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 löst!
Relaterade OraTips
– Lär dig mer om föråldrade databasparametrar i Oracle 12c – När du uppgraderar till Oracle 12c är det bra att känna till dessa parametrar. Läs mer här.
– Proxy-användarautentisering med Connect Through i Oracle Database – Proxy-autentiseringsmekanismen gör det möjligt för en användare att logga in som sin egen användare men landa i ett annat schema utan att känna till lösenordet för den användaren.
Andra artiklar
– Uppsättning av Oracle 12c Active Data Guard-databas I Multitenant-världen betraktas PDB-databasen som en självständig databas, men de operativa uppgifter som utförs på CDB-nivå påverkar alla PDB-databaser som är kopplade till den. Uppgiften att konfigurera en Data Guard, växla eller övergå till en annan databas utförs alla på CDB-nivå. När dataskyddet först konfigureras med CDB-databasen replikeras också alla PDB:er till målet. Läs mer här.
– Anslutning av applikationer från skrivbordet till din VirtualBox-databas Om du försöker ansluta mellan VirtualBox-maskiner eller försöker konfigurera nätverket för att kommunicera från skrivbordet till VirtualBox-maskinerna, följ de enkla instruktionerna här