oracle非系统表空间移动

环境 centos7 oracle11

1.查看要改变的表空间的数据文件信息

SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='EXAMPLE';
 
TABLESPACE_NAME FILE_NAME     ONLINE_
--------------- ----------------------------------- -------
EXAMPLE /opt/oracle/oradata/EXAMPLE01.DBF  ONLINE

EXAMPLE为要移动的表空间名
select tablespace_name from dba_data_files;
查看所有表空间名

2.将目标表空间设置为脱机状态

SQL> alter tablespace EXAMPLE offline;

3.再次查看目标表空间的状态,确保其已经是脱机状态

SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='EXAMPLE';
 
TABLESPACE_NAME FILE_NAME     ONLINE_
--------------- ----------------------------------- -------
EXAMPLE  /opt/oracle/oradata/EXAMPLE01.DBF OFFLINE

4.将原来的数据文件移动(或复制)到新的路径

SQL> host mv /opt/oracle/oradata/EXAMPLE01.DBF /mnt/oracle/oradata/

5.修改该表空间的数据文件路径

SQL> alter tablespace EXAMPLE rename datafile '/opt/oracle/oradata/EXAMPLE01.DBF' to '/mnt/oracle/oradata/EXAMPLE01.DBF';

6.查看该表空间修改后的信息,确保信息无误

SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='EXAMPLE';
 
TABLESPACE_NAME FILE_NAME     ONLINE_
--------------- ----------------------------------- -------
EXAMPLE  /mnt/oracle/oradata/ORADATA/EXAMPLE01.DBF OFFLINE

7.修改该表空间为在线状态

SQL> alter tablespace EXAMPLE online;

8.查看该表空间最后结果

SQL> select tablespace_name,file_name,online_status
 from dba_data_files
 where tablespace_name='EXAMPLE';

TABLESPACE_NAME FILE_NAME     ONLINE_
--------------- ----------------------------------- -------
EXAMPLE  /mnt/oracle/oradata/EXAMPLE01.DBF ONLINE

备注:本方法对SYSAUX、USERS表空间也适用

你可能感兴趣的:(oracle非系统表空间移动)