當前位置:
首頁 > 最新 > 小荷的 Oracle Database 18c 新特性快速一瞥

小荷的 Oracle Database 18c 新特性快速一瞥

作者介紹:何劍敏大疆創新 互聯網事業部 運維部資料庫技術團隊負責人,曾供職於中國聯通,卓望數碼,IBM 和 ORACLE ACS 華南團隊。多年從事一線的資料庫運維工作,有豐富項目經驗、維護經驗和調優經驗,目前帶領團隊專註於 Oracle,MSSQL,PostgreSQL,MySQL,Redis 和 MongoDB 的雲上雲下的整體運維。

Oracle 18c 是在 2018-02-16 發布出來的,還是秉承著 Oracle 的 Cloud first 理念,18c 現在 Cloud 和 Engineered Systems 上推出。

下面,從我自己的角度快速 Review 一下值得關注的 18c 新特性(當然可能還有其他很多值得關注的新特性)。

(一)Availability

1. Oracle Data Guard Multi-Instance Redo Apply Supports Use of Block Change Tracking Files for RMAN Backups

現在,Multiple-Instance Redo Apply(也叫 MIRA ),也可以支持 BCT(Block Change Tracking)的備份方式了。這對於超大的資料庫,且是主從都是 RAC,且備份發生在從庫上,這是非常有效的一種增量備份方式。

2. Automatic Correction of Non-logged Blocks at a Data Guard Standby Database

新增兩種 standby logging 模式(主要是為了加快主庫 loading 數據):

一種是 Standby Nologging for Data Availability,即 loading 操作的 commit 會被 delay,直到所有的 standby 都 apply data 為止。

SQL> ALTER DATABASE SET STANDBY NOLOGGING FOR DATA AVAILABILITY;

一種是 Standby Nologging for Load Performance,這種模式和上一種類似,但是會在 load 數據的時候,遇到網路瓶頸時,先不發送數據,這就保證了 loading 性能,但是丟失了數據,但是丟失的數據,會從 primary 中再次獲取。

SQL> ALTER DATABASE SET STANDBY NOLOGGING FOR LOAD PERFORMANCE;

3. Shadow Lost Write Protection

創建一個 shadow tablespaces(註:是 big file tablespace)來提供保護。註:此時你就可以不需要 ADG 來提供額外的 lost write 的保護了。

搞 MySQL 的同學,你們是不是發現了什麼?這是不是很像 double write? 嘿嘿……

4. Backups from non-CDBs are usable after migration to CDB

原來的 non-CDB,可以以這種方式,作為一個 PDB 遷移到當前已經存在的 CDB 中。

5. Support for PDBs as Shards and Catalogs

天,終於支持 shard 是 pdb 了。但是!但是!但是!也只是支持單個 pdb 在單個 cdb 中。哈哈哈哈哈,等於沒支持。

6. User-Defined Sharding Method

這個在12.2中的 beta 版中存在的特性在,在正式發布是被取消了。現在,再次 release 出來了。

7. Consistency Levels for Multi-Shard Queries

提供MULTISHARD_QUERY_DATA_CONSISTENCY初始化參數,執行的之前可以先設置該初始化參數,避免跨分片查詢時的 SCN synchronization。

8. Manual termination of run-away queries

現在,你可以手動的殺掉一個語句,而不斷開這個 session:ALTER SYSTEM CANCEL SQL。

ALTER SYSTEM CANCEL SQL "SID, SERIAL, @INST_ID, SQL_ID";

(二)Big Data and Data Warehousing

9. Approximate Top-N Query Processing

註:18c 中,增加了 APPROX_COUNT 和 APPROX_SUM 來配合 APPROX_RANK 的使用。

10. LOB support with IMC, Big Data SQL

LOB 對象也支持 in memory 了。

(三)Database Overall

11. Copying a PDB in an Oracle Data Guard Environment

新增了2個參數,方便在 ADG 環境中創建 PDB。

12. PDB Lockdown Profile Enhancements

現在可以在 application root 和 CDB root 中創建 PDB lockdown profile。

你現在還可以根據一個 pdb lockdown profile,創建另外一個 pdb lockdown profile。

18c 包含三個默認的 lockdown profile:PRIVATE_DBAAS,SAAS,PUBLIC_DBAAS

13. Refreshable PDB Switchover

PDB refresh 一直號稱是窮人的 ADG,這個特性,在18c中也越來越好用了。支持了 switchover。switchover 分成計劃內核計劃外的兩種場景。

計劃內的,可以切回去,主要用於平衡 CDB 的負載。

計劃外的,主要用於 PDB master 失效之後,不用整個 CDB 做切換。

14. PDB Snapshot Carousel

pdb 的 snapshot 備份轉盤,默認保留8份,每24小時備份一次。

ALTER PLUGGABLE DATABASE SNAPSHOT MODE EVERY 24 HOURS;

15. New Default Location of Oracle Database Password File

注意,新的密碼文件路徑已經在 ORACLE_BASE,而不是 ORACLE_HOME。

16. Read-Only Oracle Home

可以在 dbca 或者 roohctl -enable 來進程 read only oracle home 的安裝,

運行 orabasehome 命令可以檢查當前的 Oracle Home 是否只讀,如果這個命令輸出的結果和 $ORACLE_HOME 一樣,則表示 Oracle Home 是可讀寫的。如果輸出是 ORACLE_BASE/homes/HOME_NAME,則表示 Oracle Home 是只讀。

17. Online Merging of Partitions and Subpartitions

支持在線合併分區。註:需要使用 ONLINE 關鍵字。

18. Concurrent SQL Execution with SQL Performance Analyzer

SPA 可以並行運行了(默認情況還是串列),幫你更快的完成 SPA 測試。

(四)Performance

19. Automatic In-Memory

自動 In Memory 會根據 Heat Map,在內存使用緊張的情況下,將不常訪問的 IM 列驅逐出內存。

20. Database In-Memory Support for External Tables

外部表支持 IM 特性。

21. Memoptimized Rowstore

在 SGA 中有一塊 memoptimize pool 區域,大小受 MEMOPTIMIZE_POOL_SIZE 參數設置,當開啟 fast lookup 的時候,就能利用該內存區域,進行快速的查找。

開啟 fast lookup,需要在建表語句中加上關鍵字:

當基於主鍵查詢時,就能使用到 fast lookup。

Memoptimized Rowstore 將極大的提高物聯網中基於主鍵的高頻查詢。

(五)RAC and Grid

22. ASM Database Cloning

可以基於 ASM 做 pdb 的克隆。基於 ASM 的 flex diskgroup 來實現。

23. Converting Normal or High Redundancy Disk Groups to Flex Disk Groups without Restricted Mount

呵呵,鼓勵往 flex diskgroup 上轉型。

(六)Security

24. Integration of Active Directory Services with Oracle Database

和微軟的 AD 結合。在18c之前,需要使用 Oracle Enterprise User Security (EUS) 進行交互,現在,可以使用 centrally managed users (CMU) 直接將 AD 的 users 和 groups 和 Oracle 的 users 和 role 進行 mappiing。

(七)其他

25. 新增初始化參數:

ADG_ACCOUNT_INFO_TRACKING

FORWARD_LISTENER

INMEMORY_AUTOMATIC_LEVEL

INMEMORY_OPTIMIZED_ARITHMETIC

MEMOPTIMIZE_POOL_SIZE

MULTISHARD_QUERY_DATA_CONSISTENCY

OPTIMIZER_IGNORE_HINTS

OPTIMIZER_IGNORE_PARALLEL_HINTS

PARALLEL_MIN_DEGREE

PRIVATE_TEMP_TABLE_PREFIX

STANDBY_PDB_SOURCE_FILE_DBLINK

STANDBY_PDB_SOURCE_FILE_DIRECTORY

TDE_CONFIGURATION

UNIFIED_AUDIT_SYSTEMLOG

WALLET_ROOT

值得說一下的是 OPTIMIZER_IGNORE_PARALLEL_HINTS,在純 OLTP 的系統中,你終於可以禁用開發人員不受控制的並發了(往往不寫並發度)。:)

26. dbms_session.sleep

可以

exec dbms_session.sleep(3);

終於不用再單獨 grant dbms_lock 的許可權了。

看到上面的這些新特性,你怎麼想?「DBA 將死」、「Oracle 將實現自動駕駛」?這些新特性是不是還需要 DBA? :)

參考資料:

1. Oracle Database Database New Features Guide, 18c

https://docs.oracle.com/en/database/oracle/oracle-database/18/newft/index.html

2. ORACLE 18C: ORACLE 18C.. NEW FEATURES.. WHAT』S NEWS..

http://blog.enmotech.com/2017/12/17/14-oracle-18c-oracle-18c-new-features-whats-news/

3. Franck Pachot (@FranckPachot)

https://twitter.com/FranckPachot/

祝大家開工大吉!加入我們,開始新一年的學習吧!

資源下載


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數據和雲 的精彩文章:

TAG:數據和雲 |