Oracle 12C R2新特性-本地UNDO模式(LOCAL_UNDO_ENABLED)
在 Oracle 12.1 中,在一個例項中的所有 PDB 只能共享同一個 UNDO 表空間 , 稱之為 Global Shared Undo 模式 , 即共享 Undo 模式 。目前保留 共享 Undo 模式 只是為了升級過渡 。 在 Oracle 12.2 中 , 引入了 PDB Local UNDO 模式 , 每個 PDB 都有各自的 undo 表空間。對於 RAC 是每個例項每個 container 都有自己的 UNDO 表空間 , 這也正是推薦的 。 這種新的管理機制就叫做本地 undo 模式。本地 undo 模式為新建資料庫的預設模式。在 DBCA 時會有 local undo 選項,且預設勾選。
本地 undo 模式的好處:
1. 減少 undo 表空間的爭用,同時方便拔插
2. 只有使用 local undo 才支援下面的新特性 :Refresh PDB,Flashback PDB ,( Hot Clone,Relocate PDB in open read/write mode )
3.point-in-time recovery PDB
檢視資料庫是否開啟 local undo 。 如果 PROPERTY_VALUE 為 true 表示已經開啟。
col PROPERTY_NAME for a25;
col PROPERTY_VALUE for a25;
select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED';
檢視 ROOT 和自己定義的 pdb 對應的 undo 表空間 :
SELECT CON_ID,NAME FROM V$TABLESPACE A WHERE A.NAME LIKE 'UNDO%' ORDER BY CON_ID,TS# ;
1 、 local undo 轉 shared undo 的步驟:
SHUTDOWN IMMEDIATE;
STARTUP UPGRADE;
ALTER DATABASE LOCAL UNDO OFF;
SHUTDOWN IMMEDIATE;
STARTUP;
在轉換完成之後, 之前存在的 undo 表空間不會自動刪除。如果礙事, 需要進入每個 PDB 裡進行 手動刪除。
alter session set container=pdblhr1;
DROP TABLESPACE undotbs1;
1 、 shared undo 轉 local undo 的步驟:
SHUTDOWN IMMEDIATE;
STARTUP UPGRADE;
ALTER DATABASE LOCAL UNDO O N ;
SHUTDOWN IMMEDIATE;
STARTUP;
Oracle 自動為 每個 PDB 建立了一個 undo 表空間 。 在切換為本地 Undo 模式後, 新建立的資料庫也是執行在本地 undo 模式上。
1 轉換為共享 undo 模式
1.1 查詢當前的模式:
SQL>COLUMN property_name FORMAT A30 SQL>COLUMN property_value FORMAT A30 SQL>SELECT property_name, property_value FROM database_properties WHERE property_name = 'LOCAL_UNDO_ENABLED'; PROPERTY_NAME PROPERTY_VALUE ------------------------------ ------------------------------ LOCAL_UNDO_ENABLED TRUE SQL>
1.2 檢視 ROOT 和自己定義的 pdb 對應的 undo 表空間
SELECT con_id, tablespace_name FROM cdb_tablespaces WHERE tablespace_name LIKE 'UNDO%' ORDER BY con_id; CON_ID TABLESPACE_NAME ---------- ------------------------------ 1 UNDOTBS1 3 UNDOTBS1 SQL>
2 切換為共享 undo 模式
SQL> SHUTDOWN IMMEDIATE; Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP UPGRADE; ORACLE instance started. Total System Global Area 1308622848 bytes Fixed Size 8792440 bytes Variable Size 822085256 bytes Database Buffers 469762048 bytes Redo Buffers 7983104 bytes Database mounted. Database opened. SQL> ALTER DATABASE LOCAL UNDO OFF; Database altered. SQL> SHUTDOWN IMMEDIATE; Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP; ORACLE instance started. Total System Global Area 1308622848 bytes Fixed Size 8792440 bytes Variable Size 822085256 bytes Database Buffers 469762048 bytes Redo Buffers 7983104 bytes Database mounted. Database opened. SQL>
2.1 驗證
SQL>COLUMN property_name FORMAT A30 SQL>COLUMN property_value FORMAT A30 SQL>SELECT property_name, property_value FROM database_properties WHERE property_name = 'LOCAL_UNDO_ENABLED'; PROPERTY_NAME PROPERTY_VALUE ------------------------------ ------------------------------ LOCAL_UNDO_ENABLED FALSE SQL>
雖然已經不是本地 undo 模式了,但是之前存在的 undo 表空間不會自動刪除。如果礙事,要手動刪除。
SQL>SELECT con_id, tablespace_name FROM cdb_tablespaces WHERE tablespace_name LIKE 'UNDO%' ORDER BY con_id; CON_ID TABLESPACE_NAME ---------- ------------------------------ 1 UNDOTBS1 3 UNDOTBS1 SQL>
-- 刪除多餘的 undo 表空間
SQL>ALTER SESSION SET CONTAINER = pdb1; SQL>SELECT file_name FROM dba_data_files WHERE tablespace_name = 'UNDOTBS1'; ---------------------------------------------------------------------------------------------------- /u02/app/oracle/oradata/cdb1/pdb1/undotbs01.dbf SQL> SQL>DROP TABLESPACE undotbs1; Tablespace dropped. SQL>
隨著所有老的 undo 表空間被移除了,現在該例項就是執行在共享 undo 模式上了。
3 切換為本地 undo 模式
利用上面的環境,重新切換回去。
查詢:可以看到是執行在共享 undo 模式上,而且只有一個 undo 表空間。
SQL>SELECT property_name, property_value FROM database_properties WHERE property_name = 'LOCAL_UNDO_ENABLED'; PROPERTY_NAME PROPERTY_VALUE ------------------------------ ------------------------------ LOCAL_UNDO_ENABLED FALSE SQL>SELECT con_id, tablespace_name FROM cdb_tablespaces WHERE tablespace_name LIKE 'UNDO%' ORDER BY con_id; CON_ID TABLESPACE_NAME ---------- ------------------------------ 1 UNDOTBS1 SQL>
3.1 切換為本地 undo 模式
和切換為共享 undo 模式步驟相同。
SQL> SHUTDOWN IMMEDIATE; Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP UPGRADE; ORACLE instance started. Total System Global Area 1308622848 bytes Fixed Size 8792440 bytes Variable Size 822085256 bytes Database Buffers 469762048 bytes Redo Buffers 7983104 bytes Database mounted. Database opened. SQL> ALTER DATABASE LOCAL UNDO ON; Database altered. SQL> SHUTDOWN IMMEDIATE; Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP; ORACLE instance started. Total System Global Area 1308622848 bytes Fixed Size 8792440 bytes Variable Size 822085256 bytes Database Buffers 469762048 bytes Redo Buffers 7983104 bytes Database mounted. Database opened. SQL>
3.2 驗證
SQL>COLUMN property_name FORMAT A30 SQL>COLUMN property_value FORMAT A30 SQL>SELECT property_name, property_value FROM database_properties WHERE property_name = 'LOCAL_UNDO_ENABLED'; PROPERTY_NAME PROPERTY_VALUE ------------------------------ ------------------------------ LOCAL_UNDO_ENABLED TRUE
-- 可以看到 Oracle 自動為 PDB 建立了一個 undo 表空間
SQL>SELECT con_id, tablespace_name FROM cdb_tablespaces WHERE tablespace_name LIKE 'UNDO%' ORDER BY con_id; CON_ID TABLESPACE_NAME ---------- ------------------------------ 1 UNDOTBS1 3 UNDO_1 SQL>
3.3 新建立一個資料庫
可以看到新建立的資料庫也是執行在本地 undo 模式上。
SQL>CREATE PLUGGABLE DATABASE pdb2 ADMIN USER pdb_adm IDENTIFIED BY Password1; SQL>ALTER PLUGGABLE DATABASE pdb2 SAVE STATE; SQL>SELECT con_id, tablespace_name FROM cdb_tablespaces WHERE tablespace_name LIKE 'UNDO%' ORDER BY con_id; CON_ID TABLESPACE_NAME ---------- ------------------------------ 1 UNDOTBS1 3 UNDO_1 4 UNDOTBS1 SQL>
About Me
........................................................................................................................ ● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除 ● 本文在itpub( http://blog.itpub.net/26736162 )、部落格園( http://www.cnblogs.com/lhrbest )和個人weixin公眾號( xiaomaimiaolhr )上有同步更新 ● 本文itpub地址: http://blog.itpub.net/26736162 ● 本文部落格園地址: http://www.cnblogs.com/lhrbest ● 本文pdf版、個人簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/ ● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA寶典今日頭條號地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826 ........................................................................................................................ ● QQ群號: 230161599 (滿) 、618766405 ● weixin群:可加我weixin,我拉大家進群,非誠勿擾 ● 聯絡我請加QQ好友 ( 646634621 ) ,註明新增緣由 ● 於 2018-11-01 06:00 ~ 2018-11-31 24:00 在魔都完成 ● 最新修改時間:2018-11-01 06:00 ~ 2018-11-31 24:00 ● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解 ● 版權所有,歡迎分享本文,轉載請保留出處 ........................................................................................................................ ● 小麥苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail ● 小麥苗出版的資料庫類叢書 : http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麥苗OCP、OCM、高可用網路班 : http://blog.itpub.net/26736162/viewspace-2148098/ ● 小麥苗騰訊課堂主頁 : https://lhr.ke.qq.com/ ........................................................................................................................ 使用 weixin客戶端 掃描下面的二維碼來關注小麥苗的weixin公眾號( xiaomaimiaolhr )及QQ群(DBA寶典)、新增小麥苗weixin, 學習最實用的資料庫技術。
........................................................................................................................ |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2219179/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 12c 新特性之臨時Undo--temp_undo_enabledOracle
- 【12.2】Oracle 12C R2新特性-外部表支援分割槽了(Partitioning External Tables)Oracle
- Oracle 12C新特性-History命令Oracle
- Oracle 12C新特性In-MemoryOracle
- Oracle 12c 兩個新特性Oracle
- Oracle 12c新特性--ASMFD(ASM Filter Driver)特性OracleASMFilter
- Oracle 12C新特性-RMAN恢復表Oracle
- Oracle 12c新特性---Rapid Home Provisioning (RHP)OracleAPI
- Oracle 12C新特性-資料泵新引數(LOGTIME)Oracle
- Oracle 12C新特性-資料泵新引數(VIEWS_AS_TABLES)OracleView
- [重慶思莊每日技術分享]-ORACLE19C UNDO共享模式轉換為本地模式Oracle模式
- ORACLE 12C 優化器的一些新特性總結(二)Oracle優化
- ORACLE 12C 優化器的一些新特性總結(一)Oracle優化
- 12c RMAN新特性之Recover Table
- OceanBase學習之路11|體驗 DDL 新特性(Oracle 模式)Oracle模式
- Oracle Redo and UndoOracle Redo
- Oracle 12c 關閉歸檔模式Oracle模式
- Oracle 12c新特性--LREG程式專門負責註冊例項服務Oracle
- Oracle 12C新特性-線上把非分割槽錶轉為分割槽表Oracle
- [20190718]12c rman新特性 表恢復.txt
- 【12c】12c RMAN新特性之recover table(表級別恢復)
- MySQL 5.7新特性之線上收縮undo表空間MySql
- 12c新特性,線上move資料檔案
- oracle undo分配規則Oracle
- Oracle OCP(48):UNDO TABLESPACEOracle
- oracle的redo和undoOracle
- Oracle 20c 新特性:SQL 巨集支援(SQL Macro)Scalar 和 Table 模式OracleSQLMac模式
- Oracle 12c的DG自動同步密碼檔案--ASM 新特性:共享密碼檔案Oracle密碼ASM
- Oracle merge 與 PG新特性 UPSERTOracle
- 嚐鮮Oracle Database 12c的十二大新特性VKOracleDatabase
- oracle 12c non-cdb升級成cdb模式Oracle模式
- [20190503]12C R2 分割槽交換.txt
- 12C新特性___In-Memory列式儲存的總結
- 4.2.1.9 選擇 Undo 模式模式
- Oracle常見UNDO等待事件Oracle事件
- 關於oracle中的undoOracle
- 【REDO】Oracle redo undo 學習Oracle Redo
- 1 Oracle Database 19c 新特性OracleDatabase