数据泵导出导入物化视图(ORA-39083)

今天小麦苗给大家分享的是数据泵导出导入物化视图(ORA-39083)。

数据泵导出导入物化视图(ORA-39083)

有网友问,物化视图是否能单独进行导出和导入呢?因为导出不报错,但是导入的时候报错了,报错信息如下所示:

网友给出的导出和导入的SQL语句如下所示:

expdp system/oracle dumpfile=dumpdir:mview.dmp schemas=scott include=materialized_view

impdp system/oracle dumpfile=dumpdir:mview.dmp

导出和导入语句没毛病,小麦苗自己也测试了一下,的确如此,会报错的。

1.4 故障处理总结

1、使用数据泵进行导出和导入时,基于schema和数据库级别可以导出和导入物化视图。

2、使用数据泵单独导出和导入物化视图(include=materialized_view)时,会报ORA-39083和ORA-00942错误。

3、在新建一个物化视图时,会同步新建一个同名的表。所以,使用数据泵单独导出和导入物化视图(include=materialized_view)时,需要加上这些同名的表。

4、INCLUDE进行导出和导入时只会导出和导入显式指定的数据库对象,而其依赖的对象并不会进行导出和导入。

5、若只导出物化视图的创建语句,则可以使用如下SQL:

expdp system/lhr dumpfile=mview4.dmp schemas=lhr include=TABLE:\"IN \(\'TEST_MV_LHR\'\)\",materialized_view:\"IN \(\'TEST_MV_LHR\'\)\" 

impdp system/lhr dumpfile=mview4.dmp

若需要同步导出物化视图的创建语句及其存储的数据,则可以使用如下SQL:

expdp system/lhr dumpfile=mview5.dmp schemas=lhr include=TABLE:\"IN \(\'TEST_MV_LHR\',\'TEST_MV\'\)\",materialized_view:\"IN \(\'TEST_MV_LHR\'\)\"

impdp system/lhr dumpfile=mview4.dmp

exec dbms_mview.refresh('TEST_MV_LHR','C');

6、同步数据可以使用如下的SQL语句:

exec dbms_mview.refresh('TEST_MV_LHR','C');

parfile的使用:

[oracle@OCPLHR ~]$ cat par_lhr.par

include=TABLE:"IN ('TEST_MV_LHR','TEST_MV')",materialized_view:"IN ('TEST_MV_LHR')"

[oracle@OCPLHR ~]$ expdp system/lhr dumpfile=mview6.dmp schemas=lhr parfile=par_lhr.par

注意:本文内容太多,公众号有字数限制,全文可以参考http://blog.itpub.net/26736162/viewspace-2155381

本文分享自微信公众号 - DB宝(xiaomaimiaolhr)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券