在执行包的时候引用oracle spatial空间函数出错,出错情况如下Errors in file
/user/oracle/app/oracle/admin/grid/udump/grid1_ora_143768.trc: ORA-29902:
error in executing ODCIIndexStart() routine ORA-06553: PLS-123: program too
large Thu Sep 17 04:27:06 2009 Trace dumping is performing
id=[cdmp_20090917042706] 出错语句为:SELECT distinct a.g3e_fid,b.bureau_id FROM m_needed_dzk a,s_grid_p b
                             WHERE b.g3e_fid=1001218319 and
                      SDO_relate(a.g3e_geometry,b.g3e_geometry,'mask=INSIDE
querytype=window') = 'TRUE'(每次出错的g3e_fid不同) 数据库环境为9.2.0.8经过排查测试,已经排除非法图形导致错误的可能性。 望各位碰到过此类问题的高手不吝赐教!先谢过!!

解决方案 »

  1.   

    PLS-00123: program too large (string) 
    Cause: PL/SQL was designed primarily for robust transaction processing. One consequence of the special-purpose design is that the PL/SQL compiler imposes a limit on block size. The limit depends on the mix of statements in the PL/SQL block. Blocks that exceed the limit cause this error.
     
    Action: The best solution is to modularize the program by defining subprograms, which can be stored in an Oracle database. Another solution is to break the program into two sub-blocks. Have the first block INSERT any data the second block needs into a temporary database table. Then, have the second block SELECT the data from the table. 
    ORA-29902: error in executing ODCIIndexStart() routine 
    Cause: The execution of ODCIIndexStart routine caused an error.
     
    Action: Examine the error messages produced by the indextype code and take appropriate action. 
    供参考...
    ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716