当前位置:  数据库>oracle

Oracle编译用户无效对象

    来源: 互联网  发布时间:2017-06-12

    本文导语: 在采用IMPDP/IMP工具迁移数据时,经常会提示无效对象的警告,需要采用如下方式处理。 1. 查询指定用户的无效对象 su – Oracle sqlplus / as sysdba SQL> select owner,object_name,replace(object_type,' ','') object_type,to_char(created,'yyyy-mm-dd') as created,to_...

在采用IMPDP/IMP工具迁移数据时,经常会提示无效对象的警告,需要采用如下方式处理。

1. 查询指定用户的无效对象

su – Oracle

sqlplus / as sysdba

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='HKJJW'; 
OWNER      OBJECT_NAME                    OBJECT_TYPE    CREATED    LAST_DDL_T STATUS   
---------- ------------------------------ --------------- ---------- ---------- -------   
HKJJW      FUNC_RETURN_PY                FUNCTION        2013-08-02 2013-08-02 INVALID   
HKJJW      MONITORING_FLOW_PARALLEL_VIEW  VIEW            2013-08-02 2013-08-02 INVALID   
HKJJW      TEST                          VIEW            2013-08-02 2013-08-02 INVALID

指定查询某用户无效对象。

SQL> select * from dba_objects where status'VALID' and owner='HKJJW';

2. 手动执行编译或

ALTER FUNCTION HKJJW.FUNC_RETURN_PY COMPILE; 
ALTER VIEW HKJJW.MONITORING_FLOW_PARALLEL_VIEW COMPILE;   
ALTER VIEW HKJJW.TEST COMPILE;

如果是index的话,需要重建. 
alter index index_name rebuild;

如果是package body 
alter package DBMS_CUBE  compile body;

3. 自动生成编译无效对象SQL

1) 统计当前用户无效对象数量:

SQL> select owner,object_type,status,count(*) from dba_objects where status='INVALID' group by owner,object_type,status order by owner,object_type;

OWNER                          OBJECT_TYPE        STATUS    COUNT(*) 
------------------------------ ------------------- ------- ----------   
HNADEV_GROUP                  FUNCTION            INVALID          1   
HNADEV_GROUP                  PACKAGE BODY        INVALID        35   
HNADEV_GROUP                  VIEW                INVALID          7

2) 生成编译无效对象SQL

SQL> select  'ALTER ' || OBJECT_TYPE || ' ' ||  OWNER || '.' || OBJECT_NAME || ' COMPILE;' from dba_objects where status = 'INVALID' and object_type in ('PACKAGE','PACKAGE BODY','FUNCTION','PROCEDURE','TRIGGER','VIEW') ;

'ALTER'||OBJECT_TYPE||''||OWNER||'.'||OBJECT_NAME||'COMPILE;' 
----------------------------------------------------------------------   
ALTER VIEW HNADEV_GROUP.V_E_T_FEEMONTH_CAL COMPILE;   
ALTER VIEW HNADEV_GROUP.V_E_T_FEEMONTH COMPILE;   
ALTER VIEW HNADEV_GROUP.V_E_Z_BILL_STAY_GROUP COMPILE;   
略...   
通过复制以上SQL语句,直接手动执行编译执行.

4. 也可以采用如下方式在oracle用户下进行手工编译

# su - oracle 
$ sqlplus / as sysdba   
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql


    
 
 

您可能感兴趣的文章:

  • 为什么在编译java程序的时候出现oracle.jdbc.driver不存在?急!!!
  • 用Jbuilder编译文件,提示找不到oracle驱动?
  • ser 2.1.0下oracle模块编译错误,请指点
  • Oracle 9.2.0.1版函数编译一个小问题
  • Oracle中重新编译无效的存储过程, 或函数、触发器等对象
  • Linux+php+apache+oracle环境搭建之CentOS下源码编译安装PHP
  • Oracle exp 导出用户对象
  • oracle查看会话锁定的所有对象代码分享
  • 测试添加Oracle中Blob数据类型对象
  • 基于Oracle的面向对象技术入门基础简析开发者网络Oracle
  • Oracle中关数据库对象的统计分析
  • Oracle使用PL/SQL操作COM对象
  • 浅析Oracle对象和数据的导入导出
  • Oracle PL/SQL编程有关的数据库对象
  • 大家帮帮忙解决oracle大对象的问题吧。来者有分。
  • ORACLE 常用的SQL语法和数据对象
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • oracle创建删除用户示例分享(oracle删除用户命令及授权)
  • linux6.0下安装oracle11g, 新建用户后,在用户目录下为什么没有.bash_profile文件生成? 求教高手。谢谢!
  • Oracle一个用户如何访问其它用户的表应用指南
  • oracle用户口令丢了
  • 修改oracle用户的.bash_profile之后无法正常登陆
  • linux下如何查看是什么用户安装的oracle
  • oracle+jsp 多用户查询系统讨论:
  • ORACLE 中修改用户密码的方法
  • linux中定时任务 oracle用户该如何做?
  • 杀掉oracle在线用户脚本分享
  • linux能够通过执行脚本添加oracle数据库的用户吗
  • oracle怎么删除用户提供解决方案
  • Oracle初始参数与当前用户
  • Oracle发布Oracle SQL Developer 1.2数据库开发工具 帮助用户简化开发工作
  • Oracle中查看当前用户的表
  • 怎样知道一个用户的主目录,也就是.bash_profile所在的目录?如/home/oracle
  • Linux下修改Oracle用户密码
  • Oracle创建用户权限的过程
  • 解决oracle用户连接失败的解决方法
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,