Tuesday, October 4, 2011

ORA-25448: rule APPLSYS.WF_DEFERRED_QUEUE_M$1 has errors

Visit the Below Website to access unlimited exam questions for all IT vendors and Get Oracle Certifications for FREE
http://www.free-online-exams.com
Problem:
ORA-25448: rule APPLSYS.WF_DEFERRED_QUEUE_M$1 has errors
ERROR: ORA-025448 : rule APPLSYS.WF_DEFFERED$1 has errors
ORA-00911: invalid character
ORA-24033 no recipients for message


Solution:



ORA-25448: rule APPLSYS.WF_DEFERRED_QUEUE_M$1 has errors
ERROR: ORA-025448 : rule APPLSYS.WF_DEFFERED$1 has errors
ORA-00911: invalid character
ORA-24033 no recipients for message
• You can use the following to remove and add the subscriber and rule back into the WF_DEFERRED queue. You can also modify it to create a script to do the same for all the queues listed in wfmqsubc.sql/wfjmsqc2.sql.

You need to run this from the APPLSYS schema.

declare
lagent sys.aq$_agent;
begin
lagent := sys.aq$_agent('WF_DEFERRED',null,0);
dbms_aqadm.remove_subscriber(queue_name=>'WF_DEFERRED', subscriber=>lagent);
end;
/
commit;

declare
lagent sys.aq$_agent;
begin
lagent := sys.aq$_agent('WF_DEFERRED',null,0);
dbms_aqadm.add_subscriber(queue_name =>'WF_DEFERRED',subscriber=>lagent,rule=>'1=1');
end;
/
commit;

• You can use the following to remove and add the subscriber and rule back into the WF_DEFERRED_QUEUE_M queue. You need to make this a script and run it with the following parameters from the APPS schema:

sqlplus apps/apps @script name APPSusr.

declare
dequeue_timeout exception;
pragma EXCEPTION_INIT(dequeue_timeout, -25228);

subscriber_exist exception;
pragma EXCEPTION_INIT(subscriber_exist, -24034);

type subscriber_tbl_type is table of varchar2(30) index by binary_integer;

i pls_integer := 1;
l_new_queue varchar2(30);
l_wf_schema varchar2(200);
l_subscriber varchar2(30);
l_agent sys.aq$_agent;
subscribers subscriber_tbl_type;
match boolean;

begin

l_wf_schema := wf_core.translate('WF_SCHEMA');

l_new_queue := l_wf_schema||'.WF_DEFERRED_QUEUE_M';

-- Add the first subscriber to initialize the table
subscribers(i) := upper('&1');
l_agent := sys.aq$_agent(subscribers(i),'',0);
begin
dbms_aqadm.remove_subscriber(queue_name=>l_new_queue,
subscriber=>l_agent);
dbms_aqadm.add_subscriber(queue_name=>l_new_queue,
subscriber=>l_agent,
rule=>'CORRID like '''||subscribers(i)||'%''');

exception
when subscriber_exist then
null; -- ignore if we already added this subscriber
end;
end;
/


References:


Java Mailer and Other 11.5.9/OWF G Current Issues in Applications 11i [ID 260393.1]
Get Oracle Certifications for all Exams
Free Online Exams.com

No comments: