Oracle dump文件的一些经验
dump文件对于DBA而言再平常不过了。不过因为dump文件是二进制文件,我们平时使用中不太关注。再导入dump文件时有很多细节和技巧是值得注意的。
1.查看dump文件的一些基本信息
strings 2018-3-20_bak.dmp | head -10
TEXPORT:V11.02.00
DTEST
RUSERS
2048
20 2:0:2 2018../backup_test/2018-3-20_bak.dmp
#G#G
#G#G
+00:00
BYTE
从上述信息第一行可以看出exp是基于11.2版本,
第三行可以看出是基于用户模式导出的dump文件,如果是全库模式会显示为RENTIRE,表模式RTABLES
第四行可以看出dump文件生成的时间戳
2.得到dump文件中的表信息
strings 2018-3-20_bak.dmp | grep "CREATE TABLE " |awk '{print $3}' |sed 's/"//g'
3.导入dump文件时需要注意的隐患
1)关于外键
2)关于触发器:大多数情况下需要将触发器disable
select 'alter trigger ' ||TRIGGER_NAME||' DISABLE ;' from user_triggers;
3)关于buffer size
如果dump文件存在较大的分区表,导入过程中会出现buffer size不够的错误,一般可以把buffer size设置的大一些,4M、9M都是不错的选择