【泛微ecology】达梦数据库备份恢复完成后要进行一次存储过程,触发器,视图对象编译

由于当前使用DM8版本存在主备库里同一条查询语句耗时不同,达梦技术反馈需要升级版本,说是升级,其实就是重新一套DM数据库环境(不知道是技术不行,还是只能这样解决),经过5个小时的导出导入,终于还原完毕,开启应用,结果报错
在这里插入图片描述
修改一堆参数,最后没什么卵用;最后失败告终,切回原环境,不影响第二天使用,(搞达梦数据库迁移,最好不要动原环境,如果有问题,哭到找不到地方);
第二天用测试环境应用接入新的达梦数据库,复现问题,最后定位达梦bug
原因:达梦数据库的存储过程恢复后有的时候不生效

执行如下的SQL脚本中的2个SQL语句:
----SQL1: 编译数据库存储过程,触发器,视图对象。请在ecology使用的的用户下执行。

declare
sql_v  varchar(8000);
ex_sql varchar(4000);
begin
        for i in
        (
                select 'alter procedure '||OBJECT_NAME as object_new from USER_PROCEDURES
                union all
                select 'alter trigger '||TRIGGER_NAME from USER_TRIGGERS
                union all
                select 'alter view '||VIEW_NAME from USER_VIEWS
        )      
        loop
         BEGIN
                sql_v:=i.object_new||' compile;';
                -- print(sql_v);
                execute immediate sql_v;
        EXCEPTION
        WHEN OTHERS THEN
                 ex_sql:='insert into ex_table value('||i.object_new||',''00'',''00'');';
                print ex_sql;
        end;
        end loop;
end;

----SQL2: 更新整个数据库的统计信息

CALL SP_DB_STAT_INIT();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值