暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 导入大小和实际表大小。

ASKTOM 2020-12-15
351

问题描述

在这里,我没有任何clob或blob数据列,这里只是存储varchar2 filed。但147719行导入但大小为1.4375GB。所以这是否合理?


那么导入日志文件中提到的 “25.95 GB” 是什么?

以下是我的导入文件输出的详细信息。

Import: Release 12.2.0.1.0 - Production on Mon Dec 15 11:53:49 2020

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.
;;; 
Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Master table "SYSTEM"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_TABLE_01":  system/******** DIRECTORY=DATA_PUMP_DIR DUMPFILE=FILE_121220_0748.dmp LOGFILE=FILE_121220_0748.txt TABLES=HR.EMP_DOCS_MAS query=HR.EMP_DOCS_MAS:"where trns_srno=0 and trunc(entr_dt) between '01-DEC-2020' and '15-DEC-2020' " table_exists_action=replace 
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "HR"."EMP_DOCS_MAS"                        25.95 GB  147719 out of 503929138 rows
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
Job "SYSTEM"."SYS_IMPORT_TABLE_01" successfully completed at Mon Dec 15 11:55:56 2020 elapsed 0 00:02:06


我检查导入表的总大小为1.4375GB,仅查看以下查询。

select a.BYTES / 1024 / 1024 / 1024 gb_size, a.*
  from dba_segments a
 where a.segment_name = 'EMP_DOCS_MAS';


输出:-

GB_SIZE :- 1.4375
业主:-人力资源
分段名称:- EMP_DOCS_MAS
分区名称:-
分段类型:-表
分段 _ 子类型:- ASSM
表格空间 _ 名称:- ATRDTL
标题 _ 文件:- 5
HEADER_BLOCK :- 1572897
字节:- 1543503872
块:- 188416
范围:- 23
初始 _ 范围:- 1543503872
下一个 _ 范围:- 1048576
最小范围:- 1
最大范围:- 2147483645
最大尺寸:- 2147483645
保留:-
MIN保留:-
增加:-
自由主义者:-
FREELIST_GROUPS :-
RELATIVE_FNO :- 1024
BUFFER_POOL :-默认
FLASH_CACHE :-默认值
CELL_FLASH_CACHE :-默认值
内存:-禁用
内存 _ 优先级:-
内存 _ 分发:-
内存 _ 重复:-
内存压缩:-
细胞记忆:-



select  sum(s.BYTES / 1024 / 1024/1024) gb  
  from dba_extents s
 where s.segment_name = 'EMP_DOCS_MAS';


GB
------
1.4375

专家解答

So what is "25.95 GB" mention in import log file?

这就是导出中表格的大小。导入命令中有一个数据过滤器,所以您只加载其中的一部分。

147719 rows imported but size is 1.4375 GB. So this is reasonable or not?

这大约是10kb/行。

所以回到你身边: 这看起来合理吗?我不知道你的表长什么样!

请记住: * _segments视图报告分配给表的大小。这很可能是你有更多的空间分配给表比你实际使用的。

例如,让我们创建一个表,插入一行,看看它使用了多少空间:

create table t (
  c1 int
);

insert into t values ( 1 );
commit;
select bytes from user_segments
where  segment_name = 'T';

BYTES   
   65536 


一排64Kb?!那是因为大部分空间都是空的。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论