Où sont stockées les classes java dans Oracle?


Où le bytecode java pour les classes java chargées est-il stocké dans une base de données oracle? Plus précisément, existe-t-il une vue ou une table que je peux utiliser pour obtenir les octets bruts pour les objets de schéma de classe java dans Oracle?

Author: thecoop, 2009-03-18

2 answers

Si vous avez utilisé la commande CREATE JAVA SOURCE pour charger la source Java dans la base de données Oracle, vous pouvez accéder à la vue dictionnaire de données USER_SOURCE et trouver votre source Java.

Si vous avez besoin de l'afficher ou quelque chose, vous pouvez vérifier DBMS_JAVA.EXPORT_SOURCE qui place le code source dans des structures PL/SQL que vous pouvez manipuler.

Généralement, si vous souhaitez simplement répertorier tous les objets stockés liés à Java, vous pouvez exécuter ce qui suit:

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;
 9
Author: Petros, 2009-03-18 11:50:29

Bytecode Java stocké dans la table IDL_UB1$:

select o.NAME, i.PIECE 
from obj$ o, IDL_UB1$ i 
where o.type# = 29 
    and o.obj# = i.obj#
 1
Author: Darmen, 2012-02-24 18:25:13