由于最近做增加表空间大小的时候把新的datafile文件建立在ASM 下的普通 ' +DATA' 下了,其实应该建立在 ‘+SSD’ 上。因为在SSD 上一些特殊的操作性能要高很多。
可以我却加错了位置。所以牵扯到把一个 datafile 从 DATA 拷贝到SSD 的事情.
步骤如下:
1.先找到那个加错的数据文件对应的file_id 号
SQL> select file_id,file_name,status from dba_data_files where tablespace_name='DEP_APP_PERM';
FILE_ID FILE_NAME STATUS
---------- -------------------------------------------------- ---------
5 +SSD/cast/datafile/dep_app_perm.280.820552931 AVAILABLE
1854 +DATA/cast/datafile/dep_app_perm.308.830563949 AVAILABLE
那么file_id 是1854.
2.做什么之前先备份,以防出问题
backup datafile 1854 format = '/app/oracle/DEP_%U_%f.dbf' include current controlfile;
3.ALTER DATABASE DATAFILE 1854 OFFLINE;
4.RMAN 下;
backup as copy datafile 1854 format '+SSD'
switch datafile 1854 to copy;
recover datafile 1854;
5. ALTER DATABASE DATAFILE 1854 online;