oracle enqueue (zt)
±¾Îļòµ¥ÃèÊöÁËÒ»ÏÂenqueueµÄ»ù±¾¸ÅÄ½á¹¹ºÍһЩÏà¹ØµÄ²ÎÊý£¬Ï£Íû¶ÔÓÚ¼ÓÉîenqueueµÄÀí½âÓеã°ïÖú¡£
ʲôÊÇenqueue
enqueue¿ÉÒÔ×öÃû´Ê£¬Ò²¿ÉÒÔ×ö¶¯´ÊÀ´½âÊÍ¡£×öÃû´Êʱ£¬Ö¸µÄµÄÊÇÒ»ÖÖËøµÄÀàÐÍ£¬±ÈÈçTx enqueue¡£×ö¶¯´Êʱ£¬ÔòÊÇÖ¸½«ËøÇëÇó·ÅÈëµ½ÇëÇó¶ÓÁеIJÙ×÷¡£
ÎÒÃÇÖªµÀ£¬lockÊÇÒ»ÖÖÐèÒªÅŶӵÄËøÊµÏÖ»úÖÆ£¬ÕâºÍlatchÊDz»Ò»ÑùµÄ£¬latchÊÇÒ»ÖÖÇáÁ¿¼¶µÄËø£¬ÊDz»ÐèÒªÅŶӵá£Enqueue¾ÍÊÇlockµÄÅŶӻúÖÆµÄʵÏÖ¡£
lockÊÇÓÃÀ´ÊµÏÖ¶ÔÓÚ¹²Ïí×ÊÔ´µÄ²¢·¢·ÃÎʵġ£Èç¹ûÁ½¸ösessionÇëÇóµÄlockÊǼæÈݵģ¬Ôò¿ÉÒÔÍ¬Ê±Ëø¶¨×ÊÔ´£¬Èç¹ûÁ½¸ösessionÇëÇóµÄlockÊDz»¼æÈݵģ¬ÔòÆäÖÐÒ»¸ösession±ØÐëµÈ´ýÁíÍâÒ»¸ösessionÊÍ·ÅÆä³ÖÓеÄlockºó£¬²ÅÄÜ»ñµÃ¶Ô¹²Ïí×ÊÔ´µÄËø¶¨¡£Õâʱ£¬µÈ´ýµÄsessionµÄlockÇëÇó¾ÍÐèÒª½øÈëµ½Ò»¸ö¶ÓÁе±ÖУ¬Õâ¾ÍÊÇenqueueµÈ´ý¡£
EnqueueµÄģʽ
enqueue(lock)Ò»¹²ÓÐÁùÖÖģʽ£º
1 NULL
2 SS
3 SX
4 S
5 SSX
6 X
ʲôÊÇenqueue resource
LockÓÐÈýÖÖ¿ÉÄܵÄ״̬£ºÒÑ»ñµÃ£¬×ª»»»òÕߵȴý¡£¶ÔÓÚijһ¸ölock£¬¿ÉÄÜһЩsessionÒѾ»ñµÃ¸Ãlock£¬Ä³Ð©sessionÇëÇóת»»£¬Ò²ÓÐijЩsessionÔÚÇëÇó³ÖÓе«ÎÞ·¨³É¹¦¶øµ¼Öµȴý¡£ËùÒÔ£¬¶ÔÓÚÒ»¸ölock£¬ÐèÒªÈý¸ö¶ÓÁÐÀ´ÃèÊöÕâЩsessionµÄ״̬¡£Õâ¸öÈý¸ö¶ÓÁУ¬·Ö±ð³ÆÎªOwner£¬waiterºÍconvert¶ÓÁУ¬ÓÉÒ»¸ö½á¹¹À´¹ÜÀí£¬¾ÍÊÇenqueue resource¡£
enqueueÊÇÓÐÃû×ֵ쬯äÃû×Ö¾ÍÊǶÔÓ¦µÄlockµÄÀàÐͼÓÉÏID1£¬ID2²ÎÊý¹¹³É£¬ÐÎÈç<TYPE-ID1-ID2>¡£Enqueue resourceµÄ½á¹¹£¬ÆäÍ·²¿ÊǸÃenqueueµÄÃû×Ö£¬È»ºó¾ÍÊÇÖ¸ÏòÈý¸ö¶ÓÁеÄÖ¸Õë¡£
ͨ¹ýv$resourceÊÓͼ¿ÉÒԲ鿴µ±Ç°ÏµÍ³ÖеÄenqueue¡£
ÓÉÓÚϵͳÖÐÓкܶàÀàÐ͵Älockͬʱ´æÔÚ£¬ÄÇôenqueue resource½á¹¹Êµ¼ÊÉÏÊÇÒ»¸öÊý×飬Æä³¤¶ÈÓÉÒþº¬²ÎÊý_enqueue_resources¿ØÖÆ£¬Ò²¾ÍÊÇ˵£¬¸Ã²ÎÊý¿ØÖÆÁËϵͳÖпÉͬʱ´æÔÚµÄlockµÄÊýÁ¿¡£Èç¹û³¬¹ý£¬Ôò»á±¨ÒÔÏ´íÎó£º
ORA-00052: "maximum number of enqueue resources exceeded"
ͨ¹ýv$resource_limitÊÓͼ¿ÉÒԲ鿴ϵͳÖи÷ÖÖ×ÊÔ´µÄÀûÓÃÇé¿ö¡£
ʲôÊÇenqueue lock
enqueue lock¾ÍÊÇlock±¾Éí¡£oracleʹÓÃÁ˺Íenqueue reouserce·ÖÀëµÄÁíÍâÒ»¸öÊý×éÀ´¹ÜÀíenqueue lock£¬Õâ¸öÊý×éµÄ³¤¶ÈÓÉÒþº¬²ÎÊý_enqueue_locks¿ØÖÆ¡£
ͨ¹ýÊÓͼv$enqueue_lock¿ÉÒԲ鿴¸ÃÊý×éÖеľßÌåÄÚÈÝ¡£
ʲôÊÇenqueue hash
ͨ¹ýÉÏÃæ¹ØÓÚenqueue resourceµÄÃèÊö£¬ÎÒÃÇ¿ÉÒÔÖªµÀ£¬oracle²éÕÒÒ»¸ölockʱ£¬ÐèÒªÏÈÔÚenqueue resourceÊýÉϲéÕÒµ½¸ÃlockµÄλÖá£
Èç¹ûÿ´Î¶¼ÔÚÊý
Ïà¹ØÎĵµ£º
±¾ÏµÁÐÎÄÕµ¼º½
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Ò»)--αÁÐROWNUMʹÓü¼ÇÉ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(¶þ)--±êÁ¿×Ó²éѯ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Èý)--PackageµÄÓŵã
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(ËÄ)--ÅúÁ¿´¦Àí
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Îå)--µ÷Óô洢¹ý³Ì·µ»Ø½á¹û¼¯
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Áù)- ......
ÎÊÌâÒ»£ºÈç±£¼ÓÔØJDBCÇý¶¯³ÌÐò£º
Õý³£ÎÒÃǼÓÔØÇý¶¯³ÌÐòÓÐÈý¸ö;¾¶£º
1.Class.forName(String)ÕâÏëµ±ÓÚclassLoaderÒ»¸öStringÖ¸¶¨µÄÀ࣬ÔÚ×°ÔØÊ±°Ñ¸ÃÇý¶¯³ÌÐòµÄ¾²Ì¬ÄÚÈݶ¼³õʼ»¯£¬ÆäʵÕâʱÇý¶¯³ÌÐòÀàµ÷ÓÃÁËDriverManager.registerDriver(driver)·½·¨¡£
2.ʹÓÃϵͳÊôÐÔ£ºSystem.getPro ......
mysql ´ó¶ÔÏó´æÈ¡:
¡¡¡¡ÀàÐÍÒ»°ãÓ¦¸ÃÓÃmediumblod,
¡¡¡¡blobÖ»ÄÜ´æ2µÄ16´Î·½¸öbyte,
¡¡¡¡mediumblodÊÇ24´Î·½,
¡¡¡¡Ò»°ãÀ´Ëµ¹»ÓÃÁË.longblobÊÇ32´Î·½ÓÐЩ´ó.
¡¡¡¡MYSQLĬÈÏÅäÖÃÖ»ÄÜ´æ1M´óСµÄÎļþ,ÒªÐÞ¸ÄÅäÖÃ,WIN°æ±¾µÄÔÚmysql.iniÎļþÖÐ
¡¡¡¡ÐÞ¸Ämax_allowed_packet,net_buffer_lengthµÈ¼¸¸ö²ÎÊý,»òÖ±½ÓSET GLOBAL va ......
ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£º
Á¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1£® ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐ ......
ÓÉÓÚÒÔǰ¶¼ÊÇÔÚsqlserver 2005´¦Àí£¬ÏÖÔÚ¿Í»§ÒªÇóoracleÊý¾Ý¿â·þÎñÆ÷£¬
×î³õµÄ´úÂëΪ£º
allRecordSize = (Integer) rs1.getObject(1); //Integer allRecordSize=0;
µ±Ö´ÐеÄʱºò±¨£ºBigDecimalÎÞ·¨×ª»¯ÎªIntegerÀàÐÍ
ΪÁ˼æÈÝÁ½ÕßÐ޸ĺóµÄ´úÂëΪ£º
Object o = rs1.getObject(1);
&nbs ......