OracleÊý¾Ý¿âËø
¡¾×ª¡¿http://topic.csdn.net/t/20031006/10/2327335.html
ÎÄÕÂÀ´×Ô www.ncn.cn (¾ÛÏÍׯ)
=======================================================
ORACLEÀïËøÓÐÒÔϼ¸ÖÖģʽ:
0£ºnone
1£ºnull ¿Õ
2£ºRow-S Ðй²Ïí(RS)£º¹²Ïí±íËø£¬sub share
3£ºRow-X ÐжÀÕ¼(RX)£ºÓÃÓÚÐеÄÐ޸ģ¬sub exclusive
4£ºShare ¹²ÏíËø(S)£º×èÖ¹ÆäËûDML²Ù×÷£¬share
5£ºS/Row-X ¹²ÏíÐжÀÕ¼(SRX)£º×èÖ¹ÆäËûÊÂÎñ²Ù×÷£¬share/sub exclusive
6£ºexclusive ¶ÀÕ¼(X)£º¶ÀÁ¢·ÃÎÊʹÓã¬exclusive
Êý×ÖÔ½´óËø¼¶±ðÔ½¸ß, Ó°ÏìµÄ²Ù×÷Ô½¶à¡£
1¼¶ËøÓУºSelect£¬ÓÐʱ»áÔÚv$locked_object³öÏÖ¡£
2¼¶ËøÓУºSelect for update,Lock For Update,Lock Row Share
select for updateµ±¶Ô»°Ê¹ÓÃfor update×Ó´®´ò¿ªÒ»¸öÓαêʱ£¬ËùÓзµ»Ø¼¯ÖеÄÊý¾ÝÐж¼½«´¦ÓÚÐм¶(Row-X)¶ÀÕ¼Ê½Ëø¶¨£¬ÆäËû¶ÔÏóÖ»ÄܲéѯÕâЩÊý¾ÝÐУ¬²»ÄܽøÐÐupdate¡¢delete»òselect for update²Ù×÷¡£
3¼¶ËøÓУºInsert, Update, Delete, Lock Row Exclusive
ûÓÐcommit֮ǰ²åÈëͬÑùµÄÒ»Ìõ¼Ç¼»áûÓз´Ó¦, ÒòΪºóÒ»¸ö3µÄËø»áÒ»Ö±µÈ´ýÉÏÒ»¸ö3µÄËø, ÎÒÃDZØÐëÊͷŵôÉÏÒ»¸ö²ÅÄܼÌÐø¹¤×÷¡£
4¼¶ËøÓУºCreate Index, Lock Share
locked_modeΪ2,3,4²»Ó°ÏìDML(insert,delete,update,select)²Ù×÷, µ«DDL(alter,dropµÈ)²Ù×÷»áÌáʾora-00054´íÎó¡£
00054, 00000, "resource busy and acquire with NOWAIT specified"
// *Cause: Resource interested is busy.
// *Action: Retry if necessary.
5¼¶ËøÓУºLock &
Ïà¹ØÎĵµ£º
ǰ¶Îʱ¼ä×öÁËÒ»¸öÐéÄâ×éÖ¯µÄ´´½¨¡£Õâ¸öÐéÄâ×éÖ¯µÄ´´½¨ÊÇ´ÓÏÖÓеÄ×éÖ¯ÖжÁÈ¡Êý¾ÝÈ»ºó½øÐзÖÎö±£´æµ½ÐéÄâ×éÖ¯±íÖС£±£´æÖ®ºóдÈÕÖ¾·½±ãͬ²½µ½ÆäËüϵͳÖС£¹«Ë¾Ê¹ÓõÄÖ÷Òª¼¼ÊõÊÇSSH¡£ÓÉÓÚÊÇÐÂÈËûÓÐʲô¾Ñ飬¼Ó֮ʱ¼ä±È½Ï½ôÆÈ£¬×îºóʹÓÃÒ»°ãµÄÂ߼˼Ïëͨ¹ýµÝ¹éÔÚhibernateÏÂ˳Àû´´½¨ÁË¡£¿ÉÊÇ´ÓÏÖÓеÄ×éÖ¯Ö ......
CSDNÀïµÄÒ»¸öÅóÓÑÎʵ½ÁËÕâ¸öË÷Òý¸²¸ÇµÄ¸ÅÄî¡£ Õâ¸ö¸ÅÄîºÜСµÄ֪ʶµã£¬ÔÚÎÒµÄÂÛ̳ÀïÓнâÊÍ“”£¬²»¹ý×÷ΪOracle°æÖ÷£¬²»ÄÜÔÚ»ØÌûÀï¼ÓÉÏÍøÍâµÄµØÖ·Á´½Ó£¬ËùÒÔÕâÀïÔÚCSDNÀïÌûÉÏÒ»·Ý
±ÈÈçÓи´ºÏË÷ÒýΪ3¸ö×ֶΣºf1 + f2 + f3,ÇëÎÊ:
1: select f1, f2, f3, f4 from table where f1 = 'XX' and f2 = 'XX'. ......
´ó¼ÒÔÚÓ¦ÓÃORACLEµÄʱºò¿ÉÄÜ»áÓöµ½ºÜ¶à¿´ÆðÀ´²»ÄѵÄÎÊÌâ, ÌØ±ð¶ÔÐÂÊÖÀ´Ëµ, ½ñÌìÎÒ¼òµ¥°ÑËü×ܽáÒ»ÏÂ, ·¢²¼¸ø´ó¼Ò, Ï£Íû¶Ô´ó¼ÒÓаïÖú! ºÍ´ó¼ÒÒ»Æð̽ÌÖ, ¹²Í¬½ø²½!
¶ÔORACLE¸ßÊÖÀ´ËµÊDz»Óÿ´µÄ.
1. Oracle°²×°Íê³ÉºóµÄ³õʼ¿ÚÁî?
¡¡internal/oracle
¡¡¡¡sys/change_on_install
¡¡¡¡system/manager
......
Ò»¡¢UTL_INADDR°ü»ñÈ¡ipµØÖ·
½ñÌìÓÐÅóÓÑÔÚMSNÉÏÎÊÎÒÈçºÎ»ñµÃÒѾÁ¬½ÓÓû§µÄIPµØÖ·¡£
ÎÒÃÇÖªµÀ£¬Í¨¹ýSYS_CONTEXTº¯Êý¿ÉÒÔ»ñµÃÕⲿ·ÖÐÅÏ¢£¬µ±Ç°Óû§µÄipµÈÐÅÏ¢¿ÉÒÔͨ¹ýÈçÏÂÃüÁîÇáÒ×»ñÈ¡£º
SQL> select sys_context('userenv','host') from dual;
SYS_CONTEXT('USERENV','HOST')
------------------------------ ......
1¡¢´´½¨±ít1 £ºcreate table t1 (id number,name nvarchar(8))£»
2¡¢´´½¨ÐòÁÐ £ºCREATE SEQUENCE t1_id INCREMENT BY 1 START WITH 1 MAXVALUE
1.0E28 MINVALUE 1 NOCYCLE CACHE 20 NOORDER
3. ´´½¨´¥·¢Æ÷ £º
CREATE TRIGGER tig_insert_t1
BEFORE INSERT ON "YINZQ"."T1"
begin
if (:new.id is null) then
......