问题描述
Oracle数据库中,通过insert into 语句往一张表导入数据时,报下面的错误:
ORA-14400: inserted partition key does not map to any partition
错误描述:
插入的新数据没有满足的partition,无法插入数据。
问题解决
查看分区
select a.table_name, a.partition_name, b.column_name, a.high_value, a.partition_position
from ALL_TAB_PARTITIONS a left join ALL_PART_KEY_COLUMNS b on a.table_name = b.name
where a.table_name = 'XXX';
通过上面的sql,就可以查看该表当前的partition信息。
解决
对于新导入的数据,因为没有可用的partition,所以我们可以给新的数据新建对应的partition,然后就可以导入:
alter table XXX add partition partition_name values ("xxx");
或者
alter table XXX add partition "partition_name" values ("xxx");
或者
alter table XXX add partition partition_name values less than ("xxx");