oracle tablespace数据文件目录迁移

背景:迁移表空间文件从/opt目录到/home目录

SQL>select tablespace_name,file_id,file_name,bytes from dba_data_files order by file_id;

操作步骤:

1). 先停止应用环境

2.) 将表空间下线

SQL>alter tablespace TEST offline;
SQL>select tablespace_name,status from dba_tablespaces; //检查表空间状态

3). 将表空间文件拷贝到/home目录下,如果不存在,新建目录

mkdir -p /home/oracle/oradata/testdb
chown -R oracle:oinstall /home/oracle/oradata/testdb
cp /opt/oracle/oradata/testdb/test_data.dbf /home/oracle/oradata/testdb/test_data.dbf

4). rename表空间文件到新的路径

SQL>alter tablespace TEST rename datafile '/opt/oracle/oradata/testdb/test_data.dbf' to '/home/oracle/oradata/testdb/test_data.dbf';

5). 将表空间上线

SQL>alter tablespace TEST online;
SQL>select tablespace_name,status from dba_tablespaces; //检查表空间状态

6). 删除旧的表空间文件

rm /opt/oracle/oradata/testdb/test_data.dbf

3. 检查迁移后的表空间文件路径

4. 启动应用

 

异常处理:

SQL>alter tablespace TESTonline;

alter tablespace TEST online

*

ERROR at line 1:

ORA-01113: file 24 needs media recovery

ORA-01110: data file 24: '/home/oracle/oradata/testdb/test_data.dbf'

重新上线表空间报24号文件需要恢复,使用recover datafile 24恢复文件后,重现上线即可。

SQL>recovery data file 24

Meida recovery complete.

SQL> alter tablespace TEST online;

Tablespace altered.

posted @ 2016-08-25 19:15  当年亦如是  阅读(434)  评论(0)    收藏  举报