还原数据库后达梦有时候存储过程、触发器等处在不运行状态,需要重新编译一下。
第二就是需要更新下统计信息。
编译数据库存储过程,触发器,视图对象。请在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();