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服务器,以便更改生效。