『Oracle Call Interfaceプログラマーズ・ガイド』のこのリリースでの変更点
内容は次のとおりです。
-
Oracle Databaseリリース18c、バージョン18.1での変更点
Oracle Databaseリリース18cバージョン18.1での変更点
Oracle Databaseリリース18c、バージョン18.1での変更点です。
新機能
Oracle Database リリース18c、バージョン18.1の新機能
このリリースの新機能は次のとおりです。
-
OCIでのSimple Oracle Document Access(SODA)のサポート
SODA for Cは、Oracle Call Interface (OCI)の一部であるC APIです。これは、Simple Oracle Document Access (SODA)を実装します。これを使用して、あらゆる種類のドキュメントについて作成、読取り(取得)、更新および削除(CRUD)操作を実行でき、これを使用してJSONドキュメントを問い合せることができます。他のOCIプログラムのコンパイルと同じ方法で、SODA for Cを使用するプログラムをコンパイルします。SODAはNoQL形式のAPIセットであり、これを使用すると、Oracle Databaseのドキュメントのコレクションを作成および格納でき、Structured Query Language (SQL)や、ドキュメントのデータがどのようにデータベースに格納されているかを理解していなくても、そのコレクションの取得や問合せを行うことができます。Oracle Databaseでは、JSONデータの格納および問合せをサポートしています。この機能にアクセスするには、特殊なJSON SQL演算子を含むStructured Query Language (SQL)が必要です。SODA for Cでは、SQL/JSONプログラミングの複雑化が抑えられます。
詳細は、「ハンドル」、「SODAコレクション・ハンドル属性」、「SODAドキュメント・ハンドル属性」、「OCI SODA関数」、「SODAドキュメント・ハンドル属性」、「SODAコレクション・ハンドル属性」を参照してください。
https://docs.oracle.com/en/database/oracle/oracle-database/18/adsdc/index.htmlを参照してください。
-
OCIでの操作レベルのタイムアウトまたは操作用ファイングレイン・タイマーのサポート
新しいサービス・コンテキスト属性
OCI_ATTR_CALL_TIMEOUT
:OCIAttrSet()
関数を使用して、ミリ秒単位のタイムアウト値を設定します。アプリケーションで、データベースへのネットワーク・コールのタイムアウト値を指定できます。詳細は「OCI_ATTR_CALL_TIMEOUT」を参照してください。
-
OCIでのHAインフラストラクチャ内のアプリケーション・コンティニュイティのサポート。これには次のものがあります。
-
OCI動的バインドのサポートが追加され、数値、文字、日付/時刻データ型を定義します。これは、OCI APIの
OCIBindDynamic()
およびOCIDefineDynamic()
がアプリケーション・コンティニュイティをサポートするように拡張されていることを意味します。 -
オブジェクトのバインドおよび定義のサポートが追加されています。これは、OCI APIの
OCIBindObject()
、OCIDefineObject()
およびOCITypeByName()
がアプリケーション・コンティニュイティをサポートするように拡張されていることを意味します。 -
LOBコールの実行時に、アプリケーション・コンティニュイティは、停止によって中断されたLOBコールを再開することで、接続失敗の処理をサポートするようになりました。
-
OCIは
AUTO
の新しいアプリケーション・コンティニュイティFAILOVER_TYPE
をサポートするようになりました。これは、セッション・ステートが明示的なリクエスト境界でリストア可能と認識された場合、フェイルオーバーのみを試行します。
詳細は、「アプリケーション・コンティニュイティの追加サポートについて」を参照してください。
-
-
OCIでのバインド変数の照合のサポート
OCIAttrSet()
を使用して、サポートされる照合IDのいずれかへのバインド変数ハンドルにOCI_ATTR_COLLATION_ID
属性を設定できます。OCI_ATTR_COLLATION_ID
を含む照合セットは、SQL文内の対応するプレースホルダ式(ホスト変数参照)の導出された照合として使用されます。詳細は「OCI_ATTR_COLLATION_ID」を参照してください。
-
OCIでのTraffic DirectorモードのOracle Connection Managerのサポート
Traffic DirectorモードのOracle Connection Managerは、データベース・クライアントとデータベース・インスタンスの間に配置されるプロキシです。Oracle Database 11gリリース2 (11.2)以降でサポートされているOCIクライアントは、それに接続できます。Traffic DirectorモードのOracle Connection Managerにより、計画済および計画外のデータベース・サーバー停止の高可用性(HA)、接続の多重化のサポート、およびロード・バランシングが向上します。
Traffic DirectorモードのOracle Connection Managerでは、OCIクライアント
oraaccess.xml
構成ファイルを使用して、クライアントとデータベース・インスタンスとの間のプロキシを提供する1つ以上のサービスのプロキシ常駐接続プールを構成できます。この機能により、計画済停止と計画外停止の両方で高可用性およびパフォーマンスが向上します。詳細は、「Traffic DirectorモードのOracle Connection Managerの使用について」および「oraaccess.xml内のOCIセッション・プールの構成について」を参照してください。
-
新しいLOB記述子の属性:
OCI_ATTR_LOB_TYPE
: LOB記述子からLOBタイプを取得するために使用されます。詳細は、「OCI_ATTR_LOB_TYPE」を参照してください。
-
新しいLOB記述子属性:
OCI_ATTR_LOB_REMOTE
: LOB記述子がローカル・データベース表に属しているか、リモート・データベース表に属しているかを判断します。詳細は、「OCI_ATTR_LOB_REMOTE」を参照してください。
-
OCI_ATTR_STMT_TYPE
: 次の追加の文属性の型が1つあります。-
OCI_STMT_MERGE
が、Oracle Databaseリリース18c、バージョン18.1以上で追加されています。
これらの文属性の型の詳細は、「文の準備について」および「OCI_ATTR_STMT_TYPE」を参照してください。
-
-
新しいユーザー・セッション・ハンドル属性:
OCI_ATTR_AUTOTUNING_ENABLED
: クライアント・ユーザー・セッションがOCIクライアント文キャッシュでOCI自動チューニング有効になっているかどうかを確認します。詳細は「OCI_ATTR_AUTOTUNING_ENABLED」を参照してください。
-
Linux、UNIXおよび macOSでInstant Clientの基本および基本軽量のzipファイルで、
libclntsh
およびlibocci
のシンボリック・リンクが事前作成されるようになりました。詳細は、「ZIPファイルから、RPMから、およびOracle Universal Installerからのインストール」の「ノート」を参照してください。
-
Instant Clientの基本および基本軽量のzipおよびRPMで、
network/admin
ディレクトリを事前作成するようになりました。ここに、tnsnames.ora
、sqlnet.ora
、oraaccess.xml
などのオプション・ファイルを配置できます。詳細は「Oracle Instant Client用のSDK」の「ノート」を参照してください。
-
新しいセッション・プール・ハンドル属性:
OCI_ATTR_SPOOL_MAX_USE_SESSION
: セッションが自動的に破棄されるまでに1つのセッションがセッション・プールからチェックアウトできる最大回数を設定します。詳細は「OCI_ATTR_SPOOL_MAX_USE_SESSION」を参照してください。
-
OCI_ATTR_COL_PROPERTIES
属性の2つの新しい列プロパティのフラグ。次の属性があります。-
OCI_ATTR_COL_PROPERTY_IS_LPART
: これがcontainer_map
使用可能オブジェクトに対して暗黙的に生成された論理パーティション列であるかどうかを示します。 -
OCI_ATTR_COL_PROPERTY_IS_CONID
: これがCONTAINERS()
によって暗黙的に生成されたCON_ID
列であるか、拡張データ・リンクに対して暗黙的に生成されたORIGIN_CON_ID
列であるかを示します。
詳細は、「列属性」を参照してください。
-
-
サーバー・バージョンのマクロでの変更点
データベース・バージョンのコンポーネントはリリース18c、バージョン18.1以上で変更されたため、各コンポーネントを抽出するために提供された新規クライアント・マクロがあります。その結果、
OCIClientVersion()
コールのシグネチャが変更され、新しいOCIServerRelease2()
コールがあります。バージョン18.1以上では、これらのマクロは、新しいリリース・ネーミング計画に従って名前が付けられています。詳細は、「OCIClientVersion()」および「OCIServerRelease2()」を参照してください。