title: Oracle 19c 及 21c 資料庫 及 SQL 語法上的改變
date: 2024-08-26 19:05:42
categories: Oracle
tags: [Oracle , DataBase]
description: Oracle 19c 及 21c 資料庫 及 SQL 語法上的改變

在 Oracle 19c 和 21c 之間,資料庫功能和 SQL 語法方面都有一些改進和新增功能。以下是一些主要的變化和增強:

Oracle 19c 中的主要變化

  1. 資料庫功能改進

. 自動化任務優化:
. 自動記憶體管理增強: 自動化的記憶體管理更加智能,提供了更好的性能和資源利用率。
. 自動化診斷與優化: 自動化資料庫診斷監視器(ADDM)有了增強,可以更好地幫助識別和解決性能問題。

. 混合工作負載支持:
. 自動索引功能: Oracle 19c 引入了自動索引功能,它可以自動監控和創建索引,從而優化查詢性能,減少手動調優的需求。

. JSON 支持增強:
. 在 19c 中對 JSON 資料類型的支持進行了優化,使得處理 JSON 資料更加高效。
. 資料庫 Sharding 改進:
. 增強的分片架構: 提供了更好的資料分片支持,支持更多分片節點,並簡化了管理。

  1. SQL 語法改進
    . LISTAGG 函數增強:

    . 在 Oracle 19c 中,LISTAGG 函數增加了 ON OVERFLOW 子句,可以在結果集超出一定長度時指定截斷處理方式。
    . APPROX_COUNT_DISTINCT 函數:
    . 引入了 APPROX_COUNT_DISTINCT 函數,用於計算大資料集中的不同值的近似計數,顯著提升了性能。
    . PDB 操作的改進:
    . 增強了對 PDB 的操作,包括更高效的 PDB 克隆、備份和恢復。

Oracle 21c 中的主要變化

  1. 資料庫功能改進
    . Blockchain Tables:
    . 區塊鏈表: Oracle 21c 引入了區塊鏈表,這是一種不可篡改的資料存儲結構,適用於審計和監管要求較高的應用場景。
    . 自動化機器學習(AutoML):
    . AutoML: Oracle 21c 引入了自動化機器學習功能,簡化了機器學習模型的訓練和部署過程。
    . In-Memory 改進:
    . In-Memory 資料庫功能得到了進一步優化,支持新的壓縮算法和更高效的記憶體管理。
    . 多租戶架構增強:
    . 21c 進一步增強了 PDB 和 CDB 的管理功能,支持更多的 PDB 實例並改進了安全性。

  2. SQL 語法改進
    . JSON 資料類型:
    . Oracle 21c 引入了原生 JSON 資料類型,使得存儲和操作 JSON 資料更加直接和高效。
    . SQL MACROS:
    . Oracle 21c 引入了 SQL 宏(SQL Macros),允許使用者定義 SQL 片段,使得代碼更可讀和模組化。
    . INMEMORY 加速查詢:
    . 增強了 INMEMORY 功能,包括改進了對壓縮算法的支持,提供了更高效的查詢性能。
    . 表函數增強:
    . 在 Oracle 21c 中,表函數得到了進一步的優化和增強,特別是對資料管道處理的支持。
    . 多行插入語句:
    . 增強了 INSERT ALL 和 INSERT FIRST 的語法,支持更複雜的多行插入操作。

總結

Oracle 19c 是一個穩定的長期支持版本,主要側重於資料庫的自動化和性能優化,增強了傳統資料庫管理功能。Oracle 21c 則是一個創新版本,帶來了區塊鏈表、AutoML 等新功能,在 SQL 語法方面引入了 JSON 資料類型和 SQL 宏,適合實驗和使用新功能的場景。根據具體的應用需求選擇適合的版本。