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?
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;
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#