oracle Ô¼Êø(constraint)µÄ¼¸¸ö²ÎÊýµÄСÑо¿
Ê×ÏȸãÇåϼ¸¸ö¸ÅÄ
ORACLEÖУ¬Ô¼Êø·Ödeferred ¸ú immediate 2ÖÖ£º
deferred:Èç¹û Oracle ÔÚÊÂÎñÌá½»£¨commit£©Ê±²Å¶ÔÔ¼ÊøÖ´Ðмì²é£¬Ôò³Æ´ËÔ¼ÊøÊÇÑӳٵģ¨deferred£©¡£Èç¹ûÊý¾ÝÎ¥·´ÁËÑÓ³ÙÔ¼Êø£¬Ìá½»²Ù×÷½«µ¼ÖÂÊÂÎñ±»»Ø¹ö£¨undo£©¡£
immediate:Èç¹ûÔ¼ÊøÊǼ´Ê±µÄ£¨immediate£©£¨·ÇÑӳٵģ©£¬Ôò´ËÔ¼Êø½«ÔÚÓï¾äÖ´ÐнáÊøºó½øÐмì²é¡£Èç¹ûÊý¾ÝÎ¥·´ÁËÑÓ³ÙÔ¼Êø£¬Óï¾ä½«±»Á¢¼´»Ø¹ö¡£
Ò»°ãÇé¿öÏ£¬ÎÒÃÇÓõÄÔ¼Êø³õʼ¶¼ÊÇimmediateÐ͵Ä(ĬÈÏ)£¬¶øÇÒ²»ºÃתΪdeferredÐÍ¡£µ«ÊÇÈç¹û³õʼÊÇdeferrable(ÐèÒªÊÖ¶¯Ö¸¶¨),ÄÇdeferred¸úimmediate 2ÖÖ״̬¿ÉÒÔËæÒâת»»¡£
´ËÍ⣬ԼÊøÓÐÒÔÏÂ4ÖÖ״̬£º
ENABLE£¨ÆôÓã©È·±£ËùÓÐÊäÈëµÄÊý¾Ý¶¼×ñ´ÓÔ¼Êø£¨constraint£©
DISABLE£¨½ûÓã©×ÜÊÇÔÊÐíÊäÈëÊý¾Ý£¬ÎÞÂÛÊý¾ÝÊÇ·ñ×ñ´ÓÔ¼Êø
VALIDATE£¨ÑéÖ¤£©È·±£ÒÑ´æÔÚµÄÊý¾Ý×ñ´ÓÔ¼Êø
NOVALIDATE£¨ÎÞÑéÖ¤£©ÔÊÐíÒÑ´æÔÚµÄÊý¾Ý²»×ñ´ÓÔ¼Êø
ENABLE VALIDATE Óë ENABLE Ïàͬ¡£Oracle ½«¼ì²éÔ¼Êø£¬²¢±£Ö¤ËùÓÐÊý¾Ý¾ù×ñ´ÓÔ¼Êø¡£
ENABLE NOVALIDATE ±íʾËùÓÐвåÈë»ò±»Ð޸ĵÄÊý¾Ý¶¼±ØÐë×ñ´ÓÔ¼Êø£¬µ«ÔÊÐíÒÑ´æÔÚµÄÊý¾Ý²»×ñ´ÓÔ¼Êø¡£
DISABLE NOVALIDATE Óë DISABLE Ïàͬ¡£Oracle ²»»á¼ì²éÔ¼Êø.
DISABLE VALIDATE ½«½ûÓÃÔ¼Êø£¬ÒƳýÔ¼ÊøʹÓõÄË÷Òý£¬²¢½ûÖ¹ÐÞ¸ÄÔ¼Êø¼üµÄÊý¾Ý¡£
Ô¼Êø²»ÂÛÄÄÖÖÀàÐÍ£¬ÒªÄܹ»ÉúЧ£¬±ØÐë״̬ÊÇenable²ÅÐС£
SQLPLUS(oracle 10.2.0.1):
--deferred ¸ú immediateµÄ¶Ô±ÈÊÔÑé-----------------------------
SQL> drop table aa purge;
Table dropped.
SQL> create table aa ( id number,name varchar2(20),constraint pk primary key(id));
Table created.
SQL> col constraint_name for a11
SQL> select CONSTRAINT_NAME ,CONSTRAINT_TYPE,TABLE_NAME ,STATUS,DEFERRABLE,DEFERRED,validated from u
ser_constraints where table_name='AA';
CONSTRAINT_ C TABLE STATUS DEFERRABLE DEFERRED VALIDATED
----------- - ----- -------- -------------- --------- -------------
PK P AA ENABLED NOT DEFERRABLE IMMEDIATE VALIDATED
--¿ÉÒÔ¿´µ½£¬Ä¬ÈϵÄÊÇNOT DEFERRABLE£¬ÏÂÃæÎÒÃǽ«ËüתΪimmediateÊÔÊÔ
SQL> set constraint pk immediate;
set constraint pk imme
Ïà¹ØÎĵµ£º
linuxÏÂoracle°²×°£º
Oracle¹«Ë¾Ðû³ÆÔÚLinuxÏ°²×°Oracle9iÊý¾Ý¿âÖÁÉÙÒªÓÐ512MBµÄÄÚ´æºÍÖÁÉÙ1GB»òÕßÁ½±¶
ÄÚ´æ´óСµÄ½»»»¿Õ¼ä£¬¶ÔÓÚϵͳÄÚ´æ´óÓÚ2GBµÄ·þÎñÆ÷£¬½»»»¿Õ¼ä¿ÉÒÔ½éÓÚ2GB—4GBÖ®¼ä¡£
Èç¹ûÊÇΪÁËÔÚһ̨½öÓÐ256MÄÚ´æµÄÆÕͨPC»úÉÏÊÔÓÃOracle9 ......
´ó¼Ò¶¼ÖªµÀ£¬ÓÃPL/SQLÁ¬½ÓOracle£¬ÊÇÐèÒª°²×°Oracle¿Í»§¶ËÈí¼þµÄ¡£ÓÐûҪÏë¹ý²»°²×°Oracle¿Í»§¶ËÖ±½ÓÁ¬½ÓOracleÄØ£¿
ÆäʵÎÒÒ»Ö±ÏëÕâÑù×ö£¬ÒòΪÕâ¸ö¿Í»§¶ËʵÔÚÌ«ÈÃÈËÌÖÑáÁË£¡£¡£¡²»µ«»á°²×°Ò»¸öJDK£¬¶øÇÒ»¹»á°Ñ×Ô¼º·ÅÔÚ»·¾³±äÁ¿µÄ×îÇ°Ã棬»áÔì³É²»Ð ......
Checkpoint
ºÜ¶àÈ˶¼°ÑcheckpointµÄ¸ÅÄî¸ø¸´ÔÓ»¯ÁË£¬ÆäʵcheckpointÕâ¸öÊý¾Ý¿â¸ÅÄîÒýÈëµÄÕæÕýÒâÒå¾ÍÊÇÓÃÀ´¼õÉÙÔÚÊý¾Ý¿â
»Ö¸´¹ý³ÌÖÐËù»¨µÄʱ¼ä(instance recovery),ÄÇôcheckpointÊÇÓÉËÀ´×öµÄÄØ?ÎÒÃǶ¼ÖªµÀÊý¾Ý¿âÖÐÓиöCKPT½ø³Ì£¬ÕâÊǸö
¿ÉÑ¡½ø³Ì£¬µ«ÊÇÕæÕýÖ´Ðмì²éµãµÄÈÎÎ ......
http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96524/c21cnsis.htm#2937
Types of Locks
Oracle automatically uses different types of locks to control concurrent access to data and to prevent destructive interaction between users. Oracle automatically locks a resource on behalf of a tran ......
·ÖÒ³²éѯ¸ñʽ£º
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
ÆäÖÐ×îÄÚ²ãµÄ²éѯSELECT * from TABLE_NAME±íʾ²»½øÐзҳµÄÔʼ²éѯÓï¾ä¡£ROWNUM <= 40ºÍRN >= 21¿ØÖÆ·ÖÒ³²éѯµÄÿҳµÄ·¶Î§¡£
ÉÏÃæ¸ø³öµÄÕâ¸ö·ÖÒ³²éѯÓï¾ä£¬ÔÚ´ó¶à ......