表空间和数据文件的关系
表空间是逻辑概念,数据文件是逻辑概念;一个表空间对应一个或者多个数据文件。
实验目的:
1。练习创建表空间和将表空间设为可扩展表空间
2。感悟数据文件只会自动增长但是不会自动减小。
3。得知表空间中有数据不能resize数据文件的大小;要想resize数据文件,那么表空间中必须没有数据。
实验步骤:
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.然后往表里插数据,一直到表空间满为止。
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;
================================
至于表空间中有数据怎么来压缩数据文件的大小,目前还没有研究出来;研究出来后会贴在这里。
阅读(5803) | 评论(0) | 转发(0) |