『Oracle Call Interfaceプログラマーズ・ガイド』のこのリリースでの変更点

内容は次のとおりです。

  • Oracle Databaseリリース18c、バージョン18.1での変更点

Oracle Databaseリリース18cバージョン18.1での変更点

Oracle Databaseリリース18c、バージョン18.1での変更点です。

Oracle Call Interface (OCI)での変更点は次のとおりです。

新機能

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.orasqlnet.oraoraaccess.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()」を参照してください。

非推奨となった機能

Oracle Databaseリリース18c、バージョン18.1で非推奨となった機能です。

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

  • OCI_DTYPE_RSET: 結果セット記述子です。