oracle数据库 表空间不够的处理方式

当我们的Oracle系统数据越积越多的时候,加之原来的系统规划没有做好,这时经常出现某个表空间的空间不够的情况。当然我们也可以在建立表空间的时候指定不受限制的表空间文件大小

例如 我们可以通过以下命令建立不受限制的表空间文件
SQL>create tablespace testts logging
2 datafile ‘/opt/oracle/oradata/testts01.dbf’ size 1000M autoextend on next 500M maxsize unlimited,
3 datafile ‘/opt/oracle/oradata/testts02.dbf’ size 1000M autoextend on next 500M maxsize unlimited
4 extent management local;
这里就是指定不受限制的数据文件(其实这里会受到一定的oracle的block限制,可以参考小文件block的文件大小限制)。

但是我们如果没有在create的时候指定unlimited,那么我们将面临表空间不够的考验。

那么当我们的表空间不够了,我们需要如何操作哟。其实很简单,这里我们提供两种方式

1. 添加新的表空间文件
SQL>alter tablespace testts add dafile ‘/opt/oracle/oradata/testts03.dbf’ size 1000M autoextend on next 500M maxsize 4000M;

2. resize已有的表空间文件
SQL>alter database datafile ‘/opt/oracle/oradata/testts02.dbf’ offline;

SQL>alter database datafile ‘/opt/oracle/oradata/testts02.dbf’ resize 4000M;

SQL>alter database datafile ‘/opt/oracle/oradata/testts02.dbf’ online;

这两种方法可以根据自己的实际情况进行合适的选择。

作者: jasoname   发布时间: 2010-12-16