当前位置: 首页 > news >正文

【故障处理】- 11g迁19C数据泵报错: ORA-39083 ORA-06598 导致数据库大量对象导入不进去

【故障处理】- 11g迁19C数据泵报错: ORA-39083 ORA-06598 导致数据库大量对象导入不进去

    • 一、报错信息
    • 二、报错原因
    • 三、解决办法

一、报错信息

使用expdp/impdp从11g迁移到19c时,impdp导入出现大量报错,核心报错为报ORA-39083错误,导致导入后缺失大量对象。

Failing sql is:
ALTER TABLE "SYSMAN"."MGMT_INV_PATCHED_FILE_COMP" ADD CONSTRAINT "CMPTF_COM_FK" FOREIGN KEY ("COMPONENT_GUID") REFERENCES "SYSMAN"."MGMT_INV_COMPONENT" ("COMPONENT_GUID") ON DELETE CASCADE ENABLE
Processing object type DATABASE_EXPORT/SCHEMA/OPERATOR/OPERATOR
Processing object type DATABASE_EXPORT/SCHEMA/OPERATOR/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/INDEXTYPE/INDEXTYPE
ORA-39083: Object type INDEXTYPE:"SDE"."ST_SPATIAL_INDEX" failed to create with error:
ORA-06598: insufficient INHERIT PRIVILEGES privilege

Failing sql is:
CREATE INDEXTYPE "SDE"."ST_SPATIAL_INDEX" FOR "SDE"."ST_BUFFER_INTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", NUMBER), "SDE"."ST_CROSSES" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"), "SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", NUMBER, NUMBER, NUMBER, NUMBER), "SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"), "SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", NUMBER, NUMBER, NUMBER, NUMBER, VARCHAR2), "SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", VARCHAR2), "SDE"."ST_EQUALS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"), "SDE"."ST_INTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"), "SDE"."ST_ORDERINGEQUALS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"), "SDE"."ST_OVERLAPS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"), "SDE"."ST_RELATE" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", VARCHAR2), "SDE"."ST_TOUCHES" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"), "SDE"."ST_WITHIN" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY") USING "SDE"."ST_DOMAIN_METHODS" WITHOUT ARRAY DML WITH LOCAL RANGE PARTITION
Processing object type DATABASE_EXPORT/SCHEMA/INDEXTYPE/GRANT/OWNER_GRANT/OBJECT_GRANT
ORA-39112: Dependent object type OBJECT_GRANT:"SDE" skipped, base object type INDEXTYPE:"SDE"."ST_SPATIAL_INDEX" creation failed
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/INDEX/DOMAIN_INDEX/INDEX
ORA-39083: Object type INDEX:"NRMDB"."A35_IX1" failed to create with error:
ORA-29833: indextype does not exist

Failing sql is:
CREATE INDEX "NRMDB"."A35_IX1" ON "NRMDB"."BOCO_ARCGIS_CELL3G" ("SHAPE") INDEXTYPE IS "SDE"."ST_SPATIAL_INDEX" PARAMETERS ('ST_GRIDS = .129865628646247 ST_SRID = 4326 ST_COMMIT_ROWS = 10000 PCTFREE 0 INITRANS 4')PARALLEL 1
ORA-39083: Object type INDEX:"NRMDB"."A37_IX1" failed to create with error:
ORA-29833: indextype does not exist

二、报错原因

客户数据库为GIS数据库,该系统的数据库客户会通过ESRI ArcGIS的创建企业级地理数据库工具创建一堆东西。 其中关键点为indextype对象。
该对象属于SDE,所以需要优先处理SDE用户后才可以顺利导入其他用户。
(主观猜测:该系统的数据库,通常都有这个东西,而且都是SDE用户,为工具创建所需)

三、解决办法

1、在生产上给SDE用户授予DBA权限,并用SDE用户单独导入导出。

2.导入SDE用户后,确认对象没有缺失,并创建indextype所需的两个对象:从生产GETDDL。如果导入后,该indextype没有导入进去,则需要手动从生产getddl语句到目标端执行,确保该对象存在

3、该 indextype的创建语句:
CREATE OR REPLACE INDEXTYPE "SDE"."ST_SPATIAL_INDEX" FOR

         "SDE"."ST_BUFFER_INTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", NUMBER), 
         "SDE"."ST_CROSSES" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
         "SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", NUMBER, NUMBER, NUMBER, NUMBER),
         "SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
         "SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", NUMBER, NUMBER, NUMBER, NUMBER, VARCHAR2),      
         "SDE"."ST_ENVINTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", VARCHAR2),     
         "SDE"."ST_EQUALS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
         "SDE"."ST_INTERSECTS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
         "SDE"."ST_ORDERINGEQUALS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
         "SDE"."ST_OVERLAPS" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
         "SDE"."ST_RELATE" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY", VARCHAR2),
         "SDE"."ST_TOUCHES" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY"),
         "SDE"."ST_WITHIN" ("SDE"."ST_GEOMETRY", "SDE"."ST_GEOMETRY")
         USING "SDE"."ST_DOMAIN_METHODS"
         WITH LOCAL RANGE PARTITION
   
4、getddl该indextype所需的两个对象,在目标端执行:
ST_DOMAIN_METHODS
ST_DOMAIN_STATS

5、导入SDE用户完毕后,导入其他用户,核对对象

6、目标端对SDE的几个无效对象进行编译
grant execute on dbms_pipe to SDE;
grant execute on dbms_lock to SDE;
grant execute on DBMS_CRYPTO to SDE;
alter package SDE.LOCK_UTIL compile body;
alter type SDE.ST_GEOMETRY compile body;
alter package SDE.PINFO_UTIL compile body;
alter package SDE.VERSION_USER_DDL compile body;

7、回收SDE用户的dba权限

相关文章:

  • Linux基本指令
  • 微信小程序text组件decode属性的小问题
  • WPF8-常用控件
  • 2025年新型智慧城市整体解决方案下载:顶层规划设计,应用总体建设方案
  • 【Linux Redis】关于用docker拉取Redis后,让虚拟机运行起来redis,并使得其可以连接到虚拟机外的navicat。
  • jessionid
  • linux云服务器部署deepseek,并通过网页访问
  • dify-AI 私有部署可修改前端页面
  • EasyExcel 自定义头信息导出
  • OpenVela——专为AIoT领域打造的开源操作系统
  • 分布式同步锁:原理、实现与应用
  • 交换路由——控制VLAN之间通信
  • axios post请求 接收sse[eventsource]数据的
  • Go 语言函数返回对象 vs 传递指针赋值:性能对比与最佳实践
  • 深入解析 Flutter 性能优化:从原理到实践
  • 【Java学习】继承
  • 使用nvm管理node.js版本,方便vue2,vue3开发
  • ROS-相机话题-获取图像-颜色目标识别与定位-目标跟随-人脸检测
  • Django 5 实用指南(一)安装与配置
  • 数据结构——哈希表
  • 广州下调个人住房公积金贷款利率
  • 明星站台“胖都来”背后:百元起录视频,20万可请顶流
  • 陈丹燕:赤龙含珠
  • 太空摄影的发展
  • 央行行长详解降准:将释放长期流动性1万亿,整体存款准备金率平均水平降至6.2%
  • 五月A股怎么买?券商金股电子权重第一,格力电器最热