修改表空间
修改建立的数据文件的大小
alter database datafile file_name resize newsize K|M;
增加表空间的数据文件
alter tablespace tablespace_name
add datafile
file_name size number K|M
[autoextend off|on //数据文件是否自动扩展
[next number K|M maxsize unlimited|number K|M]
][……];
SQL> select file_name,bytes from dba_data_files;//查看数据文件大小
SQL> alter database datafile 'D:\oradata\myspace.dbf'resize 20M;
SQL> select file_name,bytes from dba_data_files;
SQL> alter tablespace myspace add datafile 'D:\oradata\myspace2.dbf'size 10M;
SQL> select file_name,bytes from dba_data_files;
修改表空间的自动扩展性
alter database datafile file_name autoextend off|on [next number K|M maxsize unlimited|number K|M]
数据文件的状态:online / offline /offline drop(离线删除),数据文件的状态设置不会影响到表空间,但表空间会影响数据文件
alter database datafile file_name online|offline|offline drop
SQL> alter database datafile 'D:\oradata\myspace.dbf'
2 autoextend on
3 next 5M maxsize 50M;
SQL> alter database datafile 'D:\oradata\myspace2.dbf'offline;(必须启用介质恢复,否则不能脱机)
移动表空间的数据文件(磁盘空间不够时需移动)
SQL> select tablespace_name,file_name from dba_data_files
2 where tablespace_name = 'MYSPACE'; //此处需注意大小写,建立进数据库均变为大写
SQL> alter tablespace myspace offline;
找到myspace所在的文件夹,复制移动,也可重命名,用语句更改好后设置为上线
SQL> alter tablespace myspace
2 rename datafile 'D:\oradata\myspace2.dbf'
3 to 'D:\oradata2\myspace2.dbf'
SQL> alter tablespace myspace online;
SQL> select tablespace_name,file_name from dba_data_files
2 where tablespace_name = 'MYSPACE';
重命名表空间
不能修改表空间system和sysaux,在线状态下才可重命名
alter tablespace tablespace_name rename to new_table_name;
删除表空间
drop tablespace tablespace_name [including contents[and datafiles]],including contents表示删除时也删除所有数据库对象,and datafiles也删除数据文件
SQL> select tablespace_name,status from dba_tablespaces; //查看已存在的表空间
SQL> alter tablespace myspace rename to userspace;
SQL> drop tablespace userspace including contents and datafiles;