oracle18c資料庫特性說明

datapeng發表於2018-11-19

瞭解18C的新特性之前,需要簡單的對12C有一個基本的認知。2013年6月26日,Oracle釋出了Oralce 12C。雲(cloud)計算設計。12C引入了CDB與PDB的新特性,在ORACLE 12C資料庫引入的多租使用者環境(Multitenant Environment)中(注:多租戶技術(英語:multi-tenancy technology)或稱多重租賃技術,是一種軟體架構技術,它是在探討與實現如何於多使用者的環境下共用相同的系統或程式元件,並且仍可確保各使用者間資料的隔離性),允許一個資料庫容器(CDB)承載多個可插拔資料庫(PDB)。

CDB全稱為Container Database,中文翻譯為資料庫容器,PDB全稱為Pluggable Database,即可插拔資料庫。在ORACLE 12C之前,例項與資料庫是一對一或多對一關係(RAC):即一個例項只能與一個資料庫相關聯,資料庫可以被多個例項所載入。而例項與資料庫不可能是一對多的關係。當進入ORACLE 12C後,例項與資料庫可以是一對多的關係。

對12C有了基本的特性認知後,就可以瞭解看看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
自動糾正備庫因Nologging而導致的壞塊問題。新增兩種 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 的保護了), 寫丟失的影子保護,可以在表空間、資料庫、資料檔案級別開啟,用於主動提前檢查和防止寫丟失。
4.Backups from non-CDBs are usable after migration to CDB
原來的 non-CDB,可以以這種方式,作為一個 PDB 遷移到當前已經存在的 CDB 中。
5.Scalable Sequences
自適應的序列,是為了減少高併發DML下的競爭,透過構建不連續的序列,打散和減輕類似索引之上的分裂競爭等,這是來自Oracle最佳化最佳實踐的增強。
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。

(二)Big Data and Data Warehousing
1.Approximate Top-N Query Processing
注:18c 中,增加了 APPROX_COUNT 和 APPROX_SUM 來配合 APPROX_RANK 的使用。
2.LOB support with IMC, Big Data SQLLOB
物件也支援 in memory 了。

三)Database Overall
1.Copying a PDB in an Oracle Data Guard Environment新增了2個引數,方便在 ADG 環境中建立 PDB。
一個是 STANDBY_PDB_SOURCE_FILE_DIRECTORY,自動尋找 ADG 的資料檔案路徑(注,在 18c 之前,如果將一個 pdb 插入到一個 standby 環境的中 cdb,需要手動將檔案複製到 pdb 的 OMF 路徑下)另一個是 STANDBY_PDB_SOURCE_FILE_DBLINK,方便 remote clone 時自動查詢 ADG 檔案路徑(注:在 18c 之前,如果是本地 clone,就不用複製資料檔案,但是遠端 clone,就需要手動複製)。
2.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
3.Refreshable PDB SwitchoverPDB refresh
支援了 switchover。switchover 分成計劃核心計劃外的兩種場景。計劃內的,可以切回去,主要用於平衡 CDB 的負載。計劃外的,主要用於 PDB master 失效之後,不用整個 CDB 做切換。
4.PDB Snapshot Carouselpdb 的 snapshot
備份轉盤,預設保留8份,每24小時備份一次。
ALTER PLUGGABLE DATABASE SNAPSHOT MODE EVERY 24 HOURS;
5.New Default Location of Oracle Database Password File
口令檔案路徑已經在 ORACLE_BASE,而不是 ORACLE_HOME,以便去除對ORACLE_HOME的更改。
6.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 是隻讀。設定 ORACLE_HOME 為只讀,則變化檔案將建立於 $ORACLE_BASE, 這是為了標準化、分發共享、滾動升級等提供便利。
7.Online Merging of Partitions and Subpartitions
支援線上合併分割槽,加強了線上維護性。注:需要使用 ONLINE 關鍵字。
8.Concurrent SQL Execution with SQL Performance AnalyzerSPA
可以並行執行了(預設情況還是序列),幫你更快的完成 SPA 測試,這個特性在升級時很有用。

(四)Performance
1.Automatic In-Memory
自動 In Memory 會根據 Heat Map,在記憶體使用緊張的情況下,將不常訪問的 IM 列驅逐出記憶體。
2.Database In-Memory Support for External Tables
外部表支援 IM 特性。
3.Memoptimized Rowstore
SGA 中有一塊 memoptimize pool 區域,大小受MEMOPTIMIZE_POOL_SIZE 引數設定,當開啟 fast lookup 的時候,就能利用該記憶體區域,進行快速的查詢。開啟 fast lookup,需要在建表語句中加上關鍵字:當基於主鍵查詢時,就能使用到 fast lookup。Memoptimized Rowstore 將極大的提高物聯網中基於主鍵的高頻查詢。

(五)RAC and Grid
1.ASM Database Cloning
ASM資料庫克隆支援多租戶資料,這個特點透過ASM冗餘提供了一種基於資料的原生克隆方式,可以替代基於儲存級別的克隆或複製同步
2.Converting Normal or High Redundancy Disk Groups to Flex Disk Groups without Restricted Mount
鼓勵往 flex diskgroup 上轉型。
(六)Security
3.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。

以上這些就是Oracle 18c釋出的版本中所涉及到的主要特性,更多的新的特性還需要我們要實踐的過程中進行發現和總結,不過從Oracle的發展戰略來看,後期版本會越來越智慧,搭上雲端計算和人工智慧的春風,我們拭目以待,期待Oracle給我們帶來更多的驚喜!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-2220592/,如需轉載,請註明出處,否則將追究法律責任。

相關文章