oracle表空间或临时表空间怎么增加数据文件?

发布时间:2019-09-26编辑:脚本学堂
本文介绍了oracle表空间与临时表空间增加数据文件的方法,表空间大小不够,需要为表空间增加数据文件,具体方法请参考文中的例子。

当通过oracle中的create table ... as select 语句创建一张新表时,新表的数据量为比较大,如10亿,这时sql*plus很可能就会提示“ora-01653: ...”错误信息。
表空间大小不够,需要为表空间增加数据文件。
 
1、查询表空间剩余字节大小
 

select tablespace_name, sum(bytes)/1024/1024 as "free space(m)"
  from dba_free_space
 where tablespace_name = '&tablespace_name'
 group by tablespace_name;
 

注:如果是临时表空间,请查询dba_temp_free_space
 

select tablespace_name, free_space/1024/1024 as "free space(m)"
  from dba_temp_free_space
 where tablespace_name = '&tablespace_name';
 

2、如果不知道表空间数据文件目录规划,可以先查询出表空间所有数据文件
 

select tablespace_name, file_id, file_name, bytes/1024/1024 as "bytes(m)"
  from dba_data_files
 where tablespace_name = '&tablespace_name';
 

注:如果是临时表空间,请查询dba_temp_files
 

select tablespace_name, file_id, file_name, bytes/1024/1024 as "space(m)"
  from dba_temp_files
 where tablespace_name = '&tablespace_name';
 

3、为空间不足的表空间增加数据文件
 

alter tablespace &tablespace_name add datafile '/oradata/users01.dbf' size 2g;
 

注:如果要为临时表空间扩容,使用下面的语句
 

alter tablespace &tablespace_name add tempfile '/oradata/temp01.dbf' size 2g;