Unable to initialize point cloud - ORA-13249: Error creating dml trigger

冷暖自知 提交于 2021-01-28 15:59:12

问题


I'm unable to initialize point cloud in Oracle Database 12c.

Trying to execute following commands:

CREATE TABLE point_clouds(
 id  NUMBER,
 capture_ts TIMESTAMP,
 point_cloud SDO_PC
);

CREATE TABLE pc_blocks AS select * from mdsys.sdo_pc_blk_table;

INSERT INTO point_clouds (id, point_cloud) VALUES (
 1001,
 sdo_pc_pkg.init(
  basetable => 'point_clouds',
  basecol => 'point_cloud',
  blktable => 'pc_blocks',
  ptn_params => 'blk_capacity=10000',
  pc_extent => mdsys.sdo_geometry(
   2003,
   8307,
   null,
   mdsys.sdo_elem_info_array(1, 1003, 3),
   mdsys.sdo_ordinate_array(289020.90, 4320942.61, 290106.02, 4323641.57)
  ),
  pc_tol => 0.05,
  pc_tot_dimensions => 3
 )
);

However, got this error on INSERT:

Error report:
SQL Error: ORA-13249: Error creating dml trigger
ORA-06512: at "MDSYS.SDO_PC_PKG", line 96
ORA-06512: at line 1
13249. 00000 -  "%s"
*Cause:    An internal error was encountered in the extensible spatial index
       component. The text of the message is obtained from some
       other server component.
*Action:   Contact Oracle Support Services with the exact error text.

What is wrong with that INSERT statement?


回答1:


I was stuck on this for ages, and finally solved it by creating the point_clouds table using MDSYS.sdo_pc instead of sdo_pc.

    CREATE TABLE point_clouds(
    id  NUMBER,
    capture_ts TIMESTAMP,
    point_cloud MDSYS.SDO_PC
    );


来源:https://stackoverflow.com/questions/35253216/unable-to-initialize-point-cloud-ora-13249-error-creating-dml-trigger

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!