因为我的D盘数据库空间不多了,只有70G了.
而我要imp的.dmp文件有67G,只是一个用户下的.它是我用了一天一夜(25个小时)exp导出的.
它是测试数据库上的数据,有垃圾数据.
现在我计划:在imp的同时,truncate 一些开发项目时用的表(因为里面有4G容量的垃圾数据).
请问我这样操作,对数据库的导入,及对数据库的性能有影响吗?? 是Oracle 10g
因为我估计导入时,又要花25个小时,要小心地在旁边看护操作!!
非常期待,各位的不吝赐教!!
只要能解决,就结贴!
thanks!
而我要imp的.dmp文件有67G,只是一个用户下的.它是我用了一天一夜(25个小时)exp导出的.
它是测试数据库上的数据,有垃圾数据.
现在我计划:在imp的同时,truncate 一些开发项目时用的表(因为里面有4G容量的垃圾数据).
请问我这样操作,对数据库的导入,及对数据库的性能有影响吗?? 是Oracle 10g
因为我估计导入时,又要花25个小时,要小心地在旁边看护操作!!
非常期待,各位的不吝赐教!!
只要能解决,就结贴!
thanks!
Thanks again!
或者imp之后truncate 。
有1498个table,还有1389个view 这些还只是一个常用的user下的数据量.其中一个比较大的表,数据容量有4.8G.
我就担心的是imp后,再truncate 会影响它的性能.
Thanks again! "在exp时,truncate吧。这种更好,减少数据的间隙。" 这种方法我认为不可以,因为exp时,truncate,会删除掉测试数据库里的数据.这不是我的要求.
问题的关键是:我的数据库容量有限了. 而exp后的.dmp文件有67G,数据量太大
问题是,你的truncate语法必须在你导入对应的表数据后才能执行。实际上,如果没有触发器、存储过程等,你可以分2部分导入
1、导入需要数据的表
2、导入不需要数据的表(用参数控制不导入数据)Tables=(tb1,tb2,tb5,tb9..tbn)
我用的是Toad v9.1 它有向导: Truncate Table
(这里是单选框) Reuse storage
leaves the space allocated from the deleted
rows (这里又是单选框) Drop storage
Deallocates the space currently used by the deleted
rows
(这里是复选框) Remember my selection Execute(操作按纽) Cancle(操作按纽)
我是选的第二个单选框,并勾选了复选框.可表空间并没有相应地回收.因为这个表的容量有2G呀.
菜鸟再弱弱地请教:我truncate 一个表后,那个表名还存在,我不用Drop了吧?