Întrebare: Care este cauza erorii ORA-04063 „%s has errors”? Cum o pot rezolva?
Utilitarul Orr returnează acest lucru pentru eroarea ORA.
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.
Soluție
A existat o încercare de a accesa o vizualizare sau o procedură invalidă.
Vederea ar fi putut fi creată cu opțiunea FORCE. O operațiune cum ar fi GRANT SELECT împotriva acestei vizualizări invalide va returna eroarea ORA-04063.
În cazul de mai jos tabelul tab1 nu există. Vizualizarea este creată din moment ce se utilizează opțiunea FORCE.
În consecință, atunci când se emite GRANT SELECT împotriva acestei vizualizări invalide, se returnează eroarea 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
Când vizualizarea este creată pe o tabelă existentă, GRANT SELECT nu returnează mesajul de eroare 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ă rezolvată!
Subiecte OraTips conexe
– Aflați despre parametrii de baze de date depreciați în Oracle 12c – Când faceți upgrade la Oracle 12c este bine să fiți familiarizați cu acești parametri. Citiți mai multe aici.
– Autentificarea utilizatorului proxy cu Connect Through în Oracle Database – Mecanismul de autentificare proxy permite unui utilizator să se conecteze ca propriul utilizator, dar să aterizeze într-o schemă diferită fără a cunoaște parola pentru acel utilizator.
Alte articole
– Configurarea bazei de date Oracle 12c Active Data Guard În lumea Multitenant, baza de date PDB este considerată o bază de date independentă, dar sarcinile operaționale efectuate la nivelul CDB afectează toate bazele de date PDB conectate la aceasta. Sarcinile de configurare a unei baze de date Data Guard, de comutare sau de înlocuire sunt toate efectuate la nivelul CDB. Atunci când Data Guard este configurat inițial, cu baza de date CDB, toate PDB-urile sunt, de asemenea, replicate la țintă. Citiți mai multe aici.
– Conectarea aplicațiilor de pe desktop la baza de date VirtualBox Dacă încercați să vă conectați între mașinile VirtualBox sau încercați să configurați rețeaua pentru a comunica de la desktop la mașinile VirtualBox, urmați instrucțiunile simple de utilizare de aici