Algunos objetos de la base de datos (triggers, funciones, procedimientos, vistas, packages, etc) deben compilar sin errores para que los puedas utilizar, el estado de cada uno lo puedes ver en la columna STATUS de la vista del diccionario DBA_OBJECTS, por ejemplo:
Un procedimiento creado con errores de sintaxis devuelve una advertencia y para ver más detalles utilizas el comando show err
Código:
SQL> create or replace procedure p1
1 is
2 c number(8);
3 begin
4 select 1 into x from dual;
5 end;
SQL> /
Warning: Procedure created with compilation errors.
SQL> show err
Errors for PROCEDURE P1:
LINE/COL ERROR
-------- -------------------------------------------
5/1 PL/SQL: SQL Statement ignored
5/15 PLS-00201: identifier 'X' must be declared
5/17 PL/SQL: ORA-00904: : invalid identifier
Una vez corregido el problema, puedes recompilar con el comando
Código:
SQL> alter procedure p1 compile;
Procedure altered.
Saludos