Advanced Queuing (correlation id feature)
Nice day!
I'm studying Oracle Advanced Queuing concepts and have faced with the idea that I don't understand: correlation id feature. I'd be happy if someone could clarify this matter for me.
Say we have several of your queue and I add a subscriber to it and I'm specifies the rule to dequeue for this Subscriber:
begin dbms_aqadm.add_subscriber(queue_name => 'aq_admin_plsql.msg_queue' ,subscriber => sys.aq$_agent(name => 'APP1', address => null,protocol => null) ,rule => q'[corrid='111']'); end; /
I guess the part above the code means that the consumer "APP1" can only dequeue messages with message_properties.correlation: = '111';
Am I correct in saying this and if not what one hears the argument of rule for?
Unfortunately, my hypothesis seems to be false. I would like to show the test case to explain.
CONNECT / as sysdba CREATE USER aq_admin_plsql IDENTIFIED BY aq_admin_plsql DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; ALTER USER aq_admin_plsql QUOTA UNLIMITED ON users; GRANT aq_administrator_role TO aq_admin_plsql; GRANT connect TO aq_admin_plsql; GRANT create type TO aq_admin_plsql; GRANT create sequence TO aq_admin_plsql; grant resource to aq_admin_plsql; grant create procedure to aq_admin_plsql; EXECUTE dbms_aqadm.grant_type_access('aq_admin_plsql'); ; grant create procedure to aq_admin_plsql; EXECUTE dbms_aqadm.grant_type_access('aq_admin_plsql');
CONNECT aq_admin_plsql/aq_admin_plsql CREATE TYPE message_type AS OBJECT ( message_id NUMBER(15) , subject VARCHAR2(100) , text VARCHAR2(100) ) / CREATE SEQUENCE message_seq INCREMENT BY 1 START WITH 1000 NOMAXVALUE NOCYCLE;
CONNECT aq_admin_plsql/aq_admin_plsql SET SERVEROUTPUT ON BEGIN -- ------------------------------------------------------- DBMS_AQADM.CREATE_QUEUE_TABLE ( queue_table => 'aq_admin_plsql.msg_qt' , queue_payload_type => 'aq_admin_plsql.message_type' , sort_list => 'priority,enq_time' , multiple_consumers => TRUE ); -- ------------------------------------------------------- DBMS_AQADM.CREATE_QUEUE ( queue_name => 'msg_queue' , queue_table => 'aq_admin_plsql.msg_qt' , queue_type => DBMS_AQADM.NORMAL_QUEUE , max_retries => 0 --max number of dequeue retries (rollbacks) before moving to exception queue , retry_delay => 0 --after failure, delay before msg can be dequeued again , retention_time => 100 --time in which msg remains in the queue table after dequeuing , dependency_tracking => FALSE -- not currently implemented , comment => 'Test Object Type Queue' , auto_commit => FALSE --deprecated ); -- ------------------------------------------------------- DBMS_AQADM.START_QUEUE('msg_queue'); -- ------------------------------------------------------- dbms_aqadm.add_subscriber(queue_name => 'aq_admin_plsql.msg_queue' ,subscriber => sys.aq$_agent(name => 'APP1', address => null,protocol => null) ,rule => q'[corrid='111']'); END; /
Now, the queue of the message with the correlation id say '222'.
CONNECT aq_admin_plsql/aq_admin_plsql DECLARE enqueue_options DBMS_AQ.ENQUEUE_OPTIONS_T; message_properties DBMS_AQ.MESSAGE_PROPERTIES_T; message_handle RAW (16); MESSAGE aq_admin_plsql.MESSAGE_TYPE; BEGIN MESSAGE := AQ_ADMIN_PLSQL.MESSAGE_TYPE (aq_admin_plsql.message_seq.NEXTVAL, 'Subject: EXAMPLE MESSAGE', 'Message: THIS IS A SAMPLE MESSAGE.'); ------------------------------------------------------------------------ enqueue_options.VISIBILITY := DBMS_AQ.ON_COMMIT; --ON_COMMIT - the enqueue is part of the current transaction enqueue_options.SEQUENCE_DEVIATION := NULL; --deprecated ---------------------------------------------------------------------------- message_properties.priority := -5; --priority of message. Smaller number = higher priority, may be negative. message_properties.delay := DBMS_AQ.NO_DELAY; --Is the number of seconds for which the message is in the WAITING state. message_properties.expiration := DBMS_AQ.NEVER; --Is the number of seconds during which the message is available for dequeuing, starting from message_properties.correlation := '222'; --Is an identifier supplied by the producer of the message at the time of enqueuing the message. message_properties.recipient_list(1) := sys.aq$_agent('APP1', null, null); ------------------------------------------------------------------------------------------------------------ DBMS_AQ.ENQUEUE (queue_name => 'aq_admin_plsql.msg_queue', enqueue_options => enqueue_options, message_properties => message_properties, payload => MESSAGE, msgid => message_handle --out_parameter ); COMMIT; ---------------------------------------------------------------------------------------------- END; /
We can verify that the message has managed to put in the queue.
select t.MSG_ID, t.CORR_ID, t.MSG_STATE, t.CONSUMER_NAME from aq$msg_qt t ;
MSG_ID(2) | CORR_ID | MSG_STATE | CONSUMER_NAME |
14506AAED0CCBA48E055000000000001 | 222 | LOAN | APP1 |
Now, I do the dequeue the message defines the name of the consumer to "APP1" and I think that the message will not be removed because we have a rule for this Subscriber: corrid'art = '111'
DECLARE dequeue_options DBMS_AQ.DEQUEUE_OPTIONS_T; message_properties DBMS_AQ.MESSAGE_PROPERTIES_T; message_handle RAW (16); MESSAGE aq_admin_plsql.MESSAGE_TYPE; BEGIN ------------------------------------------------------------ dequeue_options.consumer_name := 'APP1'; --Indicates the consumer for multi-consumer queues. dequeue_options.dequeue_mode := DBMS_AQ.remove; dequeue_options.navigation := DBMS_AQ.FIRST_MESSAGE; dequeue_options.visibility := DBMS_AQ.IMMEDIATE; dequeue_options.wait := DBMS_AQ.FOREVER; dequeue_options.msgid := NULL; -------------------------------------------------------------- DBMS_AQ.dequeue (queue_name => 'aq_admin_plsql.msg_queue', dequeue_options => dequeue_options, message_properties => message_properties --out parameter , payload => MESSAGE --out parameter , msgid => message_handle --out parameter ); DBMS_OUTPUT.put_line ('+-----------------+'); DBMS_OUTPUT.put_line ('| MESSAGE PAYLOAD |'); DBMS_OUTPUT.put_line ('+-----------------+'); DBMS_OUTPUT.put_line ('- Message ID := ' || MESSAGE.message_id); DBMS_OUTPUT.put_line ('- Subject := ' || MESSAGE.subject); DBMS_OUTPUT.put_line ('- Message := ' || MESSAGE.text); COMMIT; END; /
However, the message seems to be removed:
select t.MSG_ID, t.CORR_ID, t.MSG_STATE, t.CONSUMER_NAME, t.DEQ_TIME, t.DEQ_USER_ID, t.DEQ_TXN_ID from aq$msg_qt t ;
MSG_ID(2) | CORR_ID | MSG_STATE | CONSUMER_NAME | DEQ_TIME | DEQ_USER_ID | DEQ_TXN_ID | QUEUE |
14506AAED0CCBA48E055000000000001 | 222 | PROCESSED | APP1 | 22.04.2015 16:53:11 | AQ_ADMIN_PLSQL | 8.29.2818 | MSG_QUEUE |
It seems strange, isn't it?
To put it in a Word so my question is:
1. How could the queue breaking the rules of correlation id? If it works as designed then what is the reason for the correlation id?
I thank very you much in advance! I'd appreciate any help.
Hello
your problem in your example is that you have addressed your message explicitly to the Subscriber (line #21):
message_properties.recipient_list(1) := sys.aq$_agent('APP1', null, null);
This Subscriber will still get the info that there are new messages. Normally, you do not know the subscribers for messages
and you don't publish it. If you remove this line then the rule is analyzed. For the payload parameter value "YYY", you will get:
ORA-24033: no recipients for message
Kind regards
WoG
Tags: Database
Similar Questions
-
Oracle Streams Advanced Queuing and advanced replication
Hi experts,
I don't have much experience in Oracle. Please tell me what is "Oracle Streams" in simple words. What is use of this example.
difference between "Oracle Streams, advanced and advanced replication queues".
Reg,
Hard
Hi harsh,
I'll try and simply summarize for you.
(1) advanced replication - the ancient mode of replication of data between databases - no one really uses this method more (even if it's still there)
(2) AQ (or now renamed as streams AQ I think) is a technology of queues for the publication and subscription to messages - it is not a replication method on its own, but is a key technology for manufacturing workflow
(3) water - a replication technology course complete with a huge amount of flexibility (and complexity) - one of the best tools of the oracle set product - but it is now be depracated in favor of goldengate (in large part because GG is a costly option, personally, I think)
(4) goldengate - just like rivers but can replicate to/from databases (Sql server, sybase etc.) non-oracle
streams and goldengate roughly the same work but are implemented very differently - flow is much plsql and queues, GG is to learn another language (although scripting tool really)
hope that helps.
See you soon,.
Rich
-
Y at - it all x 64 support for Advanced Queuing?
Y at - it x 64 current ODP.NET version of the driver that supports AQ? I know that the 11.1.0.7.20 version is supported, but that won't work in 32-bit mode. Is there anything for x 64 yet? If not, is there an ETA?11.2 it has.
There is a beta of bundle odac 11.2, or you can use the production version of the 11.2 full client.
It will be useful,
GregPublished by: gdarling on April 23, 2010 09:48
Oops, the beta version is only 32 bits. Full client should have what you need.
-
Job queue and event ADVANCE.
Hello
I'm getting to do advanced queues work which could be removed by the use of event in function. For a single message, it seems to work but if I queue of messages more some of them are 'lost' without having been processed. In below code I create job scheduler queue and event. Then I enqueue messages 3 - two immediately after each other and third with 5 delay. Only the first and the third message are processed (and written to the TST_DATA table). In the queue table, it seems all messaged have been processed. RDBMS version is 12.1.0.2.
Thanks for any response.
CREATE TABLE TST_DATA ( sCommand VARCHAR2(50) ); CREATE TYPE TST_PAYLOAD_T AS OBJECT ( sCommand VARCHAR2(50) ); / CREATE OR REPLACE PROCEDURE processMessage( itMsg TST_PAYLOAD_T ) IS BEGIN INSERT INTO TST_DATA (sCommand) VALUES (itMsg.sCommand); COMMIT; END; / BEGIN dbms_aqadm.create_queue_table( queue_table => 'TST_QUEUE_TAB', queue_payload_type => 'TST_PAYLOAD_T', multiple_consumers => TRUE ); dbms_aqadm.create_queue( queue_name => 'TST_QUEUE', queue_table => 'TST_QUEUE_TAB' ); dbms_scheduler.create_program( program_name => 'TST_PROG', program_type => 'STORED_PROCEDURE', program_action => 'processMessage', number_of_arguments => 1, enabled => FALSE ); dbms_scheduler.define_metadata_argument( program_name => 'TST_PROG', metadata_attribute => 'EVENT_MESSAGE', argument_position => 1 ); dbms_scheduler.enable('TST_PROG'); dbms_scheduler.create_job( job_name => 'TST_JOB', program_name => 'TST_PROG', queue_spec => 'TST_QUEUE', enabled => FALSE ); dbms_scheduler.enable('TST_JOB'); dbms_aqadm.start_queue('TST_QUEUE'); END; / DECLARE ltMsg TST_PAYLOAD_T; ltEnqueueOptions dbms_aq.enqueue_options_t; ltMsgProperties dbms_aq.message_properties_t; lrMsgId RAW(16); BEGIN ltEnqueueOptions.visibility := dbms_aq.IMMEDIATE; ltMsg := TST_PAYLOAD_T('test1'); dbms_aq.enqueue( queue_name => 'TST_QUEUE', enqueue_options => ltEnqueueOptions, message_properties => ltMsgProperties, payload => ltMsg, msgid => lrMsgId ); ltMsg := TST_PAYLOAD_T('test2'); dbms_aq.enqueue( queue_name => 'TST_QUEUE', enqueue_options => ltEnqueueOptions, message_properties => ltMsgProperties, payload => ltMsg, msgid => lrMsgId ); dbms_lock.sleep(5); ltMsg := TST_PAYLOAD_T('test3'); dbms_aq.enqueue( queue_name => 'TST_QUEUE', enqueue_options => ltEnqueueOptions, message_properties => ltMsgProperties, payload => ltMsg, msgid => lrMsgId ); END; / SELECT * FROM TST_DATA;
Hello
you're right: after two immediate queue operations and a separate queue there are only two lines in the table
(tested on 11.2.0.4):
SQL> select * from tst_data; SCOMMAND -------------------------------------------------- test1 test3
If you wait just 1 sec after each DBMS_ENQUEUE there are 3 rows.
Even with a visibility using DBMS_AQ.COMMIT and COMMIT after that each line there are only 2 rows.
This mechanism using DBMS_SCHEDULER and EVENT_MESSAGE functionality seems to be a bit slow.
You must specify the option parallel instance for your business:
DBMS_SCHEDULER.set_attribute ('TST_JOB', 'parallel_instances', TRUE);
You will get then 3 rows, even without a delay of sleep:
SQL> select * from tst_data; SCOMMAND ----------------------------- test1 test2 test3
Kind regards
WoG
-
Queues advanced Vs normal queues?
Hi, can someone let me know if there are any another in addition to the 'Advanced' queues queue mechanism in Oracle? I want to know if there is some standard/normal queues and more queues ' Advanced'?
Thank youNope - they are all "Advanced".
Indeed, in some ways advanced queues is simply the trade name, to distinguish it from Microsoft's MSMQ or IBM MQ.
However, given that the queue can be stored in a persistent Oracle table, some fairly advanced can be derived which are not traditionally part of the Message Queueing. Things like restarting the queue and the contents of the queue according to reports. (As described in the QA manual at http://tahiti.oracle.com)
-
Advance (AQ) queues for EBS R12
Hello
EBS R12.1
OEL 5.4
Did someone here used AQ in your EBS R12?
We have EBS R12 of installation and a separate mini inventory made in APEX on server of Oracle 10 g XE system.
Both systems interacts with others, each data send/receive on both sides.
What will be the best solution for this type of installation? AQ is a good option?
Can you give me the notes metalink on how to set up QA on EBS?
Or simply create dblinks and do some concurrent programs that send/receive/process data.
Thank you very much
Ms. KHello
Integrate the APEX R12, please check these threads.
Integration of the APEX with eBS R12
Integration of the APEX with eBS R12How to install the APEX in environment R12
How to install the APEX in environment R12Installation procedure for APEX
Re: Installation Procedure for APEXAdvanced for Files, please see the documnetation.
Advanced Queuing
http://www.Oracle.com/pls/db102/search?remark=quick_search&word=Advanced+Queuing&tab_id=&format=rankedThank you
Hussein -
A time-out of the finite queue of wiring allows parallelism?
I have several loops (11) all running in parallel, set up with a producer--> several consumer-> multiple consumer architecture.
In each of the loops of consumer, I wired the values of time-out on the order of 1 second each of the vi "remove item" which feed on each loop. However, the overall performance of all vi is very slugish. I have no expectation s vi in the loops of consumer, I guess the time queue supports this feature and allows labview to work its magic of parallelism. This hypothesis is correct?
For what it's worth, the loop of the producer bed synchronously large shared memory double paintings representing the acquired data and post processed in RT through virtualization (hypervisor). The loop of producer implements an element of expectation. This loop of producer distributes the data to the various queues, depending on the data type meta code embedded in the data of recevied. Then, first consumer level loops review data, update some PLC tags accordingly (via the datasocket connection) and, under certain conditions, send signals well formatted the next level consumer loops that manages storage PDM.
Each consumer has a dedicated queue and each of them are powered by several producers to the top of the pipe. I put vi waiting in each loop of consumer with a value of about half of the time waiting for data to arrive, and it did not help at all. However, the problem has been resolved by configuring the properties of execution of almost all under vi as priority of subroutine, returning with dedicated allocation of memory. I know it's basic stuff that I should have checked before hand, but everything works fine now.
Thanks for the help anyway!
-
With the help of legends custom B2B with incoming messages batch to push directly to an AQ queue
I'm trying to create a legend, attached to a partnership agreement, which will process an incoming batch load and write each individual message in the batch to advanced queue.
I have the following in place pieces and works so far...
1 QA
2 B2B lot
3. partnership agreements
4 making SOA message waiting
5 Basic legend in place and access to the message.
My problem occurs in step 5. My legend is fired as each message in the batch is traversed and the output of the whole lot (all messages) seem to be added to the AQ at the same time. (They are messages separate, which is good, but I try to insert a pause in order to limit the speed at which these messages are pushed on the queue).
My question is, How can I publish the message I shot of the lot to QA immediately that I did it - as opposed to add the message to the standard output of the legend?
[sample code and further explanation below]
. . .
I have tried this approach because my queue is set up in a clustered environment and the options I've seen so far for the AQ limitation apply only to single-server systems. For example, setting the property minimumDelayBetweenMessages in my composite SOA side for fact the message isn't an option for me. We have no access to the database settings associated with querying on distributed systems.
Here is a version of my legend:
public class inboundThrottler implements legend
public Sub run (context of CalloutContext, )
throws CalloutDomainException, CalloutSystemException
{
try {
//Retrieve the properties of the legend of CalloutContext
String context.getStringProperty = TimeInterval ("timeIntervalInSeconds");
System. on .println ("Time-out interval is" + timeInterval);
//Get the message of the legend of entry
//Message Passthrough
CalloutMessage cmOut = cmIn;
try {
TimeUnit. SECONDS . Sleep (timeIntervalAsLong);
{ } catch (InterruptedException e) { }
System. on .println ('error found in the part of the timeout of the legend');
e.printStackTrace ();
}
System. on .println ("+++ B2B LEGEND PROPERLY TREATED +++ ');
output.add (cmOut);
//Throw exception, if any
{ } catch (Exception e) { }
System. on .println ('error found in the legend');
take new (e) CalloutDomainException;
}
}
}
Y at - it something other than output.add (cmOut); can I use to insert my message in QA?
In my server logs, I can see the "+++ B2B LEGEND CORRECTLY PROCESSED +++ ' message for each message in the batch however, they are all pushed to the AQ at the same time and that is why they are all handled by the composite made as fast it can handle to Dequeue the message. When we deal with more payloads of 5000 messages, the end result is a highly bogged down the server and in some extreme cases, the server crash.
Thank you in advance for any input. Even if there are better ways to strangle my incoming messages (I certainly heard about these opportunities) for my own edification, I too wish to know suggestions for the insertion of my message in AQ at the point in my code that I have highlighted.
I found a solution, and because I didn't know all the answers on this topic, I'll go ahead and answer myself for the sake of posterity.
The short answer is do not use a legend Java at all since the intention of the legend was first place to strangle incoming messages so that they are placed on QA in a more controlled way and at a pace slower to allow SOA handle a large load. I found an excellent article, "handling large payloads" [https://docs.oracle.com/middleware/1213/b2b/b2b-user/app_perform.htm] which addressed my needs perfectly.
To summarize in a few words, there are a number of settings that can be made as size to commit partial lot, size of the payload and large load useful program, in conjunction with a setting called 'Enable the Streaming' in the bpel AQ adapter side SOA Dequeue of things who will accomplish what I need to do. The version I use is Oracle SOA Suite 11.1.1.7
Directly related to the question, I referred to above concerning how to insert a message directly in my QA:
I will not go into the horrific details, but basically I create a ConnectionFactory via an InteractionSpec to get the right connection managed, then convert the message correctly and insert the message in the queue, taking care to manage the space of thread, and close all open connections. Finally, in my contract partner, I make a note to NOT add the message to the queue after my process of legend in order to avoid duplication of messages.
All said, I'm happy I found a way to let SOA Suite and B2B to treat this issue with a few "out of the box" settings, because even if the captions can be very useful to insert a custom header or do a quick transformation, using them to enter the bowels of my managed connections are not a walk in the Park.
Hope this question and the subsequent response will be useful to those seeking similar tasks on the road.
-
Anyone know how to "cone" and "fade out", a rule (online tool) at each end? Thanks in advance!
Use features of variable width.
-
No 'Mirror Image' checkbox not tab in advance for c4680
Hello! I just bought a new printer hp Photosmart c4680 for iron for transfer on fabric as my previous printer packed. After a few discussions and research, I settled on this one because he supported for transfers and is a brand that I've not used it before. I don't know what to do and how to do it, but I can't cos told me to do is not available; CL 'Advance' in the box 'Features' tab select the 'Mirror Image' checkbox. There are 2 boxes, 1 - 'allow the maximum the DPI setting. 2 "" activate Technologies HP Real Life '. " No MIRROR IMAGE! Any help would be most appreciated. Thank you. AKO.
Sorry I was wrapped in me lately. Windows XP. I went to considerably emails with HP abuse and their final answer is lower.
"Please write to the HP customer service.
I would like to inform you that the printer supports the iron on transfer but the pilot did not have the mirroring of the image feature is why we have suggested you to use third-party manufacturers called Microsoft Office Picture Manager software to reflect the image. "Being an ODP that is not an option for me.
I have since had their ring for me today to (India)? in the measure and suggests using Microsoft Word. I had previously rang Braintree HP Customer Care and spoke to a technician who, after deliberating with other Tech: says "Mirror Image isn't necessary, just select iron-Ontransfer paper and print normally. Does'nt work. PICASA Forum suggests:-point culminating pic click > Ctrl-Shift-H to flip horizontal and Shift-Ctrl-V for vertical turning. He worked for some but not for me.
I have mine by visiting "download.com" chose "free downloads" "mirror image" search and chose "Easyimage" sort.
Thank you for taking the time for me, hope this might help someone like me who is getting fed up with the problem. AKO
-
Development of a feature of single line with list items
Hello
I am new to Oracle forms. Currently using Oracle forms 6i.
I am facing a problem when you check the condition of the components of a line while choosing the "item in the list. I basically multiple data block. On the block of data I assigned to the property as 'Item in the list' to one of the element. This list item has three options 'MANUAL', 'AUTO' and 'ADVANCE '. When I choose the 'MANUAL' list item, corresponding line should be editable and the user can insert the record in the same row. But when I choose 'AUTO' or 'ADVANCE' only the specified element say for example the element 'Sr.no" only be editable while all other elements are unchangeable. I tried to use set_record_property for 'MANUAL' and that my point. But writing set_item_property to "AUTO" and "ADVANCE", which spoils the feature then 'MANUAL' for the line/record after having inserted a line 'AUTO' or 'FORWARD '.
Please help as soon as possible because it is urgently needed.
Published by: 1005292 on May 10, 2013 12:43I agree with Gregor uses WHEN-LIST-CHANGED-relaxation. But I wouldn't set the INSERT_ALLOWED and UPDATE_ALLOWED properties in a WHEN-NEW-FOLDER-iNSTANCE-trigger, but put in the WHEN-LIST-CHANGED-trigger and in the process of filling the block (I don't know how the block is filled, if its done using EXECUTE_QUERY the relaxation would be POST-QUERY-relaxation).
The statement to make it a feature in the Insertable current record is
SET_ITEM_INSTANCE_PROPERTY('BLOCK.ITEM', TO_NUMBER(:SYSTEM.TRIGGER_RECORD), INSERT_ALLOWED, PROPERTY_TRUE); SET_ITEM_INSTANCE_PROPERTY('BLOCK.ITEM', TO_NUMBER(:SYSTEM.TRIGGER_RECORD), UPDATE_ALLOWED, PROPERTY_TRUE);
-
Need details on the tablespace and storage used by the queue oracel
Hi all
I'm working on the lines of the Oracle. I need some details about the storage space of the queues.
1. is it mandatory that we have space separate for the queue table? What will happen if we run out of table space? Lose us data?
2. how much storage space is required for a queue of the oracle?
Please suggest me on this.Hello
946965 wrote:
1. is it mandatory that we have space separate for the queue table? What will happen if we run out of table space? Lose us data?No - it is not necessary to separate queue objects, you can do however purely for the simplicity of space management, but is certainly not a requirement. Space missing in a storage space for a queue is not different to press space to a normal process - Oracle will trigger an error ("ORA-xxxxx cannot extend... ") and the process trying to NQ to the queue will fail or do what it has been coded so that error." So, if your code NQ did something stupid mistake so I guess it's possible loss of data in case of error (not only exhausted space) but in general I'm expecting the process to report the error and stop.
946965 wrote:
2. how much storage space is required for a queue of the oracle?It is depends entirely on how you plan to use the queues, queues are not generally intended for long-term data storage, they do not perform well for this - they work better with the message in. message on (enqueue | dequeue) so unless you intend to leave messages in the queue for long periods of time I expect no significant space consumption. But only you guys can really work it to according to the type of user data and how long messages remain in the queue.
There are some useful notes on My Oracle Support on the management of the space occupied by the queues which is very important for performance, for example
How can I reduce the high watermark (HWM) of advanced queue objects? (Doc ID 421474.1)Hope this helps,
Paul
-
Purpose of Converter PDF Adobe Advanced Options
I am curious about the purpose of the "
Advanced Options
" (also called "Advanced Document Settings
" "") for the Adobe PDF virtual printer. For example access from an application viaPrint
(.. . SelectAdobe PDF
as printer)> Properties > Layout > Advanced
.I've included a screenshot for clarity.
Options include the
Paper Size
. Above all, I am interested in the creation of PDF to MS Word documents, and the layout in Word would negate thePaper Size
option, I'm pretty sure.There is an option for
Print Quality
. But thejoboptions
files (profiles accessed via... > Properties > Adobe PDF Settings > Default Settings/Edit
) seem to control the ultimate resolution output printing.There is an option for
PostScript Output Option
, with possible selections including "Optimize for Portability
"and"Archive Format
". "" I'm interested in the PDF/A output, but these two evocative PostScript options appear only useful if the postscript file was going to be created/used/manipulated. It seems that nowadays the postscript file is not usually explicitly created, but serves as a 'hidden' intermediate in the creation of the PDF file. See also http://www.freeframers.org/archive/01/msg00050.htmlAm I right to conclude that the 'Advanced' options are a feature inherited , not useful to anyone who creates PDF files in a single step - instead of printing to a file in postscript format, followed by the creation of PDF files using the Distiller?
See for example http://forums.Adobe.com/message/1240330#1240330
Kind regards
DIV
I pretty much agree. However, the print quality may be a great. I use 300 dpi and a lot of people recommend 600 dpi. The 1200 dpi is well beyond what is normally required. A place where the 1200 is a major problem is in preparation of slides in PDF format. If you have drawn with lines of 1 pixel color, they will be 1200 dpi. Imagine the problems when viewing on a 96 dpi screen, a factor of more than 12 less pixels. A yellow line 1 pixel is almost unreadable because of the way the line is sampled for display. If 300 dpi is used for print quality, then there is no problem. I found this one on the hard.
Most of the other settings let you alone, or change somewhere else.
In your example of another post DOC file, your A4 came out as a letter for me. The paper defined in the DOC file is A4. My default in Acrobat's letter. Thus, the WORD does NOT replace the printer setting. You must set the paper in the printer separately, similar to the right paper in the printer.
I'm still struggling with all the differences that you are trying to report on your other post. There are differences, but I am not sure of the reason. You might want to look at a page in the PDF document audit optimize see were the resources are used.
-
When to recreate queues and tables of the queue in QA?
When recreate us queues and queue tables when you use Advanced Queuing? Is there an advantage in doing this?
dbms_aqadm.stop_queue)
dbms_aqadm.drop_queue)
dbms_aqadm.drop_queue_table)
dbms_aqadm.create_queue_table)
dbms_aqadm.create_queue)
dbms_aqadm.start_queue)
Also, can you please let me know what is the difference between the queue and queue table? I'm newbie and not able to get help on that. I had a little of that first we can create the queue table and then create the queue. Any help would be appreciated.Why do you want to "recreate" the queues and queue tables?
Read the documentation of
DBMS_AQADM.ALTER_QUEUE and DBMS_AQADM.ALTER_QUEUE_TABLE
and see if you can get out without falling and re - create
In the contrary case; do some reading on how to manage queues, to drop, modification and creation!
http://download.Oracle.com/docs/CD/B19306_01/server.102/b14257/aq_admin.htm#i1005956
and
http://download.Oracle.com/docs/CD/B19306_01/server.102/b14257/aq_admin.htm#i1006297If you want to change the payload type, you need to remove the queue and re-create it, in which case read on drop, keep in mind the STOP_QUEUE!
http://download.Oracle.com/docs/CD/B19306_01/server.102/b14257/aq_admin.htm#i1006355Similarly for the DROP table queue!
P;
-
Hello
I am very new to advanced queues. In fact I've never implemented it, but I'm just to assess whether this feature is corresponding to our requirements.
Can someone please let me know if it is possible to filter the events being pumped-out (dequeued)?
Thank you very much?
Hello
> Can you be it someone please let me know if it is possible to filter the events in pumped-out (dequeued)?
It is possible to filter the data that have been queued. There are several possibilities:
You could implement a mechanism of publication/register your payload of queue. Here, you define your own payload
by type, e.g. with an indicator of type of object (e.g. process_type = 'A' or 'B').
Next, you will configure two subscribers (using a listener) using the functionality of the rule: a waiting process all data in queue handles
with the flag 'A', another wait process works for the flag "B".
Another possibility could be a single wait (infinite loop) process with control of the payload.
If process_type = "A" only, process_type = 'B' do.
Kind regards
WoG
Maybe you are looking for
-
PDF Viewer does not work in FF 38.0.1 for Mac
Unable to get the default PDF Viewer to work with FF 38.01.1 in a MacBook Pro with OS X 10.6.8. Is it supposed to work in this environment? I have no option but download the files or, apparently, works with a plugin (which I'd rather not do).AEja mak
-
iPhone 6 receive do not iMessages.
This morning, I missed a few messages on my phone. They came by fine on the iPad. i Went to settings, messages, send and receive. my email is checked, but my phone number has the wheel spinning next to him. This must be the problem. Any ideas on how
-
I had to rebuild my computer and when I imported all my favorites that they had no favicons. I started to receive some of the favicons when I go to the websight that he reconnect, but now I can't seem to see any of them. I did a Google search and a t
-
Satellite A10 - problem of the fan and processor speed
Hello Recently, my computer stops and overheated while clunked there fan who told me that I had to clean the fan and the heat sink. I have it done, replaced everything and then turned back on my computer. The fan seems fine now except that it only li
-
Yellow ' dot/star' on my internet (signal strength bar) icon in the systray.
Original title: yellow dot on the wireless icon I have a yellow dot, or more specifically a yellow star on my internet (signal strength bar) icon in the systray. The weird part is that I seem to have a complete internet service. What is this and how