重庆思庄Oracle、Redhat认证学习论坛

标题: Oracle失效对象处理 [打印本页]

作者: jiawang    时间: 2024-12-11 18:25
标题: Oracle失效对象处理
查看失效对象:


SELECT owner, object_name, object_type,status
FROM dba_objects
WHERE status = 'INVALID';
–编译无效对象脚本utlrp.sql
$ sqlplus ‘/as sysdba’ @?/rdbms/admin/utlrp.sql
如:


Sqlplus / as sysdba
SQL>alter session set container=hirain_test02;
SQL>@?/rdbms/admin/utlrp.sql
编译特定对象拼接语句


--自动生成视图重新编译语句
select owner, object_name, object_type, status  ,'alter view ' || t.owner||'.' || object_name || ' compile'||';'
from dba_objects t  
where status='INVALID' and t.object_type='VIEW'  order by t.owner,t.object_type;
--自动生成函数重新编译语句
select owner, object_name, object_type, status  ,'alter FUNCTION ' || t.owner||'.' || object_name || ' compile'||';'
from dba_objects t  
where status='INVALID' and t.object_type='FUNCTION'  order by t.owner,t.object_type;
--自动生成视物化图重新编译语句
select owner, object_name, object_type, status  ,'alter MATERIALIZED VIEW ' || t.owner||'.' || object_name || ' compile'||';'
from dba_objects t  
where status='INVALID' and t.object_type='MATERIALIZED VIEW'  order by t.owner,t.object_type;
--自动生成包重新编译语句
select owner, object_name, object_type, status  ,'alter PACKAGE ' || t.owner||'.' || object_name || ' compile'||';'
from dba_objects t  
where status='INVALID' and t.object_type='PACKAGE BODY'  order by t.owner,t.object_type;
--自动生成触发器重新编译语句
select owner, object_name, object_type, status  ,'alter TRIGGER ' || t.owner||'.' || object_name || ' compile'||';'
from dba_objects t  
where status='INVALID' and t.object_type='TRIGGER'  order by t.owner,t.object_type;






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2