Oracle Database SQL言語リファレンスのこのリリースでの変更点

内容は次のとおりです。

Oracle Databaseリリース20cにおける変更点

Oracle Database 20cの『Oracle Database SQL言語リファレンス』で変更された点を次に示します。

新機能

リリース20cの新機能は次のとおりです。

SecureFilesのデフラグメンテーション

リリース20cでは、ALTER TABLE文のshrink_clauseを使用してSecureFileのLOBセグメントを変更できます。

スタンバイCDBコンティニュイティ

ALTER PLUGGABLE DATABASE文のpdb_managed_recovery句を使用して、PDBがフィジカル・スタンバイCDB内にあるインスタンスでPDBをリカバリできます。

Oracle XML DB HTTPおよびFTPサービスの監査

CREATE AUDIT POLICYPROTOCOLコンポーネントを使用してFTPおよびHTTPメッセージを監査できます。

現在のユーザーに強制される統合監査ポリシー

CREATE AUDIT POLICYで作成された統合監査ポリシーは、現在のセッションおよび後続のセッションのAUDIT POLICY文が実行されるとすぐにアクティブになります。

Oracle Textの新しいDIRECTORY_DATASTOREデータ・ストア・タイプ

FILE_DATASTOREデータ型のかわりに、DIRECTORY_DATASTOREという新しいデータ・ストア型を使用できます。DIRECTORY_DATASTOREではディレクトリ・オブジェクトに基づいたファイル・アクセスが有効になるため、セキュリティが強化されます。

FILE_DATASTOREは非推奨です。

Oracle Textの新しいNETWORK_DATASTOREデータ・ストア・タイプ

URL_DATASTOREデータ型のかわりに、NETWORK_DATASTOREという新しいデータ・ストア型を使用できます。NETWORK_DATASTOREではディレクトリ・オブジェクトに基づいてファイル・アクセスを有効にするため、セキュリティが向上します。

URL_DATASTOREは非推奨です。

自動インメモリー管理の拡張

自動インメモリー管理により、ユーザーが操作しなくてもセグメントを移入、削除および再圧縮できるようになります。

inmemory_memcompress句でMEMCOMPRESS AUTOを指定すると、セグメントを管理するようにデータベースに指示できます。

Oracleブロックチェーン表

ブロックチェーン表を使用すると、ブロックチェーン・ネットワーク内のすべての参加者が同じ改ざん防止レジャーにアクセスできる集中型レジャー・モデルを実装できるようになります。CREATE TABLE文で、ブロックチェーン表を作成できます。

Active Data Guard - スタンバイの結果キャッシュ

Active Data Guardスタンバイ・データベースの結果キャッシュは、フィジカル・スタンバイ・データベースで実行された問合せの結果をキャッシュするために使用されます。result_cache_clauseSTANDBYを有効にできます。

ビットマップ・ベースのカウントの個別SQLファンクション

5つの新しいビット・ベクトル・ファンクションを使用して、SQL問合せ内でCOUNT DISTINCT操作を高速化できます。

  • BITMAP_BUCKET_NUMBER
  • BITMAP_BIT_POSITION
  • BITMAP_CONSTRUCT_AGG
  • BITMAP_OR_AGG
  • BITMAP_COUNT

インメモリーのフル・テキスト列

INMEMORY TEXT句は、インメモリー表の非スカラー列に適用できます。この句を使用すると、CONTAINS()演算子またはJSON_TEXTCONTAINS ()演算子を使用したテキスト、XMLまたはJSONドキュメントの高速インメモリー検索が可能になります。

SQLマクロ

Oracle Database 20cでは、スカラー式用のマクロを作成して、where_clauseおよびSELECTHAVING句で使用できます。この場合、PLSQLファンクションのコールは有効です。

Unicode 12.1のサポート

Oracle Database 20cは、Unicode規格のバージョン12.1に準拠しています。

ビット単位の集計ファンクション

新しい集計ファンクションBIT_AND_AGGBIT_OR_AGGおよびBIT_XOR_ADDにより、整数列、および整数値に変換または端数処理できる列のビット単位集計が可能になります。

新しい分析および統計集計ファンクション

指定された分布の形状に関する洞察を提供する新しいファンクション:

  • KURTOSIS_POPおよびKURTOSIS_SAMP。データセットの「裾」を測定します。正規分布の尖度はゼロです。尖度が高いほど、適度なサイズの偏差が頻繁に発生するのとは対照的に、極端な偏差の発生頻度が低い結果として、より多くの分散が生じることを意味します。
  • SKEWNESS_POPおよびSKEWNESS_SAMP。データの非対称性を測定します。正の歪度は、データがより右側に分布していることを意味します。負の歪度は、データがより左側に分布していることを意味します。

データの整合性を検証する新しいファンクション: CHECKSUM。データの改ざんを防ぐための簡単な方法を提供します。DBMS_SQLHASH.GETHASHのかわりにCHECKSUMを使用できます。

GROUP BY文のパフォーマンスを簡略化および最適化するファンクション: ANY_VALUE。グループ内のランダムな値を返し、グループ内の最初の値を返すように最適化されています。これにより、入力行に対して比較が行われないようにし、GROUP BY句の一部としてすべての列を指定する必要もなくなります。

PREDICTIONファンクションの構文

次のPREDICTIONファンクションには、多変量状態推定技術-逐次確率比試験(MSET-SPRT)モデルのような順序付けられたデータを必要とするモデルをスコアリングするための新しい_ordered構文があります。

  • PREDICTION
  • PREDICTION_COST
  • PREDICTION_DETAILS
  • PREDICTION_PROBABILITY
  • PREDICTION_SET

拡張SQL集合演算子

SQLセット演算子で、ANSI SQLで定義されているすべてのキーワードがサポートされるようになりました。新しい演算子EXCEPT [ALL]は、機能的にはMINUS [ALL]と同等です。演算子MINUSおよびINTERSECTでは、キーワードALLがサポートされるようになりました。

データベース・インメモリー外部表の拡張

INMEMORY句は、表レベルおよびパーティション化された外部表またはハイブリッド外部表のパーティション・レベルでサポートされます。ハイブリッド表の場合、表レベルのINMEMORY属性は、内部または外部にかかわらず、すべてのパーティションに適用されます。

新しいJSONデータ型

JSONは、JSONデータの新しいSQLおよびPL/SQLデータ型です。これにより、問合せおよび更新のパフォーマンスがテキスト形式のJSONと比べて大幅に向上します。

JSONドキュメントの最上位で使用できるJSONスカラー(RFC 8259サポート)

Oracle DatabaseのJSONドキュメントで、最上位のJSONスカラー値を設定できるようになりました。以前は、JSONオブジェクトまたは配列値が必要でした。

新しいOracle SQL関数JSON_TRANSFORM

SQLファンクションJSON_TRANSFORMを使用すると、JSON文書を解析して再構築することなく、その一部を更新できます。

強化された分析ファンクション

分析ウィンドウ関数では、SQL標準ウィンドウ・フレーム句のEXCLUDEオプションがサポートされるようになりました。SELECT文のquery_block句は、window_clauseをサポートするようになりました。これにより、SQL:2011規格で定義されているようにSQL標準表式のウィンドウ句が実装されます。

更新されたPKCS#11ライブラリへのスイッチオーバーのためのダウンタイムなしのデータベース可用性の強化

新しいADMINISTER KEY MANAGEMENT SWITCHOVER LIBRARY FOR ALL CONTAINERS文を使用して、Oracleデータベースが、システム停止時間を発生させることなく、現在使用しているPKCS#11ライブラリから更新されたPKCS#11ライブラリに切り替えるようにできます。

フレックス・ディスク・グループと拡張ディスク・グループのための二重パリティ保護の強化

Oracle ASM Flexディスク・グループ内のライトワンス・ファイルに二重パリティ保護を使用して、複数のハードウェア障害に対してより高い保護を提供できます。

Oracle ASMフレックス・ディスク・グループでの別のCDB内の新しいPDBへのあるCDB内のPDBのクローニングのサポート

ALTER PLUGGABLE DATABASEprepare_clauseを使用して、CDB内のPDBを別のCDB内の新しいPDBにクローニングできます。

ファイル・グループ・テンプレート

ファイル・グループ・テンプレートを使用すると、自動的に作成されたファイル・グループのデフォルトのファイル・グループ・プロパティをカスタマイズおよび設定でき、これにより、多数のデータベースが継承するファイル・グループ・プロパティをカスタマイズできます。

ALTER DISKGROUPadd_filegroup_clauseTEMPLATEオプションを指定します。

自動索引最適化

自動データ最適化(ADO)機能を有効にして、CREATE INDEXおよびALTER INDEXindex_ilm_clauseを使用して索引の圧縮および最適化機能を提供できます。

非推奨となった機能

次の機能は、リリース20cでは非推奨であり、将来のリリースではサポートされなくなる可能性があります。

  • 従来型の監査は、Oracle Database 20cでは非推奨です。Oracle Database内で選択的かつより効果的な監査が可能になる統合監査を使用することをお薦めします。

  • Oracle TextのURL_DATASTORE型は非推奨です。URL_DATASTORENETWORK_DATASTOREで置き換えることをお薦めします。これは、ACLを使用して特定のサーバーへのアクセスを制御します。

  • Oracle TextのFILE_DATASTORE型は非推奨です。Oracle Database 20c以上で使用可能なDIRECTORY_DATASTORE索引タイプでFILE_DATASTORE索引を置き換えることをお薦めします。DIRECTORY_DATASTOREではディレクトリ・オブジェクトに基づいたファイル・アクセスが有効になるため、セキュリティが強化されます。

  • Oracle Database 20c以降、DBMS_CRYPTO内に含まれる古い暗号化およびハッシュ・アルゴリズムは非推奨になりました。これらは、MD4MD5およびRC4です。セキュリティ要件を満たすために、最新の暗号化アルゴリズムを使用することをお薦めします。

サポート対象外機能

次の機能は、Oracle Database Release 20cではサポート対象外となります。

  • Oracle Database 20cでは、マルチテナント・アーキテクチャを使用します。このリリースからは、非CDBへのアップグレードや作成はできなくなります。ここで、「データベース」という語はCDBまたはPDBを意味します。

  • Oracle Database 20c以降、XML Database (XDB)のいくつかの機能がサポート対象外になりました。Oracle SQLファンクションXMLRootはサポート対象外になりました。かわりに、バージョン番号付きのSQL/XML関数XMLSerialize()を使用してください。

リリース20cでサポート対象外となる機能の詳細なリストは、『Oracle Databaseアップグレード・ガイド』を参照してください。