1. 程式人生 > >Oracle 12C 新特性之線上重新命名、遷移活躍的資料檔案

Oracle 12C 新特性之線上重新命名、遷移活躍的資料檔案

Oracle 資料庫 12c 版本中對資料檔案的遷移或重新命名不再需要太多繁瑣的步驟,可以使用 ALTER DATABASE MOVE DATAFILE 這樣的 SQL 語句對資料檔案進行線上重新命名和移動。而當此資料檔案正在傳輸時,終端使用者可以執行查詢,DML以及 DDL 方面的任務。另外,資料檔案可以在儲存裝置間遷移,如從非 ASM 遷移至 ASM,反之亦然。

一、 重新命名資料檔案:

-- 注意,我這裡是在名為 PDB01 的 pdb 容器內演示的。 
SQL> show con_name
CON_NAME
------------------------------
PDB01
-- 檢視原資料檔名
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/andycdb/pdb01/system01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/sysaux01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/undotbs01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/users01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb02.dbf
6 rows selected.
-- 重新命名
SQL> ALTER DATABASE MOVE DATAFILE '/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb.dbf' TO 
'/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb01.dbf';
Database altered.
-- 檢查重新命名結果
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/andycdb/pdb01/system01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/sysaux01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/undotbs01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/users01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb02.dbf
6 rows selected.

二、遷移資料檔案到其他路徑

-- 注意,我這裡是在名為 PDB01 的 pdb 容器內演示的。 
SQL> show con_name
CON_NAME
------------------------------
PDB01
-- 檢視資料檔案原路徑
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/andycdb/pdb01/system01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/sysaux01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/undotbs01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/users01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb02.dbf
6 rows selected.
-- 檢查資料檔案的確存在原路徑下
[
[email protected]
~]$ cd /home/oracle/app/oracle/oradata/andycdb/pdb01/
[[email protected] pdb01]$ ll  bbb*
total 769412
-rw-r-----. 1 oracle oinstall   2105344 May 13 04:22 bbb01.dbf
-rw-r-----. 1 oracle oinstall   2105344 May 13 04:22 bbb02.dbf
-- 遷移資料檔案到新路徑
SQL>ALTER  DATABASE  MOVE  DATAFILE  '/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb02.dbf'  TO '/home/oracle/app/oracle/oradata/andycdb/pdb01/new/bbb02.dbf';
Database altered.
-- 核實資料檔案是否存在遷移路徑下 
[
[email protected]
pdb01]$ ll
total 769412
-rw-r-----. 1 oracle oinstall   2105344 May 13 04:22 bbb01.dbf
drwxr-x---. 2 oracle oinstall      4096 May 13 04:31 new
-rw-r-----. 1 oracle oinstall 387981312 May 13 04:15 sysaux01.dbf
-rw-r-----. 1 oracle oinstall 272637952 May 13 04:30 system01.dbf
-rw-r-----. 1 oracle oinstall  67117056 May 12 07:02 temp01.dbf
-rw-r-----. 1 oracle oinstall 104865792 May 13 04:30 undotbs01.dbf
-rw-r-----. 1 oracle oinstall  14426112 May 13 04:10 users01.dbf
-rw-r-----. 1 oracle oinstall   5251072 May 12 06:42 users01.dbf.bak
[
[email protected]
pdb01]$ cd /home/oracle/app/oracle/oradata/andycdb/pdb01/new
[[email protected] new]$ ll
total 2056
-rw-r-----. 1 oracle oinstall 2105344 May 13 04:31 bbb02.dbf
說明:遷移資料檔案到新路徑,自動完成了作業系統層面資料檔案的移動。

補充(其他幾種遷移型別):
1. 從非 ASM 遷移資料檔案至 ASM:
SQL>ALTER DATABASE MOVE DATAFILE '/u00/data/users_01.dbf' TO '+DG_DATA';
2. 將資料檔案從一個 ASM 磁碟群組遷移至另一個 ASM 磁碟群組:
SQL>ALTER DATABASE MOVE DATAFILE '+DG_DATA/DBNAME/DATAFILE/users_01.dbf ' TO '+DG_DATA_02';
3. 在資料檔案已存在於新路徑的情況下,以相同的命名將其覆蓋:
SQL>ALTER  DATABASE  MOVE  DATAFILE  '/u00/data/users_01.dbf'  TO '/u00/data_new/users_01.dbf' REUSE;
4. 複製檔案到一個新路徑,同時在原路徑下保留其拷貝:
SQL>ALTER  DATABASE  MOVE  DATAFILE  '/u00/data/users_01.dbf'  TO '/u00/data_new/users_01.dbf' KEEP;

當通過查詢 v$session_longops 動態檢視來移動檔案時,你可以監控這一過程。另外,
你也可以引用 alert.log,Oracle 會在其中記錄具體的行為。

相關推薦

Oracle 12C 特性線上重新命名遷移活躍資料檔案

Oracle 資料庫 12c 版本中對資料檔案的遷移或重新命名不再需要太多繁瑣的步驟,可以使用 ALTER DATABASE MOVE DATAFILE 這樣的 SQL 語句對資料檔案進行線上重新命名和移動。而當此資料檔案正在傳輸時,終端使用者可以執行查詢,DML以及 DD

Oracle 12C 特性在線重命名遷移活躍的數據文件

查看 查詢 存在 data gop ddl ins aux 正在 Oracle 數據庫 12c 版本中對數據文件的遷移或重命名不再需要太多繁瑣的步驟,可以使用 ALTER DATABASE MOVE DATAFILE 這樣的 SQL 語句對數據文件進行在線重命名和移動。而當

oracle 12c 特性不可見字段

創建 oracl alt created 顯式 11g 不可見 插入數據 esc 在Oracle 11g R1中,Oracle以不可見索引和虛擬字段的形式引入了一些不錯的增強特性。繼承前者並發揚光大,Oracle 12c 中引入了不可見字段思想。在之前的版本中

Oracle 12C 特性擴展數據類型(extended data type)

stand 特性 standard ava dbm har sco stat rac Oracle 12C 新特性-擴展數據類型,在12c中,與早期版本相比,諸如VARCHAR2, NAVARCHAR2以及 RAW這些數據類型的大小會從4K以及2K字節擴展至32K字節。只要

Oracle 12C 特性 db默認字符集AL32UTF8PDB支持不同字符集

ans ica 允許 12c gbk 操作 utf contain sin 一、 db默認字符集AL32UTF8Specify the database character set when you create the database. Starting from Or

Oracle 12C 特性 sqlplus查看History命令

let date 添加 version sys com delete 自動 ber 12c裏,Oracle推出了 History 命令,這很像 Shell 中的 history ,減少了重敲 SQL ,帶來了很多便利。1. 查看history幫助SQL> help h

Oracle 12C 特性 恢復表

play 截斷 mman temp 租戶 ict total 重啟 修改表結構 RMAN的表級和表分區級恢復應用場景:1、You need to recover a very small number of tables to a particular point in t

Oracle 12c 特性varchar2長度最大值支援到32767

show parameter MAX_STRING_SIZE standard:代表12c之前的長度限制,即varchar2和nvarchar2 4是4000 bytes,raw是2000,且系統           預設是sta

Oracle 12C 特性表分割槽帶非同步全域性索引非同步維護(一次addtruncatedropspiltmerge多個分割槽)

實驗準備: -- 建立實驗表 CREATE TABLE p_andy (ID number(10), NAME varchar2(40)) PARTITION BY RANGE (id) (PARTITION p1 VALUES LESS THAN (10), PARTITION p2 VALUES LES

Oracle 12C 特性 PDB熱克隆

 說明:版本12.2.0.1 12c r1版本中 clone 一份PDB源庫需要開啟在read only只讀模式 , 在12c r2版本中引入了local undo mode, 源PDB在read/write 讀寫模式也可以 clone 。  local undo mo

MySQL 5.7特性線上收縮undo表空間

1. MySQL 5.5時代的undo log 在MySQL5.5以及之前,大家會發現隨著資料庫上線時間越來越長,ibdata1檔案(即InnoDB的共享表空間,或者系統表空間)會越來越大,這會造成2個比較明顯的問題: (1)磁碟剩餘空間越來越小,到後期往往要加磁碟;

循序漸進:Oracle 12c特性Sharding技術解讀

引言 資料庫構架設計中主要有 Shared Everthting、Shared Nothing 和 Shared Disk: Shared Everthting:一般是針對單個主機,完全透明共享 CPU/MEMORY/IO,並行處理能力是最差的,例如 Oracle

ORACLE 12C特性——CDB與PDB

  Oracle 12C引入了CDB與PDB的新特性,在ORACLE 12C資料庫引入的多租使用者環境(Multitenant Environment)中,允許一個數據庫容器(CDB)承載多個可插拔資料庫(PDB)。CDB全稱為Container Database,中文翻譯為資料庫容器,PDB全稱為Plugg

Oracle 12c特性

Oracle Database 12c前幾天正式釋出了,如果學習一個新版本的資料庫?我通常是從New Features Guide文件看起,先通覽文件的目錄,遇到感興趣的新功能點,就開始做實驗來驗證這個新功能。當然,這之前需要先把新版本的資料庫安裝好,先把新版本的全部文件下載

Oracle 18c 特性CDB航母

給使用者介紹Oracle多租戶新特性時,多次忍不住將CDB比喻為航母,PDB則是停靠之上的艦載機。沒想到18c竟然出了航母戰鬥群,^_^18c中引入了CDB fleet新特性,能夠實現以下的功能:擴容PDB支援數量,單個CDB最大能夠支援4096個PDB,CDB fleet大

點評Oracle 11g特性執行計劃管理

摘自:http://doc.chinaunix.net/oracle/200707/156806.shtml   【內容導航】 第1頁:執行計劃管理的工作原理 第2頁:執行計劃管理的測試     摘要:本文描述了11g的新特性之一:執行計劃管理,介紹了引入該新特性的原因,以

Oracle 12c 特性:SQL Plan Directives與過量的動態取樣解析

在 12c 中,優化器進行了較大的改變,推出了 Adaptive query optimizat

Oracle Database 12c 特性:RAC Cluster Hub Node 和 Leaf Node

Oracle Database 12c 新特性:RAC Cluster Hub Node 和 Leaf Node 在 Oracle Database 12c 的 Cluster 中引入了很多新特性和新概念,其中重複最多的幾個名詞除了 Flex Cluster、F

12c特性-感受ORACLE 12C IN_MEMORY效能威力

感受ORACLE 12C IN_MEMORY效能威力       oracle 12C in_memory(簡稱IM)對資料庫效能的提升是巨大的,最重要的一點是這一切  對應用程式是透明的。首先我們來看看實驗中IM的相關引數設定 使用imemory特性的前提,要

C# 4.0 特性命名引數和可選引數, 動態繫結(dynamic), 泛型協變和逆變, CountdownEvent, Barrier

/* * CountdownEvent - 執行緒、任務同步類。執行緒或任務一直阻塞到 CountdownEvent 的計數為 0 為止 * 1、當有新的需要同步的執行緒或任務產生時,就呼叫 AddCount 增加 CountdownEvent 的計數 * 2、當有執行緒或任務到達同步點時,就呼叫 Signa