溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle 12.1新特性:在線rename或relocate數(shù)據(jù)文件

發(fā)布時間:2020-08-15 11:37:33 來源:網(wǎng)絡(luò) 閱讀:1019 作者:hbxztc 欄目:關(guān)系型數(shù)據(jù)庫

在Oracle12.1之前的版本中要重命名數(shù)據(jù)文件或移動數(shù)據(jù)文件需要關(guān)閉數(shù)據(jù)庫或把表空間/數(shù)據(jù)文件置為offline狀態(tài)才可以,參考之前總結(jié)的Oracle修改數(shù)據(jù)文件名/移動數(shù)據(jù)文件。但到了12.1版本,可以直接在數(shù)據(jù)文件online狀態(tài)下把數(shù)據(jù)文件重命名或移動數(shù)據(jù)文件。

要實現(xiàn)這一功能需要使用ALTER DATABASE MOVE DATAFILE 語句,語法如下

ALTER DATABASE MOVE DATAFILE ( 'filename' | 'ASM_filename' | file_number )
 [ TO ( 'filename' | 'ASM_filename' ) ]
 [ REUSE ] [ KEEP ]

下面在12.2版本測試這一功能

zx@ORA12C>select * from v$version;

BANNER										     CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production		  0
PL/SQL Release 12.2.0.1.0 - Production							  0
CORE	12.2.0.1.0	Production								  0
TNS for Linux: Version 12.2.0.1.0 - Production						  0
NLSRTL Version 12.2.0.1.0 - Production							  0

1、創(chuàng)建測試表空間及數(shù)據(jù)文件:

sys@ORA12C>create tablespace t_move datafile '/home/oracle/t_move.dbf' size 50m ;

Tablespace created.

sys@ORA12C>col name for a50
sys@ORA12C>select d.name,d.status from v$datafile d,v$tablespace t where t.ts#=d.ts# and t.name='T_MOVE';

NAME						   STATUS
-------------------------------------------------- -------
/home/oracle/t_move.dbf 			   ONLINE

現(xiàn)在數(shù)據(jù)文件'/home/oracle/t_move.dbf'為ONLINE狀態(tài)

2、執(zhí)行重命名操作

sys@ORA12C>alter database move datafile '/home/oracle/t_move.dbf' to '/home/oracle/t_move01.dbf';

Database altered.

sys@ORA12C>select d.name,d.status from v$datafile d,v$tablespace t where t.ts#=d.ts# and t.name='T_MOVE';

NAME						   STATUS
-------------------------------------------------- -------
/home/oracle/t_move01.dbf			   ONLINE

sys@ORA12C>!ls -l /home/oracle/t_move01.dbf
-rw-r----- 1 oracle oinstall 52436992 Jul 11 16:07 /home/oracle/t_move01.dbf

sys@ORA12C>!ls -l /home/oracle/t_move.dbf
ls: cannot access /home/oracle/t_move.dbf: No such file or directory

可以看到文件名從t_move.dbf改為了t_move01.dbf,原文件已經(jīng)不存在了。

3、執(zhí)行移動目錄操作

sys@ORA12C>alter database move datafile '/home/oracle/t_move01.dbf' to '/u01/app/oracle/oradata/ora12c/t_move01.dbf';

Database altered.

sys@ORA12C>!ls -l /u01/app/oracle/oradata/ora12c/t_move01.dbf
-rw-r----- 1 oracle oinstall 52436992 Jul 11 16:10 /u01/app/oracle/oradata/ora12c/t_move01.dbf

sys@ORA12C>!ls -l /home/oracle/t_move01.dbf
ls: cannot access /home/oracle/t_move01.dbf: No such file or directory

sys@ORA12C>select d.name,d.status from v$datafile d,v$tablespace t where t.ts#=d.ts# and t.name='T_MOVE';

NAME						   STATUS
-------------------------------------------------- -------
/u01/app/oracle/oradata/ora12c/t_move01.dbf	   ONLINE

從上面的結(jié)果可以看到數(shù)據(jù)文件從'/home/oracle'目錄移動到了'/u01/app/oracle/oradata/ora12c'目錄下了。

4、copy數(shù)據(jù)文件到目標目錄,保留原文件

sys@ORA12C>alter database move datafile  '/u01/app/oracle/oradata/ora12c/t_move01.dbf' to '/home/oracle/t_move01.dbf' keep;

Database altered.

sys@ORA12C>select d.name,d.status from v$datafile d,v$tablespace t where t.ts#=d.ts# and t.name='T_MOVE';

NAME						   STATUS
-------------------------------------------------- -------
/home/oracle/t_move01.dbf			   ONLINE

sys@ORA12C>!ls -l /home/oracle/t_move01.dbf
-rw-r----- 1 oracle oinstall 52436992 Jul 11 16:15 /home/oracle/t_move01.dbf

sys@ORA12C>!ls -l /u01/app/oracle/oradata/ora12c/t_move01.dbf
-rw-r----- 1 oracle oinstall 52436992 Jul 11 16:15 /u01/app/oracle/oradata/ora12c/t_move01.dbf

從上面的結(jié)果可以看到數(shù)據(jù)文件改為了/home/oracle/t_move01.dbf,但原來的數(shù)據(jù)文件仍然被保留。

5、移動數(shù)據(jù)文件到ASM存儲

--文件系統(tǒng)到ASM
ALTER DATABASE MOVE DATAFILE '/u01/oracle/rbdb1/user1.dbf' 
  TO '+dgroup_01/data/orcl/datafile/user1.dbf';
--ASM到ASM
ALTER DATABASE MOVE DATAFILE '+dgroup_01/data/orcl/datafile/user1.dbf' 
  TO '+dgroup_02/data/orcl/datafile/user1.dbf';

參考:http://docs.oracle.com/database/121/ADMIN/dfiles.htm#ADMIN13837

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI