Ö´ÐÐ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Èí¼þ£¬Òª°²×°OracleÈí¼þÍÆ¼öʹÓÃOracleͨÓð²×°¡£OracleͨÓð²×°³ÌÐòÊÇÒ»¸öͼÐÎÓû§½çÃæ£¨GUI£©¹¤¾ß£¬Ê¹Äú¿ÉÒԲ鿴OracleÈí¼þÒÑÔÚ¼ÆËã»úÉϰ²×°»ò°²×°ÐµÄOracleÈí¼þ£¬²¢Ð¶ÔØOracleÈí¼þ£¬ÒÔϽ«ÐÖúÄúÍê³É°²×°¹ý³Ì¡£
¼ì²éÏȾöÌõ¼þ
°²×°³ÌÐò֮ǰ£¬Oracle¹«Ë¾Ö´ÐÐÒ»¸öÏȾöÌõ¼þ¼ì²éµÄ×Ô¶¯±àº ......
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´ÐУ¬ DOSÖпÉÒÔÖ´ÐÐʱÓÉÓÚ ÔÚoracle 8i ÖÐ °²×°Ä¿Â¼ora81BIN±»ÉèÖÃΪȫ¾Ö·¾¶£¬ ¸ÃÄ¿ ......
Ò». ÓйØRACµÄÏà¹Ø¸ÅÄî
RAC:È«³ÆÊÇReal Application Cluster¡£RAC²¢·ÇÊǸöм¼Êõ£¬ÆäǰÉí½ÐOPS(Oracle Parallel Server)£¬´Ó9i¿ªÊ¼²Å¸ÄÃû½ÐRAC,oracle Data GuardÔÚ9i֮ǰ½Ð×öStandby
¸ÃÌåϵʵÏÖÁ˶à¸öʵÀýͬʱ·ÃÎʺ͹ÜÀíͬһÊý¾Ý¿â£¬¶à¸öʵÀý¿ÉÒÔ´æÔÚÓÚ²»Í¬½Úµã£¬Ò²¿ÉÒÔÔÚÏàͬµÄ½Ú ......
»ù±¾´ÓÀ´²»ÓÃleft/right join
Ò»¸öÏîÄ¿±»ÆÈÒªÓñðÈËдµÄ sql
±¾´òËã¸ÄдһÏ£¬Ìá¸ßЧÂÊ
·¢ÏÖ£º
¡¾1¡¿
select * from a
left outer join b on a.id= b.id AND ...1...
where ...2...
Óë
¡¾2¡¿
select * from a , b
where a.id= b.id(+)
A ......
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 ......