on  It Road.com

解决方法

  1. 在继续之前,请确保要移动的数据文件处于离线状态:
SQL> alter system switch logfile;
System altered.
SQL> select file_name, file_id from dba_data_files;
FILE_NAME FILE_ID
--------------------
/u01/oracle/oradata/test1.dbf 6
SQL> alter database datafile 6 offline;
Database altered.
SQL> select file_name, file_id, online_status from dba_data_files where file_id=6;
FILE_NAME FILE_ID ONLINE_STATUS
---------- ------
/u01/oracle/oradata/test1.dbf 6 RECOVER
  1. 使用 ASMCMD 将文件从文件系统复制到磁盘组
ASMCMD> cp /u01/oracle/oradata/test1.dbf +DATA/LONDON/DATAFILE/test.dbf
copying /u01/oracle/oradata/test1.dbf -> +DATA/LONDON/DATAFILE/test.dbf

验证运动:

ASMCMD> cd +DATA/ASM/DATAFILE
ASMCMD> ls -lt
Type Redund Striped Time Sys Name
  N test.dbf => +DATA/ASM/DATAFILE/test.dbf.286.833718815
  1. 复制文件后,重命名数据文件。
SQL> alter database rename file '/u01/oracle/oradata/test1.dbf' to '+DATA/LONDON/DATAFILE/test.dbf';
Database altered.
  1. 恢复数据文件并使其联机。
SQL> alter database recover datafile 6;
Database altered.
SQL> alter database datafile 6 online;
Database altered.
  1. 确认正确的名称和位置:
SQL> select file_name, file_id, online_status from dba_data_files where file_id=6;
FILE_NAME   FILE_ID   ONLINE_STATUS
----------  -------   ------------
+DATA/london/datafile/test.dbf  6  ONLINE
如何使用 ASMCMD CP 命令将数据文件从文件系统移动到 ASM

问题

数据文件被错误地添加到文件系统而不是 ASM 磁盘组上。
如何再次移动到ASM磁盘组?

日期:2020-09-17 00:11:22 来源:oir作者:oir