1.查看数据文件位置
select name from v$datafile
union
select name from v$controlfile
union
select name from v$tempfile
union
select member from v$logfile;

2.操作过程
SQL> col name for a60;
SQL> select file#, name from v$datafile;
 FILE# NAME
---------- ------------------------------------------------------------
	 1 +DATA/orcl/datafile/system.256.1041442639
	 2 +DATA/orcl/datafile/sysaux.257.1041442639
	 3 +DATA/orcl/datafile/undotbs1.258.1041442639
	 4 +DATA/orcl/datafile/users.259.1041442639
	 5 +DATA/orcl/datafile/undotbs2.264.1041442749
	 6 /u01/app/oracle/product/11.2.0/db_1oradataprod_data.dbf
	 7 /u01/app/oracle/product/11.2.0/db_1oradatacms_data.dbf
	 8 /u01/app/oracle/product/11.2.0/db_1oradataebank_data.dbf
	 9 /u01/app/oracle/product/11.2.0/db_1oradatabedc_data.dbf
	10 /u01/app/oracle/product/11.2.0/db_1oradatavcs_data.dbf

10 rows selected.


3.数据文件置为offline然后修改数据文件
3.1设置数据库为独占模式
SQL> alter system set cluster_database=flase scope=spfile;
3.2重启数据库到mount状态
[oracle@pld3findb01 ~]$ sqlplus / as sysdba
SQL> startup mount;
3.3重新配置数据文件名称
SQL> alter database datafile rename '/u01/app/oracle/product/11.2.0/db_1oradataprod_data.dbf' to '/u01/app/oracle/product/11.2.0/prod_data.dbf'
SQL> alter database datafile rename '/u01/app/oracle/product/11.2.0/db_1oradatacms_data.dbf' to '/u01/app/oracle/product/11.2.0/cms_data.dbf'
SQL> alter database datafile rename '/u01/app/oracle/product/11.2.0/db_1oradataebank_data.dbf' to '/u01/app/oracle/product/11.2.0/ebank_data.dbf'
SQL> alter database datafile rename '/u01/app/oracle/product/11.2.0/db_1oradatabedc_data.dbf' to '/u01/app/oracle/product/11.2.0/bedc_data.dbf'
SQL> alter database datafile rename '/u01/app/oracle/product/11.2.0/db_1oradatavcs_data.dbf' to '/u01/app/oracle/product/11.2.0/vcs_data.dbf'
3.4设置数据库为集群模式
SQL> alter system set cluster_database=true scope=spfile;
3.5关闭数据库
SQL> shu immediate;

4.重新打开数据库
srvctl start database -d orcl

3.打开新的窗口,进入oracle用户
[oracle@pld3findb01 ~]$ su - oracle
[oracle@pld3findb01 ~]$ rman target /

4.复制本地数据文件到ASM磁盘中
copy datafile 6 to '+DATA';
copy datafile 7 to '+DATA';
copy datafile 8 to '+DATA';
copy datafile 9 to '+DATA';
copy datafile 10 to '+DATA';

5.在sqlplus命令,模式下把该数据文件修改为离线状态:
alter database datafile 6 offline;
alter database datafile 7 offline;
alter database datafile 8 offline;
alter database datafile 9 offline;
alter database datafile 10 offline;

6.
在rman模式下把数据文件路径切换到刚才备份的ASM磁盘路径下:
switch datafile 6 to copy;
recover datafile 6;
在sqlplus命令,模式下把该数据文件修改为在线状态:
alter database datafile 6 online;

在rman模式下把数据文件路径切换到刚才备份的ASM磁盘路径下:
switch datafile 7 to copy;
recover datafile 7;
在sqlplus命令,模式下把该数据文件修改为在线状态:
alter database datafile 7 online;

在rman模式下把数据文件路径切换到刚才备份的ASM磁盘路径下:
switch datafile 8 to copy;
recover datafile 8;
在sqlplus命令,模式下把该数据文件修改为在线状态:
alter database datafile 8 online;

在rman模式下把数据文件路径切换到刚才备份的ASM磁盘路径下:
switch datafile 9 to copy;
recover datafile 9;
在sqlplus命令,模式下把该数据文件修改为在线状态:
alter database datafile 9 online;

在rman模式下把数据文件路径切换到刚才备份的ASM磁盘路径下:
switch datafile 10 to copy;
recover datafile 10;
在sqlplus命令,模式下把该数据文件修改为在线状态:
alter database datafile 10 online;