Oracle 遇到的问题:IMP-00041: 警告: 创建的对象带有编译警告解决办法

出现IMP-00041: 警告: 创建的对象带有编译警告:
以后再做数据迁移的时候需要额外注意,尤其用户中有视图或者触发器对象的时候。
用户的环境是这样的,在库里有三个oracle的用户,其中一个用户中有几张视图是引用其他用户的,所以
在数据导入的时候,需要导入”独立性最好”的用户对象,什么是”独立性最好”?大概的意思是自相关,自己只和自己
打交道没有引用其他用户的对象。如果顺序错了,自然会出现”IMP-00041: 警告: 创建的对象带有编译警告”类似的错误,
可能是数据导入的过程中,用户有视图对象,而视图需要引用的对象在其他用户里。
除此之外,如果是夸用户的对象,还需要额外注意权限的问题。及时用户具备DBA的角色,在视图中,仍需显示的
“grant select.. on…”来给用户授权,否则也会出现imp-00041,也许在你recompile之后,仍然无法解决,那么,那么
drop掉视图,重新创建吧。。

出现IMP-00041: 警告: 创建的对象带有编译警告:

 1 "CREATE FORCE VIEW "ADMIN"."P_VIEW_ORDERITEMP"                           ("I"
 2  "TEMCODE","ITEMTYPE","ORDERITEMCODE","ITEMFLG","PREORDERITEMCODE") AS "
 3  "select BSS_ORDERITEM.Itemcode,BSS_ORDERITEM.Itemtype,BSS_ORDERITEM.Orderite"
 4  "mcode,BSS_ORDERITEM.ITEMFLG,p_view_param.get_param() Preorderitemcode from "
 5  "BSS_ORDERITEM"
 6  "START WITH BSS_ORDERITEM.Orderitemcode =(select BSS_ORDERITEM.Orderitemcode"
 7  " from BSS_ORDERITEM"
 8  "where    BSS_ORDERITEM.Orderitemcode <>  p_view_param.get_param() and  BSS_"
 9  "ORDERITEM.Preorderitemcode= p_view_param.get_param() )"
10  "CONNECT BY prior BSS_ORDERITEM.Orderitemcode =BSS_ORDERITEM.Preorderitemcod"
11  "e"
12  ""
13  "union all"
14  "select BSS_ORDERITEM.Itemcode,BSS_ORDERITEM.Itemtype,BSS_ORDERITEM.Orderite"
15  "mcode,BSS_ORDERITEM.ITEMFLG,to_char(BSS_ORDERITEM.Preorderitemcode) from BS"
16  "S_ORDERITEM"
17  "left join BSS_ORDERPAY on  BSS_ORDERITEM.Orderitemcode = BSS_ORDERPAY.Order"
18  "itemcode"
19  "where BSS_ORDERITEM.Orderitemcode=p_view_param.get_param()"
View Code
原文地址:https://www.cnblogs.com/ln-qiqi/p/10727970.html