Ïê½âORACLEÊý¾Ý¿âµÄ·ÖÇø±í
¡¡¡¡´ËÎÄ´ÓÒÔϼ¸¸ö·½ÃæÀ´ÕûÀí¹ØÓÚ·ÖÇø±íµÄ¸ÅÄî¼°²Ù×÷:
¡¡¡¡1.±í¿Õ¼ä¼°·ÖÇø±íµÄ¸ÅÄî
¡¡¡¡2.±í·ÖÇøµÄ¾ßÌå×÷ÓÃ
¡¡¡¡3.±í·ÖÇøµÄÓÅȱµã
¡¡¡¡4.±í·ÖÇøµÄ¼¸ÖÖÀàÐͼ°²Ù×÷·½·¨
¡¡¡¡5.¶Ô±í·ÖÇøµÄά»¤ÐÔ²Ù×÷.
¡¡¡¡(1.) ±í¿Õ¼ä¼°·ÖÇø±íµÄ¸ÅÄî
¡¡¡¡±í¿Õ¼ä£º
¡¡¡¡ÊÇÒ»¸ö»ò¶à¸öÊý¾ÝÎļþµÄ¼¯ºÏ£¬ËùÓеÄÊý¾Ý¶ÔÏ󶼴æ·ÅÔÚÖ¸¶¨µÄ±í¿Õ¼äÖУ¬µ«Ö÷Òª´æ·ÅµÄÊÇ±í£¬ ËùÒÔ³Æ×÷±í¿Õ¼ä¡£
¡¡¡¡·ÖÇø±í£º
¡¡¡¡µ±±íÖеÄÊý¾ÝÁ¿²»¶ÏÔö´ó£¬²éѯÊý¾ÝµÄËٶȾͻá±äÂý£¬Ó¦ÓóÌÐòµÄÐÔÄܾͻáϽµ£¬Õâʱ¾ÍÓ¦¸Ã¿¼ÂǶԱí½øÐзÖÇø¡£±í½øÐзÖÇøºó£¬Âß¼ÉϱíÈÔÈ»ÊÇÒ»ÕÅÍêÕûµÄ±í£¬Ö»Êǽ«±íÖеÄÊý¾ÝÔÚÎïÀíÉÏ´æ·Åµ½¶à¸ö±í¿Õ¼ä(ÎïÀíÎļþÉÏ)£¬ÕâÑù²éѯÊý¾Ýʱ£¬²»ÖÁÓÚÿ´Î¶¼É¨ÃèÕûÕÅ±í¡£
¡¡¡¡( 2).±í·ÖÇøµÄ¾ßÌå×÷ÓÃ
¡¡¡¡OracleµÄ±í·ÖÇø¹¦ÄÜͨ¹ý¸ÄÉƿɹÜÀíÐÔ¡¢ÐÔÄܺͿÉÓÃÐÔ£¬´Ó¶øΪ¸÷ʽӦÓóÌÐò´øÀ´Á˼«´óµÄºÃ´¦¡£Í¨³££¬·ÖÇø¿ÉÒÔʹijЩ²éѯÒÔ¼°Î¬»¤²Ù×÷µÄÐÔÄÜ´ó´óÌá¸ß¡£´ËÍâ,·ÖÇø»¹¿ÉÒÔ¼«´ó¼ò»¯³£¼ûµÄ¹ÜÀíÈÎÎñ£¬·ÖÇøÊǹ¹½¨Ç§Õ××Ö½ÚÊý¾Ýϵͳ»ò³¬¸ß¿ÉÓÃÐÔϵͳµÄ¹Ø¼ü¹¤¾ß¡£
¡¡¡¡·ÖÇø¹¦ÄÜÄܹ»½«±í¡¢Ë÷Òý»òË÷Òý×éÖ¯±í½øÒ»²½Ï¸·ÖΪ¶Î£¬ÕâЩÊý¾Ý¿â¶ÔÏóµÄ¶Î½Ð×ö·ÖÇø¡£Ã¿¸ö·ÖÇøÓÐ×Ô¼ºµÄÃû³Æ£¬»¹¿ÉÒÔÑ¡Ôñ×Ô¼ºµÄ´æ´¢ÌØÐÔ¡£´ÓÊý¾Ý¿â¹ÜÀíÔ±µÄ½Ç¶ÈÀ´¿´£¬Ò»¸ö·ÖÇøºóµÄ¶ÔÏó¾ßÓжà¸ö¶Î£¬ÕâЩ¶Î¼È¿É½øÐм¯Ìå¹ÜÀí£¬Ò²¿Éµ¥¶À¹ÜÀí£¬Õâ¾ÍʹÊý¾Ý¿â¹ÜÀíÔ±ÔÚ¹ÜÀí·ÖÇøºóµÄ¶ÔÏóʱÓÐÏ൱´óµÄÁé»îÐÔ¡£µ«ÊÇ£¬´ÓÓ¦ÓóÌÐòµÄ½Ç¶ÈÀ´¿´£¬·ÖÇøºóµÄ±íÓë·Ç·ÖÇø±íÍêÈ«Ïàͬ£¬Ê¹Óà SQL DML ÃüÁî·ÃÎÊ·ÖÇøºóµÄ±íʱ£¬ÎÞÐèÈκÎÐ޸ġ£
¡¡¡¡Ê²Ã´Ê±ºòʹÓ÷ÖÇø±í£º
¡¡¡¡1¡¢±íµÄ´óС³¬¹ý2GB¡£
¡¡¡¡2¡¢±íÖаüº¬ÀúÊ·Êý¾Ý£¬ÐµÄÊý¾Ý±»Ôö¼Ó¶¼ÐµķÖÇøÖС£
¡¡¡¡(3).±í·ÖÇøµÄÓÅȱµã
¡¡¡¡±í·ÖÇøÓÐÒÔÏÂÓŵ㣺
¡¡¡¡1¡¢¸ÄÉƲéѯÐÔÄÜ£º¶Ô·ÖÇø¶ÔÏóµÄ²éѯ¿ÉÒÔ½öËÑË÷×Ô¼º¹ØÐĵķÖÇø£¬Ìá¸ß¼ìË÷Ëٶȡ£
¡¡¡¡2¡¢ÔöÇ¿¿ÉÓÃÐÔ£ºÈç¹û±íµÄij¸ö·ÖÇø³öÏÖ¹ÊÕÏ£¬±íÔÚÆäËû·ÖÇøµÄÊý¾ÝÈÔÈ»¿ÉÓÃ;
¡¡¡¡3¡¢Î¬»¤·½±ã£ºÈç¹û±íµÄij¸ö·ÖÇø³öÏÖ¹ÊÕÏ£¬ÐèÒªÐÞ¸´Êý¾Ý£¬Ö»ÐÞ¸´¸Ã·ÖÇø¼´¿É;
¡¡¡¡4¡¢¾ùºâI/O£º¿ÉÒ԰Ѳ»Í¬µÄ·ÖÇøÓ³Éäµ½´ÅÅÌÒÔƽºâI/O£¬¸ÄÉÆÕû¸öϵͳÐÔÄÜ¡£
¡¡¡¡È±µã£º
¡¡¡¡·ÖÇø±íÏà¹Ø£ºÒѾ´æÔڵıíûÓз½·¨¿ÉÒÔÖ±½Óת»¯Îª·ÖÇø±í¡£²»¹ý Oracle ÌṩÁËÔÚÏßÖض¨Òå±íµÄ¹¦ÄÜ¡£
¡¡¡¡(4).±í·ÖÇøµÄ¼¸ÖÖÀàÐͼ°²Ù×÷·½·¨
¡¡¡¡Ò».·¶Î§·ÖÇø£º
¡¡¡¡·¶Î§·ÖÇø½«Êý¾Ý»ùÓÚ·¶Î§Ó³É䵽ÿһ¸ö·ÖÇø£¬Õâ¸ö·¶Î§ÊÇÄãÔÚ´´½¨·ÖÇøʱָ¶¨µÄ·ÖÇø¼ü¾ö¶¨µÄ¡£ÕâÖÖ·ÖÇø·½Ê½ÊÇ×îΪ³£Óõģ¬²¢ÇÒ·ÖÇø¼ü¾³£²ÉÓÃÈÕÆÚ¡£¾Ù¸öÀý×Ó£ºÄã¿ÉÄܻὫÏúÊÛÊý¾Ý°´ÕÕÔ·ݽøÐзÖÇø¡£
¡¡¡¡µ±Ê¹Ó÷¶Î§·ÖÇøʱ£¬Ç뿼ÂÇÒÔϼ¸¸ö¹æÔò£º
¡¡¡¡1¡¢Ã¿Ò»¸ö·ÖÇø¶¼±ØÐëÓÐÒ»¸öVALUES LESS THEN×Ӿ䣬ËüÖ¸¶¨ÁËÒ»¸ö²»°üÀ¨Ôڸ÷ÖÇøÖеÄÉÏÏÞÖµ¡£·ÖÇø¼üµÄÈκÎÖµµÈÓÚ»òÕß´óÓÚÕâ¸öÉÏÏÞÖµµÄ¼Ç¼¶¼»á±»¼ÓÈëµ½ÏÂÒ»¸ö¸ßһЩµÄ·ÖÇøÖС£
¡¡¡¡2¡¢ËùÓзÖÇø£¬³ýÁ˵ÚÒ»¸ö£¬¶¼»áÓÐÒ»¸öÒþʽµÄÏÂÏÞÖµ£¬Õâ¸öÖµ¾ÍÊÇ´Ë·ÖÇøµÄÇ°Ò»¸ö·ÖÇøµÄÉÏÏÞÖµ¡£
¡¡¡¡3¡¢ÔÚ×î¸ßµÄ·ÖÇøÖУ¬MAXVALUE±»¶¨Òå¡£MAXVALUE´ú±íÁËÒ»¸ö²»È·¶¨µÄÖµ¡£Õâ¸öÖµ¸ßÓÚÆäËü·ÖÇøÖеÄÈκηÖÇø¼üµÄÖµ£¬Ò²¿ÉÒÔÀí½âΪ¸ßÓÚÈκηÖÇøÖÐÖ¸¶¨µÄVALUE LESS THENµÄÖµ£¬Í¬Ê±°üÀ¨¿ÕÖµ¡£
¡¡¡¡ÀýÒ»£º
¡¡¡¡¼ÙÉèÓÐÒ»¸öCUSTOMER±í£¬±íÖÐÓÐÊý¾Ý200000ÐУ¬ÎÒÃǽ«´Ë±íͨ¹ýCUSTOMER_ID½øÐзÖÇø£¬Ã¿¸ö·ÖÇø´æ´¢100000ÐУ¬ÎÒÃǽ«Ã¿¸ö·ÖÇø±£´æµ½µ¥¶ÀµÄ±í¿Õ¼äÖУ¬ÕâÑùÊý¾ÝÎļþ¾Í¿ÉÒÔ¿çÔ½¶à¸öÎïÀí´ÅÅÌ¡£ÏÂÃæÊÇ´´½¨±íºÍ·ÖÇøµÄ´úÂ룬ÈçÏ£º
¡¡¡¡CREATE TABLE CUSTOMER
¡¡¡¡(
¡¡¡¡CUSTOMER_ID NUMBER NOT NULL PRIMARY KEY,
¡¡¡¡FIRST_NAME VARCHAR2(30) NOT NULL,
¡¡¡¡LAST_NAME VARCHAR2(30) NOT NULL,
¡¡¡¡PHONE VARCHAR2(15) NOT NULL,
¡¡¡¡EMAIL VARCHAR2(80),
¡¡¡¡STATUS CHAR(1)
¡¡¡¡)
¡¡¡¡PARTITION BY RANGE (CUSTOMER_ID)
¡¡¡¡(
¡¡¡¡PARTITION CUS_PART1 VALUES LESS THAN (100000) TABLESPACE CUS_TS01,
¡¡¡¡PARTITION CUS_PART2 VALUES LESS THAN (200000) TABLESPACE CUS_TS02
¡¡¡¡)
¡¡¡¡Àý¶þ£º°´Ê±¼ä»®·Ö
¡¡¡¡CREATE TABLE ORDER_ACTIVITIES
¡¡¡¡(
¡¡¡¡ORDER_ID NUMBER(7) NOT NULL,
¡¡¡¡ORDER_DATE DATE,
¡¡¡¡TOTAL_AMOUNT NUMBER,
¡¡¡¡CUSTOTMER_ID NUMBER(7),
¡¡¡¡PAID CHAR(1)
¡¡¡¡)
¡¡¡¡PARTITION BY RANGE (ORDER_DATE)
¡¡¡¡(
¡¡¡¡PARTITION ORD_ACT_PART01 VALUES LESS THAN (TO_DATE('01- MAY -2003','DD-MON-YYYY')) TABLESPACEORD_TS01,
¡¡¡¡PARTITION ORD_ACT_PART02 VALUES LESS THAN (TO_DATE('01-JUN-2003','DD-MON-YYYY')) TABLESPACE ORD_TS02,
¡¡¡¡PARTITION ORD_ACT_PART02 VALUES LESS THAN (TO_DATE('01-JUL-2003','DD-MON-YYYY')) TABLESPACE ORD_TS03
¡¡¡¡)
¡¡¡¡ÀýÈý£ºMAXVALUE
¡¡¡¡CREATE TABLE RangeTable
¡¡¡¡(
¡¡¡¡idd INT PRIMARY KEY ,
¡¡¡¡iNAME VARCHAR(10),
¡¡¡¡grade INT
¡¡¡¡)
¡¡¡¡PARTITION BY RANGE (grade)
¡¡¡¡(
¡¡¡¡PARTITION part1 VALUES LESS THEN (1000) TABLESPACE Part1_tb,
¡¡¡¡PARTITION part2 VALUES LESS THEN (MAXVALUE) TABLESPACE Part2_tb
¡¡¡¡);
¡¡¡¡¶þ.Áбí·ÖÇø£º
¡¡¡¡¸Ã·ÖÇøµÄÌصãÊÇijÁеÄÖµÖ»Óм¸¸ö£¬»ùÓÚÕâÑùµÄÌصãÎÒÃÇ¿ÉÒÔ²ÉÓÃÁбí·ÖÇø¡£
¡¡¡¡ÀýÒ»
¡¡¡¡CREATE TABLE PROBLEM_TICKETS
¡¡¡¡(
¡¡¡¡PROBLEM_ID NUMBER(7) NOT NULL PRIMARY KEY,
¡¡¡¡DESCRIPTION VARCHAR2(2000),
¡¡¡¡CUSTOMER_ID NUMBER(7) NOT NULL,
¡¡¡¡DATE_ENTERED DATE NOT NULL,
¡¡¡¡STATUS VARCHAR2(20)
¡¡¡¡)
¡¡¡¡PARTITION BY LIST (STATUS)
¡¡¡¡(
¡¡¡¡PARTITION PROB_ACTIVE VALUES ('ACTIVE') TABLESPACE PROB_TS01,
¡¡¡¡PARTITION PROB_INACTIVE VALUES ('INACTIVE') TABLESPACE PROB_TS02
¡¡¡¡Àý¶þ
¡¡¡¡CREATE TABLE ListTable
¡¡¡¡(
¡¡¡¡id INT PRIMARY KEY ,
¡¡¡¡name VARCHAR (20),
¡¡¡¡area VARCHAR (10)
¡¡¡¡)
¡¡¡¡PARTITION BY LIST (area)
¡¡¡¡(
¡¡¡¡PARTITION part1 VALUES ('guangdong','beijing') TABLESPACE Part1_tb,
¡¡¡¡PARTITION part2 VALUES ('shanghai','nanjing') TABLESPACE Part2_tb
¡¡¡¡);
¡¡¡¡)
¡¡¡¡Èý.É¢ÁзÖÇø£º
¡¡¡¡ÕâÀà·ÖÇøÊÇÔÚÁÐÖµÉÏʹÓÃÉ¢ÁÐËã·¨£¬ÒÔÈ·¶¨½«ÐзÅÈëÄĸö·ÖÇøÖС£µ±ÁеÄֵûÓкÏÊʵÄÌõ¼þʱ£¬½¨ÒéʹÓÃÉ¢ÁзÖÇø¡£
¡¡¡¡É¢ÁзÖÇøΪͨ¹ýÖ¸¶¨·ÖÇø±àºÅÀ´¾ùÔÈ·Ö²¼Êý¾ÝµÄÒ»ÖÖ·ÖÇøÀàÐÍ£¬ÒòΪͨ¹ýÔÚI/OÉ豸ÉϽøÐÐÉ¢ÁзÖÇø£¬Ê¹µÃÕâЩ·ÖÇø´óСһÖ¡£
¡¡¡¡ÀýÒ»£º
¡¡¡¡CREATE TABLE HASH_TABLE
¡¡¡¡(
¡¡¡¡COL NUMBER(8),
¡¡¡¡INF VARCHAR2(100)
¡¡¡¡)
¡¡¡¡PARTITION BY HASH (COL)
¡¡¡¡(
¡¡¡¡PARTITION PART01 TABLESPACE HASH_TS01,
¡¡¡¡PARTITION PART02 TABLESPACE HASH_TS02,
¡¡¡¡PARTITION PART03 TABLESPACE HASH_TS03
¡¡¡¡)
¡¡¡¡¼òд£º
¡¡¡¡CREATE TABLE emp
¡¡¡¡(
¡¡¡¡empno NUMBER (4),
¡¡¡¡ename VARCHAR2 (30),
¡¡¡¡sal NUMBER
¡¡¡¡)
¡¡¡¡PARTITION BY HASH (empno) PARTITIONS 8
¡¡¡¡STORE IN (emp1,emp2,emp3,emp4,emp5,emp6,emp7,emp8);
¡¡¡¡hash·ÖÇø×îÖ÷ÒªµÄ»úÖÆÊǸù¾ÝhashËã·¨À´¼ÆËã¾ßÌåijÌõ¼Í¼Ӧ¸Ã²åÈëµ½Äĸö·ÖÇøÖÐ,hashËã·¨ÖÐ×îÖØÒªµÄÊÇhashº¯Êý£¬OracleÖÐÈç¹ûÄãҪʹÓÃhash·ÖÇø£¬Ö»ÐèÖ¸¶¨·ÖÇøµÄÊýÁ¿¼´¿É¡£½¨Òé·ÖÇøµÄÊýÁ¿²ÉÓÃ2µÄn´Î·½£¬ÕâÑù¿ÉÒÔʹµÃ¸÷¸ö·ÖÇø¼äÊý¾Ý·Ö²¼¸ü¼Ó¾ùÔÈ¡£
¡¡¡¡ËÄ.×éºÏ·¶Î§É¢ÁзÖÇø
¡¡¡¡ÕâÖÖ·ÖÇøÊÇ»ùÓÚ·¶Î§·ÖÇøºÍÁбí·ÖÇø£¬±íÊ×ÏÈ°´Ä³ÁнøÐз¶Î§·ÖÇø£¬È»ºóÔÙ°´Ä³ÁнøÐÐÁбí·ÖÇø£¬·ÖÇøÖ®ÖеķÖÇø±»³ÆΪ×Ó·ÖÇø¡£
¡¡¡¡CREATE TABLE SALES
¡¡¡¡(
¡¡¡¡PRODUCT_ID VARCHAR2(5),
¡¡¡¡SALES_DATE DATE,
¡¡¡¡SALES_COST NUMBER(10),
¡¡¡¡STATUS VARCHAR2(20)
¡¡¡¡)
¡¡¡¡PARTITION BY RANGE(SALES_DATE) SUBPARTITION BY LIST (STATUS)
¡¡¡¡(
¡¡¡¡PARTITION P1 VALUES LESS THAN(TO_DATE('2003-01-01','YYYY-MM-DD'))TABLESPACE rptfact2009
¡¡¡¡(
¡¡¡¡SUBPARTITION P1SUB1 VALUES ('ACTIVE') TABLESPACE rptfact2009,
¡¡¡¡SUBPARTITION P1SUB2 VALUES ('INACTIVE') TABLESPACE rptfact2009
¡¡¡¡),
¡¡¡¡PARTITION P2 VALUES LESS THAN (TO_DATE('2003-03-01','YYYY-MM-DD')) TABLESPACE rptfact2009
¡¡¡¡(
¡¡¡¡SUBPARTITION P2SUB1 VALUES ('ACTIVE') TABLESPACE rptfact2009,
¡¡¡¡SUBPARTITION P2SUB2 VALUES ('INACTIVE') TABLESPACE rptfact2009
¡¡¡¡)
¡¡¡¡)
¡¡¡¡Îå.¸´ºÏ·¶Î§É¢ÁзÖÇø£º
¡¡¡¡ÕâÖÖ·ÖÇøÊÇ»ùÓÚ·¶Î§·ÖÇøºÍÉ¢ÁзÖÇø£¬±íÊ×ÏÈ°´Ä³ÁнøÐз¶Î§·ÖÇø£¬È»ºóÔÙ°´Ä³ÁнøÐÐÉ¢ÁзÖÇø¡£
¡¡¡¡create table dinya_test
¡¡¡¡(
¡¡¡¡transaction_id number primary key,
¡¡¡¡item_id number(8) not null,
¡¡¡¡item_description varchar2(300),
¡¡¡¡transaction_date date
¡¡¡¡)
¡¡¡¡partition by range(transaction_date)subpartition by hash(transaction_id) subpartitions 3 store in (dinya_space01,dinya_space02,dinya_space03)
¡¡¡¡(
¡¡¡¡partition part_01 values less than(to_date(¡®2006-01-01¡¯,¡¯yyyy-mm-dd¡¯)),
¡¡¡¡partition part_02 values less than(to_date(¡®2010-01-01¡¯,¡¯yyyy-mm-dd¡¯)),
¡¡¡¡partition part_03 values less than(maxvalue)
¡¡¡¡);
¡¡¡¡(5).Óйرí·ÖÇøµÄһЩά»¤ÐÔ²Ù×÷£º
¡¡¡¡Ò»¡¢Ìí¼Ó·ÖÇø
¡¡¡¡ÒÔÏ´úÂë¸øSALES±íÌí¼ÓÁËÒ»¸öP3·ÖÇø
¡¡¡¡ALTER TABLE SALES ADD PARTITION P3 VALUES LESS THAN(TO_DATE('2003-06-01','YYYY-MM-DD'));
¡¡¡¡×¢Ò⣺ÒÔÉÏÌí¼ÓµÄ·ÖÇø½çÏÞÓ¦¸Ã¸ßÓÚ×îºóÒ»¸ö·ÖÇø½çÏÞ¡£
¡¡¡¡ÒÔÏ´úÂë¸øSALES±íµÄP3·ÖÇøÌí¼ÓÁËÒ»¸öP3SUB1×Ó·ÖÇø
¡¡¡¡ALTER TABLE SALES MODIFY PARTITION P3 ADD SUBPARTITION P3SUB1 VALUES('COMPLETE');
¡¡¡¡¶þ¡¢É¾³ý·ÖÇø
¡¡¡¡ÒÔÏ´úÂëɾ³ýÁËP3±í·ÖÇø£º
¡¡¡¡ALTER TABLE SALES DROP PARTITION P3;
¡¡¡¡ÔÚÒÔÏ´úÂëɾ³ýÁËP4SUB1×Ó·ÖÇø£º
¡¡¡¡ALTER TABLE SALES DROP SUBPARTITION P4SUB1;
¡¡¡¡×¢Ò⣺Èç¹ûɾ³ýµÄ·ÖÇøÊDZíÖÐΨһµÄ·ÖÇø£¬ÄÇô´Ë·ÖÇø½«²»Äܱ»É¾³ý£¬ÒªÏëɾ³ý´Ë·ÖÇø£¬±ØÐëɾ³ý±í¡£
¡¡¡¡Èý¡¢½Ø¶Ï·ÖÇø
¡¡¡¡½Ø¶Ïij¸ö·ÖÇøÊÇָɾ³ýij¸ö·ÖÇøÖеÄÊý¾Ý£¬²¢²»»áɾ³ý·ÖÇø£¬Ò²²»»áɾ³ýÆäËü·ÖÇøÖеÄÊý¾Ý¡£µ±±íÖм´Ê¹Ö»ÓÐÒ»¸ö·ÖÇøʱ£¬Ò²¿ÉÒԽضϸ÷ÖÇø¡£Í¨¹ýÒÔÏ´úÂë½Ø¶Ï·ÖÇø£º
¡¡¡¡ALTER TABLE SALES TRUNCATE PARTITION P2;
¡¡¡¡Í¨¹ýÒÔÏ´úÂë½Ø¶Ï×Ó·ÖÇø£º
¡¡¡¡ALTER TABLE SALES TRUNCATE SUBPARTITION P2SUB2;
¡¡¡¡ËÄ¡¢ºÏ²¢·ÖÇø
¡¡¡¡ºÏ²¢·ÖÇøÊǽ«ÏàÁڵķÖÇøºÏ²¢³ÉÒ»¸ö·ÖÇø£¬½á¹û·ÖÇø½«²ÉÓýϸ߷ÖÇøµÄ½çÏÞ£¬ÖµµÃ×¢ÒâµÄÊÇ£¬²»Äܽ«·ÖÇøºÏ²¢µ½½çÏ޽ϵ͵ķÖÇø¡£ÒÔÏ´úÂëʵÏÖÁËP1 P2·ÖÇøµÄºÏ²¢£º
¡¡¡¡ALTER TABLE SALES MERGE PARTITIONS P1,P2 INTO PARTITION P2;
¡¡¡¡Îå¡¢²ð·Ö·ÖÇø
¡¡¡¡²ð·Ö·ÖÇø½«Ò»¸ö·ÖÇø²ð·ÖÁ½¸öзÖÇø£¬²ð·ÖºóÔÀ´·ÖÇø²»ÔÙ´æÔÚ¡£×¢Òâ²»ÄܶÔHASHÀàÐ͵ķÖÇø½øÐвð·Ö¡£
¡¡¡¡ALTER TABLE SALES SBLIT PARTITION P2 AT(TO_DATE('2003-02-01','YYYY-MM-DD')) INTO (PARTITION P21,PARTITION P22);
¡¡¡¡Áù¡¢½ÓºÏ·ÖÇø(coalesca)
¡¡¡¡½áºÏ·ÖÇøÊǽ«É¢ÁзÖÇøÖеÄÊý¾Ý½ÓºÏµ½ÆäËü·ÖÇøÖУ¬µ±É¢ÁзÖÇøÖеÄÊý¾Ý±È½Ï´óʱ£¬¿ÉÒÔÔö¼ÓÉ¢ÁзÖÇø£¬È»ºó½øÐнӺϣ¬ÖµµÃ×¢ÒâµÄÊÇ£¬½ÓºÏ·ÖÇøÖ»ÄÜÓÃÓÚÉ¢ÁзÖÇøÖС£Í¨¹ýÒÔÏ´úÂë½øÐнӺϷÖÇø£º
¡¡¡¡ALTER TABLE SALES COALESCA PARTITION;
¡¡¡¡Æß¡¢ÖØÃüÃû±í·ÖÇø
¡¡¡¡ÒÔÏ´úÂ뽫P21¸ü¸ÄΪP2
¡¡¡¡ALTER TABLE SALES RENAME PARTITION P21 TO P2;
¡¡¡¡°Ë¡¢Ïà¹Ø²éѯ
¡¡¡¡¿ç·ÖÇø²éѯ
¡¡¡¡select sum( *) from
¡¡¡¡(select count(*) cn from t_table_SS PARTITION (P200709_1)
¡¡¡¡union all
¡¡¡¡select count(*) cn from t_table_SS PARTITION (P200709_2)
¡¡¡¡);
¡¡¡¡²éѯ±íÉÏÓжàÉÙ·ÖÇø
¡¡¡¡SELECT * FROM useR_TAB_PARTITIONS WHERE TABLE_NAME='tableName'
¡¡¡¡²éѯË÷ÒýÐÅÏ¢
¡¡¡¡select object_name,object_type,tablespace_name,sum(value)
¡¡¡¡from v$segment_statistics
¡¡¡¡where statistic_name IN ('physical reads','physical write','logical reads')and object_type='INDEX'
¡¡¡¡group by object_name,object_type,tablespace_name
¡¡¡¡order by 4 desc
¡¡¡¡--ÏÔʾÊý¾Ý¿âËùÓзÖÇø±íµÄÐÅÏ¢£º
¡¡¡¡select * from DBA_PART_TABLES
¡¡¡¡--ÏÔʾµ±Ç°Óû§¿É·ÃÎʵÄËùÓзÖÇø±íÐÅÏ¢:
¡¡¡¡select * from ALL_PART_TABLES
¡¡¡¡--ÏÔʾµ±Ç°Óû§ËùÓзÖÇø±íµÄÐÅÏ¢£º
¡¡¡¡select * from USER_PART_TABLES
¡¡¡¡--ÏÔʾ±í·ÖÇøÐÅÏ¢ ÏÔʾÊý¾Ý¿âËùÓзÖÇø±íµÄÏêϸ·ÖÇøÐÅÏ¢£º
¡¡¡¡select * from DBA_TAB_PARTITIONS
¡¡¡¡--ÏÔʾµ±Ç°Óû§¿É·ÃÎʵÄËùÓзÖÇø±íµÄÏêϸ·ÖÇøÐÅÏ¢£º
¡¡¡¡select * from ALL_TAB_PARTITIONS
¡¡¡¡--ÏÔʾµ±Ç°Óû§ËùÓзÖÇø±íµÄÏêϸ·ÖÇøÐÅÏ¢£º
¡¡¡¡select * from USER_TAB_PARTITIONS
¡¡¡¡--ÏÔʾ×Ó·ÖÇøÐÅÏ¢ ÏÔʾÊý¾Ý¿âËùÓÐ×éºÏ·ÖÇø±íµÄ×Ó·ÖÇøÐÅÏ¢£º
¡¡¡¡select * from DBA_TAB_SUBPARTITIONS
¡¡¡¡--ÏÔʾµ±Ç°Óû§¿É·ÃÎʵÄËùÓÐ×éºÏ·ÖÇø±íµÄ×Ó·ÖÇøÐÅÏ¢£º
¡¡¡¡select * from ALL_TAB_SUBPARTITIONS
¡¡¡¡--ÏÔʾµ±Ç°Óû§ËùÓÐ×éºÏ·ÖÇø±íµÄ×Ó·ÖÇøÐÅÏ¢£º
¡¡¡¡select * from USER_TAB_SUBPARTITIONS
¡¡¡¡--ÏÔʾ·ÖÇøÁÐ ÏÔʾÊý¾Ý¿âËùÓзÖÇø±íµÄ·ÖÇøÁÐÐÅÏ¢£º
¡¡¡¡select * from DBA_PART_KEY_COLUMNS
¡¡¡¡--ÏÔʾµ±Ç°Óû§¿É·ÃÎʵÄËùÓзÖÇø±íµÄ·ÖÇøÁÐÐÅÏ¢£º
¡¡¡¡select * from ALL_PART_KEY_COLUMNS
¡¡¡¡--ÏÔʾµ±Ç°Óû§ËùÓзÖÇø±íµÄ·ÖÇøÁÐÐÅÏ¢£º
¡¡¡¡select * from USER_PART_KEY_COLUMNS
¡¡¡¡--ÏÔʾ×Ó·ÖÇøÁÐ ÏÔʾÊý¾Ý¿âËùÓзÖÇø±íµÄ×Ó·ÖÇøÁÐÐÅÏ¢£º
¡¡¡¡select * from DBA_SUBPART_KEY_COLUMNS
¡¡¡¡--ÏÔʾµ±Ç°Óû§¿É·ÃÎʵÄËùÓзÖÇø±íµÄ×Ó·ÖÇøÁÐÐÅÏ¢£º
¡¡¡¡select * from ALL_SUBPART_KEY_COLUMNS
¡¡¡¡--ÏÔʾµ±Ç°Óû§ËùÓзÖÇø±íµÄ×Ó·ÖÇøÁÐÐÅÏ¢£º
¡¡¡¡select * from USER_SUBPART_KEY_COLUMNS
¡¡¡¡--ÔõÑù²éѯ³öoracleÊý¾Ý¿âÖÐËùÓеĵķÖÇø±í
¡¡¡¡select * from user_tables a where a.partitioned='YES'
¡¡¡¡--ɾ³ýÒ»¸ö±íµÄÊý¾ÝÊÇ
¡¡¡¡truncate table table_name;
¡¡¡¡--ɾ³ý·ÖÇø±íÒ»¸ö·ÖÇøµÄÊý¾ÝÊÇ
¡¡¡¡alter table table_name truncate partition p5;
À´Ô´£ºÌ켫ÍøÈí¼þƵµÀ |