ebs 编译无效对象——adutlrcmp.sql not giving promt-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

ebs 编译无效对象——adutlrcmp.sql not giving promt

简介: 今天在给R12升级到12.1.3的时候,要安装一个补丁,  打最大的一个patch  p9239090 的时候, 前面还算正常, 到了数据库 编译无效对象的时候,一直不结束,第一次做,有点束手无措,最后从网上找了一些参考,整理了一下: 首先,我的环境是这样提示的: Telling workers to quit.
今天在给R12升级到12.1.3的时候,要安装一个补丁,  打最大的一个patch  p9239090 的时候, 前面还算正常, 到了数据库

编译无效对象的时候,一直不结束,第一次做,有点束手无措,最后从网上找了一些参考,整理了一下:

首先,我的环境是这样提示的:
Telling workers to quit...
All workers have quit.
Dropping FND_INSTALL_PROCESSES table...
FND_INSTALL_PROCESSES table dropped.
Dropping AD_DEFERRED_JOBS table...
AD_DEFERRED_JOBS table dropped.
Done running SQL and EXEC commands in parallel.
  Updating the checkfile repository if necessary...
  Did not update the checkfile repository...
Done running SQL scripts and EXEC commands.
Compiling invalid objects...
sqlplus -s APPS/***** @/u01/prod/apps/apps_st/appl/ad/12.0.0/sql/adutlrcmp.sql APPLSYS ***** APPS ***** ***** 4  0 NONE FALSE
——   一直就停在这里不动了。

搜到了这个帖子https://forums.oracle.com/thread/2170368:
告诉我要查看一些无效的对象是否在减少,如果一直在减少的话,说明运行良好,只要等待就行.
adutlrcmp.sq running for long time, it is not completing, we checked log files ..no error messages in log file. This issue is happend upgrade the Instance from 11.5.10.2 to R12.1.3.
Check the number of invalid objects and see if it is reducing or not. If it is changing then this is an expected behavior and you will have to wait for the script to finish.

按照他说的,我在数据库中执行:
SQL> select count(*) from dba_objects where status='INVALID';

  COUNT(*)
----------
     64353
确实在不断减少,但是。。太特么多了,正在想别的办法.....
这哥们跟我一样遇到了相同的问题:博客:http://www.itpub.net/thread-1602399-1-1.html


2、ebs编译无效对象的步骤

1. 查看数据库中的无效对象

 check oracle object
     SQL> select count(*) from dba_objects where status='INVALID';

            COUNT(*)
        ----------
           1808

2. 关闭应用,数据库和监听不能关闭
      cd  $ADMIN_SCRIPTS_HOME
      ./adadstpall.sh apps apps

3. APP用户,执行adadmin打开维护模式重新编译APPS Schema
     打开维护模式
     adadmin->Change Maintenance Mode->1.    Enable Maintenance Mode
     重新编译APPS Schema
     Compile/Reload Applications Database Entities menu-> 1.    Compile APPS schema

4.  检查无效对象的数量,关闭维护模式,启动应用
      SQL> select count(*) from dba_objects where status='INVALID';
      adadmin->Change Maintenance Mode->2.    Disenable Maintenance Mode
     再重启应用即可 
      cd  $ADMIN_SCRIPTS_HOME
      ./adadstral.sh apps apps
 
 
附:
1、编译整个数据库中的无效对象
2、编译数据库中单个的无效对象:
     编译无效包体:  alter package package_name complie;
     编译无效的函数:alter function function_name complies;



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章