首页 > 数据库 > Oracle > 正文

Oracle数据库对象失效解决方案

2024-07-09 22:43:35
字体:
来源:转载
供稿:网友

如果Oracle数据库(http://www.VeVb.com/mail)对象失效,那么可按如下步骤来进行解决:

1,找到失效的对象

  [sql]

  select object_type,object_id,object_name

  from user_objects

  where status='INVALID' order by object_type

  2,进行判断后,可以重新编译这些对象。

  编译的方法有多种:

  1) DBMS_DDL

  2.)DBMS_UTILITY

  3.)UTL_RECOMP

  4)UTLRP.SQL

  5)Manually Recompile

  最佳方案是手动编译这些对象,可以参考下面的SQL脚本:

  [sql]

  Spool recompile.sql

  Select 'alter 'object_type' 'object_name' compile;'

  From user_objects

  Where status <> 'VALID'

  And object_type IN ('VIEW','SYNONYM',

  'PROCEDURE','FUNCTION',

  'PACKAGE','TRIGGER');

  Spool off

  @recompile.sql

  Note: VIEW,SYNONYM,PROCEDURE,PACKAGE,FUNCTION,TRIGGER

  Spool pkg_body.sql

  Select 'alter package 'object_name' compile body;'

  From user_objects

  where status <> 'VALID'

  And object_type = 'PACKAGE BODY';

  Spool off

  @pkg_body.sql

  Spool undefined.sql

  select 'alter materizlized view 'object_name' compile;'

  From user_objects

  where status <> 'VALID'

  And object_type ='UNDEFINED';

  Spool off

  @undefined.sql

  Spool javaclass.sql

  Select 'alter java class 'object_name' resolve;'

  from user_objects

  where status <> 'VALID'

  And object_type ='JAVA CLASS';

  Spool off

  @javaclass.sql

  Spool typebody.sql

  Select 'alter type 'object_name' compile body;'

  From user_objects

  where status <> 'VALID'

  And object_type ='TYPE BODY';

  Spool off

  @typebody.sql

  Spool public_synonym.sql

  Select 'alter public synonym 'object_name' compile;'

  From user_objects

  Where status <> 'VALID'

  And owner = 'PUBLIC'

  And object_type = 'SYNONYM';

  Spool off

  @public_synonym.sql


其他,Oracle数据库的特点:

1、完整的数据管理功能:
1)数据的大量性
2)数据的保存的持久性
3)数据的共享性
4)数据的可靠性
2、完备关系的产品:
1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
2)保证访问的准则
3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
4)数据物理性和逻辑性独立准则
3、分布式处理功能:
ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。
4、用ORACLE能轻松的实现数据仓库的操作。



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表