概要

このドキュメントでは、TimesTen 22.1.1.20.0に関する最新情報、および正規のドキュメントにはまだ記載されていない情報について説明します。

このドキュメントの最新版は、インストール・ディレクトリ内にあるREADME.htmlファイルです。リリース・ノートは、ドキュメント・ライブラリでも更新されます。

Oracle TimesTen In-Memory Databaseのドキュメント・セットは、TimesTenドキュメントのWebサイトを参照してください。

Oracle TimesTen In-Memory Databaseをインストールするには、ディストリビューション・ファイルをunzipします。Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイドTimesTen Classicでのインストール・プロセスの概要またはOracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドTimesTen Scaleoutの前提条件およびインストールを参照してください。

ノート:

TimesTenのリリース番号は、TimesTenユーティリティの出力、ファイル名およびディレクトリ名などのアイテムに反映されます。これらは、すべてのマイナーまたはパッチ・リリースで変更される可能性があり、ドキュメントを常に最新の状態に保つことはできません。このドキュメントでは、主として、出力、ファイル名、ディレクトリ名などの基本的な形式を示すように努めています。ttVersionユーティリティを実行すると、現在のリリース番号を確認できます。

TimesTen XE

Oracle TimesTen In-Memory Database Express Edition (TimesTen XE)は、TimesTenの無料バージョンです。TimesTen XEの最新リリースは22.1.1.11.0です。TimesTen XEには、TimesTenで使用可能なすべての機能およびバグ修正が含まれていますが、Oracle TimesTen In-Memory Databaseクイック・スタート・ガイドfor Express Editionに記載されている制限が適用されます。

このドキュメントは次のトピックで構成されています。

リリース22.1.1.19.0からリリース22.1.1.20.0での変更点

  • デーモンに適切なメッセージを送信していないソケット接続が多数あった場合に、デーモンのハンドラ内のソケットルーチンが永久に待機する問題が修正されました。(Oracle Bug#34906849)

  • TimesTen JMS/XLAでは、2つのJMSプロバイダがサポートされるようになりました。1つはJava Message Service APIバージョン1.1に基づくもので、もう1つはJakarta Messaging APIバージョン1.1に基づくものです。『Oracle TimesTen In-Memory Database Java開発者ガイド』XLAへの接続を参照してください。(Oracle Bug#35804284)

リリース22.1.1.18.0からリリース22.1.1.19.0での変更点

新機能

  • このリリースには、TimesTen Kubernetesオペレータの新しいバージョンが含まれています。TimesTen Kubernetesオペレータは、次の新機能を提供します:

    • Helmを使用したTimesTenオペレータおよびTimesTen ClassicのプロビジョニングおよびアップグレードをサポートするHelmチャート。

    • TimesTen KubernetesオペレータがPrometheusにメトリックを公開するようになりました。

    • Prometheusオペレータがクラスタにデプロイされている場合、TimesTen Kubernetesオペレータは、TimesTenデータベースおよびTimesTenオペレータをPrometheus構成に自動的に追加できます。

  • このリリースには、Apache ZooKeeper 3.8.3が含まれています。TimesTen Scaleout用に使用するZooKeeperサーバーをこの新バージョンにアップグレードすることをお薦めします。

バグ修正

  • ディスク領域が不足しため停止した後にレプリケーション・ログの保持が再開されなかった問題が修正され、より多くのディスク領域が使用可能になりました。(Oracle Bug#35832351 - Oracle Bug#35775001のフォワード・ポート)

  • レプリケーション・ログ・カーソルが進行できなかった問題が修正されました。これにより、ログ・ファイルがアクティブ・データベースに蓄積され、後でログ障害しきい値を超えるとエラーが発生します。(Oracle Bug#35851919 - Oracle Bug#35647789のフォワード・ポート)

  • ロールバック・ログ・レコードがないため、レプリケーション・ログの保持が進行できなかった問題が修正されました。(Oracle Bug#35851943 - Oracle Bug#35774580のフォワード・ポート)

  • 複製データベースでは、ttRepAdmin -duplicateコマンドの-delXlaオプションを使用してデータベースを複製した場合でも、元のデータベースのXLAサブスクリプションを含む表を削除できなかったという問題が修正されました。(Oracle Bug#35895266)

  • アサーション障害の原因となる可能性のあるログ・インサータとログ・フラッシャ間のレース条件が修正されました。(Oracle Bug#35898402 - Oracle Bug#35890807のフォワード・ポート)

  • このリリースでは、CTNラップアラウンド操作のデーモン・ログにエラーが出力されなくなりました。(Oracle Bug#35898856 - Oracle Bug#35896092のフォワード・ポート)

リリース22.1.1.17.0からリリース22.1.1.18.0での変更点

  • このリリースには、checkAdminPrivileges.sqlスクリプトが含まれるようになりました。このスクリプトは、特定のキャッシュ・グループ処理が実行されたときに、Oracle Databaseデータのキャッシュ管理に使用されるOracle Databaseオブジェクトを自動的に作成するのに必要な権限がキャッシュ管理ユーザーに付与されているかどうかをチェックします。このスクリプトは、付与された権限がgrantCacheAdminPrivileges.sqlスクリプトで付与された権限であることを確認します。(Oracle Bug#33354969)

  • コミット・チケット番号(CTN)のラップアラウンドによってデータベースが無効になるかレプリケーション・エージェントで再起動の問題が発生する可能性があるという問題が修正されました。このリリースの修正は、この問題の以前の修正に関する問題を修正します。(Oracle Bug #34265439 - Oracle Bug #34265447、Oracle Bug #35239124、Oracle Bug #34237513、Oracle Bug #35560190、Oracle Bug #35523432、Oracle Bug #35775194のフォワード・ポート)

  • 受信側でTLSがオプションとしてのみ有効になっている場合、ttRepAdmin -duplicateコマンドが失敗する問題は修正されました。(Oracle Bug#35728217)

リリース22.1.1.16.0からリリース22.1.1.17.0での変更点

  • 以前は、クライアントDSNでユーザー名とパスワードを個別に指定するか、接続属性を使用して、TimesTenデータベースへの接続をオープンする場合にのみ、ユーザーの資格証明を指定できました。キャッシュ管理ユーザーの場合、クライアントDSNでキャッシュ管理ユーザー名とそのパスワードの両方をTimesTenデータベースとOracleデータベースに個別に指定するか、接続属性を使用して資格証明を提供できました。これで、接続を開くときにウォレットの場所が指定されているOracle Wallet内にユーザー資格証明を格納できるようになりました。推奨される方法は、資格証明をOracle Walletに格納することです。

    この新しい方法は、次の機能を実装して有効にしました。

    • ttUserユーティリティの新機能。従来、ttUserでは、PWDCrypt接続属性のハッシュ・パスワード値を生成できました。これで、ユーザーIDとパスワードをユーザー管理のOracle Walletに格納することもできます。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』資格証明を使用したOracle Walletを使用した接続を参照してください。

    • 新しいPwdWallet一般接続属性。ユーザー管理のOracle Walletからユーザー名および関連するパスワードを取得できます。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』資格証明を使用したOracle Walletを使用した接続および『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』接続可能ファイルの作成を参照してください。

    • 新しいCacheAdminWalletキャッシュの最初の接続属性。ttCacheUidPwdSet組込みプロシージャに登録されているOracleキャッシュ管理ユーザーの資格証明が、システム管理のOracle Walletに格納されるように指定します。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』キャッシュ管理ユーザー名およびパスワードの登録を参照してください。

  • TimesTenは、FIPS 140-2暗号化をサポートするようになりました。クライアント/サーバーおよびレプリケーション接続の場合は、新しいssl_fips_140構成属性を使用してFIPS 140-2モードを有効にできます。TimesTenプロセス間の対称暗号化の場合は、新しいdb_fips_140構成属性を使用します。『Oracle TimesTen In-Memory Databaseリファレンス』TimesTenインスタンスの構成ファイルを参照してください。

  • 新しいttCacheInfoユーティリティは、自動リフレッシュを使用したキャッシュ・グループにキャッシュされているすべてのOracle Database表の変更ログ表情報、およびキャッシュされたOracle Database表に対して発行されたDDL文の追跡に使用されるOracle Databaseオブジェクトに関する情報を返します。このユーティリティによって提供される出力は、主にTimesTenカスタマ・サポートで使用することを目的としています。『Oracle TimesTen In-Memory Databaseリファレンス』ttCacheInfoを参照してください。

リリース22.1.1.15.0からリリース22.1.1.16.0での変更点

  • このリリースでは、CREATE CACHE GROUP文の実行時間が短縮されます。(Oracle Bug#35202382)

リリース22.1.1.14.0からリリース22.1.1.15.0での変更点

  • 以前のリリースでのプリフェッチ・バッファ機能の向上によって発生するようになったパフォーマンスの問題が修正されました。これはSQLAllocStmt ODBC関数のコールに影響がありました。(Oracle Bug#35394119)

  • マテリアライズされた結果で一時索引が毎回作成されるという問題が修正されました。この修正は、以前のリリースからの動作変更であり、TmpIdxForMatResオプティマイザ・フラグまたはTT_TmpIdxForMatRes文レベルのヒントを使用して制御できます。TmpIdxForMatResのデフォルト値は0です。(Oracle Bug#35464766)

  • ログ・フラッシャとログ・バッファ・インサータの間のラッチ・デッドロックが原因でデータベースがハングするという問題が修正されました。(Oracle Bug#35469376 - Oracle Bug#35449647のフォワード・ポート)

リリース22.1.1.13.0からリリース22.1.1.14.0での変更点

  • AIXで、ログ・レコードの挿入によってアサーション障害が発生する問題が修正されています。(Oracle Bug#35393136)

リリース22.1.1.12.0からリリース22.1.1.13.0での変更点

  • 外部キー関係のリストア中にttMigrate -r -numthreadsユーティリティでエラーが発生するという問題が修正されました。(Oracle Bug#35374194)

リリース22.1.1.11.0からリリース22.1.1.12.0での変更点

新機能

  • このリリースでは、キャッシュ操作でOracle Databaseリリース21cがサポートされるようになりました。

  • このリリースには、Apache ZooKeeper 3.8.1が含まれています。TimesTen Scaleout用に使用するZooKeeperサーバーをこの新バージョンにアップグレードすることをお薦めします。

バグ修正

  • SSLライブラリへのパスがTimesTenインスタンス構成ファイルtimesten.confで指定されていない場合に、SNMPバージョン1トラップが機能しなかった問題が修正されています。(Oracle Bug#34306035)

  • 表外列を含む行の挿入または削除、あるいは表外列の更新を繰り返すと使用中のデータベース・サイズが大きくなるという問題が修正されました。(Oracle Bug#35189594 - Oracle Bug#35189403のフォワード・ポート)

  • 以前のリリースのTimesTen Classicでは、リストア操作を正常に実行するには、外部キー依存性がある表をまとめてリストアする必要がありました。この問題は修正されました。(Oracle Bug#35242158)

  • DMLワークロードが非常に大きい状態でデータベースが動作していた場合に制約違反などのSQL例外が発生するとそのデータベースが無効になる可能性があるという問題が修正されました。(Oracle Bug#35280185 - Oracle Bug#35245636のフォワード・ポート)

リリース22.1.1.10.0からリリース22.1.1.11.0での変更点

  • このリリースはTimesTen XEリリースであり、リリース22.1.1.10.0で使用可能なすべての機能とバグ修正が含まれています。

リリース22.1.1.9.0からリリース22.1.1.10.0での変更点

  • 多数の表外データがあるトランザクションのレプリケーションによって受信側データベースでエラーTT16031が発生する可能性がある問題が修正されました。(Oracle Bug#34747475)

    この修正を有効にするには、受信側データベースでReplReceiverMultVCBuffersパラメータの値を1に設定します。

    CALL ttDBConfig('ReplReceiverMultVCBuffers','1');
  • このリリースでは、レプリケートされたトランザクションが送信および適用されるタイミングについて、新しいメトリックがV$REPSTATSビューに追加されました。(Oracle Bug#34861845)

  • メイン・デーモンがメモリー・ページへのタッチを終了できるようになる前に事前に終了した場合に、アタッチ解除済のメモリー・セグメントが削除されない問題が修正されました。(Oracle Bug#34904785)

  • 以前のリリースでは、libtinfoライブラリへのsymlinkが欠落したシステムにおいて、ファイルが(@を使用して)ソーシングされた場合にttIsqlユーティリティの行編集機能が動作せず、ttIsqlがクラッシュしていました。この問題は修正されています。(Oracle Bug#35069962)

リリース22.1.1.8.0からリリース22.1.1.9.0での変更点

  • このリリースはTimesTenの無制限バージョンであり、リリース22.1.1.8.0で使用可能なすべての機能とバグ修正が含まれています。

リリース22.1.1.7.0からリリース22.1.1.8.0での変更点

新機能

  • このリリースは、TimesTen XEリリースです。Oracle TimesTen In-Memory Databaseクイック・スタート・ガイドfor Express Editionを参照してください。

  • このリリースには、TimesTen Kubernetesオペレータの更新が含まれています。オペレータには、次のような重要な新機能が含まれています。

    • TimesTen Scaleoutオブジェクトをモニターおよび管理する機能。

    • TimesTen Scaleoutでのキャッシュのサポート。

    • CPUおよびメモリーのリクエストおよび制限を指定する機能。

    Oracle TimesTen In-Memory Database Kubernetesオペレータ・ユーザーズ・ガイドOracle TimesTen Kubernetesオペレータの概要を参照してください。

バグ修正

  • XLAアプリケーションが他のデータベース接続の前に2つの安全なトランザクションを読み取ることができるという問題が修正されました。(Oracle Bug# 34761059)

    この修正を有効にするには、XlaReaderWaitTxnVisibleパラメータの値を1に設定します。

    CALL ttDBConfig('XlaReaderWaitTxnVisible','1');
  • このリリースでは、受信側レプリケーション・エージェントでレプリケートされたVARCHAR2表外データの処理が改善されます。(Oracle Bug#34773132)

リリース22.1.1.6.0からリリース22.1.1.7.0での変更点

  • ADMIN権限を持たないユーザーがユーティリティを実行する場合、ttSchemaユーティリティは、デフォルトで現在のスキーマ内のオブジェクトのみを選択するようになりました。この変更により、ユーザーが適切な権限を持たずにオブジェクトを記述しようとした場合のアクセス・エラーが回避されます。ユーザーは引き続き、別の選択パターン引数を含めることでオブジェクトの記述を試行できます。パターン%は以前の動作に戻りますが、他のスキーマのオブジェクトを含むパターンを使用すると、アクセス・エラーとなる可能性があります。(Oracle Bug#34223037)

  • 以前のリリースでは、クラシック・レプリケーション・スキームに複数のマスターが含まれていた場合、レプリケーション・エージェントは異なるデータベースからのトランザクションを適用しようとしているときに不適切に処理されたデッドロックに陥る可能性がありました。その結果、レプリケーション操作はハングアップします。この問題は修正されています。(Oracle Bug#34592144 - Oracle Bug#34577070のフォワード・ポート)

  • CREATE CACHE GROUP文が一部のOracleオブジェクトをロックして、オブジェクトがすでに存在している場合でもメタデータ・オブジェクトを作成するという問題が修正されました。(Oracle Bug#34644529 - Oracle Bug#34641177のフォワード・ポート)

  • 以前のリリースでは、TimesTen KubernetesオペレータはLeader-for-lifeメソッドを使用して、TimesTenを管理するオペレータを判断していました。このリリースでは、オペレータはLeader-with-leaseメソッドを使用します。(Oracle Bug#34650236)

  • TimesTen ScaleoutのZooKeeperクライアントで、ホスト名を解決するために頻繁にDNSを呼び出すと、DNSサーバーが要求でオーバーロードする可能性がある問題が修正されました。(Oracle Bug#34716434)

  • シノニムからのビューの作成が正しく機能しない問題が修正されました。(Oracle Bug#34741197)

  • 接続に対する不要な権限チェックによって次の誤ったエラーが発生する可能性がある問題が修正されています: User username does not have group permision to connect to the database。(Oracle Bug#34747548)

  • エージングに関連するデーモンのログ・メッセージが過剰で誤解を招くという問題が修正されました。(Oracle Bug#34777457)

  • 挿入または更新操作でのメモリー割当ての問題が修正されました。(Oracle Bug#34779479 - Oracle Bug#34676797のフォワード・ポート)

リリース22.1.1.5.0からリリース22.1.1.6.0での変更点

  • XLAブックマークで追跡されないトランザクションを処理するロジックが改善されました。(Oracle Bug#34352710 - Oracle Bug#33968191のフォワード・ポート)

  • 暗号化されたクライアント/サーバー接続に指定された暗号スイートがOracleライブラリでサポートされていても、それがTimesTenでサポートされている2つのスイートSSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256およびSSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384のいずれでもない場合に、このリリースではエラーを返さなくなりました。(BugDB #34353105)

  • コンパイルされたコマンドでのパラレル索引作成で問題が修正されました。(BugDB #34570931)

  • Oracle JDK 8u301 (JDK-8153005)の後にJava 8を実行しているときに、証明書の作成が「Could not derive key」のエラーで失敗していました。このリリースでは、cryptoj.jarファイルのバージョンを更新して問題を修正します。(BugDB #34630389)

リリース22.1.1.4.0からリリース22.1.1.5.0での変更点

  • 特定の状況下でレプリケーション統計の更新によってアサーション障害が発生するという問題が修正されました。(Oracle Bug#34224577 - Oracle Bug#31382397のフォワード・ポート)

  • コミット・チケット番号(CTN)のラップアラウンドによってデータベースが無効になるか送信側スレッドの再起動に失敗する可能性があるという問題が修正されました。(BugDB #34237513)

  • 範囲索引のない列での間隔統計に関する問題が修正されました。(BugDB #34285000)

リリース22.1.1.4.0からリリース22.1.1.3.0での変更点

  • 以前のリリースでは、永続ヒープのシステム・トランザクションに切り替わらないためにヒープ・アサーションが発生すると、リカバリの再要求フェーズでデータベースが無効化されました。この問題は修正されました。(Oracle Bug#33828964)

  • デーモン・ログ・ファイルがローテーションされず、1つのファイルが指定された最大サイズを超えて大きくなるか、ファイルの書込みが停止する問題が修正されました。(Oracle Bug#34032225)

  • このリリースでは、レプリケーション用の送信側スレッドのトランザクション・ログ内の読取り位置を追跡するために、v$repstatsビューに新しい行が追加されました。(Oracle Bug#34119463 - Oracle Bug#32989457のフォワード・ポート)

  • OCI、ProCまたはODPIベースの言語でREF CURSOR変数を使用している間のメモリー・リークが修正されました。(Oracle Bug#34131513およびOracle Bug#34190418)

リリース22.1.1.3.0からリリース22.1.1.2.0での変更点

  • このリリースはTimesTenの無制限バージョンであり、リリース22.1.1.2.0で使用可能なすべての機能とバグ修正が含まれています。

リリース22.1.1.2.0からリリース22.1.1.1.0での変更点

このリリースでの変更点は次のとおりです。

新機能

  • このリリースは、TimesTen XEリリースです。Oracle TimesTen In-Memory Databaseクイック・スタート・ガイドfor Express Editionを参照してください。

  • このリリースでは、TimesTenドライバ・マネージャ(TTDM)がサポートされています。TTDMは、TimesTenデータベースで使用するように設計および最適化された軽量のODBCドライバ・マネージャです。TimesTen固有の機能、拡張機能およびODBC APIサポートへのアクセスを提供し、TimesTenの直接ドライバまたはクライアント・ドライバを直接使用する場合と100%同等の機能を提供します。TTDMを使用すると、アプリケーションはTimesTenの直接接続とクライアント接続を同時に使用できます。『Oracle TimesTen In-Memory Database C開発者ガイド』TimesTenドライバ・マネージャの概要を参照してください。

  • このリリースには、TimesTen Kubernetesオペレータの更新が含まれています。オペレータには、次のような重要な新機能が含まれています。

    • TimesTenScaleoutオブジェクト・タイプ。これにより、オペレータはTimesTen Scaleoutのグリッドを簡単にデプロイできます。

    • TimesTen Prometheusエクスポータのサポート。

    • 簡略化されたインストール・プロセス。オペレータの実行とTimesTen自体の実行の両方に必要なコンテナ・イメージは1つのみです。

    • Oracle提供のコンテナ・イメージを操作する機能。TimesTenとそのすべての前提条件のコンテナ・イメージは、https://container-registry.oracle.comにあります。オペレータは、これらのイメージを使用して直接実行できます。

    • TimesTenの実行に使用されるユーザーおよびグループを変更する機能。

    これらの新機能により、オペレータのパッケージ方法およびオペレータがサポートするイメージ形式に多数の変更が加えられました。

    • デフォルトでは、TimesTenおよびオペレータは、timestenユーザーとして実行されるようになりました。

    • 様々なアイテムのディレクトリの場所が変更されました。

    オペレータは、TimesTenClassicオブジェクトに関連付けられたTimesTen Classicデータベースを、TimesTenのパッチ・リリース間で自動的にアップグレードできます。ただし、前述の変更により、デプロイ済のTimesTen Classicデータベースのアクティブ/スタンバイ・ペアをこのリリースより前のリリースから自動的にアップグレードすることはできません。同様に、このリリースから以前のリリースへのダウングレードはサポートされていません。このリリースのオペレータによって作成されたTimesTenデプロイメントは、後続のTimesTenパッチ・リリースに問題なくアップグレードできます。

    Oracle TimesTen In-Memory Database Kubernetesオペレータ・ユーザーズ・ガイドOracle TimesTen Kubernetesオペレータの概要を参照してください。

バグ修正

  • 読取り専用キャッシュ・グループおよびttLoadFromOracle組込みプロシージャは、各国語文字セットがUTF8の場合、OracleデータベースのNCHAR列またはNVARCHAR2列を操作できるようになりました。(Oracle Bug#33541824)

  • activePermInUseメトリックおよびstandbyPermInUseメトリックの値が正しく報告されなかった問題が修正されました。(Oracle Bug#33652345)

  • TTDMにリンクされたTTClassesライブラリlibttclassesTTDM.soが含まれ、すべてのTimesTenサーバー・ディストリビューションでサポートされるようになりました。(Oracle Bug#33668736)

  • 特定のSSL構成で、TimesTen Kubernetesオペレータのユーザーが認証局によって発行されたSSL証明書を構成できなかった問題が修正されました。(Oracle Bug#33890625)

  • 送信者(またはマスター)データベースのホスト名が/etc/hostsファイルで複数回マップされていると、ttRepAdmin -duplicateコマンドおよびその他のレプリケーション操作が失敗する問題が修正されました。(Oracle Bug#34013653 - Oracle Bug#31857874のフォワード・ポート)

リリース22.1.1.1.0からリリース18.1.4.5.0での変更点

このリリースでの変更点は次のとおりです。

新機能

  • TimesTen Scaleoutでは、増分自動リフレッシュを使用した読取り専用キャッシュ・グループがサポートされるようになりました。Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドTimesTen Scaleoutでのキャッシュ・グループの使用を参照してください。

  • K-safetyレベルが最大5までのグリッドを作成できるようになりました。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』K-Safetyを参照してください。

  • グローバル索引が、TimesTen Scaleoutでサポートされるようになりました。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』索引の理解を参照してください。

  • PLSQLのパッケージ、プロシージャおよび関数が、TimesTen Scaleoutでサポートされるようになりました。Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドPL/SQLの概要を参照してください。

  • TimesTenのネイティブ・キャッシュ・リフレッシュ・メカニズムのかわりにOracle GoldenGateを使用して、TimesTen ClassicTimesTen Scaleoutの両方に静的読取り専用キャッシュ・グループと同等の機能を提供できます。その他のすべてのタイプのキャッシュ機能では、TimesTenのネイティブ・キャッシュ・メカニズムを使用する必要があります。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』代替キャッシュ・リフレッシュ・メカニズムとしてのOracle GoldenGateの使用を参照してください。

  • 高速パッチ・アップグレードを、TimesTen Classicを使用して実行できます。これには、共有メモリー・セグメントがメモリー内に残っていることを確認しながら、新しいインストール環境を指すようにTimesTenインスタンスを変更する操作の実行が含まれます。『Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイド』高速パッチ・アップグレードの実行についてを参照してください。

  • TimesTen Scaleoutでは、パッチ互換リリースへのオンライン・アップグレードを実行できるようになりました。このリリースは、ttGridAdmin gridUpgradeコマンドを追加して、オンラインおよびオフラインのアップグレード操作を簡略化します。Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドグリッドのアップグレードを参照してください。

  • TLS証明書管理が、TimesTenスケールでサポートされるようになりました。『Oracle TimesTen In-Memory Databaseセキュリティ・ガイド』TimesTenクライアント/サーバーのTransport Layer Securityを参照してください。

  • TimesTen Prometheus ExporterとGrafanaツールを使用すると、データベースの状態および操作を監視できます。Oracle TimesTen In-Memory Databaseモニタリングおよびトラブルシューティング・ガイドTimesTen Prometheusエクスポータを参照してください。

  • これで、クライアント/サーバーのバッファ・サイズを構成できます。これにより、低速なネットワーク上で大きな結果セットを取得する際のパフォーマンスが向上します。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』クライアント結果セット・バッファのサイズ設定を参照してください。

  • SQLプロファイルが、パスワードの複雑性チェック機能をサポートするようになりました。Oracle TimesTen In-Memory Database SQLリファレンスCREATE PROFILEを参照してください。

  • Linuxプラットフォームで、TimesTen Classicが、Net-SNMPを介してSNMPバージョン1、2、および3をサポートするようになりました。これにより、以前のSNMPバージョン1の実装とそのsnmp.ini構成ファイルが置き換えられます。Oracle TimesTen In-Memory Databaseエラー・メッセージおよびSNMPトラップSNMPトラップを使用した診断を参照してください。

  • 多数の行に基づいてLRUエージングを制御できるようになりました。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』使用状況ベースのエージングを参照してください。

  • 特定の問合せタイプの場合、TimesTenは複数のキャッシュ・インスタンスを動的にロードできるようになりました。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』複数のキャッシュ・インスタンスの動的なロードを参照してください。

  • TT_DynamicPassthroughオプティマイザ・ヒントを設定して、限定されたSELECT文をOracleデータベースにパススルーするようにTimesTen Classicに通知できます。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』Oracleデータベースへの動的ロードの自動パススルーを参照してください。

  • 新しいタイプのキャッシュ・グループがこのリリースに追加されています。ハイブリッド・キャッシュ・グループは、ルート表がTimesTenデータベースに作成され、Oracleデータベースに存在しない動的読取り専用キャッシュ・グループです。『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』ハイブリッド・キャッシュ・グループを参照してください。

  • systemdを使用するLinuxプラットフォームでは、systemdを使用して、TimesTen ClassicのTimesTenデーモンを自動的に管理できます。Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイドsystemdを使用したTimesTenサービスの管理を参照してください。

  • このリリースでは、PL/SQLで複数のOUT RefCursorがサポートされるようになりました。Oracle TimesTen In-Memory Database PL/SQL開発者ガイドPL/SQL REF CURSORを参照してください。

  • エージングによって行が削除されると、TimesTenは空のページを解放し、フルでないページの空のスロットを再利用します。ttPageLevelTableInfo組込みプロシージャでは、TimesTenが空のスロットを再利用して空のページを解放するタイミングや、新しいページが新しい行を格納するために割り当てられるかどうかを判断するために、各表のページ割当てが表示されます。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』エージングの有効性の決定を参照してください。

  • 準備状況プローブを定義して、TimesTen (tt)コンテナの準備ができたことをKubernetesに通知できます。『Oracle TimesTen In-Memory Database Kubernetesオペレータ・ユーザーズ・ガイド』TimesTenコンテナの準備状況プローブについてを参照してください。

動作の変更と非推奨の機能

  • ttSQLCmdCacheInfo組込みプロシージャのコール時に返されるResultSetには、2つの新しい列があります。

  • バンドルされたOracle Instant Clientのディレクトリのディレクトリ名は変更されました。
  • -setMasterRepStartオプションがttRepAdmin -duplicateコマンドのデフォルトになりました。

  • このリリースでは、次の機能は非推奨です。

    • スケールアウト物理グループ
    • 一時データベース
    • レガシー・レプリケーションを使用した静的自動リフレッシュ・キャッシュ・グループ
    • TTC_RollbackRequiredOnFailoverクライアント接続属性
    • クライアント/サーバー接続用のローカル共有メモリーipc。
  • ttSchemaユーティリティの-list all | userinfoオプションは、CREATE PROFILECREATE USERおよびGRANT文などのユーザー情報を出力するようになりました。CREATE USER文はPASSWORD EXPIREおよびACCOUNT LOCKパラメータを指定して出力され、IDENTIFIED BYパラメータのパスワードはDISABLED:に置換され、その後にランダムな一連の文字が続きます。

バグ修正

  • TimesTen Scaleoutでは、レプリカ・セットの停止時に削除プロセスが中断される問題が修正されています。(Oracle Bug#29586987)

  • Linux 64ビット・プラットフォームでは、以前のリリースでTTClassesソースをコンパイルすると、コンパイラの警告が発生し、データが失われる可能性がありました。この問題は修正されています。(Oracle Bug#29626001)

  • ttSize組込みプロシージャのrownumパラメータは、BIGINT型になりました。以前は、INT型でした。(Oracle Bug#31645887)

  • 以前のリリースでは、表に非常に多くの行がある場合、SELECT COUNT (*)操作が失敗する可能性がありました。(Oracle Bug#32620599)

  • このリリースでは、TT_DYNAMICLOADMULTIPLEPKSオプティマイザ・ヒントのデフォルト値は1です。(Oracle Bug#32690444)

  • TimesTen Scaleoutでは、以前のリリースでは、バックアップ手順中にログ保持ブックマークが更新されました。これによりアサーションが発生しました。このリリースでは、ブックマークの更新は条件付きです。(Oracle Bug#32800967)

  • このリリースでは、ttGridAdminのバックアップ、リストア、インポートおよびエクスポートの各コマンドは、一時ファイルのディレクトリを指定する新しいオプションを受け入れます。(Oracle Bug#32801316)

  • 大きな表に一意の索引を作成するときにオーバーフローの原因となった問題が修正されています。(Oracle Bug#32874657)

  • このリリースでは、ロールバック用のデーモン・ログ・メッセージの数が減りました。(Oracle Bug#32995755)

  • 以前のリリースでは、複数のデータベースが異なるキャッシュ管理ユーザーで同じ表をキャッシュしているというまれなエッジケースにより、間違ったブックマークが使用される可能性がありました。この問題は修正されています。(Oracle Bug#33360774)

プラットフォームおよびコンパイラ

プラットフォームまたはオペレーティング・システム C/C++コンパイラ・サポート JDKサポート(1)

Linux x86-64:

  • Oracle Linux 7.4以降、8.2以降および9.2以降

  • Red Hat Enterprise Linux 7.4以降、8.2以降、9.2以降

  • SUSE Enterprise Server 12および15

  • Ubuntu 22.04

Intel icc 17.0.2.174、gcc 4.4.7以降

Oracle JDK 8、11、17および21

OpenJDK 8、11、17および21

Solaris SPARC 64:

  • Solaris 11.3および11.4

Solaris SPARC用のSolaris Studio 12.6

Oracle JDK 8および11

Solaris x86-64:

  • Solaris 11.3および11.4

Solaris Studio 12.6

Oracle JDK 8

Microsoft Windows x86-64 (クライアントのみ):

  • Windows Server 2019

  • Windows Server 2016

  • Windows Server 2012 R2

  • Windows 11

  • Windows 10

Intel Compiler 17

Visual Studio 2017 (VC11)

Oracle JDK 8、11および17

OpenJDK 8、11および17

IBM AIX Power PC 64ビット:

  • AIX 7.1、7.2、および7.3

IBM xlC 13.1.0 Compiler for AIX

IBM JDK 8

IBM Semeru Runtime Certified Edition、バージョン11

macOS 64ビット(クライアントのみ):

  • 12 Monterey

  • 11 Big Sur

  • 10.15 Catalina

Apple Xcode 12.0.5

Oracle JDK 8、11および17

脚注 1 TimesTenのttjdbcn.jarファイルは、通常、ファイル名の数字に対応するJREバージョンで使用するためのJDBCドライバを含んでいます。現在のリリースでは、ttjdbc11.jar、ttjdbc17.jarおよびttjdbc21.jarはttjdbc8.jarのコピーであり、JDBC 4.2 (Java 8)のみを実装します。

TimesTenはOracle VMで提供される仮想マシンでサポートされています。

Oracle Database

TimesTenには、Oracle Database 19cバージョンのInstant Clientが付属しています。また、TimesTen PL/SQL、OCI、Pro*C/C++およびその他の内部コンポーネントは、Oracle Database 19cに基づいています。

クライアント/サーバーの構成

サポートされているプラットフォーム上のTimesTen Clientは、TimesTenがサポートされているすべてのプラットフォーム上のTimesTen Serverに接続できます。

Oracle TimesTen In-Memory Databaseオペレーション・ガイドTimesTen ClientおよびTimesTen Serverの構成を参照してください。

キャッシュ

TimesTenのキャッシュを使用すると、OracleデータベースからTimesTenデータベースにプルされたデータを表示および変更できます。TimesTenインストールには、Oracle Instant Clientが含まれます。

Oracleサーバーの次のリリースがTimesTenのキャッシュでサポートされています。

  • Oracle Databaseリリース11.2.0.4

  • Oracle Databaseリリース12c

  • Oracle Databaseリリース19c

  • Oracle Databaseリリース21c

レプリケーションの構成

TimesTenは、同一のプラットフォーム間のレプリケーションのみをサポートします。レプリケーションは、TimesTen Classicでのみサポートされています。

アクティブ・スタンバイ・ペアのレプリケーションは、Oracle Clusterware 19cでサポートされています。

Oracle TimesTen In-Memory Databaseレプリケーション・ガイドTimesTenレプリケーションの概要を参照してください。

Kubernetesオペレータ

TimesTenおよびTimesTen Kubernetesオペレータは、Kubernetes 1.24、1.25、1.26、1.27および1.28でサポートされています。

TimesTenおよびTimesTen Kubernetes Operatorは、AWS EKSおよびOCI OKEでテストしました。

その他のKubernetes環境は、Oracle TimesTen In-Memory Database Kubernetesオペレータ・ユーザーズ・ガイド前提条件に記載されている要件を満たしている場合にサポートされます。

Oracle GoldenGate

TimesTenは、GoldenGate 21.3以降を使用する配信ターゲットとしてサポートされています。適用パフォーマンスを向上させるために、GoldenGateパラレルReplicatがサポートされています。

『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』ネイティブの読取り専用キャッシュ・グループの代替としてのGoldenGateの使用を参照してください。

Apache ZooKeeper

TimesTenは、様々なCVEおよびその他の問題に対処するために、ZooKeeper 3.8.3の変更バージョンを出荷しました。詳細は、installation_dir/tt22.1.1.20.0/3rdparty/README-zookeeper.txtを参照してください。

TimesTen Scaleoutでは、次のバージョンのZooKeeperがサポートされています。

  • 同じTimesTenメジャー・リリース・サイクル内のTimesTenリリースに含まれるZooKeeperバージョン。

  • 次の基準を満たす、ApacheからダウンロードされたZooKeeperバージョン:

    • そのZooKeeperリリースが安定としてマークされています。

    • そのZooKeeperリリースが、TimesTenメジャー・リリース・サイクルに含まれるZooKeeperバージョンと同じZooKeeperリリース・ラインです。

TimesTenドライバ・マネージャ

TTDMは、TimesTen 18.1.4.9.0以降およびTimesTenサーバーをサポートするすべてのプラットフォームでサポートされています。

『Oracle TimesTen In-Memory Database C開発者ガイド』TimesTenドライバ・マネージャの概要を参照してください。

ソフトウェア要件

ソフトウェア要件については、次を参照してください。

既知の問題および制限事項

このトピックでは、次のカテゴリの既知の問題および制限事項について説明します。

バックアップ/リストア

  • グリッド・バックアップのリストア(ttGridAdmin dbRestoreコマンドを使用)は、グリッド内のすべてのインスタンスが実行されている場合にのみ成功します。

キャッシュ

  • ttLoadFromOracleは、エラー・メッセージORA-01466, can't flashback because table definition too newで失敗する場合があります。この問題は、Oracle Databaseでパッチが欠落していることが原因である可能性があります(Oracle Bug#6598432)。このバグは、Oracleデータベースのタイムゾーンとシステムのタイムゾーンが異なる場合にORA-01466につながります。ユーザーがこの問題に遭遇した場合は、対応するパッチが適用されていることを確認してください。

インストール

  • Oracle Linux 7、8および9システムでは、TimesTenにはlibaioライブラリが必要です。このライブラリをインストールするには、次を実行します。

    sudo yum install libaio
  • Oracle Linux 8システムおよびRed Hat Enterprise Linux 8システムでは、TimesTenにはncurses-compat-libsパッケージが必要です。このパッケージをインストールするには、次を実行します。

    sudo yum install ncurses-compat-libs
  • Oracle Linux 8および9システムとRed Hat Enterprise Linux 8および9システムでは、TimesTenには/usr/lib64/libnsl.so.1ライブラリが必要です。このライブラリをインストールするには、次を実行します。

    sudo yum install libnsl
  • Oracle Linux 9システムでは、TimesTenにはcompat-openssl10およびlibxcrypt-compatライブラリが必要です。これらのライブラリをインストールするには、次を実行します。

    sudo yum install compat-openssl10 libxcrypt-compat
  • IBM AIXでは、ttCreateCertsユーティリティが次のエラーで失敗する場合があります。

    ewallet.p12 not present at rootWallet
    PKI-02003: Unable to load the wallet at: rootWallet

    これは、IBM JDK 8.0.7.0の問題です。回避策として、IBM JDK 8.0.6.35以前を使用します。

  • Ubuntuでは、TimesTenにはlibaioおよびlibxcryptライブラリが必要です。これらのライブラリをインストールするには、次を実行します。

    sudo apt-get install libaio1 libcrypt1
  • macOSで、App Storeおよび識別された開発者からダウンロードしたアプリケーションを許可するようにセキュリティ・プリファレンスを設定します。

JDBC

  • TimesTenでは、位置を指定した更新または削除はサポートしていません。setCursorNameおよびgetCursorNameメソッドへのコールは無視されます。

  • 夏時間のあるタイムゾーンで実行しているJDBCアプリケーションが、ResultSet.getTimestamp()を使用して存在しない時間を選択すると、1時間遅れの時間が取得されます。たとえば、太平洋標準時で、時間が標準時間から夏時間に変更される日には、2:00 a.m.から2:59 a.m.の間の時間は存在しません。この場合に、標準時間で実行されているJDBCアプリケーションがgetTimestamp()を使用して'2002-04-07 02:00:00'の値を選択すると、'2002-04-07 01:00:00'が取得されます。

  • JDBCアプリケーションのSQL文には、データベース文字セットの文字のみを含める必要があります。データベース文字セットに含まれないUnicode文字は、問合せの解析時に、代替文字に変換されます。次の方法で対処できます。

    • データベース文字セットとしてAL32UTF8を使用する。

    • データベース文字セットに含まれない文字を問合せテキストで使用しないように、文をパラメータ化する。

  • macOSでTimesTen JDBCアプリケーションを実行している場合は、Javaコマンドラインに‑Djava.library.path=${TIMESTEN_HOME}/install/libを含めてください

Oracle Call Interface

  • NLS_LANGにTimesTenでサポートされない値が設定されると、「Cannot connect」などの誤ったエラーが発生することがあります。

  • TimesTenがOracle Database 19cおよび21cにアップグレードされるため、OCIに基づくPro*CまたはOracle Call Interface (OCI)とAPIを使用しているお客様は名前が変更されるため、アプリケーションを新しいOCIライブラリに再リンクする必要があります。Makefileも適宜更新する必要があります。

PL/SQL

  • q'(引用構文)の使用はサポートされません。

  • PL/SQLおよびCLOBまたはNCLOBに関連する、次の一連の操作は正しく機能しません。

    1. 一時CLOBを作成する

    2. 一時CLOB値を設定する

    3. 一時CLOBの値を別のCLOB変数に割り当てる

    4. 一時CLOBを解放する

    5. 一時CLOBの使用を試行する

    ステップ5では、エラーORA-22275が生成され、例外が発生すると想定されます。TimesTen 22.1.1では、正しいエラーが生成されますが、例外は発生しません。

SQL*Plus

  • TimesTenでは、TimesTenデータベースへのSQL*Plus接続はサポートされません。ttIsqlを使用します。

SQL、ユーティリティおよびプロシージャ

  • SQL問合せタイムアウトを使用すると(SQLQueryTimeoutまたはSQLQueryTimeoutMsec)、TimesTenの動作はベスト・エフォートを基準に行われます。タイムアウトが指定された時間内に実際に発生することは保証できません。(Oracle Bug#29671762)

  • TimesTenのBINARY_DOUBLEおよびBINARY_FLOATは、ほぼ同じデータ型です。これらの型のデータを格納および取得すると、最下位の桁が丸められるか、切り捨てられます。これらの型の列は、主キー、一意キーおよび外部キーでは使用しないでください。

  • ビュー定義、およびそのビューにアクセスする問合せで同じ列別名を使用すると、TimesTenによってTT2210: Column reference of XXX is ambiguousエラーが誤って発行される場合があります。回避策としては、異なる列別名を列に明示的に割り当てます。

  • TimesTen Scaleoutでは、ALTER SESSION文は、サポートされていない機能を変更しようとしたときにエラーを返す必要があります。そうではなく、エラーが返されません。

  • 問合せに指定した表の総数および問合せの処理に使用した一時集計の最大合計数は32です。一時集計は、スカラーまたは集計副問合せを処理するために必要です。問合せの表と一時集計の合計数が32を超える場合、問合せはStatement that needs more than 31 nesting levels has not been implemented というメッセージを発生して失敗します。

  • NLSSORT属性がbinary以外の値に設定されている場合でも、CHAR型を指定したCOUNT DISTINCTでは、バイナリ・ソート順序およびバイナリ比較セマンティクスを使用します。

  • NLS_SORTセッション・パラメータが多言語ソート(FRENCH_Mなど)に設定されている場合、パターン一致のワイルド・カード記号が空白文字に適用されると、LIKE演算子で不正確な結果が返される場合があります。

  • 初期接続後にALTER SESSION文をいつでも実行する場合は、フェイルオーバー後に文を再実行する必要があります。(Oracle Bug#29444131)

TimesTen Scaleout

  • TimesTen Scaleoutのこのリリースでは、最大で64個のデータ・インスタンスがサポートされています。

  • グリッド内のインスタンスは、動的ポート範囲内のポートを使用してTCP/IP経由で相互に接続します。このため、アクティブなファイアウォールを、各ホストの動的ポート範囲内の使用可能なすべてのポート経由のTCP/IPトラフィックを許可するように構成する必要があります。Linuxでは、次のようにポート範囲を決定できます。

    $ cat /proc/sys/net/ipv4/ip_local_port_range
    9000    65500 

    この場合、ホストは9000から65500の範囲内でポートを割り当てることができます。

  • TimesTen Scaleoutデータベースに接続されている各プロセスは、1つ以上のオペレーティング・システム・ファイル記述子をオープンしたままにします。接続によってトランザクションがコミットまたはロールバックされる場合、接続に対して追加のファイル記述子を開くことができます。データベースに接続しようとしたときに、ファイル記述子がすべて使用中であるというエラーを受信した場合は、ファイル記述子の許容数を増やします。(Oracle Bug#25815090)

  • 2つのインスタンス(管理インスタンスを含む)がttGridAdmin dbDistributeコマンドを使用して配布マップに追加され、それらが属するホストがSSHを介して通信できない場合、ttGridAdmin dbDistributeコマンドはエラーTT3701で失敗します。

  • キャッシュ・グループを含むデータベース・バックアップを、より大きなトポロジを持つグリッドにリストアする場合、(ttGridAdmin dbDistributeコマンドを使用して)すべてのレプリカ・セットにデータを再配布する前に、(ttGridAdmin dbCacheCredentialSetコマンドを使用して)データベースのキャッシュ管理ユーザー名とパスワードを設定する必要があります。そうしないと、キャッシュ・グループのキャッシュ資格証明を設定できません。

  • Oracle Linux 9では、OpenSSHのSCPプロトコルが非推奨となり、かわりにSFTPが使用されます。TimesTen Scaleoutでは、グリッドを正しくデプロイするためにSCPプロトコルが必要です。次の構成をインスタンス管理者の~/.ssh/sshd.configファイルに追加して、SCPプロトコルに切り替えます。

    subsystem sftp /usr/libexec/openssh/sftp-server
  • Ubuntuでは、ステージングされたバックアップのパフォーマンスは制限されています。

ttIsqlユーティリティ

  • ncurses-compat-libsパッケージは、Oracle Linux 9またはRed Hat Enterprise Linux 9で使用できなくなりました。その結果、ttIsqlユーティリティのeditline機能は機能しません。ttIsqlユーティリティのその他の機能は、通常どおりに機能します。

アップグレード

  • レプリケーション・プロトコルの拡張は、11.2.2.8から22.1の間のオンライン・アップグレードの実行を意味します(11.2.2.8リリースは、11.2.2.8.27以降である必要があります)。11.2.2.8.27より前のバージョンを使用している場合は、それより新しい11.2.2.8リリースにアップグレードしてから、記載されているオンライン・アップグレード・ステップに従ってこのリリースにアップグレードする必要があります。Oracle TimesTen In-Memory Databaseインストレーション・ガイドTimesTenアップグレードおよび『Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイド』オンライン・アップグレード: TimesTenレプリケーションの使用を参照してください。

  • TimesTen Classicで18.1.2を使用している場合は、まず18.1.2.5.0以降にアップグレードしてから、このリリースにアップグレードする必要があります。18.1.3を使用している場合は、まず18.1.3.5.0以降にアップグレードしてから、このリリースにアップグレードする必要があります。『Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイド』TimesTen Classicのアップグレードを参照してください

ドキュメントのアクセシビリティ

Oracle Supportへのアクセス