急,imp怪异问题,请高手协助

seani 2010-05-03 09:49:52
我原有系统平台是:window2003 32位+oracle9.0 32位版本,现exp导出dmp文件后,想倒入到linux 64位 oracle10。2.0.4 64位平台上,但倒了几次老提示以下错误。请高手协助,谢谢。

IMP-00041: 警告:创建的对象带有编译警告
"CREATE FORCE VIEW "ANYT"."DOMAIN_ADDRESS_VIEW" ("
""ADDRESS_ID","NAME","SIMPLE_CODE","PARENT_ADDR","CSTNAME") AS "
"SELECT ADDRESS_ID,DOMAIN_ADDRESS.NAME,SIMPLE_CODE,PARENT_ADDR ,CST_CUSTOMER"
".NAME"
" FROM DOMAIN_ADDRESS , CST_CUSTOMER WHERE CST_CUSTOMER.ADDR_ID = DOMAIN_"
"ADDRESS.ADDRESS_ID ORDER BY SIMPLE_CODE "
IMP-00017: 由于 ORACLE 错误 23308, 以下语句失败:
"BEGIN DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('ANYT', 'Tr_I_NOTIFY_SMS_"
"FINISHED_ID', FALSE); END;"
IMP-00003: 遇到 ORACLE 错误 23308
ORA-23308: 对象 ANYT.TR_I_NOTIFY_SMS_FINISHED_ID 不存在或无效
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.DBMS_DDL_INTERNAL", line 41
ORA-06512: 在 "SYS.DBMS_DDL", line 335
ORA-06512: 在 line 1
...全文
614 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
codearts 2010-05-04
  • 打赏
  • 举报
回复
还可能是:

TR_I_NOTIFY_SMS_FINISHED_ID这个触发器,在源库上有SCHEMA

比如, 原代码中是:
create or replace ANYT.TR_I_NOTIFY_SMS_FINISHED_ID

codearts 2010-05-04
  • 打赏
  • 举报
回复
假如 16 楼的回答,仍然没有解决的话,可能是BUG了

不过这个BUG好像在你的9I版本已经解决了

Bug 2067904 Release: Oracle8i (8.1.7.x) and 9.0.1.2 and below
Problem: Trigger-name causes call to DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY to fail during Import (IMP-17 IMP-3 ORA-931 ORA-23308 ORA-6512).
Solution: in Oracle9iR1 with patchset 9.0.1.3
Workaround: yes, seeNote 239821.1"ORA-931 or ORA-23308 in SET_TRIGGER_FIRING_PROPERTY on Import of Trigger in 8.1.7.x and 9.0.1.x"

Note 239821.1"ORA-931 or ORA-23308 in SET_TRIGGER_FIRING_PROPERTY on Import of Trigger in 8.1.7.x and 9.0.1.x"
codearts 2010-05-04
  • 打赏
  • 举报
回复
我也不知道是啥原因了,试试换个用户

用sysdba创建一个新用户

sql>create user xxx identified by xxx;
sql>grant connect, resource, dba to xxx;

然后再执行:
imp xxx/xxx file=/root/a.dmp fromuser=any touser=xxx ignore=y

seani 2010-05-04
  • 打赏
  • 举报
回复
最主要是这个问题

IMP-00041: 警告:创建的对象带有编译警告
"CREATE FORCE VIEW "ANYT"."DOMAIN_ADDRESS_VIEW" ("
""ADDRESS_ID","NAME","SIMPLE_CODE","PARENT_ADDR","CSTNAME") AS "
"SELECT ADDRESS_ID,DOMAIN_ADDRESS.NAME,SIMPLE_CODE,PARENT_ADDR ,CST_CUSTOMER"
".NAME"
" FROM DOMAIN_ADDRESS , CST_CUSTOMER WHERE CST_CUSTOMER.ADDR_ID = DOMAIN_"
"ADDRESS.ADDRESS_ID ORDER BY SIMPLE_CODE "
IMP-00017: 由于 ORACLE 错误 23308, 以下语句失败:
"BEGIN DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('ANYT', 'Tr_I_NOTIFY_SMS_"
"FINISHED_ID', FALSE); END;"
IMP-00003: 遇到 ORACLE 错误 23308
ORA-23308: 对象 ANYT.TR_I_NOTIFY_SMS_FINISHED_ID 不存在或无效
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.DBMS_DDL_INTERNAL", line 41
ORA-06512: 在 "SYS.DBMS_DDL", line 335
ORA-06512: 在 line 1
seani 2010-05-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 codearts 的回复:]
引用 11 楼 seani 的回复:

IMP-00017: 由于 ORACLE 错误 2270, 以下语句失败:
"ALTER TABLE "SALE_ACCOUNT" ADD CONSTRAINT "FK_SALE_ACCOUNT001" FOREIGN KEY "
"("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") E……
[/Quote]
有这个表,有这个字段的
codearts 2010-05-04
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 seani 的回复:]

IMP-00017: 由于 ORACLE 错误 2270, 以下语句失败:
"ALTER TABLE "SALE_ACCOUNT" ADD CONSTRAINT "FK_SALE_ACCOUNT001" FOREIGN KEY "
"("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NOVALIDATE"
IMP-00003: 遇到 ORACLE 错误 2270
ORA-02270: 此列列表的唯一关键字或主键不匹配
[/Quote]

外键出错了。

导入之后(即使导入时报了错),有CST_CUSTOMER这个表么?CST_CUSTOMER这个表有CUSTOMER_ID这个字段么?

seani 2010-05-04
  • 打赏
  • 举报
回复
用户是没错的
[Quote=引用 10 楼 qq646748739 的回复:]
你的 fromuser=any touser=any 这两个any ,导入和导出的用户一样,不会报错吗?
[/Quote]
seani 2010-05-04
  • 打赏
  • 举报
回复
这个参数去掉也报错,报错如下:
IMP-00041: 警告:创建的对象带有编译警告
"CREATE FORCE VIEW "ANY"."DOMAIN_ADDRESS_VIEW" ("
""ADDRESS_ID","NAME","SIMPLE_CODE","PARENT_ADDR","CSTNAME") AS "
"SELECT ADDRESS_ID,DOMAIN_ADDRESS.NAME,SIMPLE_CODE,PARENT_ADDR ,CST_CUSTOMER"
".NAME"
" FROM DOMAIN_ADDRESS , CST_CUSTOMER WHERE CST_CUSTOMER.ADDR_ID = DOMAIN_"
"ADDRESS.ADDRESS_ID ORDER BY SIMPLE_CODE "
IMP-00017: 由于 ORACLE 错误 2270, 以下语句失败:
"ALTER TABLE "SALE_CONSUMER" ADD CONSTRAINT "FK_CONSUMER_CUSTOMER" FOREIGN K"
"EY ("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NOVALID"
"ATE"
IMP-00003: 遇到 ORACLE 错误 2270
ORA-02270: 此列列表的唯一关键字或主键不匹配
IMP-00017: 由于 ORACLE 错误 2270, 以下语句失败:
"ALTER TABLE "SALE_ACCOUNT" ADD CONSTRAINT "FK_SALE_ACCOUNT001" FOREIGN KEY "
"("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NOVALIDATE"
IMP-00003: 遇到 ORACLE 错误 2270
ORA-02270: 此列列表的唯一关键字或主键不匹配
IMP-00017: 由于 ORACLE 错误 2270, 以下语句失败:
"ALTER TABLE "SALE_GROUP_ORDER" ADD CONSTRAINT "FK_SALE_GROUP_CUSTOMER" FORE"
"IGN KEY ("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NO"
"VALIDATE"
IMP-00003: 遇到 ORACLE 错误 2270
ORA-02270: 此列列表的唯一关键字或主键不匹配
IMP-00017: 由于 ORACLE 错误 2270, 以下语句失败:
"ALTER TABLE "SALE_ORDER" ADD CONSTRAINT "FK_SALE_ORDER_CUSTOMER" FOREIGN KE"
"Y ("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NOVALIDA"
"TE"
IMP-00003: 遇到 ORACLE 错误 2270
ORA-02270: 此列列表的唯一关键字或主键不匹配
IMP-00017: 由于 ORACLE 错误 2270, 以下语句失败:
"ALTER TABLE "SALE_RECEIVABLE" ADD CONSTRAINT "FK_SALE_REC_CUSTOMER" FOREIGN"
" KEY ("CUSTOMER_ID") REFERENCES "CST_CUSTOMER" ("CUSTOMER_ID") ENABLE NOVAL"
"IDATE"
IMP-00003: 遇到 ORACLE 错误 2270
ORA-02270: 此列列表的唯一关键字或主键不匹配
IMP-00017: 由于 ORACLE 错误 2270, 以下语句失败:
"BEGIN DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('ANY', 'Tr_I_NOTIFY_SMS_"
"FINISHED_ID', FALSE); END;"
IMP-00003: 遇到 ORACLE 错误 23308
ORA-23308: 对象 ANY.TR_I_NOTIFY_SMS_FINISHED_ID 不存在或无效
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.DBMS_DDL_INTERNAL", line 41
ORA-06512: 在 "SYS.DBMS_DDL", line 335
ORA-06512: 在 line 1
即将启用约束条件...
IMP-00017: 由于 ORACLE 错误 2298, 以下语句失败:
"ALTER TABLE "SALE_CONSUMER" ENABLE CONSTRAINT "FK_GROUP_ID""
IMP-00003: 遇到 ORACLE 错误 2298
ORA-02298: 无法验证 (ANY.FK_GROUP_ID) - 未找到父项关键字
IMP-00017: 由于 ORACLE 错误 2298, 以下语句失败:
"ALTER TABLE "SALE_GROUP_ORDER_HIS" ENABLE CONSTRAINT "FK_SALE_GROUP_HIS_PRO"
"DUCT""
IMP-00003: 遇到 ORACLE 错误 2298
ORA-02298: 无法验证 (ANY.FK_SALE_GROUP_HIS_PRODUCT) - 未找到父项关键字
IMP-00017: 由于 ORACLE 错误 2298, 以下语句失败:
"ALTER TABLE "SALE_GROUP_ORDER" ENABLE CONSTRAINT "FK_SALE_GROUP_PRODUCT""
IMP-00003: 遇到 ORACLE 错误 2298
ORA-02298: 无法验证 (ANY.FK_SALE_GROUP_PRODUCT) - 未找到父项关键字
IMP-00017: 由于 ORACLE 错误 2298, 以下语句失败:
"ALTER TABLE "SUBORDER_GROUP" ENABLE CONSTRAINT "SUBORDER_GROU_FK21080798062"
"384""
IMP-00003: 遇到 ORACLE 错误 2298
ORA-02298: 无法验证 (ANY.SUBORDER_GROU_FK21080798062384) - 未找到父项关键字
成功终止导入,但出现警告

[Quote=引用 8 楼 codearts 的回复:]
IMP命令:imp any/p1234 file=/root/a.dmp fromuser=any touser=any ignore=y constraints=n

会不会这个参数的原因,去掉看看。
[/Quote]
seani 2010-05-04
  • 打赏
  • 举报
回复
还是没解决,高手帮忙呀
seani 2010-05-03
  • 打赏
  • 举报
回复
角色



角色 管理选项 默认值
CONNECT N Y
DBA N Y
RESOURCE N Y






系统权限:

系统权限 管理选项
UNLIMITED TABLESPACE N
seani 2010-05-03
  • 打赏
  • 举报
回复
在10g上ANYT用户权限和9i上ANYT用户的权限配置是一样的
seani 2010-05-03
  • 打赏
  • 举报
回复
EXP命令: exp any/p1234@an12 file=a.dmp owner=any
IMP命令:imp any/p1234 file=/root/a.dmp fromuser=any touser=any ignore=y constraints=n
zhangwonderful 2010-05-03
  • 打赏
  • 举报
回复
请检查ANYT用户权限分配。
codearts 2010-05-03
  • 打赏
  • 举报
回复
把EXP,IMP命令的细节都透露一下。

EXP的用户,与IMP的用户名,是同一个吗?
seani 2010-05-03
  • 打赏
  • 举报
回复
有权限的
codearts 2010-05-03
  • 打赏
  • 举报
回复
TR_I_NOTIFY_SMS_FINISHED_ID 这个触发器,你EXP时使用的USER有权限访问吗?
碧水幽幽泉 2010-05-03
  • 打赏
  • 举报
回复
你的 fromuser=any touser=any 这两个any ,导入和导出的用户一样,不会报错吗?
yinmoz 2010-05-03
  • 打赏
  • 举报
回复
关注,学习中....
codearts 2010-05-03
  • 打赏
  • 举报
回复
IMP命令:imp any/p1234 file=/root/a.dmp fromuser=any touser=any ignore=y constraints=n

会不会这个参数的原因,去掉看看。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧