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

Oracle ¸ôÀë¼¶±ð

¸ôÀë¼¶±ð£¨isoation level£©
 
¸ôÀë¼¶±ð¶¨ÒåÁËÊÂÎñÓëÊÂÎñÖ®¼äµÄ¸ôÀë³Ì¶È¡£
¸ôÀë¼¶±ðÓë²¢·¢ÐÔÊÇ»¥ÎªÃ¬¶ÜµÄ£º¸ôÀë³Ì¶ÈÔ½¸ß£¬Êý¾Ý¿âµÄ²¢·¢ÐÔÔ½²î£»¸ôÀë³Ì¶ÈÔ½µÍ£¬Êý¾Ý¿âµÄ²¢·¢ÐÔÔ½ºÃ¡£
 
ANSI/ISO SQ92±ê×¼¶¨ÒåÁËһЩÊý¾Ý¿â²Ù×÷µÄ¸ôÀë¼¶±ð£º
δÌá½»¶Á£¨read uncommitted£©
Ìá½»¶Á£¨read committed£©  
ÖØ¸´¶Á£¨repeatabe read£©  
ÐòÁл¯£¨seriaizable£©
ͨ¹ýһЩÏÖÏ󣬿ÉÒÔ·´Ó³³ö¸ôÀë¼¶±ðµÄЧ¹û¡£ÕâЩÏÖÏóÓУº
 
¸üжªÊ§£¨lost update£©£ºµ±ÏµÍ³ÔÊÐíÁ½¸öÊÂÎñͬʱ¸üÐÂͬһÊý¾ÝÊÇ£¬·¢Éú¸üжªÊ§¡£  
Ôà¶Á£¨dirty read£©£ºµ±Ò»¸öÊÂÎñ¶ÁÈ¡ÁíÒ»¸öÊÂÎñÉÐδÌá½»µÄÐÞ¸Äʱ£¬²úÉúÔà¶Á¡£
·ÇÖØ¸´¶Á£¨nonrepeatabe read£©£ºÍ¬Ò»²éѯÔÚͬһÊÂÎñÖжà´Î½øÐУ¬ÓÉÓÚÆäËûÌá½»ÊÂÎñËù×öµÄÐ޸Ļòɾ³ý£¬Ã¿´Î·µ»Ø²»Í¬µÄ½á¹û¼¯£¬´Ëʱ·¢Éú·ÇÖØ¸´¶Á¡£(A transaction rereads data it has previousy read and finds that another committed transaction has modified or deeted the data. )
»ÃÏñ£¨phantom read£©£ºÍ¬Ò»²éѯÔÚͬһÊÂÎñÖжà´Î½øÐУ¬ÓÉÓÚÆäËûÌá½»ÊÂÎñËù×öµÄ²åÈë²Ù×÷£¬Ã¿´Î·µ»Ø²»Í¬µÄ½á¹û¼¯£¬´Ëʱ·¢Éú»ÃÏñ¶Á¡£(A transaction reexecutes a query returning a set of rows that satisfies a search condition and finds that another committed transaction has inserted additiona rows that satisfy the condition. )
ÏÂÃæÊǸôÀë¼¶±ð¼°Æä¶ÔÓ¦µÄ¿ÉÄܳöÏÖ»ò²»¿ÉÄܳöÏÖµÄÏÖÏó
 
 
Dirty Read
NonRepeatabe Read
Phantom Read
Read uncommitted
Possible
Possible
Possible
Read committed
not possible
Possible
Possible
Repeatabe read
not possible
not possible
Possible
Seriaizabe
not possible
not possible
not possible
 
ORACEµÄ¸ôÀë¼¶±ð
 
ORACEÌṩÁËSQ92±ê×¼ÖеÄread committedºÍseriaizabe£¬Í¬Ê±ÌṩÁË·ÇSQ92±ê×¼µÄread-ony¡£
 
read committed£º
ÕâÊÇORACEȱʡµÄÊÂÎñ¸ôÀë¼¶±ð¡£
ÊÂÎñÖеÄÿһÌõÓï¾ä¶¼×ñ´ÓÓï¾ä¼¶µÄ¶ÁÒ»ÖÂÐÔ¡£
±£Ö¤²»»áÔà¶Á£»µ«¿ÉÄܳöÏÖ·ÇÖØ¸´¶ÁºÍ»ÃÏñ¡£
 
seriaizabe£º£¨´®ÐÐÖ´ÐÐÊÂÎñ£¬²¢·¢ÐÔ×îС£©
¼òµ¥µØËµ£¬seriaizabe¾ÍÊÇʹÊÂÎñ¿´ÆðÀ´ÏóÊÇÒ»¸ö½Ó×ÅÒ»¸öµØË³ÐòµØÖ´ÐС£
½ö½öÄÜ¿´¼ûÔÚ±¾ÊÂÎñ¿ªÊ¼Ç°ÓÉÆäËüÊÂÎñÌá½»µÄ¸ü¸ÄºÍÔÚ±¾ÊÂÎñÖÐËù×öµÄ¸ü¸Ä¡£
±£Ö¤²»»á³öÏÖ·ÇÖØ¸´¶ÁºÍ»ÃÏñ¡£
Seriaizabe


Ïà¹ØÎĵµ£º

oracle ±Ê¼Ç II Ö®DML:Êý¾Ý²Ù×÷ÓïÑÔ

 DML:Data Manipulation Language Êý¾Ý²Ù×÷ÓïÑÔ
°üÀ¨£ºCRUD
1. insertÓï¾ä
(1) ´ÓÆäËü±íÖи´ÖÆÊý¾Ý,ʵÏÖ·½·¨:ÔÚinsert Óï¾äÖмÓÈë²éѯÓï¾ä
insert into sales_reps(id,name,salary,commission_pct)  select employee_id,last_name,salary,commission_pct
from employees where job_id like '%rep';
(2) up ......

ORACLE TRUNC()º¯Êý

 ÒÔÉÏÎª×ªÔØ,¶àÊý²¢Î´ÑéÖ¤.
ÆäÖÐ,select trunc(sysdate,'dd') from dual,µÃµ½µÄÊÇ: 2009-3-23 ÉÏÎç12:00:00 ,ÓëÏÂÎIJ¢²»Ò»Ñù!
oracle trunc()º¯ÊýµÄÓ÷¨
1.TRUNC(for dates)
TRUNCº¯ÊýΪָ¶¨ÔªËضø½ØÈ¥µÄÈÕÆÚÖµ¡£
Æä¾ßÌåµÄÓï·¨¸ñʽÈçÏ£º
TRUNC£¨date[,fmt]£©
ÆäÖУº
date Ò»¸öÈÕÆÚÖµ
fmt ÈÕÆÚ¸ñʽ£¬¸ÃÈÕÆÚ½« ......

Oracleʱ¼äÀàÐÍÊý¾ÝΪ0µÄBug

¿ª·¢×éÔÚÊý¾ÝÇ¨ÒÆÊ±£¬±¨¸æ·¢ÏÖһЩÊýֵΪ'0000/00/00'µÄdateÊý¾Ý£¬µ¼ÖÂÊý¾ÝÇ¨ÒÆÊ§°Ü¡£
Õâ¸öÎÊÌâÓÐµãÆæ¹Ö£¬ÒòΪÔÚOracleÖУ¬dateÀàÐ͵ÄÊý¾ÝµÄȡֵ·¶Î§ÊÇ´Ó-4712/12/31µ½9999/12/31Ö®¼ä£¬²¢ÇÒÄê·Ý²»ÄÜΪ0¡£Ò²¾ÍÊÇ˵'0000/00/00'ÊÇÒ»¸ö·Ç·¨Êý¾Ý£¬²»ÎªOracleËù½ÓÊÜ¡£
 
SQL> select to_date('0000-00-00', 'yyyy-mm- ......

oracle ±Ê¼Ç III Ö®´æ´¢¹ý³ÌÓ뺯Êý

DML(Manipulation):Êý¾Ý²Ù×÷ÓïÑÔ
CRUD
DDL(Definition): Êý¾Ý¶¨ÒåÓïÑÔ,Óë±í£¬Ë÷Òý£¬Í¬Òå´ÊÓйØ
create,alter,drop,rename,truncate(Çå¿Õ)
DCL(Control): Êý¾Ý¿ØÖÆÓïÑÔ£¬ÓëȨÏÞÓйØ
grant,revoke
TCL(Transaction Control): ÊÂÎñ¿ØÖÆÓïÑÔ,ÓëÊÂÎñÓйØ
commit,rollback,savepoint
==========================
´æ´¢ ......

Oracle ²ÎÊýÎļþ×ܽá

1:pfileºÍspfile
ÔÚ9i֮ǰ£¬²ÎÊýÎļþÖ»ÓÐÒ»ÖÖ£¬ËüÊÇÎı¾¸ñʽµÄ£¬³ÆÎªpfile£¬ÔÚ9i¼°ÒÔºóµÄ°æ±¾ÖУ¬ÐÂÔöÁË·þÎñÆ÷²ÎÊýÎļþ,³ÆÎªspfile,ËüÊǶþ½øÖƸñʽµÄ¡£ÕâÁ½ÖÖ²ÎÊýÎļþ¶¼ÊÇÓÃÀ´´æ´¢²Î ÊýÅäÖÃÒÔ¹©oracle¶ÁÈ¡µÄ£¬µ«Ò²Óв»Í¬µã£¬×¢ÒâÒÔϼ¸µã£º
1)pfileÊÇÎı¾Îļþ£¬spfileÊǶþ½øÖÆÎļþ£»
2)¶ÔÓÚ²ÎÊýµÄÅäÖã¬pfile¿ÉÒÔÖ±½ÓÒÔÎ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ