ORA-01722: invalid number

ORA-01722: invalid number

—问题

select owner,index_name,DEGREE from DBA_INDEXES where DEGREE>1

                                                      *

ERROR at line 1:

ORA-01722: invalid number 

–1 获取运行跟踪信息

SQL> set autotrace traceonly

SQL> select owner,index_name,DEGREE from DBA_INDEXES where DEGREE=1 and rownum<2;

Elapsed: 00:00:00.05

Execution Plan

———————————————————-

Plan hash value: 3920975716

——————————————————————————————————-

| Id  | Operation                            | Name           | Rows  | Bytes | Cost (%CPU)| Time     |

——————————————————————————————————-

|   0 | SELECT STATEMENT                     |                |     1 |   120 |    18   (0)| 00:00:01 |

|*  1 |  COUNT STOPKEY                       |                |       |       |            |          |

|   2 |   NESTED LOOPS OUTER                 |                |     1 |   120 |    18   (0)| 00:00:01 |

|   3 |    NESTED LOOPS OUTER                |                |     1 |   117 |    17   (0)| 00:00:01 |

|   4 |     NESTED LOOPS                     |                |     1 |   106 |    16   (0)| 00:00:01 |

|   5 |      NESTED LOOPS                    |                |     1 |   102 |    15   (0)| 00:00:01 |

|   6 |       NESTED LOOPS OUTER             |                |     1 |    85 |    14   (0)| 00:00:01 |

|   7 |        NESTED LOOPS                  |                |     1 |    81 |    13   (0)| 00:00:01 |

|   8 |         NESTED LOOPS OUTER           |                |     1 |    73 |    12   (0)| 00:00:01 |

|   9 |          NESTED LOOPS                |                |     1 |    65 |    11   (0)| 00:00:01 |

|* 10 |           TABLE ACCESS FULL          | IND$           |    25 |   750 |    10   (0)| 00:00:01 |

|* 11 |           TABLE ACCESS BY INDEX ROWID| OBJ$           |     1 |    35 |     1   (0)| 00:00:01 |

|* 12 |            INDEX UNIQUE SCAN         | I_OBJ1         |     1 |       |     0   (0)| 00:00:01 |

|  13 |          TABLE ACCESS BY INDEX ROWID | OBJ$           |     1 |     8 |     1   (0)| 00:00:01 |

|* 14 |           INDEX UNIQUE SCAN          | I_OBJ1         |     1 |       |     0   (0)| 00:00:01 |

|  15 |         TABLE ACCESS BY INDEX ROWID  | OBJ$           |     1 |     8 |     1   (0)| 00:00:01 |

|* 16 |          INDEX UNIQUE SCAN           | I_OBJ1         |     1 |       |     0   (0)| 00:00:01 |

|  17 |        TABLE ACCESS CLUSTER          | USER$          |     1 |     4 |     1   (0)| 00:00:01 |

|* 18 |         INDEX UNIQUE SCAN            | I_USER#        |     1 |       |     0   (0)| 00:00:01 |

|  19 |       TABLE ACCESS CLUSTER           | USER$          |     1 |    17 |     1   (0)| 00:00:01 |

|* 20 |        INDEX UNIQUE SCAN             | I_USER#        |     1 |       |     0   (0)| 00:00:01 |

|  21 |      TABLE ACCESS CLUSTER            | USER$          |     1 |     4 |     1   (0)| 00:00:01 |

|* 22 |       INDEX UNIQUE SCAN              | I_USER#        |     1 |       |     0   (0)| 00:00:01 |

|  23 |     TABLE ACCESS CLUSTER             | SEG$           |     1 |    11 |     1   (0)| 00:00:01 |

|* 24 |      INDEX UNIQUE SCAN               | I_FILE#_BLOCK# |     1 |       |     0   (0)| 00:00:01 |

|  25 |    TABLE ACCESS CLUSTER              | TS$            |     1 |     3 |     1   (0)| 00:00:01 |

|* 26 |     INDEX UNIQUE SCAN                | I_TS#          |     1 |       |     0   (0)| 00:00:01 |

——————————————————————————————————-

Predicate Information (identified by operation id):

—————————————————

   1 – filter(ROWNUM<2)

  10 – filter(TO_NUMBER(DECODE(“I”.”DEGREE”,32767,’DEFAULT’,TO_CHAR(NVL(“I”.”DEGREE”,1))))=1

              AND BITAND(“I”.”FLAGS”,4096)=0)

  11 – filter(BITAND(“O”.”FLAGS”,128)=0)

  12 – access(“O”.”OBJ#”=”I”.”OBJ#”)

  14 – access(“I”.”INDMETHOD#”=”ITO”.”OBJ#”(+))

  16 – access(“I”.”BO#”=”IO”.”OBJ#”)

  18 – access(“ITO”.”OWNER#”=”ITU”.”USER#”(+))

  20 – access(“U”.”USER#”=”O”.”OWNER#”)

  22 – access(“IO”.”OWNER#”=”IU”.”USER#”)

  24 – access(“I”.”TS#”=”S”.”TS#”(+) AND “I”.”FILE#”=”S”.”FILE#”(+) AND

              “I”.”BLOCK#”=”S”.”BLOCK#”(+))

  26 – access(“I”.”TS#”=”TS”.”TS#”(+))

Statistics

———————————————————-

          8  recursive calls

          0  db block gets

         23  consistent gets

          0  physical reads

          0  redo size

        655  bytes sent via SQL*Net to client

        492  bytes received via SQL*Net from client

          2  SQL*Net roundtrips to/from client

          0  sorts (memory)

          0  sorts (disk)

          1  rows processed

          

–2           

select TO_NUMBER(DECODE(“I”.”DEGREE”,32767,’DEFAULT’,TO_CHAR(NVL(“I”.”DEGREE”,1)))) from sys.ind$ i –语句測试

–3 发现对象异常

select TO_NUMBER(DECODE(“I”.”DEGREE”,32767,’DEFAULT’,TO_CHAR(NVL(“I”.”DEGREE”,1)))) from sys.ind$ i where obj#<>’55180′

–4 通过几个库查询 11g 没有这个问题 10g 有这个问题

–10046 跟踪不正常 没发现问题根本

–errorstatk 跟踪里面太多内部信息,无法确定详细原因

–还是合理猜想+数据验证获取结论

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119130.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Python处理xml文件_文件格式怎么转换

    Python处理xml文件_文件格式怎么转换由于项目组中原来的文件使用的XML格式作为配置,扩展性很好,但是编辑与阅读不是很直观,特别一些规则的二维表,所以为了方便阅读与编辑,花了一些时间写了一个Python脚本,以实现将XML文件转为Excel文件。这里支持XML文件转为一个Sheet或者多个Sheet:如果第二层所有标签都相同则会转为一个Sheet,所有第二层的标签都会作为行数据如果第二层的标签有多种,则会把第二层的不同标签作为…

  • pandas merge left_并集和交集的区别图解

    pandas merge left_并集和交集的区别图解取交集:print(pd.merge(df1,df2,on=[‘name’,’age’,’sex’]))取并集:print(pd.merge(df1,df2,on=[‘name’,’age’,’sex’],how=’outer’))

  • 接口测试-Mock测试方法

    接口测试-Mock测试方法一、关于Mock测试1、什么是Mock测试?Mock测试就是在测试过程中,对于某些不容易构造(如HttpServletRequest必须在Servlet容器中才能构造出来)或者不容易获取的比较复杂的对象(如JDBC中的ResultSet对象),用一个虚拟的对象(Mock对象)来创建以便测试的测试方法。2、为什么要进行Mock测试?Mock是为了解决不同的单元之…

  • DirectX中的纹理映射相关技术 (转)

    DirectX中的纹理映射相关技术 (转)

  • sql语句练习题整理

    一、现有数据库casemanage中表结构如下图TABLENAME:afinfo Id name age birth sex memo 1 徐洪国 37 1979-03-23 男 高中 2 王芳芳 …

  • js正则匹配数字、大小写字母、下划线、中线和点[通俗易懂]

    js正则匹配数字、大小写字母、下划线、中线和点[通俗易懂]正则为:/[^a-z|A-Z|0-9|\-|_|\.]/gvarname=”hjhj测试[[[[[{{{{as9-._>@##$$?W??”;varregs=/[^a-z|A-Z|0-9|\-|_|\.]/g;name=name.replace(regs,””);console.log(“name:”,name);输出结果是:hjhjas9-

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号