Oracle笔记:移动数据文件的方法总结


1、使用sql*plus移动数据文件

  1. SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';  
  2.   
  3. FILE_NAME                                                                                            ONLINE_  
  4. ---------------------------------------------------------------------------------------------------- -------   
  5. /u01/app/Oracle/oradata/orcl/ttb1.dbf                                                                ONLINE  
  6.   
  7. SQL> alter tablespace ttb1 offline;  
  8.   
  9. 表空间已更改。  
  10.   
  11. SQL> ! mv /u01/app/oracle/oradata/orcl/ttb1.dbf /u01/ttb1.dbf  
  12.   
  13. SQL> alter tablespace ttb1 rename datafile '/u01/app/oracle/oradata/orcl/ttb1.dbf' to '/u01/ttb1.dbf';  
  14.   
  15. 表空间已更改。  
  16.   
  17. SQL> alter tablespace ttb1 online;  
  18.   
  19. 表空间已更改。  
  20.   
  21. SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';  
  22.   
  23. FILE_NAME                                                                                            ONLINE_  
  24. ---------------------------------------------------------------------------------------------------- -------   
  25. /u01/ttb1.dbf                                                                                        ONLINE  

2、使用sql*plus移动数据文件

  1. SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';  
  2.   
  3. FILE_NAME                                                                                            ONLINE_  
  4. ---------------------------------------------------------------------------------------------------- -------   
  5. /u01/ttb1.dbf                                                                                        ONLINE  
  6.   
  7. SQL> alter tablespace ttb1 offline;  
  8.   
  9. 表空间已更改。  
  10.   
  11. SQL> ! mv /u01/ttb1.dbf /u01/app/oracle/oradata/orcl/ttb1.dbf  
  12.   
  13. SQL> alter database orcl rename file '/u01/ttb1.dbf' to '/u01/app/oracle/oradata/orcl/ttb1.dbf';  
  14.   
  15. 数据库已更改。  
  16.   
  17. SQL> alter tablespace ttb1 online;  
  18.   
  19. 表空间已更改。  
  20.   
  21. SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';  
  22.   
  23. FILE_NAME                                                                                            ONLINE_  
  24. ---------------------------------------------------------------------------------------------------- -------   
  25. /u01/app/oracle/oradata/orcl/ttb1.dbf                                                                ONLINE  

3、使用rman移动数据文件

  1. SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';  
  2.   
  3. FILE_NAME                                                                                            ONLINE_  
  4. ---------------------------------------------------------------------------------------------------- -------   
  5. /u01/app/oracle/oradata/orcl/ttb1.dbf                                                                ONLINE  
 
  1. [oracle@linux ~]$ rman target /  
  2.   
  3. 恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 6 17:19:24 2011  
  4.   
  5. Copyright (c) 1982, 2007, Oracle.  All rights reserved.  
  6.   
  7. 连接到目标数据库: ORCL (DBID=1289573235)  
  8.   
  9. RMAN> backup as copy datafile '/u01/app/oracle/oradata/orcl/ttb1.dbf' format '/u01/ttb1.dbf';  
  10.   
  11. 启动 backup 于 06-10月-11  
  12. 使用目标数据库控制文件替代恢复目录  
  13. 分配的通道: ORA_DISK_1  
  14. 通道 ORA_DISK_1: sid=149 devtype=DISK  
  15. 通道 ORA_DISK_1: 启动数据文件副本  
  16. 输入数据文件 fno=00014 name=/u01/app/oracle/oradata/orcl/ttb1.dbf  
  17. 输出文件名 = /u01/ttb1.dbf 标记 = TAG20111006T172010 recid = 3 时间戳 = 763838410  
  18. 通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01  
  19. 完成 backup 于 06-10月-11  
  20.   
  21. RMAN> sql "alter tablespace ttb1 offline";  
  22.   
  23. sql 语句: alter tablespace ttb1 offline  
  24.   
  25. RMAN> switch datafile '/u01/app/oracle/oradata/orcl/ttb1.dbf' to copy;  
  26.   
  27. 数据文件 14 已切换成数据文件副本 "/u01/ttb1.dbf"  
  28.   
  29. RMAN> sql "alter tablespace ttb1 online";  
  30.   
  31. sql 语句: alter tablespace ttb1 online  
  32. MAN-00571: ===========================================================  
  33. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============  
  34. RMAN-00571: ===========================================================  
  35. RMAN-03009: sql 命令 (default 通道上, 在 10/06/2011 17:21:52 上) 失败  
  36. RMAN-11003: 在分析/执行 SQL 语句期间失败: alter tablespace ttb1 online  
  37. ORA-01113: 文件 14 需要介质恢复  
  38. ORA-01110: 数据文件 14: '/u01/ttb1.dbf'  
  39.   
  40. RMAN> recover datafile 14;  
  41.   
  42. 启动 recover 于 06-10月-11  
  43. 使用通道 ORA_DISK_1  
  44.   
  45. 正在开始介质的恢复  
  46. 介质恢复完成, 用时: 00:00:03  
  47.   
  48. 完成 recover 于 06-10月-11  
  49.   
  50. RMAN> sql "alter tablespace ttb1 online";  
  51.   
  52. sql 语句: alter tablespace ttb1 online  
 
  1. SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';  
  2.   
  3. FILE_NAME                                                                                            ONLINE_  
  4. ---------------------------------------------------------------------------------------------------- -------   
  5. /u01/ttb1.dbf     

相关内容