inserted partition key does not map to any partition

本文记录了将一张190G的大表转换为按月自动分区的分区表的过程。在转换过程中遇到了ORA-02354和ORA-14400错误,并成功定位到问题所在——部分字段存在空值。提供了创建分区表的脚本及数据导入脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天想把一张190G的大表,转成分区表。且按月自动分区

再导入过程中报错了:

ORA-02354: error in exporting/importing data
ORA-14400: inserted partition key does not map to any partition
Processing object type TABLE_EXPORT/TABLE/COMMENT

怀疑是有非法值于是确认下

SQL> alter table L2_DM_FACT_***_OLD modify  CALENDAR_DATE not null 
  2  /
alter table L2_DM_FACT_DBBHFP_OLD modify  CALENDAR_DATE not null
*
ERROR at line 1:
ORA-02296: cannot enable (EDW.) - null values found

果然如此,那么交给研发先去处理这些空值吧。

附上按月创建分区表的脚本:

/* Formatted on 9/20/2017 5:28:29 PM (QP5 v5.300) */
CREATE TABLE L2_DM_FACT_DBBHFP_NEW
(
    "CALENDAR_DATE"   DATE,
    "STORE_ID"        VARCHAR2 (32 CHAR),
    "QTY_SAL"         NUMBER (28, 7),
    "QTYIN"           NUMBER (28, 7),
    "QTYOUT"          NUMBER (28, 7),
    "PRODUCT_ID"      VARCHAR2 (180 CHAR),
    "COLOR_CODE"      VARCHAR2 (255 CHAR),
    "PC_ID"           VARCHAR2 (435 CHAR)
)
PARTITION BY RANGE
    (CALENDAR_DATE)
    INTERVAL ( NUMTOYMINTERVAL (1, 'month') )
    (PARTITION p_month_1
         VALUES LESS THAN (TO_DATE ('2000-01-01', 'yyyy-mm-dd')))

导入的数据泵脚本也分享下:

impdp edw/***  directory=dump_dir dumpfile=hdp.dmp remap_table=t1:t1_NEW  table_exists_action=append 

注意remap_table的用法,和table_exists_action的用法

append是不修改表的元数据,但是追加表数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值