alter procedure [procedure_name] rebuild;生成一个重新编译无效对象的脚本
set head off
spool c:\invalid.sql
select 'alter '||object_type||' '||owner||'."'||object_name||'" rebuild;' from all_objects where status='INVALID';
spool off
可能由于与存储过程相关的对象发生了变化,导致了存储过程的无效
set head off
spool c:\invalid.sql
select 'alter '||object_type||' '||owner||'."'||object_name||'" rebuild;' from all_objects where status='INVALID';
spool off
可能由于与存储过程相关的对象发生了变化,导致了存储过程的无效
1、该存储过程需调用的存储过程无效或被删除。
2、该存储过程相关联的表或视图结构被修改过或被drop掉过
3、该存储过程相关联的对象的相应的权限被收回。
alter procedure [procedure_name] compile;
你的意思就是要定期运行这个教本了
我想在一个系统中碰到这种问题可能也是经常的。
解决的办法也只好是重新编译alter procedure [procedure_name] compile;如果要碰到这种问题,在存储过程变为invalid的时候,要是存储过程能立马自动编译就好了有点异想天开
不过我的好象和hrb_qiuyb(大森林)说的一样
服务器没人动
但是就是偶尔会丢一些东西