ITPUB??ì3
ITPUB论坛 » Oracle开发 » inserted partition key does not map to any partition

标题: [笔记] inserted partition key does not map to any partition
离线 czj68586
初级会员



精华贴数 0
个人空间 0
技术积分 25 (45364)
社区积分 0 (190662)
注册日期 2004-10-29
论坛徽章:0
      
      

发表于 2008-6-26 01:10 
inserted partition key does not map to any partition

insert into di_source.zh_m_etl_ti_tlw_toll
(
  DEAL_DATE                    , --处理时间
  BUSINESS_TYPE                ,        --结算种类
  BILL_TYPE                    ,        --话单类型(POC,PTC,MOC...etc)
  SWITCH_CODE                  ,        --交换机标号
   )
select /*+parallel(a,8)*/
    to_number(DEAL_DATE), --处理时间
    BUSINESS_TYPE       , --结算种类
    BILL_TYPE           , --话单类型(POC,PTC,MOC...etc)
    SWITCH_CODE         , --交换机标号
    from etl_ti_tlw_toll_his a
where substr(deal_date,1,8)='20071206'

zh_m_etl_ti_tlw_toll分区表创建语句如下:
create table zh_m_ETL_TI_TLW_TOLL
(
  DEAL_DATE                    number(10)           , --处理时间                           
  BUSINESS_TYPE                varchar2(20)  ,        --结算种类                           
  BILL_TYPE                    VARCHAR2(20)  ,        --话单类型(POC,PTC,MOC...etc)         
  SWITCH_CODE                  VARCHAR2(20)         --交换机标号                          
                     
)                                                                             
  tablespace TBS_SOUR13                                                        
  partition by range(deal_date)                                                
  subpartition by list(switch_code)                                          
   SUBPARTITION TEMPLATE(                                                                                    
     subpartition s_0410 values('410') tablespace TBS_SOUR13,                                                  
     subpartition s_0411 values('411') tablespace TBS_SOUR13,                                                  
     subpartition s_0412 values('412') tablespace TBS_SOUR13,                                                  
     subpartition s_0413 values('413') tablespace TBS_SOUR13,                                                  
     subpartition s_0417 values('417') tablespace TBS_SOUR13,                                                  
     subpartition s_0421 values('421') tablespace TBS_SOUR13,                                                  
     subpartition s_0498 values('498') tablespace TBS_SOUR13,                                                  
     subpartition s_0499 values('499') tablespace TBS_SOUR13                                                   
     )                             
    (PARTITION zh_m_etl_toll_20071201 VALUES LESS THAN  (20071202),  
     PARTITION zh_m_etl_toll_20071202 VALUES LESS THAN  (20071203),  
     PARTITION zh_m_etl_toll_20071203 VALUES LESS THAN  (20071204),  
     PARTITION zh_m_etl_toll_20071204 VALUES LESS THAN  (20071205),  
     PARTITION zh_m_etl_toll_20071205 VALUES LESS THAN  (20071206),  
     PARTITION zh_m_etl_toll_20071206 VALUES LESS THAN  (20071207),  
     PARTITION zh_m_etl_toll_20071207 VALUES LESS THAN  (20071208),  
     PARTITION zh_m_etl_toll_20071208 VALUES LESS THAN  (20071209),  
     PARTITION zh_m_etl_toll_20071209 VALUES LESS THAN  (20071210),  
     PARTITION zh_m_etl_toll_20071210 VALUES LESS THAN  (20071211),  
     PARTITION zh_m_etl_toll_20071211 VALUES LESS THAN  (20071212),  
     PARTITION zh_m_etl_toll_20071212 VALUES LESS THAN  (20071213),  
     PARTITION zh_m_etl_toll_20071213 VALUES LESS THAN  (20071214),  
     PARTITION zh_m_etl_toll_20071214 VALUES LESS THAN  (20071215),  
     PARTITION zh_m_etl_toll_20071215 VALUES LESS THAN  (20071216),  
     PARTITION zh_m_etl_toll_20071216 VALUES LESS THAN  (20071217),  
     PARTITION zh_m_etl_toll_20071217 VALUES LESS THAN  (20071218),  
     PARTITION zh_m_etl_toll_20071218 VALUES LESS THAN  (20071219),  
     PARTITION zh_m_etl_toll_20071219 VALUES LESS THAN  (20071220),  
     PARTITION zh_m_etl_toll_20071220 VALUES LESS THAN  (20071221),  
     PARTITION zh_m_etl_toll_20071221 VALUES LESS THAN  (20071222),  
     PARTITION zh_m_etl_toll_20071222 VALUES LESS THAN  (20071223),  
     PARTITION zh_m_etl_toll_20071223 VALUES LESS THAN  (20071224),  
     PARTITION zh_m_etl_toll_20071224 VALUES LESS THAN  (20071225),  
     PARTITION zh_m_etl_toll_20071225 VALUES LESS THAN  (20071226),  
     PARTITION zh_m_etl_toll_20071226 VALUES LESS THAN  (20071227),  
     PARTITION zh_m_etl_toll_20071227 VALUES LESS THAN  (20071228),  
     PARTITION zh_m_etl_toll_20071228 VALUES LESS THAN  (20071229),  
     PARTITION zh_m_etl_toll_20071229 VALUES LESS THAN  (20071230),
     PARTITION zh_m_etl_toll_20071230 VALUES LESS THAN  (20071231),  
     PARTITION zh_m_etl_toll_20071231 VALUES LESS THAN  (20080101));   
插入时报错:ORA-14400: inserted partition key does not map to any partition
我查了表分区好像但是分区里也有与'20071206'相对应的分区呀,按理说应该是没问题的,大家帮忙看下,谢谢


__________________
有志者事竟成,无志者常立志
只看该作者    顶部
离线 zhangfengh
老狐狸


精华贴数 3
个人空间 0
技术积分 12186 (95)
社区积分 5265 (272)
注册日期 2002-10-12
论坛徽章:80
数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星
      

发表于 2008-6-26 07:28 
DEAL_DATE                    number(10)           , --处理时间            

你只取了前8位为20071206,实际的值是什么,
而你分区是用PARTITION zh_m_etl_toll_20071205 VALUES LESS THAN  (20071206),  

有长度为9的,例如200712061之类的值,就会报错的


__________________
=======================================
接受以下奥运徽章赞助
黄色:篮球、田径、体操
红色:射击
=======================================
接受鲜花赞助
蓝色妖姬
紫蜘蛛
九尾狐狸
=======================================
狐狸在这个世界上是凭借聪明而得到生存的,并且在这个世界上占有一席之地,学习狐狸的聪明,少走弯路。
=======================================
聪明的人,能把别人的经验吸收过来,使之成为自己的经验!
=======================================
只看该作者    顶部
离线 visual2006



精华贴数 0
个人空间 0
技术积分 768 (2435)
社区积分 4 (18235)
注册日期 2006-7-23
论坛徽章:1
      
      

发表于 2008-6-26 08:19 
老狐狸好早啊!


只看该作者    顶部
离线 junsansi
无名扫把


来自 bj
精华贴数 7
个人空间 8669
技术积分 7683 (164)
社区积分 584 (1255)
注册日期 2006-7-17
论坛徽章:59
现任管理团队成员2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:游泳2008北京奥运纪念徽章:垒球
      

发表于 2008-6-26 08:45 
to_number(DEAL_DATE)改为to_number(substr(deal_date,1,8))


__________________
[三思笔记]学习动态性能表
[三思笔记]一步一步学rman
[三思笔记]oracle著名及非著名函数介绍
[三思笔记]Statspack初步学和用
[三思笔记]RMAN高级应用之Duplicate复制数据库
[三思笔记]使用传输表空间的特性复制数据
[三思笔记]一步一步学DataGuard
[三思笔记]全面学习分区表及分区索引
[三思笔记]手把手教你用VMware安装Oracle10g RAC
[三思笔记]全面学习oracle flashback特性

沉淀是一件很枯燥的事情,我要从沉淀中汲取营养,于枯燥中寻找乐趣,我没疯,你才是疯子,哇哈哈,哇哈哈哈哈~~
============================================
http://www.5ienet.com我爱我佳
扫地不过是我表面上的工作,我真正的身份其实是无名老僧------------------手里那根扫把~~~~
只看该作者    顶部
离线 czj68586
初级会员



精华贴数 0
个人空间 0
技术积分 25 (45364)
社区积分 0 (190662)
注册日期 2004-10-29
论坛徽章:0
      
      

发表于 2008-6-26 09:33 
检查了数据源也没有发展异常数据,各种方法也试过,还是报同样的错.


__________________
有志者事竟成,无志者常立志
只看该作者    顶部
离线 junsansi
无名扫把


来自 bj
精华贴数 7
个人空间 8669
技术积分 7683 (164)
社区积分 584 (1255)
注册日期 2006-7-17
论坛徽章:59
现任管理团队成员2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:游泳2008北京奥运纪念徽章:垒球
      

发表于 2008-6-26 10:11 
你还有一个子分区依赖列:SWITCH_CODE
看一下要插入的列值是否符合该list子分区定义的范围值~~


__________________
[三思笔记]学习动态性能表
[三思笔记]一步一步学rman
[三思笔记]oracle著名及非著名函数介绍
[三思笔记]Statspack初步学和用
[三思笔记]RMAN高级应用之Duplicate复制数据库
[三思笔记]使用传输表空间的特性复制数据
[三思笔记]一步一步学DataGuard
[三思笔记]全面学习分区表及分区索引
[三思笔记]手把手教你用VMware安装Oracle10g RAC
[三思笔记]全面学习oracle flashback特性

沉淀是一件很枯燥的事情,我要从沉淀中汲取营养,于枯燥中寻找乐趣,我没疯,你才是疯子,哇哈哈,哇哈哈哈哈~~
============================================
http://www.5ienet.com我爱我佳
扫地不过是我表面上的工作,我真正的身份其实是无名老僧------------------手里那根扫把~~~~
只看该作者    顶部
离线 DragonBill
武陵愚生


精华贴数 1
个人空间 10
技术积分 3260 (443)
社区积分 391 (1582)
注册日期 2006-12-18
论坛徽章:13
2008北京奥运纪念徽章:击剑生肖徽章2007版:虎    
      

发表于 2008-6-26 10:46 
查一查DEAL_DATE和SWITCH_CODE的实际值是什么


只看该作者    顶部
离线 czj68586
初级会员



精华贴数 0
个人空间 0
技术积分 25 (45364)
社区积分 0 (190662)
注册日期 2004-10-29
论坛徽章:0
      
      

发表于 2008-6-26 11:20 
感谢大家,是switch_code 列表分区中的值少了.


__________________
有志者事竟成,无志者常立志
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问