Thursday, April 14, 2011

Where are java classes stored in Oracle?

Where is the java bytecode for loaded java classes stored within an oracle database? Specifically, is there a view or table I can use to obtain the raw bytes for java class schema objects within Oracle?

From stackoverflow
  • If you have used CREATE JAVA SOURCE command to load the Java Source into the Oracle database then you can go to the data dictionary view USER_SOURCE and find your Java Source.

    If you need to display it or something, you can check out DBMS_JAVA.EXPORT_SOURCE which puts the source code in PL/SQL structures that you can manipulate.

    Generally, if you want to just list all Java related stored objects you can execute the following:

    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 bytecode stored in IDL_UB1$ table: select o.NAME, i.PIECE from obj$ o, IDL_UB1$ i where o.type# = 29 and o.obj# = i.obj#

0 comments:

Post a Comment

Note: Only a member of this blog may post a comment.