تجربیات کاری چند دوست

در این وبلاگ تجربیاتی که در حین کار بدست آورده ایم را به اشتراک خواهیم گذاشت

تجربیات کاری چند دوست

در این وبلاگ تجربیاتی که در حین کار بدست آورده ایم را به اشتراک خواهیم گذاشت

تجربیات کاری چند دوست
آخرین نظرات
  • ۱۶ مرداد ۹۸، ۰۱:۰۰ - علی جهان نما
    عالی بود

ALTER TABLE...SPLIT PARTITION

ارديبهشت ۹۷

 

ALTER TABLE...SPLIT PARTITION

از دستور فوق برای تقسیم یک پارتیشن به دو پارتیشن استفاده می شود و محتویات پارتیشن اول را در دو پارتیشن جدید منتقل  می کند.این دستور فقط  در جداول حاوی range partition و list partition قابل استفاده است (و نمی توان برای hash partiotion استفاده کرد).فرم نوشتاری دستور به دو صورت است:

فرم اول جدول دارای range partition   را به دو پارتیشن تقسیم می کند:

 

ALTER TABLE table_name SPLIT PARTITION partition_name

  AT (range_part_value)

  INTO 

  (

    PARTITION new_part1

      [TABLESPACE tablespace_name],

    PARTITION new_part2 

      [TABLESPACE tablespace_name]

  );

 

فرم دوم جدول حاوی list partition را به دو پارتیشن تقسیم می کند:

 

 

ALTER TABLE table_name SPLIT PARTITION partition_name

  VALUES (value[, value]...) 

  INTO 

  (

    PARTITION new_part1

      [TABLESPACE tablespace_name],

    PARTITION new_part2 

      [TABLESPACE tablespace_name]

  );

 

مثال یک:

جدول sales را با سه پارتیشن ذیل در نظر بگیرید:

 

CREATE TABLE sales

  PARTITION europe VALUES('FRANCE', 'ITALY'),

  PARTITION asia VALUES('INDIA', 'PAKISTAN'),

(

  dept_no     number,  

  part_no     varchar2,

  country     varchar2(20),

  date        date,

  amount      number

)

PARTITION BY LIST(country)

(

  PARTITION americas VALUES('US', 'CANADA')

);

دستور زیر پارتیشن Americas را به دو پارتیشن us و Canada تقسیم می کند:

 

ALTER TABLE sales SPLIT PARTITION americas 

 VALUES ('US')

 INTO (PARTITION us, PARTITION canada);

 

 

مثال دو:

CREATE TABLE sales

(

  dept_no     number,

  part_no     varchar2,

  country     varchar2(20),

  date        date,

  amount      number

)

PARTITION BY RANGE(date)

(

  PARTITION q1_2012 

    VALUES LESS THAN('2012-Apr-01'),

  PARTITION q2_2012 

    VALUES LESS THAN('2012-Jul-01'),

  PARTITION q3_2012 

    VALUES LESS THAN('2012-Oct-01'),

  PARTITION q4_2012 

    VALUES LESS THAN('2013-Jan-01')

);

 

جدول از چهار پارتیشن زیر تشکیل شده است:

q1_2012, q2_2012, q3_2012, and q4_2012

 

دستور زیر q4_2012  را به دو پارتیشن  q4_2012_p1  و  q4_2012_p2 تقسیم می کند:

 

ALTER TABLE sales SPLIT PARTITION q4_2012

  AT ('15-Nov-2012')

  INTO 

  (

    PARTITION q4_2012_p1,

    PARTITION q4_2012_p2

  );

 

توجه : اگر tablespace جدیدی برای پارتیشنها تعریف نشود از tablespace پیش فرض استفاده می گردد.

 

 

 

 


  • موافقین ۱ مخالفین ۰
  • ۹۷/۰۲/۱۵
  • ۵۸۲ نمایش
  • حسین مومنی

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی