oracle 表空间 不足时如何处理

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 file_name from dba_data_files;
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

增加一个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;

使用:

SELECT file_id,file_name,tablespace_name,autoextensible,increment_by FROM dba_data_files WHERE tablespace_name = 'PAY_DATA'order by file_id desc;

SELECT file_id,increment_by FROM dba_data_files WHERE tablespace_name = 'BEBE'order by file_id desc;

alter tablespace BEBE add datafile '/u01/app/oracle/oradata/nbb/BEBE1.DBF' size 30g;
alter tablespace BEBE add datafile '/u01/app/oracle/oradata/nbb/BEBE2.DBF' size 30g;


alter tablespace PAY_DATA add datafile '/u01/app/oracle/oradata/nbb/pay_DATA1.DBF' size 30g;
alter tablespace PAY_DATA add datafile '/u01/app/oracle/oradata/nbb/pay_DATA2.DBF' size 30g;

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...