Oracle 12C 新特性之資料檔案線上遷移

流浪的野狼發表於2015-01-14

1   PDB資料檔案的線上移動和重新命名

Oracle 12C之前版本中,資料檔案的線上重新命名與位置的變動,都需要在資料檔案處在offline狀態下進行(system表空間除外),在資料檔案移動過程中會產生額外的歸檔日誌用於在資料檔案移動後恢復。而從Oracle 12C開始,資料檔案均可線上進行移動和重新命名,包括system資料檔案,這大大降低了在資料檔案移動過程中的風險,同時提高了正對較大資料檔案移動中造成額外的歸檔壓力。

1.  測試內容:

將ITAMpdb資料檔案的路徑/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/ 變更為/oracle/app/oracle/oradata/ITAMpdb

2.  測試過程:

SQL> alter database move datafile '/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/o1_mf_system_b7x420m8_.dbf' to '/oracle/app/oracle/oradata/ITAMpdb/o1_mf_system_b7x420m8_.dbf';

alter database move datafile '/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/o1_mf_system_b7x420m8_.dbf' to '/oracle/app/oracle/oradata/ITAMpdb/o1_mf_system_b7x420m8_.dbf'

*

ERROR at line 1:

ORA-01276: Cannot add file /oracle/app/oracle/oradata/ITAMpdb/o1_mf_system_b7x420m8_.dbf.  File has an Oracle Managed Files file name.

 

說明在OMF管理方式下資料檔案的移動不能用同樣的檔名。

 

SQL> host oerr ora 1276

01276, 00000, "Cannot add file %s.  File has an Oracle Managed Files file name."

// *Cause: An attempt was made to add to the database a datafile, log file,

//         control file, snapshot control file, backup control file,

//         datafile copy, control file copy or backuppiece with an Oracle

//         Managed Files file name.

// *Action: Retry the operation with a new file name.

 

SQL> alter database move datafile '/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/o1_mf_system_b7x420m8_.dbf' to '/oracle/app/oracle/oradata/ITAMpdb/system_01.dbf';

alter database move datafile '/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/o1_mf_system_b7x420m8_.dbf' to '/oracle/app/oracle/oradata/ITAMpdb/system_01.dbf'

*

ERROR at line 1:

ORA-01135: file 8 accessed for DML/query is offline

ORA-01110: data file 8: '/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/o1_mf_system_b7x420m8_.dbf'

 

說明:在PDB中移動資料檔案需要PDB處於OPEN狀態,否則移動出現錯誤。

SQL> conn /as sysdba

Connected.

SQL> select name,open_mode from v$pdbs;

 

NAME                    OPEN_MODE

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

PDB$SEED                READ ONLY

ITAMPDB               MOUNTED

 

SQL> alter pluggable database itampdb open;

 

Pluggable database altered.

 

SQL> alter session set container=itampdb;

 

Session altered.

 

SQL> alter database move datafile '/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/o1_mf_system_b7x420m8_.dbf' to '/oracle/app/oracle/oradata/ITAMpdb/system_01.dbf';

 

Database altered.

 

SQL> select file_name from dba_data_files;

 

FILE_NAME

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

/oracle/app/oracle/oradata/ITAMpdb/system_01.dbf    --------檔案移動成功

/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/o1_mf_sysaux_b7x420mk_.dbf

/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/o1_mf_users_b7x425yb_.dbf

 

SQL> alter database move datafile '/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/o1_mf_sysaux_b7x420mk_.dbf' to '/oracle/app/oracle/oradata/ITAMpdb/sysaux_01.dbf';

 

Database altered.

 

SQL> alter database move datafile '/oracle/app/oracle/oradata/ITAM/0949345E60F736A4E0530101007F2940/datafile/o1_mf_users_b7x425yb_.dbf' to '/oracle/app/oracle/oradata/ITAMpdb/users_01.dbf';

 

Database altered.

 

SQL> select file_name from dba_data_files;

 

FILE_NAME

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

/oracle/app/oracle/oradata/ITAMpdb/sysaux_01.dbf

/oracle/app/oracle/oradata/ITAMpdb/users_01.dbf

/oracle/app/oracle/oradata/ITAMpdb/system_01.dbf

結論:

1、OMF管理方式下資料檔案的移動不能用同樣的檔名。

2、PDB中移動資料檔案需要PDB處於OPEN狀態,否則移動出現錯誤。

3、即使在ASM磁碟下移動資料檔案,如果檔案路徑不存在,同樣也會報錯。

4、在確保前面三項條件正確的情況下,資料檔案的移動完全可以線上完成,包括system表空間的資料檔案。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28612416/viewspace-1401858/,如需轉載,請註明出處,否則將追究法律責任。

相關文章