Oracle AQ ʹÓÃ
Ëæ×Ų»Í¬Ó¦ÓÃÄ£¿é¼äµÄÏûÏ¢½»»¥ºÍͨÐųÉΪһ¸ö¹Ø¼üµÄ¹¦ÄÜ£¬²¢ÇÒ±äµÃÔ½À´Ô½ÖØÒª¡£OracleÒýÈëÁËÒ»ÖÖÇ¿´óµÄ¶ÓÁлúÖÆ£¬Í¨¹ýËü³ÌÐò¼ä¿ÉÒÔʵÏÖÐÅÏ¢µÄ½»»¥£¬oracle°ÑËü³Æ×÷ΪAQ - Advanced Queuing. ʹÓÃOracle AQ£¬ÎÒÃDz»ÐèÒª°²×°¶îÍâµÄÖмä¼þ£¬ËüÊÇOracleÊý¾Ý¿âµÄÒ»¸ö¹¦ÄÜ×é¼þ£¬Ö»ÒªÄã°²×°ÁËOracle Êý¾Ý¿â¾Í¿ÉÒÔʹÓÃAQÁË¡£½ÓÏÂÀ´·ÖÁ½²¿·ÖÀ´½éÉÜAQµÄʹÓã¬Ê¹ÓÃ֮ǰÎÒÃÇÒª´´½¨QUEUE.
ÎÒÃÇ´´½¨Ò»¸ö×Ô¼ºµÄAQµÄ¹ÜÀí½ÇÉ« "my_aq_adm_role" ºÍ¹ÜÀíÓû§"aqadm"£¬ÔÙ°ÑOracle AQ ¹ÜÀí½ÇÉ« "aq_adminstrator_role" ÊÚȨ¸ø"my_aq_adm_role".
CREATE ROLE my_aq_adm_role;
GRANT aq_adminsistator_role TO my_aq_adm_role
´´½¨Ò»¸öÓû§µÄ½ÇÉ« "my_aq_user_role" ºÍ ÆÕͨÓû§"aquser" ,ÔÙ°ÑOracle AQµÄÓû§½ÇÉ«"aq_user_role"ºÍһЩ»ù±¾²Ù×÷ÐèÒªµÄϵͳȨÏÞÊÚȨ¸ø "my_aq_adm_role"
CREATE ROLE my_aq_user_role;
GRANT CREATE session, aq_user_role TO my_aq_user_role;
EXEC DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
privilege => 'ENQUEUE_ANY',
grantee => 'my_aq_user_role',
admin_option => FALSE);
EXEC DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE(
privilege => 'DEQUEUE_ANY',
grantee => 'my_aq_user_role',
admin_option = 'FALSE');
ÏÖÔÚÎÒÃÇ´´½¨ AQ¹ÜÀíÓû§
CREATE USER aqadm IDENTIFIED BY aqadm
DEFAULT TABLESPACE elathen
TEMPORARY TABLESPACE temp;
GRANT my_aq_adm_role TO aqadm;
GRANT connect, resource TO aqadm; ----×¢Ò⣬resource½Çɫһ¶¨ÒªÊÚ¸øuser,Èç¹ûresource½ÇÉ«ÊÚȨ¸ø
my_aq_adm_role, user½«»áʧȥ unlimited tablespace ȨÏÞ
½Ó×ÅΪÎÒÃÇÏÂÃæexample´´½¨ÆÕͨÓû§
CREATE USER aquser IDENTIFIED BY aquser
DEFAULET TABLESPACE elathen
TEMPORARY TABLESPACE temp;
GRANT my_aq_user_role TO aquser;
ÎÒÃǽ«ÔÚÎÒÃǵÚÒ»¸öqueueÖÐʹÓÃobject type¶ø²»ÊÇNUMBER or VARCHAR2×÷Ϊpayload£¬ÕâʹÎÒÃǸüÌù½üʵ¼ÊÓ¦Óá£(payloadÊÇÈκÎÏûÏ¢¶¼Ê¹ÓõÄÒ»ÖÖÊý¾ÝÀàÐͺͽṹ).
ÉÏÃæ×öµÄ¹¤×÷¶¼ÐèÒªÔÚDBAµÄȨÏÞÏÂ×ö£¬ÏÖÔÚÎÒÃÇÇл»µ½AQ¹ÜÀíÔ±
CONNECT aqadm/aqadm
CREATE TYPE queue_message_type AS OBJECT(
no NUBER,
title VARCHAR2(30),
text VARCHAR2(2000));
/
GRANT EXECUTE ON queue_message_type TO my_aq_user
Ïà¹ØÎĵµ£º
½ñÌìÓÐͬÊ´òµç»°ÒªÇóÒª°Ñoracle¿âÀïµÄÒ»ÕűíµÄ¶¨Òåµ¼³ö¸ösqlÎļþ£¬µ±Ê±µÄµÚÒ»·´Ó¦¾ÍÊÇÒª½ÌËûÓÃexp/impÀ´»ñµÃ±í½á¹¹¶¨ÒåÎļþ£¬Ôڵ绰ÀïÃæËµÁ˰ëÌ컹ÊÇûÄ̻ܽáËû£¬Ö»ºÃÅÜÁËÒ»ÌË»ú·¿¡£Â·ÉϾÍÔÚÏ룬oracleÕæÊÇÌÖÑᣬΪʲô²»ÔÚÆóÒµ¹ÜÀíÆ÷ÀïÖ±½Ó¼ÓÉϸö±í½á¹¹µ¼³öµÄÑ¡Ï»¹Òªº¦ÎÒÕâôÅÜÒ»ÌË£¬ÕæÊÇ@@#!!@!#@@@@
ÎÊÁËÏÂÒªµ¼³öÄÄ ......
¡¡¡¡Ò». ¸ÅÊö
¡¡¡¡Oracle´æ´¢¹ý³Ì¿ª·¢µÄÒªµãÊÇ£º
¡¡¡¡• ʹÓÃNotepadÎı¾±à¼Æ÷£¬ÓÃOracle PL/SQL±à³ÌÓïÑÔдһ¸ö´æ´¢¹ý³Ì;
¡¡¡¡• ÔÚOracleÊý¾Ý¿âÖд´½¨Ò»¸ö´æ´¢¹ý³Ì;
¡¡¡¡• ÔÚOracleÊý¾Ý¿âÖÐʹÓÃSQL*Plus¹¤¾ßÔËÐд洢¹ý³Ì;
¡¡¡¡• ÔÚOracleÊý¾Ý¿âÖÐÐ޸Ĵ洢¹ý³Ì;
¡¡¡¡• ͨ¹ý±àÒë´íÎóµ÷ÊÔ´æ´¢¹ ......
ϵͳ»¹Ô¶Î
½öΪϵͳ±í¿Õ¼äÖеĶÔÏó±ä»¯ËùÓá£ËüÊÇÔÚÊý¾Ý¿â´´½¨Ê±ÔÚϵͳ±í¿Õ¼äÖд´½¨µÄ¡£ÏµÍ³»¹Ô¶Î¼È¿ÉÒÔ´æÔÚ²¢¹¤×÷ÔÚ×Ô¶¯Ä£Ê½Ï£¬Ò²¿ÉÒÔ´æÔÚ²¢¹¤×÷ÔÚÊÖ¶¯Ä£Ê½Ï¡£
·Çϵͳ»¹Ô¶Î
ΪÆäËû±í¿Õ¼äÖжÔÏóµÄ±ä»¯ËùʹÓᣵ±Ò»¸öÊý¾Ý¿â¾ßÓжà¸ö±í¿Õ¼äʱ¾ÍÐèÒªÖÁÉÙÒ»¸öÊÖ¶¯µÄ·Çϵͳ»¹Ô¶Î»òÒ»¸ö×Ô¶¯¹ÜÀíµÄ»¹Ô±í¿Õ¼ä¡£
×Ô¶¯Ä£Ê½ ......
¡¶¸£²¼Ë¹¡·ÍøÕ¾½üÈÕ·¢±íÎÄÕ³ƣ¬Èç¹û¼×¹ÇÎÄ74ÒÚÃÀÔªÊÕ¹ºSunµÄ¼Æ»®ÓÉÓÚÅ·Ã˵Ä×èÄÓ¶øÒÔʧ°Ü¸æÖÕ£¬Õâ²¢²»»á¸ø¼×¹ÇÎÄ´øÀ´Ì«´óËðʧ£¬µ«È´»áÁîSunÔâÊÜÖØ´´¡£
¼×¹ÇÎÄÊÕ¹ºSunµÄ½»Ò×ÈÔδ»ñµÃÅ·ÃËίԱ»áµÄÅú×¼¡£
Å·ÃË·´Â¢¶Ï¼à¹Ü²¿Ãŵ£ÐÄ£¬¼×¹ÇÎÄÊÕ¹ºSun½«¶ÔSunµÄ¿ªÔ´Êý¾Ý¿âÒµÎñMySQLÔì³É²»ÀûÓ°Ïì¡£¼×¹ÇÎÄÃæ¶ÔÅ·Ã˵ÄÒÉÂDz¢²»Ô¸×ö³öÈà ......
ÔÚJAVAÖеÄSQL Óï¾äµÄ±àд·½Ã棬ûÓÐʹÓÃORACLE °ó¶¨±äÁ¿£¬ºÜ´ó³Ì¶ÈÉϽµµÍÁËÊý¾Ý¿âµÄÐÔÄÜ£¬±íÏÖÔÚÁ½¸ö·½Ã棺
1¡¢SQLÓï¾äÓ²·ÖÎö(Hard Parse)Ì«¶à£¬ÑÏÖØÏûºÄCPU×ÊÔ´£¬ÑÓ³¤ÁËSQLÓï¾ä×ܵÄÖ´ÐÐʱ¼ä
SQLÓï¾äµÄÖ´Ðйý³Ì·Ö¼¸¸ö²½Ö裺Óï·¨¼ì²é¡¢·ÖÎö¡¢Ö´ÐС¢·µ»Ø½á¹û¡£ÆäÖзÖÎöÓÖ·ÖΪӲ·ÖÎö(Hard Parse)ºÍÈí·ÖÎö(Soft Pars ......