JMS+Oracle Advanced Queue(AQ)Ó÷¨Êµ¼ù
×÷Õß:Ñî´óÓÑ,Óà´¨ ²âÊÔÔ±:Íõ½¡
¿ª·¢¹¤¾ß:Oracle Jdeveloper 10131
ÈíÓ²¼þ»·¾³:
²Ù×÷ϵͳlinux redhat 3.0 Êý¾Ý¿âΪOracle 10G 10.0.2
Ó¦Ó÷þÎñÆ÷ΪSOA Application Server 10131
¿ª·¢ÓïÑÔ:java
¹ØÓÚÌåϵ½á¹¹,˵¶àÁËÒ²ÈÃÈ˾õµÃÔÎ.ÎÒÖ±½ÓʾÀýÒ»¸ö×ö·¨,ÖÁÓÚÀí½â,¾ÍÂýÂý¿´Êé°É!
²½Öè:
1.
´´½¨Oracle AQ
Ê×ÏÈÒÔ³¬¼¶Óû§µÇ½Êý¾Ý¿â,Ð޸ıØÒª²ÎÊý,½¨Á¢AQÓû§,²¢¸øÈ¨ÏÞ.ÎÒÊÇʹÓÃsqlplus
Conn sys/******@SID as sysdba
Alter system set AQ_TM_PROCESSES=6
Alter system set JOB_QUEUE_PROCESSES=10
Create user aq identified by aq1234 default tablespace users
temporary tablespace temp quota unlimited on users;
Grant connect,resource to aq;
Grant aq_administrator_role to aq;
Grant execute on dbms_aqadm to aq;
Grant execute on dbms_aq to aq;
Grant create any table to aq;
Grant enqueue any queue,dequeue any queue to aq;
ÔÚÕâ²åÒ»¾ä,ÕâÑù´´½¨Ö»ÊÇΪÁ˱ãÓÚ²Ù×÷,´ó¼ÒÔÚÍâÃæÊ¹ÓÃÓ¦¸ÃÔÙ´´½¨Óû§,Ö»ÐèÒªÊÚÓèconnect,resource,²Ù×÷dbms_aqadmºÍ
dbms_aqµÄȨÏÞ¾Í×ã¹»ÁË.Èç¹ûÄãÏëÓÃÒ»¸öÓû§²Ù×÷ÁíÍâÒ»¸öÓû§µÄqueue(±ÈÈçaq1²Ù×÷aq´´½¨µÄqueue),ÄÇôֻÐèÒªÖ´ÐÐÏÂÃæµÄÃüÁî:
Conn aq/aq1234@sid
Execute
dbms_aqadm.grant_queue_privilege(‘enqueue’,’aq_queue’,’aq1’,false);
½âÊÍ:µÚÒ»¸ö²ÎÊýÊÇȨÏÞ,¿ÉÒÔÓÐÈý¸öÖµ,enqueue,dequeue,all(all¾ÍÊÇÇ°ÃæÁ½¸ö¶¼ÓÐ).µÚ¶þ¸ö²ÎÊýÊÇqueueµÄÃû×Ö,µÚÈý¸ö²ÎÊýµÄ°ÑȨÏÞ¸øÄĸöÈË,µÚËĸöµÄÒâ˼,Ôݲ»Ã÷°×,¾Í²»Ëµ.
ÏÂÃæ¾ÍÊǽ¨Á¢queue
tablesºÍqueueµÄʱ¼äÁË.ÓÃoemÀ´´´½¨ÊÇ×î¼òµ¥µÄ,´ó¼Ò×Ô¼º¿´Ò»ÏÂ,ÎÒ°ÑÓÃÃüÁî´´½¨µÄ¹ý³Ì˵ÏÂ:
Conn aq/aq1234@sid
--create a queue table.
BEGIN
dbms_aqadm.create_queue_table(
queue_table=>'JMSTEST_QT',
queue_payload_type=>'SYS.AQ$_JMS
_MESSAGE',
multiple_consumers =>
false,
comment => 'Queue Table For Resource Provider');
END;
/
--create a queue
BEGIN &
Ïà¹ØÎĵµ£º
ѧϰOracle DBAÒ²°ë¸ö¶àѧÆÚÁË£¬½ñÌìÃÍÈ»²Å·¢ÏÖ£¬ÔÀ´ÎÒµÄÊ黹ÊǺÜеģ¬ÉϿβÙ×÷ʱºòÒ²Ö»ÊÇÖªµÀ´ó¸ÅÔõô×ö£¬µ«ÊÇÒªÕæµÄÈ«²¿×Ô¼º×ö£¬¶ø²»È¥·Ê黹ÊÇÓÐÒ»¶¨µÄÄѶȵģ¬ËùÒÔÄØ£¬½ñÌ쿪ʼ½«DBA´ÓÍ·¸´Ï°Ò»±é£¬Í¬Ê±ÔÙ²Ù×÷Ò»±é¡£
µÚÒ»Õ£¬Ñ§µÄÊÇOracleµÄÌåϵ½á¹¹£ ......
¡¡¡¡Ò». ¸ÅÊö
¡¡¡¡Oracle´æ´¢¹ý³Ì¿ª·¢µÄÒªµãÊÇ£º
¡¡¡¡• ʹÓÃNotepadÎı¾±à¼Æ÷£¬ÓÃOracle PL/SQL±à³ÌÓïÑÔдһ¸ö´æ´¢¹ý³Ì;
¡¡¡¡• ÔÚOracleÊý¾Ý¿âÖд´½¨Ò»¸ö´æ´¢¹ý³Ì;
¡¡¡¡• ÔÚOracleÊý¾Ý¿âÖÐʹÓÃSQL*Plus¹¤¾ßÔËÐд洢¹ý³Ì;
¡¡¡¡• ÔÚOracleÊý¾Ý¿âÖÐÐ޸Ĵ洢¹ý³Ì;
¡¡¡¡• ͨ¹ý±àÒë´íÎóµ÷ÊÔ´æ´¢¹ ......
SQLÖеĵ¥¼Ç¼º¯Êý
1.ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii(’A’) A,ascii(’a’) a,ascii(’0’) zero,ascii(’ ’) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2.CHR
¸ø³öÕûÊý,·µ»Ø¶ÔÓ¦µÄ× ......
Ëæ×Ų»Í¬Ó¦ÓÃÄ£¿é¼äµÄÏûÏ¢½»»¥ºÍͨÐųÉΪһ¸ö¹Ø¼üµÄ¹¦ÄÜ£¬²¢ÇÒ±äµÃÔ½À´Ô½ÖØÒª¡£OracleÒýÈëÁËÒ»ÖÖÇ¿´óµÄ¶ÓÁлúÖÆ£¬Í¨¹ýËü³ÌÐò¼ä¿ÉÒÔʵÏÖÐÅÏ¢µÄ½»»¥£¬oracle°ÑËü³Æ×÷ΪAQ - Advanced Queuing. ʹÓÃOracle AQ£¬ÎÒÃDz»ÐèÒª°²×°¶îÍâµÄÖмä¼þ£¬ËüÊÇOracleÊý¾Ý¿âµÄÒ»¸ö¹¦ÄÜ×é¼þ£¬Ö»ÒªÄã°²×°ÁËOracle Êý¾Ý¿â¾Í¿ÉÒÔʹÓÃAQÁË¡£½ ......