1. 程式人生 > >Oracle 18c新特性一覽

Oracle 18c新特性一覽

1. 一般新特性

1.1. Shadow Lost Write Protection

Shadow lost write protection檢測到一個丟失的寫,它會導致一個主要的資料損壞。可以在不需要Oracle DG備庫的情況下為資料庫、表空間或資料檔案啟用Shadow lost write protection

Shadow lost write protection提供快速的檢測和對丟失的寫的即時響應,從而最大限度地減少由於資料損壞而在資料庫中可能發生的資料丟失。

https://docs.oracle.com/en/database/oracle/oracle-database/18/admin/managing-tablespaces.html#GUID-23154DE0-B2AA-4D73-BBCA-73ED5786FF2B

1.2. 在加密和非加密的CDB之間複製PDB

 

https://docs.oracle.com/en/database/oracle/oracle-database/18/bradv/rman-duplicating-databases.html#GUID-539E89F6-C0BC-49CB-8D8C-CD8FF88BAF32

1.3. RMAN簡化standby的恢復

RECOVER命令的增強使standby資料庫能夠以最小的人工干預來追上對主庫的更改。

簡化了備庫前滾的過程,並通過手工步驟最小化可能的使用者錯誤。

https://docs.oracle.com/en/database/oracle/oracle-database/18/bradv/rman-recovery-advanced.html#GUID-828A4953-3F7E-4975-ADA4-5469D6794BB0

1.4. 插入到新的CDB之前PDB的備份仍可用

可以通過PREPLUGIN字句利用之前PDB的備份恢復,還原插入到新的CDB中的PDB

PREPLUGIN字句支援CATALOG,CHANGE,CROSSCHECK,DELETELIST命令

https://docs.oracle.com/en/database/oracle/oracle-database/18/bradv/rman-complete-database-recovery.html#GUID-1F67ECAB-B8D0-4547-A5F1-F1C3C7AF2C5D

1.5. non-CDB的備份,在轉換為CDB後仍可用

同上

1.6. 使用RMANPDB複製到CDB

可以通過DUPLICATE命令將PDB複製到已有的CDB中。

https://docs.oracle.com/en/database/oracle/oracle-database/18/bradv/rman-duplicating-databases.html#GUID-9E630E2C-3D1B-4594-B738-4B5B43E50C58

 

2. Sharding

2.1. Centralized Diagnosability and Manageability for Sharded Databases

2.2. Support for PDBs as Shards and Catalogs

2.3. User-Defined Sharding Method

2.4. Sharding Support for JSON, LOBs, and Spatial Objects

2.5. Consistency Levels for Multi-Shard Queries

2.6. Optimizer Enhancements for Sharded Database Queries

2.7. Automatic Deployment of Oracle GoldenGate

2.8. Oracle GoldenGate Automatic CDR

2.9. Oracle RAC Sharding

2.10. Automatic CDR Support of Tables with Unique Indexes/Constraints

3. 資料庫總體-新特性

3.1. 連線管理

3.1.1. Oracle Connection Manager in Traffic Director Mode

3.2. 容器資料庫架構

3.2.1. Oracle DG環境下拷貝PDB

現在可以使用兩個新的初始化引數STANDBY_PDB_SOURCE_FILE_DBLINK STANDBY_PDB_SOURCE_FILE_DIRECTORY來自動維護備用資料庫,當執行遠端克隆PDB或插拔PDB時。

3.2.2. 使用DBCA克隆PDB

3.2.3. PDB Lockdown Profile Enhancements

3.2.4. 可重新整理的PDB Switchover

一個可重新整理的PDB可以和它的主PDB進行switchover操作。

一個可重新整理的PDB:是主PDB的增量更新的副本。這個新的switchover特性允許主PDB和克隆的PDB進行角色互換,適用以下場景:

1. Planned switchover. The former master becomes the new clone, while the former clone becomes the new master. Switching roles may be useful for load balancing between two CDBs.

 --對於計劃中的switchover操作,該特性在進行切換時可減少兩個CDB上的負載(因為兩個PDB中的資料幾乎一致)

2. Unplanned switchover. If the master PDB fails, then operations can resume on the refreshable clone PDB. This approach is useful when the failure is isolated to the master PDB, leaving other PDBs unaffected. In such cases, a full CDB-level Oracle Data Guard failover is unnecessary. Data Guard Broker can perform per-PDB failover when two pairs of CDBs reside on two computers, with Data Guard replication in opposite directions for each pair. However, this configuration requires four CDBs. The refreshable PDB approach enables unplanned switchover from a failed master PDB to a refreshable clone PDB between a pair of CDBs.

--如果主PDB損壞了,那麼只需要切換這一個PDB即可,不需要切換整個CDB。很顯然這樣的操作更簡單,速度更快,而且對CDB上的其他PDB不會造成影響。

Refreshable Clone PDBs:可以保持和主PDB保持同步,克隆PDB可以隨時用來測試,如果主PDB掛了,也可以進行switchover

https://docs.oracle.com/en/database/oracle/oracle-database/18/multi/cloning-a-pdb.html#GUID-C476B273-469B-4999-8637-A6BA1BD6300A

3.2.5. CDB Fleet管理

CDB fleet是託管著PDBCDB的集合,你可以作為一個邏輯CDB來管理其中的CDB

所有Oracle資料庫特性,如Oracle Real Application Cluster (Oracle RAC)、RMAN、基於時間點恢復和閃回特性,CDB fleet都都支援

CDB fleet功能

一個CDB fleet提供了資料庫基礎設施,以實現多個CDBs的可伸縮性和集中管理。

CDB fleet適用下列情況下:

當你必須為應用程式提供超過最大數量的PDBs(4096),而必須要建立多個CDBs。

單個配置中不同的PDBs需要不同型別的伺服器以最佳方式執行。

例如,一些PDBs可能需要處理較大的事務,而其他的PDBs主要用於監視,而你希望為這些PDBs提供合適的伺服器資源,例如CPU、記憶體、I/O和儲存系統。

使用相同應用程式的不同PDBs必須存放在不同的位置。

https://docs.oracle.com/en/database/oracle/oracle-database/18/multi/administering-cdb-fleet.html#GUID-0AA7FC65-F350-473B-96D2-976313514069

3.2.6. PDB Snapshot Carousel

PDB快照是PDB在特定時間點的命名副本。當PDB啟用了PDB 快照時,可以建立最多8個快照(超過8個,會覆蓋最舊的快照)。快照集稱為快照Carousel

PDB快照carousel維護了一個經常重新整理的PDBs副本庫。你可以carousel中執行任何時間點的克隆或時間點恢復。

https://docs.oracle.com/en/database/oracle/oracle-database/18/multi/administering-pdb-snapshots.html#GUID-FF6DF540-0C22-451C-80B3-1ACA8C8CB7D2

4. 安裝,配置,補丁

4.1. Zero-Downtime資料庫升級

通過Rapid Home Provisioning來進行升級,並且這種升級如果遇到錯誤是可恢復,可重新開始,可還原的。

https://docs.oracle.com/en/database/oracle/oracle-database/18/cwadd/rapid-home-provisioning.html#GUID-08160350-092E-4546-9B21-C61EBED811B1

4.2. 變更了密碼檔案預設存放位置

18c中,密碼檔案不再存放在ORACLE_HOME中,而是存放在ORACLE_BASE中。

Platform

Required Name

Required Location

UNIX and Linux

orapwORACLE_SID

 

ORACLE_BASE/dbs

Windows

PWDORACLE_SID.ora

ORACLE_BASE/database

 

4.3. Read-Only Oracle Home

18c開始,如果選擇了read-onlyOracle home,那麼相關的資料庫工具和程序將會存放到ORACLE_BASE下,而不是ORACLE_HOME下。

只讀Oracle home將軟體從資料庫配置資訊和日誌檔案中分離出來。這種分離能夠輕鬆地跨不同的部署共享軟體。只讀Oracle home還簡化了版本控制和標準化。

4.4. 基於RPM包安裝資料庫

18c中可以使用rpm -ivh來安裝資料庫

安裝方法:

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/running-rpm-packages-to-install-oracle-database.html#GUID-BB7C11E3-D385-4A2F-9EAF-75F4F0AACF02

5. 分割槽

5.1. Parallel Partition-Wise SQL Operations

Parallel Partition-Wise join主要用於更有效和更快的處理large join操作。可以相容的SQL操作:

l SELECT DISTINCT

l Window functions

5.2. 線上合併分割槽/子分割槽

可以在ALTER TABLE MERGE PARTITIONSUBPARTITION語句中指定ONLINE關鍵字來線上合併分割槽/子分割槽。

https://docs.oracle.com/en/database/oracle/oracle-database/18/vldbg/maintenance-partition-tables-indexes.html#GUID-0E7793F7-B38A-427E-846B-7A8651F2A523

5.3. 修改分割槽策略

可以使用ALTER TABLE MODIFY PARTITION 語句來修改常規(heap-organized)表的分割槽策略。修改分割槽策略,比如雜湊分割槽到範圍分割槽,可以offlineonline執行。將索引作為表修改的一部分進行維護。當在online模式下執行時,轉換對正在進行的DML操作沒有影響。

https://docs.oracle.com/en/database/oracle/oracle-database/18/vldbg/maintenance-partition-tables-indexes.html#GUID-763391C6-44E8-401D-8119-DC12926F5877

6. 調優

6.1. New SQL Tuning Set API

提供全新的包DBMS_SQLSET來維護SQL調優集,這個包的子程式和DBMS_SQLTUNE包的子程式是一樣的。

SQL調優集是一些效能顧問和工具的輸入。將SQL調優集API分離到單獨的PL/SQL包中,可以更方便地以程式設計方式操作SQL調優集。

https://docs.oracle.com/en/database/oracle/oracle-database/18/tgsql/managing-sql-tuning-sets.html#GUID-9203BA12-8EDE-4EE5-B4EC-3265824200D7

6.2. 併發執行SQL Performance Analyzer

The default behavior of SQL Performance Analyzer is to execute SQL sequentially when testing to measure performance. In some cases, when very large SQL Tuning Sets are involved, it is beneficial to execute SQL concurrently to expedite the testing process.  This feature enables concurrent execution for SQL Performance Analyzer.

可以加快效能測試速度。

7. 工具

7.1. 資料泵載入資料時,如果遇到資料格式時,可以跳過錯誤繼續載入

impdp的引數DATA_OPTIONS添加了一個新的選項CONTINUE_LOAD_ON_FORMAT_ERROR

8. 效能

8.1. In-Memory

8.1.1. 動態捕獲In-Memory 中表達式

使用者可以定義一個時間視窗來捕獲記憶體中的表示式。

在以前的版本中,使用者只能指定過去24小時或自資料庫建立以來的捕獲時間間隔。現在捕獲時間視窗是靈活的和動態的,使使用者能夠根據資料庫負載情況來制定捕獲時間視窗。

https://docs.oracle.com/en/database/oracle/oracle-database/18/inmem/optimizing-in-memory-expressions.html#GUID-B9E46C0C-F076-4651-A476-4B137A0E8A71

8.1.2. 自動化In-Memory

自動In-Memory使用熱圖資料、列統計資料和其他相關統計資料來管理IM列儲存中的物件。在記憶體壓力下,如果更多頻繁訪問的段將會從IM中受益,IM列儲存會將非活動段逐出IM

https://docs.oracle.com/en/database/oracle/oracle-database/18/inmem/configuring-memory-management.html#GUID-F5D88D68-8A80-4D80-B08F-C6F132797B47

8.1.3. In-Memory支援外部表

In-Memory的列儲存支援外部表的數量,使使用者能夠在外部資料儲存上執行高階的分析查詢。這個特性對於外部資料的重複查詢特別有用,因為它利用了Oracle資料庫In-Memory的效能特性,避免了外部儲存的不必要訪問。

https://docs.oracle.com/en/database/oracle/oracle-database/18/inmem/populating-objects-in-memory.html#GUID-37E2E218-33A2-490E-891D-B627906DE16B

8.1.4. Flexible Parallelization Using In-Memory Dynamic Scans

In-Memory Dynamic Scans可以實現 In-Memory表掃描的透明和動態並行執行。在以前的版本中,資料庫使用了傳統的Oracle並行執行。雖然傳統的表單仍然被支援,但是動態掃描是針對IM列儲存的,並根據CPU利用率動態調整。IM動態掃描需要使用Oracle資料庫資源管理器。

https://docs.oracle.com/en/database/oracle/oracle-database/18/inmem/in-memory-column-store-architecture.html#GUID-15B0EEBC-31F6-4192-957A-56D79B7E63E2

8.1.5. Scalable Sequences--可伸縮序列

通過在CREATE SEQUENCEALTER SEQUENCE語句中指定SCALE子句,可以使序列變得可伸縮。當用於生成具有高併發性的資料攝取工作負載的無序主鍵或惟一鍵時,可伸縮的序列特別有效。可伸縮序列大大減少了序列和索引塊的爭用,並提供了更好的資料載入可伸縮性,而不是使用CREATE SEQUENCEALTER SEQUENCE語句的快取子句配置一個非常大的序列快取。

 

可伸縮的序列提高了併發資料載入操作的效能,特別是當序列值用於在單個Oracle資料庫例項中填充表的主鍵列以及Oracle RAC資料庫時。

 

https://docs.oracle.com/en/database/oracle/oracle-database/18/admin/managing-views-sequences-and-synonyms.html#GUID-76663C84-D792-46A3-A25A-03C49DED71AD

9. RACGRID

9.1. ASMACFS

9.1.1. Storage Conversion for Member Clusters

https://docs.oracle.com/en/database/oracle/oracle-database/18/ostmg/asmcmd-cluster-commands.html#GUID-A749AA9C-4A13-4111-8E69-12F63FAFB06A

9.1.2. ASM資料可靠性提高

可靠性提高體現在兩個地方:

預設的磁碟損壞的timeout間隔 (DISK_REPAIR_TIME)3.6小時增加到12小時

增加了一個新的磁碟組屬性引數CONTENT_HARDCHECK.ENABLED(Exatadata環境)

https://docs.oracle.com/en/database/oracle/oracle-database/18/ostmg/manage-diskgroup-attributes.html#GUID-28A6ABB3-0AAB-4F7F-A843-CD5187F4D8DC

9.1.3. ASM 資料庫克隆

ASM資料庫克隆提供了PDB的克隆。該特性通過利用ASM冗餘特性來處理的。在此之前,為了在硬體故障期間防止資料丟失,ASM提供了冗餘副本。Flex磁碟組現在可以提供多達5個冗餘副本,其中一個或多個副本可以被拆分,以提供一個數據近乎實時的副本。

與基於儲存陣列的複製相比,ASM資料庫克隆的優勢在於,ASM資料庫克隆複製了完整的資料庫(PDBs),而不是檔案或物理儲存塊。在資料庫環境中,儲存陣列或基於檔案系統的複製需要在資料庫物件之間進行協調,並使用底層技術進行復制。對於ASM資料庫克隆,管理員不需要了解物理儲存格式。這是面向資料庫的儲存管理的另一個方面,它提供了ASM Flex磁碟組。

https://docs.oracle.com/en/database/oracle/oracle-database/18/ostmg/asm-filegroups.html#GUID-F0CA1610-780A-40FB-B8BB-88E0C7688CC2

9.1.4. 可以使用Cascade來刪除Oracle ASM File Groups

可以在命令ALTER DISKGROUP...DROP FILEGROUP中使用CASCADE選項來刪除一個file group以及和它相關聯的檔案。

如:

ALTER DISKGROUP DATA DROP FILEGROUP DATA_FILE CASCADE;

https://docs.oracle.com/en/database/oracle/oracle-database/18/ostmg/asm-filegroups.html#GUID-B2AC119F-BFFE-4288-A721-E8B97D574632

9.1.5. 不需要在RESTRICTED MOUNT狀態下將NormalHigh冗餘型別的磁碟組轉換為Flex磁碟組

18c中,不再需要將磁碟組以restricted方式mount,就可以NormalHigh冗餘型別的磁碟組轉換為Flex磁碟組。

https://docs.oracle.com/en/database/oracle/oracle-database/18/ostmg/asm-filegroups.html#GUID-096D903B-6646-4927-9AA6-BC6A07AD2310

9.1.6. Oracle ACFS Remote Service for Member Clusters

 

https://docs.oracle.com/en/database/oracle/oracle-database/18/newft/new-features.html#GUID-8F0A76EB-DFF8-4DC0-AC28-90A02F99459E

9.2. Cluster Health Advisor

9.2.1. Cluster Health Advisor Cross Database Analysis Support

https://docs.oracle.com/en/database/oracle/oracle-database/18/atnms/purpose-cluster-health-advisor.html#GUID-78F409B6-7CB2-4103-9460-4E87F48DCEC2

9.2.2. Cluster Health Advisor Cross Cluster Analysis Support

https://docs.oracle.com/en/database/oracle/oracle-database/18/atnms/purpose-cluster-health-advisor.html#GUID-78F409B6-7CB2-4103-9460-4E87F48DCEC2

9.3. 總體

9.3.1. Shared Single Client Access Names

9.3.2. NodeVIP-Less Cluster

9.3.3. Cluster Domain Proxies

9.3.4. gridSetup-based Management

Gold基於映像的安裝(使用gridSetup.sh或gridSetup.bat)取代了使用Oracle Universal Installer安裝Oracle Grid Infrastructure的方法。可以使用基於gridSetup的管理來執行管理任務,例如克隆,addNode操作,deleteNode操作以及使用gridSetup.sh或gridSetup.bat命令進行降級。

9.3.5. Reader節點的效能隔離

Reader節點體系結構中,對Hub節點上的讀寫例項進行的更新會立即傳播到leaf點上的只讀例項,它們可以用於線上報表查詢或實時查詢。Reader節點的效能隔離使在Hub節點上的OLTP能夠正常執行,儘管葉節點上的相關資料庫例項無法處理更新。

9.3.6. UCP Support for RAC Affinity Sharding

10. 安全

10.1. Ability to Create a User-Defined Master Encryption Key

10.2. 能夠使用資料泵來匯出匯入加密密碼的DBLINK

18cdblink中的密碼是加密的,Oracle資料泵可以處理這些加密密碼的dblink。對之前版本的依然支援。

增強了安全性。

10.3. 可以為每個PDB建立自己的祕鑰庫

每個PDB現在可以擁有自己的金鑰庫,而不是整個容器資料庫(CDB)只有一個金鑰庫。

10.4. Ability to Use Oracle Data Pump to Export and Import the Unified Audit Trail

10.5. Integration of Active Directory Services with Oracle Database

10.6. Ability to Create Schema Only Accounts

10.7. Ability to Encrypt Sensitive Credential Data in the Data Dictionary

10.8. Encryption of Sensitive Data in Database Replay Files

10.9. Oracle Database Vault Support for Oracle Database Replay

10.10. Enhancements to Oracle Database Vault Simulation Mode

 

 

官方文件: https://docs.oracle.com/en/database/oracle/oracle-database/18/newft/new-features.html