Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Oracle Latch¼°latchì¶Ü

 Ð¡Òý
Oracle RdbmsÊ©ÓÃÁ˸÷ÖÖ²»Í¬ÀàÐ͵ÄËø¶¨»úÖÆ£¬latchµÈÓÚ´ËÖеÄÒ»ÖÖ£¬ÕýÎĽ«¼¯ÖÐÒý¼ûlatch(ãÅ)µÄ¸ÅÄ¶®µÃlatchµÄ¶ÒÏÖ²½Ö貢˵Ã÷»½ÆðlatchĦ²ÁµÄÔµ¹Ê¡£
ʲôÊÇlatch
LatchÊÇÓÃÀ´±£»¤SGAÇøÖй²ÏíÊý¾Ý½á¹¹µÄÒ»ÖÖ´®Ðл¯Ëø¶¨»úÖÆ¡£LatchµÄ¶ÒÏÖÊÇÓë²Ù×÷ϵͳÏà¸ÉµÄ£¬ÓÈÉõºÍÒ»¸ö¹ý³ÌÊDz»ÊÇؽÐèµÈºòÒ»¸ölatch¡¢¼±ÐèµÈºò¶à³¤Ê±¼äÏà¹Ø¡£
Latch ÊÇÒ»ÖÖÄܹ»¼«¿ìµØ±»»ñÈ¡ºÍ¿ªÊ͵ÄËø£¬ËüÒ»°ãÓÃÀ´±£»¤ÃèÊöbuffer cacheÖÐblockµÄÊý¾Ý½á¹¹¡£Óëÿ¸ölatchÏàÁªÏµµÄÔÙÓÐÒ»¸öɨ³ý½ø³Ì£¬Ó¦»³ÓÐlatchµÄÀú³Ì±ä³ÉËÀÀú³Ìʱ£¬¸Ãɨ³ýÀú³Ì¾Í»á±»µ÷Óá£Latch »¹¾ßÓÐÏà¸É¼¶±ð£¬ÓÃÀ´·ÀÖ¹ËÀËø£¬ÍòÒ»Ò»¸öÀú³ÌÔÚij¸ö¼¶±ðÉÏʧȥһ¸ölatch£¬Ëü¾Í²»¿ÉÄÜÔÙÈ¡µÃͬµÈ»ò½ö´ÎÓڸü¶±ðµÄlatch¡£
LatchÓëEnqueue£¨ÐÐÁУ©
Enqueue ÊÇOracleÊ©ÓõÄÁíÒ»ÖÖËø¶¨»úÖÆ£¬ËüÓú¼Ó¸´ÔÓ£¬ÈÝÐí¼¸¸ö²¢·¢¹ý³Ì²»Í¬³Ì¶ÈµØ¹²ÏíijЩ×ÊÔ´¡£Èκοɱ»²¢·¢ÔËÓõĶÔÏó¾ù¿ÉÓ¦ÓÃenqueue¼ÓÒÔ±£»¤¡£1 ¸öµäÐ͵ÄÊÂÀýÊDZíµÄËø¶¨£¬ÎÒÃÇÈÝÐíÔÚÒ»¸ö±íÉÏÓв»Æ½¼¶±ðµÄ¹²Ïí¡£Óëlatch²»Í¬Ö®¾ÓÓÚÓÚ£¬enqueueÊÇÔËÓòÙ×÷ϵͳÌض¨µÄËø¶¨»úÖÆ£¬Ò»¸ö enqueueÈÝÐíÓû§ÔÚËøÉÏÖü´æÒ»¸ö±ê¼Ç£¬À´±íÃ÷ÇëÇóËøµÄ·½Ê½¡£²Ù×÷ϵͳlock manager×·×ÙÈ«²¿±»Ëø¶¨µÄ×ÊÔ´£¬ÈçÆäij¸ö¹ý³Ì²»ÄÜ»ñÈ¡ËüËùÇëÇóµÄÄÇÖÖËø£¬²Ù×÷ϵͳ¾Í°ÑÇëÇó¹ý³ÌÖÃÓÚÒ»¸öµÈºòÐÐÁÐÖУ¬¸ÃÐÐÁа´FIFO×¼Ôò²¿Ê𣬶øÔÚ latchesÖÐÊÇûÏóenqueueÖÐÅÅÐòµÄµÈºòÐÐÁУ¬latchµÈºò¹ý³ÌÒª²»Ó¦Óö¨Ê±Æ÷À´»½ÐѺÍÖØÊÔ£¬Òª²»spin(Ö»ÓÃÒԶദÀíÆ÷Çé¿öÏÂ)¡£
¼¸Ê±¼±Ðèlatch
Ó¦Ò»¸öÀú³ÌÔ¤±¸·ÃÎÊSGAÖеÄÊý¾Ý½á¹¹Ê±£¬Ëü¾ÍÐèҪȡµÃÒ»¸ölatch¡£Ó¦¹ý³ÌÈ¡µÃlatchºó£¬Ëü½«Ò»Ö±»³ÓиÃlatchÖ±µ½Ëü²»ÔÙÔËÓôËÊý¾Ý½á¹¹£¬Õâʱºòlatch²Å»á±»¿ªÊÍ¡£¿Éͨ¹ýlatchÐÕÃûÀ´½ç±ðËüËù±£»¤µÄ²»Í¬Êý¾Ý½á¹¹¡£
Oracle ÔËÓÃÔªÊÚÃü¶Ôlatch¿ªÕ¹²Ù×÷, Ó¦ËùÐèµÄlatchÒѱ»ÆäÓà¹ý³Ì»³ÓÐʱ£¬Ê©ÐÐÊÚÃü¹ý³Ì½«ÖÕֹʩÐÐÒ»²¿·ÖÊÚÃü£¬Ö±µ½¸Ãlatch±»¿ªÊÍΪֹ¡£´Ó¸ù±¾ÉϽ²£¬latch·ÀÖ¹²¢·¢·ÃÎʹ²ÏíÊý¾Ý½á ¹¹£¬ÒòΪÉèÁ¢ºÍ¿ªÊÍlatchµÄÊÚÃüÊDz»¿É¹Ï·ÖµÄ£¬²Ù×÷ϵͳ¾Í¿ÉÒÔÔðÈÎÊéΨÓÐÒ»¸öÀú³ÌÈ¡µÃlatch£¬ÓÖÒòΪÕâÖ»Êǵ¥ÌõÊÚÃü£¬Ö®ËùÒÔʵʩËٶȺܿ졣latch ±»ÎÕÓеÄʱ¼äÊẠ̊́ܶ¬²¢ÇÒÌṩÁ˵±³ÖÓÐÈ˲»Õý³£¼ä¶ÏʱµÄÇý³ý»úÖÆ£¬¸ÃÇý³ý¹¤×÷ÊÇÓÉOracleºǫ́ÀÏ°å¹ý³ÌPMONÀ´Íê³ÉµÄ¡£
ʲôÕÐÖÂlatchĦ²Á
Latch ±£»¤SGAÖеÄÊý¾Ý½á¹¹±»¶à¸öÓû§Óë´Ëͬʱ·ÃÎÊ£¬ÈçÆäÒ»¸ö¹ý³Ì²»ÄÜÁ¢Ê±Ê§È¥ËùÐèlatch£¬Ëü¾Í±ØÐëµÈºò£¬Õâ¾ÍÂÞÖÂÁËCPUµÄ¶îÍ⸺µ£ºÍϵͳµÄËٶȼõµÍ¡£¶îÍâ µ


Ïà¹ØÎĵµ£º

ѧϰ¡¶Oracle 9i10g±à³ÌÒÕÊõ¡·µÄ±Ê¼Ç (Èý)

 1.¶à°æ±¾£º¶ÁÒ»Ö²éѯ  ·Ç×èÈû²éѯ
Oracle ²ÉÓÃÁËÒ»ÖÖ
¶à°æ±¾¡¢¶ÁÒ»Ö£¨read-consistent£©µÄ²¢·¢Ä£ÐÍ¡£ÔÙ´Î˵Ã÷£¬ÎÒÃǽ«ÔÚµÚ7 Õ¸üÏêϸµØ½éÉÜÓйصļ¼Êõ¡£
²»¹ý£¬ÊµÖÊÉϽ²£¬Oracle ÀûÓÃÕâÖÖ»úÖÆÌṩÁËÒÔÏÂÌØÐÔ£º
¶ÁÒ»Ö²éѯ£º¶ÔÓÚÒ»¸öʱ¼äµã£¨point in time£©£¬²éѯ»á²úÉúÒ»ÖµĽá¹û¡£
·Ç×èÈû²éѯ£º²éѯ²»» ......

ѧϰ¡¶Oracle 9i10g±à³ÌÒÕÊõ¡·µÄ±Ê¼Ç (Îå)

 1.¾¡¿ÉÄܵØʹÓð󶨱äÁ¿ ²»Óÿª¹ØCURSOR_SHARING=FORCE 
Èç¹ûÄãÔ¸Ò⣬Õâ¸öÌØÐÔ»áʵÏÖÒ»¸ö×Ô¶¯°ó¶¨Æ÷£¨auto-binder£©¡£
Èç¹ûÓÐÒ»¸ö²éѯ±àдΪSELECT * from EMP WHERE EMPNO = 1234£¬×Ô¶¯°ó¶¨Æ÷»áÇÄÎÞÉùÏ¢µØ°ÑËü¸Äд³É
SELECT * from EMP WHERE EMPNO = :x¡£ÕâȷʵÄܶ¯Ì¬µØ´ó´ó¼õÉÙÓ²½âÎöÊý£¬²¢¼õÉÙÇ°ÃæÌÖÂÛµ ......

¹ØÓÚORACLEÍâÁ¬½Ó£¨+£©

ÏÖÔÚÓÐÒÔÏÂÁ½ÕÅ±í£º
                                              ±íA  ......

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
¸ø³öÕûÊý,·µ»Ø¶ÔÓ¦µÄ×Ö·û;
SQ ......

OracleËæ»úº¯ÊýµÄÓ÷¨

 ÈÝÒ×µÃ˵£¬¾­¹ýdbms_random°üµ÷ÓÃËæ»úÊýµÄ²½Öè´óÌåÓÐ4ÖÖ£º
Ò»¡¢dbms_random.normal
Õâ¸öº¯Êý²»´ø²ÎÊý£¬»á»Øµ½normal distributionµÄÒ»¸önumberÃÅÀ֮࣬ËùÒÔ´óµÖËæ»úÊý»áÔÚ-Ò»µ½Ò»Æä¼ä¡£
¼òÂÔ²âÊÔÁËÒ»ÏÂ×Ó£¬·¢×÷100000´Î×î´óÄܵ½ÎåÉÏÏ£º
SQL> declare
¶þ i number:=Áã;
Èý j number:=Áã;
ËÄ begin
Îå for ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ