Pregunta: ¿Cuál es la causa del error ORA-04063 «%s tiene errores»? ¿Cómo puedo resolverlo?

La utilidad Oerr devuelve esto para el error 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.

Solución

Ha habido un intento de acceder a una vista o un procedimiento no válido.

La vista podría haberse creado con la opción FORCE. Una operación como un GRANT SELECT contra esta vista inválida devolverá el error ORA-04063.

En el caso siguiente la tabla tab1 no existe. La vista se crea desde el uso de la opción FORCE.

Consecuentemente cuando se emite el GRANT SELECT contra esta vista inválida se devuelve el error 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

Cuando la vista se crea en una tabla existente el GRANT SELECT no devuelve el mensaje de error 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.

¡Asunto resuelto!

Consejos relacionados con OraTips

– Conozca los parámetros de base de datos obsoletos en Oracle 12c – Al actualizar a Oracle 12c es bueno estar familiarizado con estos parámetros. Lea más aquí.
– Autenticación de Usuario Proxy con Connect Through en Oracle Database – El mecanismo de autenticación Proxy permite a un usuario iniciar sesión como su propio usuario pero aterrizar en un esquema diferente sin conocer la contraseña de ese usuario.

Otros Artículos

– Configuración de la Base de Datos Oracle 12c Active Data Guard En el mundo Multitenant, la Base de Datos PDB se considera una base de datos independiente pero las tareas operativas realizadas en el nivel CDB afectan a todas las bases de datos PDB conectadas a ella. Las tareas de configuración de un Data Guard, la conmutación o la conmutación por error se realizan en el nivel de la CDB. Cuando se configura inicialmente el Data Guard, con la base de datos CDB, todas las PDB se replican también en el destino. Lea más aquí.
– Conectando Aplicaciones desde el Escritorio a su Base de Datos VirtualBox Si usted está tratando de conectarse entre Máquinas VirtualBox o tratando de configurar la red para comunicarse desde el Escritorio a las máquinas VirtualBox, siga las instrucciones simples de usar aquí

Articles

Deja una respuesta

Tu dirección de correo electrónico no será publicada.