Partitioning Technology Learning One

Source: Internet
Author: User

  1. Range Partitioning

    A. Create a new partition table to automatically add or remove partitions through the process:


  2. Create table sale_data (Sale_id number (5), saleman_name varchar2 (+), Sales_mount number (ten), sales_date date) partition by range  (sales_date) (partition sales_2014_1  values less than  (to_date (' 01/02/2014 ', ' dd/mm/yyyy ')), partition sales_2014_2 values  less than  (to_date (' 01/03/2014 ', ' dd/mm/yyyy ')),partition sales_2014_3 values  less than  (to_date (' 01/04/2014 ', ' dd/mm/yyyy ')), partition sales_2014_4 values less  than  (to_date (' 01/05/2014 ', ' dd/mm/yyyy ')),partition sales_2014_5 values less  than  (to_date (' 01/06/2014 ', ' dd/mm/yyyy ')), Partition sales_2014_6 values less than   (to_date (' 01/07/2014 ', ' dd/mm/yyyy ')),partition sales_2014_7 values less than  ( To_date (' 01/08/2014 ', ' dd/mm/yyyy ')),partition sales_2014_8 values less than  (To_date ( ' 01/09/2014 ', ' dd/mm/yyyy '), partition sales_2014_9 values less than  (to_date (' 01/10/2014 ', ' DD/MM/YYYY ')), partition  sales_2014_10 values less than  (to_date (' 01/11/2014 ', ' dd/mm/yyyy ')),partition  sales_2014_11 values less than  (to_date (' 01/12/2014 ', ' dd/mm/yyyy ')), Partition sales_ 2014_12 values less than  (to_date (' 01/01/2015 ', ' dd/mm/yyyy ')), Partition sales_2015_1  values less than  (to_date (' 01/02/2015 ', ' dd/mm/yyyy ')),partition sales_2015_2  values less than  (to_date (' 01/03/2015 ', ' dd/mm/yyyy ')), partition sales_2015_3 values  less than  (to_date (' 01/04/2015 ', ' dd/mm/yyyy ')),partition sales_2015_4 values  less than  (to_date (' 01/05/2015 ', ' dd/mm/yyyy ')), partition sales_2015_5 values less  than  (to_date (' 01/06/2015 ', ' dd/mm/yyyy ')),partition sales_2015_6 values less  than  (To_date (' 01/07/2015 ', ' dd/mm/yyyy ')),partition sales_2015_7 values less than  (to_date (' 01/08/2015 ', ' Dd/mm/yyyy '));
  3. Sql> select segment_name,partition_name from user_segments where segment_name = ' Sale_data '  order by partition_name desc; Segment_name     partition_name-------------------- --------------------Sale_ Data     sales_2015_7sale_data     sales_2015_6sale_data      SALES_2015_5SALE_DATA     SALES_2015_4SALE_DATA      SALES_2015_3SALE_DATA     SALES_2015_2SALE_DATA      SALES_2015_1SALE_DATA     SALES_2014_9SALE_DATA      SALES_2014_8SALE_DATA     SALES_2014_7SALE_DATA      SALES_2014_6SALE_DATA     SALES_2014_5SALE_DATA      Sales_2014_4sale_data     sales_2014_3sale_data     sales_2014_2sale_data     sales_2014_12sale_data      SALES_2014_11SALE_DATA     SALES_2014_10SALE_DATA      sales_2014_119 rows selected.
  4. CREATE OR REPLACE PROCEDURE DROP_PARTITION AS  V_PART_NAME VARCHAR2 ( (  V_OVER_TIME VARCHAR2);   v_err_num   number (;  ) V_ERR_MSG   VARCHAR2 (10); Begin  select min (partition_name)     INTO v_part_name     FROM user_tab_partitions   WHERE table_name =  ' Sale_data ';  --finds the oldest partition   --the current time interval   select months_between (sysdate,                          to_date (substr (MIN (partition_name),  7, 8),  ' yyyy-mm ')      INTO v_over_time    FROM user_tab_partitions   WHERE  table_name =  ' Sale_data ';   if v_over_time > 15  then    EXECUTE IMMEDIATE  ' Alter table sale_data drop partition   '  | |                        v_part_name;  END IF; exception  when others then    v_err_num := sqlcode;     v_err_msg := substr (sqlerrm, 1, 100);     dbms_ Output.put_line (' Error '  | |  v_err_num | |   ' Des '  | |  V_ERR_MSG); END;
  5. declare  job number; Begin  dbms_job.submit (job,  ' drop_partition; ', sysdate,  ' sysdate+1 '); END; 
  6. Sql> exec drop_partition;pl/sql procedure successfully completed. Sql> select segment_name,partition_name from user_segments where segment_name = ' Sale_data '  order by partition_name desc; Segment_name     partition_name-------------------- --------------------Sale_ Data     sales_2015_7sale_data     sales_2015_6sale_data      SALES_2015_5SALE_DATA     SALES_2015_4SALE_DATA      SALES_2015_3SALE_DATA     SALES_2015_2SALE_DATA      SALES_2015_1SALE_DATA     SALES_2014_9SALE_DATA      SALES_2014_8SALE_DATA     SALES_2014_7SALE_DATA      SALES_2014_6SALE_DATA     SALES_2014_5SALE_DATA     SALES_2014_4SALE_DATA     SALES_2014_3SALE_DATA      SALES_2014_2SALE_DATA     SALES_2014_12SALE_DATA      sales_2014_11sale_data     sales_2014_1018 rows selected.


Partitioning Technology Learning One

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.