Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

时间:2023-03-09 02:08:18
Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

在Oracle Rac环境中,数据文件都是要存放在ASM共享存储上的,这样两个节点才能同时访问。而当你在某一节点下把数据文件创建在本地磁盘的时候,那么在另一节点上要访问该数据文件的时候就会报错,因为找不到对应的文件,报错如下:

Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

我们用RMAN来实现把第二个节点上的数据文件迁移到asm共享磁盘中;

 实现步骤:

1、在ndb2上查看该数据文件的位置

 su - oracle
sqlplus / as sysdba set linesize 500;
col name for a90;
select file#,name from v$datafile;

Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

2、查看是否启用了归档模式:

 archive log list;

Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

 3、在rman模式下把本地数据文件(datafile 7)复制到ASM盘(+DATA):

su - oracle
rman target/

 

然后 复制本地数据文件到ASM盘中: 

copy datafile 7 to '+DATA';

  

Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

 4、在sqlplus命令模式下把该数据文件修改为离线状态:

SQL> alter database datafile 7 offline;

 

5、在rman模式下把数据文件路径切换到刚才备份的ASM路径下:

RMAN> switch datafile 7 to copy;

RMAN> recover datafile 7;

Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

  6、在sqlplus命令模式下重新把该数据文件修改为在线状态,并查看数据文件位置,我们可以看到已经迁移到共享磁盘中了

SQL> alter database datafile 7 online;

Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

 7、在另一个节点查看数据文件,已经可以访问了:

Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中