Oracle中存储的Java类在哪里?

时间:2009-03-18 11:06:41

标签: java oracle oracleinternals

oracle数据库中存储的已加载java类的java字节码在哪里?具体来说,是否有一个视图或表可以用来获取Oracle中的java类模式对象的原始字节?

2 个答案:

答案 0 :(得分:9)

如果您已使用CREATE JAVA SOURCE命令将Java Source加载到Oracle数据库中,那么您可以转到数据字典视图USER_SOURCE并找到您的Java Source。

如果您需要显示它或者其他东西,可以查看DBMS_JAVA.EXPORT_SOURCE,它将源代码放在您可以操作的PL / SQL结构中。

通常,如果您只想列出所有与Java相关的存储对象,则可以执行以下操作:

SELECT
  object_name, 
  object_type, 
  status, 
  timestamp
FROM 
  user_objects
WHERE 
  (object_name NOT LIKE 'SYS_%' AND 
   object_name NOT LIKE 'CREATE$%' AND 
   object_name NOT LIKE 'JAVA$%' AND 
   object_name NOT LIKE 'LOADLOB%') AND
  object_type LIKE 'JAVA %'
ORDER BY
  object_type, 
  object_name;

答案 1 :(得分:2)

存储在IDL_UB1$表中的Java字节码:

select o.NAME, i.PIECE 
from obj$ o, IDL_UB1$ i 
where o.type# = 29 
    and o.obj# = i.obj#