Dotaz: Jaká je příčina chyby ORA-04063 „%s has errors“? Jak ji vyřešit?
Utilita OERR vrací pro chybu ORA toto.
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.
Řešení
Proběhl pokus o přístup k neplatnému zobrazení nebo proceduře.
Pohled mohl být vytvořen pomocí volby FORCE. Operace jako GRANT SELECT proti tomuto neplatnému pohledu vrátí chybu ORA-04063.
V níže uvedeném případě tabulka tab1 neexistuje. Pohled je vytvořen, protože je použita volba FORCE.
Při zadání operace GRANT SELECT proti tomuto neplatnému pohledu se následně vrátí chyba 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
Pokud je pohled vytvořen na existující tabulce, GRANT SELECT nevrátí chybové hlášení 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.
Problém vyřešen!
Související OraTipy
– Přečtěte si o zastaralých parametrech databáze v Oracle 12c – při přechodu na Oracle 12c je dobré znát tyto parametry. Více informací naleznete zde.
– Proxy ověřování uživatelů pomocí funkce Connect Through v databázi Oracle – Mechanismus proxy ověřování umožňuje uživateli přihlásit se jako jeho vlastní uživatel, ale přistoupit do jiného schématu, aniž by znal heslo tohoto uživatele.
Další články
– Nastavení databáze Oracle 12c Active Data Guard Ve světě Multitenant je databáze PDB považována za nezávislou databázi, ale provozní úlohy prováděné na úrovni CDB ovlivňují všechny databáze PDB, které jsou do ní zapojeny. Úloha nastavení Data Guard, přepnutí nebo selhání se provádí na úrovni CDB. Při počátečním nastavení funkce Data Guard s databází CDB jsou všechny databáze PDB rovněž replikovány do cíle. Více informací naleznete zde.
– Připojení aplikací z Desktopu k databázi VirtualBoxu Pokud se snažíte připojit mezi stroji VirtualBoxu nebo se snažíte nastavit síť pro komunikaci z Desktopu do strojů VirtualBoxu, postupujte podle jednoduchého návodu zde