2019年12月3日 星期二

oracle 18c new feature



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 ),也可以支持 BCTBlock 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 profilePRIVATE_DBAAS,SAASPUBLIC_DBAAS
3.      Refreshable PDB SwitchoverPDB refresh
支持了 switchoverswitchover 分成計劃內核計劃外的兩種場景。計劃內的,可以切回去,主要用於平衡 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 lookupMemoptimized 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