Pytanie: Jaka jest przyczyna błędu ORA-04063 „%s ma błędy”? Jak rozwiązać ten problem?

Oerr utility zwraca to dla błędu 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.

Rozwiązanie

Wystąpiła próba dostępu do nieprawidłowego widoku lub procedury.

Widok mógł zostać utworzony z opcją FORCE. Operacja taka jak GRANT SELECT względem tego nieprawidłowego widoku zwróci błąd ORA-04063.

W poniższym przypadku tabela tab1 nie istnieje. Widok jest tworzony od momentu użycia opcji FORCE.

W konsekwencji, gdy polecenie GRANT SELECT jest wykonywane względem tego nieprawidłowego widoku, zwracany jest błąd 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

Gdy widok jest tworzony na istniejącej tabeli, polecenie GRANT SELECT nie zwraca komunikatu o błędzie 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 rozwiązany!

Porady związane z OraTips

– Learn about Deprecated Database Parameters in Oracle 12c – Podczas aktualizacji do wersji Oracle 12c warto zapoznać się z tymi parametrami. Przeczytaj więcej tutaj.
– Proxy User Authentication with Connect Through in Oracle Database – Mechanizm uwierzytelniania Proxy pozwala użytkownikowi zalogować się jako jego własny użytkownik, ale wylądować w innym schemacie bez znajomości hasła dla tego użytkownika.

Inne artykuły

– Konfigurowanie Oracle 12c Active Data Guard Database W świecie Multitenant, baza danych PDB jest uważana za niezależną bazę danych, ale zadania operacyjne wykonywane na poziomie CDB wpływają na wszystkie bazy danych PDB podłączone do niej. Zadania związane z tworzeniem Data Guard, przełączaniem lub awarią są wykonywane na poziomie CDB. Gdy Data Guard jest początkowo konfigurowany z bazą CDB, wszystkie bazy PDB są również replikowane do celu. Przeczytaj więcej tutaj.
– Podłączanie aplikacji z Pulpitu do bazy danych VirtualBox Jeśli próbujesz połączyć się między maszynami VirtualBox lub próbujesz skonfigurować sieć do komunikacji z Pulpitu do maszyn VirtualBox, postępuj zgodnie z prostymi instrukcjami tutaj

.

Articles

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.