问题一: ERROR at line 1: ORA-29538: Java not installed 解决方法 1.检查有没有安装JAVA组件 select * from v$option t where t.PARAMETER='Java'; 如果返回行说明已安装,如果没有返回行,运行Oracle Universal Installer安装JAVA组件 2.如果在第1步返回行,则检查oracle中有没有dbms_java. select distinct owner,name from dba_source where lower(NAME)='dbms_java'; 如果没有返回行,执行第3步 3.在sqlplus下以sys登陆,执行$ORACLE_HOME/javavm/install/initjvm.sql SQL>@?/javavm/install/initjvm.sql; 问题二: ERROR at line 1: ORA-29532: Java call terminated by uncaught Java exception: java.security.AccessControlException: the Permission (java.io.FilePermission /home/accmgrctl/src/server read) has not been granted to SQLVIEW. The PL/SQL to grant this is dbms_java.grant_permission( 'SQLVIEW', 'SYS:java.io.FilePermission', '/home/accmgrctl/src/server', 'read' ) ORA-06512: at "SQLVIEW.PKG_FILE_API", line 1 解决方法: 这是由于oracle用户没有访问那个目录的权限,把源代码入在oracle有权限访问的目录下 或者用以下语句授权 EXEC Dbms_Java.Grant_Permission('oracle_username','java.io.FilePermission', '*','read '); 问题三: ERROR at line 1: ORA-29913: error in executing ODCIEXTTABLEOPEN callout ORA-29400: data cartridge error KUP-00552: internal XAD package failed to load ORA-06512: at "SYS.ORACLE_LOADER", line 19 解决方法: 这是110202 上的又一新BUG(外部表的读取) Need to replace the language specific (non-english) kup<lang>.msb file with the english version. 1. cd $ORACLE_HOME/rdbms/mesg 2. Replace <lang> with your installed languages file. mv KUP<lang>.msb to KUP<lang>.msb.BAK 3. Copy <us> version over current <lang> copy of kup msb file. cp kupus.msb to KUP<lang>.msb 4. re-run the select against the external table 我实际的操作过程,就是: 该目录:$ORACLE_HOME/rdbms/mesg 下有两个文件: kupzhs.msb 和 kupus.msb, 其默认使用了kupzhs.msb 此时,我把kupzhs.msb 重新命名为 kupzhs.msb.bak 之后在测试, OK: |
|