oracle rename資料檔案的兩種方法

來源:互聯網
上載者:User

標籤:details   sel   rac   post   for   pop   tab   logfile   clear   

oracle rename資料檔案的兩種方法2012-12-11 20:44 10925人閱讀 評論(0) 收藏 舉報 分類:oracle(98) 

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

第一種 

alter tablespace users rename datafile ‘==‘ to ‘***‘;

這種方式需要資料庫處於open狀態,資料表空間在offline的狀態下才能更改。

 

[sql] view plain copy 
  1. SQL> alter tablespace users rename datafile ‘/opt/ora10g/oradata/orcl/user0100.dbf‘,‘/opt/ora10g/oradata/orcl/user099.dbf‘ to ‘/opt/ora10g/oradata/orcl/userrename1.dbf‘,‘/opt/ora10g/oradata/orcl/userrename2.dbf‘;  
  2. alter tablespace users rename datafile ‘/opt/ora10g/oradata/orcl/user0100.dbf‘,‘/opt/ora10g/oradata/orcl/user099.dbf‘ to ‘/opt/ora10g/oradata/orcl/userrename1.dbf‘,‘/opt/ora10g/oradata/orcl/userrename2.dbf‘  
  3. *  
  4. ERROR at line 1:  
  5. ORA-01525: error in renaming data files  
  6. ORA-01121: cannot rename database file 107 - file is in use or recovery  
  7. ORA-01110: data file 107: ‘/opt/ora10g/oradata/orcl/user0100.dbf‘  
  8.   
  9. SQL> alter tablespace users offline;  
  10. Tablespace altered.  
  11.   
  12. SQL> alter tablespace users rename datafile ‘/opt/ora10g/oradata/orcl/user0100.dbf‘,‘/opt/ora10g/oradata/orcl/user099.dbf‘ to ‘/opt/ora10g/oradata/orcl/userrename1.dbf‘,‘/opt/ora10g/oradata/orcl/userrename2.dbf‘;  
  13. alter tablespace users rename datafile ‘/opt/ora10g/oradata/orcl/user0100.dbf‘,‘/opt/ora10g/oradata/orcl/user099.dbf‘ to ‘/opt/ora10g/oradata/orcl/userrename1.dbf‘,‘/opt/ora10g/oradata/orcl/userrename2.dbf‘  
  14. *  
  15. ERROR at line 1:  
  16. ORA-01525: error in renaming data files  
  17. ORA-01141: error renaming data file 107 - new file ‘/opt/ora10g/oradata/orcl/userrename1.dbf‘ not found  
  18. ORA-01110: data file 107: ‘/opt/ora10g/oradata/orcl/user0100.dbf‘  
  19. ORA-27037: unable to obtain file status  
  20. Linux-x86_64 Error: 2: No such file or directory  
  21. Additional information: 3  
  22.   
  23. SQL> !  
  24. [[email protected] ~]$ cp /opt/ora10g/oradata/orcl/user0100.dbf /opt/ora10g/oradata/orcl/userrename1.dbf[[email protected] ~]$ cp /opt/ora10g/oradata/orcl/user099.dbf /opt/ora10g/oradata/orc  
  25. l/userrename2.dbf  
  26. [[email protected] ~]$ exit  
  27. exit  
  28.   
  29. SQL> alter tablespace users rename datafile ‘/opt/ora10g/oradata/orcl/user0100.dbf‘,‘/opt/ora10g/oradata/orcl/user099.dbf‘ to ‘/opt/ora10g/oradata/orcl/userrename1.dbf‘,‘/opt/ora10g/oradata/orcl/userrename2.dbf‘;  
  30. Tablespace altered.  
  31.   
  32. SQL> alter tablespace users online;  
  33. Tablespace altered.  

第二種

alter database rename file ‘===‘  to ‘***‘;

這種方式需要資料庫處於mount狀態 

[sql] view plain copy 
  1. SQL> startup mount  
  2. ORACLE instance started.  
  3.   
  4. Total System Global Area  788529152 bytes  
  5. Fixed Size                  2087216 bytes  
  6. Variable Size             423626448 bytes  
  7. Database Buffers          356515840 bytes  
  8. Redo Buffers                6299648 bytes  
  9. Database mounted.  
  10. SQL> alter database rename file ‘/opt/ora10g/oradata/orcl/userrename2.dbf‘,‘/opt/ora10g/oradata/orcl/userrename1.dbf‘ to ‘/opt/ora10g/oradata/orcl/user099.dbf‘,‘/opt/ora10g/oradata/orcl/user0100.dbf‘;  
  11.   
  12. Database altered.  
  13.   
  14. SQL> alter database open;  
  15. alter database open  
  16. *  
  17. ERROR at line 1:  
  18. ORA-01113: file 106 needs media recovery  
  19. ORA-01110: data file 106: ‘/opt/ora10g/oradata/orcl/user099.dbf‘  
  20. --這裡不能open的原因是剛剛關閉資料庫寫了userrename2.dbf和userrename1.dbf這兩個資料檔案的scn,而user099.dbf和user0100.dbf的scn還是offline的時候的,這樣控制檔案的頭和資料檔案頭不一致,所以資料庫打不開。  
  21.   
  22. SQL> alter database rename file ‘/opt/ora10g/oradata/orcl/user099.dbf‘,‘/opt/ora10g/oradata/orcl/user0100.dbf‘ to ‘/opt/ora10g/oradata/orcl/userrename2.dbf‘,‘/opt/ora10g/oradata/orcl/userrename1.dbf‘;  
  23.   
  24. Database altered.  
  25.   
  26. SQL> alter database open;  
  27.   
  28. Database altered.  

 

另外附上批量修改資料檔案名的語句

[sql] view plain copy 
  1. set pagesize 999  
  2. set linesize 999  
  3. select ‘alter database rename file ‘||‘‘‘‘||member||‘‘‘‘||‘ to ‘||chr(39)||replace(member,‘/paic/hq/bk/restore/data/oradata/lass/‘,‘/paic/z4ah8020/stg/lass/oradata/hs03lass/‘)||‘‘‘;‘   
  4. from v$logfile  
  5. where member like ‘/paic/hq/bk/restore/data/oradata/lass/%‘;   
  6.    
  7. select ‘alter database rename file ‘||‘‘‘‘||name||‘‘‘‘||‘ to ‘||chr(39)||replace(name,‘/paic/hq/bk/restore/data/oradata/lass/‘,‘/paic/z4ah8020/stg/lass/oradata/hs03lass/‘)||‘‘‘;‘   
  8. from v$datafile   
  9. where name like ‘/paic/hq/bk/restore/data/oradata/lass/%‘  
  10.   
  11. select ‘alter database rename file ‘||‘‘‘‘||name||‘‘‘‘||‘ to ‘||chr(39)||replace(name,‘/paic/hq/bk/restore/data/oradata/lass/‘,‘/paic/z4ah8020/stg/lass/oradata/hs03lass/‘)||‘‘‘;‘   
  12. from v$tempfile   
  13. where name like ‘/paic/hq/bk/restore/data/oradata/lass/%‘  

oracle rename資料檔案的兩種方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.