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数据文件迁移到裸设备的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 使用RMAN COPY 移动 整个数据库 位置 示例
Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段