本文介绍: 有关,如果设置true,那么默认建表时候如果不加任何存储参数,是不会创建段的,如果设置n,那么就会创建段,如果不显式指定initial extentd其实这个初始段一般是非常小的,但是如果要加快创建速度,是可以把他设置true,这么就是只会建表,而不会创建段。正常impdp,在执行创建表和索引sql时候,会带上存储参数存储参数中就指定了初始化大小,如果原表非常大或者表分区特别多,那么这个默认初始化段也会变的非常大,因此会导致你建表时候占用空间非常大。

expdp导出时候指定了contents=metadata_only只导出元数据,但是在impdp导入到新库的时候发现新库的表空间增长非常大,其实这个直接可以想到,应该是大表的initial segment过大导致的

正常impdp,在执行建表索引sql时候,会带上存储参数,存储数中就指定了初始化大小,如果原表非常大或者表分区特别多,那么这个默认初始化段也会变的非常大,因此会导致你建表时候占用的空间非常大

expdp/impdp提供了transform参数,可以指定在导出和导入时候去除哪些属性

TRANSFORM
Metadata transform to apply to applicable objects.
Valid keywords are: OID, PCTSPACE, SEGMENT_ATTRIBUTES and STORAGE.

内部可能调用的DBMS_METADATA.SET_TRANSFORM_PARAM函数关于函数可以参考

DBMS_METADATA中使用SESSION_TRANSFORM过滤不想获取的DDL-CSDN博客

此外,建表的时候创不创建初始段还和参数:

deferred_segment_creation         boolean     TRUE

有关,如果设置true,那么默认建表的时候如果不加任何存储参数,是不会创建段的,如果设置为n,那么就会创建段,如果不显式的指定initial extentd其实这个初始段一般是非常小的,但是如果要加快创建速度,是可以把他设置true,这么就是只会建表,而不会创建段

最后修改导入语句如下

impdp ‘/ as sysdbadirectory=expdir dumpfile=str.dmp full=y exclude=statistics TRANSFORM=SEGMENT_ATTRIBUTES:N

 导入完成检查表空间使用

发现只有system表空间占用,因为元数据保存在system表空间中,其它表空间中都没有数据

原文地址:https://blog.csdn.net/su377486/article/details/134656616

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_46704.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注