Oracle表空间扩展

今天遇到数据库服务器表空间写满的情况,经验证如下方法可成功扩展表空间。

1.查看所有表空间使用情况

select 
b.file_id 文件ID号, 
b.tablespace_name 表空间名, 
b.bytes/1024/1024||'M'字节数, 
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M' 已使用, 
sum(nvl(a.bytes,0))/1024/1024||'M' 剩余空间, 
100 - sum(nvl(a.bytes,0))/(b.bytes)*100 占用百分比 
from dba_free_space a,dba_data_files b 
where a.file_id=b.file_id 
group by b.tablespace_name,b.file_id,b.bytes 
order by b.file_id;

2.查看用户默认的表空间.

select username,default_tablespace from dba_users;

3.查看要扩展的表空间使用的数据文件路径与名字

select * from dba_data_files where tablespace_name like 'USERS%';

4.扩展表空间,表空间扩展有两种方法:增加数据文件;调整当前数据文件的大小或扩展的大小。

(1)增加数据文件

ALTER TABLESPACE TESTTBS
ADD DATAFILE 'D:/ora/datafile/users.ora' SIZE 500M
AUTOEXTEND ON
NEXT 50M
MAXSIZE 2000M;

增加了一个500M的数据文件,并且可以自动扩展到2G,每次扩展50M。

(2)增加当前数据文件的大小

ALTER DATABASE 
DATAFILE 'D:/ora/datafile/users.ora' 
RESIZE  50000M;

或者使用file_id

ALTER DATABASE 
DATAFILE 10
RESIZE  50000M;

(3)在使用过程中,如果想改变某个数据文件的最大大小,可以

ALTER DATABASE 
DATAFILE  'D:/ora/datafile/users.ora' 
AUTOEXTEND ON 
MAXSIZE  10240M;


来源:http://blog.csdn.net/starnight_cbj/article/details/7398153

你可能感兴趣的:(Oracle表空间扩展)