在Oracle数据库中有多种方式可以移动数据文件的位置之前介绍过一种方法:Oracle HowTo:在非归档模式下如何更改数据文件位置
其实可以采用的方法有多种本文继续补充几种常用方法:
采用offline的方式
第一步将表空间offline
alter tablespace tablespace_name offline;
第二步cp文件到新的目录并rename修改控制文件
第三步将相应表空间online
当然这种方式同样会影响期间的表空间使用
以下是简单的示范步骤:
将表空间offline
[oracle@jumper oracle]$ sqlplus / as sysdba
SQL*Plus: Release Production on Sat Nov ::
Copyright (c) Oracle CorporationAll rights reserved
Connected to:
Oraclei Enterprise Edition Release Production
With the Partitioning option
JServer Release Production
SQL> archive log list;
Database log modeNo Archive Mode
Automatic archival Enabled
Archive destination/opt/oracle/oradata/conner/archive
Oldest online log sequence
Current log sequence
SQL> select name from v$datafile;
NAME
/opt/oracle/oradata/conner/systemdbf
/opt/oracle/oradata/conner/undotbsdbf
/opt/oracle/oradata/conner/usersdbf
SQL> alter tablespace users offline;
Tablespace altered
拷贝相应的数据文件
SQL> ! cp /opt/oracle/oradata/conner/usersdbf /opt/oracle/oradata/usersdbf
SQL> alter tablespace users rename datafile /opt/oracle/oradata/conner/usersdbf
to /opt/oracle/oradata/usersdbf;
Tablespace altered
将表空间online
SQL> alter tablespace users online;
Tablespace altered
SQL> select name from v$datafile;
NAME
/opt/oracle/oradata/conner/systemdbf
/opt/oracle/oradata/conner/undotbsdbf
/opt/oracle/oradata/usersdbf
当然还有一些其他的方法可以采用