Oracle数据文件迁移到裸设备

Posted Beng Dou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据文件迁移到裸设备相关的知识,希望对你有一定的参考价值。

  本文主要描述如何将Oracle表空间的文件系统形式的数据文件迁移到LV裸设备上。

前提条件

  1、oracle运行正常。

  2、已使用LVM命令规划好LV文件。如/dev/vgoracle/lvdatatbs。

  3、停止oracle监听。

操作步骤

1、查看当前待操作表空间DATATBS对应的数据文件的路径、状态。

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

2、关闭数据库并启动数据库到mount状态

SQL> shutdown immediate;
SQL> startup mount;

3、使用rman命令将文件系统的数据文件赋值到裸设备上

方法一:

$ rman target / nocatalog
RMAN> copy datafile /home/oracle/oradata/ora11g/datatbs.dbf to /dev/vgoracle/lvdatatbs

方法二:

$ rman target / nocatalog cmdfile=copy_datafile.cmd

copy_datafile.cmd内容如下:

run {
  allocate channel t1 type disk;
  copy datafile /home/oracle/oradata/ora11g/datatbs.dbf to /dev/vgoracle/lvdatatbs;
}

说明:如果操作多个数据文件,可以采用这种方式。只需新增copy datafile命令即可。

4、切换表空间对应的数据文件为裸设备。

SQL> alter database rename file /home/oracle/oradata/ora11g/datatbs.dbf to /dev/vgoracle/lvdatatbs;

5、打开数据库

SQL> alter database open;

6、删除被替换的datatbs.dbf数据文件。

以上是关于Oracle数据文件迁移到裸设备的主要内容,如果未能解决你的问题,请参考以下文章