salida - Obtenga una lista de todas las funciones y procedimientos en una base de datos Oracle
procedure oracle ejemplos (2)
Estoy comparando tres esquemas de Oracle.
Quiero obtener una lista de todas las funciones y procedimientos utilizados en cada base de datos. ¿Es esto posible a través de una consulta? (preferiblemente incluyendo una bandera en cuanto a compilar o no)
Idealmente, sería genial tener una sola consulta con un indicador que indique si la función / procedimiento está en cada esquema. Pero incluso solo el primer bit sería mejor que inspeccionar manualmente cada esquema.
Haga una descripción en dba_arguments, dba_errors, dba_procedures, dba_objects, dba_source, dba_object_size. Cada uno de estos tiene parte de las imágenes para observar los procedimientos y funciones.
También object_type en dba_objects para paquetes es ''PACKAGE'' para la definición y ''PACKAGE BODY'' para el cuerpo.
Si está comparando esquemas en la misma base de datos, intente:
select * from dba_objects
where schema_name = ''ASCHEMA''
and object_type in ( ''PROCEDURE'', ''PACKAGE'', ''FUNCTION'', ''PACKAGE BODY'' )
minus
select * from dba_objects
where schema_name = ''BSCHEMA''
and object_type in ( ''PROCEDURE'', ''PACKAGE'', ''FUNCTION'', ''PACKAGE BODY'' )
y cambiar los pedidos de ASCHEMA y BSCHEMA.
Si también necesita ver los factores desencadenantes y comparar otras cosas entre los esquemas, debe consultar el artículo sobre Ask Tom sobre cómo comparar esquemas
SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE IN (''FUNCTION'',''PROCEDURE'',''PACKAGE'')
La columna ESTADO le dice si el objeto es VÁLIDO o NO VÁLIDO. Si no es válido, debe intentar recompilar, ORACLE no puede decirle si funcionará antes.