12C關於CDB、PDB線上移動資料檔案、線上重新命名資料檔案的操作說明
11G移動、重新命名資料檔案有兩種方法
方法1:使用ALTER DATABASE 命令,資料庫必須處於mount狀態
alter database rename file '/XX/YY.dbf' to '/ZZ/WW.dbf';
方法2:使用ALTER TABLESPACE 命令,資料庫必須處於open狀態,但是資料檔案對應的表空間必須是offline狀態
alter tablespace tablespace_name rename datafile '/XX/YY.dbf' to '/ZZ/WW.dbf';
12C線上移動、重新命名資料檔案的方法
alter database move datafile '/XX/YY.dbf' to '/ZZ/WW.dbf';
12C線上移動、重新命名資料檔案的總結
1、每個資料檔案只能到所屬的PDB下進行移動,CDB也無法移動其他PDB的檔案
2、在OMF管理方式下資料檔案的移動不能用同樣的檔名。
3、在PDB中移動資料檔案需要PDB處於OPEN狀態,否則移動出現錯誤。
4、system、sysaux、undo表空間資料檔案也是可以移動的
5、移動資料檔案的過程中是控制檔案在做一致性維護:在轉移的過程中,Oracle需要同時維護移動的原始檔和目標檔案這兩個資料檔案;透過批次的資料塊複製來逐步完成檔案轉移;在這個過程中對於完成複製部分的檔案寫操作,需要同時寫兩個檔案;
6、當然12C也可以使用rename來移動檔案,一樣的需要檔案處於offline狀態,見
--只能移動自己當前容器的檔案,CDB也無法移動PDB的檔案
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> alter database move datafile '/u02/data/OCP/ABC/datafile/o1_mf_users_h142b2l2_.dbf' to '/u02/data/test/users_101.dbf';
alter database move datafile '/u02/data/OCP/ABC/datafile/o1_mf_users_h142b2l2_.dbf' to '/u02/data/test/users_101.dbf'
*
ERROR at line 1:
ORA-01516: nonexistent log file, data file, or temporary file "58" in the
current container
SQL> select pdb_name from cdb_data_files a,cdb_pdbs b where a.con_id=b.con_id and a.file_name like '%o1_mf_users_h142b2l2_.dbf%';
PDB_NAME
--------------------------------------------------------------------------------
POCP999
SQL> alter session set container=pocp999;
Session altered.
SQL> set linesize 150;
SQL> select file_name from cdb_data_files;
FILE_NAME
------------------------------------------------------------------------------------------
/u02/data/OCP/ABC/datafile/o1_mf_system_h142b2h7_.dbf
/u02/data/OCP/ABC/datafile/o1_mf_sysaux_h142b2h2_.dbf
/u02/data/OCP/ABC/datafile/o1_mf_undotbs1_h142b2jz_.dbf
/u02/data/OCP/ABC/datafile/o1_mf_users_h142b2l8_.dbf
4 rows selected.
SQL> alter database move datafile '/u02/data/OCP/ABC/datafile/o1_mf_users_h142b2l8_.dbf' to '/u02/data/test/o1_mf_users_h142b2l8_.dbf';
alter database move datafile '/u02/data/OCP/ABC/datafile/o1_mf_users_h142b2l8_.dbf' to '/u02/data/test/o1_mf_users_h142b2l8_.dbf'
*
ERROR at line 1:
ORA-01276: Cannot add file /u02/data/test/o1_mf_users_h142b2l8_.dbf. File has an Oracle Managed Files file name.
SQL> alter database move datafile '/u02/data/OCP/ABC/datafile/o1_mf_users_h142b2l8_.dbf' to '/u02/data/test/users_b218.dbf';
Database altered.
--system檔案可以移動
SQL> alter database move datafile '/u02/data/OCP/ABC/datafile/o1_mf_system_h142b2h7_.dbf' to '/u02/data/test/system_42b.dbf';
Database altered.
--sysaux檔案可以移動
SQL> alter database move datafile '/u02/data/OCP/ABC/datafile/o1_mf_sysaux_h142b2h2_.dbf' to '/u02/data/test/sysaux42b.dbf';
Database altered.
--undo檔案可以移動
SQL> alter database move datafile '/u02/data/OCP/ABC/datafile/o1_mf_undotbs1_h142b2jz_.dbf' to '/u02/data/test/undotbs42b.db';
Database altered.
SQL> select file_name from cdb_data_files;
FILE_NAME
------------------------------------------------------------------------------------------
/u02/data/test/system_42b.dbf
/u02/data/test/sysaux42b.dbf
/u02/data/test/undotbs42b.db
/u02/data/test/users_b218.dbf
4 rows selected.
--非open狀態線上移動檔案會報錯
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
5 POCP999 MOUNTED
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL> alter database move datafile '/u02/data/test/system_42b.dbf' to '/u02/data/test/system_ocp999.dbf';
alter database move datafile '/u02/data/test/system_42b.dbf' to '/u02/data/test/system_ocp999.dbf'
*
ERROR at line 1:
ORA-01135: file 54 accessed for DML/query is offline
ORA-01110: data file 54: '/u02/data/test/system_42b.dbf'
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2675049/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 12c pdb線上移動資料檔案或者重新命名資料檔案
- 線上移動資料檔案
- oracle 12c R1 可以線上對資料檔案重新命名或者移動資料檔案位置Oracle
- PDB資料檔案的線上位置以及檔名更改
- Oracle 12C 新特性之線上重新命名、遷移活躍的資料檔案Oracle
- oracle 12c 新特性之一:線上重新命名資料檔案Oracle
- Oracle 12C 新特性之資料檔案線上遷移Oracle
- 12c新特性,線上move資料檔案
- 關於控制檔案與資料檔案頭資訊的說明(zt)
- [20181031]12c 線上移動資料檔案.txt
- 磁碟空間不足,線上移動Oracle的資料檔案Oracle
- 線上遷移表空間資料檔案
- oracle 線上rename資料檔案Oracle
- Oracle12C新特性-線上重新命名遷移資料檔案(一)Oracle
- 12C關於CDB、PDB 日誌檔案redo log的總結
- 4.3.2.3 關於PDB$SEED資料檔案的屬性
- Oracle 移動資料檔案的操作方法Oracle
- 重新命名資料檔案
- Oracle 12.2.0.1.0 PDB丟失資料檔案對CDB的影響Oracle
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- SQLServer移動資料檔案SQLServer
- ORACLE移動資料檔案Oracle
- 12c 聯機狀態移動資料檔案
- oracle 關於-資料檔案Oracle
- ORACLE 重新命名資料檔案Oracle
- 重新命名與遷移聯機資料檔案
- oracle 資料檔案(Datafile ) 大小 限制 說明Oracle
- Oracle 資料檔案 reuse 屬性 說明Oracle
- oracle資料檔案頭轉儲說明Oracle
- oracle中移動控制檔案、資料檔案、日誌檔案Oracle
- Oracle12c新特性(1)線上重新命名檔案和遷移檔案Oracle
- 移動Oracle資料檔案的方法Oracle
- Oracle 12C 中CDB和PDB的引數檔案管理Oracle
- 資料檔案頭塊保留大小、ROWID、資料檔案最大大小等資料庫限制的說明資料庫
- 移動資料檔案從ASM到檔案系統ASM
- 移動資料檔名中含有特殊字元的資料檔案方法字元
- 4.3.2.2 關於CDB Root和PDB$SEED檔案的名稱和位置
- 資料檔案的遷移