Ö´ÐÐcommitʱoracle×öÄÄЩ¹¤×÷
COMMITÊÇÒ»¸ö·Ç³£¿ìµÄ²Ù×÷£¬µ±ÎÒÃÇ·¢²¼commitÃüÁîʱ£¬ÕæÕýÀ§Äѵ͝×÷ÒѾÍê³É£¬
ÔÚÊý¾Ý¿âÖÐÒѾִÐÐÁËÊý¾Ý¸ü¸Ä£¬ËùÒÔÒѾÍê³ÉÁË99%µÄÈÎÎñ£¬ÀýÈ磺ÏÂÁвÙ×÷ÒѾ²úÉú£º
1.ÔÚSGA(Buffer Cache)ÖÐÒѾÉú³ÉÁËundo¿é£»
2.ÔÚSGA(Buffer Cache)ÖÐÒѾÉú³ÉÁ˲úÉú¸Ä±äµÄÊý¾Ý¿éºÍË÷Òý¿é£»
3.ÔÚREDO LOG BUFFERÉú³ÉÁËÇ°ÃæÁ½ÏîµÄredoÐÅÏ¢;
4.ÒÀÀµÓÚǰÈýÏî²úÉúµÄÊý¾ÝÁ¿´óСÒÔ¼°²Ù×÷ÐèÒªµÄʱ¼ä£¬bufferÖеÄÊý¾Ý¿ÉÄÜÒѾ
ÓÐÒ»²¿·ÖÊä³öµ½ÁË´ÅÅÌ£»
5.ËùÓÐÐèÒªµÄËøÒѾ»ñµÃ£»
µ±Ö´ÐÐCOMMITÃüÁîʱ£¬Ö»Ö´ÐÐÈçϲÙ×÷£º
1.ΪÊÂÎñÉú³ÉSCN£ºSCNÊÇORACLEÊý¾Ý¿âµÄÒ»ÖÖ¼ÆÊ±ÐÅÏ¢£¬ÓÃÒÔ±£Ö¤ÊÂÎñµÄ˳ÐòÐÔ£¬
ͬʱ»¹ÓÃÓÚʧ°Ü»Ö¸´ºÍ±£Ö¤Êý¾Ý¿âµÄ¶ÁÒ»ÖÂÐԺͼì²éµã£¬ÎÞÂÛºÎʱºÎÈËÌá½»£¬SCN
×Ô¶¯¼Ó1£»
2.½«ÊÂÎñÏà¹ØµÄδдÈëredo log fileÖеÄredoÐÅÏ¢´Óredo log bufferдÈëµ½redo log
file,Õâ²ÅÊÇÕæÊµµÄCOMMIT£¬Õâ²½²Ù×÷Íê³É£¬ËµÃ÷ÎÒÃÇÒѾÍê³ÉCOMMIT£¬ÊÂÎñ´Ó
V$TRANSACTIONÖÐÒÆ³ý£»
3.V$LOCKÖмǼµÄSESSION¹ØÓÚ¸ÃÊÂÎñµÄËø»áÊÍ·Å£¬ÆäËûÐèÒªÕâÐ©ËøµÄÊÂÎñ±»»½ÐÑ£»
4.Ö´ÐпéÇåÀí£¬ÇåÀí¿éÍ·±£´æµÄÊÂÎñÐÅÏ¢£»
Ïà¹ØÎĵµ£º
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´ÐУ¬ DOSÖпÉÒÔÖ´ÐÐʱÓÉÓÚ ÔÚoracle 8i ÖÐ °²×°Ä¿Â¼ora81BIN±»ÉèÖÃΪȫ¾Ö·¾¶£¬ ¸ÃÄ¿ ......
²ã´Î»¯²éѯ£º
select [level],colomn,...from table
[where where_clause]
[ [start with start_condition] [connect by prior prior_condition]&nbs ......
±í¿Õ¼ä£º
OracleµÄUNDOTBS01.DBFÎļþÌ«´óµÄ½â¾ö°ì·¨
1¡¢.½ûÖ¹undo tablespace×Ô¶¯Ôö³¤
alter database datafile 'full_path\undotbs01.dbf' autoextend off;
2.-- ´´½¨Ò»¸öеÄС¿Õ¼äµÄundo tablespace
create undo tablespace undotBS2 datafile ......
connect by Êǽṹ»¯²éѯÖÐÓõ½µÄ£¬Æä»ù±¾Óï·¨ÊÇ£º
select ... from tablename start with Ìõ¼þ1
connect by Ìõ¼þ2
where Ìõ¼þ3;
Àý£º
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
¼òµ¥ËµÀ´Êǽ«Ò»¸öÊ÷×´½á¹¹´æ´¢ÔÚÒ»ÕűíÀ±ÈÈçÒ»¸ö±íÖдæÔÚÁ½¸ö×Ö¶ ......
5.µ÷Óú¯ÊýFN_ADDONE
--------------------
SQL> SET SERVEROUTPUT ON
SQL> DECLARE CNUM NUMBER;
2 BEGIN
3 CNUM := USER1_ADB.FN_ADDONE(3);
4 DBMS_OUTPUT.PUT_LINE('CNUM = ' || CNUM);
5 END;
6&nbs ......