AQ Propagation Notifications/PLSQL Callback Query?

I have the following scenario working but have a question:
I have two databases, I Enqueue a message onto a Queue in Database 1 and scheduling Propagation to a Queue in Database 2.
In Database 2 the queue has a PL/SQL procedure registered (using DBMS_AQ.Register) so that as the propagated message arrives it calls the procedure which dequeues it and saves the message to the Table.
It is all working fine, except that the Dequeue process on Database 2 seems to get invoke after approx 5 mins after it is Enqueued. SO you can see the message on the Subscribing Queue with an Enqueue Time, and it seems to always be about 5 mins later till the procedure is kicked off to dequeue it.
How do you set the time that it takes to dequeue the message?
There are no parameters on the DBMS_AQ_Register proc to set this.
I can't find anything in the docs?
I originally had a demo setup using PL/SQL callback on a local Queue (without propagation between two Databases) and the Dequeue was virtually instantaneous?
Regards
Stuart

Hello,
jobqueue_interval is not unsupported it is just hidden. In most cases the default is enough which is why it is hidden. As I recall the default is 5 seconds in 10.2 so it does not explain the 5 minute delay you are seeing. AQ only ever uses 1/2 the available job_queue_processes so if only 1 is available I would be surprised if it worked at all. Have you increased the number to 10?
There are no other ways to tune notification callbacks in any available version of Oracle that I am aware of.
Thanks
Peter

Similar Messages

  • Dequeuing multiples messages in a PLSQL CallBack

    Hi all:
    I would like to dequeue multiples messages in a PLSQL CallBack for performance reason.
    Everything works fine, but I see that Oracle AQ sent the rest of the notifications messages to the callback independent of an empty queue.
    I added a table lock to prevent parallel execution of the Call Back, but when this resource lock is freed, many oracle processes are started in parallel to process the rest of the notification pending.
    Here my Call Back:
      static procedure msgCallBack(context  IN  RAW,
                                   reginfo  IN  SYS.AQ$_REG_INFO,
                                   descr    IN  SYS.AQ$_DESCRIPTOR,
                                   payload  IN  RAW,
                                   payloadl IN  NUMBER) is
        dequeue_options     dbms_aq.dequeue_options_t;
        message_properties  dbms_aq.message_properties_t;
        message_handle      RAW(16);
        message             lucene_msg_typ;
        prefix              VARCHAR2(4000) := utl_raw.cast_to_varchar2(context);
        rcount              NUMBER;
        begin
          EXECUTE IMMEDIATE 'LOCK TABLE '||prefix||'$T IN EXCLUSIVE MODE';
          EXECUTE IMMEDIATE 'select count(*) from '||prefix||'$QT' INTO rcount;
          if (rcount >0) then
            sync(prefix); -- dequeue all messages
          end if;
          commit;
      end msgCallBack;
    sync(prefix) dequeues all messages pending on the queue, if statement is to avoid non-necessary call to sync procedure on an empty queue.
    Is there any way to clean up all pending notification inside a Call Back?
    I'll appreciate any help on this topic.
    Best regards, Marcelo.

    Hi Marcelo,
    If you do a dequeue with dequeue_options.wait=dbms_aq.forever it will wait until the message is enqueued. It is not consuming (much) cpu-time. AQ solves this under water for you by polling the queue-table.
    If you schedule this job with an interval of say 10secs (using dbms_job or dbms_scheduler) the job will come up after database startup. The only other option is to start the process using a sqlplus or similar tool. But since the dequeueu will wait for the next incomming message the sqlplus session will halt. Using the jobscheduler in the database causes the job to be run in a session with in the database (so you get your session freed) and after a database restart, the job will come up.
    You can use this with a normal default queue. You should not use the dequeue_option visibility=dbms_aq.immediate, because then you loose your "transactional grouping".
    I'd advise to either
    . not use wait=dbms_aq.forever, but a reasonable amount of wait time and then let your job run to complete. Then the job scheduler can reschedule the process in an interval of for example 1 - 10 sec.
    . do use wait=dbms_aq.forever but define a kind of "suicide pill". That is a message that you give a special meaning for example a correlation-id with a special text, and the highest possible priority. You have to make sure that it by passes every other message-priority. If the process gets this message it has to stop.
    The reason I advise eiter of them is that you want a means of stopping the process in a neat fashion. For example for maintenance purposes. I personally have a slight prefrence for the first option, because when you remove the job from the jobscheduler you may trust that the job stops. For the second option you have to rely on the process receiving and consuming the suicide pill. But it is manner of taste: the second option is also a good way. The first option introduces a possible latency since the job is regularly not executing for a few seconds. The second gives the best response I think.
    Regards,
    Martien

  • Plsql callback (dbms_aq.register) stops working

    we had, for quite a while, a working situation where a incoming message notifies a plsql procedure, which dequeues and handles the message, resulting in a response message in a different queue
    the queue has one subscriber and through dbms_aq.register I registered a plsql callback and all worked fine for about a year
    suddenly this stopped working - messages aren't dequeued anymore - for no apparent reason (nothing changed in this part of the database)
    I already dropped and recreated the queue table, queues, subscriptions and registered the plsql callback again, but no results
    does anyone have a clue where to look (specific sys tables/views, database parameters etc) because I am running out of ideas...
    we are running the 10.2.0.1.0 database
    greatings
    Jan

    Jan,
    The EMNO (Event Monitor) process is responsible to execute the AQ notifications, in this case your pl/sql callback. This may or may not be your problem. I'm not sure how much help this link will be but it covers Event Monitor issues for various versions of Oracle. https://metalink.oracle.com/metalink/plsql/f?p=130:14:2721106654994549115::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,105067.1,1,1,1,helvetica
    Jason

  • Help. plsql callback of a jms message. Not working

    had examples of AQ working in my 10g r2 database using simple queues.
    however my problem is I want to use a jms queue. I can enqueue onto it all the time but it never notifies my subscriber and I am drawing a blank. Can anyone help me? Thanks in advance.
    Using the example below the data just sits in the queue for ever.
    Here is the example assuming installing into oracle user : demo.
    begin
    dbms_aqadm.create_queue_table
    (Queue_table => 'jms_message'
    ,Queue_payload_type => 'sys.aq$_jms_message'
    ,multiple_consumers => true
    ,comment => 'demo queue table'
    dbms_aqadm.create_queue
    (queue_name => 'jms_message_request',
    queue_table => 'jms_message');
    dbms_aqadm.start_queue
    (queue_name => 'jms_message_request');
    end;
    drop table demo_data;
    drop sequence s_demo_data_id;
    create table demo_data
    (id number(10)
    ,stuff varchar2(2000)
    create sequence s_demo_data_id;
    create or replace procedure plsql_subscriber
    (context raw,
    reginfo sys.aq$_reg_info,
    descr sys.aq$_descriptor,
    payload sys.aq$_jms_message,
    payloadl number
    ) is
    dequeue_options dbms_aq.dequeue_options_t;
    message_properties dbms_aq.message_properties_t;
    message_handle RAW(16);
    message sys.aq$_jms_message;
    v_stuff demo_data.stuff%type;
    begin
    dequeue_options.msgid := descr.msg_id;
    dequeue_options.consumer_name := descr.consumer_name;
    dbms_aq.dequeue(queue_name => 'JMS_MESSAGE_REQUEST',
    dequeue_options => dequeue_options,
    message_properties => message_properties,
    payload => message,
    msgid => message_handle);
    v_stuff:=
    'Type: ' || message.get_type ||
    ' UserId: ' || message.get_userid ||
    ' AppId: ' || message.get_appid ||
    ' GroupId: ' || message.get_groupid ||
    ' GroupSeq: ' || message.get_groupseq;
    insert into demo_data values ( s_demo_data_id.nextval,v_stuff);
    commit;
    end;
    -- ADD plsql SUBSCRIBERS AND REGISTER THE QUEUES
    prompt -- create subscriber
    declare
    o_agent sys.aq$_agent;
    begin
    o_agent:=new sys.aq$_agent
    (name => 'SUBSCRIBER1'
    ,address => null
    ,protocol=> null
    dbms_aqadm.add_subscriber
    (queue_name => 'jms_message_request'
    ,subscriber => o_agent
    ,rule => null
    end;
    declare
    t_reg_list sys.aq$_reg_info_list;
    o_reg_info sys.aq$_reg_info;
    begin
    -- note as this is a multi consumer q we need the name to be in the format schema.queue:consumer_name
    o_reg_info:=new sys.aq$_reg_info
    (name =>'demo.jms_message_request:subscriber1'
    ,namespace =>dbms_aq.namespace_aq -- ie AQ streams
    ,callback => 'plsql://demo.plsql_subscriber'
    ,context => hextoraw('FF')
    t_reg_list:=new sys.aq$_reg_info_list();
    t_reg_list.extend();
    t_reg_list(1):=o_reg_info;
    /* -- note this suffers from oracle bug : 'count' is a reserved word and use of such a keyword causes this error
    -- when using a procedure call in PL/SQL.
    -- This is resolved by the fix for Bug 3966513 which will be in 10g Release 2.
    -- see below for fix
    dbms_aq.register
    (reg_list => t_reg_list
    ,count => 1);
    dbms_aq.register(t_reg_list,1);
    commit;
    end;
    DECLARE
    id pls_integer;
    agent sys.aq$_agent;
    map_message sys.aq$_jms_map_message;
    message sys.aq$_jms_message;
    enqueue_options sys.dbms_aq.enqueue_options_t;
    message_properties sys.dbms_aq.message_properties_t;
    msgid raw(16);
    BEGIN
    agent:= new sys.aq$_agent
    (name=>'producer' -- name of the producer
    ,address=>null -- return address
    ,protocol=>0 -- 0 default
    -- Consturct a empty map message object
    map_message := sys.aq$_jms_map_message.construct;
    -- Shows how to set the JMS header
    map_message.set_replyto(agent);
    map_message.set_type('myType');
    map_message.set_userid('me');
    map_message.set_appid('plsql_enq');
    map_message.set_groupid('myGroup');
    map_message.set_groupseq(1); -- is this messing it up
    -- Shows how to set JMS user properties
    id := map_message.clear_body(-1);
    map_message.set_string(id, 'STRING', 'Hello World!');
    map_message.flush(id);
    sys.aq$_jms_map_message.clean_all();
    message := sys.aq$_jms_message.construct(map_msg=>map_message);
    dbms_aq.enqueue(
    queue_name => 'jms_message_request',
    enqueue_options => enqueue_options,
    message_properties => message_properties,
    payload => message,
    msgid => msgid);
    commit;
    end;
    /

    Update:
    If I go to network in the dashboard it DOES see the airport but will not let me connect. I keep getting "connection failed." I know I have the right password ect. but no idea why it will not let me join.
    Do I need to get the paperclip out and reset the airport???

  • Where can i find plsql callback procedure error

    I am using Oracle 11.2.0.3.
    I have registered a callback procedure to my queue (point to point persistent message queue). Is the error from callback procedure stored somewhere?
    I did see some entries to  SYS.AQ_SRVNTFN_TABLE_1 , which is exception table for notification queue but it did not had ORA error of why my callback procedure failed?
    DECLARE    reginfo    SYS.AQ$_REG_INFO;    reg_list  SYS.AQ$_REG_INFO_LIST;
    BEGIN    reginfo :=      sys.AQ$_REG_INFO ('NOTIFY_Q',                        DBMS_AQ.NAMESPACE_AQ,                        'plsql://sp_callback,                        HEXTORAW ('FF'));  
    reg_list := sys.AQ$_REG_INFO_LIST (reginfo);  
    DBMS_AQ.REGISTER (reg_list => reg_list, reg_count => 1);  
    COMMIT
    ; EXCEPTION 
      WHEN OTHERS    THEN    
    DBMS_OUTPUT.put_line (DBMS_UTILITY.FORMAT_ERROR_STACK);
    END;
    Thanks.

    I want to know what error is thrown by call back procedure. Right now, only option i have is to log  exception into a table. I wanted to know if oracle already logs the exception from callback procedure somewhere or if i can configure my callback to do so.

  • How to disable update notifications for Power Query?

    Is there a way to disable the notification of available updates for Power Query? Command line switch on install, anything?
    Thanks!

    it was included in the Power Query version released in September 2014. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft Power Query for Excel DisableUpdateNotification dword 1 will disable the update notification.
    Please remember to click "Mark as Answer" or "Vote as Helpful" on the post that answers your question (or click "Unmark as Answer" if a marked post does not actually
    answer your question). This can be beneficial to other community members reading the thread.
    This forum post is my own opinion and does not necessarily reflect the opinion or view of my employer, Microsoft, its employees, or MVPs.
    Twitter:
    @alexverboon | Blog: Anything About IT

  • Notification custom callback function

    Hi,
    I want use a custom callback function instead of the default wf_engine.cb.
    Can someone tell me how to proceed?
    Thanks.

    Hi Dany,
    Is your scenario is where you have a custom application and want to complete that application process using the callback function? In such cases, you should be using the callback function.
    You should the Notification APIs to send such notifications. The Notification Send API includes a parameter for the Custom Callback function.
    The Notification API section of the workflow guide also documents the signature and other details of a custom callback function.
    Workflow also provides a Post Notification Function api which could perform back-end logic to either validate the legitimacy of the forward/transfer or execute some other supporting logic.
    Hope this helps,
    Raja

  • Registered plsql callback not notified

    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0
    Production system: Two-instance RAC
    Testing system: Single instance
    I have a PL/SQL procedure registered through DBMS_AQ.REGISTER to be notified when messages come in on a particular queue. While it works in test, it is never called in production.
    I have checked that the messages are enqueued correctly. There are no messages in the associated exception queue. There do not seem to be any trace files associated with this failed notification.
    There are messages in the exception queue for AQ_SRVNTFN_TABLE. The USER_DATA for these messages seems to be the procedure which I registered.
    What can I do next?

    Looks like we found it...
    This is TEST:
    create or replace
    TYPE     aq$_descriptor AS OBJECT (
            queue_name       VARCHAR2(65),                -- name of the queue
            consumer_name    VARCHAR2(30),                -- name of the consumer
            msg_id           RAW(16),                     -- message identifier
            msg_prop         msg_prop_t,                  -- message properties
            gen_desc         sys.aq$_ntfn_descriptor)     -- generic descriptorThis is PROD:
    create or replace TYPE     aq$_descriptor AS OBJECT (
            queue_name       VARCHAR2(30),                -- name of the queue
            consumer_name    VARCHAR2(30),                -- name of the consumer
            msg_id           RAW(16),                     -- message identifier
            msg_prop         msg_prop_t)                  -- message properties
    ALTER TYPE     aq$_descriptor
      ADD ATTRIBUTE(gen_desc sys.aq$_ntfn_descriptor)
      CASCADEIn c1001000.sql, aq$_srvntfn_message.queue_name is upped to 65 chars, but aq$_descriptor is left alone.

  • Unregister notification

    Hi all!
    Once I have registered an asynchronous notification (plsql callback). Now I want to unregister it.
    First when I did it - success, but the notification still works. When I try to unregister notifications now, I receive an error:
    ORA-24950: unregister failed, registration not found
    ORA-06512: at "SYS.DBMS_AQ", line 403
    ORA-06512: at line 14
    As I told, the callback still works. How can I remove it completely? I have tried to stop/start the queues, but nothing changed.
    On the other topic:
    Can I use notifications (callback functions) for Exception queues? When I tried this, it did not worked.
    Regards.

    Please speak to Oracle Support regarding this issue. They will be able to diagnose the problem more fully and make sure your database metadata stays in a consistent state.

  • Performance of AQ when using callback procedure (using PL/SQL notification)

    I am enqueueing XMLType in AQ.XML file is large in size.NOw I want to dequeue the AQ using PL/SQL notification(using callback procedure which will call DBMS_AQ.DEQUEUE to dequeue the AQ and process the XML.After fetching the data from XML ,I want to store these data in another table columns).
    Please suggest,In this case which approach would be better to dequeue the AQ table :
    1.PL/SQL notification(using callback procedure)
    OR
    2.Scheduling the call to DBMS_AQ.DEQUEUE to dequeue the AQ table
    What would be the impact on performance of above two approaches?

    Hi,
    The question of performance is not down to the technique one employes to enqueue/dequeue, but at a basic level, is relative to the number of messages!
    The is what the Oracle documentation states:
    >
    When persistent messages are enqueued, they are stored in database tables. The performance characteristics of queue operations on persistent messages are similar to underlying database operations. The code path of an enqueue operation is comparable to SELECT and INSERT into a multicolumn queue table with three index-organized tables. The code path of a dequeue operation is comparable to SELECT, DELETE, and UPDATE operations on similar tables.
    >
    So, if anything, the dequeue is a fraction more time & resource consuming. However, it is only a "fraction". You could always add multiple subscribers to dequeue if you want!
    You could ofcourse choose to have non-persistent messages if your application does not need the kind of fault-tolerance that persistent messaging offers, which speed things up, but only a bit, so don't get too excited about it!
    There are other things to consider however, which you may wish to read up on before getting bogged down on whether you should use notification or the scheduler:
    - Is your system clustered?
    - Concurrency on a single queue (i.e. multiple enqueues/dequeues, but single queue)
    - Propogation latency issues
    Read about these and much more at:
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14257/perform.htm
    Finally, whether you pl/sql notification or not and whether you use dbms_scheduler is down to your application requirements!
    P;

  • Using DBLINK in PL/SQL SQL Query

    Hi
    is it possible to use dblink in plsql cursor query.
    are there any do's or dont's in this regard or any special things to take care of?
    Basically what I need to do is access data from remote tables and put them in local tables after some proessing on data.
    Any help !!

    well, since all pl/sql does is to pass the SQL statement to the database to be run, it's not a pl/sql issue. it's a SQL question. so it's the same as running the query in sqlplus (or toad or frog or whatever you use). the fact that it's embedded in pl/sql doesn't change anything, so: yes, it's possible, and no there aren't any do/don'ts (other than what would already apply to native SQL.

  • Get SQL Query from the Region Source

    Hi,
    The below query gives me the region source code,
    SELECT region_source into p_sql_stmt
    FROM apex_application_page_regions
    WHERE region_id = 01129836282 AND
    page_id = 54 AND
    application_id = 215;
    Initially I use to have only the SQL region source code as mentioned below , So using the above query i use to pass the sql code to p_sql_stmt
    SELECT PROJECT_ID,EMPLOYEE_ID,EFFECTIVE_DATE FROM AR_V_ADDRESS_HISTORY WHERE PROJECT_ID = :P51_PROJECT_ID
    Now the changes what i did in the page region source is i am using a PLSQL return query which is mentioned below
    declare
    qry varchar2(32000);
    begin
    qry := ' SELECT PROJECT_ID,EMPLOYEE_ID,EFFECTIVE_DATE';
    for c1 in ( SELECT * FROM AR_ADDRESS_TYPE)
    loop
    qry := qry ||
    ' , GET_ADDRESS_LINE_1(PROJECT_ID,EMPLOYEE_ID,' || c1.address_type_id || ' ,TO_DATE(EFFECTIVE_DATE)) "' || c1.name ||'_ADDRESS_TYPE_1"';
    qry := qry ||
    ' , GET_ADDRESS_LINE_1(PROJECT_ID,EMPLOYEE_ID,' || c1.address_type_id || ' ,TO_DATE(EFFECTIVE_DATE)) "' || c1.name ||'_ADDRESS_TYPE_2"';
    end loop;
    qry := qry || ' FROM AR_V_ADDRESS_HISTORY
    WHERE
    PROJECT_ID = :P51_PROJECT_ID ';
    return(qry);
    end;
    If i execute the above code in the with dbms_output.put_line in the SQL developer or TOAD it prints the sql query which i wanted, Since i am using this in a apex page i need to get the SQL code from the apex page.
    Can any one please suggest me how to get this sql code using the above plsql code.
    Please suggest me in this issue
    Thanks
    Sudhir

    One way to get the sql statement is
    Create a global variable in the package spec where your function returns sql statement and assign the final sql statement to the package spec variable before the return.
    Write a wrapper function to return the stored sql statement value.
    Example code below:
    create or replace package xx_test_pkg as
    g_sql_stmt CLOB;
    function get_sql() return clob;
    function get_stored_val() return clob;
    end;
    create or replace body package xx_test_pkg as
    function get_sql return clob ..
    v_sqlstmt clob;
    begin
    v_sqlstmt := 'select * from emp';
    -- assign to global variable before returning the value
    g_sql_stmt := v_sqlstmt;
    return v_sqlstmt;
    end;
    function get_stored_val() ....
    begin
    return g_sql_stmnt;
    end;
    end;

  • Pl/sql callbacks

    Has anyone ever had the plsql callback testproc work for them???
    I'm on 10.1.3.0.1.
    I run
    exec edg_utl.add_rule(rulename => 'MyRule', condition => ':event.type = 200', param => 'edg_utl.testProc',command => 'call')
    I added an insert in the testProc to insert into my testtable. That way I don't have to worry about the log level stuff.
    I never, ever, get any rows to insert into that testtable. That leads me to believe that the testProc never gets called.
    I even restart the whole machine. Nothin'.
    I've read the README in j2ee\home\applications\edge\edge\sample\StreamsSample
    I've ran:
    exec DBMS_APPLY_ADM.STOP_APPLY('EDG_APPLY');
    exec DBMS_APPLY_ADM.START_APPLY('EDG_APPLY');
    So, again, if you have successfully made this work, please do let me know some other actions I can try.
    Thanks!

    Hi,
    I'm assuming you've applied all the prereq patches.
    My guess would be that you've got Datavault enabled in the database... fire up sqlplus and see if you get:
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, Oracle Label Security, OLAP, Data Mining,
    Oracle Database Vault and Real Application Testing options
    If so, turn off datavault and run the install again. If not... don't know.
    Regards
    Gavin

  • AQXmlNotification no payload

    Hi,
    db v9.0.1.3
    os solaris 5.6
    I've created a queue and registered a PLSQL callback procedure. This procedure sends a notification email (setup using dbms_aqelm). I'm not using the AQ servlet, just PLSQL.
    Couple of questions:
    As i understand it, the payload is only included in the (email) XML if the message queue is non-persistent. Is there any way of including the payload for a message from a persistent queue in the mail notification?
    Assuming the payload is included in the notification....
    Is it possible to specify an XSL stylesheet to be applied to the mail notification before sending (to do XSL transformation of message into html email) so that the recipient has something more intuitive to look at? And if so, any pointers how i can apply the transformation stylesheet from within db? (from PLSQL using XDK for instance?)
    Many thanks
    James

    Here is an example from Oracle XDK samples of how to apply XSL stylesheet to an XML document.
    This example uses files present on the Operating System to apply the XSL Transformation.
    You could change it to use a CLOB or a VARCHAR2 string depending upon your queue payload type.
    -- This file demonstates a simple use of XSLT transformation capabilities.
    -- The XML and XSL files that are given to the application are parsed,
    -- the transformation specified is applied and the transformed document is
    -- written to a specified result file.
    -- The use of setting the parser options is demonstrated.
    set serveroutput on;
    create or replace procedure xslsample(dir varchar2, xmlfile varchar2,
    xslfile varchar2, resfile varchar2,
    errfile varchar2) is
    p xmlparser.Parser;
    xmldoc xmldom.DOMDocument;
    xmldocnode xmldom.DOMNode;
    proc xslprocessor.Processor;
    ss xslprocessor.Stylesheet;
    xsldoc xmldom.DOMDocument;
    docfrag xmldom.DOMDocumentFragment;
    docfragnode xmldom.DOMNode;
    xslelem xmldom.DOMElement;
    nspace varchar2(50);
    xslcmds xmldom.DOMNodeList;
    begin
    -- new parser
    p := xmlparser.newParser;
    -- set some characteristics
    xmlparser.setValidationMode(p, FALSE);
    xmlparser.setErrorLog(p, dir || '/' || errfile);
    xmlparser.setPreserveWhiteSpace(p, TRUE);
    xmlparser.setBaseDir(p, dir);
    -- parse xml file
    dbms_output.put_line('Parsing XML document ' || dir || '/' || xmlfile);
    xmlparser.parse(p, dir || '/' || xmlfile);
    -- get document
    xmldoc := xmlparser.getDocument(p);
    -- parse xsl file
    dbms_output.put_line('Parsing XSL document ' || dir || '/' || xslfile);
    xmlparser.parse(p, dir || '/' || xslfile);
    -- get document
    xsldoc := xmlparser.getDocument(p);
    xslelem := xmldom.getDocumentElement(xsldoc);
    nspace := xmldom.getNamespace(xslelem);
    -- print out some information about the stylesheet
    dbms_output.put_line('XSL Root element information');
    dbms_output.put_line('Qualified Name: ' ||
    xmldom.getQualifiedName(xslelem));
    dbms_output.put_line('Local Name: ' ||
    xmldom.getLocalName(xslelem));
    dbms_output.put_line('Namespace: ' || nspace);
    dbms_output.put_line('Expanded Name: ' ||
    xmldom.getExpandedName(xslelem));
    xslcmds := xmldom.getChildrenByTagName(xslelem, '*', nspace);
    dbms_output.put_line('A total of ' || xmldom.getLength(xslcmds) ||
    ' XSL instructions were found in the stylesheet');
    -- make stylesheet
    ss := xslprocessor.newStylesheet(xsldoc, dir || '/' || xslfile);
    -- process xsl
    proc := xslprocessor.newProcessor;
    xslprocessor.showWarnings(proc, true);
    xslprocessor.setErrorLog(proc, dir || '/' || errfile);
    dbms_output.put_line('Processing XSL stylesheet');
    docfrag := xslprocessor.processXSL(proc, ss, xmldoc);
    docfragnode := xmldom.makeNode(docfrag);
    dbms_output.put_line('Writing transformed document');
    xmldom.writeToFile(docfragnode, dir || '/' || resfile);
    -- Free XML Documents
    xmldom.freeDocument(xmldoc);
    xmldom.freeDocument(xsldoc);
    -- Free XSL Stylesheet and Processor
    xslprocessor.freeProcessor(proc);
    xslprocessor.freeStylesheet(ss);
    -- Free the xmlparser
    xmlparser.freeParser(p);
    -- deal with exceptions
    exception
    when xmldom.INDEX_SIZE_ERR then
    raise_application_error(-20120, 'Index Size error');
    when xmldom.DOMSTRING_SIZE_ERR then
    raise_application_error(-20120, 'String Size error');
    when xmldom.HIERARCHY_REQUEST_ERR then
    raise_application_error(-20120, 'Hierarchy request error');
    when xmldom.WRONG_DOCUMENT_ERR then
    raise_application_error(-20120, 'Wrong doc error');
    when xmldom.INVALID_CHARACTER_ERR then
    raise_application_error(-20120, 'Invalid Char error');
    when xmldom.NO_DATA_ALLOWED_ERR then
    raise_application_error(-20120, 'Nod data allowed error');
    when xmldom.NO_MODIFICATION_ALLOWED_ERR then
    raise_application_error(-20120, 'No mod allowed error');
    when xmldom.NOT_FOUND_ERR then
    raise_application_error(-20120, 'Not found error');
    when xmldom.NOT_SUPPORTED_ERR then
    raise_application_error(-20120, 'Not supported error');
    when xmldom.INUSE_ATTRIBUTE_ERR then
    raise_application_error(-20120, 'In use attr error');
    end xslsample;
    show errors;

  • Correlation ID: bb69fe0c-19fa-463e-bc1c-fb98d631f0fa

    What Shall I do. Iam getting the following error with  mentioned Correlation ID: bb69fe0c-19fa-463e-bc1c-fb98d631f0fa
    Please help

    01/22/2014 15:23:02.49     w3wp.exe (0x110C)                           0x0CC4    SharePoint Server           
         Taxonomy                          14gc    Verbose     Checking for Term store changes
    and updating caches    
    01/22/2014 15:23:03.12     mssearch.exe (0x0A88)                       0x1ED4    SharePoint Server Search    
         Propagation Manager               1uuf    Verbose     [566-c-0 An] executing propagation manager polling callback                    
    [propmanager.hxx:451]  d:\office\source\otools\inc\search\common\ytrip\tripoli\h\propmanager.hxx    
    01/22/2014 15:23:03.12     mssearch.exe (0x0A88)                       0x1ED4    SharePoint Server Search    
         Propagation Manager               0000    Verbose     [566-c-0 An] completed propagation manager polling callback                    
    [propmanager.hxx:469]  d:\office\source\otools\inc\search\common\ytrip\tripoli\h\propmanager.hxx    
    01/22/2014 15:23:03.12     mssearch.exe (0x0A88)                       0x1ED4    SharePoint Server Search    
         Propagation Manager               e3o3    Verbose     executing SQL query {? = call dbo.proc_MSS_PropagationIndexerGetReadyQueryComponents} 
    [propdatabase.cxx:70]  d:\office\source\search\native\ytrip\tripoli\propagation\propdatabase.cxx    
    01/22/2014 15:23:03.24     mssearch.exe (0x0A88)                       0x1ED4    SharePoint Server Search    
         Propagation Manager               1uuf    Verbose     [566-c-0 Po] executing propagation manager polling callback                    
    [propmanager.hxx:451]  d:\office\source\otools\inc\search\common\ytrip\tripoli\h\propmanager.hxx    
    01/22/2014 15:23:03.24     mssearch.exe (0x0A88)                       0x1ED4    SharePoint Server Search    
         Propagation Manager               0000    Verbose     [566-c-0 Po] completed propagation manager polling callback                    
    [propmanager.hxx:469]  d:\office\source\otools\inc\search\common\ytrip\tripoli\h\propmanager.hxx    
    01/22/2014 15:23:03.24     mssearch.exe (0x0A88)                       0x1ED4    SharePoint Server Search    
         Propagation Manager               e3o3    Verbose     executing SQL query {? = call dbo.proc_MSS_PropagationIndexerGetReadyQueryComponents} 
    [propdatabase.cxx:70]  d:\office\source\search\native\ytrip\tripoli\propagation\propdatabase.cxx    
    01/22/2014 15:23:03.52     w3wp.exe (0x1DA8)                           0x0608    SharePoint Server           
         Taxonomy                          14gc    Verbose     Checking for Term store changes
    and updating caches    
    01/22/2014 15:23:03.52     w3wp.exe (0x110C)                           0x0CC4    SharePoint Server           
         Taxonomy

Maybe you are looking for

  • Why does my iPhone forget the account info for my apps?

    I've been having a problem with my iPhone where my accounts for Google, Twitter, Facebook, etc. will not be remembered. I have to log in manually each time and every time I leave it will log off so I have to log in each time I leave an app. Is there

  • 11g R2(11.2.0.2)-Not able to connect using SID - Win 7 32 bit

    Hi Experts, I have installed 11gR2(11.2.0.2) on Win 7 32 bit OS. I am able to start database and listener services without any problem. ORACLE_BASE and ORACLE_HOME variables are set. I am even able to connect to database using "sqlplus user/pass". (W

  • If I publish an iWeb site, will it show up in Google?

    Hi everyone, I love iWeb so far and I was wondering if my webpage will appear in google. Thanks.

  • How to make this kind of mouseover?? URGENT!!

    Please PROFESSIONAL help me T^T URGENT for this T^T http://superjunior.smtown.com/ I want to know how to make that kind of mouseover ^^ Hope PROFESSIONAL can teach me ^^ http://starimg.smtown.com/superjunior/version04/site/images/main_navi.swf

  • Subcontracting with MRP area

    Hi, we have a FERT material that  is in the MRP area by storage location. This material was produced internally. When we ran MRP the requirements and planed orders for FERT material and its components were showed in MRP area. It was ok Nowadays this