¹ØÓÚOracleÊÂÎñµÄ×ܽá
¹ØÓÚOracleÊÂÎñµÄ×ܽá
1.ʲôÊÇÊÂÎñ£¬ÊÂÎñµÄÌØÐÔÊÇʲô£¿
ÊÂÎñµÄÈÎÎñ±ãÊÇʹÊý¾Ý¿â´ÓÒ»ÖÖ״̬±ä»»³ÉΪÁíÒ»ÖÖ״̬£¬ÕⲻͬÓÚÎļþϵͳ£¬ËüÊÇÊý¾Ý¿âËùÌØÓõġ£ËüµÄÌØÐÔÓÐËĸö£ºTOM×ܽáΪACID¼´
Ô×ÓÐÔatomicity:Óï¾ä¼¶Ô×ÓÐÔ£¬¹ý³Ì¼¶Ô×ÓÐÔ£¬ÊÂÎñ¼¶Ô×ÓÐÔ
Ò»ÖÂÐÔconsistency:״̬һÖ£¬Í¬Ò»ÊÂÎñÖв»»áÓÐÁ½ÖÖ״̬
¸ôÀëÐÔisolation:ÊÂÎñ¼äÊÇ»¥Ïà·ÖÀëµÄ»¥²»Ó°Ïì(ÕâÀï¿ÉÄÜÒ²ÓÐ×ÔÖÎÊÂÎñ)
³Ö¾ÃÐÔdurability:ÊÂÎñÌá½»ÁË£¬ÄÇô״̬¾ÍÊÇÓÀ¾ÃµÄ
¶ÔÓÚÓï¾ä¼¶Ô×ÓÐÔ£¬¹ý³Ì¼¶Ô×ÓÐÔºÍÊÂÎñ¼¶Ô×ÓÐÔ¿ÉÒÔ²éÔÄÒ»ÏÂÏà¹ØµÄÐÅÏ¢
2.OracleÖеÄÊÂÎñÓï¾ä
commit=commit work Ìá½»
rollback=rollback work »Ø¹ö
savepoint ÊÂÎñµÄ±ê¼Çµã£¬¿ÉÒÔʹһ¸öÊÂÎñÔڻعöµ½²»Í¬µÄ½×¶Î
set transaction ¿ªÊ¼Ò»¸öÊÂÎñ
rollback to savepoint Óësavepoint¶ÔÓ¦
ÁíÍâ¶ÔÓÚ×ÔÖÎÊÂÎñ»¹ÓÐÒ»¸ö,ÏÂÃæ»á×ÅÖØËµÒ»Ï¹ØÓÚ×ÔÖÎÊÂÎñ
pragma autonomous_transaction
3.¹ØÓÚÍêÕûÐÔÔ¼ÊøÓëÊÂÎñµÄ¹ØÏµ
ÍêÕûÐÔÔ¼ÊøµÄģʽÓÐimmediate,deferredµÈ
Óï·¨£ºset constraint c_fk defereed
Õâ¶ÔÓÚ¼¶Áª¸üкÜÓаïÖú£¬ÈçÏÂÃæµÄtomÔÚÊéÖоٵÄÀý×Ó£º
SQL> create table p(pk int primary key);
±íÒÑ´´½¨¡£
SQL> create table c
2 (fk constraint c_fk
3 references p(pk)
4 deferrable
5 initially immediate
6 )
7 /
±íÒÑ´´½¨¡£
Óï¾ä: set constraint c_fk immediate;
set constraint c_fk deferred;
SQL> set constraint c_fk immediate;
Ô¼ÊøÌõ¼þÒÑÉèÖá£
SQL> update p set pk=3;
update p set pk=3
*
ERROR λÓÚµÚ 1 ÐÐ:
ORA-02292: integrity constraint (FTITEM.C_FK) violated - child record found
SQL> set constraint c_fk deferred;
Ô¼ÊøÌõ¼þÒÑÉèÖá£
SQL> update p set pk=3;
ÒѸüР1 ÐС£
SQL> update c set fk=3;
ÒѸüР1 ÐС£
SQL> commit;
Ìá½»Íê³É¡£
SQL> set constraint c_fk immediate;
Ô¼ÊøÌõ¼þÒÑÉèÖá£
4.ÔÚÊÂÎñÖÐÁ½¸ö²»ºÃµÄ·½·¨
tomÔÚÊéÉÏÌáµ½ÁËÁ½ÖÖ²»ºÃµÄÊÂÎñʹÓÃϰ¹ß£¬ÎÒÔÚ¹¤×÷ÖÐÒ²ÊǾ³£·¸µÄ£¬Ö÷ÒªÊÇÒòΪ¶ÔÓÚÿÖÖÊý¾Ý¿âµÄÈÏʶ²»µ½Î»£¬ÌýºÃ¶àÅóÓÑ˵Êý¾Ý¿âÄãÖ»Òª»áÓÃÁËÒ»¸öÆäËüµÄ¾Í¿ÉÒÔÁË£¬¾¹ýÕâ¶Îʱ¼äµÄѧϰ£¬ÆäʵÎÒÃÇËù˵µÄ»áÖ»ÊÇ˵¶ÔÒ»SQLÓï¾äµÈ£¬¶ø²¢²»ÊÇÀí½â£¬±È
Ïà¹ØÎĵµ£º
ÈÏʶ´æ´¢¹ý³ÌºÍº¯Êý
´æ´¢¹ý³ÌºÍº¯ÊýÒ²ÊÇÒ»ÖÖPL/SQL¿é£¬ÊÇ´æÈëÊý¾Ý¿âµÄPL/SQL¿é¡£µ«´æ´¢¹ý³ÌºÍº¯Êý²»Í¬ÓÚÒѾ½éÉܹýµÄPL/SQL³ÌÐò£¬ÎÒÃÇͨ³£°ÑPL/SQL³ÌÐò³ÆÎªÎÞÃû¿é£¬¶ø´æ´¢¹ý³ÌºÍº¯ÊýÊÇÒÔÃüÃûµÄ·½Ê½´æ´¢ÓÚÊý¾Ý¿âÖеġ£ºÍPL/SQL³ÌÐòÏà±È£¬´æ´¢¹ý³ÌÓкܶàÓŵ㣬¾ßÌå¹éÄÉÈçÏ£º
* ´æ´¢¹ý³ÌºÍº¯ÊýÒÔÃüÃûµÄÊý¾Ý¿â¶ÔÏóÐÎʽ´æ´¢ ......
×ÔÔö×ֶΣº
±íatable(id,a) idÐèÒª×ÔÔö Ê×ÏȽ¨Á¢Ò»¸öÐòÁУº
create sequence seq_atable minvalue 1 maxvalue 999999999999999999 start with 1 increment by 1 nocache
ÓжþÖÖ·½Ê½Ê¹ÓÃ×ÔÔö×ֶΣº
ʹÓÃÐòÁÐ+´¥·¢Æ÷ʵÏÖ×ÔÔö£¬²åÈëÓï¾ä²»ÐèÒª¹Ü×ÔÔö×Ö¶Î
È磺create or replace trigger trg_atable before insert on ......
Êý¾Ý¿âʵÀý½á¹¹ ÊÂÎñÒ»ÖÂÐÔ(Transactional Consistency)ºÍ»ùÓÚʱ¼äµãµÄ»Ö¸´(Point-in-time Recovery) ϵͳԪÊý¾Ý
topÊý¾Ý¿âʵÀý½á¹¹
µ±OracleʵÀýÆô¶¯Ö®ºó£¬Ëù¿´µ½µÄ¾ÍÊÇÔÚ·þÎñÆ÷ÄÚ´æÉϵÄÒ»¸ö¸ö²»Í¬ÄÚ´æ¿é¼ÓÉϲúÉúµÄÓëÕâЩÄÚ´æ½»»¥µÄºǫ́½ø³Ì¡£OracleÎĵµ½«ÕâЩÄÚ´æ½á¹¹ºÍ½ø³ÌÊյĺÜÏêϸ¡£
ÓÉOracleʵÀýËùÕ¼ÓõÄÄÚ´æ¿é³ ......
ORACLE binĿ¼Ï¸÷ÎļþµÄÒâÒ弰ʹÓ÷½·¨
$ORACLE_HOME/binϵÄutilities½âÊÍ
Binary First Available Description
--------- ......
1¡¢Ä¬ÈÏÊÂÀý£º
Óû§Ãû£ºscottÃÜÂ룺tiger Ö÷»ú×Ö·û´®£º±¾»ú¿ÉÒÔΪ¿Õ
2¡¢Æô¶¯·½·¨£º
ÔËÐУºsqlplus scott/tiger@lhd
3¡¢SQLPLUS»ù±¾ÃüÁ
Desc£ºÏÔʾ±í¡¢ÊÓͼ½á¹¹ desc ±íÃû£¬ÊÓͼ
List£ºÁгöSQL»º³åÇøÇøÖеÄÒ»Ðлò¶àÐÐÃüÁîÓï¾ä
Exit£ºÍ˳ö
4¡¢³£ÓõÄÊý¾Ý×Öµä(ÈýÖÖǰ׺£ºUSER£¬ALL£¬DBA)
USER_TABL ......