Oracle 11gR2 ÓÃexpÎÞ·¨µ¼³ö¿Õ±í½â¾ö·½·¨
ÔÚ11gR2ÖÐÓиöÐÂÌØÐÔ£¬µ±±íÎÞÊý¾Ýʱ£¬²»·ÖÅäsegmentÒÔ½ÚÊ¡¿Õ¼ä£¬Oracle µ±È»ÔÚÖ´ÐÐexportµ¼³öʱ£¬¿Õ±íÔòÎÞ·¨µ¼³ö£¬µ«ÊÇ»¹ÊÇÓнâ¾ö°ì·¨µÄ£º½â¾ö·½·¨£º
Ò»¡¢insertÒ»ÐУ¬ÔÙrollback¾Í²úÉúsegmentÁË¡£
¸Ã·½·¨ÊÇÔÚÔÚ¿Õ±íÖвåÈëÊý¾Ý£¬ÔÙɾ³ý£¬Ôò²úÉúsegment¡£µ¼³öʱÔò¿Éµ¼³ö¿Õ±í¡£
¶þ¡¢ÉèÖÃdeferred_segment_creation²ÎÊý
¸Ã²ÎÊýֵĬÈÏÊÇTRUE£¬µ±¸ÄΪFALSEʱ£¬ÎÞÎÞÊÇ¿Õ±í»¹ÊÇ·Ç¿Õ±í£¬¶¼·ÖÅäsegment¡£ÐÞ¸ÄSQLÓï¾ä£º
SQL> alter system set deferred_segment_creation=false scope=both;
Ðè×¢ÒâµÄÊÇ£º¸ÃÖµÉèÖúó¶ÔÒÔǰµ¼ÈëµÄ¿Õ±í²»²úÉú×÷Óã¬ÈÔ²»Äܵ¼³ö£¬Ö»ÄܶԺóÃæÐÂÔöµÄ±í²úÉú×÷Óá£ÈçÐèµ¼³ö֮ǰµÄ¿Õ±í£¬Ö»ÄÜÓõÚÒ»ÖÖ·½·¨¡£
Èý¡¢ÓÃÒÔÏÂSQLÓï¾ä²éÕÒ¿Õ±í?
SQL>select \'alter table \'||table_name||\' allocate extent;\' from user_tables where num_rows=0;
°Ñ²éѯ½á¹ûµ¼³ö£¬Ö´Ðе¼³öµÄÓï¾ä£¬Ç¿ÐÐÐÞ¸ÄsegmentÖµ£¬È»ºóÔÙµ¼³ö¼´¿Éµ¼³ö¿Õ±í£¬
×¢Ò⣺
Êý¾Ý¿â²åÈëÊý¾Ýǰ£¬ÐÞ¸Ä11g_R2²ÎÊý¿ÉÒÔµ¼³ö¿Õ±í
²éÕÒ¿Õ±í²¢Éú³É¸üбíÓï¾ä£º?
SQL> select \'alter table \'||table_name||\' allocate extent;\' from user_tables where num_rows=0