on It Road.com
解决方法
- 在继续之前,请确保要移动的数据文件处于离线状态:
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
- 使用 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
- 复制文件后,重命名数据文件。
SQL> alter database rename file '/u01/oracle/oradata/test1.dbf' to '+DATA/LONDON/DATAFILE/test.dbf'; Database altered.
- 恢复数据文件并使其联机。
SQL> alter database recover datafile 6; Database altered.
SQL> alter database datafile 6 online; Database altered.
- 确认正确的名称和位置:
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
问题
数据文件被错误地添加到文件系统而不是 ASM 磁盘组上。
如何再次移动到ASM磁盘组?
日期:2020-09-17 00:11:22 来源:oir作者:oir