數據庫管理349期 2025-07-17
- 數據庫管理-第349期 Oracle DB 23.9新特性一覽(20250717)
- 1 JavaScript過程和函數的編譯時語法檢查
- 2 不再需要JAVASCRIPT上的EXECUTE權限
- 3 GROUP BY ALL
- 4 使用SQL創建并測試UUID
- 5 IVF索引在線重組
- 6 JSON到二元性遷移器:使用JSON schema進行模式推理
- 7 數據庫認證的多因素認證
- 8 多語言引擎支持數據庫駐留連接池
- 9 非位置INSERT INTO SET子句
- 10 Oracle更新建議助手
- 11 Oracle FPP支持Oracle更新助手
- 12 分區維護操作和直接加載全局IVF和HNSW索引
- 總結
數據庫管理-第349期 Oracle DB 23.9新特性一覽(20250717)
作者:胖頭魚的魚缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE Partner10年數據庫行業經驗
擁有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等認證
墨天輪MVP,ITPUB認證專家
圈內擁有“總監”稱號,非著名社恐(社交恐怖分子)公眾號:胖頭魚的魚缸
CSDN:胖頭魚的魚缸(尹海文)
墨天輪:胖頭魚的魚缸
ITPUB:yhw1809
IFClub:胖頭魚的魚缸
除授權轉載并標明出處外,均為“非法”抄襲
又到了一季度一次的Oracle DB 23ai小版本更新,之前的季度更新新特性可查看:
數據庫管理-第225期 Oracle DB 23.5新特性一覽(20240730)
數據庫管理-第256期 Oracle DB 23.6新特性一覽(20241031)
數據庫管理-第287期 Oracle DB 23.7新特性一覽(20250124)
數據庫管理-第316期 Oracle DB 23.8新特性一覽(20250417)
接下來一起看Oracle DB 23.9(2024起月補丁)帶來了什么新特性。
1 JavaScript過程和函數的編譯時語法檢查
現在,對于使用內聯調用規范執行的JavaScript函數,會在編譯時進行語法檢查,從而在運行時之前為代碼提供有價值的分析。
當選擇使用某種代碼檢查工具時,編譯時的語法檢查可以通過提供額外的代碼分析步驟,幫助增強對代碼準備狀態的信心。這種編譯時的支持與創建MLE模塊時已有的檢查相匹配。
2 不再需要JAVASCRIPT上的EXECUTE權限
用戶賬戶運行JavaScript代碼時,不再需要EXECUTE ON JAVASCRIPT權限。
現在,可以創建多語言引擎(Multilingual Engine,MLE)模塊并執行內聯調用規范來發布JavaScript函數,而無需額外授予EXECUTE ON JAVASCRIPT權限。這為使用MLE提供了更為簡化的入門體驗。
3 GROUP BY ALL
在包含聚合函數的復雜SELECT列表的SQL查詢中,新的GROUP BY ALL子句消除了將所有非聚合列放入GROUP BY子句的需要。相反,新的ALL關鍵字表明結果應自動按所有非聚合列進行分組。
在GROUP BY子句中無需重復非聚合列,這使得編寫SQL查詢更快且更不易出錯。用戶可以使用GROUP BY ALL功能快速構建SQL查詢原型或進行快速臨時查詢。
4 使用SQL創建并測試UUID
UUID是一種128位的通用唯一標識符,廣泛應用于應用程序中,用于生成不可預測的隨機值,該值可用作表中的主鍵、事務ID或任何形式的唯一標識符。在Oracle Database 23ai中,SQL函數UUID()根據UUID RFC 9562在數據庫中生成版本4變體1的UUID。
UUID生成和操作函數提供了一種合規的方式來生成隨機、唯一且不可預測的標識符,該標識符可用于填充數據庫表中的主鍵列,以唯一標識事務ID(例如,用于Oracle Database 23ai中的無會話事務功能),以及用于許多其他目的。
現代應用程序期望能夠生成不可預測且隨機的UUID。所有主流數據庫和數據管理系統都支持某種形式的UUID生成和操作。
當前的Oracle SQL操作符SYS_GUID()總是生成一個可預測的唯一標識序列,而這并不是最優的。
5 IVF索引在線重組
如果基表的更新改變了總體向量分布,那么IVF(索引)的質量可能會隨時間降低。現在,在IVF索引仍可用于數據修改語言(DML)和查詢時,可以對其進行重組。
如果源表在最初創建索引后發生顯著變化,IVF索引可能會變得不平衡。這可能會影響索引的性能和質量。借助IVF索引在線重組功能,可以在索引保持在線且可用于數據修改語言(DML)和查詢的同時,重組索引的結構。
6 JSON到二元性遷移器:使用JSON schema進行模式推理
此功能允許JSON到二元性遷移器使用用戶提供的JSON schema進行關系schema推理。JSON schema可以單獨提供,也可以與數據結合提供,以進行更準確的schema推理。
此功能使JSON到二元性遷移器更容易被那些可能沒有大量JSON數據供遷移器分析或不想向遷移器發送機密數據的客戶訪問。只要每個集合都有JSON schema,他們仍然可以使用遷移器。
7 數據庫認證的多因素認證
可以通過為用戶啟用多因素身份驗證來增強Oracle數據庫的安全性。您可以通過Cisco Duo或Oracle Mobile Authenticator應用程序使用推送通知,也可以將用戶名和密碼與基于PKI(公鑰基礎設施)證書的身份驗證相結合。
多因素身份驗證是許多數據庫所必需的安全要求,特別是在數據庫包含敏感數據的情況下。
8 多語言引擎支持數據庫駐留連接池
Oracle數據庫多語言引擎(Multilingual Engine)中的JavaScript現在可以使用數據庫駐留連接池(DRCP)在數據庫連接中使用。現在,您可以在DRCP會話中調用JavaScript過程和函數,并使用DBMS_MLE API。
DRCP的支持擴展了對數據庫內JavaScript的訪問,并允許使用數據庫內JavaScript的工作負載利用DRCP的好處,例如提高了可擴展性。
9 非位置INSERT INTO SET子句
Oracle數據庫添加了一個新的INSERT INTO SET子句,這是INSERT INTO語句的一種更簡單、自文檔化的語法。INSERT INTO語句的SET子句與UPDATE語句的現有SET子句相同。
新語法的好處是,可以立即清楚地知道INSERT INTO語句中的哪個值屬于哪個列,對于當前具有數百列的INSERT INTO語句來說,這并不明顯,也不麻煩。
10 Oracle更新建議助手
Oracle Update Advisor是一個軟件更新推薦框架,它提供了將軟件保持在推薦版本的信息。
使用Oracle Update Advisor簡化了軟件維護。結合數據庫創建助手(DBCA)和艦隊修補和資源調配(FPP)等工具,Oracle Update Advisor為您提供軟件狀態,并提供更新和維護建議。
11 Oracle FPP支持Oracle更新助手
可以將Oracle Update Advisor與Oracle艦隊修補和資源調配(Oracle FPP)結合使用。Oracle Update Advisor是一個軟件推薦框架,它分析Oracle數據庫和Oracle網格基礎架構的運行狀況,提供補丁建議,并根據您的補丁維護策略創建功能齊全的黃金映像。這些黃金圖像會自動下載到Oracle FPP黃金圖像存儲庫中。
將Oracle Fleet Patching and Provisioning與Oracle Update Advisor結合使用,可以大大簡化和優化更新體驗。您可以將Oracle Update Advisor用于Oracle FPP本地模式和Oracle FPP中央服務器模式。
12 分區維護操作和直接加載全局IVF和HNSW索引
現在可以對具有全局IVF和HNSW索引的分區表執行分區維護操作。這些操作可以應用于使用各種方法(包括RANGE、LIST、HASH和COMPOSITE)分區的表。
可以在具有全局IVF和HNSW索引的表上執行分區維護操作,如添加、刪除、合并和拆分分區。分區的一個關鍵好處是增加了靈活性,能夠單獨對表的子集(或分區)執行維護操作,而不會影響相鄰分區中的行。這包括帶有向量的表。
總結
與前面版本注重AI相關功能擴展不同,本次23.9更新更多的是面向23ai的常規數據庫功能擴展。
老規矩,知道寫了些啥。