oracle ora 22809,Ora-22809 Nonexistent Attribute Creating Table With Sde.St_geometry Type (文档 ID 141...

APPLIES TO:

Oracle Spatial and Graph – Version 11.2.0.3 and laterInformation in this document applies to any platform.

SYMPTOMS

Unable to import Spatial data as it fails with:

ORA-600 error [kpudpxcs_ctxConvertStream_ref_1], [SYS_TYPEID(“SHAPE”)], [], [], [], [], [], [], [], [], [], [].

But it is confirmed that the table itself cannot be created even from the SQL command line:

SQL> CREATE TABLE SDE.GDB_ITEMS

2 (

3 OBJECTID INTEGER NOT NULL,

4 UUID CHAR(38 BYTE) NOT NULL,

5 TYPE CHAR(38 BYTE) NOT NULL,

6 NAME NVARCHAR2(226),

7 PHYSICALNAME NVARCHAR2(226),

8 PATH NVARCHAR2(512),

9 URL NVARCHAR2(255),

10 PROPERTIES INTEGER,

11 DEFAULTS BLOB,

12 DATASETSUBTYPE1 INTEGER,

13 DATASETSUBTYPE2 INTEGER,

14 DATASETINFO1 NVARCHAR2(255),

15 DATASETINFO2 NVARCHAR2(255),

16 DEFINITION INTEGER,

17 DOCUMENTATION INTEGER,

18 ITEMINFO INTEGER,

19 SHAPE SDE.ST_GEOMETRY

20 )

21 LOB (“SHAPE”.”POINTS”) STORE AS (

22 TABLESPACE SDE

23 ENABLE STORAGE IN ROW

24 CHUNK 8192

25 RETENTION

26 CACHE

27 LOGGING

28 STORAGE (

29 INITIAL 64K

30 NEXT 1M

31 MINEXTENTS 1

32 MAXEXTENTS UNLIMITED

33 PCTINCREASE 0

34 BUFFER_POOL DEFAULT

35 FLASH_CACHE DEFAULT

36 CELL_FLASH_CACHE DEFAULT

37 ))

38 LOB (DEFAULTS) STORE AS (

39 TABLESPACE SDE

40 ENABLE STORAGE IN ROW

41 CHUNK 8192

42 RETENTION

43 NOCACHE

44 LOGGING

45 STORAGE (

46 INITIAL 64K

47 NEXT 1M

48 MINEXTENTS 1

49 MAXEXTENTS UNLIMITED

50 PCTINCREASE 0

51 BUFFER_POOL DEFAULT

52 FLASH_CACHE DEFAULT

53 CELL_FLASH_CACHE DEFAULT

54 ))

55 TABLESPACE SDE

56 RESULT_CACHE (MODE DEFAULT)

57 PCTUSED 0

58 PCTFREE 0

59 INITRANS 4

60 MAXTRANS 255

61 STORAGE (

62 INITIAL 40K

63 NEXT 1M

64 MINEXTENTS 1

65 MAXEXTENTS UNLIMITED

66 PCTINCREASE 0

67 BUFFER_POOL DEFAULT

68 FLASH_CACHE DEFAULT

69 CELL_FLASH_CACHE DEFAULT

70 )

71 LOGGING

72 NOCOMPRESS

73 NOCACHE

74 NOPARALLEL

75 MONITORING;

LOB (“SHAPE”.”POINTS”) STORE AS (

*

ERROR at line 21:

ORA-22809: nonexistent attribute

CAUSE

Bug 13693393 – ORA-600: [KPUDPXCS_CTXCONVERTSTREAM_REF_1], [SYS_TYPEID(“SHAPE”)] DURING IMPORT closed as duplicate of:

BUG 14026888 – DATAPUMP IMPORT HITTING ORA-600 [KPUDPXCS_CTXCONVERTSTREAM_REF_1] INTERNAL ERROR

SOLUTION

Apply Patch 14026888

登录到https://support.oracle.com

点击修补程序ID或号码

补丁ID或号码是:14026888

点击搜索

点击与您的平台关联的Bug编号

点击下载

如果修补程序不适用于您的平台,请记录服务请求并请求回送。

或者,您可以使用以下解决方法:

导入了整个模式并创建了表,但数据没有导入,因此在第二次导入时使用ignore = y来加载数据

来自ESRI:

http://forums.arcgis.com/threads/25980-Oracle-data-pump-import-of-ArcSDE-9.3.1-ST_GEOMETRY-tables-fails-%2810g-to-11g%29

我在那里看到的有效建议是:

1.创建一个新的数据库和新的ArcGIS安装

2.完全导出/完全导入,而不是模式导出

其他客户提供的替代方案具有相同的错误:

在ESRI案例#129251上打开案例,他们发现了另一种解决方法,我们已经成功通过了测试。使用imp导入,

1.首先使用Oracle imp导入SDE模式

2.重新编译无效对象

3.使用以下脚本重建ST_GEOMETRY索引。

4.将SDE对象的权限授予public。

5.使用Oracle imp导入有ST_GEOMETRY数据的用户

DECLAREv_index_name sde.st_geometry_index.index_name%type;v_table_name sde.st_geometry_index.table_name%type;v_column_name sde.st_geometry_index.column_name%type;v_srid sde.st_geometry_index.srid%type;v_grid_info sde.st_geometry_index.grid%type;v_sql VARCHAR2(255);cursor cv_spindx isselect index_name,table_name,column_name,srid,gridfrom sde.st_geometry_index where owner=user; BEGINOPEN cv_spindx;LOOPFETCH cv_spindxINTO v_index_name,v_table_name,v_column_name,v_srid,v_grid_info;EXIT WHEN cv_spindx %NOTFOUND;BEGINv_sql := ‘DROP INDEX ‘ || v_index_name;DBMS_OUTPUT.PUT_LINE(v_sql);EXECUTE IMMEDIATE(v_sql);EXCEPTIONWHEN OTHERS THENDBMS_OUTPUT.PUT_LINE(‘Index does not exist’);END;v_sql := ‘CREATE INDEX ‘ || v_index_name|| ‘ ON ‘ || v_table_name|| ‘(‘ || v_column_name|| ‘) INDEXTYPE IS SDE.ST_SPATIAL_INDEX PARAMETERS (”’|| ‘st_grids=’ || v_grid_info.grid1 || ‘,’ || v_grid_info.grid2 || ‘,’ || v_grid_info.grid3|| ‘ st_srid=’ || v_srid || ”’)’;DBMS_OUTPUT.PUT_LINE(v_sql);EXECUTE IMMEDIATE(v_sql);END LOOP;CLOSE cv_spindx;END;

/

测试数据这里拿不到,但是,使用数据泵是首选路线。

转载自:https://blog.csdn.net/qq_21127313/article/details/80523423

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值