Oracle10g如何imp在exp时设置了compress=y的dmp文件?
现在手里有个dmp文件,3M大小,但是在imp的时候,表空间扩展了二十多个G,数据还是未能导入完成,直到磁盘空间不足,imp报错。
查了一下,可能的原因是,该dmp文件在exp时设置了碎片整理参数compress,大概意思引用如下
----------------------------------------------------
http://www.huomaw.com/oracle/201011/15299.html
7、碎片整理
EXPORT/IMPORT一个很重要的应用方面就是整理碎片。因为如果时初次IMPPORT,
就会重新CREATE TABLE 再导入数据,所以整张表都是连续存放的。另外缺省情况
下EXPORT会在生成DUMP文件是“压缩(COMPRESS)”TABLE,但是这种压缩在很多情况。
事实上,COMPRESS是改变STORAGE参数INITIAL的值。比如:
CREATE TABLE .... STORAGE( INITIAL 10K NEXT 10K..)
现在数据已经扩展到100个EXTENT,如果采用COMPRESS=Y来EXPORT数据,
则产生的语句时 STORAGE( INITIAL 1000K NEXT 10K)
我们可以看到NEXT值并没有改变,而INITIAL是所有EXTENT的总和。所以会出现
如下情况,表A有4个100M的EXTENT,执行DELETE FROM A,然后再用COMPRESS=Y 导
出数据,产生的CREATE TABLE语句将有400M的INITIAL EXTENT。即使这是TABLE中
已经没有数据!!这是的DUMP文件即使很小,但是在IMPORT时就会产生一个巨大
的 TABLE.
另外,也可能会超过DATAFILE的大小。比如,有4个50M的数据文件,其中表A有
15个10M的EXTENT,如果采用COMPRESS=Y的方式导出数据,将会有INITIAL=150M,
那么在重新导入时,不能分配一个150M的EXTENT,因为单个EXTENT不能跨多个文
件。
-----------------------------------
问题是,如何将这个文件导入到数据库?
------解决方案--------------------百度啊 兄弟
------解决方案--------------------
不能再重导一份了?
------解决方案--------------------不懂这个,帮你顶