Где в Oracle хранятся Java-классы? - PullRequest
8 голосов
/ 18 марта 2009

Где байт-код Java для загруженных классов Java хранится в базе данных Oracle? В частности, есть ли представление или таблица, которую я могу использовать для получения необработанных байтов для объектов схемы класса Java в Oracle?

Ответы [ 2 ]

9 голосов
/ 18 марта 2009

Если вы использовали команду CREATE JAVA SOURCE для загрузки источника Java в базу данных Oracle, вы можете перейти к представлению словаря данных USER_SOURCE и найти ваш источник Java.

Если вам нужно отобразить его или что-то еще, вы можете проверить 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;
2 голосов
/ 26 октября 2009

Java-байт-код хранится в таблице IDL_UB1$:

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