【问题标题】:ORA-31600: invalid input value CHAIN for parameter OBJECT_TYPEORA-31600: 参数 OBJECT_TYPE 的输入值 CHAIN 无效
【发布时间】:2015-05-27 01:33:18
【问题描述】:

我正在尝试导出在 Oracle 11g 上创建的完整调度程序链(包括步骤、规则等),但出现此错误:

ORA-31600: invalid input value CHAIN for parameter OBJECT_TYPE in function GET_DDL 
ORA-06512: at "SYS.DBMS_METADATA", line 5805
ORA-06512: at "SYS.DBMS_METADATA", line 8344 
ORA-06512: at line 1

消息含义

31600. 00000 -  "invalid input value %s for parameter %s in function %s"
*Cause:    A NULL or invalid value was supplied for the parameter.
*Action:   Correct the input value and try the call again.

查询失败:

select dbms_metadata.get_ddl('CHAIN','RUN_SERVICE_IP') from dual;

我们是否能够为链导出(获取 DDL)?导出整个链设置的替代方案是什么?

【问题讨论】:

    标签: oracle oracle11g export ddl dbms-scheduler


    【解决方案1】:

    以下在 Oracle 12c 上是正确的,我无法测试早期版本。

    您需要将'PROCOBJ' 指定为OBJECT_TYPE,因此:

    select dbms_metadata.get_ddl('PROCOBJ','RUN_SERVICE_IP') from dual;
    

    这对程序、作业和链有效。作业定义将包括属性。链定义将包括链步骤,但奇怪的是不包括链规则。这些您只能从视图*_SCHEDULER_CHAIN_RULES 中获得,例如

    select 'dbms_scheduler.define_chain_rule(
      chain_name => ''' || chain_name || ''',
      condition => ''' || condition || ''',
      action => ''' || action || ''',
      rule_name => ''' || rule_name || ''',
      comments => ''' || comments || '''
    );'
    from user_scheduler_chain_rules;
    

    【讨论】:

    • 感谢 Andrew,您的建议在 Oracle 11g 上运行良好。
    猜你喜欢
    • 2010-10-25
    • 2019-02-09
    • 2018-03-31
    • 2012-09-19
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    相关资源
    最近更新 更多