select partition_name,column_name,high_value,partition_position
from ALL_TAB_PARTITIONS a , ALL_PART_KEY_COLUMNS b
where table_name='YOUR_TABLE' and a.table_name = b.name;
इस क्वेरी को सूचीबद्ध स्तंभ कुंजी और अनुमति के रूप में इस्तेमाल का नाम: ORA-14400: inserted partition key does not map to any partition
"
तालिका dba_tab_partitions
नीचे इस जानकारियां पता चलता मान लें। सुनिश्चित करें कि आप अनुमत मान (high_value
) डालें। अन्यथा, यदि डिफ़ॉल्ट विभाजन परिभाषित किया गया है, तो यह वहां जाएगा।
संपादित करें:
मुझे लगता है, अपनी तालिका DDL इस तरह होगा।
CREATE TABLE HE0_DT_INF_INTERFAZ_MES
(
COD_PAIS NUMBER,
FEC_DATA NUMBER,
INTERFAZ VARCHAR2(100)
)
partition BY RANGE(COD_PAIS, FEC_DATA)
(
PARTITION PDIA_98_20091023 VALUES LESS THAN (98,20091024)
);
जिसका मतलब है मैं कई कॉलम के साथ एक विभाजन जो समग्र रेंज (98,20091024) की तुलना में कम मूल्य रखती बनाया था;
है यही कारण है कि पहले COD_PAIS <= 98
और इसके अलावा FEC_DATA < 20091024
संयोजन और परिणाम:
98, 20091024 FAIL
98, 20091023 PASS
99, ******** FAIL
97, ******** PASS
< 98, ******** PASS
तो नीचे INSERT
ORA-14400 के साथ विफल रहता है; क्योंकि INSERT
में (98,20091024)
DDL
में से एक के लिए समान लेकिन नहीं यह भी कम है।
SQL> INSERT INTO HE0_DT_INF_INTERFAZ_MES(COD_PAIS, FEC_DATA, INTERFAZ)
VALUES(98, 20091024, 'CTA'); 2
INSERT INTO HE0_DT_INF_INTERFAZ_MES(COD_PAIS, FEC_DATA, INTERFAZ)
*
ERROR at line 1:
ORA-14400: inserted partition key does not map to any partition
लेकिन, हम मैं प्रयास (, 20,091,024), यह
SQL> INSERT INTO HE0_DT_INF_INTERFAZ_MES(COD_PAIS, FEC_DATA, INTERFAZ)
2 VALUES(97, 20091024, 'CTA');
1 row created.
माध्यम से चला जाता आप विभाजन मौजूद नहीं है कि में पंक्तियां सम्मिलित करने के लिए कोशिश कर रहे हैं। क्या आपके पास डिफ़ॉल्ट विभाजन परिभाषित है? एक डिफ़ॉल्ट विभाजन बनाएं और यह निर्धारित करने के लिए कि क्या आपको किसी भी नए विभाजन की आवश्यकता है –
@ user3249825 क्या आप मेरे अपडेट किए गए उत्तर को संदर्भित कर सकते हैं, यह निर्धारित करने के लिए अपने सम्मिलन कथन के बाद उस विभाजन में पंक्तियों की जांच करें? –