Replace message payload object without remove queue table

hi,
i want to replace message payload object without remove queue table but i have got the "ORA-02303: cannot drop or replace a type with type or table dependents" error.
is there any way to replace message payload object without remove queue table?
Click to link below to find a demo which is explain the problem clearly
Replace message payload object without remove queue table
Regards.

Hi
I answered this in Re: Replace message payload object without remove queue table forum.
Cheers, APC

Similar Messages

  • Edit message payload object without remove queue table

    Hi, need ur help again,
    Known that if we want to modify a message payload attribute (add,edit or delete), we will fail to do so if the message payload is used by existing AQ's queue table.
    How to change the message payload object without remove the queue table?
    Thanks!

    Hi
    I answered this in Re: Replace message payload object without remove queue table forum.
    Cheers, APC

  • Messages remain in Queue Table

    Hello,
    I work as a dba in a company where my colleagues are developing an application that uses AQ.
    The application is installed on multiple databases but we have a problem in a particular one:
    the processed messages are not deleted from table by Oracle.
    DBMS_AQADM.CREATE_QUEUE( Queue_name => 'my_AQ', Queue_table => 'AQT', Queue_type => 0, Max_retries => 65535, Retry_delay => 0, Retention_time => 2592000, dependency_tracking => FALSE);
    SELECT msg_state, count(*) FROM AQT GROUP BY msg_state;
    PROCESSED     830548
    SELECT min(enq_time),max(enq_time) FROM AQT
    07-OCT-10      01-AUG-12
    SELECT value FROM v$parameter WHERE name='aq_tm_processes'
    10
    thanks,

    Hi,
    I didn't notice this in your first post:
    DBMS_AQADM.CREATE_QUEUE(
        Queue_name => 'my_AQ',
        Queue_table => 'AQT',
        Queue_type => 0,
        Max_retries => 65535,
        Retry_delay => 0,
        Retention_time => 2592000,      <<<<<<<<<< why are you specifying such a high value for this?
        dependency_tracking => FALSE
    );Retention_time: See doc for this value: http://docs.oracle.com/cd/E11882_01/server.112/e11013/aq_admin.htm#i1006091
    This parameter specifies the number of seconds a message is retained in the queue table after being dequeued from the queue. When retention_time expires, messages are removed by the time manager process. INFINITE means the message is retained forever. The default is 0, no retention.
    You are asking for messages to be retained for 30 days, now looking at the min/max enq_time you have messages which are much older than this, but did you check when they were actually DQ'd (DEQ_TIME)?
    Also, from my previous post, did you check out that MOS note ? Did you check what the Q00 processes are doing in the database?
    Thanks
    Paul

  • Saving Message Payload

    Hi,
    i want to do the following:
    When i receive a message in XI, i want to save the message payload temporally in an abap table. So i will define a rfc to call from XI and give the message payload as an import parameter.
    Have you any idea how to do this? How can i get the message payload(xml string) and give it to the rfc as a parameter?
    thanks,
    Peter Ha

    hi Peter,
    you can map the whole XML structure
    to your rfc parameter with the use of XSLT
    have a look at my weblog:
    XI: XML node into a string with graphical mapping?
    /people/michal.krawczyk2/blog/2005/11/01/xi-xml-node-into-a-string-with-graphical-mapping
    Regards,
    michal

  • Note:304522.1 How to Move Queue Tables without using export import

    Trying to use the pkg available in Metalink "Note:304522.1 How to Move Queue Tables without using export import"
    Using the 10.1.0.x and upwards Package, I'm getting the following error on a single consumer queue table with an xmltype payload:
    SQL> exec move_aqt.move('XFORM_TEST_INT','INTERFACE_XML_QUEUE','SMALLBLOCK');
    BEGIN move_aqt.move('XFORM_TEST_INT','INTERFACE_XML_QUEUE','SMALLBLOCK'); END;
    ERROR at line 1:
    ORA-20000: ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SYS.MOVE_AQT", line 652
    ORA-06512: at line 1
    We've tried in multiple environments, always with the same results.
    Trace file shows:
    *** 2006-11-08 10:06:47.154
    *** SERVICE NAME:(SYS$USERS) 2006-11-08 10:06:47.147
    *** SESSION ID:(379.954) 2006-11-08 10:06:47.147
    qtable move procedure starting execution at 08-11-2006 10:06:47 for queue table XFORM_TEST_INT.INTERFACE_XML_QUEUE
    qtable move procedure experienced an exception at 08-11-2006 10:06:47
    qtable move error message ORA-06502: PL/SQL: numeric or value error
    qtable move procedure ended execution at 08-11-2006 10:06:47
    Can anyone help with this? Has anyone used this before successfully (or not successfully). We urgently need this working today to test moving our queue table into a tablespace with a smaller block size for performance reasons in production.
    Thanks for the help!
    Tony

    Thank you,
    Yes we've done that. They've confirmed a problem with the links/scripts on the note. The 10.1 and up version was not really 10.1 and up.
    As they would not have a new version available in time for the move we needed to perform, we switched our approach to using dbms_redefinition instead.
    Thanks for the reply,
    Tony

  • Problem in creating Queue Table of 'VARCHAR2'  Payload.

    Hello guys!!
    I am having a problem creating a Queue Table of payload type 'VARCHAR2'. I want to create a queue for simple varchar2
    type of messages. I am using following command:
    dbms_aqadm.create_queue_table(queue_table => 'sh_varchar_queue_table',
    queue_payload_type => 'VARCHAR2');
    I am getting the following error:
    ORA-24000: invalid value VARCHAR2, QUEUE_PAYLOAD_TYPE should be of the form
    [SCHEMA.]NAME
    Please help!!!
    Thanks!!!
    Shalu

    Thanks Brajesh!!
    Actually I have tried with Object Type n that is working fine. But i didn't know that 'VARCHAR2' can't be a payload type. It
    is mentioned in Rel 8.1.5 that it can be a 'VARCHAR2' n I started trying that. didn't know that it's not possible in 9i.
    Anyways, thanx so much!!!
    N Brajesh, few days back on the discussion forum itself, I mentioned my e-mailed to you. I wanted to get in touch with u
    bcoz i need ur help for so many other problems. I have tight deadlines n i am new to all this stuff.
    Once again, can u pls e-mail me at [email protected] Shall look forward to ur e-mail.
    Thanks so much!!
    Shalu

  • Queue Table on Nested Objects

    Queue Table with Nested Objects
    I need to create a queue table based on nested object
    These are my declarations
    TYPE TESTATATYPE AS OBJECT (
    CODICE VARCHAR2(5),
    DESCRIZIONE VARCHAR2(30)
    TYPE DETTAGLIOTYPE AS OBJECT (
    CODICE VARCHAR2(5),
    DESCRIZIONE VARCHAR2(30),
    VALORE NUMBER
    TYPE DETTAGLITYPE IS TABLE OF DETTAGLIOTYPE
    TYPE MESSAGGIOTYPE AS OBJECT (
    TESTATA TESTATATYPE,
    DETTAGLI DETTAGLITYPE
    Now i'm trying to create queue table
    DBMS_AQADM.CREATE_QUEUE_TABLE(queue_table => 'MsgQTab',
    queue_payload_type => 'MessaggioType',
    storage_clause => 'NESTED TABLE
    dettagli STORE AS dettagli_tab_Q',
    sort_list => 'priority,enq_time'
    but I get
    ORA-00904: invalid column name
    ORA-06512: at "SYS.DBMS_AQADM_SYS", line 2012
    ORA-06512: at "SYS.DBMS_AQADM", line 55
    ORA-06512: at line 3
    maybe the problem is storage clause, can you help me ?
    null

    Andrea,
    You cannot currently use a nested table even as an embedded object within a message payload.
    However, you can create an object type that contains one or more VARRAYs, and create a queue table that is founded on this object type. I guess this might be the problem you are facing.

  • Messages are in READY state in QUEUE TABLE but in AQ$ QUEUE TABLE messages are in PROCESSED State

    HI All,
       We create a brand new oracle multi-consumer queue. We have en-queued the messages into the queue and are processed successfully.
       But when we checked the STATE Column  of the messages in the queue table it was showing as "0". But it is showing as "PROCESSED" in the
       AQ$<QUEUE_TABLE> msg_state column.
      We are unable to figure out why there is a mismatch. Can any one help us ?
    Regards,
    Hari P.

    Hello,
    the column value AQ$<QUEUE_TABLE>.MSG_STATE = 'PROCESSED' corresponds to column value <QUEUE_TABLE>.STATE = 2
    (see definition of view AQ$<QUEUE_TABLE for the DECODE statement).
    In your case you see a value of STATE = 0 instead of STATE = 2. Is this correct ? The value 0 corresponds to a state "READY" (the delay
    is gone and the message is ready for dequeuing).
    The AQ documentation says: "After the specified delay, the message is in the READY state and available for dequeuing."
    Normally, you cannot see the processed data in your AQ because the enqueued data will be deleted after
    successful dequeuing. You wrote that they were processed successfully.
    Kind regards,
    WoG

  • Table for XI (PI) message payload content?

    Hello Colleagues,
    I need to know in what table I am able to find the Payload what is displayed normally under SXMB_MONI for different message processing over XI.
    We need to archive (only) payload content for special interfaces in a usefully way.
    Many thanks in advance!
    Regards,
    Jochen

    Hi Sudhir,
    Many thanks for the providing informations.
    During my investigation I found similar information.
    So, I afraid too that where is no easy way for export message payload.
    Maybe the XML Data Archiving process could be here an answer but i haven't try it before.
    Documented at "XML Data Archiving: Configuration Guide for ABAP Applications".
    Many thanks for support Sudhir!
    Regards,
    Jochen

  • Large Message Payload - Queue selection

    Hi,
        I have one message with payload size around 105MB when I am trying to send through XI this message gets failed in the queue (inbound) of integration engine saying some memory problem to process the message. I have seen the queue it is picking up some XBT09_000 but I want to use the queue XBTL* as this queue is for large messages. The whole thing is that when my message is around 100MB I want it route large message processing queue i.e XBTL*. Is there anyway to do this? Any help on this greatly appreciated.
    Thanks.,
    Daniel.LA

    There is a way to defer large messages from the rest and process them using a job in a specific queue.
    Please check this configuration :
    <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm</a><a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/14/8024">Message Selection Filter</a>
    in this path:
    Under Runtime - > Integration engin ->
    Prioritized Message Processing
    Queues for Prioritized Message
    Good luck
    Nimrod

  • Message payload logging for Uniform Distribute Queue

    Hi All,
    We have a requirement to log the message payload, of every jms message received in a Uniform Distribute Queue in Weblogic.
    Please let us know how can we achieve this.
    Thanks.

    If you want to avoid use of the Path Service, then the alternative is to make the destination members highly available. This will help ensure that the host member for a particular UOO is up.
    One approach to HA is to configure "service migration". For more information see the Automatic Service Migration white-paper at
    http://www.oracle.com/technology/products/weblogic/pdf/weblogic-automatic-service-migration-whitepaper.pdf
    In addition, I recommend referencing Best Practices for JMS Beginners and Advanced Users
    http://docs.oracle.com/cd/E17904_01/web.1111/e13738/best_practice.htm#JMSAD455 to help with WL configuration in general.
    Hope this helps,
    Tom

  • Alerts with variables from the messages payload without BPM?

    Hi, experts:
    Is it possible to define a alert category with variables from the messages payload(for example:order_id ) without BPM?
    Regards
    Yu Ming

    Refer to
    http://searchsap.techtarget.com/tip/0,289483,sid21_gci1240902,00.html
    initially this also talk about BPM but you can check whether you can use the container variable in you case.
    How to define the container variable in ALRTCATDEF is mention in above link.
    **Points if answers find useful.
    Gaurav Jain

  • Using ps trying to remove an object from a picture, following steps but when object is removed area is replaced by another portion of the photo like someones face as opposed to what should normally be in the background

    using PS on a regular computer windows 7 tryng to remove an object from a picture,  following steps in the tutorial however when the object is removed it is replaced by another (unwanted) portion of the photo i.e. someones face  instead of what would have normally been in the background

    Well, we can't know. You have not told us what tools you use and what steps nor provided any screenshots. From your description it simply sounds like you are following some tutorial (which again we know nothing about because you haven't told us which one) and getting things wrong. You need to do much better if you want people to help you.
    Mylenium

  • Select on queue table

    Hi,
    A Queue Table has been defined with payload type as SYS.AQ$_JMS_MESSAGE.
    In java a property has been defined using setStringProperty("AdditionalMsgID",'123456').
    Requirement is to get this property using sql SELECT statement.
    Question is how can this be achieved.
    By this "Requirement is to get this property using sql SELECT statement. "
    what I mean is that this property can be used in selecting or sorting the messages by using it in "WHERE" clause or "ORDER BY" clause of sql "SELECT" statement.
    I should be able to fire a SELECT statement from java using this property in the "ORDER BY" clause.
    For Example:- SELECT * FROM MsgTable ORDER BY UserMsgID;
    (where UserMsgID is a property defined in java for the message using setStringProperty() method.)
    I should not have to dequeue or browse the message as that would mean getting the Message Body as well which can be very huge.
    If I did not use JMS and instead I defined a simple type (structure) for holding the header and body of the message I am able to use that header in select statement. Similarly I wish if I could use the header or property defined in JMS as JMS payload is also built using type and type body.
    Hoping for a concrete solution as our lots of problem would be solved if this works out.
    Thanks & regards
    Sanjeev
    P.S. : I have posted a similar query in Advance queuing also but have not received any reply so I am posting it here hope one doesn't mind.
    Message was edited by:
    user453374

    Hello
    I've not used JMS myself but I've been having a dig round and I think you should be able to do what you're wanting to. This very simple example shows the principal:
    CREATE OR REPLACE TYPE ot_Test_Type IS OBJECT
    (     id     number,
         MEMBER FUNCTION GetProp(prop_name     IN VARCHAR2) RETURN NUMBER
    CREATE OR REPLACE TYPE BODY ot_Test_Type
    AS
         MEMBER FUNCTION GetProp(prop_name     IN VARCHAR2) RETURN NUMBER
         IS
              ln_Ret     NUMBER;
         BEGIN
              RETURN ASCII(prop_name);
         END;
    END;
    SQL> create table dt_test_ot_tab of ot_test_type;
    Table created.
    SQL> insert into dt_test_ot_tab values(ot_test_type(1));
    1 row created.
    SQL> select a.id from dt_test_ot_tab a where a.getprop('a') = 97;
            ID
             1
    SQL> select a.id from dt_test_ot_tab a where a.getprop('b') = 97;
    no rows selected
    SQL> select a.id from dt_test_ot_tab a where a.getprop('b') = 98;
            ID
             1So from the documentation for AQ$_JMS_MESSAGE, there are member functions
    MEMBER FUNCTION get_boolean_property (property_name   IN   VARCHAR)
    RETURN   BOOLEAN,
    MEMBER FUNCTION get_byte_property    (property_name   IN   VARCHAR)
    RETURN   INT,
    MEMBER FUNCTION get_short_property   (property_name   IN   VARCHAR)
    RETURN   INT,
    MEMBER FUNCTION get_int_property     (property_name   IN   VARCHAR)
    RETURN   INT,
    MEMBER FUNCTION get_long_property    (property_name   IN   VARCHAR)
    RETURN   NUMBER,
    MEMBER FUNCTION get_float_property   (property_name   IN   VARCHAR)
    RETURN   FLOAT,
    MEMBER FUNCTION get_double_property  (property_name   IN   VARCHAR)
    RETURN   DOUBLE PRECISION,
    MEMBER FUNCTION get_string_property  (property_name   IN   VARCHAR)
    RETURN   VARCHAR);Which you should be able to call in the where caluse of a select on that table in a similar way to the example above. The main thing I found is that you need to alias the table to be able to call the function.
    HTH
    David
    Message was edited by:
    david_tyler
    Oops! Forgot to put in the create table bit :-)

  • Dequeue   elements from an  apply - queue table

    hi Everyone?
    I'm tried dequeue elements from a queue table. This one, is associated to an apply streams process. I'd wrote this procedure to test a manual dequeue, but this error message appears :
    ORA-25228: timeout or end-of-fetch during message dequeue from STADMIN.Q_APP_SELECTS_FROM_CRM
    The queue is not empty
    Help me please... thank you
    The Procedure code is:
    create or replace procedure str_clean_queue (cola in varchar2, tabla in varchar2, comando in varchar2) is
    next_trans EXCEPTION;
    pragma exception_init (next_trans, -25235);
    no_messages EXCEPTION;
    pragma exception_init (no_messages, -25228);
    dequeueOpt dbms_aq.dequeue_options_t;
    message_properties dbms_aq.message_properties_t;
    message SYS.ANYDATA;
    msgid raw(16);
    newMess boolean;
    lcr SYS.LCR$_ROW_RECORD;
    a number :=0;
    begin
    dequeueOpt.CONSUMER_NAME := 'APP_SELECTS_FROM_CRM';
    dequeueOpt.DEQUEUE_MODE := DBMS_AQ.LOCKED;
    dequeueOpt.NAVIGATION := DBMS_AQ.FIRST_MESSAGE;
    dequeueOpt.VISIBILITY := DBMS_AQ.IMMEDIATE;
    dequeueOpt.WAIT :=10;
    dequeueOpt.MSGID := null;
    newMess:=True;
    while (newMess) loop
    begin
    DBMS_AQ.DEQUEUE (
    queue_name => 'STADMIN.'|| cola,
    dequeue_options => dequeueOpt,
    message_properties => message_properties,
    payload => message,
    msgid => msgid);
    -- analizamos lo que llego en el payload
    lcr := DBMS_STREAMS.CONVERT_ANYDATA_TO_LCR_ROW(message);
    if (lcr.get_command_type = comando AND
    lcr.get_object_name = tabla AND
    lcr.get_object_owner = 'DBADMIN') then
    -- hacer desaparecer el lcr de la cola
    dequeueOpt.DEQUEUE_MODE := DBMS_AQ.REMOVE;
    dequeueOpt.MSGID := msgid;
    DBMS_AQ.DEQUEUE (
    queue_name => 'STADMIN.'|| cola,
    dequeue_options => dequeueOpt,
    message_properties => message_properties,
    payload => message,
    msgid => msgid);
    a:=a+1;
    end if;
    dbms_output.put_line(a);
    exception
    WHEN next_trans THEN
    dequeueOpt.navigation := DBMS_AQ.NEXT_TRANSACTION;
    WHEN no_messages THEN
    dbms_output.put_line(sqlerrm);
    newMess := FALSE;
    end;
    end loop;
    end str_clean_queue;

    Hello,
    as you wrote you already have a code snippet with DBMS_AQ.DEQUEUE of an exception queue.
    Wrap this DEQUEUE in an infinite loop (LOOP ... END LOOP). In order to have this procedure as an autonomous session
    you can start it as a database job:
    DECLARE
       v_jobno NUMBER(6);
    BEGIN
        DBMS_JOB.SUBMIT( v_jobno,
                        'BEGIN <your module>; END;',
                        SYSDATE, NULL );
        COMMIT;
    END;
    /Kind regards,
    WoG

Maybe you are looking for