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;
Diese Abfrage den Spaltennamen als Schlüssel verwendet auflistet und die erlaubte Stellen Sie sicher, dass Sie die zulässigen Werte eingeben (high_value
), andernfalls wird die Standardpartition definiert, wenn sie definiert wird.
EDIT:
Ich nehme an, Ihre TABLE DDL so sein würde.
Das bedeutet, ich hatte eine Partition mit mehreren Spalten erstellt, die Wert weniger als den zusammengesetzten Bereich (98,20091024) enthält;
Das erste COD_PAIS <= 98
ist und FEC_DATA < 20091024
auch
Kombinationen und Ergebnis:
98, 20091024 FAIL
98, 20091023 PASS
99, ******** FAIL
97, ******** PASS
< 98, ******** PASS
die unter INSERT
nicht mit ORA-14400 So; weil (98,20091024)
in INSERT
ist EQUAL zu dem in DDL
aber NICHT weniger als es.
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
Aber wir ich versuchen (, 20091024), geht es durch
SQL> INSERT INTO HE0_DT_INF_INTERFAZ_MES(COD_PAIS, FEC_DATA, INTERFAZ)
2 VALUES(97, 20091024, 'CTA');
1 row created.
Sie versuchen, Zeilen in der Partition einzufügen, die nicht existiert. Ist die Standardpartition definiert? Erstellen Sie eine Standardpartition und überprüfen Sie die Zeilen in dieser Partition nach der INSERT-Anweisung, um festzustellen, ob neue Partitionen hinzugefügt werden müssen –
@ user3249825 Können Sie meine aktualisierte Antwort beziehen? –