oracle rename 數據文件的兩種方法以及批量修改的方法


第一種 

alter tablespace users rename datafile 'xxxx' to ‘xxxx';

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

 

SQL> alter tablespace users offline;
$ mv /opt/ora10g/oradata/orcl/user01aa.dbf /opt/ora10g/oradata/orcl/user01bb.dbf
SQL> alter tablespace users rename datafile '/opt/ora10g/oradata/orcl/user01aa.dbf' to '/opt/ora10g/oradata/orcl/user01bb.dbf' ;
SQL> alter tablespace users online;

  •  

第二種

alter database rename file  'xxxx' to ‘xxxx';

這種方式需要數據庫處於mount狀態 

SQL> startup mount
$ mv /opt/ora10g/oradata/orcl/user01bb.dbf /opt/ora10g/oradata/orcl/user01aa.dbf
SQL> alter database rename file '/opt/ora10g/oradata/orcl/user01bb.dbf' to '/opt/ora10g/oradata/orcl/user01aa.dbf';
SQL> alter database open;

 


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

附上批量修改數據文件名的語句

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

set pagesize 999
set linesize 999
select 'alter database rename file '||''''||member||''''||' to '||chr(39)||replace(member,'/u01/app/oracle/oradata/ora11g/','/u03/app/oracle/oradata/ora11g/')||''';'
from v$logfile ;

select 'alter database rename file '||''''||name||''''||' to '||chr(39)||replace(name,'/u01/app/oracle/oradata/ora11g//','/u03/app/oracle/oradata/ora11g/')||''';'
from v$datafile ;

select 'alter database rename file '||''''||name||''''||' to '||chr(39)||replace(name,'/u01/app/oracle/oradata/ora11g/','/u03/app/oracle/oradata/ora11g/')||''';'
from v$tempfile ;



-- END --

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM