oracle10G占用硬盘空间,oracle10G dmp导入占用表空间过大问题

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 1月 14 10:25:17 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> SELECT  COUNT(*) FROM TEST01;

COUNT(*)

----------

4119

结论:TEST01表中有4119条记录

SQL> analyze table  TEST01 compute statistics;

表已分析。

SQL> select owner,table_name,

2  NUM_ROWS ,

3  BLOCKS * 8192/1024/1024 "Size M",

4  EMPTY_BLOCKS,

5  LAST_ANALYZED from  dba_tables where table_name='TEST01';

OWNER   TABLE_NAME   NUM_ROWS    Size M   EMPTY_BLOCKS   LAST_ANALYZED

------- ----------   ---------   -------   ----------    -------------

REPORT  TEST01       4119        2.03125          124    14-1月 -10

结论:TEST01表占用了2.03125M的大小

SQL> DELETE FROM TEST01;

已删除4119行。

SQL> analyze table  TEST01 compute statistics;

表已分析。

SQL> select owner,table_name,

2  NUM_ROWS ,

3  BLOCKS * 8192/1024/1024 "Size M",

4  EMPTY_BLOCKS,

5  LAST_ANALYZED from  dba_tables where table_name='TEST01';

OWNER   TABLE_NAME   NUM_ROWS    Size M   EMPTY_BLOCKS   LAST_ANALYZED

------- ----------   ---------   -------   ----------    -------------

REPORT  TEST01       4119        2.03125           124     14-1月 -10

结论:delete数据后,高水位线不释放,TEST01占用的存储大小与删除前不变。

--用默认的方式导出TEST01表的数据

SQL> host exp report/report@report file=test01.dmp tableS=TEST01

--导出TEST01表的数据,加参数compress=n

SQL> host exp report/report@report file=test01n.dmp tableS=TEST01 compress=n

-- 删除TEST01表

SQL> DROP TABLE TEST01;

表已删除。

-- 导入默认方式导出的TEST表数据,test01.dmp

SQL> host imp report/report@report file=test01.dmp full=y

--查询表中记录数

SQL> select count(*) from test01;

COUNT(*)

----------

0

-- 结论:目前表中没有记录

--查询没有记录的test01表的大小

SQL> select owner,table_name,

2  NUM_ROWS ,

3  BLOCKS * 8192/1024/1024 "Size M",

4  EMPTY_BLOCKS,

5  LAST_ANALYZED from  dba_tables where table_name='TEST01';

OWNER   TABLE_NAME   NUM_ROWS    Size M   EMPTY_BLOCKS   LAST_ANALYZED

------- ----------   ---------   -------   ----------    -------------

REPORT  TEST01       4119        2.03125           124     14-1月 -10

-- 结论:虽然test01表没有记录,但仍然占用了2.03125M的存储空间。与删除前占用

的存储空间无变化。

--对TEST01表进行统计分析

SQL> analyze table  TEST01 compute statistics;

表已分析。

--查看统计分析后TEST01表的大小

SQL> select owner,table_name,

2  NUM_ROWS ,

3  BLOCKS * 8192/1024/1024 "Size M",

4  EMPTY_BLOCKS,

5  LAST_ANALYZED from  dba_tables where table_name='TEST01';

OWNER   TABLE_NAME   NUM_ROWS    Size M   EMPTY_BLOCKS   LAST_ANALYZED

------- ----------   ---------   -------   ----------    -------------

REPORT  TEST01       4119             0           384     14-1月 -10

--结论: 用dmp导入的TEST01表,统计分析后,TEST01表的存储空间发生了改变。

SQL> DROP TABLE TEST01;

表已删除。

-- 导入加compress=n的TEST01表的dmp,test01n.dmp

SQL> host  imp report/report@report file=test01n.dmp  full=y

--查询TEST01表的数据

SQL> select count(*) from test01;

COUNT(*)

----------

0

-- 查询TEST01表占用的存储空间

SQL> select owner,table_name,

2  NUM_ROWS ,

3  BLOCKS * 8192/1024/1024 "Size M",

4  EMPTY_BLOCKS,

5  LAST_ANALYZED from  dba_tables where table_name='TEST01';

OWNER   TABLE_NAME   NUM_ROWS    Size M   EMPTY_BLOCKS   LAST_ANALYZED

------- ----------   ---------   -------   ----------    -------------

REPORT  TEST01       4119        2.03125           124     14-1月 -10

--结论:delete表TEST01数据后,导入使用compress=n参数导出的test01n.dmp,未做

统计分析前表存储空间没有改变。

SQL>

-- 对TEST01做统计分析

SQL> analyze table  TEST01 compute statistics;

表已分析。

--查看统计分析后TEST01表大小

SQL> select owner,table_name, NUM_ROWS ,

2  BLOCKS * 8192/1024/1024 "Size M",

3  EMPTY_BLOCKS,

4  LAST_ANALYZED from  dba_tables where table_name='TEST01';

OWNER   TABLE_NAME   NUM_ROWS    Size M   EMPTY_BLOCKS   LAST_ANALYZED

------- ----------   ---------   -------   ----------    -------------

REPORT  TEST01       4119             0           8     14-1月 -10

--结论:结果表明delete表TEST01数据后,导入使用compress=n参数导出的test01n.dmp,做

统计分析后表存储空间发生改变,为表实际的存储空间。

SQL> spool off

-- 结论:1.在delete数据后,表的高水位线不释放,存储空间不发生改变。

2.在delete数据后导出dmp时,compress参数与表的存储空间无关。

3.在导入delete数据后导出的dmp,对表做统计分析可以改变表的存储空间。

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 1月 14 11:05:17 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

-- 统计TEST01表中的记录数

SQL> select COUNT(1)  from TEST01;

COUNT(1)

----------

4119

--对TEST01表进行统计分析

SQL> analyze table  TEST01 compute statistics;

表已分析。

-- 计算TEST01表占用的表空间

SQL> select owner,table_name,

2  NUM_ROWS ,

3  BLOCKS * 8192/1024/1024 "Size M",

4  EMPTY_BLOCKS,

5  LAST_ANALYZED from  dba_tables where table_name='TEST01';

OWNER   TABLE_NAME   NUM_ROWS    Size M   EMPTY_BLOCKS   LAST_ANALYZED

------- ----------   ---------   -------   ----------    -------------

REPORT  TEST01       4119        2.03125           124     14-1月 -10

-- truncate 掉表TEST01

SQL> TRUNCATE TABLE  TEST01;

表被截断。

-- 计算截断后TEST01表占用表空间

SQL> select owner,table_name,

2  NUM_ROWS ,

3  BLOCKS * 8192/1024/1024 "Size M",

4  EMPTY_BLOCKS,

5  LAST_ANALYZED from  dba_tables where table_name='TEST01';

OWNER   TABLE_NAME   NUM_ROWS    Size M   EMPTY_BLOCKS   LAST_ANALYZED

------- ----------   ---------   -------   ----------    -------------

REPORT  TEST01       4119        2.03125           124     14-1月 -10

--结果表明:截断表后表的存储信息不能立即更新到dba_tables表中。

--对truncate后的表TEST01做统计分析

SQL> analyze table  TEST01 compute statistics;

表已分析。

--计算截断并做统计分析后TEST01占用表空间

SQL> select owner,table_name,

2  NUM_ROWS ,

3  BLOCKS * 8192/1024/1024 "Size M",

4  EMPTY_BLOCKS,

5  LAST_ANALYZED from  dba_tables where table_name='TEST01';

OWNER   TABLE_NAME   NUM_ROWS    Size M   EMPTY_BLOCKS   LAST_ANALYZED

------- ----------   ---------   -------   ----------    -------------

REPORT  TEST01       4119             0           8     14-1月 -10

--结果表明:截断并做统计分析后,TEST01表的存储空间发生改变。

SQL> spool off

结论:  对表进行truncate操作,会影响高水位线,能释放表占用的存储空间。

但不能及时更新到字典表中dba_tables。需要统计分析后才能更新到

字典表中。

为了避免这个问题在导出数据前可以对记录为0的表进行truncate,在统计分析。这样能体现出表所使用的实际表空间值。或者在导入数据后对表进行统计分析也可能释放一部份表空间。至此困扰我的,dmp导入后占用巨大表空间的问题暂时告一段落。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值