最新消息

Oracle迁移数据库文件

oracle 金牌剑客 854℃ 0评论

Oracle 数据文件转移

当存放数据文件的存储空间不足之后,需要将部分数据文件转移到其他存储上,有一种方法是通过offline表空间来达到目的。

1、停止监听

目的是为了保证应用不连接数据库。

[oracle@oracle10g ~]$ lsnrctl stop

停止之后,可以通过命令lsnrctl status查看监听程序的状态。

2、设置表空间为read only

设置表空间只读模式

SQL> alter tablespace db320 read only; 

查看表空间是否设置成功

select TABLESPACE_NAME ,STATUS from dba_tablespaces; 

3、设置表空间为 offline状态

SQL> alter tablespace db320 offline;
SQL> select FILE_NAME,STATUS,ONLINE_STATUS from dba_data_files where tablespace_name='DB320';

4、复制数据文件到新的路径

[oracle@oracle10g orcl]$ cp data01.dbf /oradata/orcl/

通过复制而不是通过移除mv的方式,是因为数据文件较大,在移除过程中可能会发生错误

5、rename 转移数据文件

SQL> alter tablespace db320 rename datafile '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/data01.dbf' to '/oradata/orcl/data01.dbf' ;

6、设置表空间 online 状态

SQL> alter tablespace db320 online;

查看rename和online设置

SQL> select FILE_NAME,STATUS,ONLINE_STATUS from dba_data_files where tablespace_name='DB320'; 

7、设置表空间为 read write

SQL> alter tablespace db320 read write;
Tablespace altered.

设置之后才看表空间是否可用,最好是重启数据库验证

SQL> select TABLESPACE_NAME ,STATUS from dba_tablespaces; 

8、删除原路径中已经复制的数据文件

[oracle@oracle10g orcl]$ rm -rf data01.dbf

转载请注明:QualInfo » Oracle迁移数据库文件

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址