---问题

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 跟踪里面太多内部信息,无法确定详细原因

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

ORA-01722: invalid number的更多相关文章

  1. LR连接oracle时出现:SQLState=28000[Oracle][ODBC][Ora]ORA-01017:invalid username/password;logon denied

    出现的现象:

  2. use AP_VENDOR_PUB_PKG.Update_Vendor_Site_Public to u ORA-01722: invalid number in Package AP_VENDOR_PUB_PKG Procedure Update_Vendor_Site_Public

    ORA-01722: invalid number in Package AP_VENDOR_PUB_PKG Procedure Update_Vendor_Site_Public 发现此问题的经过: ...

  3. 'Invalid update: invalid number of rows in section xx. The number of rows contained in an existing section after the update (xxx)...

    'Invalid update: invalid number of rows in section 5.  The number of rows contained in an existing s ...

  4. ORA-01722: invalid number,ORA-12801

    SQL: SELECT /*+ parallel(a,32) */ a.id ,a.data_date ,a.mobile_num ,a.mobile_code ,b.prov AS mobile_p ...

  5. java.sql.SQLException: Io 异常: Invalid number format for port number

    java.sql.SQLException: Io 异常: Invalid number format for port number   jdbc数据库链接配置没有写端口号 ​ 要检查jdbc的配置 ...

  6. 解决sqoop报错Invalid number; item = ITEM_UNICODE

    报错栈: java.sql.SQLException: Invalid number; item = ITEM_UNICODE at com.intersys.jdbc.SysList.getInt( ...

  7. [nginx]invalid number of arguments

    invalid number of arguments nginx出现以下的错误,基本上错误的原因就是少了后面的分号导致. invalid number of arguments

  8. ORA-01722 invalid number 一个比较隐蔽的可能错误原因

    在Oracle数据库中,数据类型为char或者varchar的字段,里面存储的数据,可以是纯数字串,比如:  3433,也可以是带有英文字符的字符串,比如:  3433a. Oracle对于纯数字串, ...

  9. Io 异常: Invalid number format for port number

    报错信息: Caused by: java.sql.SQLException: Io 异常: Invalid number format for port number    at oracle.jd ...

随机推荐

  1. 一.JSP开发的工具下载与环境搭建

    JSP技术的强势: (1)一次编写,到处运行.在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改. (2)系统的多平台支持.基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统 ...

  2. 为网页设计师准备的30个使用的HTML5框架

    原文地址:http://www.goodfav.com/zh/html5-framework-8189.html 网页设计师在开始使用一些应用程序之前需要考虑几个事实,以确保在应用Web程序框架时,这 ...

  3. 单源最短路径的Bellman-Ford 算法

    1.算法标签 BFS 2.算法概念 Bellman-Ford算法有这么一个先验知识在里面,那就是最短路径至多在N步之内,其中N为节点数,否则说明图中有负权值的回路,这样的图是找不到最短路径的.因此Be ...

  4. [WebService]之TCPMon的使用

    TCPMon是apache下的一个项目,下载地址:http://ws.apache.org/commons/tcpmon/download.cgi (1)功能: TCPMon可以拦截客户与服务之间的H ...

  5. Azure杂七杂八系列(二) - 如何在Azure上重新配置VM

    我们经常遇到这样的问题,  对于已经建立的VM进行性能提升, 比如需要更好的虚拟机或者需要迁移到其他的虚拟网络 那么我们可以使用以下的方法进行修改. 1. 如图所示, TESTVMXX位于North ...

  6. Android:控件WebView显示网页 -摘自网络

    WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用. webview有两个方法:setWebChromeClient 和 setWebClient setWebClient:主要 ...

  7. 利用AuthorizeAttribute属性简单避免 MVC 中的跨域攻击

    跨域攻击---自然来路页面和目标页面不在同一个域下,所以直接判断来路域和当前自己的域就可以了. 可以广泛应用于表单提交,ajax调用或者某些不想让用户直接输入网址看到的页面 [csharp] view ...

  8. delphi 2010 导出sql server 数据到DBF乱码问题

    近日,由于业务需要导出sql server 数据到DBF文件,要查询多表记录,并适当处理后生成导出DBF文件,系统使用delphi2010平台开发. 首先按要求在VFP里创建DBF表,字段数有240个 ...

  9. 使用WITH AS 的ROW_NUMBER分页

    WITH tempTable AS(     --复杂查询语句) SELECT * FROM (select ROW_NUMBER()  Over( order by xxx) as rowNum, ...

  10. oracle学习 四(持续更新中)无法为表空间 MAXDATA 中的段创建 INITIAL 区

    解决建立表的时候出现的 ORA-01658: 无法为表空间 MAXDATA 中的段创建 INITIAL 区 出现这个问题是因为表空间的大小不足,可以给他扩容这样的话也会多出来一个数据文件.具体写法如下 ...