यहाँ एक उदाहरण है कि इसे Oracle 11g पर कैसे करना है और यह बहुत अच्छी तरह से काम करता है। मैंने इसे Oracle 10g पर नहीं आज़माया है, आप इसे आज़मा सकते हैं।
यह तरीका है, दैनिक विभाजन के साथ तालिका कैसे बनाएं:
CREATE TABLE XXX (
partition_date DATE,
...,
...,
)
PARTITION BY RANGE (partition_date)
INTERVAL (NUMTODSINTERVAL(1, 'day'))
(
PARTITION part_01 values LESS THAN (TO_DATE('2000-01-01','YYYY-MM-DD'))
)
TABLESPACE MY_TABLESPACE
NOLOGGING;
जैसा कि आप ऊपर देख सकते हैं, Oracle 1 जनवरी 2000 के बाद प्रत्येक अलग-अलग विभाजन_दिन के लिए स्वचालित रूप से अलग-अलग विभाजन बनाएगा। अभिलेख, जिसका विभाजन_दिनांक इस तिथि से पुराना है, 'part_01' नामक विभाजन में संग्रहीत किया जाएगा।
आप इस कथन का उपयोग करके अपने टेबल विभाजन की निगरानी कर सकते हैं:
SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';
बाद में, जब आप कुछ विभाजन हटाना चाहते हैं, तो निम्न कमांड का उपयोग करें:
ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES
जहां 'AAAAAA' पैरिशन नाम है।
मुझे आशा है कि यह आपकी मदद करेगा!