由于数据文件路径下的空间不足或表空间不足时,需要更换或扩展或新增表空间时,以下简单介绍下几种处理方式(数据文件/opt/oracle/oradata/testdb.dbf,原大小为100M)
一、扩大表空间现有数据文件的大小(当表空间不足,但是数据文件所在目录空间足够时)
1、oracle用户登录数据库服务器,用sysdba连接数据库
>sqlplus / as sysdba
2、扩大现有数据文件的大小
sql>alter database datafile '/opt/oracle/oradata/testdb.dbf' resize 1000M;
二、增加新的数据文件(表空间不足或数据文件所在目录空间不足时都可使用此方法)
1、oracle用户登录数据库服务器,用sysdba连接数据库
>sqlplus / as sysdba
2、增加新的数据文件
sql>alter tablespace tablespacename add datafile '/opt/oracle/oradata/testdb01.dbf' size 900M autoextend on maxsize 2G;
当数据文件所在目录空间不足,可以在其他路径下增加数据文件,例如
sql>alter tablespace tablespacename add datafile '/home/oracle/data/testdb01.dbf' size 900M autoextend on maxsize 2G;
三、更改数据文件的路径(将数据文件转移到磁盘空间大的目录下)
1、手动拷贝数据文件到新的目录下,例如原数据文件路径为/opt/oracle/oradata/testdb.dbf,拷贝到/home/oracle/data/testdb.dbf
2、oralce用户登录服务器,用sysdba连接数据库
>sqlplus / as sysdba
3、把数据文件testdb.dbf所属的表空间offline
sql>alter tablespace tablespacename offline;
4、修改表空间文件的路径
sql>alter database rename file '/opt/oracle/oradata/testdb.dbf' to '/home/oracle/data/testdb.dbf';
5、关闭数据库
sql>shutdown immediate;
6、启动数据库
sql>startup mount;
sql>recover datafile 'E:\OracleData\GWTABLE42.DBF';
sql>alter database open;
7、把表空间online
sql>alter tablespace GWTABLE online;
8、 查看数据文件和表空间及状态
sql> select file_name,tablespace_name,status from dba_data_files;