暂无图片
分享
三三两两
2019-11-22
oracle导入导出,前后数据对象不一致

源端:

SQL> SELECT OBJECT_TYPE,STATUS,COUNT(*) cnt FROM dba_OBJECTS
2 Where owner=‘HSFSK’
3 GROUP BY OBJECT_TYPE,STATUS order by 1;

OBJECT_TYPE STATUS CNT


FUNCTION INVALID 1
FUNCTION VALID 158
INDEX VALID 1222
INDEX PARTITION VALID 579
LOB VALID 81
PROCEDURE VALID 688
SEQUENCE VALID 12
SYNONYM VALID 1
TABLE VALID 3576
TABLE PARTITION VALID 5682
TYPE VALID 2
VIEW VALID 65

12 rows selected

SQL> select count(*) from dba_OBJECTS
2 Where owner=‘HSFSK’;

COUNT(*)

 12067

目标端:

SQL> SELECT OBJECT_TYPE,STATUS,COUNT(*) cnt FROM dba_OBJECTS
2 Where owner=‘HSFSK’
3 GROUP BY OBJECT_TYPE,STATUS order by 1;

OBJECT_TYPE STATUS CNT


FUNCTION INVALID 159
INDEX VALID 1222
INDEX PARTITION VALID 579
LOB VALID 78
PROCEDURE INVALID 681
PROCEDURE VALID 7
SEQUENCE VALID 12
SYNONYM INVALID 1
TABLE VALID 3576
TABLE PARTITION VALID 4626
TYPE VALID 2
VIEW INVALID 61
VIEW VALID 4

13 rows selected

SQL> select count(*) from dba_OBJECTS
2 Where owner=‘HSFSK’;

COUNT(*)

 11008

导入导出语句


expdp system/sysdba@ORCLTEST directory=EXP_IMP_DATA dumpfile=06.dmp logfile=06.log SCHEMAS=HSFSK
impdp system/sysdba@orcl directory=DATA_PUMP_DIR dumpfile=06.dmp logfile=06.log schemas=HSFSK table_exists_action=replace

日志报错:

除了已存在和编译失效以外并无其他报错

附加问题:ALTER_PROCEDURE为什么会编译失效,使用@$ORACLE_HOME/rdbms/admin/utlrp.sql脚本结果为

OBJECTS WITH ERRORS

              0

ERRORS DURING RECOMPILATION

                      0

好像还是没编译成功。。。

收藏
分享
4条回答
默认
最新
三三两两
升级问题到: 一般问题
暂无图片 评论
暂无图片 有用 0
章芋文

主要是TABLE PARTITION VALID 4626,可以对比下哪些分区没有创建。
建议删除用户csacade,不使用table_exists_action参数导入试试。
对象失效的问题很正常,需要具体去排查一下。

暂无图片 评论
暂无图片 有用 0
三三两两

感谢技术专家章芋文,感谢您的答疑解惑

暂无图片 评论
暂无图片 有用 0
三三两两
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏