0 0

jdbc 连接oracle执行sys.dbms_cdc_publish提示权限不足5

源代码 .
StringBuffer proc=new StringBuffer();
        proc.append("{call dbms_cdc_publish.create_change_set(");
        proc.append("change_set_name=>'test_test_hotlog',");
        proc.append("description=>'hotlog change set for test',");
        proc.append("change_source_name=>'HOTLOG_SOURCE',");
        proc.append("stop_on_ddl=>'y',");
        proc.append("begin_date=>sysdate,");
        proc.append("end_date=>sysdate+5)}");
        conn.prepareCallStatement(proc.toString());
        try {
            int result=conn.cstmt.executeUpdate();
            return result;
        } catch (SQLException ex) {
            this.errorMsg=ex.getMessage();
            return -1;
        }

错误信息:
java.sql.SQLException: ORA-01031: 权限不足
ORA-06512: 在 "SYS.DBMS_CDC_PUBLISH", line 560
ORA-06512: 在 line 1

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:212)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:951)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1160)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3368)
at oracle.jdbc.driver.OracleCallableStatement.executeUpdate(OracleCallableStatement.java:4245)
at cn.xtu.exchange.cdc.Publish.executeUpdate(Publish.java:72)
at cn.xtu.exchange.cdc.Publish.createChangeSet(Publish.java:96)
at cn.xtu.exchange.cdc.Publish.createPublish(Publish.java:177)


这个用户我已经授权了,在sqlplus里面,可以正常执行
2010年4月07日 16:47

1个答案 按时间排序 按投票排序

0 0

GRANT EXECUTE ON DBMS_CDC_PUBLISH TO 用户名;
试试吧

2012年9月23日 12:20

相关推荐

    ORACLE SYS.DBMS_REGISTRY_SYS has errors

    标题中的问题“ORACLE SYS.DBMS_REGISTRY_SYS has errors”指的是在Oracle数据库系统中,系统包BODY `SYS.DBMS_REGISTRY_SYS` 出现错误,导致了一系列的PL/SQL调用失败。这种错误通常与数据库的元数据注册功能有关,...

    ORACLE DBMS STATS ERROR

    在Oracle数据库中,`DBMS_STATS` 是一个重要的包,它用于收集和管理表、索引和其他数据库对象的统计信息,这些信息用于优化器选择执行查询的最佳执行计划。然而,当出现错误“ORA-04063: package body 'SYS.DBMS_...

    DBMS_STATS.GATHER_TABLE_STATS详解.pdf

    `DBMS_STATS.GATHER_TABLE_STATS` 是 Oracle 数据库中的一个重要过程,主要用于收集表、列和索引的统计信息,这些统计信息对于优化器选择合适的执行计划至关重要。该过程允许数据库管理员通过一系列参数来灵活控制...

    Oracle 18c bug 执行 DBMS_PDB.CHECK_PLUG_COMPATIBILITY报错_ITPUB博客.mhtml

    Oracle 18c bug 执行 DBMS_PDB.CHECK_PLUG_COMPATIBILITY报错_ITPUB博客.mhtml

    使用dbms_stats包手工收集统计信息

    Oracle 数据库中使用 dbms_stats 包手动收集统计信息 在 Oracle 数据库中,dbms_stats 包提供了一种手动收集统计信息的方式,包括基于表、用户和索引的统计信息。通过使用 dbms_stats 包,我们可以手动收集统计信息...

    怎样禁用及回收java的授权dbms_java

    在Oracle数据库中,可以通过`dbms_java`包来管理Java程序的权限。这主要包括两个方面:一是**授予权限**,二是**撤销(禁用或删除)权限**。授予权限通常是通过`grant_permission`过程完成的,而撤销权限则可以通过`...

    [Oracle] dbms_metadata.get_ddl 的使用方法总结

    Oracle数据库中的`dbms_metadata.get_ddl`是一个非常实用的包,它允许开发人员和管理员获取数据库对象的创建语句(DDL),这对于备份和恢复、迁移或者理解对象定义非常有帮助。下面我们将深入探讨`dbms_metadata.get...

    DBMS_SQL.rar_dbms_oracle

    在Oracle数据库系统中,DBMS_SQL是一个非常重要的包,它提供了动态执行SQL语句的功能,这对于开发复杂的数据库应用或者需要在运行时构建SQL语句的情况非常有用。DBMS_SQL允许我们处理那些在编译时未知的SQL语句,极...

    ORACLE数据库封装过程DBMS_SQL的应用.pdf

    在创建 DBMS_SQL 封装过程时,需要授予用户 SYS 权限,才能执行创建封装过程的操作。在执行 DBMS_SQL 封装过程时,需要有 CREATE TABLE 或 DROP TABLE 权限,否则可能会出现错误。 DBMS_SQL 是一个强大的工具,可以...

    Oracle统计分析-dbms_stats.pdf

    Oracle 统计分析-dbms_stats.pdf Oracle 中的统计分析对于数据库的性能至关重要。dbms_stats 是 Oracle 提供的一个统计分析工具,能够良好地估计统计数据,特别是针对较大的分区表,并且能获得更好的统计结果,最终...

    oracle dbms_lob

    Oracle数据库系统中,`DBMS_LOB`是一个重要的PL/SQL包,专门用于处理大型对象(LOBs,Large Object)。LOBs是Oracle提供的一种数据类型,用于存储大量数据,如文本、图像、音频或视频文件等。这个包包含了各种过程和...

    DBMS.rar_dbms_dbms java_dbms_java_plus

    "DBMS.rar_dbms_dbms_java_dbms_java_plus"这个标题暗示了我们关注的焦点:使用Java实现对DBMS(特别是Oracle数据库)的操作,并且具有类似SQL*PLUS的功能。SQL*PLUS是Oracle公司提供的一个命令行工具,用于执行SQL...

    Oracle中使用DBMS_XPLAN处理执行计划详解

    DBMS_XPLAN是Oracle提供的一个用于查看SQL计划,包括执行计划和解释计划的包;在以前查看SQL执行计划的时候,我都是使用set autotrace命令,不过现在看来,DBMS_XPLAN包给出了更加简化的获取和显示计划的方式。 这5...

    DBMS_XMLDOM DBMS_XMLPARSER DBMS_XMLQUERY 文档

    Oracle数据库系统提供了强大的XML处理能力,这主要体现在其内置的几个PL/SQL包上,如DBMS_XMLDOM、DBMS_XMLPARSER和DBMS_XMLQUERY。这些包为开发者提供了处理XML文档的一整套工具,使得在数据库环境中进行XML数据的...

    oralce异常信息对照表

    在Oracle数据库系统中,异常处理是一项关键功能,它允许开发者优雅地管理程序执行时可能出现的错误情况。"oralce异常信息对照表" 提供了一个有价值的资源,帮助开发者和DBA理解并解决Oracle数据库中遇到的各种异常。...

    DBMS_SQL的使用

    ### Oracle DBMS_SQL 使用详解 #### 一、概述 在Oracle数据库中,`DBMS_SQL`包是一个功能强大的工具,用于执行动态SQL语句。它提供了处理动态SQL语句的能力,使得开发人员能够灵活地构建和执行SQL语句,而不需要...

    Analyze_Oracle_Table.rar_Table_analyze orac_analyze orac_oracle

    在"Analyze_Oracle_Table.doc"文档中,可能详细介绍了如何执行这些分析操作,包括何时应该分析,如何使用DBMS_STATS包进行更复杂的统计收集,以及分析结果如何影响查询优化。此外,文档可能还会涵盖如何处理分析过程...

    dbms_obfuscation_toolkit加密解密数据

    ### DBMS_OBFUSCATION_TOOLKIT:Oracle 数据库中的加密与解密工具包 DBMS_OBFUSCATION_TOOLKIT是Oracle数据库提供的一种用于数据加密解密的强大工具包,自Oracle 8i版本开始引入。它支持多种加密算法,如DES、...

    unixODBC-devel-2.3.1-14.el7.x86_64_oracle_UNIX_

    标题中的"unixODBC-devel-2.3.1-14.el7.x86_64_oracle_UNIX_"提到了几个关键元素,分别是"unixODBC"、"devel"、"2.3.1"、"14.el7"、"x86_64"和"Oracle UNIX"。这些元素揭示了该软件包是Unix平台上的一个开发版本...

    Re-post: DBMS_XPLAN : Display Oracle Execution Plans

    标题“DBMS_XPLAN: 显示Oracle执行计划”是一个关于Oracle数据库系统中用于分析SQL查询执行性能的重要工具的讨论。这个工具允许用户查看SQL语句的执行计划,从而理解数据库如何处理这些语句,以及哪些操作可能影响...

Global site tag (gtag.js) - Google Analytics