اوراکل 23c – قابلیت Automatic List Partitioning برای جداول هیبریدی

Hybrid Partitioned Table قابلیت جدیدی است که اوراکل در نسخه 19c ارائه کرده است با کمک این قابلیت می توان برای یک جدول، تلفیقی از پارتیشنهای external و internal را ایجاد کرد.

این روش از پارتیشن بندی، صرفا متدهای Range و List را پشتیبانی می کند البته در نسخه 19c امکان استفاده از متد Automatic List برای Hybrid Partitioned Table وجود ندارد و این امکان از نسخه 23c به وجود آمد.

بنابرین از این نسخه(23c) می توانیم برای جداول Hybrid Partitioned Table از قابلیت Automatic List Partitioning استفاده کنیم.

قبل از ایجاد جدول مورد نظر، دایرکتوری مربوط به دیتایی که در سیستم عامل قرار دارند را ایجاد می کنیم:

SQL> create directory E_PARTITIONs as '/PARTITIONs';
Directory created

جدول mytbl از نوع هیبریدی است و  به روش Automatic List پارتیشن بندی شده است:

SQL> CREATE TABLE mytbl
  2  (
  3  national_id NUMBER,
  4  name        VARCHAR2(20),
  5  last_name   VARCHAR2(20),
  6  org_id      NUMBER
  7  )
  8  EXTERNAL PARTITION ATTRIBUTES(
  9  TYPE ORACLE_LOADER
 10  DEFAULT DIRECTORY E_PARTITIONs
 11  ACCESS PARAMETERS
 12  (
 13  FIELDS TERMINATED BY ',' (national_id,name,last_name,org_id)
 14  )
 15  REJECT LIMIT UNLIMITED
 16  )
 17      PARTITION BY LIST (org_id) AUTOMATIC
 18          (
 19              PARTITION p1 VALUES (1),
 20              PARTITION p2 VALUES (2),
 21  		     PARTITION p_external VALUES (3) EXTERNAL LOCATION('part1.txt')
 22          );

Table created

در صورت فعال نبودن قابلیت Automatic List Partitioning، ستون org_id صرفا مقادیر 1، 2 و 3 را قبول می کرد اما با استفاده از این قابلیت، مقادیر دیگر را هم می پذیرد:

SQL> insert into mytbl values(100,’Reza’,’Alizadeh’,1);

1 row inserted

SQL> insert into mytbl values(105,'Payan','Rafat',47);
1 row inserted

SQL> select * from mytbl;

NATIONAL_ID NAME                 LAST_NAME                ORG_ID
----------- -------------------- -------------------- ----------
        100 Armin                Bahamin                      1
        101 Jamshid              Sabet                         3
        102 Ramtollah            Rabbani                      50
        103 Abbas                Hamidian                     47
        104 Arash                Ezzati                       50
        105 Ali                  Fazli                        47
6 rows selected

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

SQL> select table_name,partition_name from user_tab_partitions;
TABLE_NAME PARTITION_NAME
---------- ---------------
MYTBL      P2
MYTBL      P1
MYTBL      SYS_P1043

همچنین ایجاد این جدول در نسخه 21c با خطای زیر مواجه خواهد شد:

ERROR at line 18:
ORA-30657: operation not supported on external organized table

 

ارائه خدمات مشاوره ، پشتیبانی و نصب و راه اندازی پایگاه داده اوراکل در سراسر کشور...................... تلفن: 09128110897 ایمیل:vahidusefzadeh@gmail.com

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *