Вы можете проверить, был ли пакет скомпилирован с использованием представлений словаря:
Oracle 9i:
USER_STORED_SETTINGS
, DBA_STORED_SETTINGS
и ALL_STORED_SETTINGS
.
Например:
SELECT param_value
FROM user_stored_settings
WHERE param_name = 'PLSQL_COMPILER_FLAGS'
AND object_name = 'MY_PACKAGE';
Столбец PARAM_VALUE
имеет значение NATIVE
для процедур, скомпилированных для собственного выполнения, и INTERPRETED
в противном случае.
Oracle 10g и 11g:
USER_PLSQL_OBJECT_SETTINGS
, DBA_PLSQL_OBJECT_SETTINGS
и ALL_PLSQL_OBJECT_SETTINGS
см. столбец PLSQL_CODE_TYPE
.
См. http://www.dba -oracle.com / t_compiled_pl_sql.htm и http://www.pastusiak.info/oracle/native_compilation для получения дополнительной информации.
Надеюсь, это поможет ...