ÿþ<html> <head> <meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title> Elements of Advanced Queuing </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link href="style.css" rel="stylesheet" type="text/css"> <META NAME="description" content="By integrating transaction processing with queuing technology, persistent messaging in the form of Advanced Queuing is possible. This section defines a number of Advanced Queuing terms. "> <META NAME="keywords" content="Advanced Queueing, Enqueue, Dequeue, Propagation Features of Advanced Queuing ,advanced queueing,message queuing,queuing,queue system,queuing systems"> <script type="text/javascript" language="javascript" src="includes/sniffer.js"></script><script type="text/javascript" language="javascript1.2" src="includes/custom.js"></script><script type="text/javascript" language="javascript1.2" src="includes/style.js"></script></head> <body link = "black" topmargin=0 leftmargin=0><script type="text/javascript" language="javascript1.2" src="includes/menu.js"></script> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-4671442-1"; urchinTracker(); </script> <table align=left border="1" width="100%" id="table1" height="503" cellspacing="1" cellpadding="0"> <tr> <td height="60" bgcolor="E7EFE7" colspan="3" align="Left" valign="top"> <IMG SRC="learn-oracle-header/learn-oracle.jpg" WIDTH="1000" HEIGHT="91" BORDER="0" ALT="learn-oracle"> </tr> <tr> <td width="160" align="left" valign="top" bgcolor="E7EFE7" > <font face="arial" size='2'><a href="oracle_dba_step_1.html">free <B>Oracle DBA</B> tutorial</a> <font size="2" align="right"> <a href="http://oracleonline.info/oracle_jobs.html">Oracle Jobs </a><BR> <a href="http://faq.sparklit.com/main.spark?faqID=1665">Ask A Question </a><BR> <a href="http://oracleonline.info/sql_statement_tuning.html">SQL Statement Tuning </a><br> <a href="http://oracleonline.info/backup_recovery_dba.html">Backup and Recovery Concepts </a><br> <a href="http://oracleonline.info/oracle_11g_new_features.html">Oracle 11g New Features </a><br> <a href="http://oracleonline.info/oracle_e_suite_others.html">Oracle E Suite & Others </a><br> <a href="http://oracleonline.info/Oracle_data_guard_index.html">Oracle Data Guard </a><br> <a href="http://oracleonline.info/faq_for_oracle_dba.html">Oracle DBA FAQ </a><br> <script type="text/javascript"><!-- google_ad_client = "pub-4228419744604469"; google_ad_width = 160; google_ad_height = 600; google_ad_format = "160x600_as"; google_ad_type = "text_image"; google_ad_channel =""; google_color_border = "E7EFE7"; google_color_bg = "E7EFE7"; google_color_link = "0000ff"; google_color_url = "000000"; google_color_text = "000000"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> <BR><BR> <B> <!--%2Chttp%3A%2F%2Fwww.sdparanormal.com%2Ff%2FParanormal_News_Feed.xml --> <!-- RSS News End --> </td> <td align="left" valign="top" bgcolor="E7EFE7" bordercolor="#99CCFF"style="border-style: solid; border-width: 1px; padding-left: 8px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px> <div id="wrapper"> <div id="body"> <div> <div> <div> <div class="inner"> <div class="indent"> <p ></B> <font face="Tahoma" size="2" color="#435C7D"> <BR><BR><BR> <h1 align="center"> Elements of Advanced Queuing </h1><BR> <!-- <table> <tr> <td> --> <a href="more_features_Advanced_queue.html">Previous Chapter </a> | <a href="component_Advanced_queue.html">Next Chapter </a> <BR><BR> </font > <!-- <IMG SRC="character-set.gif" WIDTH="599" HEIGHT="410" BORDER="0" ALT=""><BR><BR> --> <!-- </td> <td> --> <script type="text/javascript"><!-- google_ad_client = "pub-4228419744604469"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; google_ad_channel =""; google_color_border = "E7EFE7"; google_color_bg = "E7EFE7"; google_color_link = "000000"; google_color_url = "000000"; google_color_text = "000000"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><p> <!-- </td> </tr> </table> --> <font face="tahoma" size="2"> By integrating transaction processing with queuing technology, persistent messaging in the form of Advanced Queuing is possible. This section defines a number of Advanced Queuing terms.<br><br> <H5>Message</H5> A message is the smallest unit of information inserted into and retrieved from a queue. A message consists of the following:<br><br> * Control information (metadata)<br><br> * Payload (data)<br><br> The control information represents message properties used by AQ to manage messages. The payload data is the information stored in the queue and is transparent to Oracle AQ. A message can reside in only one queue. A message is created by the enqueue call and consumed by the dequeue call.<br><br> <H5>Queue</H5> A queue is a repository for messages. There are two types of queues: user queues, also known as normal queues, and exception queues. The user queue is for normal message processing. Messages are transferred to an exception queue if they cannot be retrieved and processed for some reason. Queues can be created, altered, started, stopped, and dropped by using the Oracle AQ administrative interfaces <br><br> User queues can be persistent (the default) or nonpersistent queues. Persistent queues store messages in database tables. These queues provide all the reliability and availability features of database tables. Nonpersistent queues store messages in memory. They are generally used to provide an asynchronous mechanism to send notifications to all users that are currently connected.<br><br> <H5>Queue Table </H5> Queues are stored in queue tables. Each queue table is a database table and contains one or more queues. Each queue table contains a default exception queue. Figure 7-1, "Basic Queues" shows the relationship between messages, queues, and queue tables.<br><br> <H5>Agent</H5> An agent is a queue user. This can be an end user or an application. There are two types of agents:<br><br> * Producers who place messages in a queue (enqueuing)<br><br> * Consumers who retrieve messages (dequeuing)<br><br> Any number of producers and consumers may be accessing the queue at a given time. Agents insert messages into a queue and retrieve messages from the queue by using the Oracle AQ operational interfaces <br><br> An agent is identified by its name, address and protocol<br><br> * The name of the agent may be the name of the application or a name assigned by the application. A queue may itself be an agent--enqueuing or dequeuing from another queue.<br><br> * The address field is a character field of up to 1024 bytes that is interpreted in the context of the protocol. For instance, the default value for the protocol is 0, signifying a database link addressing. In this case, the address for this protocol is of the form queue_name@dblink <br><br> where queue_name is of the form [schema.]queue and dblink may either be a fully qualified database link name or the database link name without the domain name.<br><br> <H5>Recipient</H5> The recipient of a message may be specified by its name only, in which case the recipient must dequeue the message from the queue in which the message was enqueued. The recipient may be specified by name and an address with a protocol value of 0. The address should be the name of another queue in the same database or another Oracle database (identified by the database link) in which case the message is propagated to the specified queue and can be dequeued by a consumer with the specified name. If the recipient's name is NULL, the message is propagated to the specified queue in the address and can be dequeued by the subscribers of the queue specified in the address. If the protocol field is nonzero, the name and address are not interpreted by the system and the message can be dequeued by a special consumer <br><br> <H5>Recipient and Subscription Lists </H5> Multiple consumers can consume a single message:<br><br> o The enqueuer can explicitly specify the consumers who may retrieve the message as recipients of the message. A recipient is an agent identified by a name, address, and protocol.<br><br> o A queue administrator can specify a default list of recipients who can retrieve messages from a queue. The recipients specified in the default list are known as subscribers. If a message is enqueued without specifying the recipients, the message is sent to all the subscribers.<br><br> Different queues can have different subscribers, and the same recipient can be a subscriber to more than one queue. Further, specific messages in a queue can be directed toward specific recipients who may or may not be subscribers to the queue, thereby overriding the subscriber list.<br><br> <H5>Rule</H5> A rule is used to define one or more subscribers' interest in subscribing to messages that conform to that rule. The messages that meet the rule criterion are delivered to the interested subscribers. A rule is specified as a boolean expression (one that evaluates to true or false) using syntax similar to the WHERE clause of a SQL query. The boolean expression can include conditions on the following:<br><br> * Message properties (currently priority and correlation identifier)<br><br> * User data properties (object payloads only)<br><br> * Functions (as specified in the WHERE clause of a SQL query)<br><br> <H5>Rule-Based Subscribers</H5> A rule-based subscriber is a subscriber with associated rules in the default recipient list. If an associated rule evaluates to TRUE for a message, the message is sent to the rule-based subscriber even if the message has no specified recipients.<br><br> <H5>Transformation</H5> A transformation defines a mapping from one Oracle data type to another. The transformation is represented by a SQL function that takes the source data type as input and returns an object of the target data type. A transformation can be specified during enqueue, to transform the message to the correct type before inserting it into the queue. It can be specified during dequeue to receive the message in the desired format. If specified with a remote subscriber, the message will be transformed before propagating it to the destination queue.<br><br> <H5>Queue Monitor</H5> The queue monitor (QMNn) is a background process that monitors messages in queues. It provides the mechanism for message delay, expiration, and retry delay. The QMNn also performs garbage collection for the queue table and its indexes and index-organized tables (IOTs). For example, the QMNn determines when all subscribers of multiconsumer queues have received a message and subsequently removes the message from the queue table and supporting indexes and IOTs.<br><br> You can start a maximum of 10 multiple queue monitors at the same time. You start the queue monitors by setting the dynamic init.ora parameter aq_tm_processes. The queue monitor wakes up every minute, or whenever there is work to do, for instance, if a message is marked expired or ready to be processed. <br><br> <H4>Java Messaging Service Terminology</H4> When using the oracle.jms Java package, keep in mind the following:<br><br> * The JMS equivalent of enqueue is Send.<br><br> * The destination of messages is a Queue, without any qualification.<br><br> * The container of messages is a Topic, with the idea being that each application can Publish on or Subscribe to a given topic.<br><br> * Topic in JMS maps to a Multi-Consumer Queue in the other AQ interfaces.<br><br> * The Java package oracle.jms extends the public JMS standard to allow for defined recipient lists.<br><br> <H4> Demos</H4> The following demos can be found in the $ORACLE_HOME/demo directory:<br><br> <table border="1"> <tr> <td width="300"><font face="tahoma" size="2"> <B>Demo and Locations </B> </td> <td width="380"><font face="tahoma" size="2"> <B>Topic </B> </td> </tr> <tr> <td><font face="tahoma" size="2"> aqjmsdemo01.java </td> <td> <font face="tahoma" size="2"> Enqueue text messages and dequeue based on message properties </td> </tr> <tr> <td><font face="tahoma" size="2"> aqjmsdemo02.java </td> <td><font face="tahoma" size="2"> Message Listener demo </td> </tr> <tr> <td><font face="tahoma" size="2"> aqjmsdemo03.java </td> <td><font face="tahoma" size="2"> Message Listener demo </td> </tr> <tr> <td><font face="tahoma" size="2"> aqjmsdemo04.java </td> <td><font face="tahoma" size="2"> Oracle Type Payload - Dequeue on payload content </td> </tr> <tr> <td><font face="tahoma" size="2"> aqjmsdemo05.java </td> <td><font face="tahoma" size="2"> Example of the queue browser </td> </tr> <tr> <td><font face="tahoma" size="2"> aqjmsdemo06.java </td> <td><font face="tahoma" size="2"> Schedule propagation between queues in the database </td> </tr> <tr> <td><font face="tahoma" size="2"> aqjmsdmo.sql </td> <td><font face="tahoma" size="2"> Set up AQ JMS demos </td> </tr> <tr> <td><font face="tahoma" size="2"> aqjmsREADME.txt </td> <td><font face="tahoma" size="2"> Describe the AQ Java API and JMS demos </td> </tr> <tr> <td><font face="tahoma" size="2"> aqorademo01.java </td> <td><font face="tahoma" size="2"> Enqueue and dequeue RAW messages </td> </tr> <tr> <td><font face="tahoma" size="2"> aqorademo02.java </td> <td><font face="tahoma" size="2"> Enqueue and dequeue object type messages using the Custom Datum interface </td> </tr> <tr> <td><font face="tahoma" size="2"> aqoradmo.sql </td> <td><font face="tahoma" size="2"> Setup file for AQ java API demos </td> </tr> <tr> <td><font face="tahoma" size="2"> newaqdemo00.sql </td> <td><font face="tahoma" size="2"> Create users, message types, tables, etc. </td> </tr> <tr> <td><font face="tahoma" size="2"> newaqdemo01.sql </td> <td><font face="tahoma" size="2"> Set up queue_tables, queues, subscribers and set up </td> </tr> <tr> <td><font face="tahoma" size="2"> newaqdemo02.sql </td> <td><font face="tahoma" size="2"> Enqueue messages </td> </tr> <tr> <td><font face="tahoma" size="2"> newaqdemo03.sql </td> <td><font face="tahoma" size="2"> Install dequeue procedures </td> </tr> <tr> <td><font face="tahoma" size="2"> newaqdemo04.sql </td> <td><font face="tahoma" size="2"> Perform blocking dequeue </td> </tr> <tr> <td><font face="tahoma" size="2"> newaqdemo05.sql </td> <td><font face="tahoma" size="2"> Perform listen for multiple agents </td> </tr> <tr> <td><font face="tahoma" size="2"> newaqdemo06.sql </td> <td><font face="tahoma" size="2"> Clean up users, queue_tables, queues, subscribers (cleanup script) </td> </tr> <tr> <td><font face="tahoma" size="2"> ociaqdemo00.c </td> <td><font face="tahoma" size="2"> Enqueue messages </td> </tr> <tr> <td><font face="tahoma" size="2"> ociaqdemo01.c </td> <td><font face="tahoma" size="2"> Perform blocking dequeue </td> </tr> <tr> <td><font face="tahoma" size="2"> ociaqdemo02.c </td> <td><font face="tahoma" size="2"> Perform listen for multiple agents </td> </tr> </table> <br><br> <a href="more_features_Advanced_queue.html">Previous Chapter </a> | <a href="component_Advanced_queue.html">Next Chapter </a> <BR><BR> <script type="text/javascript"><!-- google_ad_client = "pub-4228419744604469"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; google_ad_channel =""; google_color_border = "E7EFE7"; google_color_bg = "E7EFE7"; google_color_link = "000000"; google_color_url = "000000"; google_color_text = "000000"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> <p> <font face="tahoma" size="2"> <B><U>More Articles</U></B><BR><BR> 1. <a href="http://oracleonline.info/Advanced_queue.html">What Is Advanced Queuing?</a><br> 2. <a href="http://oracleonline.info/features_advanced_queue.html"> General Features of Advanced Queuing </a><br> 3. <a href="http://oracleonline.info/more_features_advanced_queue.html">Enqueue, Dequeue, Propagation Features of Advanced Queuing</a><br><br> </font> </b><font face="tahoma" size="2"> <P> <A HREF="http://oracleonline.info"> <B>More Tutorials on Oracle dba ...</B></FONT></A> <BR> <BR> Source :Oracle Documentation</a> <BR><BR> <!-- Social Bookmarking code starts here --> <!-- * Social Bookmark Script * @ Version 1.9 * @ Copyright (C) 2006-2008 by Alexander Hadj Hassine - All rights reserved * @ Website http://www.social-bookmark-script.com/ * @ * @ By using our script <b> Oracle DBA </b> must leave our copyright notices and the links * @ in the script untouched. The links doesn't be removed, converted, hidden * @ or made invisible. If <b> Oracle DBA </b> set a backlink to http://www.social bookmark script.com/ * @ (at least 1 time "search machines friendly" from the starting side of your web page) * @ <b> Oracle DBA </b> can be adapt the script to <b> Oracle DBA </b> for your purpose changes. --> <a target="_blank" style="text-decoration:none; font-size:11px; font-family:Arial; color: #2A4956;" href="http://www.social-bookmark-script.com/">Liked it ? Want to share it ? Social Bookmarking</a><br> <div style="border-top-style:solid; padding-top:3px; border-top-width: 1px; border-top-color: #2A4956; float: left;"> <script language="JavaScript" type="text/JavaScript"> <!-- function Social_Load() { var d=document; if(d.images){ if(!d.Social) d.Social=new Array(); var i,j=d.Social.length,a=Social_Load.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.Social[j]=new Image; d.Social[j++].src=a[i];}} } Social_Load('http://www.social-bookmark-script.de/img/bookmarks/wong_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/boni_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/newsider_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/digg_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/del_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/reddit_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/jumptags_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/stumbleupon_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/slashdot_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/netscape_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/furl_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/yahoo_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/spurl_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/google_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/blinklist_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/technorati_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/newsvine_trans_ani.gif','http://www.social-bookmark-script.de/img/bookmarks/what_trans_ani.gif','http://www.social-bookmark-script.de/load.gif') function schnipp() { var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function schnupp(n, d) { var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=schnupp(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function schnapp() { var i,j=0,x,a=schnapp.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=schnupp(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> <a rel="nofollow" style="text-decoration:none;" href="http://www.mister-wong.de/" onclick="window.open('http://www.mister-wong.de/index.php?action=addurl&amp;bm_url='+encodeURIComponent(location.href)+'&amp;bm_notice=&amp;bm_description='+encodeURIComponent(document.title)+'&amp;bm_tags=');return false;" title="Add to: Mr. Wong" onmouseover="schnapp('wong','','http://www.social-bookmark-script.de/img/bookmarks/wong_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/wong_trans.gif" alt="Add to: Mr. Wong" name="wong" border="0" id="wong"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.bonitrust.de/" onclick="window.open('http://www.bonitrust.de/account/bookmark/?bookmark_url='+ unescape(location.href));return false;" title="Add to: BoniTrust" onmouseover="schnapp('Boni','','http://www.social-bookmark-script.de/img/bookmarks/boni_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/boni_trans.gif" alt="Add to: BoniTrust" name="Boni" border="0" id="Boni"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.newsider.de/" onclick="window.open('http://www.newsider.de/submit.php?url='+(document.location.href));return false;" title="Add to: Newsider" onmouseover="schnapp('Newsider','','http://www.social-bookmark-script.de/img/bookmarks/newsider_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/newsider_trans.gif" alt="Add to: Newsider" name="Newsider" border="0" id="Newsider"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://digg.com/" onclick="window.open('http://digg.com/submit?phase=2&amp;url='+encodeURIComponent(location.href)+'&amp;bodytext=&amp;tags=&amp;title='+encodeURIComponent(document.title));return false;" title="Add to: Digg" onmouseover="schnapp('Digg','','http://www.social-bookmark-script.de/img/bookmarks/digg_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/digg_trans.gif" alt="Add to: Digg" name="Digg" border="0" id="Digg"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://del.icio.us/" onclick="window.open('http://del.icio.us/post?v=2&amp;url='+encodeURIComponent(location.href)+'&amp;notes=&amp;tags=&amp;title='+encodeURIComponent(document.title));return false;" title="Add to: Del.icio.us" onmouseover="schnapp('Delicious','','http://www.social-bookmark-script.de/img/bookmarks/del_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/del_trans.gif" alt="Add to: Del.icio.us" name="Delicious" border="0" id="Delicious"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://reddit.com/" onclick="window.open('http://reddit.com/submit?url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title));return false;" title="Add to: Reddit" onmouseover="schnapp('Reddit','','http://www.social-bookmark-script.de/img/bookmarks/reddit_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/reddit_trans.gif" alt="Add to: Reddit" name="Reddit" border="0" id="Reddit"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.jumptags.com/" onclick="window.open('http://www.jumptags.com/add/?url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title));return false;" title="Add to: Jumptags" onmouseover="schnapp('Jumptags','','http://www.social-bookmark-script.de/img/bookmarks/jumptags_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/jumptags_trans.gif" alt="Add to: Jumptags" name="Jumptags" border="0" id="Jumptags"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.stumbleupon.com/" onclick="window.open('http://www.stumbleupon.com/submit?url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title));return false;" title="Add to: StumbleUpon" onmouseover="schnapp('StumbleUpon','','http://www.social-bookmark-script.de/img/bookmarks/stumbleupon_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/stumbleupon_trans.gif" alt="Add to: StumbleUpon" name="StumbleUpon" border="0" id="StumbleUpon"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://slashdot.org/" onclick="window.open('http://slashdot.org/bookmark.pl?url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title));return false;" title="Add to: Slashdot" onmouseover="schnapp('Slashdot','','http://www.social-bookmark-script.de/img/bookmarks/slashdot_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/slashdot_trans.gif" alt="Add to: Slashdot" name="Slashdot" border="0" id="Slashdot"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.netscape.com/" onclick="window.open('http://www.netscape.com/submit/?U='+encodeURIComponent(location.href)+'&amp;T='+encodeURIComponent(document.title));return false;" title="Add to: Netscape" onmouseover="schnapp('Netscape','','http://www.social-bookmark-script.de/img/bookmarks/netscape_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/netscape_trans.gif" alt="Add to: Netscape" name="Netscape" border="0" id="Netscape"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.furl.net/" onclick="window.open('http://www.furl.net/storeIt.jsp?u='+encodeURIComponent(location.href)+'&amp;keywords=&amp;t='+encodeURIComponent(document.title));return false;" title="Add to: Furl" onmouseover="schnapp('Furl','','http://www.social-bookmark-script.de/img/bookmarks/furl_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/furl_trans.gif" alt="Add to: Furl" name="Furl" border="0" id="Furl"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.yahoo.com/" onclick="window.open('http://myweb2.search.yahoo.com/myresults/bookmarklet?t='+encodeURIComponent(document.title)+'&amp;d=&amp;tag=&amp;u='+encodeURIComponent(location.href));return false;" title="Add to: Yahoo" onmouseover="schnapp('Yahoo','','http://www.social-bookmark-script.de/img/bookmarks/yahoo_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/yahoo_trans.gif" alt="Add to: Yahoo" name="Yahoo" border="0" id="Yahoo"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.spurl.net/" onclick="window.open('http://www.spurl.net/spurl.php?v=3&amp;tags=&amp;title='+encodeURIComponent(document.title)+'&amp;url='+encodeURIComponent(document.location.href));return false;" title="Add to: Spurl" onmouseover="schnapp('Spurl','','http://www.social-bookmark-script.de/img/bookmarks/spurl_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/spurl_trans.gif" alt="Add to: Spurl" name="Spurl" border="0" id="Spurl"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.google.com/" onclick="window.open('http://www.google.com/bookmarks/mark?op=add&amp;hl=de&amp;bkmk='+encodeURIComponent(location.href)+'&amp;annotation=&amp;labels=&amp;title='+encodeURIComponent(document.title));return false;" title="Add to: Google" onmouseover="schnapp('Google','','http://www.social-bookmark-script.de/img/bookmarks/google_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/google_trans.gif" alt="Add to: Google" name="Google" border="0" id="Google"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.blinklist.com/" onclick="window.open('http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Description=&amp;Tag=&amp;Url='+encodeURIComponent(location.href)+'&amp;Title='+encodeURIComponent(document.title));return false;" title="Add to: Blinklist" onmouseover="schnapp('Blinklist','','http://www.social-bookmark-script.de/img/bookmarks/blinklist_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/blinklist_trans.gif" alt="Add to: Blinklist" name="Blinklist" border="0" id="Blinklist"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.technorati.com/" onclick="window.open('http://technorati.com/faves?add='+encodeURIComponent(location.href)+'&amp;tag=');return false;" title="Add to: Technorati" onmouseover="schnapp('Technorati','','http://www.social-bookmark-script.de/img/bookmarks/technorati_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/technorati_trans.gif" alt="Add to: Technorati" name="Technorati" border="0" id="Technorati"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://www.newsvine.com/" onclick="window.open('http://www.newsvine.com/_wine/save?popoff=1&amp;u='+encodeURIComponent(location.href)+'&amp;tags=&amp;blurb='+encodeURIComponent(document.title));return false;" title="Add to: Newsvine" onmouseover="schnapp('Newsvine','','http://www.social-bookmark-script.de/img/bookmarks/newsvine_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/newsvine_trans.gif" alt="Add to: Newsvine" name="Newsvine" border="0" id="Newsvine"> </a> <a rel="nofollow" style="text-decoration:none;" href="http://en.wikipedia.org/wiki/Social_bookmarking" target="" title="Information" onmouseover="schnapp('Information','','http://www.social-bookmark-script.de/img/bookmarks/what_trans_ani.gif',1)" onmouseout="schnipp()" > <img style="padding-bottom:1px;" src="http://www.social-bookmark-script.de/img/bookmarks/what_trans.gif" alt="Information" name="Information" border="0" id="Information"> </a> </div> <!-- Social Bookmarking code ends here --> <BR><BR> <BR><BR> <p align="center"> <font face="Tahoma" size="2">Want to share or request <B>Oracle Tutorial</B> articles to become a <B>Oracle DBA</B>. Direct your requests to<a href="mailto:webmaster@oracleonline.info" alt='Learn oracle sql plan'> webmaster@oracleonline.info</a></font></p> </td> </tr> </table> </div> </div> </div> </div> </div> </div> </div> </th> </tr> </table> </body> </html>