原文:http://www.linuxidc.com/Linux/2014-07/104702.htm
1、以sys用户登录
sqlplus /nolog
SQL>connect sys/null as sysdba;
2、使表空间脱机
SQL>alter tablespace TABS offline normal;
3、将表空间数据文件复制到比较空闲的磁盘
4、修改表空间文件指针
SQL>alter tablespace TABS rename datafile 'old\ATBS.dbf ' to 'new\TABS.dbf';
5、使表空间联机
SQL>alter tablespace TABS online;
6、重启数据库
SQL>shutdown immediate;
SQL>startup
7、检查新旧文件的最近访问时间,确认无误后删除旧文件。
/****************数据库服务器某个磁盘空间不足时移动系统表空间数据文件*****************/1、使用范围:该操作在数据库处于mount 状态才能进行,可移动系统表空间的数据文件2、步骤(Linux系统中的操作):1># su - Oracle --切换到oracle用户下2># sqlplus /nolog3>SQL>conn sys/pwd as sysdba4>SQL>shutdown immediate --数据库在启动状态时,先关闭5>SQL>startup mount --将数据库启动为mount状态6>将要移动的系统表空间数据文件复制到比较空闲的分区目录eg:# mv /home/app/oracle/oradata/ORACLE_SID/system01.dbf /data/YAG_DB/ORACLE_SID7>使用alter database rename file 命令SQL>alter database rename file '/home/app/oracle/oradata/ORACLE_SID/system01.dbf' to '/data/YAG_DB/ORACLE_SID/system01.dbf';8>打开数据库SQL>alter databse open9>检查系统表空间的文件路径是否正确SQL>select file#,name,status From v$datafile; --system系统表空间的文件路径name应为刚刚更改的路径