在mount状态下 重命名 和删除数据文件报如下错误:SQL> host copy /oracle/oradata/lxjorcl/undotbs01.dbf  /oracle/undotbs01.dbf
;SQL> alter database rename file '/oracle/oradata/lxjorcl/undotbs01.dbf' to '/oracle/oradata/lxjorcl/undotbs01.dbf'
  2  ;
alter database rename file '/oracle/oradata/lxjorcl/undotbs01.dbf' to '/oracle/oradata/lxjorcl/undotbs01.dbf'
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01523: cannot rename data file to '/oracle/oradata/lxjorcl/undotbs01.dbf' -
file already part of database
SQL> alter database drop datafile '/oracle/users01.dbf';
alter database drop datafile '/oracle/users01.dbf'
                    *
ERROR at line 1:
ORA-01900: LOGFILE keyword expected

解决方案 »

  1.   

    想要在mount状态下备份数据文件的,在学习阶段,练习各种命令的使用以及备份与恢复的 
      

  2.   

    应该首先将文件offline, 再copy, 再rename, 再online另外你这个undo表空间的,不能offline的吧,换个文件来试试
      

  3.   

    启动到 mount 状态,然后再 rename
      

  4.   

    数据库文件的迁移  
     
    1、拷贝数据文件到盘阵
     SQL>shutdown immediate;
     cp /opt/app/oracle/oradata/fjkdsw/redo01.log      /mnt/kdsw/redofile/redo01.log
     cp /opt/app/oracle/oradata/fjkdsw/redo02.log      /mnt/kdsw/redofile/redo02.log
     cp /opt/app/oracle/oradata/fjkdsw/redo03.log      /mnt/kdsw/redofile/redo03.log
     cp /opt/app/oracle/oradata/fjkdsw/system01.dbf    /mnt/kdsw/datafile/system01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/undotbs01.dbf   /mnt/kdsw/datafile/undotbs01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/cwmlite01.dbf   /mnt/kdsw/datafile/cwmlite01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/drsys01.dbf     /mnt/kdsw/datafile/drsys01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/example01.dbf   /mnt/kdsw/datafile/example01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/indx01.dbf      /mnt/kdsw/datafile/indx01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/tools01.dbf     /mnt/kdsw/datafile/tools01.dbf
     cp /opt/app/oracle/oradata/fjkdsw/users01.dbf     /mnt/kdsw/datafile/users01.dbf
     cp /oradata/statindex01.dbf                       /mnt/kdsw/datafile/statindex01.dbf
     cp /oradata/statdata01.dbf                        /mnt/kdsw/datafile/statdata01.dbf
     cp /oradata/statdata02.dbf                        /mnt/kdsw/datafile/statdata02.dbf
     cp /opt/app/oracle/oradata/blues/page00db2.dbf    /mnt/kdsw/datafile/page00db2.dbf
     cp /opt/app/oracle/oradata/blues/page000db2.dbf   /mnt/kdsw/datafile/page000db2.dbf
     cp /opt/app/oracle/oradata/blues/pagerbs0.dbf     /mnt/kdsw/datafile/pagerbs0.dbf
     cp /opt/app/oracle/oradata/harmony.dbf            /mnt/kdsw/datafile/harmony.dbf
     cp /opt/app/oracle/oradata/rap01.dbf              /mnt/kdsw/datafile/rap01.dbf
     cp /oradata/system02.dbf                          /mnt/kdsw/datafile/system02.dbf
    2、拷贝控制文件到盘阵
     cp /opt/app/oracle/oradata/fjkdsw/control01.ctl /mnt/kdsw/controlfile/control01.ctl
     cp /opt/app/oracle/oradata/fjkdsw/control02.ctl /mnt/kdsw/controlfile/control02.ctl
     cp /opt/app/oracle/oradata/fjkdsw/control03.ctl /mnt/kdsw/controlfile/control03.ctl
    3、更改控制文件路径
    bash-2.05$ sqlplus " / as sysdba"
    SQL*Plus: Release 9.2.0.1.0 - Production on Wed May 23 14:34:10 2007
    Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    Connected to an idle instance.
    SQL> create pfile='./init.ora' from spfile='./spfilefjkdsw.ora';
    SQL>shutdown
    修改/opt/app/oracle/product/9.2.0/dbs/init.ora 中控制文件路径为盘阵存放控制文件的路径
    SQL>create spfile='./spfilefjkdsw.ora' from pfile='./init.ora';  
    SQl>startup mount;
    4、更改数据文件的路径为盘阵路径
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/redo01.log'    to '/mnt/kdsw/redofile/redo01.log';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/redo02.log'    to '/mnt/kdsw/redofile/redo02.log';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/redo03.log'    to '/mnt/kdsw/redofile/redo03.log';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/system01.dbf'  to '/mnt/kdsw/datafile/system01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/undotbs01.dbf' to '/mnt/kdsw/datafile/undotbs01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/cwmlite01.dbf' to '/mnt/kdsw/datafile/cwmlite01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/drsys01.dbf'   to '/mnt/kdsw/datafile/drsys01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/example01.dbf' to '/mnt/kdsw/datafile/example01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/indx01.dbf'    to '/mnt/kdsw/datafile/indx01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/tools01.dbf'   to '/mnt/kdsw/datafile/tools01.dbf';
    alter database rename file '/opt/app/oracle/oradata/fjkdsw/users01.dbf'   to '/mnt/kdsw/datafile/users01.dbf';
    alter database rename file '/oradata/statindex01.dbf'                     to '/mnt/kdsw/datafile/statindex01.dbf';
    alter database rename file '/oradata/statdata01.dbf'                      to '/mnt/kdsw/datafile/statdata01.dbf';
    alter database rename file '/oradata/statdata02.dbf'                      to '/mnt/kdsw/datafile/statdata02.dbf';
    alter database rename file '/opt/app/oracle/oradata/blues/page00db2.dbf'  to '/mnt/kdsw/datafile/page00db2.dbf';
    alter database rename file '/opt/app/oracle/oradata/blues/page000db2.dbf' to '/mnt/kdsw/datafile/page000db2.dbf';
    alter database rename file '/opt/app/oracle/oradata/blues/pagerbs0.dbf'   to '/mnt/kdsw/datafile/pagerbs0.dbf';
    alter database rename file '/opt/app/oracle/oradata/harmony.dbf'          to '/mnt/kdsw/datafile/harmony.dbf';
    alter database rename file '/opt/app/oracle/oradata/rap01.dbf'            to '/mnt/kdsw/datafile/rap01.dbf';
    alter database rename file '/oradata/system02.dbf'                        to '/mnt/kdsw/datafile/system02.dbf';
    5、更改临时文件路径
    bash-2.05$ cp /opt/app/oracle/oradata/fjkdsw/temp01.dbf /opt/app/oracle/oradata/fjkdsw/temp01.dbf.old
    bash-2.05$ cp /opt/app/oracle/oradata/blues/PAGETEMP0.dbf /opt/app/oracle/oradata/blues/PAGETEMP0.dbf.old
    bash-2.05$ cp /opt/app/oracle/oradata/raptemp01.dbf /opt/app/oracle/oradata/raptemp01.dbf.old
    SQL> alter database tempfile '/opt/app/oracle/oradata/fjkdsw/temp01.dbf' drop;  
    SQL> alter database tempfile '/opt/app/oracle/oradata/blues/PAGETEMP0.dbf' drop;  
    SQL> alter database tempfile '/opt/app/oracle/oradata/raptemp01.dbf' drop;   
    SQL>alter database open;
    SQL> alter tablespace TEMP add tempfile '/mnt/kdsw/datafile/temp01.dbf' size 8196M reuse; 
    SQL> alter tablespace RAPTEMP add tempfile '/mnt/kdsw/datafile/PAGETEMP0.dbf' size 3096M reuse;
    SQL> alter tablespace PAGETEMP0 add tempfile '/mnt/kdsw/datafile/raptemp01.dbf' size 3096M reuse;
    6、修改归档路径
     SQL> alter system set log_archive_dest_1='LOCATION=/mnt/kdsw/archive' scope=both;
    System altered.
    SQL> archive log list;
    Database log mode              Archive Mode
    Automatic archival             Disabled
    Archive destination            /mnt/kdsw/archive
    Oldest online log sequence     124
    Next log sequence to archive   126
    Current log sequence           126
      

  5.   

    改为:alter tablespace users drop datafile '/oracle/users01.dbf';
    alter database rename file '/oracle/oradata/lxjorcl/undotbs01.dbf' to '/oracle/oradata/lxjorcl/undotbs02.dbf' 
    试试