在安装以前可以在ORACLE_HOME/javavm 目录下找到readme,另外注意的是所有jvm相关的sql都必须用sys as sysdba权限.     
先决条件:   1:rollback segment至少100m 
  2:System tablespace,所有的脚本大概要消耗130m,initjvm.sql 所产生 
  的objects 消耗接近90m空间. 
  3:Shared_pool_size >=50m 
  4:Java_pool_size >=30m 
  pool sizes 大小可以用 
  select * from v$sgastat where name = 'free memory' 检定. 
  安装过程: 
  1:***INITJVM.SQL*** 
  SQL>set echo on 
  SQL>spool jvminst.log 
  SQL>@/javavm/install/initjvm.sql 
  SQL>spool off 
  作用:载入初始用来支持java应用的java类包,初始化支持java和corba的名字空间的表,以及发布顶层调用的入口指针. 
  支持的java类包括: 
  The standard Java runtime 
  Bytecode verifier and optimizer 
  Java and SQLJ compilers 
  JDBC runtime 
  CORBA ORB and EJB runtime 
  Some additional support classes, such as DBMS_JAVA, which are 
  described in "Package DBMS_JAVA" 
  initjvm.sql 同时做以下动作: 
  1:将类载入SYS schema 
  2:建立这些类的同义词,使可以被所有用户访问. 
  3:调整一些类的权限使支持CORBA callouts. 
  4:定义一些数据库start up 和shut down触发器. 
  注意:如果initjvm.sql 运行失败,在重新运行以前必须先执行rmjvm.sql,安装失败一般都是因为资源不足的问题,比如memory 和tablespace 
  2:***INITXML.SQL*** 
  SQL>set echo on 
  SQL>spool initxml.log 
  SQL>@?/oracore/admin/initxml.sql 
  SQL>spool off   
  主要功能: 
  将xml 组件load到jserver里,可以利用plsql的接口对xlm进行扩展. 
  XML Parser for PL/SQL 支持 W3C XML 1.0 规范 
  3:***CATXSU.SQL*** 
  SQL>set echo on 
  SQL>spool catxsu.log 
  SQL>@?/rdbms/admin/catxsu.sql 
  SQL>spool off   
  主要功能: 
  将XMLSQL Utility (XSU)装入数据库,主要用来做data transformation, 
  将关系型的数据的SQL query result转换到xml格式,反之依然. 
  ***INIT_JIS.SQL*** 
  SQL>set echo on 
  SQL>spool init_jis.log 
  SQL>@?/javavm/install/init_jis.sql 
  SQL>spool off   
  主要功能: 
  用来安装Oracle Servlet Engine (OSE)的,OSE象一个特定的web server一样工作,servlet类 通过java载入命令置入数据库,并在数据库的namespace 里注册,A servlet runner 处理HTTP 请求,publise serverlet进程,invoke serverlet 方法. 
  ***JISJA.SQL***   
  主要功能: 
  主要用来使能JAccelerator (ncomp) for JIS,对优化性能有帮助,JServer Accelerator 通过ncomp工具将java类编译成共享库,来提高执行效率. 
  ***JISAEPHC.SQL*** 
  SQL>set echo on 
  SQL>spool jisaephc.log 
  SQL>@?/javavm/install/jisaephc.sql 
  SQL>spool off   
  主要功能: 
  OSE 安装完毕后,Adds the set of default end points to the server with hardcoded values for the admin service 
  ***INITPLGS.SQL*** 
  SQL>set echo on 
  SQL>spool initplgs.log 
  SQL>@?/rdbms/admin/initplgs.sql 
  SQL>spool off    
  主要功能:    
  将PLSQL Gateway Servlet 的jar文件装入数据库,这个使plsql的存储过程可以象servelet那样运行,PL/SQL 过程可以在web上运行而无需做任何改装, 
  ***INITJSP.SQL*** 
  SQL>set echo on 
  SQL>spool initjsp.log 
  SQL>@?/jsp/install/initjsp.sql 
  SQL>spool off   
  主要功能: 
  用来安装Java Server Pages (JSP) , 
  ***JSPJA.SQL*** 
  SQL>spool jspja.log 
  SQL>@?/jsp/install/jspja.sql 
  SQL>spool off   
  主要功能: 
  用JAccelerator 来performace jsp功能组件,以native 方式编译java代码. 
  ***INITPLSJ.SQL*** 
  SQL>spool initplsj.log 
  SQL>@?/rdbms/admin/initplsj.sql 
  SQL>spool off   
  主要功能: 
  初始化plsql 的java类库 
  ***INITJMS.SQL*** 
  SQL>spool initjms.log 
  SQL>@?/rdbms/admin/initjms.sql 
  SQL>spool off   
  主要功能: 
  将AQ/JMS 载入数据库,oracle ssaging Service (JMS)提供了一组java api来支持Advanced Queuing based on the JMS standard, 
  ***INITREPAPI.SQL*** 
  SQL>spool initrepapi.log 
  SQL>@?/rdbms/admin/initrepapi.sql 
  SQL>spool off   
  主要功能: 
  This script loads RepAPI server classes and publishes the 'repapi' objects 
  The RServer.class and its helper class are published in /etc namespace. RepAPI is a runtime library that enables clients to replicate data with Oracle servers. 
  ***INITSOXX.SQL*** 
  SQL>spool initsoxx.log 
  SQL>@?/rdbms/admin/initsoxx.sql 
  SQL>spool off   
  主要功能: 
  This script loads objects, extensibility and xml related java classes into the database. 
  ***JISAEP.SQL*** 
  SQL>spool jisaep.log 
  SQL>@?/javavm/install/jisaep admin 8080 9090 
  SQL>spool off   
  主要功能: 
  将OSE 配置成缺省的web服务,需要2个或三个参数 
  1:服务名,2:TCP 端口,3: ssl端口 
  ----- 
  如何检定安装是否成功: 
  新装的数据库,即运行过catalog.sql 和 catproc.sql后,数据库里并没载入java对象,可以通过查询DBA_OBJECTS,条件是OBJECT_TYPE like 'JAVA%'来检查. 
  select count(*) from DBA_OBJECTS where OBJECT_TYPE like 'JAVA%';  This should return a count of 6785.  
  查找无效java对象 
  select count(*) from DBA_OBJECTS 
  where OBJECT_TYPE like 'JAVA%' and STATUS = 'INVALID'; 
  如果数量小于第一个查询的值或第二个查询有返回,可能就需要浏览一下spool 的log,来找原因了. 
  INITJVM.SQL CREATES: 
  - 
  3 functions 
  4 indexes 
  6438 java classes 
  290 java data 
  57 java resources 
  6 packages 
  1 sequence 
  6443 synonyms 
  8 tables 
  2 triggers 
  3 views 
  SQL> select count(*), object_type from dba_objects where object_type like 'JAVA%' group by object_type; 
  6438 JAVA CLASS 
  290 JAVA DATA 
  57 JAVA RESOURCE    
  6785    
  INITXML.SQL CREATES: 
  - 
  2 indexes 
  272 classes 
  31 java resources 
  1 lob 
  19 packages 
  272 synonyms 
  2 tables  
  CATXSU.SQL 
  CREATES:  
  29 classes 
  30 java resources 
  3 packages 
  3 synonyms 
  INIT_JIS.SQL 
  CREATES: -- 
  12 indexes 
  2384 classes 
  10 java resources 
  1 lob 
  13 packages 
  5 sequences 
  2400 synonyms 
  17 tables 
  1 trigger 
  1 view 
  JISJA.SQL 
  CREATES: ------------------ 
  154 classes 
  8 java sources 
  1 procedure 
  3 tables 
  JISAEPHC.SQL 
  CREATES: -- 
  No new objects...... 
  INITPLGS.SQL 
  CREATES: -- 
  1 class 
  1 synonym 
  INITJSP.SQL 
  CREATES: - 
  275 classes 
  2 java resources 
  275 synonyms 
  JSPJA.SQL 
  CREATES: ------------------ 
  20 classes 
  INITPLSJ.SQL 
  CREATES: -- 
  2 classes 
  INITJMS.SQL CREATES: - 
  159 classes 159 synonyms 
  INITREPAPI.SQL 
  CREATES: ---- 
  71 classes 
  71 synonyms 
  INITSOXX.SQL 
  CREATES: -- 
  37 classes 
  37 synonyms 
  JISAEP.SQL 
  CREATES: 
  No new objects..... 
  TOTALS AFTER THE EXECUTION OF ALL SCRIPTS: 
  ---- 
  SQL>select count(*) from dba_objects 
  where object_type like 'JAVA%' and owner = 'SYS'; 
  COUNT(*) ---------- 10270 
  SQL>select count(*) from dba_objects 
  where object_type like 'JAVA%' and status = 'INVALID' and owner = 'SYS'; 
  COUNT(*) ---------- 0      
查看本文来源