如何移动表来达到减小数据文件大小的目的
来源:互联网 发布:淘宝店价值评估 编辑:程序博客网 时间:2024/05/23 01:13
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
Author:Kamus
Mail:kamus@itpub.net
Date:2004-4
通过movetablespace来完成resizedatafile。
HWM的概念就不在此阐述了。
测试环境为10gfor,其它版本的一样。
我们先创建两个表空间,分别为t_tbs和t_tbs1,分别有一个数据文件,大小都是5M
再创建一个test_user用户,给这个用户上述两个表空间的无限限额,并且设置默认表空间是t_tbs。
[zhangleyi@aszhangleyi]$sqlplus/assysdba
SQL*Plus:Release10.1.0.2.0-ProductiononTueApr1321:01:252004
Copyright(c)1982,2004,Oracle. Allrightsreserved.
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.1.0.2.0-Production
WiththePartitioning,OLAPandDataMiningoptions
SYSatorcl10>alterusertest_userdefaulttablespacet_tbs;
Useraltered.
SYSatorcl10>alterusertest_userquotaunlimitedont_tbs;
Useraltered.
SYSatorcl10>alterusertest_userquotaunlimitedont_tbs1;
Useraltered
用test_user登录,创建表
TEST_USERatorcl10>createtablet_objasselect*fromdba_objectswhererownum<10000;
Tablecreated.
TEST_USERatorcl10>insertintot_objselect*fromt_obj;
9999rowscreated.
TEST_USERatorcl10>/
19998rowscreated.
TEST_USERatorcl10>/
insertintot_objselect*fromt_obj
*
ERRORatline1:
ORA-01653:unabletoextendtableTEST_USER.T_OBJby128intablespaceT_TBS
TEST_USERatorcl10>commit;
Commitcomplete.
TEST_USERatorcl10>selectsum(blocks)"TotalBlocks",sum(bytes)"TotalSize"fromdba_extentswhereowner='TEST_USER'andsegment_name='T_OBJ';
TotalBlocksTotalSize
----------------------
512 4194304
好,上面我们创建了一个表,并且插入了很多数据,通过dba_extents视图我们可以看到总共用的block数和总共的大小。
下面我们用delete删除全部数据,并且插入新的9999条数据
TEST_USERatorcl10>deletefromt_obj;
39996rowsdeleted.
TEST_USERatorcl10>insertintot_objselect*fromdba_objectswhererownum<10000;
9999rowscreated.
TEST_USERatorcl10>commit;
Commitcomplete.
TEST_USERatorcl10>selectsum(blocks)"TotalBlocks",sum(bytes)"TotalSize"fromdba_extents
2 whereowner='TEST_USER'andsegment_name='T_OBJ';
TotalBlocksTotalSize
----------------------
512 4194304
再次查看dba_extents视图,发现占用的空间并没有减少。
我们尝试resize这个数据文件,file#为6的是t_tbs表空间下面的数据文件
SYSatorcl10>alterdatabasedatafile6resize4M;
alterdatabasedatafile6resize4M
*
ERRORatline1:
ORA-03297:filecontainsuseddatabeyondrequestedRESIZEvalue
SYSatorcl10>alterdatabasedatafile6resize4500000;
Databasealtered.
我们发现想resize到4M不可以,但是resize到4500000就可以了,因为上面查看出来的TotalSize是4194304,这个值大于4M而小于4500000。
然后我们move这张表到t_tbs1表空间,这个表空间下面的数据文件file#是8
EST_USERatorcl10>altertablet_objmovetablespacet_tbs1;
Tablealtered.
TEST_USERatorcl10>selectsum(blocks)"TotalBlocks",sum(bytes)"TotalSize"fromdba_extents
2 whereowner='TEST_USER'andsegment_name='T_OBJ';1<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
Author:Kamus
Mail:kamus@itpub.net
Date:2004-4
通过movetablespace来完成resizedatafile。
HWM的概念就不在此阐述了。
测试环境为10gfor,其它版本的一样。
我们先创建两个表空间,分别为t_tbs和t_tbs1,分别有一个数据文件,大小都是5M
再创建一个test_user用户,给这个用户上述两个表空间的无限限额,并且设置默认表空间是t_tbs。
[zhangleyi@aszhangleyi]$sqlplus/assysdba
SQL*Plus:Release10.1.0.2.0-ProductiononTueApr1321:01:252004
Copyright(c)1982,2004,Oracle. Allrightsreserved.
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.1.0.2.0-Production
WiththePartitioning,OLAPandDataMiningoptions
SYSatorcl10>alterusertest_userdefaulttablespacet_tbs;
Useraltered.
SYSatorcl10>alterusertest_userquotaunlimitedont_tbs;
Useraltered.
SYSatorcl10>alterusertest_userquotaunlimitedont_tbs1;
Useraltered
用test_user登录,创建表
TEST_USERatorcl10>createtablet_objasselect*fromdba_objectswhererownum<10000;
Tablecreated.
TEST_USERatorcl10>insertintot_objselect*fromt_obj;
9999rowscreated.
TEST_USERatorcl10>/
19998rowscreated.
TEST_USERatorcl10>/
insertintot_objselect*fromt_obj
*
ERRORatline1:
ORA-01653:unabletoextendtableTEST_USER.T_OBJby128intablespaceT_TBS
TEST_USERatorcl10>commit;
Commitcomplete.
TEST_USERatorcl10>selectsum(blocks)"TotalBlocks",sum(bytes)"TotalSize"fromdba_extentswhereowner='TEST_USER'andsegment_name='T_OBJ';
TotalBlocksTotalSize
----------------------
512 4194304
好,上面我们创建了一个表,并且插入了很多数据,通过dba_extents视图我们可以看到总共用的block数和总共的大小。
下面我们用delete删除全部数据,并且插入新的9999条数据
TEST_USERatorcl10>deletefromt_obj;
39996rowsdeleted.
TEST_USERatorcl10>insertintot_objselect*fromdba_objectswhererownum<10000;
9999rowscreated.
TEST_USERatorcl10>commit;
Commitcomplete.
TEST_USERatorcl10>selectsum(blocks)"TotalBlocks",sum(bytes)"TotalSize"fromdba_extents
2 whereowner='TEST_USER'andsegment_name='T_OBJ';
TotalBlocksTotalSize
----------------------
512 4194304
再次查看dba_extents视图,发现占用的空间并没有减少。
我们尝试resize这个数据文件,file#为6的是t_tbs表空间下面的数据文件
SYSatorcl10>alterdatabasedatafile6resize4M;
alterdatabasedatafile6resize4M
*
ERRORatline1:
ORA-03297:filecontainsuseddatabeyondrequestedRESIZEvalue
SYSatorcl10>alterdatabasedatafile6resize4500000;
Databasealtered.
我们发现想resize到4M不可以,但是resize到4500000就可以了,因为上面查看出来的TotalSize是4194304,这个值大于4M而小于4500000。
然后我们move这张表到t_tbs1表空间,这个表空间下面的数据文件file#是8
EST_USERatorcl10>altertablet_objmovetablespacet_tbs1;
Tablealtered.
TEST_USERatorcl10>selectsum(blocks)"TotalBlocks",sum(bytes)"TotalSize"fromdba_extents
2 whereowner='TEST_USER'andsegment_name='T_OBJ';1<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 如何移动表来达到减小数据文件大小的目的
- 如何移动表来达到减小数据文件大小的目的
- 如何移动表来达到减小数据文件大小的目的
- 如何达到SEO的目的!?? 。
- 如何通过操控他人的心理来达到自己的目的
- android平台移植jpeg-turbo库达到减小jpeg编码体积的目的
- Oracle 中减小数据文件大小
- 通过数据结构达到保存多个数据的目的
- 打乱list集合数据顺序,达到随机显示的目的
- 减小flash文件大小的方法
- 减小Delphi的Exe文件大小
- 如何更好达到测试自动化的目的(2) ?
- 如何更好达到测试自动化的目的(2) ?
- 如何更好达到测试自动化的目的(2) ?
- 如何使用泛型达到代码重用的目的
- 如何使用CSS达到段落开头空格的目的
- github + jenkins 如何不使用验证达到触发的目的
- 减小文件大小
- WhatsnewinMicrosoft2000(八)
- MS系统开发心得(一)
- 外键开关
- 使用product_user_profile来实现用户权限的设定
- 介绍Matisse--专为的后关系型part1
- 如何移动表来达到减小数据文件大小的目的
- 如何将EXP出来的数据IMP进不同的表空间
- 异构复制技术的研究与实现(上)
- 探讨3
- 长命百岁和死而复生
- SQL中UNION与UNIONALL的区别
- 制造业中流程卡的生成
- MYSQL简单安装配置
- 从一个圈套For循环来谈