Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184323
  • 博文数量: 46
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 490
  • 用 户 组: 普通用户
  • 注册时间: 2017-03-26 14:22
个人简介

做最Low逼的DBA

文章分类

全部博文(46)

文章存档

2017年(46)

我的朋友

分类: Oracle

2017-04-19 22:36:41

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica; min-height: 13.0px} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Tahoma; min-height: 11.0px}

--Oracle sys用户创建自动编译未编译成功的对象
     create or replace procedure system_recomp is

sql1  user_objects%ROWTYPE;

sql2  user_objects%ROWTYPE;

sql3  user_objects%ROWTYPE;

v_sql1 varchar2(100);

v_sql2 varchar2(100);

v_sql3 varchar2(100);

begin

for sql1 in ( select * from user_objects where status='INVALID' and object_type='TRIGGER') loop

v_sql1 := 'alter trigger '||sql1.object_name||' compile';

execute immediate v_sql1;

end loop;


for sql2 in ( select * from user_objects where status='INVALID' and object_type='FUNCTION') loop

v_sql2 := 'alter FUNCTION '||sql2.object_name||' compile';

execute immediate v_sql2;

end loop;


for sql3 in ( select * from user_objects where status='INVALID' and object_type='PROCEDURE') loop

v_sql3 := 'alter PROCEDURE '||sql3.object_name||' compile';

execute immediate v_sql3;

end loop;

exception when others then

return;

end system_recomp;

/



--批量查询 失效的函数 并逐条执行:

select 'alter FUNCTION '||object_name||' compile;' from user_objects where status='INVALID' and object_type='FUNCTION';


--批量查询 失效的过程 并逐条执行:

select  'alter PROCEDURE '||object_name||' compile;' from user_objects where status='INVALID' and object_type='PROCEDURE';


--批量查询 失效的触发器 并逐条执行:

select 'alter trigger '||object_name||' compile;' from user_objects where status='INVALID' and object_type='TRIGGER';


阅读(2552) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~