oracle rac错误创建数据文件至本地目录的处理

  1. 将有问题的数据文件修改为offline

    SQL> alter system switch logfile;

    System altered.

    SQL> select file_name, file_id from dba_data_files;

    FILE_NAME                          FILE_ID

    -----------------------   -------

    /u01/oracle/oradata/gc_test1.dbf   25

    SQL> alter database datafile 25 offline;

    Database altered.

    SQL> select file_name, file_id, online_status from dba_data_files where file_id=25;

    FILE_NAME FILE_ID ONLINE_STATUS

    ----------  -------

    /u01/oracle/oradata/gc_test1.dbf 25 RECOVER

  2. 使用asmcmd命令将文件从本地目录复制到共享磁盘组中

    ASMCMD> cp /u01/oracle/oradata/gc_test1.dbf +DATADG/PROD/DATAFILE/gc_test1.dbf 

    copying /u01/oracle/oradata/gc_test1.dbf -> +DATADG/PROD/DATAFILE/gc_test1.dbf

  3. rename每一个完成复制的数据文件

    SQL> alter database rename file '/u01/oracle/oradata/gc_test1.dbf' to '+DATA/PROD/DATAFILE/gc_test1.dbf'; Database altered.

  4. recover数据文件并将其online

    SQL> alter database recover datafile 25;

    Database altered.

    SQL> alter database datafile 25 online;

    Database altered.

  5. 确认修改成功

    SQL> select file_name, file_id, online_status from dba_data_files where file_id=6;

    FILE_NAME FILE_ID ONLINE_STATUS

    ----------------- -----------------

    +DATA/prod/datafile/gc_test1.dbf 25 ONLINE

参考文档:How to Move a Datafile from Filesystem to ASM Using ASMCMD CP Command. (Doc ID 1610615.1)

请使用浏览器的分享功能分享到微信等