免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1397 | 回复: 0
打印 上一主题 下一主题

创建表空间,自动扩展表空间,压缩表空间 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:43 |只看该作者 |倒序浏览
表空间和数据文件的关系
表空间是逻辑概念,数据文件是逻辑概念;一个表空间对应一个或者多个数据文件。
 
实验目的:
 1。练习创建表空间和将表空间设为可扩展表空间
 2。感悟数据文件只会自动增长但是不会自动减小。
 3。得知表空间中有数据不能resize数据文件的大小;要想resize数据文件,那么表空间中必须没有数据。
 
红色字体的观点是错误的,关于正确观点在这里有写http://blog.chinaunix.net/space.php?uid=23284114&do=blog&id=311329
 
实验步骤:
1。创建一个不支持扩展的表空间t11
conn / as sysdba
create tablespace t11 datafile '/u01/test01/t11.dbf' size 6m;
 
2.在这个表空间上创建表test
conn scott/tiger
create table test tablespace t11 as select * from emp;
 
3.然后往表里插数据,一直到表空间满为止。
conn scott/tiger
insert into test select * from test;
----t11表空间已满,且不能扩展----
ERROR at line 1:
ORA-01653: unable to extend table SCOTT.TEST by 128 in tablespace T11
4.然后将表空间变成可扩展,继续向表里插数据
conn / as sysdba
alter database datafile '/u01/test01/t11.dbf' autoextend on next 5m maxsize 1g;
conn scott/tiger
insert into test select * from test;
 
观察表空间包含的数据文件的增长;
5.1M 05-10 23:04 t11.dbf
15M 05-10 23:10 t11.dbf

5.删掉表
conn scott/tiger
drop table test
发现表空间所在数据文件大小不变
 
purge recyclebin;    
发现表空间所在数据文件大小依然没有变化。这说明数据文件只能自动增长,但是不能自动减小;

6.通过resize手动缩小数据文件的大小。
alter databaes datafile '/u01/test01/t11.dbf' resize 5m;
 
================================
至于表空间中有数据怎么来压缩数据文件的大小,目前还没有研究出来;研究出来后会贴在这里。
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP