数据库表空间文件需要迁移到大的磁盘上,通过修改表空间路径的方式来实现
登陆数据库
$ sqlplus / as sysdba
查询表空间
SQL> select name from v$datafile;
NAME
------------------------------------
/oradata/orcl/system01.dbf
/oradata/orcl/sysaux01.dbf
/oradata/orcl/undotbs01.dbf
/oradata/orcl/users01.dbf
/oradata/orcl/test_dbs01.dbf
修改表空间状态为offline
SQL> alter tablespace test_dbs offline;
复制表空间到/oradata2
$ cp /oradata/orcl/test_dbs01.dbf /oradata2/orcl/test_dbs01.dbf
修改表空间文件路径
SQL> alter database rename file '/oradata/orcl/test_dbs01.dbf' to '/oradata2/orcl/test_dbs01.dbf';
修改表空间状态为online
SQL> alter tablespace test_dbs online;
查询表空间
SQL> select name from v$datafile;
NAME
------------------------------------
/oradata/orcl/system01.dbf
/oradata/orcl/sysaux01.dbf
/oradata/orcl/undotbs01.dbf
/oradata/orcl/users01.dbf
/oradata2/orcl/test_dbs01.dbf
删除原表空间文件/oradata/orcl/test_dbs01.dbf
$ rm /oradata/orcl/test_dbs01.dbf