美文网首页
ORACLE数据库中关于 CREATE$JAVA$LOB$TAB

ORACLE数据库中关于 CREATE$JAVA$LOB$TAB

作者: _赵开心_ | 来源:发表于2019-04-02 16:37 被阅读0次

    在做项目的时候,发现要导入的一个库中出现了一张特殊的表,表名为CREATE$JAVA$LOB$TABLE,使得hive建表失败,原因是无法识别特殊字符 $

    具体报错信息如下:

    Exception is: org.apache.hive.service.cli.HiveSQLException: Error while
     compiling statement: FAILED: ParseException line 1:53 cannot 
    recognize input near '$' 'java' '$' in create table statement
    

    网上资料 —— Using loadjava - Oracle PL/SQL Programming, Third Edition [Book]

    资料中关于 CREATE$JAVA$LOB$TABLE 里面有这么一段话:

    A table created in each schema, containing Java code elements. Each new class you load using loadjava will generate one row in this table.

    关于这张表,实际上就是在使用操作系统的load java程序将java code的java文件上传到oracle数据库里时存储的。

    另外还会有张表可能会创建,表名为JAVA$CLASS$MD5$TABLE,该表是一张哈希表,用于跟踪给定的schema下的java元素。

    还有一个是LOADLOBS,这个不是表,而是每个schema下都会有的一个包,用于将java code元素作为一个LOB(即large object)读取到数据库当中。

    具体的读取流程图请查看上面的链接。

    相关文章

      网友评论

          本文标题:ORACLE数据库中关于 CREATE$JAVA$LOB$TAB

          本文链接:https://www.haomeiwen.com/subject/wsigbqtx.html