5 03, 2010
ORACLEÖÐÖ÷¼üÔ¼Êø¸úΨһË÷ÒýÖ®¼äµÄ¹ØÁª¹ØÏµ
ÔÚORACLEÖУ¬¿ÉÒÔÔÚ´´½¨Ö÷¼üÔ¼ÊøµÄʱºò×Ô¶¯´´½¨Î¨Ò»Ë÷Òý£¬Ò²¿ÉÒÔÏÈ´´½¨Î¨Ò»Ë÷Òý£¬È»ºóÔÙ»ùÓÚÕâ¸öΨһË÷ÒýÀ´´´½¨Ö÷¼üÔ¼Êø¡£ºóÒ»ÖÖ·½Ê½ÓÐÒ»¸öºÃ´¦£¬ÔÚ ÐèÒª¶ÔÊý¾ÝÁ¿±È½Ï´ó¶øÇÒ¶ÁдƵ·±µÄOLTP±í´´½¨Ö÷¼üÔ¼ÊøµÄʱºò£¬¿ÉÒÔÏÈONLINEµÄ´´½¨Ò»¸öΨһµÄË÷Òý£¬È»ºóÔÙ´´½¨Ö÷¼üÔ¼Êø£¬ÕâÑù¿ÉÒÔ¼õÉÙ¶Ô±íµÄ¶Áд ×èÈû¡£µ«ÕâÑù¾Í´øÀ´Ò»¸öÎÊÌ⣬µÚÒ»ÖÖ·½Ê½´´½¨µÄË÷ÒýÔÚɾ³ýÔ¼ÊøµÄʱºòË÷Òý»á±»×Ô¶¯É¾³ý£¬¶øµÚ¶þÖÖ·½Ê½´´½¨µÄË÷ÒýÔÚɾ³ýÔ¼ÊøµÄʱºò²»»á×Ô¶¯É¾³ý£¬ÐèҪɾÍêÔ¼ ÊøÉ¾Ë÷Òý£¬Èç¹ûÍü¼ÇÁËÕâ¸öΨһË÷ÒýµÄ»°£¬¿ÉÄÜ»á´øÀ´¸úÏëÏó²»Ò»ÑùµÄ½á¹û¡£Í¬Ê±£¬oracleÕë¶ÔÕâÖÖÇé¿öÌṩÁËÌØÊâµÄɾ³ýÔ¼ÊøµÄ·½·¨£¬¿ÉÒÔͬʱɾ³ýÔ¼ÊøºÍ Ë÷Òý£¬¾ÍÊÇ£ºalter table bear drop constraint pk_bear drop index¡£ÔÚɾ³ýÔ¼ÊøµÄ×îºó¼ÓÉÏɾ³ýË÷ÒýµÄ¹Ø¼ü×Ö¡£
µ«Ð´ÕâÒ»´ó¶Ñ¶¼²»ÊÇÕâÀïÒªÖØµãÃèÊöµÄÄÚÈÝ£¬ÕâÀïҪдµÄÊÇÔõô֪µÀÒѾ´´½¨ºÃµÄË÷Òýµ½µ×ÊǵÚÒ»ÖÖ·½Ê½´´½¨µÄ£¿»¹ÊǵڶþÖÖ·½Ê½´´½¨µÄÄØ£¿
ÔÚORACLEµÄSYS.IND$ÊÓͼÖÐÓÐÒ»¸ö½ÐPROPERTYµÄ×ֶΣ¬ÀïÃæ¼Ç¼µÄ¾ÍÊÇÿ¸öË÷Òý¶ÔÓ¦µÄÊôÐÔ£¬ÄÇôÕâ¸ö×ֶεĺ¬ÒåÊÇÔÚ´´½¨Õâ¸ö±íµÄSQLÖÐÓж¨ÒåµÄ¡£ÔÚ10GµÄ°æ±¾ÖУ¬¿ÉÒÔµ½$ORACLE_HOME/rdbms/admin/sql.bspÖвéÕÒind$±íµÄ´´½¨½Å±¾£»ÔÚ11GµÄ°æ±¾ÖУ¬¿ÉÒÔµ½ÏàͬµÄλÖõÄdcore.bspÖвéÕÒ¡£ÕâЩ½Å±¾¶¼ÊÇ´´½¨ÏµÍ³ºËÐıíµÄ½Å±¾£¬ÄÇôºÜ¶à×Ö¶ÎÔÚ¹Ù·½ÎĵµÖÐûÓÐ×¢Ê͵ģ¬¿ÉÒÔÀ´ÕâÀïÕÒÕÒ¿´¡£ÄÇôÔÚ11GÖжÔPROPERTY×ֶεÄ×¢ÊÍÈçÏ£º
property number not null, /* immutable flags for life of the index */
/* unique : 0x01 */
/* partitioned : 0x02 */
/* reverse : 0x04 */
/* compressed : 0x08 */
/* functional : 0x10 */
/* temporary table index: 0x20 */
/* session-specific temporary table index: 0x40 */
/* index on embedded adt: 0x80 */
/* user said to check max length at runtime: 0x0100 */
/* domain index on IOT: 0x0200 */
/* join index : 0x0400 */
/* system managed domain index : 0x0800 */
/* The index was created by a constraint : 0x1000 */
/* The index was created by create MV : 0x2000 */
/* composite domain index : 0x8000 */
Õâ¸öÊǵäÐ͵ÄORACLEµÄ±íʾ·½·¨£¬ÆäÖÐÿ¸öÖµ±íʾһ¸öº¬Ò壬µ«ÊǶà¸öÖµÊÇ¿ÉÒÔÀÛ¼ÓÆðÀ´±íʾ¶à¸öº¬ÒåµÄ¡£±ÈÈçÒ»¸öUNIQUEµÄREVERSEµÄË÷Òý£¬¶ÔÓ¦µÄÖµ¾Í»áÊÇ0X05£¬ÄÇôPROPERTYÖжÔÓ¦µÄÊÇ10½øÖƵĴæ·Å£¬¾ÍÓ¦¸ÃÒ²ÊÇ5¡£
ÄÇô¿ÉÒÔÓÃÏÂÃæµÄSQLÀ´²éѯÖ÷¼ü¸úË÷ÒýµÄ¹ØÏµÊǵÚÒ»ÖÖ»¹ÊǵڶþÖÖ£º
SELECT DECODE(BITAND(PROPERTY, 4096), 4096, 'implicit', 'user-generated') GENERATION,
B.INDEX_NAME
FROM SYS.IND$ A, USER_INDEXES B, USER_OBJECTS C
WHERE B.UNIQUENESS = 'UNIQUE'
AND A.OBJ# = C.OBJECT_ID
AND B.INDEX_NAME = C.OBJECT_NAME
AND B.INDEX_NAME = 'INDEX_NAME';
ÉÏÃæµÄSQL¾ÍÊÇ˵Èç¹ûPROPERTYΪ4096£¬ÄÇô¶ÔÓ¦µ½16½øÖÆÓ¦¸ÃÊÇ0X1000£¬Ò²¾Í±íʾThe index was created by a constraint£¬Ò²¾ÍÊǵÚÒ»ÖÖ£»ÆäËû¶¼ÊǵڶþÖÖ£¬ÕâÖÖÇé¿öϵäÐ͵ÄÖµ¾ÍÊÇ4097£¬Ò²¾ÍÊÇ0X1000ºÍ0X01ÖµµÄºÍ¡£
×îлظ´
·¢±íÆÀÂÛ