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線上移動資料檔案或者重新命名資料檔案
- [20181031]12c 線上移動資料檔案.txt
- 12c新特性,線上move資料檔案
- oracle 線上rename資料檔案Oracle
- Oracle12C新特性-線上重新命名遷移資料檔案(一)Oracle
- 12C關於CDB、PDB 日誌檔案redo log的總結
- 4.3.2.3 關於PDB$SEED資料檔案的屬性
- SQLServer移動資料檔案SQLServer
- Oracle 12C 中CDB和PDB的引數檔案管理Oracle
- 織夢CMS(dedecms)的資料庫連線檔案_織夢連線資料庫檔案資料庫
- Sqlserver關於備份報錯提示某個資料檔案不線上it is not online的解決方法SQLServer
- 4.3.2.2 關於CDB Root和PDB$SEED檔案的名稱和位置
- AJAX資料互動及檔案上傳功能
- SpringMVC(四)上傳檔案、json資料互動SpringMVCJSON
- 關於Docx動態控制word模板檔案的資料
- kkFileView檔案線上預覽View
- ZBlogPHP如何線上管理檔案?PHP
- 網站連線資料庫配置檔案網站資料庫
- 2.5.10.2 關於資料庫時區檔案資料庫
- 【BUILD_ORACLE】使用Oracle資料泵線上不停機克隆/遷移PDBUIOracle
- 12C關於CDB、PDB的官方解釋
- http不使用Form表單傳送檔案資料和非檔案資料(上傳篇)HTTPORM
- oracle 修改資料檔案位置(路徑)(移動)Oracle
- iis連線資料庫的檔案是哪個資料庫
- 跑在檔案系統上的資料倉儲
- Java讀取properties檔案連線資料庫Java資料庫
- 檔案上傳之三基於flash的檔案上傳
- Ubuntu下(跨機)檔案、資料夾的複製、刪除、重新命名、移動、備份Ubuntu
- PostgreSQL在不同的表空間移動資料檔案SQL
- 關於流資料上的事務操作
- uniapp 線上預覽pdf 或者 檔案APP
- sqlserver收縮資料庫、收縮資料檔案的操作SQLServer資料庫
- 跑在檔案系統上的資料倉儲,強!
- 達夢資料庫資料檔案遷移過程資料庫
- 關於node實現檔案上傳
- 03-Java框架FTPClient 使用rename()移動檔案和檔案重新命名Java框架FTPclient
- 線上教育專案(六)----統一返回資料格式
- 檔案與資料