ORA-26880: “SET_EXECUTE” directive is not permitted on rules used by XStream outbound server “string” ORACLE 报错 故障修复 远程处理

文档解释

ORA-26880: “SET_EXECUTE” directive is not permitted on rules used by XStream outbound server “string”

Cause: One or more rules, used by the specified XStream outbound server, had SET_EXECUTE directive defined.

Action: Execute the following: 1) Execute query SELECT xr.rule_owner, xr.rule_name, xr.rule_set_owner, xr.rule_set_name FROM dba_apply_execute e, dba_xstream_rules xr WHERE e.rule_owner = xr.rule_owner AND e.rule_name = xr.rule_name AND xr.streams_name = ; 2) For each rule returned, use DBMS_APPLY_ADM.SET_EXECUTE procedure to set the EXECUTE parameter to TRUE, or use DBMS_RULE_ADM.REMOVE_RULE to remove that rule from its associated rule set.

ORA-26880: “SET_EXECUTE” 指令不允许用于XStream出站服务器“字符串”中使用的规则

官方解释

该错误表明当尝试使用”SET_EXECUTE”指令给XStreamOutbound服务器设置规则时出错。”SET_EXECUTE”指令不允许用于XStreamOutbound服务器,只能用于XStreamInbound服务器。

常见案例

在穿梭服务器中尝试使用“SET_EXECUTE”指令,而不是在XStream inbound服务器中尝试使用它:

SQL> set serveroutput on

SQL> declare

2 l_outbound_server_name varchar2(100) := ‘st_out’;

3 l_rule_name varchar2(100) := ‘get_prod.o10.rule’;

4 l_execute varchar2(3000) := ‘execute_immediate ”select sum(emp_sal) from hr.employees”’;

5 begin

6 dbms_xstream_adm.set_rule_execute (

7 outbound_server_name => l_outbound_server_name,

8 rule_name => l_rule_name,

9 action_params => l_execute

10 );

11 dbms_output.put_line (‘”SET_EXECUTE” directive set successfully.’);

12 end;

13 /

ORA-26880: “SET_EXECUTE” directive is not permitted on rules used by XStream outbound server “st_out”

ORA-06512: 在 line 10

一般处理方法及步骤

1.检查是否正在尝试使用“SET_EXECUTE”指令在XStreamoutbound服务器中设置规则。

2.使用“SET_HARD_PARAMETERS”指令替换“SET_EXECUTE”指令,它只能用在XStreamOutbound服务器中。

3.运行更新的脚本,然后重新启动XStreamOutbound服务器,以便更改生效。


数据运维技术 » ORA-26880: “SET_EXECUTE” directive is not permitted on rules used by XStream outbound server “string” ORACLE 报错 故障修复 远程处理