如何判断Oracle包是否是本机编译的?

Gre*_*lds 3 oracle plsql

我在Oracle中安装了一些软件包,我想看看它们是否是本机编译的.有没有办法在数据字典中检查这个?

Oll*_*lie 9

您可以使用字典视图检查包是否已本机编译:

Oracle 9i:

USER_STORED_SETTINGS,DBA_STORED_SETTINGSALL_STORED_SETTINGS.

例如:

SELECT param_value 
  FROM user_stored_settings 
 WHERE param_name = 'PLSQL_COMPILER_FLAGS'
   AND object_name = 'MY_PACKAGE';
Run Code Online (Sandbox Code Playgroud)

PARAM_VALUE列具有NATIVE为本机执行而编译的过程的值,INTERPRETED否则.

Oracle 10g和11g:

USER_PLSQL_OBJECT_SETTINGS,DBA_PLSQL_OBJECT_SETTINGSALL_PLSQL_OBJECT_SETTINGS 看到PLSQL_CODE_TYPE专栏.

有关更多信息,请参阅:http://www.dba-oracle.com/t_compiled_pl_sql.htmhttp://www.pastusiak.info/oracle/native_compilation.

希望能帮助到你...