2 アプリケーション開発
JSON
JSONリレーショナル二面性
JSONリレーショナル二面性ビューは、リレーショナル・データに対する完全に更新可能なJSONビューです。データは非常に効率的な正規化された形式でリレーショナル表に格納されますが、JSONドキュメントの形式でアプリケーションからアクセスできます。
二面性ビューは、リレーショナル・モデルまたはドキュメント・モデルを使用してアプリケーションを構築する際に開発者が直面した過去の課題を克服することで、画期的な柔軟性とシンプルさを実現します。
関連リソース
ドキュメントの表示に関する項
JSONスキーマ
JSONスキーマベースの検証は、SQL条件IS JSON
およびPL/SQLユーティリティ関数で使用できます。JSONスキーマは、許可されるプロパティ(フィールド名)と対応する許可されるデータ型、およびそれらがオプションか必須かを指定するJSONドキュメントです。
デフォルトでJSONデータはスキーマレスであり、柔軟性を提供します。ただし、JSONデータに、JSONスキーマ検証を介して実行できる他のオプションおよび柔軟なコンポーネントの他に、特定の必須の固定構造および入力が含まれていることを確認できます。
関連リソース
ドキュメントの表示に関する項
XMLおよびJSON検索索引の機能拡張
Oracle Text XML検索索引構文およびJSON検索索引構文の一貫性が向上しました。さらに、JSONおよびXML検索索引のパフォーマンスが向上しました。
XMLまたはJSON検索索引に同じ構文を使用すると、パフォーマンスが向上し、生産性が向上します。
関連リソース
ドキュメントの表示に関する項
JSON検索索引およびデータ・ガイドの変更
JSON検索索引およびJSONデータ・ガイドは、次のように拡張されています。最初の2つは、デフォルトの動作の変更を表します。
- JSON検索索引を作成する場合、デフォルトでデータ・ガイドは作成されません。
- デフォルトでは、
DBMS_JSON
プロシージャcreate_view
、get_view_sql
およびadd_virtual_columns
は名前の競合を解決します。つまり、パラメータresolveNameConflicts
のデフォルト値はFALSE
ではなくTRUE
です。つまり、この結果のフィールド名が、同じデータ・ガイド内にすでにある場合、新しい順序番号が末尾に付加された固有の名前が付けられます。 - 関数
json_dataguide
は、フラグ・オプションDBMS_JSON.detect_datetime
を使用してISO 8601日時文字列値を検出するように拡張されています。
このオプションが存在する場合、OracleでサポートされているISO 8601の日付書式と時間書式の文字列であるフィールド値は、string
ではなくtimestamp
としてフィールドtype
の値を持つデータ・ガイドで表されます。
デフォルトの変更により、JSONデータ・ガイドの使いやすさとパフォーマンスが向上します。
関連リソース
ドキュメントの表示に関する項
JSON配列に対するDBMS_AQのサポート
JSONデータ型配列は、メッセージの配列を1つの操作として処理する、メッセージを渡すアドバンスト・キューイング(AQ)関数のペイロードとして使用できます。これは、C (Oracle Call Interface)、PL/SQLおよびJava (JDBC)のAQインタフェースに適用されます。
アドバンスト・キューイングでは、JSONデータを直接使用して一括でメッセージを渡すことができます。データ交換形式としてますます一般的になるJSONを使用すると、この機能により、より柔軟なアプリケーション開発が提供され、開発者の生産性が向上します。
関連リソース
ドキュメントの表示に関する項
JSON_TRANSFORMの機能拡張
JSON_TRANSFORM
は、右側のパス式、ネストされたパスおよび算術演算をサポートするように拡張されています。配列内の要素をソートできるSORT演算子がサポートされています。
JSON_TRANSFORM
は、ディスク上の更新、および問合せのSELECT
句の一時的な変更の両方について、JSONデータを変更するための主要なSQL演算子です。この機能拡張により、算術計算やネストされた配列に対する操作などの更新機能が向上し、開発者の生産性が向上します。
関連リソース
ドキュメントの表示に関する項
外部表のJSONタイプのサポート
外部表には、JSONタイプの列のアクセスおよびダイレクト・ロードがサポートされています。JSONデータ型は、外部表定義で列タイプとしてサポートされています。改行区切りおよびJSON配列ファイル・オプションがサポートされており、外部表からJSONデータを簡単にインポートできます。
この機能により、JSONタイプの列にデータを簡単にロードできるようになります。
関連リソース
ドキュメントの表示に関する項
PL/SQL集計タイプをJSONとの間で変換するJSON/JSON_VALUE
PL/SQL JSONコンストラクタは、対応するPL/SQL集計タイプのインスタンスを受け入れ、集計タイプ・データが移入されたJSONオブジェクトまたは配列タイプを返すように拡張されています。
PL/SQL JSON_VALUE演算子が拡張され、RETURNING句で、演算子が返すインスタンスのタイプを定義するタイプ名を受け入れることができるようになりました。
集計データ型のJSONコンストラクタのサポートにより、PL/SQLアプリケーションとJSONをサポートする言語間のデータ交換が合理化されます。
関連リソース
ドキュメントの表示に関する項
問合せによるJSON_ARRAYコンストラクタ
副問合せは、SQL/JSON関数のJSON_ARRAYの引数として使用して配列要素を定義できます。この機能は、SQL/JSON標準の一部です。
この機能により、開発者の生産性が向上し、他のSQL/JSON標準準拠ソリューションとの相互運用性が向上します。
関連リソース
ドキュメントの表示に関する項
JSON_EXPRESSION_CHECKパラメータ
新しいパラメータJSON_EXPRESSION_CHECK
では、JSON問合せチェックを有効または無効にできます。値は、on
およびoff
です。デフォルトはoff
です。現時点では、このパラメータはJSONリレーショナル二面性ビューに制限されています。パス式にタイポがある場合など、二面性ビュー上のJSONパス式が基礎となる列と一致しない場合、エラーが発生します。問合せのコンパイル中にエラーが発生します。
これにより、JSONリレーショナル二面性ビューでの作業が簡略化されます。これは、正しくないJSONパス式を実行時にデバッグする必要がなくなり、(エラーが発生して)問合せコンパイル時にフラグが付けられるためです。
関連リソース
ドキュメントの表示に関する項
新しいJSONデータ・ディクショナリ・ビュー
新しいディクショナリ・ビュー*_JSON_INDEXES
および*_TABLE_VIRTUAL_COLUMNS
が追加されました。
これらの新しいビューは、JSONデータを操作するために作成されたデータベース・オブジェクトに対するより優れたインサイトを提供します。
関連リソース
ドキュメントの表示に関する項
JSON_SERIALIZEのORDERED
SQL関数JSON_SERIALIZE
には、キーと値のペアをアルファベット順に並べ替えるオプションのキーワードORDERED
があります(昇順のみ)。オプションのキーワードPRETTY
およびASCII
と組み合せることができます。
シリアライズの結果の順序付けにより、ツールと人間の両方が値を比較しやすくなります。
関連リソース
ドキュメントの表示に関する項
JSONスキーマを使用した事前チェック可能な制約
無効なデータをデータベースに送信しないように、多くの場合、アプリケーションはデータを事前チェック(検証)できます。PL/SQL関数DBMS_JSON_SCHEMA.describe
は、データベースの列レベル・チェック制約により実行される検証と同等の検証を実行するためにアプリケーションで使用できるJSONスキーマを提供し、同等のJSONスキーマのない制約を記録します。
アプリケーションは、静的ディクショナリ・ビューALL_CONSTRAINTS
、DBA_CONSTRAINTS
およびUSER_CONSTRAINTS
を参照して、JSONスキーマで事前チェック可能な列を確認することもできます。
表を作成または変更する場合、キーワードPRECHECK
を使用して、データベースの外部で列チェック制約を事前チェックできるかどうかを判断できます。特定のPRECHECK
列チェック制約に同等のJSONスキーマが存在しない場合、エラーが発生します。
無効なデータを早期に検出すると、アプリケーションの回復力が向上し、潜在的なシステム・ダウンタイムが短縮されます。すべてのアプリケーションは、特定の列のデータが事前チェック可能かどうか、および可能であればどのJSONスキーマによって検証されるかについて、同じ情報にアクセスできます。
関連リソース
ドキュメントの表示に関する項
JSON_VALUEおよびJSON_QUERYの述語
述語を含むJSONパス式は、JSON_VALUE
およびJSON_QUERY
で使用できます。この機能は、SQL/JSON標準の一部です。
JSONデータの問合せにより広くJSONパス式を適用すると、開発者の生産性が向上し、コード開発が簡略化されます。
関連リソース
ドキュメントの表示に関する項
JSONテキストのストレージをJSONタイプのストレージに移行するためのツール
新しいPL/SQLプロシージャDBMS_JSON.json_type_convertible_check
は、JSONテキストとして格納された既存のデータをJSONデータ型に移行できるかどうかをチェックします。このチェックが成功した後は、いくつかの代替方法でデータを移行できます。
バイナリJSONデータ型形式を利用すると、JSONデータの処理に最適なパフォーマンスが得られます。既存のデータをバイナリJSON形式に正常に変換できるシンプルで簡単な方法を提供することで、JSONデータに適したストレージ形式を採用できます。
関連リソース
ドキュメントの表示に関する項
SQL
アプリケーション使用状況の注釈
アプリケーション使用状況の注釈を使用すると、データベース・オブジェクトに関するメタデータを格納および取得できます。これらは、名前と値のペアまたは単なる名前です。これらは、アプリケーションがビジネス・ロジックまたはユーザー・インタフェースをカスタマイズするために使用できる自由形式テキスト・フィールドです。
アプリケーション使用状況の注釈を使用すると、すべてのアプリケーションで同じ方法でデータベース・オブジェクトを使用できます。これにより、開発が簡素化され、データ品質が向上します。
関連リソース
ドキュメントの表示に関する項
UPDATE文およびDELETE文の直接結合
UPDATE
文およびDELETE
文のターゲット表を、FROM
句を使用して他の表に結合します。これらの他の表は、変更する行を制限したり、新しい値のソースにすることができます。
直接結合を使用すると、データを変更および削除するSQLを簡単に記述できます。
関連リソース
ドキュメントの表示に関する項
IF [NOT] EXISTS構文のサポート
DDLオブジェクトの作成、変更および削除では、IF EXISTS
およびIF NOT EXISTS
構文修飾子がサポートされるようになりました。これにより、エラーが発生させる必要があるのは特定のオブジェクトが存在する場合なのか、存在しない場合なのかを制御できます。
IF [NOT] EXISTS
構文を使用すると、スクリプトおよびアプリケーションでのエラー処理を簡略化できます。
関連リソース
ドキュメントの表示に関する項
アプリケーション開発者用の新しいデータベース・ロール
DB_DEVELOPER_ROLE
ロールは、アプリケーション開発者に、Oracleデータベースでのアプリケーションの設計、実装、デバッグおよびデプロイに必要なすべての権限を付与します。
このロールを使用することで、管理者はアプリケーション開発に必要な権限を推測する必要がなくなります。
関連リソース
ドキュメントの表示に関する項
INTERVALデータ型に対する集計
INTERVAL
データ型をSUM
およびAVG
集計関数および分析関数に渡すことができます。
この機能拡張により、開発者はINTERVAL
値の合計および平均を簡単に計算できるようになります。
関連リソース
ドキュメントの表示に関する項
アプリケーション使用状況ドメイン
アプリケーション使用状況ドメインは、スキーマに属するディクショナリ・オブジェクトであり、クレジット・カード番号や電子メール・アドレスなど、共通値のオプション・プロパティおよび制約のセットをカプセル化します。アプリケーション使用状況ドメインを定義した後、そのドメインに関連付ける表の列を定義して、ドメインのオプションのプロパティおよび制約を明示的にそれらの列に適用できます。
アプリケーション使用状況ドメインを使用すると、データを一元的に使用する方法を定義できます。これにより、アプリケーション全体で一貫した方法で値を処理し、データ品質を向上させることが容易になります。
関連リソース
ドキュメントの表示に関する項
自動PL/SQLからSQLトランスパイラ
SQL文内のPL/SQL関数は、可能な場合は常に自動的にSQL式に変換(トランスパイル)されます。
PL/SQL関数をSQL文にトランスパイルすると、全体的な実行時間を短縮できます。
関連リソース
ドキュメントの表示に関する項
クライアントの記述コールでのタグ・オプションのサポート
注釈を使用すると、データベース・オブジェクトに関するメタデータを格納および取得できます。これらは、名前と値のペアであるか、名前のみです。これらは、アプリケーションでビジネス・ロジックまたはユーザー・インタフェースのカスタマイズに使用できる、自由形式テキスト・フィールドです。
注釈は、すべてのアプリケーションにわたり同じ方法でデータベース・オブジェクトを使用するために役立ちます。これにより、開発が簡素化され、データ品質が向上します。
関連リソース
ドキュメントの表示に関する項
UPDATE文でのDEFAULT ON NULL
更新操作では列をDEFAULT ON NULL
として定義できます。これは、以前は挿入操作でのみ可能でした。DEFAULT ON NULL
として指定された列は、更新操作で値をNULL
に更新しようとすると、特定のデフォルト値に自動的に更新されます。
この機能により、アプリケーション開発が簡素化され、目的の動作を実現するために複雑なアプリケーション・コードやデータベース・トリガーが必要なくなります。開発の生産性が向上し、コードのエラーが発生しにくくなります。
関連リソース
ドキュメントの表示に関する項
DESCRIBEでの列の注釈のサポート
SQL*PlusのDESCRIBE
コマンドでは、使用可能な注釈が関連付けられた列の注釈情報を表示できるようになりました。
注釈は、すべてのアプリケーションにわたり同じ方法でデータベース・オブジェクトを使用するために役立ちます。これにより、開発が簡素化され、データ品質が向上します。
関連リソース
ドキュメントの表示に関する項
エラー改善
Oracle Call Interface (OCI)のOCIError()
関数は、オプションでエラー・メッセージを含むOracle URLを含めるように拡張されました。URLページには、Oracleエラーに関する追加情報があります。
この機能を使用すると、ユーザーはエラーの原因と実行可能なアクションに関する情報に簡単にアクセスできます。
関連リソース
ドキュメントの表示に関する項
拡張されたCASE制御
CASE
文は、SQL:2003 Standard [ISO03a, ISO03b]のCASE
式およびCASE
文の更新された定義と整合性があるように、PL/SQLで拡張されました。
Dangling述語を使用すると、単純なCASE
操作で等価テスト以外のテストを実行できます。WHEN
句に複数の選択肢があると、重複の少ないコードでCASE
操作を記述できます。
関連リソース
ドキュメントの表示に関する項
GROUP BY列の別名または位置
GROUP BY
句、GROUP BY CUBE
句、GROUP BY ROLLUP
句およびGROUP BY GROUPING SETS
句で列の別名またはSELECT
項目の位置を使用できるようになりました。また、HAVING
句では列の別名がサポートされています。
これらの機能拡張により、GROUP BY
句およびHAVING
句を簡単に記述できます。SQLコードの移植性を高めながら、SQL問合せをより読みやすくメンテナンスしやすくすることができます。
関連リソース
ドキュメントの表示に関する項
ODP.NET: 注釈
Oracle Databaseの注釈を使用すると、データベース・オブジェクトに関するメタデータを格納および取得できます。これらは、名前と値のペアであるか、名前のみです。これらは、アプリケーションでビジネス・ロジックまたはユーザー・インタフェースのカスタマイズに使用できる、自由形式テキスト・フィールドです。すべてのODP.NETプロバイダ・タイプは、Oracle Database注釈をサポートしています。
注釈は、すべてのアプリケーションにわたり同じ方法でデータベース・オブジェクトを使用するために役立ちます。これにより、開発が簡素化され、データ品質が向上します。
関連リソース
ドキュメントの表示に関する項
ODP.NET: SQLドメイン名およびスキーマ
SQLドメインは、スキーマに属するディクショナリ・オブジェクトであり、クレジット・カード番号や電子メール・アドレスなど、共通値のオプション・プロパティおよび制約のセットをカプセル化します。SQLドメインを定義した後、そのドメインに関連付ける表の列を定義して、ドメインのオプションのプロパティおよび制約を明示的にそれらの列に適用できます。
SQLドメインを使用すると、データを一元的に使用する方法を定義できます。これにより、アプリケーション全体で一貫した方法で値を処理し、データ品質を向上させることが容易になります。
すべてのODP.NETプロバイダ・タイプで、SQLドメインの使用、およびSQLドメインのスキーマおよび名前情報の取得がサポートされています。
関連リソース
ドキュメントの表示に関する項
Oracle C++ Call Interface (OCCI)でのSQL BOOLEANデータ型のサポート
Oracle C++ Call Interface (OCCI)では、新しいSQL BOOLEAN
データ型の問合せおよびバインドがサポートされるようになりました。
SQL BOOLEAN
データ型を使用すると、アプリケーションで状態をより明確に表すことができます。
関連リソース
ドキュメントの表示に関する項
SQL BOOLEANデータ型に対するOracleクライアント・ドライバのサポート
Oracleクライアント・ドライバでは、新しいBOOLEAN
データベース列のフェッチおよびバインドがサポートされています。
アプリケーションで、ネイティブ・データベースのBOOLEAN
列データ型とネイティブ・ドライバのBOOLEAN
データ型を併用できます。この機能拡張により、開発者はBOOLEAN
データ型をより簡単に使用できるようになりました。
関連リソース
ドキュメントの表示に関する項
SQL BOOLEANデータ型
Oracle Databaseでは、ISO SQL標準準拠のBOOLEAN
データ型がサポートされるようになりました。これにより、TRUE
値およびFALSE
値を表に格納したり、SQL文でBOOLEAN
式を使用できます。
BOOLEAN
データ型は、Yes
値およびNo
値の格納を標準化し、Oracle Databaseへの移行を容易にします。
関連リソース
ドキュメントの表示に関する項
OCCIでのSQLドメインのメタデータ・サポート
OCCIアプリケーションで記述されているデータベース列のSQLドメイン・メタデータ(ドメイン名およびドメイン・スキーマ)へのアクセスを提供します。
データベースによってSQLドメインが列に追加され、その列メタデータは、すべてのデータ・アクセス・ドライバで同じ内容を公開する必要があります。
関連リソース
ドキュメントの表示に関する項
SQL UPDATE RETURN句の機能拡張
INSERT
文、UPDATE
文およびDELETE
文のRETURNING INTO
句は、それぞれの文の影響を受ける古い値と新しい値をレポートするように拡張されています。これにより、開発者はこれらのDMLタイプそれぞれに同じロジックを使用して、文の実行前後の値を取得できます。古い値と新しい値は、UPDATE
文に対してのみ有効です。INSERT
文では古い値は報告されず、DELETE
文では新しい値は報告されません。
INSERT
文、UPDATE
文およびDELETE
文の影響を受ける古い値と新しい値を取得する機能により、SQLコマンドの実行の一環として、これらの値を読み取るための統一的なアプローチが開発者に提供され、データベースで実行する必要がある作業量が削減されます。
関連リソース
ドキュメントの表示に関する項
SQL*PlusでのSQL BOOLEANデータ型のサポート
SQL*Plusでは、SQL文およびDESCRIBE
コマンドで新しいSQL BOOLEAN
データ型がサポートされます。COLUMN
およびVARIABLE
コマンド構文も拡張されました。
SQL*Plusスクリプトでは、新しいSQL BOOLEAN
データ型を利用すると開発が容易になります。
関連リソース
ドキュメントの表示に関する項
表値コンストラクタ
データベースのSQLエンジンでは、様々なタイプの文に対してVALUES
句がサポートされるようになりました。この新しい句を使用すると、既存の表に依存せずに新しい構文を使用して指定することで、データ行をその場でマテリアライズ化できます。Oracleでは、SELECT
文、INSERT
文およびMERGE
文でVALUES
句がサポートされています。
新しいVALUES
句が導入されたことで、開発者がアドホックSQLコマンド用に記述するコードが少なくなり、少ない労力で読みやすくなりました。
関連リソース
ドキュメントの表示に関する項
Unicode 15.0のサポート
AL32UTF8
およびAL16UTF16
文字セット用の各国語サポート(NLS)データ・ファイルは、Unicode標準の文字データベースのバージョン15.0に適合するように更新されました。
この機能強化により、Oracle Databaseは最新バージョンのUnicode標準に準拠できます。
関連リソース
ドキュメントの表示に関する項
グラフ
Oracle Databaseのグラフのネイティブ表現
Oracle Databaseでは、プロパティ・グラフのデータ構造およびグラフ問合せがネイティブでサポートされるようになりました。
プロパティ・グラフは、データ要素の直接的または間接的な依存関係を検出し、これらの関係からインサイトを抽出する直感的な方法を提供します。Oracle Databaseのエンタープライズ・グレードの管理性、セキュリティ機能およびパフォーマンス機能は、プロパティ・グラフに拡張されています。開発者は、既存のツール、言語および開発フレームワークを使用して、グラフ・アプリケーションを簡単に構築できます。グラフは、トランザクション・データ、JSON、Spatialなどのデータ型と組み合せて使用できます。
関連リソース
ドキュメントの表示に関する項
ISO/IEC SQLプロパティ・グラフ問合せ(SQL/PGQ)標準のサポート
ISO SQL標準は、プロパティ・グラフ問合せおよびSQLでのプロパティ・グラフの作成を包括的にサポートするように拡張されています。Oracleは、この標準をサポートする最初の商用ソフトウェア製品の1つです。
開発者は、既存のSQL開発ツールとフレームワークを使用して、SQLでグラフ・アプリケーションを簡単に構築できます。ISO SQL標準のサポートにより、コードの移植性が向上し、アプリケーションのロックインのリスクが軽減されます。
関連リソース
ドキュメントの表示に関する項
プロパティ・グラフ: Oracle Databaseのグラフのネイティブ表現
Oracle Databaseでは、プロパティ・グラフのデータ構造およびグラフ問合せがネイティブでサポートされるようになりました。
プロパティ・グラフは、データ要素の直接的または間接的な依存関係を検出し、これらの関係からインサイトを抽出する直感的な方法を提供します。Oracle Databaseのエンタープライズ・グレードの管理性、セキュリティ機能およびパフォーマンス機能は、プロパティ・グラフに拡張されています。開発者は、既存のツール、言語および開発フレームワークを使用して、グラフ・アプリケーションを簡単に構築できます。グラフは、トランザクション・データ、JSON、Spatialなどのデータ型と組み合せて使用できます。
関連リソース
ドキュメントの表示に関する項
プロパティ・グラフ: ISO/IEC SQLプロパティ・グラフ問合せ(SQL/PGQ)標準のサポート
ISO SQL標準は、プロパティ・グラフ問合せおよびSQLでのプロパティ・グラフの作成を包括的にサポートするように拡張されています。Oracleは、この標準をサポートする最初の商用ソフトウェア製品の1つです。
開発者は、既存のSQL開発ツールとフレームワークを使用して、SQLでグラフ・アプリケーションを簡単に構築できます。ISO SQL標準のサポートにより、コードの移植性が向上し、アプリケーションのロックインのリスクが軽減されます。
関連リソース
ドキュメントの表示に関する項
プロパティ・グラフ: グラフ・データ・ソースとしてのJSONコレクションの使用
SQL/PGQ問合せは、JSON列として表されるグラフに対して実行できます(SQL/PGQはプロパティ・グラフのISO標準です)。
開発者は、グラフをスキーマレス・オブジェクトとしてデータベースに格納できます。グラフ内の頂点およびエッジは、様々な数とタイプのプロパティを保持できます。
関連リソース
ドキュメントの表示に関する項
プロパティ・グラフ: グラフ・ツールを使用したOracle Databaseのグラフのネイティブ表現の使用
開発者は、Oracle Databaseのネイティブ・プロパティ・グラフ・オブジェクトを使用するグラフおよびグラフ問合せ結果を視覚化できます。
開発者は、Oracle Databaseの高度な組込みツールを使用して、SQL DDL文によって作成されたグラフの問合せ、分析および視覚化を実行できます。既存のアプリケーションでは、ツールやUIを変更せずに、このネイティブなグラフ表現を使用できます。
関連リソース
ドキュメントの表示に関する項
マイクロサービス
TxEventQのKafka API
トランザクション・イベント・キュー(TxEventQ)は、Apache KafkaのKafkaProducerクラスおよびKafkaConsumerクラスをサポートするようになりました。
Oracle Databaseは、Kafka APIを使用するアプリケーションのソースまたはターゲットとして使用できるようになりました。
関連リソース
ドキュメントの表示に関する項
ODP.NET: アドバンスト・キューイングおよびトランザクション・イベント・キュー
ODP.NET CoreおよびManaged ODP.NETでは、マイクロサービスなどの最新のアプリケーションで使用できる、アドバンスト・キューイング(AQ)およびトランザクション・イベント・キュー(TxEventQ)のアプリケーション・プログラミング・インタフェース(API)がサポートされるようになりました。TxEventQの高度に最適化されパーティション化された実装では、Oracleデータベースの機能を活用することで、プロデューサとコンシューマで、メッセージの永続的保存による高スループットのメッセージ交換が可能になり、様々なデータベース上の複数のキューの間でのメッセージ伝播が可能になります。TxEventQは、キューごとに複数のイベント・ストリームを保持する高性能のパーティション化された実装です。AQは、それより単純なワークフローのユース・ケース用のディスク・ベースの実装です。
ODP.NET開発者は、TxEventQとAQのどちらを使用する場合でも、同じAPIを利用できます。それらのAPIを使用すると、Oracleデータベースと統合された、堅牢で機能豊富なメッセージ・キューイング・システムにアクセスできます。それをWeb、モバイル、IoTなどのデータ駆動型アプリケーションやイベント駆動型アプリケーションとともに使用して、イベントをストリーミングすることや、ワークフローの一部として相互に通信することができます。
関連リソース
ドキュメントの表示に関する項
Prometheus/Grafana for Oracle
Prometheus/Grafana for Oracleは、Kubernetes/Docker (K8S)環境で実行している開発者にデータベース・メトリックを提供します。データベース・メトリックは時系列データベースのPrometheusに格納され、開発者向けに整形されたメトリックがGrafanaダッシュボードを使用して表示されます。データベース・メトリック・エクスポータは、データベース・ビューからPrometheus時系列データベースへのメトリックのエクスポートを支援します。
マイクロサービスなどの最新アプリケーションの開発者は、アプリケーション層で可観測性を使用し、多くの場合、データ層を見落とします。データ駆動型アプリケーションでは、アプリケーションの実行およびパフォーマンスの全体像がわかりません。従来のデータベース・メトリックは、開発者よりもDBAを対象としているAWRレポートおよびEnterprise Managerを介して表示されます。開発者および設計者にとって、PrometheusおよびGrafanaは、メトリック・ダッシュボードの構成、アラートの設定、是正措置の実行のためのツールになっています。開発者は、アプリケーションのかわりにアプリケーション層のメトリック、KubernetesコンテナのメトリックおよびOracleデータベースのメトリックを単一のダッシュボードで結び付けることができるようになりました。メトリックに加えて、ログとトレースも使用可能になっており、真に統一された可観測性を1つの画面で実現できます。
関連リソース
ドキュメントの表示に関する項
トランザクション・イベント・キュー(TxEventQ)用のPythonおよびRESTドライバ
Database 23cで、新しい言語でのトランザクション・イベント・キュー(TxEventQ)のサポートが導入されています。TxEventQは、PythonおよびREST API (KafkaのConfluent REST APIのように実装されたREST API)で使用できるようになりました。TxEventQは、JMSまたはJDBCを使用したPL/SQL、C/C++およびJavaをすでにサポートしています。
この機能により、REST APIアプリケーションではトランザクション・イベント・キュー(TxEventQ)を利用してアプリケーションおよびデータ・イベントを処理できるため、開発者の生産性が向上します。機械学習向けPythonアプリケーションの人気が高まる中、Oracle Databaseでは、TxEventQを機械学習アプリケーション・データおよびイベント・インフラストラクチャの一部とすることが可能になりました。
関連リソース
ドキュメントの表示に関する項
Oracle Sagaフレームワークを使用したSaga API
Oracle Saga APIがデータベースに実装され、Oracle Databaseで構築されたマイクロサービスのトランザクション・セマンティクスを実装するためのフレームワークを提供します。オーケストレータSagaフレームワークは、マイクロサービス全体でアトミック・データの一貫性を維持する方法を提供します。
Sagaは同時実行され、各参加者データベースでローカル・トランザクションを実行し、分散ACIDトランザクションよりも効率が高くなるため、アプリケーション・コードが簡素化され、開発者の生産性が向上します。
関連リソース
ドキュメントの表示に関する項
トランザクション・イベント・キュー(TxEventQ)伝播
キューはアプリケーション間でのイベントやメッセージの送受信に広く使用されており、マイクロサービスとして構築されることが増えています。トランザクション・イベント・キュー(TxEventQ)は、Oracle Databaseに組み込まれているキューです。キュー伝播を使用すると、複数のデータベースがイベントおよびメッセージのプロデューサおよびコンシューマとして機能できます。プロデューサ・アプリケーションは1つのデータベースのキューでイベントを送信し、リモート・データベースへのキュー伝播を設定することができ、コンシューマ・アプリケーションはリモート・データベースのキューでイベントを使用できます。
キュー伝播は、統合処理のために重要なイベントやデータを遠隔地から中央の場所に統合するために使用します。伝播は、トランザクション・イベント・キュー(TxEventQ)を信頼性が高くセキュアなイベント・メッシュとして操作するために使用し、複数のデータベースにまたがって複数のキューが関与し、企業全体にイベントおよびメッセージを確実に送信したり、権限のあるリモート・サブスクライバに送信します。TxEventQは、アプリケーションの構築およびテストを簡素化する1回かぎりのメッセージングをサポートしています。
関連リソース
ドキュメントの表示に関する項
一般
効率的な表のDDL変更通知
表でDDLが発生したときにアプリケーションに通知されるようになりました。
表メタデータを認識する必要があるアプリケーションは、DDL変更を継続的にポーリングせずに通知できます。
関連リソース
ドキュメントの表示に関する項
DBMS_PIPEを使用したセッション間通信の拡張
セッション間通信用のデータベース内メッセージング・フレームワークであるDBMS_PIPEは、広範なアプリケーションおよびユースケースをサポートするように拡張されました。DBMS_PIPEは、複数のデータベース・セッション間で同時読取りとメッセージを共有できるようになり、全体的なメッセージの管理の柔軟性が向上し、オブジェクト・ストア・バッファリングを介して永続性、およびインスタンス間通信とデータベース間通信がサポートされるようになりました。
より包括的なデータベース内セッション間メッセージングおよび通信を提供することで、より多くのアプリケーションがDBMS_PIPEを利用できるようになり、アプリケーションの信頼性とスケーラビリティが向上します。また、より複雑なアプリケーション・アーキテクチャが不要になるため、開発者の生産性が向上します。
関連リソース
ドキュメントの表示に関する項
GB18030-2022のサポート
Oracleクライアント文字セットZHS32GB18030の実装は、最新のGB18030-2022標準をサポートするように更新されています。
この機能により、Oracle Databaseは、中国で販売されているすべてのソフトウェア製品に必要なGB18030標準の最新版に準拠できます。
関連リソース
ドキュメントの表示に関する項
データ・ロード・モードのJDBC RSIサポート
RSIストリーム・モードでは、接続および準備された文インスタンスが各バッチに対して作成されます。新しいデータ・ロード・モードでは、インスタンスは一度作成され、スレッドのローカル・コンテキストに保存されます。
この機能により、Oracle Databaseへのデータ収集が高速化されます。
関連リソース
ドキュメントの表示に関する項
ODP.NET: 非同期プログラミング
ODP.NETでは、コア・ドライバとマネージド・ドライバで.NET Task Asynchronous Programming (TAP)モデルがサポートされています。
TAP、asyncキーワードおよびawaitキーワードのサポートにより、ODP.NETのデータ・アクセス操作は、より応答性が高くなり、非同期性に関する開発がより簡単になります。
関連リソース
ドキュメントの表示に関する項
Oracle Call Interface (OCI)での文字列索引付きPL/SQL連想配列のサポート
PL/SQL文字列索引付き連想配列が、Oracle Call Interface (OCI)でサポートされるようになりました。アプリケーションは、これらの連想配列をデータベースとクライアント・アプリケーションの間でネイティブに渡すことができ、このコレクション・タイプの作成、バインドおよび操作ができるようになります。
この機能により、より簡単でエラーが発生しにくいコード開発が可能になります。
関連リソース
ドキュメントの表示に関する項
無効化時のセッション終了
セッションの状態が無効化されたときに強制的にハード・セッションを終了するには、SESSION_EXIT_ON_PACKAGE_STATE_ERROR
をtrueに設定します。
状態無効化後にセッションを終了すると、アプリケーションが無効な状態の処理を誤ったときに発生する可能性のあるエラーを回避できます。
関連リソース
ドキュメントの表示に関する項
SQL*Plus ARGUMENTコマンド
新しいARGUMENT
コマンドにより、バッチ・スクリプトのユーザーは、明示的に値を設定していないスクリプト引数の変数をSQL*Plusで処理する方法を制御できます。このコマンドを使用すると、ユーザーは入力を求めるタイミングを制御したり、未設定の各スクリプト引数にデフォルト値を使用することができるようになりました。
この機能により、SQLスクリプト処理のリジリエンスおよび柔軟性が向上し、ユーザーがパラメータ値を変更する場合にスクリプト・アクションをカスタマイズできます。
関連リソース
ドキュメントの表示に関する項
SQL*Plus OERRコマンドおよび改善されたHELP構文
SQL*Plusの新しいOERR
コマンドでは、ユーザーが指定したエラー番号について、SQL*Plus内の、Oracleエラー・メッセージの原因と対処のテキストを表示できます。既存のHELP
コマンドも、同じテキストを表示するように拡張されています。
この機能により、開発者はエラー・メッセージの詳細情報をすぐに取得できます。
関連リソース
ドキュメントの表示に関する項
SQL*PlusのPINGコマンドおよびコマンドライン・オプション
新しいSQL*PlusのPING
コマンドおよび同等のコマンドライン・オプションを使用して、SQL*Plusからネットワーク・リスナーまたはデータベースへのラウンドトリップ時間を表示できます。
ネットワーク・リスナー・チェックは、管理者が基本的なネットワーク接続を確認するために使用する従来のtnsping
コマンドライン・ユーティリティと同等です。データベースのラウンドトリップ時間をチェックするオプションは、通常、データベース自体がアクセス可能であることを確認するための稼働ステータス・チェックとして使用されます。
この機能により、SQL*Plusのユーザーは基本的な接続を検証できます。これは、多くのトラブルシューティングまたはインストール後のシナリオで役立ちます。
関連リソース
ドキュメントの表示に関する項
SQL*Plus SET ERRORDETAILSコマンド
新しいSET ERRORDETAILS
コマンドを使用すると、ユーザーは、失敗シナリオでOracleエラーが生成されたときに追加情報を表示するかどうかを決定できます。表示可能な追加情報には、エラー・ヘルプURLとメッセージの原因および対処テキストがあります。
この機能により、迅速なトラブルシューティングが可能になるため、開発者のエクスペリエンスが向上します。
関連リソース
ドキュメントの表示に関する項
Unicode IVS (異体字シーケンス)のサポート
新しいUCA1210_JAPANESE_IVS照合により、Unicode異体字シーケンス(IVS)を日本語テキストで処理できます。SQL関数LENGTHC()
、SUBSTRC()
、INSTRC()
およびLIKEC()
も、IVSを単一の完全な文字としてカウントするように拡張されています。
この機能により、アプリケーション開発者はUnicode IVSをサポートするアプリケーションを構築できます。これは、日本などの市場にとって重要な要件であり、人名、地名、歴史的テキストなどの名前を含むデータの処理では、Unicode IVSで表される表意文字のサポートが必要になることがよくあります。
関連リソース
ドキュメントの表示に関する項
Java
データベースのJava: モジュールを含むJDK 11のサポート
このリリースでは、Oracle JVMインフラストラクチャは、Javaモジュール・システムを含むJDK 11機能をサポートするように再設計されました。
この機能により、データベース内のJava 11に基づくコードとライブラリの設計または再利用および実行を通じて生産性が向上します。
関連リソース
ドキュメントの表示に関する項
データベースのJava: Webサービス・コールアウトの機能拡張
この機能は、Webサービス・コールアウト・ユーティリティの拡張実装を提供します。Java、PL/SQLおよびSQLでは、より効率的なWebサービス・コールアウトを実行できるようになりました。
この機能では、Oracleデータベースで外部Webサービスを起動できるようにすることで、拡張性と生産性を改善します。
関連リソース
ドキュメントの表示に関する項
データベースのJava: 他のOSコールの無効化時のHTTPおよびTCPアクセス
Oracle JVMでは、オンプレミスおよびクラウドのデータベース・サービス(Autonomous Databaseなど)に対して、より柔軟なロックダウン・プロファイル構成が提供されるようになりました。HTTPおよびTCPコールアウトを他のOSコールとは別に有効化して、HTTPおよびTCPアクセスに依存するデプロイメントを許可できるようになりました。
この機能は、データベースで実行されているJavaコードに対する拡張性(HTTPコールアウトやTCPコールアウトの作成など)と強化されたセキュリティを結合します。
関連リソース
ドキュメントの表示に関する項
JavaScript
マルチリンガル・エンジンJavaScriptモジュールおよび環境
マルチリンガル・エンジン(MLE)モジュールおよび環境では、JavaScriptコードを保持してデータベースで管理できます。コール仕様は、PL/SQL関数をコールできるすべての場所で、MLEモジュールからJavaScript関数をコールする手段を提供します。
Oracle Databaseにスキーマ・オブジェクトとしてJavaScriptモジュールおよび環境を導入すると、開発者は、クライアント側のJavaScript開発で使用される確立された既知のワークフローに従うことができます。複雑なプロジェクトは、チーム・メンバーによって個別に処理される、より小さく管理しやすい部分に分割できます。
関連リソース
ドキュメントの表示に関する項
マルチリンガル・エンジン・モジュール・コール
マルチリンガル・エンジン(MLE)モジュール・コールを使用すると、開発者はSQLおよびPL/SQLからモジュールに格納されているJavaScript関数を呼び出すことができます。PL/SQLで記述されたコール指定は、JavaScriptをPL/SQLコード・ユニットにリンクします。
モジュール・コールのおかげで、開発者はPL/SQLファンクションがコールされる場所であればどこでもJavaScript関数を使用できます。
関連リソース
ドキュメントの表示に関する項
マルチリンガル・エンジンの実行後デバッグ
Oracle Multilingual Engine (MLE)を使用すると、開発者は、プログラムの処理中にランタイム状態をタイミングよく効率的に収集すること(実行後デバッグと呼ばれる方法)によって、JavaScriptコードをデバッグできます。コードの実行が終了したら、収集されたデータを使用してプログラムの動作を分析し、バグを検出して修正できます。
実行後デバッグは、監視対象コードを変更することなく、実行時にJavaScriptコード・ユニットからランタイム状態の情報を抽出する便利な方法です。
関連リソース
ドキュメントの表示に関する項
マルチリンガル・エンジンJavaScript SODA API
Simple Oracle Document Access (SODA)はNoSQL形式のAPIセットであり、これを使用すると、Oracle Databaseでドキュメント(特にJSON)のコレクションを作成および格納でき、SQLやデータベースでのドキュメントの格納方法を理解していなくても、そのコレクションの取得や問合せを行うことができます。MLEの導入により、クライアント側およびサーバー側の開発のために、JavaScriptでのSODAドキュメントのサポートが存在します。
JavaScriptでSimple Oracle Document Access (SODA) APIがサポートされていると、開発者はJSONをリレーショナルな方法で使用するかSQL以外の方法で使用するかを選択でき、開発プロセスが簡素化され、コードの移植性が高まります。
関連リソース
ドキュメントの表示に関する項
マルチリンガル・エンジンJavaScriptでのJSONデータ型のサポート
JavaScript Object Notation (JSON)のサポートは、Oracleデータベースの不可欠な部分です。Oracleでは、トランザクション、索引付け、宣言的問合せおよびビューを含むリレーショナル・データベースの機能を使用してJSONをネイティブにサポートしています。リレーショナル・モデルでJSONを操作するために、豊富なSQL関数のセットを使用できます。Oracle Multilingual Engine (MLE)はJSONを全面的にサポートしており、動的MLEとMLEモジュール・コールの両方で、JSONデータ型とのやり取りをサポートしています。
JSONおよびJavaScriptのオブジェクトは密接に関連しており、JavaScriptコードを使用してJSONを非常に簡単に操作できるような方法で自然な一致を形成しています。
関連リソース
ドキュメントの表示に関する項
アプリケーションの接続性
データベース・セッション状態のリセット
データベース・セッション状態のリセット機能は、リクエストの終了時にアプリケーションによって設定されたセッション状態をクリアします。RESET_STATE
データベース・サービス属性は、アプリケーションがこれらのセッションの状態を参照できないように、ダーティ・セッションをクリーン・アップします。この機能は、データベース・サービスを使用してデータベースに接続するすべてのアプリケーションに適用されます。
この機能では、データベース・サービスのRESET_STATE
属性を使用して、開発者がセッション状態を手動でクリーン・アップする必要がないように、各リクエストの終了時にセッション状態をクリーン・アップするようデータベースに指示します。この機能を使用すると、前のセッションのデータ・リークがないことを確認できます。
関連リソース
ドキュメントの表示に関する項
データベース常駐接続プール(DRCP)の暗黙的接続プール
この機能により、アプリケーションが明示的に接続を閉じない場合でも、アプリケーションの起動およびデータベース操作の終了時に、実行時にアプリケーション接続との間でDRCPサーバーを自動的に割り当てることができます。
この機能により、アプリケーション接続プーリングを使用しないアプリケーションのデータベース・リソースのスケーラビリティおよび効率的な使用が可能になります。
関連リソース
ドキュメントの表示に関する項
Traffic Directorモード(CMAN-TDM)でのOracle Connection Managerの暗黙的接続プーリング
アプリケーション接続プールを使用しないクライアント・アプリケーションは、アプリケーションを変更せずにCMAN-TDM Proxy Resident Connection Pooling (PRCP)を利用できます。
この新機能により、アプリケーションが明示的に接続を閉じない場合でも、アプリケーションが起動したときやデータベース操作を終了したときに、実行時にアプリケーション接続に対してPRCPサーバーを自動的に割り当てることができます。
この機能により、必要なPRCPプールのサイズを削減できます。これにより、Oracle Session PoolingまたはUniversal Connection Pooling (UCP)を使用しないアプリケーションでのリソースのスケーラビリティと効率的な使用が向上します。
関連リソース
ドキュメントの表示に関する項
Autonomous DatabaseのTraffic Directorモード(CMAN-TDM)プール構成設定のOracle Connection Managerの改善
Traffic Directorモード(CMAN-TDM)のOracle Connection Managerには、Autonomous Databaseで使用するための新しいProxy Resident Connection Pooling (PRCP)構成設定があります。PDBごとのPRCPプールを有効にして、各PDBの接続プールを統合し、同じPDBに属する複数のサービス間でこれらのセッションを共有できます。PRCPプールの最大サイズは、新しいcman.ora
パラメータTDM_PERPDB_PRCP_CONNFACTOR
および各PDBに割り当てられたOracle Compute Unit (OCPU)数に基づいて動的に構成できます。
PDBごとのPRCPモードでは、CMAN-TDMゲートウェイ内のプール数を減らすことで、データベース・リソースを効率的に使用できます。プール・サイズ設定をより自律的にできるため、手動での再構成の必要性が削減されます。
関連リソース
ドキュメントの表示に関する項
透過的アプリケーション・コンティニュイティに対するJDBC拡張機能
RDBMSサーバーがサポートする場合、この機能により、テンプレート(安定したリストア可能属性など)がクロスセッションになります(1つのテンプレートが複数のセッションで使用される場合があります)。この機能により、ほとんどのセッションで異なるために共有できないセッション状態を隔離することで、テンプレートの組合せ爆発を回避できます。
この機能を使用すると、ほとんどのアプリケーション・コンティニュイティ構成をサーバー側に移動することで、高可用性が簡略化されます。Javaアプリケーションは、最新のサーバー側拡張機能を透過的に継承します(つまり、コードが不要)。
関連リソース
ドキュメントの表示に関する項
アプリケーション構成プロバイダのJDBC拡張機能
Azure構成ストアやOCIオブジェクト・ストアなどの中央ストア、または汎用Webサーバーからアクセス可能なJSONファイルから、Javaアプリケーション構成を安全に取得するためのJDBCのインストゥルメンタライズです。
この機能により、マルチクラウド環境でのJavaアプリケーション構成が簡略化されます。
関連リソース
ドキュメントの表示に関する項
JDBCでのJAAS構成を使用したKerberos認証のサポート
デフォルトでは、Oracle JDBC Thinドライバは、Oracle JDKにバンドルされているデフォルトのKerberosログイン・モジュール(com.sun.security.auth.module.Krb5LoginModule
)を使用します。この機能を使用すると、デフォルトの動作をオーバーライドするアプリケーションで、接続プロパティを介してJAAS構成ファイルを指定できます。
この機能により、Kerberos認証の構成に柔軟性が提供されます。
関連リソース
ドキュメントの表示に関する項
JDBCでのユーザーおよびパスワードのプロパティを使用したKerberos認証のサポート
この機能を使用すると、ユーザーはユーザーおよびパスワードのプロパティを介してKerberosプリンシパルおよびパスワードを構成できます。JDBC Thinドライバは、アプリケーションのかわりにKerberosLoginModule
の初期化を処理します。
この機能により、Kerberos認証の構成が簡素化されます。
関連リソース
ドキュメントの表示に関する項
OCI IAMとAzure ADを含むOAuth 2.0のJDBCサポート
Oracle JDBCドライバは、Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) Cloud ServiceまたはAzure Active DirectoryのOAuth 2.0認証をサポートしています。
この機能により、ユーザー名/パスワードなどの従来の資格証明メカニズムまたはKerberosやRadiusなどの強力な認証メカニズムのかわりに、マルチクラウド環境(OCI、Azure)でOAuth 2.0を使用することで、Oracle Autonomous DatabaseへのJavaアプリケーション認証が簡素化されます。
関連リソース
ドキュメントの表示に関する項
データベース常駐接続プール(DRCP)用の複数の名前付きプール
データベース常駐接続プーリング(DRCP)では、複数の名前付きプールがサポートされるようになりました。新しいDBMS_CONNECTION_POOL.ADD_POOL()
およびDBMS_CONNECTION_POOL.REMOVE_POOL()
プロシージャが追加されました。Oracle Net接続文字列構文が拡張されたため、各接続にプール名を指定できます。既存のプロシージャを使用して、名前付きプールを起動、停止または構成できます。既存のGV$
ビューおよびV$
ビューには、使用中の該当するプール名が表示されます。
複数のプールを保持することで、DRCPプールの使用量をより詳細に制御できます。これは、一部のアプリケーションが単一のプールを占有する状況を防ぐのに役立ちます。
関連リソース
ドキュメントの表示に関する項
ODP.NET: アプリケーション・コンティニュイティ
ODP.NETコア・ドライバおよびマネージド・ドライバで、アプリケーション・コンティニュイティ(AC)と透過的アプリケーション・コンティニュイティ(TAC)がサポートされるようになりました。ACやTACを使用すると、リカバリ可能な停止の後に未完了データベース・セッション(トランザクションを含む)がリカバリされることで、エンド・ユーザーとアプリケーションに停止が認識されることがなくなります。このリカバリは透過的であり、エンド・ユーザーにはわずかな実行遅延しか認識されず、認識できるような停止やエラーは発生しません。
ACやTACによって、計画外停止と計画的メンテナンスの両方について、ユーザー・エクスペリエンスが向上します。それらにより、Oracleデータベースを使用するシステムおよび.NETアプリケーションのフォルト・トレランスが向上します。開発者は、コードを変更することなく、既存の.NETアプリケーションとともにACやTACを使用できます。
関連リソース
ドキュメントの表示に関する項
ODP.NET: OpenTelemetry
OpenTelemetryは、テレメトリ・データを計測、生成、収集およびエクスポートするための一般的なオープンソースの可観測性フレームワークです。複数のサービスがトレース、メトリックおよびログの統合バージョンを提供できるように、共通の仕様とプロトコルを提供します。
OpenTelemetryの可観測性と標準をサポートするために、多数の管理対象ODP.NETおよびODP.NETコアAPIを備えています。開発者およびオペレータは、OpenTelemetryで収集されたODP.NETメトリックをカスタマイズできます。
OpenTelemetryのサポート、ODP.NET操作がクラウド・コンピューティングでどのように相互作用するかのモニタリング、追跡および分析により、マイクロサービスおよび分散システムは、この業界標準を使用してより簡単になりました。
関連リソース
ドキュメントの表示に関する項
ODP.NET: パイプライン処理
ODP.NET Coreドライバおよび管理対象ドライバでは、そのデータベース通信でパイプライン処理がサポートされています。これにより、ODP.NETでデータベース・レスポンスを待機中であっても、後続のデータベース・リクエストが透過的に送信されキューに入れられるようになります。
パイプライン処理を利用すると、アプリケーション全体のパフォーマンスが向上し、データベース・リソースをより効果的に使用できるようになります。ODP.NETは、後続のリクエストを送信する前に、データベースが以前のリクエストから応答するまで待つ必要がありません。
関連リソース
ドキュメントの表示に関する項
ODP.NET: 分割パーティション・セットのシャーディング
ODP.NETは、コア・ドライバおよびマネージド・ドライバでの分割パーティション・セット・イベントのシャーディングをサポートします。分割パーティション・セットは、指定されたスーパー・シャーディング・キー内のデータを別のシャード領域に移動するときに実行されるシャーディング・データベースでの操作です。
ODP.NET接続プールは、これらのパーティション・セット間で分割および移動されるチャンク内のデータに関するデータベース・イベントを受け取ります。プロバイダは、使用する正しい接続がエンド・ユーザーに提供されるように、そのシャーディング・トポロジを適切かつ透過的に更新します。
関連リソース
ドキュメントの表示に関する項
Oracle Call Interface (OCI)のパイプライン化された操作
Oracle Call Interface (OCI)が、操作のパイプライン化をサポートするように拡張されました。パイプライン化を使用すると、アプリケーションはサーバーからのレスポンスを待機することなく、複数のデータベース操作を送信できます。アプリケーションは、パイプライン化された操作に対するレスポンスが収集されるタイミングを制御します。これにより、データベースが結果を生成している間、アプリケーションはブロックされずに作業を続行できます。
この機能は、OCIを使用するアプリケーションと言語の全体的なスループットおよび応答性を高めるために使用します。パイプライン化により、従来のリクエスト/レスポンス・モデルと比較して、サーバーおよびクライアントのアイドル時間が短縮されます。
関連リソース
ドキュメントの表示に関する項
Oracle Call Interface (OCI)セッション・プール統計
Oracle Call Interface (OCI)セッション・プールの使用状況統計を表示できます。
この統計は、パフォーマンス向上のためのプール・サイズのチューニングに役立ち、接続のライフサイクルを理解するのに役立ちます。
関連リソース
ドキュメントの表示に関する項
Traffic Directorモード(CMAN-TDM)のOracle Connection Managerによるダイレクト・パス・アプリケーションのサポート
Oracle Databaseの現在のスキーマの設定およびダイレクト・パスAPI機能は、Oracle Connection ManagerでTraffic Directorモード(CMAN-TDM)でサポートされるようになりました。
この機能により、より多くのクライアント・アプリケーションでCMAN-TDM接続の多重化機能を利用できます。
関連リソース
ドキュメントの表示に関する項
Traffic Directorモード(CMAN-TDM)でのOracle Connection Managerの使用状況統計
新しいV$TDM_STATS
ビューを使用して、CMAN-TDMのPDB当たりのプロキシ常駐接続プール(PRCP)の使用状況統計を問い合せることができます(接続プール内のアクティブなクライアント接続の数、ビジー状態および空きサーバー接続の数、最大接続数など)。
使用状況統計を提供すると、CMAN-TDMのモニターおよびチューニングの向上に役立ちます。
関連リソース
ドキュメントの表示に関する項
再開可能カーソル
再開可能なカーソル(複数のトランザクションにまたがるカーソル)は、透過的アプリケーション・コンティニュイティでリプレイできます。このようなカーソルは、バッチ処理(レコードのセットのロードなど)で一般的であり、透過的アプリケーション・コンティニュイティによるリプレイ時にカーソルを再配置するために特別な処理が必要です。
再開可能なカーソルに依存するアプリケーション(複数のコミットにまたがるアプリケーション)に対する透過的アプリケーション・コンティニュイティによって、幅広くサポートされています。これらのカーソルは、繰返しバッチ操作では非常に一般的で、レコード・セットの更新と挿入をループして、レコード・セットごとにコミットします。これで、TACは中断された(まだコミットされていない)トランザクションをリプレイできるようになります。
関連リソース
ドキュメントの表示に関する項
データベース常駐接続プール(DRCP)の接続ドレインの停止
DBMS_CONNECTION_POOL.STOP_POOL()
の新しいオプションのDRAINTIME
引数を使用すると、指定された接続ドレイン時間後にアクティブなDRCPプールを閉じるか、接続がアイドル状態になるのを待たずにすぐに閉じることができます。
この機能により、DBAはDRCPの使用と構成をより適切に制御できます。
関連リソース
ドキュメントの表示に関する項
シャード・データベースを使用したXAトランザクションのUCPサポート
この機能により、WebLogicサーバー・トランザクション・マネージャによって管理されるeXtendedアーキテクチャ(XA)トランザクションにシャード・データベース接続が参加できます。
この機能により、信頼できるXAトランザクションとシャード・データベースのスケーラビリティを結合できます。
関連リソース
ドキュメントの表示に関する項
データベース・ドライバAPIの機能拡張
データベース注釈のJDBCによるサポート
注釈は、アプリケーション・メタデータをデータベースに一元的に格納するメカニズムです。注釈は、作成時(CREATE)または変更時(ALTER)に指定できます。個々の注釈には名前とオプションの値があります。名前と値はどちらも自由形式テキストフィールドです。スキーマ・オブジェクトは複数の注釈を持つことができます。JDBCは、getAnnotations()
メソッドに2つの署名を提供します(次を参照)。指定された表またはビューに関連付けられている注釈を返します。指定されたオブジェクトに注釈がない場合、null
を返します。
getAnnotations?(java.lang.String objectName, java.lang.String domainName, java.lang.String domainOwner) throws java.sql.SQLException
getAnnotations?(java.lang.String objectName, java.lang.String columnName, java.lang.String domainName, java.lang.String domainOwner) throws java.sql.SQLException
この機能により、アプリケーションとマイクロサービス間でメタデータを共有できるため、メタデータの管理と生産性が向上します。
関連リソース
ドキュメントの表示に関する項
JDBCでのパイプライン化されたデータベース操作のサポート
旧リリースでは、JDBCドライバは、現在のコールが完了するまで別のデータベース・コールを開始できませんでしたが、非同期のリアクティブ・プログラミングにより、その間にJavaアプリケーションは非データベース操作を実行できました。このリリースでは、データベース・サーバーとOracle JDBC-Thinの両方でデータベース操作のパイプライン化をサポートしています。Javaアプリケーションは、前述のコールの戻りを待機せずに、複数のSQLリクエストを非同期でサーバーに送信できるようになりました。
Javaリアクティブおよび非同期プログラミング(JDBCリアクティブ拡張、リアクティブ・ストリーム(R2DBおよび仮想スレッド))とデータベースでのパイプライン化のサポートを組み合せると、スループットが高まります。
関連リソース
ドキュメントの表示に関する項
JDBCによる自己駆動型診断機能のサポート
この機能により、ロギング以外のJARファイル(たとえば、ojdbcXX.JAR
)からロギング目的でデバッグJARファイル(たとえば、ojdbcXX_g.JAR
)に切り替える必要がなくなります。さらに、接続ごとのロギング、テナント・レベルでのロギング、グローバルなロギングの3つの方法でロギングが有効になります。
この機能により、生産性が向上し、Javaアプリケーションの使いやすさが向上します。本番jarからデバッグjarに切り替える必要がなくなり、Javaアプリケーションのデバッグが大幅に簡素化されます。
関連リソース
ドキュメントの表示に関する項
JDBCでのSQL BOOLEANデータ型のサポート
この機能では、oracle.jdbc.OracleType Enum
およびDatabaseMetadata
の新しいBOOLEAN
データ型を介して、Oracle RDBMS BOOLEAN
データ型がJavaに公開されます。また、この機能により、文字データ型および数値データ型をBOOLEAN
データ型に暗黙的に変換することもできます。
Javaアプリケーションでは、標準のJDBC BOOLEAN
データ型に対する新しいJDBCサポートを利用できます。利点として、移植性が向上することと、文字および数値をBOOLEAN
に暗黙的に変換することで開発が容易になることが挙げられます。
関連リソース
ドキュメントの表示に関する項
ODBCでのSQL BOOLEANデータ型のサポート
ODBCでは、新しいSQL BOOLEAN
データ型がサポートされるようになりました。
SQL BOOLEAN
データ型を使用すると、アプリケーションで状態をより明確に表すことができます。
関連リソース
ドキュメントの表示に関する項
Oracle Call Interface (OCI)でのSQL BOOLEANデータ型のサポート
Oracle Call Interface (OCI)では、新しいSQL BOOLEAN
データ型の問合せおよびバインドがサポートされるようになりました。
SQL BOOLEAN
データ型を使用すると、アプリケーションで状態をより明確に表すことができます。
関連リソース
ドキュメントの表示に関する項
プリコンパイラでのSQL BOOLEANデータ型のサポート
Pro*CおよびPro*COBOLプリコンパイラでは、新しいSQL BOOLEAN
データ型の問合せおよびバインドがサポートされるようになりました。
文字の列を使用してYまたはNを示すかわりに、新しいデータ型を使用すると、アプリケーションでブール状態を表現することが簡単になります。
関連リソース
ドキュメントの表示に関する項
UCP非同期拡張
ユニバーサル接続プール(UCP)は、非同期(リアクティブ)データベース・コールで拡張されています。
この機能拡張により、高いスケーラビリティとスループットがJavaアプリケーションに提供されます。
関連リソース
ドキュメントの表示に関する項
UCPによる自己駆動型診断機能のサポート
新しいユニバーサル接続プール(UCP)診断機能には、次の機能があります。
- ロギングが有効な場合(デフォルトでは無効)、ログ・レコードはインメモリー・リング・バッファに書き込まれます。
- トレースは、デフォルトで有効になっています。トレース・イベントは、リング・バッファをデータ・ソース固有のバッファまたは共通バッファにダンプします。
この機能により、UCPを使用したJavaアプリケーションの生産性(リアルタイム・デバッグなど)と使いやすさが向上します。
関連リソース
ドキュメントの表示に関する項