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

¹ØÓÚoracleµÄÐм¶Ëø

¹ØÓÚoracleµÄÐм¶Ëø
¡¡¡¡ÔÚoracleÖÐ,Ðм¶ËøÖ»¶ÔÓû§ÕýÔÚ·ÃÎʵÄÐнøÐÐËø¶¨¡£
¡¡¡¡Èç¹û¸ÃÓû§ÕýÔÚÐÞ¸ÄijÐУ¬ÄÇôÆäËûÓû§¾Í¿ÉÒÔ¸üÐÂͬһ±íÖиÃÐÐÖ®ÍâµÄÊý¾Ý¡£
¡¡¡¡Ðм¶ËøÊÇÒ»ÖÖÅÅËûËø£¬·ÀÖ¹ÆäËûÊÂÎñÐ޸ĴËÐУ¬µ«ÊDz»»á×èÖ¹¶ÁÈ¡´ËÐеIJÙ×÷
¡£
¡¡¡¡ÔÚʹÓÃINSERT¡¢UPDATE¡¢DELETE ºÍSELECT…FOR UPDATE µÈÓï¾äʱ£¬Oracle
»á×Ô¶¯Ó¦ÓÃÐм¶ËøËø¶¨¡£SELECT...FOR UPDATE
Óï¾äÔÊÐíÓû§Ã¿´ÎÑ¡Ôñ¶àÐмǼ½øÐиüУ¬ÕâЩ¼Ç¼»á±»Ëø¶¨£¬ÇÒÖ»ÄÜÓÉ·¢Æð²éѯµÄÓû§½øÐб༭¡£Ö»ÓÐÔڻعö»òÌá½»ÊÂÎñÖ®ºó£¬Ëø¶¨²Å»áÊÍ·Å£¬ÆäËûÓû§²Å¿ÉÒÔ±à
¼­ÕâЩ¼Ç¼¡£
¡¡¡¡SELECT...FOR UPDATE Óï¾äµÄÓï·¨ÈçÏ£º
¡¡¡¡SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED];
ÆäÖУº
¡¡¡¡OF ×Ó¾äÓÃÓÚÖ¸¶¨¼´½«¸üеÄÁУ¬¼´Ëø¶¨ÐÐÉϵÄÌض¨ÁС£
¡¡¡¡WAIT ×Ó¾äÖ¸¶¨µÈ´ýÆäËûÓû§ÊÍ·ÅËøµÄÃëÊý£¬·ÀÖ¹ÎÞÏÞÆڵĵȴý¡£
¡¡¡¡“ʹÓÃFOR UPDATE WAIT”×Ó¾äµÄÓŵãÈçÏ£º
¡¡¡¡£±·ÀÖ¹ÎÞÏÞÆڵصȴý±»Ëø¶¨µÄÐУ»
¡¡¡¡£²ÔÊÐíÓ¦ÓóÌÐòÖжÔËøµÄµÈ´ýʱ¼ä½øÐиü¶àµÄ¿ØÖÆ¡£
¡¡¡¡£³¶ÔÓÚ½»»¥Ê½Ó¦ÓóÌÐò·Ç³£ÓÐÓã¬ÒòΪÕâЩÓû§²»Äܵȴý²»È·¶¨
¡¡¡¡£´ ÈôʹÓÃÁËskip locked£¬Ôò¿ÉÒÔÔ½¹ýËø¶¨µÄÐУ¬²»»á±¨¸æÓÉwait n Òý·¢µÄ‘×ÊԴæ’Òì³£±¨¸æ
ʾÀý:
create table t(a varchar2(20),b varchar2(20));
insert into t values('1','1');
insert into t values('2','2');
insert into t values('3','3');
insert into t values('4','4');
ÏÖÔÚÖ´ÐÐÈçϲÙ×÷£º
ÔÚplsql developeÖдò¿ªÁ½¸ösql´°¿Ú£¬
ÔÚ1´°¿ÚÖÐÔËÐÐsql
select * from t where a='1' for update;
ÔÚ2´°¿ÚÖÐÔËÐÐsql1
1. select * from t where a='1'; ÕâÒ»µãÎÊÌâҲûÓУ¬ÒòΪÐм¶Ëø²»»áÓ°Ïì´¿´âµÄselectÓï¾ä
ÔÙÔËÐÐsql2
2. select * from t where a='1' for update; ÔòÕâÒ»¾äsqlÔÚÖ´ÐÐʱ£¬ÓÀÔ¶´¦Óڵȴý״̬£¬³ý·Ç´°¿Ú1ÖÐsql±»Ìá½»»ò»Ø¹ö¡£
ÈçºÎ²ÅÄÜÈÃsql2²»µÈ´ý»òµÈ´ýÖ¸¶¨µÄʱ¼äÄØ£¿ ÎÒÃÇÔÙÔËÐÐsql3
3. select * from t where a='1' for update nowait; ÔòÔÚÖ´ÐдËsqlʱ£¬Ö±½Ó±¨×ÊԴæµÄÒì³£¡£
ÈôÖ´ÐÐ select * from t where a='1' for update wait 6; ÔòÔڵȴý6Ãëºó£¬±¨ ×ÊԴæµÄÒì³£¡£
Èç¹ûÎÒÃÇÖ´ÐÐsql4
4. select * from t where a='1' for update nowait skip Locked; ÔòÖ´ÐÐsqlʱ£¬¼´²»µÈ´ý£¬Ò²²»±¨×ÊԴæÒì³£¡£
ÏÖÔÚÎÒÃÇ¿´¿´Ö´ÐÐÈçϲÙ×÷½«»á·¢ÉúʲôÄØ£¿


Ïà¹ØÎĵµ£º

MS SQL Server ¡¢Sybase¡¢ OracleÖ§³ÖËø¶¨·½°¸µÄ²»Í¬

»¹ÊǼ¸Î»¶ÁÎÒµÄÊé (¡¶Oracle´óÐÍÊý¾Ý¿âϵͳÔÚAIX UNIXÉϵÄʵսÏê½â¡·) µÄ¶ÁÕßÀ´Óʼþ×ÉѯÎÊÌ⣬ºÜ±§Ç¸ÎÒ²»ÄÜÖðλ»Ø¸´Óʼþ£¬µÚÒ»ÎÒÕæµÄͦ棬µÚ¶þÕâЩÎÊÌâÆÄÓй²ÐÔ¡£ÎÒÀ´½èÖúÕâ¸öµØ·½£¬Í³Ò»µØºÍÖîλ̽ÌÖ£¬ºÜ¶àÎÊÌâÎÒÒ²ÊÇÔÚÃþË÷ÖУ¬²»ÄÜÖ±½Ó¸ø´ó¼Ò´ð°¸£¬ºÇºÇ£¬´ó¼Ò¼ûÁ°¡!

˵˵ËøÎÊÌâ¡£ MS SQLÖ§³ÖµÄËøÀàÐͺÍOracle²îÒìÊǺ ......

²é¿´Oracle×Ö·û¼¯¼°ÔõÑùÐÞ¸Ä×Ö·û¼¯£¨zt£©


Ò»¡¢Ê²Ã´ÊÇoracle×Ö·û¼¯ ¡¡¡¡
Oracle×Ö·û¼¯ÊÇÒ»¸ö×Ö½ÚÊý¾ÝµÄ½âÊ͵ķûºÅ¼¯ºÏ,ÓдóС֮·Ö,ÓÐÏ໥µÄ°üÈݹØϵ¡£ORACLE
Ö§³Ö¹ú¼ÒÓïÑÔµÄÌåϵ½á¹¹ÔÊÐíÄãʹÓñ¾µØ»¯ÓïÑÔÀ´´æ´¢£¬´¦Àí£¬¼ìË÷Êý¾Ý¡£ËüʹÊý¾Ý¿â¹¤¾ß£¬´íÎóÏûÏ¢£¬ÅÅÐò´ÎÐò£¬ÈÕÆÚ£¬Ê±¼ä£¬»õ±Ò£¬Êý×Ö£¬ºÍÈÕÀú×Ô¶¯ÊÊÓ¦±¾µØ
»¯ÓïÑÔºÍƽ̨¡£ ¡¡¡¡
Ó°ÏìoracleÊý¾Ý¿â×Ö·û¼¯ ......

Oracle³£¼û´íÎó——ORA 3113

Ç°ÑÔ
ÿһ¸öDBAÔÚ½øÐÐÊý¾Ý¿â¹ÜÀíµÄ¹ý³ÌÖв»¿É±ÜÃâµÄÒªÓöµ½ÐÎÐÎÉ«É«µÄ´íÎó(ORA-1547 ,ORA-904,ORA-1578 ......)¡£ÓÐЩ´íÎóÓÉÓÚƵ·±³öÏÖ¡¢Ô­Òò¸´ÔÓ¶ø±» Oracle DBA ÃÇÏ·³Æ֮Ϊ"¾­µäµÄ´íÎó"¡£ÆäÖÐORA-3113 "end of file on communication channel" ¾ÍÊÇÕâÑùµÄÒ»¸ö¡£
ÎÒÃÇ¿ÉÒÔ¼òµ¥µÄ°ÑÕâ¸ö´íÎóÀí½âΪOracle¿Í»§¶Ë½ø³ÌºÍÊý¾Ý¿ ......

OracleµÄËø»úÖƹéÄÉ×ܽá

OracleµÄËø»úÖƹéÄÉ×ܽá
    
ËøÊÇ·ÀÖ¹ÔÚÁ½¸öÊÂÎñ²Ù×÷ͬһ¸öÊý¾ÝÔ´£¨±í»òÐУ©Ê±½»»¥ÆÆ»µÊý¾ÝµÄÒ»ÖÖ»úÖÆ¡£Oracle²ÉÓ÷âËø¼¼Êõ±£Ö¤²¢·¢²Ù×÷µÄ¿É´®ÐÐÐÔ¡£OracleµÄËø·ÖΪÁ½´ó
ÀࣺÊý¾ÝËø£¨Ò²³ÆDMLËø£©ºÍ×ÖµäËø¡£×ÖµäËøÊÇOracle
DBMSÄÚ²¿ÓÃÓÚ¶Ô×Öµä±íµÄ·âËø¡£×ÖµäËø°üÀ¨Óï·¨·ÖÎöËøºÍDDLËø£¬ÓÉDBMSÔÚ±ØÒª ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ