oracle compile 编译无效对象】的更多相关文章

原博主:http://blog.csdn.net/tianlesoftware/article/details/4843600 Applies to: Oracle Server - Enterprise Edition - Version: 10.1.0.5.0 This problem can occur on any platform. Symptoms: The issue is that the following error was raised : ORA-00600: inter…
在数据库中,会存在一些无效的对象,导致这种现象的发生原因很多,其中最常见的就是数据库升级(例如修改了表的结构),迁移而引起. 编译无效对象的方式: 1 使用alter **** compile 语句进行编译   2 以SYSDBA用户,执行ORACLE_HOME/rdbms/admin/utlrp.sql 脚本 注:执行时数据库中最好不要有活动事物或DDL操作,否则极容易导致死锁的出现,另外,utlrp.sql 里面其实调用了$ORACLE_HOME/rdbms/admin/utlrcmp.sq…
1.  查看数据库中的无效对象      check oracle object      SQL> select count(*) from dba_objects where status='INVALID'; 2. 关闭应用,数据库和监听不能关闭         cd  $ADMIN_SCRIPTS_HOME         ./adadstpall.sh apps/apps   3. 用APP用户,执行adadmin打开维护模式并重新编译APPS Schema:      打开维护模式…
在日常数据库维护过程中,我们会发现数据库中一些对象(包Package.存储过程Procedure.函数Function.视图View.同义词.....)会失效,呈现无效状态(INVALID).有时候需要定期检查数据库中存在哪些失效对象,对于存在异常的对象需要重新编译,有些自动失效的对象,一般会在下次调用的时候,会被重新编译,所以这些不需要人工干预.那么为什么对象突然会失效呢?又如何快速.高效的编译失效对象呢?哪些失效的对象不需要我们去重新编译呢? 数据库对象失效原因 数据库对象失效的原因很多,下…
重新编译失效对像可执行utlrp.sql文件: SQL> @?/rdbms/admin/utlrp.sql TIMESTAMP -------------------------------------------------------------------------------- COMP_TIMESTAMP UTLRP_BGN :: DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid DOC&…
因为新搭的环境,数据库是从另一个现成的环境导过来的,直接后台用exp和imp命令操作.但是新环境的Oracle数据库有问题,一些视图创建不了,导致用到这些视图的视图和存储过程也编译不了.后来手工重新编译了,命令如下: .sqlplus / as sysdba .SQL>shutdown immediate .SQL>startup restrict .SQL>select count(*) from dba_objects where status='INVALID'; .SQL>…
select owner,object_name, replace(object_type,' ','') object_type,to_char(created,'yyyy-mm-dd') as created,to_char(last_ddl_time,'yyyy-mm-dd') as last_ddl_time,status from dba_objects where status='INVALID' and owner='SYS'; OWNER OBJECT_NAME OBJECT_T…
今天还原了一份数据库(在服务器上没有无效对象),还原在本地之后有三十几个无效对象,当时很是郁闷,然后我发现还原之后的数据库中缺少表! 开始我怀疑Oracle数据库的还原功能,但是在我创建表的时候发现,原来是我本地数据库中表空间和服务器上的不一致.然后我在网上找到了解决方案: select username, default_tablespace from dba_users where username='NAXZXXBM';--查找某用户的默认表空间alter tablespace USERS…
原文整理自:http://www.51testing.com/?uid-16403-action-viewspace-itemid-98161:http://www.eygle.com/archives/2005/01/ecioaeaoeeeaoea.html 先看个帖子:http://www.itpub.net/thread-1112553-1-1.html 每次数据库做了升级(打各种数据库方面的补丁后,不是数据库本身的升级,是各种对象改变增加修改等,呵呵不,别误解)完了以后我都要查一下数据库…
第一种  如果你使用 PL/SQL Developer工具          左侧工具栏中选择“存储过程”->选择已经失效的procedure->右键->选择重新编译 即可完成 第二种  命令行版 1.查找到无效对象 select 'Alter '||object_type||' '||object_name||' compile;' from user_objects where status = 'INVALID'; 2.重新编译存储过程 pro_backup_call 执行下面脚本…