先补充知识:
1.查询某个表 占用大小
select segment_name as tablename,BYTES b, BYTES/1024 kb,BYTES/2014/1024 mb from user_segments where segment_name = upper('tablename') //tablename 为实际的表名,大小写都可以试一试
2.查询表空间 大小
select * from dba_data_files //固定格式, 不需要改任何内容
扩容表空间:
1.允许已存在的数据文件自动增长 (已测试)
alter database datafile '数据文件位置' autoextend on next 每次增长的数值 maxsize 最大可以增长到的数值。
SQL> alter database datafile '/zhuo/test1.dbf' autoextend on next 5M maxsize 150M;
其中 ‘/zhuo/test1.dbf’ 就是查询表空间 的位置
2.手工改变已经存在数据文件的大小
alter database datafile ‘数据文件位置’ resize 数值 『这里的数值是指想要将数据文件增加到的大小』
SQL> alter database datafile '/zhuo/test1.dbf' resize 100M;
3.给表空间增加数据文件
alter tablespace 表空间 add datafile '想要增加的数据文件的地址' size 50M;
SQL> alter tablespace test1 add datafile '/zhuo/test2.file' size 50M;
其中 test2.file 是新建的文件 原文件 test1.dbf 不动
4.给表空间增加数据文件,并且允许数据文件自动增长
alter tablespace 表空间 add datafile '想要增加的数据文件的地址' size 数据文件大小 autoextend on next 下次增长的大小 maxsize 最大允许增加到的大小
SQL> alter tablespace test1 add datafile '/zhu/test3.file' size 50M autoextend on next 5M maxsize 100M;