HOME   ·Î±×ÀΠ  ȸ¿ø°¡ÀÔ
    
ȸ¿ø°¡ÀÔ
ºñ¹Ð¹øÈ£ ã±â ÀÚµ¿·Î±ä
ÀÌÀü°Ô½ÃÆÇ
   free_board
   °Ç°­°Ô½ÃÆÇ
   ¿À¶óŬDB
   Linux
   HTML/javascript
   Áú¹®°ú ´ä
È£¼­±â
   À̹ÌÁö°Ô½ÃÆÇ  
   °Ç°­°Ô½ÃÆÇ  
   À½¾ÇÀÚ·á  
   ¼ºÁØÀÌ °Ô½ÃÆÇ  
[ÀϹÝ] ¿À¶óŬ ÆÄƼ¼Ç Å×À̺í (Partitioned Table)
  È£¼® ´Ô²²¼­ ¾´ ±ÛÀÔ´Ï´Ù - 211.¢½.74.31 ÀÐÀ½:9287  

* ÆÄƼ¼Ç Å×ÀÌºí »ý¼º

1. Partitioned TableÀ̶õ?

¢Â Partitioning À̶õ Å« Object ¸¦ ÀÛ°í Manage°¡ °¡´ÉÇÏ°Ô ºÐ¸®ÇÏ´Â °ÍÀ» ÀǹÌÇϸç,
Table À̳ª Index ¿¡¼­¸¸ °¡´ÉÇÏ°í Cluster, Snapshot Àº ºÒ°¡´É ÇÕ´Ï´Ù. (Oracle8±âÁØ)

¢Â °¢ Partition Àº º°°³ÀÇ Segment¿¡ ÀúÀå µÇ¾î Áý´Ï´Ù.

¢Â Oracle8¿¡¼­ TableÀº ±âº»ÀÌ µÇ´Â Key Value¿¡ ÀÇÇØ PartitionÀ¸·Î ºÐ¸®µÇ¾î Áý´Ï´Ù.

¢Â °¢ PartitionÀº µ¶¸³ÀûÀ¸·Î ¿î¿µ µË´Ï´Ù.

¢Â ¿¹¸¦ µé¸é Table PartitionÀº DML(insert, update, delete) ¹®¿¡ ÀÇÇÑ TransactionÀÌ
´Ù¸¥ Partition¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê°í »ç¿ëÀÌ °¡´É ÇÕ´Ï´Ù.

¢Â DBA_TAB_PARTITIONS¿¡ °¢ PartitionÀÇ Storage Á¤º¸°¡ ÀÖ½À´Ï´Ù.



2. ÀåÁ¡

¢Â ¿©·¯ ºÐÇÒ ¿µ¿ª¿¡¼­ÀÇ µ¥ÀÌÅÍ ÈÑ¼Õ °¡´É¼ºÀÌ °¨¼Ò µË´Ï´Ù.

¢Â °¢ ºÐÇÒ ¿µ¿ªÀ» µ¶¸³ÀûÀ¸·Î ¹é¾÷ÇÏ°í º¹±¸ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¢Â ´õ ¿ëÀÌÇÏ°Ô °ü¸®ÇÒ ¼ö ÀÖÀ¸¸ç °¡¿ë¼º ¹× ¼º´ÉÀ» Çâ»ó ½Ãŵ´Ï´Ù.



3. ÆÄƼ¼Ç Å×ÀÌºí »ý¼º ¿¹Á¦


¢Â ÆÄƼ¼Ç Å×À̺íÀ» ¹üÀ§ ºÐÇÒ ¹æ½Ä(PARTITION BY RANGE)À¸·Î »ý¼º Çß½À´Ï´Ù.


SQL>CREATE TABLE emp_pt
(EMPNO NUMBER(4),
ENAME VARCHAR2(30),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2))
PARTITION BY RANGE(EMPNO)( -->¹üÀ§ ºÐÇÒ ¹æ½ÄÀ¸·Î »ý¼º ÇÕ´Ï´Ù.
PARTITION emp_p1 VALUES LESS THAN (2000) TABLESPACE data1,
PARTITION emp_p2 VALUES LESS THAN (4000) TABLESPACE data2,
PARTITION emp_p3 VALUES LESS THAN (7000) TABLESPACE data3);

Å×À̺íÀÌ »ý¼ºµÇ¾ú½À´Ï´Ù.


emp_p1 ÆÄƼ¼ÇÀº 2000º¸´Ù ÀûÀº °ªÀÌ µé¾î°¡¸ç data1 Å×ÀÌºí½ºÆäÀ̽º¿¡,
emp_p2 ÆÄƼ¼ÇÀº 4000º¸´Ù ÀûÀº °ªÀÌ µé¾î°¡¸ç data2 Å×ÀÌºí½ºÆäÀ̽º¿¡,
emp_p3 ÆÄƼ¼ÇÀº 7000º¸´Ù ÀûÀº °ªÀÌ µé¾î°¡¸ç data3 Å×ÀÌºí½ºÆäÀ̽º¿¡ °¢°¢ ÇÒ´çÀ» Çß½À´Ï´Ù.

°¢°¢ÀÇ ÆÄƼ¼ÇÀ» ÀÏÁ¤ÇÑ ¹üÀ§·Î ³ª´©¾î¼­ °¢°¢ÀÇ Å×ÀÌºí ½ºÆäÀ̽º¸¦ ÇÒ´ç Çß½À´Ï´Ù.

¿À¶óŬ¿¡¼­´Â ÀÌ ¿Ü¿¡µµ ¿©·¯ °¡Áö ´Ù¸¥ ¹æ¹ýÀ¸·Î ÆÄ½Ã¼Ç Å×À̺íÀ» »ý¼º ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿©±â¼­´Â °¡Àå ÀÌÇØÇϱ⠽¬¿î ¹üÀ§ ºÐÇÒ ¹æ½ÄÀ¸·Î »ý¼º Çß½À´Ï´Ù.



4. µ¥ÀÌÅÍ Á¶ÀÛ ¿¹Á¦


¢Â INSERT

-- emp_p1 ÆÄƼ¼Ç¿¡ µî·ÏÀÌ µË´Ï´Ù.
SQL>INSERT INTO emp_pt(empno, ename, job, hiredate, sal)
VALUES(1000, 'Ultra', 'SALESMAN', sysdate, 3000);
1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù.


-- emp_p2 ÆÄƼ¼Ç¿¡ µî·ÏÀÌ µË´Ï´Ù.
SQL>INSERT INTO emp_pt(empno, ename, job, hiredate, sal)
VALUES(2000, 'lion', 'CLERK', sysdate, 2500);
1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù.


¢Ñ À§ÀÇ µÎ ¿¹Á¦¿Í °°ÀÌ ÀϹÝÀûÀ¸·Î Insert¸¦ Çصµ empno¿¡ µû¶ó¼­ ÀÚµ¿ÀûÀ¸·Î
ÆÄƼ¼ÇÀÌ ³ª´©¾îÁ® Insert°¡ µË´Ï´Ù.

¾Æ·¡ÀÇ ¿¹Á¦¿Í °°ÀÌ µû·Î ÆÄƼ¼ÇÀ» ÁöÁ¤Çؼ­ Insert¸¦ ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.



-- ÆÄƼ¼ÇÀ» ÅëÇؼ­ INSERTÇÏ´Â ¹æ¹ý
SQL>INSERT INTO emp_pt PARTITION (emp_p3)
VALUES (6000, 'scott2', 'CLERK', 5000, sysdate, 1500,0 ,10);
1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù.



¢Â SELECT

-- emp_p1ÆÄƼ¼Ç Á¶È¸
SQL>SELECT empno, ename, job FROM emp_pt PARTITION (emp_p1);

EMPNO ENAME JOB
---------- -------------------- ---------
1000 Ultra SALESMAN


-- emp_p2ÆÄƼ¼Ç Á¶È¸
SQL>SELECT empno, ename, job FROM emp_pt PARTITION (emp_p2);

EMPNO ENAME JOB
---------- ------------------- ---------
2000 lion CLERK




¢Â UPDATE/DELETE

-- ÆÄƼ¼ÇÀ» ÅëÇؼ­ UPDATE ¿¹Á¦.
SQL>UPDATE emp_pt PARTITION (emp_p3)
SET sal = 4000
WHERE empno = 5000;
1 ÇàÀÌ °»½ÅµÇ¾ú½À´Ï´Ù.


-- ÆÄƼ¼ÇÀ» ÅëÇؼ­ DELETE ¿¹Á¦.
SQL>DELETE FROM emp_pt PARTITION (emp_p3) WHERE empno = 6000;
1 ÇàÀÌ »èÁ¦µÇ¾ú½À´Ï´Ù.




5. Partition Table °ü·ÃÇÑ Dictionary Á¤º¸


¢Â Storage Parameters

DBA_TAB_PARTITIONS¸¦ ÅëÇؼ­ È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.


¢Â Partiton Table ÀÇ Upper Partition Bound

SQL>SELECT high_value, partition_position
FROM sys.dba_tab_partitions
WHERE table_name = 'EMP_PT';

HIGH_VALUE PARTITION_POSITION
------------ --------------
4000 2
MAXVALUE 3
2000 1



6. Âü°í : ¿À¶óŬ 9i¿¡¼­ÀÇ ¸®½ºÆ® ºÐÇÒ±â´É..


http://www.oracle.com/kr/magazine/archive/22spring/index.html?otn2_1.html

* ÆÄƼ¼Ç Å×ÀÌºí °ü¸®

1.PartitionÀ» Ãß°¡ÇÏ´Â ¹æ¹ý

empno¿¡ ´ëÇؼ­ PartitionÀ» Ãß°¡ ÇÏ°í ½ÍÀº °æ¿ì ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

SQL>ALTER TABLE emp_pt ADD PARTITION emp_p4
VALUES less than (9000) TABLESPACE test;

Å×À̺íÀÌ º¯°æµÇ¾ú½À´Ï´Ù.

ALTER TABLE Å×À̺í¸í ADD PARTITIOM ÆÄƼ¼Ç¸í VALUES ¹üÀ§ TABLESPACE Å×ÀÌºí½ºÆäÀ̽º¸í

À¸·Î empno°ªÀÌ 9000ÀÌÀüÀÇ °ªÀ» °¡Áö´Â ÆÄƼ¼Ç emp_p4¸¦ Ãß°¡Çß½À´Ï´Ù.


2. ƯÁ¤ PartitionÀ» »èÁ¦ÇÏ´Â ¹æ¹ý

PartitionÀ» ¾ø¾Ö°í ½ÍÀº °æ¿ì´Â DROP PARTITION ¸í·É¾î¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù.


SQL>ALTER TABLE emp_pt DROP PARTITION emp_p4;
Å×À̺íÀÌ º¯°æµÇ¾ú½À´Ï´Ù.



3. Partition NameÀ» º¯°æÇÏ´Â ¹æ¹ý

Partition Name À» ¹Ù²Ù°í ½Í´Ù¸é RENAME PARTITION ¸í·É¾î¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù.

SQL>ALTER TABLE emp_pt RENAME PARTITION emp_p3 to emp_p;
Å×À̺íÀÌ º¯°æµÇ¾ú½À´Ï´Ù.

emp_p3 ÆÄƼ¼ÇÀÇ À̸§À» emp_p·Î º¯°æ ÇÏ¿´½À´Ï´Ù.



4. PartitionÀÇ Tablespace¸¦ ¿Å±â´Â ¹æ¹ý

MOVE PARTITION ¸í·É¾î¸¦ ÀÌ¿ëÇؼ­ Å×ÀÌºí½ºÆäÀ̽º¸¦ º¯°æ ÇÒ ¼ö ÀÖ½À´Ï´Ù.


SQL>ALTER TABLE emp_pt MOVE PARTITION emp_p3
TABLESPACE test nologging;
Å×À̺íÀÌ º¯°æµÇ¾ú½À´Ï´Ù.

Partition emp_p3ÀÇ Å×ÀÌºí½ºÆäÀ̽º¸¦ data3¿¡¼­ test·Î º¯°æÇß½À´Ï´Ù.



5. ƯÁ¤ PartitionÀÇ Data¸¦ TruncateÇÏ´Â ¹æ¹ý

TRUNCATE PARTITION ¸í·ÉÀ» »ç¿ëÇÏ¿© ƯÁ¤ ÆÄƼ¼ÇÀÇ Å×ÀÌÅ͸¦ Truncate½Ãų¼ö ÀÖ½À´Ï´Ù.

Truncate´Â Rollback ÀÌ ºÒ°¡´ÉÇϸç ƯÁ¤Partition Àüü¸¦ »èÁ¦ÇϹǷΠÁÖÀÇÇؼ­ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.


SQL>ALTER TABLE emp_pt TRUNCATE PARTITION emp_p3;
Å×À̺íÀÌ À߷ȽÀ´Ï´Ù.

Ãâó : Tong - ¿ëÆòº¸´õ´ÔÀÇ OracleÅë



¸ñ·Ï

ºÐ·ù ¼±ÅÃ
94 ÀÏ¹Ý ¿À¶óŬ Áø¼öº¯È¯ ÆÐÅ°Áö ¼Ò½º ( 2 Áø¼ö ~ 36 Áø¼ö ) È£¼® 08-02-27 4891
93 ÀÏ¹Ý ¿À¶óŬ ¾Ïȣȭ ±¸Çö È£¼® 08-02-20 5665
92 ÀÏ¹Ý sqlplus¿¡¼­ º¯¼ö »ç¿ëÇÏ´Â ¹æ¹ý È£¼® 07-09-14 6459
91 ÀÏ¹Ý ¿À¶óŬ 10gÀÇ Flashback ±â¼ú [recycle ±â´É] È£¼® 07-08-10 5679
90 ÀÏ¹Ý ENTERPRISE EDITION µ¥ÀÌÅͺ£À̽º¸¦ STANDARD EDITIONÀ¸·Î º¯°æÇÏ´Â ¹ý È£¼® 07-07-25 4764
89 ÀÏ¹Ý ¿À¶óŬ Å×À̺í ÆÄƼ¼Ç »ç¿ëÇϱâ È£¼® 07-07-25 5443
88 ÀÏ¹Ý ¼³Ä¡½Ç¼ö·Î ÀÎÇÑ ¿À¶óŬ À缳ġ °ü·Ã È£¼® 07-07-24 4293
ÀÏ¹Ý ¿À¶óŬ ÆÄƼ¼Ç Å×À̺í (Partitioned Table) È£¼® 07-07-10 9288
86 ÀÏ¹Ý ¿À¶óŬ Å×À̺í ÆÄƼ¼Å´× È£¼® 07-07-10 6166
85 ÀÏ¹Ý µ¿Àû SQL(Dynamic SQL)ÀÇ »ç¿ë¹æ¹ý È£¼® 07-06-28 5863
84 ÀÏ¹Ý ¿À¶óŬ 10G Åäµå¿¡¼­ DEBUG ±â´É»ç¿ëÇϱâ È£¼® 07-06-25 5097
83 ÀÏ¹Ý °³¹ßÀÚ°¡ ¹üÇϱ⠽¬¿î Æ©´× À̽´ 10°¡Áö À¯Çü ºÐ¼® È£¼® 07-06-22 5019
82 ÀÏ¹Ý ¿À¶óŬ 8i ORA-00604 ,ORA-04031 ¿¡·¯ ó¸® È£¼® 07-06-12 6232
81 ÀÏ¹Ý ¿À¶óŬ 8i DB Àç½ÃÀÛ È£¼® 07-06-12 4102
80 ÀÏ¹Ý mysql DB ¹× »ç¿ëÀÚ »ý¼º (1) È£¼® 07-05-18 4078
óÀ½ÀÌÀü  [1] [2] [3] 4 [5] [6] [7] [8] [9] [10]  ´ÙÀ½¸Ç³¡

 
Copyright © zenos.pe.kr. All rights reserved.