1. μ€λΌν΄ νν°μ ν μ΄λΈμ κ°λ
νν°μ ν μ΄λΈμ μ€λΌν΄ λ°μ΄ν°λ² μ΄μ€μμ μ¬μ©λλ ν μ΄λΈ λΆν λ°©λ² μ€ νλμ λλ€. ν μ΄λΈ νν°μ λμ λμ©λ λ°μ΄ν°λ₯Ό λ³΄λ€ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκ³ μ‘°ν μ±λ₯μ ν₯μμν€λ λ°©λ²μ λλ€. νν°μ μ λ°μ΄ν°λ₯Ό λ Όλ¦¬μ λλ 물리μ μΌλ‘ λΆν νμ¬ μ¬λ¬ κ°μ μμ λ°μ΄ν° μμμΌλ‘ λλλ κ²μ μλ―Έν©λλ€.
νν°μ ν μ΄λΈμ μν λΆν (partitioning)μ ν΅ν΄ ν μ΄λΈμ μ¬λ¬ κ°μ νν°μ μΌλ‘ λλμ΄ μ μ₯ν©λλ€. κ° νν°μ μ λ 립μ μΈ μ μ₯ μμμΌλ‘ κ΄λ¦¬λλ©°, μΌλ°μ μΌλ‘ νν°μ λ§λ€ λμΌν ꡬ쑰μ μ€ν€λ§λ₯Ό κ°μ§μ§λ§, λ€λ₯Έ λ°μ΄ν° κ° λ²μλ₯Ό κ°μ§λλ€. μ΄λ λ°μ΄ν° μ κ·Ό μλλ₯Ό λΉ λ₯΄κ² νκ³ νν°μ λ§λ€ λ€λ₯Έ κ΄λ¦¬ μ μ± μ μ μ©ν μ μλ μ₯μ μ μ 곡ν©λλ€.
νν°μ ν μ΄λΈμ λμ©λ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ κ²½μ° νΉν μ μ©ν©λλ€. μλ₯Ό λ€μ΄, μκ°λ³λ‘ λ°μ΄ν°λ₯Ό λΆν νμ¬ ν μ΄λΈμ μμ±νλ©΄, κ³Όκ±° λ°μ΄ν°μ λν μ‘°νλ μμ μμ μ μν₯μ μ£Όμ§ μκ³ μ΅κ·Ό λ°μ΄ν°μ μ§μ€ν μ μμ΅λλ€. λν, νΉμ νν°μ μ λν μμ μ μνν¨μΌλ‘μ¨ μλ‘ λ€λ₯Έ μ μ₯ ꡬ쑰μ μΈλ±μ€λ₯Ό κ°μ§ μμ ν μ΄λΈμμ μμ νλ κ²κ³Ό κ°μ ν¨μ¨μ±μ μ»μ μ μμ΅λλ€.
νν°μ ν μ΄λΈμ λ°μ΄ν°μ μ μ₯, μ‘°ν, μμ , μμ λ°©λ²μ μμ΄μ μΌλ° ν μ΄λΈκ³Ό λμΌν λ°©μμΌλ‘ λ€λ£° μ μμ΅λλ€. νν°μ ν μ΄λΈμ μ¬μ©νμ¬ λ°μ΄ν°λ² μ΄μ€μ μ±λ₯μ ν₯μμν€κ³ μ μ§λ³΄μ λΉμ©μ μ€μΌ μ μμ΅λλ€. μ΄μ νν°μ ν μ΄λΈμ μμ±νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
2. νν°μ ν μ΄λΈ μμ± λ°©λ²
μ€λΌν΄μμ νν°μ ν μ΄λΈμ μμ±νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€:
- ν μ΄λΈμ μμ±ν λ°μ΄ν°λ² μ΄μ€μ μ μν©λλ€.
- CREATE TABLE λ¬Έμ μ¬μ©νμ¬ ν
μ΄λΈμ μμ±ν©λλ€.
CREATE TABLE ν μ΄λΈλͺ ( μΉΌλΌ1 λ°μ΄ν°νμ , μΉΌλΌ2 λ°μ΄ν°νμ , ... )
- PARTITION BY μ μ μ¬μ©νμ¬ νν°μ
ν
μ΄λΈμ μ€μ ν©λλ€.
PARTITION BY [λ²μ λλ ν΄μ]
- λ²μ νν°μ : λ°μ΄ν°μ λ²μλ₯Ό κΈ°μ€μΌλ‘ νν°μ μ λλλλ€. μΌλ°μ μΌλ‘ λ μ§λ μ«μ λ²μμ λ§μ΄ μ¬μ©λ©λλ€.
- ν΄μ νν°μ : λ°μ΄ν° κ°μ ν΄μ ν¨μμ μν΄ ν΄μκ°μΌλ‘ λ³ννμ¬ νν°μ μ λλλλ€. λ°μ΄ν° λΆμ°μ μν΄ μ¬μ©λ©λλ€.
- νν°μ
ν€λ₯Ό μ ννμ¬ κ° νν°μ
μ κΈ°λ³Έ ν
μ΄λΈ 곡κ°μ μ§μ ν©λλ€.
PARTITION BY [λ²μ λλ ν΄μ] ( PARTITION νν°μ λͺ 1 TABLESPACE ν μ΄λΈμ€νμ΄μ€λͺ 1, PARTITION νν°μ λͺ 2 TABLESPACE ν μ΄λΈμ€νμ΄μ€λͺ 2, ... )
- νν°μ λͺ : κ° νν°μ μ ꡬλΆνκΈ° μν μ΄λ¦μ λλ€.
- ν μ΄λΈμ€νμ΄μ€λͺ : νν°μ μ ν λΉν ν μ΄λΈμ€νμ΄μ€ μ΄λ¦μ λλ€.
- μΆκ°μ μΈ νν°μ
μ€μ μ μνν©λλ€. (μ ν μ¬ν)
- νν°μ μΈλ±μ€ μμ±: κ° νν°μ μ λν μΈλ±μ€λ₯Ό μμ±νμ¬ λ°μ΄ν° μ κ·Ό μλλ₯Ό ν₯μμν¬ μ μμ΅λλ€.
- λ‘컬 μΈλ±μ€ μμ±: κ° νν°μ μ λν λ‘컬 μΈλ±μ€λ₯Ό μμ±νμ¬ νν°μ κ°μ λ 립μ±μ μ μ§ν μ μμ΅λλ€.
- νν°μ μμΈ μ²λ¦¬: νΉμ νν°μ μμ μμΈμν©μ΄ λ°μνμ λμ μ²λ¦¬ λ°©λ²μ μ€μ ν μ μμ΅λλ€.
νν°μ ν μ΄λΈμ μμ±νλ©΄, νν°μ λ§λ€ λ 립μ μΈ μ μ₯ μμμ κ°μ§κ² λκ³ , νν°μ κ³Ό κ΄λ ¨λ μΈλ±μ€, μ μ½ μ‘°κ±΄, νν°μ κ΄λ¦¬ μ μ± λ±μ μ μ©ν μ μμ΅λλ€. νν°μ ν μ΄λΈμ μ±κ³΅μ μΌλ‘ μμ±νλ©΄, νν°μ μ λ°μ΄ν°λ₯Ό μΆκ°νκ±°λ μ‘°ννλ λ±μ μμ μ μνν μ μμ΅λλ€. μ΄μ νν°μ ν μ΄λΈμ μ‘°ννλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
3. νν°μ ν μ΄λΈ μ‘°ν λ°©λ²
νν°μ ν μ΄λΈμ μ‘°ννλ λ°©λ²μ μΌλ° ν μ΄λΈκ³Ό λμΌν©λλ€. λ€λ§, νν°μ ν μ΄λΈμ΄ μ¬λ¬ κ°μ νν°μ μΌλ‘ ꡬμ±λμ΄ μκΈ° λλ¬Έμ, νΉμ νν°μ μ λν μ‘°νλ 쑰건μ μ€μ νλ κ²μ΄ μ€μν©λλ€. νν°μ ν μ΄λΈμ μ‘°ννλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€:
- SELECT λ¬Έμ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μ‘°νν©λλ€.
SELECT * FROM νν°μ _ν μ΄λΈλͺ ;
- νν°μ
ν
μ΄λΈμ νΉμ νν°μ
λ°μ΄ν°λ₯Ό μ‘°ννλ €λ©΄ WHERE μ μ μ¬μ©νμ¬ μ‘°κ±΄μ μ€μ ν©λλ€.
SELECT * FROM νν°μ _ν μ΄λΈλͺ PARTITION (νν°μ λͺ ) WHERE 쑰건;
- νν°μ λͺ : μ‘°ννλ €λ νΉμ νν°μ μ μ΄λ¦μ λλ€.
- 쑰건: μ‘°ννλ €λ λ°μ΄ν°μ 쑰건μ μ€μ ν©λλ€.
- νν°μ
ν
μ΄λΈμ νν°μ
μ 보λ₯Ό νμΈνλ €λ©΄ λ€μ 쿼리λ₯Ό μ¬μ©ν©λλ€.
SELECT partition_name, tablespace_name FROM user_tab_partitions WHERE table_name = 'νν°μ _ν μ΄λΈλͺ ';
- partition_name: νν°μ μ μ΄λ¦μ λλ€.
- tablespace_name: νν°μ μ ν λΉλ ν μ΄λΈμ€νμ΄μ€μ μ΄λ¦μ λλ€.
νν°μ ν μ΄λΈμ μ‘°νν λλ 쑰건μ μ€μ νμ¬ μνλ λ°μ΄ν°λ₯Ό κ²μν μ μμ΅λλ€. νΉμ νν°μ μ λν μ‘°νλ 쑰건 μ€μ μ ν΅ν΄ μ±λ₯μ μ΅μ νν μ μμ΅λλ€. λν, μ μν΄μΌ ν μ μ νν°μ ν μ΄λΈμ λ°μ΄ν°λ₯Ό μμ λλ μμ ν λλ 쑰건μ μ€μ νμ¬ νΉμ νν°μ λ§ μμ λλ μμ ν μ μμ΅λλ€. μ΄μ νν°μ ν μ΄λΈμ λ³κ²½νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
4. νν°μ ν μ΄λΈ μμ λ°©λ²
νν°μ ν μ΄λΈμ μμ ν λλ νν°μ ꡬμ±, ν μ΄λΈ μ€νμ΄μ€, μΈλ±μ€μ κ΄λ ¨λ μ€μ λ±μ λ³κ²½ν μ μμ΅λλ€. νν°μ ν μ΄λΈμ μμ νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€:
- νν°μ
ν
μ΄λΈ ꡬ쑰 λ³κ²½μ μν΄ ALTER TABLE λ¬Έμ μ¬μ©ν©λλ€.
ALTER TABLE νν°μ _ν μ΄λΈλͺ
- νν°μ
ν
μ΄λΈμ μλ‘μ΄ νν°μ
μ μΆκ°νλ €λ©΄ ADD PARTITION μ μ μ¬μ©ν©λλ€.
ALTER TABLE νν°μ _ν μ΄λΈλͺ ADD PARTITION PARTITION νν°μ λͺ VALUES LESS THAN (κ°);
- νν°μ λͺ : μΆκ°ν νν°μ μ μ΄λ¦μ λλ€.
- κ°: νν°μ μ λ²μλ₯Ό μ§μ νλ κ°μ λλ€.
- νν°μ
ν
μ΄λΈμμ νΉμ νν°μ
μ μμ νλ €λ©΄ DROP PARTITION μ μ μ¬μ©ν©λλ€.
ALTER TABLE νν°μ _ν μ΄λΈλͺ DROP PARTITION νν°μ λͺ ;
- νν°μ λͺ : μμ ν νν°μ μ μ΄λ¦μ λλ€.
- νν°μ
ν
μ΄λΈμ νν°μ
μ 보λ₯Ό λ³κ²½νλ €λ©΄ SPLIT PARTITION λλ MERGE PARTITION μ μ μ¬μ©ν©λλ€.
- SPLIT PARTITION: νλμ νν°μ μ μ¬λ¬ κ°μ νν°μ μΌλ‘ λΆν ν©λλ€.
- MERGE PARTITION: μ¬λ¬ κ°μ νν°μ
μ νλμ νν°μ
μΌλ‘ λ³ν©ν©λλ€.
ALTER TABLE νν°μ _ν μ΄λΈλͺ SPLIT PARTITION κΈ°μ‘΄_νν°μ λͺ INTO (μλ‘μ΄_νν°μ λͺ 1, μλ‘μ΄_νν°μ λͺ 2, ...); ALTER TABLE νν°μ _ν μ΄λΈλͺ MERGE PARTITION (νν°μ λͺ 1, νν°μ λͺ 2, ...) INTO νν°μ λͺ ;
- κΈ°μ‘΄_νν°μ λͺ : λΆν νκ±°λ λ³ν©ν κΈ°μ‘΄μ νν°μ μ μ΄λ¦μ λλ€.
- μλ‘μ΄_νν°μ λͺ : λΆν λλ λ³ν© ν μμ±λ νν°μ μ μ΄λ¦μ λλ€.
- νν°μ
ν
μ΄λΈμ νν°μ
μ λν ν
μ΄λΈμ€νμ΄μ€λ₯Ό λ³κ²½νλ €λ©΄ MODIFY PARTITION μ μ μ¬μ©ν©λλ€.
ALTER TABLE νν°μ _ν μ΄λΈλͺ MODIFY PARTITION νν°μ λͺ TABLESPACE μ_ν μ΄λΈμ€νμ΄μ€λͺ ;
- νν°μ λͺ : ν μ΄λΈμ€νμ΄μ€λ₯Ό λ³κ²½ν νν°μ μ μ΄λ¦μ λλ€.
- μ_ν μ΄λΈμ€νμ΄μ€λͺ : λ³κ²½ν ν μ΄λΈμ€νμ΄μ€μ μ΄λ¦μ λλ€.
νν°μ ν μ΄λΈμ μμ ν λλ μ£Όμν΄μΌ ν μ μ΄ μμ΅λλ€. νν°μ ν μ΄λΈμ λν μμ μμ μ ν μ΄λΈμ ν¬κΈ°κ° ν° κ²½μ° μ€λ μκ°μ΄ 걸릴 μ μκΈ° λλ¬Έμ μ£Όμν νμκ° μμ΅λλ€. λν, νν°μ ν μ΄λΈμ ꡬ쑰λ₯Ό λ³κ²½ν λλ ν΄λΉ ν μ΄λΈμ λν κΆνμ κ°μ§κ³ μμ΄μΌ ν©λλ€. μ΄μ νν°μ ν μ΄λΈμ μμ νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
5. νν°μ ν μ΄λΈ μμ λ°©λ²
νν°μ ν μ΄λΈμ μμ νλ λ°©λ²μ μΌλ° ν μ΄λΈμ μμ νλ λ°©λ²κ³Ό λμΌν©λλ€. λ€λ§, νν°μ ν μ΄λΈμ μ¬λ¬ κ°μ νν°μ μΌλ‘ ꡬμ±λμ΄ μκΈ° λλ¬Έμ, λͺ¨λ νν°μ μ μ κ±°ν΄μΌ νν°μ ν μ΄λΈμ μμ ν μ μμ΅λλ€. νν°μ ν μ΄λΈμ μμ νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€:
- νν°μ ν μ΄λΈμ μμ νκΈ° μ μ ν΄λΉ ν μ΄λΈμ λν κΆνμ κ°μ§κ³ μλμ§ νμΈν©λλ€.
- ν΄λΉ ν μ΄λΈμ μ°Έμ‘°νκ³ μλ λ€λ₯Έ κ°μ²΄(λ·°, μΈλ±μ€, μ μ½μ‘°κ±΄ λ±)κ° μλμ§ νμΈν©λλ€. νμμ λ°λΌ ν΄λΉ κ°μ²΄λ€μ λ¨Όμ μμ ν©λλ€.
- νν°μ
ν
μ΄λΈμ μμ νλ €λ©΄ DROP TABLE λ¬Έμ μ¬μ©ν©λλ€.
DROP TABLE νν°μ _ν μ΄λΈλͺ ;
νν°μ ν μ΄λΈμ μμ ν λλ μ£Όμν΄μΌ ν μ μ΄ μμ΅λλ€. νν°μ ν μ΄λΈμ μ¬λ¬ κ°μ νν°μ μΌλ‘ ꡬμ±λμ΄ μκΈ° λλ¬Έμ, λͺ¨λ νν°μ μ μ κ±°ν νμ νν°μ ν μ΄λΈμ μμ ν΄μΌ ν©λλ€. λν, νν°μ ν μ΄λΈμ μμ λ νμλ 볡ꡬν μ μμΌλ―λ‘, λ°μ΄ν°μ λ°±μ μ΄ νμν κ²½μ° λ°λμ 미리 λ°±μ μ μνν΄μΌ ν©λλ€.
νν°μ ν μ΄λΈμ μμ νκΈ° μ μ μ¬μ©λμ§ μλ νν°μ μ νμΈνκ³ μμ νλ κ²λ μ’μ λ°©λ²μ λλ€. μ΄λ₯Ό ν΅ν΄ νν°μ ν μ΄λΈμ λ³΄λ€ ν¨μ¨μ μΌλ‘ κ΄λ¦¬ν μ μμ΅λλ€. νν°μ ν μ΄λΈμ μμ ν νμλ ν΄λΉ ν μ΄λΈκ³Ό κ΄λ ¨λ λͺ¨λ κ°μ²΄κ° μ 리λμλμ§ νμΈνλ κ²μ΄ μ’μ΅λλ€. μ΄μ νν°μ ν μ΄λΈμ μ±λ₯ ν₯μμ μν μΈλ±μ€ μ€μ μ λν΄ μμλ³΄κ² μ΅λλ€.
λκΈ