博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于导入dump
阅读量:2446 次
发布时间:2019-05-10

本文共 1828 字,大约阅读时间需要 6 分钟。

在工作中,dump文件对于dba而言是再平常不过的文件了。

不过在导入dump文件的时候还是有很多的细节可以注意,可以避免一些不必要的问题。
exp/imp是比较经典的数据导出导入工具,不过自expdp/impdp推出以来,exp/imp还是受到了不少的冷落,在新的版本中,支持力度都集中在了expdp/impdp上面。不过不管怎样,exp/imp还是一种比较轻巧的工具。对于小表的处理还是相当不错的。
--&gt查看dump文件的一些基本信息。
当你拿到一个dump文件的时候,不能盲目导入,我们可以基于当前的dump文件作一些基本的检查。
比如我们可以查到dump文件导出的版本,时间,导出的用户。
尽管dump文件是二进制文件,但是我们还是可以使用strings来得到一些信息。
$ strings test.dmp|head -10
iEXPORT:V11.02.00
RUSERS
8192
Sun Dec 28 6:54:27 2014test.dmp
#G#G
#G#G
-08:00
BYTE
UNUSED
INTERPRETED
根据上面的命令输出,我们得到了一些dump的基本信息。
--&gt得到dump中的表信息
对于dump文件,我们可以解析出含有的表名,可以使用如下的方式来实现。
$ strings test.dmp |grep "CREATE TABLE "|awk '{print $3}'|sed 's/"//g'
BALL_DATA
BIG_INSERT
CLOB_TEST
COUNTRY_LST
CTEST
DATA
DATA2
对于解析dump中的表,更多的信息可以参考( )

->关于外键

在导入dump文件的时候,外键也是一个很重要的因素,可能dump中含有一些表,有些表中存在外键,在数据迁移之类的项目中是很让人头疼的,你得基于外键考虑表的导入顺序,有些表得先倒入,要不在数据插入的时候会报外键相关的Ora问题。
可以使用如下的脚本来做一个基本过滤,可以考虑在过滤条件中嵌入一个dump中表的清单,可以更加精准的处理相关的外键。

SELECT

      'ALTER TABLE '||TABLE_NAME||' DISABLE  CONSTRAINT '|| CONSTRAINT_NAME||';' FROM USER_CONSTRAINTS WHERE

       CONSTRAINT_TYPE='R' UNION SELECT 'ALTER TABLE '||UCA.TABLE_NAME||' DISABLE  CONSTRAINT '|| UCA.CONSTRAINT_NAME||';'

FROM

       USER_CONSTRAINTS UCA ,

       (SELECT  CONSTRAINT_NAME

          FROM  USER_CONSTRAINTS

          WHERE CONSTRAINT_TYPE IN ('P','U')

) tmp

WHERE UCA.CONSTRAINT_TYPE = 'R'

  AND tmp.constraint_name = UCA.R_CONSTRAINT_NAME ;

->关于触发器

触发器在数据导入或者数据迁移中都会存在潜在的问题,如果你不了解应用中的触发器处理细节,就会发现在数据导入或者数据迁移的过程中,会莫名其妙多出来一部分数据,或者有些数据发生了变化。
一般来说,可以和开发做简单的确认,大多数的情况下都是需要把触发器给disable,然后在数据导入之后再启用。

SELECT

      'ALTER TRIGGER ' ||TRIGGER_NAME||' DISABLE ;'

FROM

       USER_TRIGGERS;

--&gt关于buffer size
buffer size的设置在数据导入中也是很重要的,如果dump存在一个较大的分区表,很可能导入的过程中就会跑出buffer size不够的错误,给你的导入工作带来很多影响。
一般可以把buffer size设置的大一些,比如4M,9M都是不错的选择。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-1383168/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23718752/viewspace-1383168/

你可能感兴趣的文章
slack财报_如何将自己的表情符号添加到Slack
查看>>
juicer hic使用_使用Sound Juicer在Linux中翻录音频CD
查看>>
如何在Microsoft表单中添加分支
查看>>
在“提示”框中:删除Windows 8安全启动,从Media Center启动应用程序,并加快Windows安装速度...
查看>>
修改时序约束改变slack_如何更改Slack的默认表情符号肤色
查看>>
如何在iPhone,iPad和Mac上禁用Safari经常访问的起始页
查看>>
vscode变假期不提示_12个假期的家庭技术支持提示
查看>>
将电视频道徽标添加到Windows 7 Media Center
查看>>
改善Google Chrome中的YouTube视频观看
查看>>
配置您的计算机以备份到Windows Home Server
查看>>
解决Windows Home Server Toolkit的连接问题
查看>>
如何在Windows 10中打印照片
查看>>
如何在离开时自动检测巢穴
查看>>
ubuntu显示管理器_如何在Ubuntu的文件管理器中显示导航栏而不显示面包屑
查看>>
关于极客
查看>>
自定义日历_如何在网络上自定义Google日历的通知
查看>>
hue功能_Philips Hue的“新实验室”部分中的最佳实验功能
查看>>
微软office在线文档_如何使用Microsoft Office密码保护文档和PDF
查看>>
如何在SHIELD Android TV上调整过扫描
查看>>
outlook 禁用不安全_如何在Outlook中禁用删除确认对话框
查看>>