ITPub博客

首页 > 数据库 > 国内数据库 > 【YashanDB 知识库】YMP 迁移达梦时,报错:查询出现异常

【YashanDB 知识库】YMP 迁移达梦时,报错:查询出现异常

原创 国内数据库 作者:崖山数据库系统YashanDB 时间:2025-01-07 10:53:20 0 删除 编辑

【标题】YMP迁移达梦时,报错:查询出现异常

【问题分类】数据导入导出

【关键字】数据同步,YMP,评估,数据迁移,SQL报错

【问题描述】YMP迁移达梦时,在评估阶段出现报错:(查询出现异常,执行SQL为:......)
![上传中...]()
错误日志为:YMP-ERROR-2024-11-28-0.log

【问题原因分析】查询达梦数据库数据字典出现报错,需修改达梦参数配置,或者在YMP中使用HINT。

【解决/规避方法】

达梦执行以下SQL,修改系统参数配置:

-- 达梦执行以下参数修改sp_set_para_value(1, 'VIEW_FILTER_MERGING', 29);-- 或者在业务sql中使用以下hint:SELECT /*+VIEW_FILTER_MERGING(29)*/
 sel.OWNER,
 sel.NAME,
 sel.TYPE,
 sel.STATUS,
 sel.TABLE_NAMEFROM
    ( SELECT
  a.OWNER,
  a.INDEX_NAME AS NAME,  'INDEX' AS TYPE,
  obj.STATUS,
  a.TABLE_NAME
 FROM
  ALL_INDEXES a JOIN
    ALL_OBJECTS objON
  a.OWNER = obj.OWNER
  AND a.TABLE_NAME = obj.OBJECT_NAME WHERE
  a.owner IN ('GDP7SZGCH_LH')  AND obj.OBJECT_TYPE = 'TABLE'
  AND a.INDEX_TYPE != 'VIRTUAL'
  AND NOT (
    (a.TABLE_NAME LIKE 'BM$_%'
   OR a.TABLE_NAME LIKE 'BMJ$_%'
   OR a.TABLE_NAME LIKE 'MDRT$_%'
   OR a.TABLE_NAME LIKE 'MLOG$_%'
   OR
     a.TABLE_NAME LIKE 'MTAB$_%'
   OR a.TABLE_NAME LIKE 'MVIEW$_%'
   OR a.TABLE_NAME LIKE 'MTRG$_%'
   OR a.TABLE_NAME LIKE 'STAT$_%')  OR
    (a.TABLE_NAME LIKE '%$ALOG'
   OR a.TABLE_NAME LIKE '%$AUX'
   OR a.TABLE_NAME LIKE '%$DAUX'
   OR a.TABLE_NAME LIKE '%$RAUX'
   OR
     a.TABLE_NAME LIKE '%$ROT'
   OR a.TABLE_NAME LIKE '%$UAUX')
)) selJOIN
 ALL_IND_COLUMNS colON
 sel.OWNER = col.INDEX_OWNER AND sel.NAME = col.INDEX_NAME AND sel.TABLE_NAME = col.TABLE_NAME

重新进行迁移即可。(已反馈YMP开发)

【影响范围】所有版本

【修复版本】-


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3062452/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639854