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.10414426392 +DATA/orcl/datafile/sysaux.257.10414426393 +DATA/orcl/datafile/undotbs1.258.10414426394 +DATA/orcl/datafile/users.259.10414426395 +DATA/orcl/datafile/undotbs2.264.10414427496 /u01/app/oracle/product/11.2.0/db_1oradataprod_data.dbf7 /u01/app/oracle/product/11.2.0/db_1oradatacms_data.dbf8 /u01/app/oracle/product/11.2.0/db_1oradataebank_data.dbf9 /u01/app/oracle/product/11.2.0/db_1oradatabedc_data.dbf10 /u01/app/oracle/product/11.2.0/db_1oradatavcs_data.dbf10 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 orcl3.打开新的窗口,进入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;