Где в Oracle хранятся Java-классы?

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

2 ответа

Решение

Если вы использовали команду 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;

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

select o.NAME, i.PIECE 
from obj$ o, IDL_UB1$ i 
where o.type# = 29 
    and o.obj# = i.obj#
Другие вопросы по тегам