SafeChildren Banner

Havoc Oracle Solaris Experts

miércoles, 18 de noviembre de 2009

Cómo compilar los objectos en Oracle

Introducción
Vamos a ver qué objetos tenemos inválidos en Oracle, para ello vamos a consultar el estado y comparándolo con INVALID.
SQL> SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM ALL_OBJECTS WHERE STATUS = 'INVALID'
Los objetos que podemos compilar son  <Vista, Package, Package Body, Function> y su formato es el siguiente:
ALTER <OBJECT_TYPE> COMPILE
Por ejemplo, si queremos compilar una vista llamada TEST_VIEW del schema TEST haremos lo siguiente
SQL> ALTER VIEW TEST.TEST_VIEW COMPILE;
Si queremos compilar el <package> TEST_PKG  del schema TEST haremos lo siguiente
SQL> ALTER PACKAGE TEST.TEST_PKG COMPILE;
Si queremos compilar el <package body> deberemos incluir la palabra  BODY en la instrucción de compilación del paquete, por ejemplo
SQL> ALTER PACKAGE TEST.TEST_PKG COMPILE BODY;
Si queremos compilar una <function> debemos hacer los siguiente
SQL> ALTER FUNCTION TEST.GET_CCID COMPILE;
Por útlimo, si durante la compilación se han producido errores, podemos utilizar para ver el detalle, por ejemplo
SQL> ALTER FUNCTION TEST.GET_CCID COMPILE;

Warning: Function altered with compilation errors.

SQL> SHOW ERRORS;
Errors for FUNCTION TEST.GET_CCID:

LINE/COL ERROR
-------- -----------------------------------------------------------------
37/5     PL/SQL: Statement ignored
37/5     PLS-00201: identifier 'TEST@TEST_ERP' must be declared
37/5     PLS-00352: Unable to access another database 'TEST_ERP'
SQL>

Referencias

No hay comentarios:

Publicar un comentario