视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle数据导入的一点心得
2020-11-09 12:16:58 责编:小采
文档


按照原本的设想,我不导入索引的话,应该对INDX表空间没有影响的,但是为何还是导入了这么多的数据呢。查了不少资料,发现还有个

Oracle数据导入

imp user/passwd file=abc.dmp tables=abc indexes=n

Oracle数据导入时(dmp文件)

有一回导数据,数据量比较大,压缩的dmp文件有15G,,需要将数据往公司的测试数据库上导。

本以为很简单,传好dmp文件,imp导入即可。结果貌似简单的过程,却耗费了我不少的时间。

导入前,建立表空间(dvbboss: 80G),建立用户并指定该表空间。然后导入,在导了半个小时左右后发现报错,意思是指定的表空间已满,不能导入了。我郁闷了,80G的表空间还不够?于是查了一下,令人惊讶的是根据用户指定的表空间占用率还是0,而已经满了的表空间只有两个:

INDX(索引表空间)和dvbcetus,都已经到了99%。将imp停止,并将该用户删除,发现一个情况是,对应的这两个表空间又恢复到原来的状态了,几乎是没有使用。

按照原本的设想,我不导入索引的话,应该对INDX表空间没有影响的,但是为何还是导入了这么多的数据呢。查了不少资料,发现还有个强制约束的索引。如果光指定indexes=n,则只是将一般的索引排出掉不导入,对于这个也需要进行,即:constraints=n,这样限定后产看INDX表空间发现没有增长。

约束往往和一个唯一索引/主键相关联,所以仅仅利用indexes=n 选项是不够的,必须添加CONSTRAINTS=n,才能真正避免导入时的检查。

另外一个表空间的增长,后来发现是这个原因所导致的:

如果数据库已经存在dmp文件中建表所需要的表空间,则默认会往该表空间中增加表及数据如果没有不存在该表空间,则会按照建立用户:user的时候所指定的表空间里建表与数据。

下载本文
显示全文
专题