Oracle TimesTen In-Memory Database
リリース・ノート リリース7.0.6.0.0

部品番号: B61334-01(原本部品番号:B31692-16)

このドキュメントでは、最新の情報と、正規のマニュアルにはまだ記載されていない情報について説明します。

Oracle TimesTen In-Memory Databaseをインストールするには、インストール・メディアからsetupを実行します。

インストール情報については、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』install.pdf)を参照してください。このファイルは、インストール・メディアのルートにあるdocディレクトリに格納されています。

このマニュアルの構成は次のとおりです。

「プラットフォーム」を参照してください。

「ソフトウェア要件およびインストール」を参照してください。

「ディスク領域の要件」を参照してください。

「製品内容」を参照してください。

 

「このリリースでの変更点」を参照してください。

「既知の問題および制限事項」を参照してください。

「Oracle TimesTenサポートへの連絡」を参照してください。

「著作権情報」を参照してください。

1. プラットフォーム

Oracle TimesTen In-Memory Databaseは、次の環境でサポートされています。

Oracle TimesTen In-Memory Database TTClassesライブラリは、各プラットフォームの他のライブラリを構築するために使用されたコンパイラを使用してコンパイルされています。使用されたコンパイラは、install_dir /libで、libttclasses.soに付いているコンパイラの名前を調べることで確認できます。たとえば、libttclasses.so.gcc346は、gcc 3.4.6コンパイラを使用してコンパイルされています。他のコンパイラを使用するには、TTClassesライブラリを再構築する必要があります。

Windowsでは、デフォルトのTTClassesライブラリはMicrosoft Visual C++ 6を使用して構築されています。これらのライブラリは、install_dir /libおよびinstall_dir /binに格納されています。TTClassesライブラリの構築には、Microsoft Visual C++ 7およびMicrosoft Visual C++8も使用されます。これらのライブラリは、それぞれinstall_dir /ttclasses/vc7およびinstall_dir /ttclasses/vc8に格納されています。Microsoft Visual C++ 6で構築されたライブラリではなく、これらのライブラリを使用するには、ttclasses.dllinstall_dir /binディレクトリにコピーし、ttclasses.libinstall_dir /libディレクトリにコピーします。

2. ソフトウェア要件およびインストール

ソフトウェア要件については、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。

3. ディスク領域の要件

次の表に、通常のインストールにおけるディスク領域の要件を示します。「移動可能」という要件は、インストール時にユーザーが指定したファイル・システムにコンポーネントがインストールされることを示します。変数install_dirは、現在のリリースのTimesTenがインストールされるディレクトリを示します。TimesTenリリース7.0のrootインストールのデフォルトのインストール・ディレクトリは次のとおりです。

各オペレーティング・システムでは、移動できないシステム・ディレクトリに特定のファイルがインストールされます。表はrootインストールを想定し、移動可能なファイルを示しています。

TimesTenのドキュメントをインストールする場合は、表に示す数値に30MBを足してください。

オペレーティング・

システム

インストール・タイプ

ファイル・システム

移動可能

必要な領域

Windows 2000、2003、XPまたは2008(32-bit)

TimesTen Data Manager

install_dir

はい

125MB

TimesTen Client

install_dir

はい

70MB

TimesTen Client、ServerおよびData Manager

install_dir

はい

175MB

Windows 2000、2003、XPまたは2008(64-bit)

TimesTen Data Manager

install_dir

はい

125MB

TimesTen Client

install_dir

はい

70MB

TimesTen Client、ServerおよびData Manager

install_dir

はい

175MB

Solaris 8、9および10(32-bitまたは64-bit)

TimesTen Data Manager

install_dir

はい

170MB

TimesTen Data Manager

/etc

いいえ

50KB

TimesTen Client

install_dir

はい

70MB

TimesTen Client、ServerおよびData Manager

install_dir

はい

175MB

TimesTen Client、ServerおよびData Manager

/etc

いいえ

50KB

Solaris 10 x86およびx86-64

TimesTen Data Manager

install_dir

はい

255MB

TimesTen Data Manager

/etc

いいえ

50KB

TimesTen Client

install_dir

はい

70MB

TimesTen Client、ServerおよびData Manager

install_dir

はい

260MB

TimesTen Client、ServerおよびData Manager

/etc

いいえ

50KB

x86 CPU用のAsianux 2.0、
MontaVista Linux Carrier Grade Edition 4.0、
Oracle Enterprise Linux 4および5、
Red Hat Enterprise Linux ES、AS、WS 3、WS 4、WS 5、
SUSE Linux Enterprise Server 9および10(32-bit)

TimesTen Data Manager

install_dir

はい

145MB

TimesTen Data Manager

/etc

いいえ

50KB

TimesTen Client

install_dir

はい

65MB

TimesTen Client、ServerおよびData Manager

install_dir

はい

150MB

TimesTen Client、ServerおよびData Manager

/etc

いいえ

50KB

x86-64 CPU用のAsianux 2.0、
MontaVista Linux Carrier Grade Edition 4.0、
Oracle Enterprise Linux 4および5、
Red Hat Enterprise Linux ES、AS、WS 3、WS 4、WS 5、
SUSE Linux Enterprise Server 9および10(64-bit)

TimesTen Data Manager

install_dir

はい

140MB

TimesTen Data Manager

/etc

いいえ

50KB

TimesTen Client

install_dir

はい

70MB

TimesTen Client、ServerおよびData Manager

install_dir

はい

145MB

TimesTen Client、ServerおよびData Manager

/etc

いいえ

50KB

Intel Itanium2 CPU用のRed Hat Enterprise Linux ES、
AS、WS 3、WS 4、WS 5、
およびSUSE LINUX Enterprise Server 10(64-bit)

TimesTen Data Manager

install_dir

はい

235MB

TimesTen Data Manager

/etc

いいえ

50KB

TimesTen Client

install_dir

はい

80MB

TimesTen Client、ServerおよびData Manager

install_dir

はい

245MB

TimesTen Client、ServerおよびData Manager

/etc

いいえ

50KB

PA-RISC用のHP-UX 11i、
11i v2および11i v3
(32-bitまたは64-bit)

TimesTen Data Manager

install_dir

はい

180MB

TimesTen Data Manager

/etc

いいえ

50KB

TimesTen Data Manager

/sbin

いいえ

50KB

TimesTen Client

install_dir

はい

70MB

TimesTen Client

/etc

いいえ

50KB

TimesTen Client

/sbin

いいえ

50KB

TimesTen Client、ServerおよびData Manager

install_dir

はい

195MB

TimesTen Client、ServerおよびData Manager

/etc

いいえ

50KB

TimesTen Client、ServerおよびData Manager

/sbin

いいえ

50KB

IA32またはIA64用のHP-UX 11i v2および11i v3

TimesTen Data Manager

install_dir

はい

190MB

TimesTen Data Manager

/etc

いいえ

50KB

TimesTen Data Manager

/sbin

いいえ

50KB

TimesTen Client

install_dir

はい

80MB

TimesTen Client

/etc

いいえ

50KB

TimesTen Client

/sbin

いいえ

50KB

TimesTen Client、ServerおよびData Manager

install_dir

はい

200MB

TimesTen Client、ServerおよびData Manager

/etc

いいえ

50KB

TimesTen Client、ServerおよびData Manager

/sbin

いいえ

50KB

AIX 5.2および5.3(32-bitまたは64-bit)

TimesTen Data Manager

install_dir

はい

220MB

TimesTen Data Manager

/etc

いいえ

50KB

TimesTen Client

install_dir

はい

70MB

TimesTen Client

/etc

いいえ

50KB

TimesTen Client、ServerおよびData Manager

install_dir

はい

230MB

TimesTen Client、ServerおよびData Manager

/etc

いいえ

50KB

Tru64 5.1B-2 UNIX

TimesTen Data Manager

install_dir

はい

155MB

TimesTen Client

install_dir

はい

70MB

TimesTen Client、ServerおよびData Manager

install_dir

はい

160MB

4. 製品内容

Oracle TimesTen In-Memory Databaseには、次のものが含まれています。

インストール・メディアに収められているマニュアルは、次のとおりです。

  • 『Oracle TimesTen In-Memory Database追加情報』: このドキュメントには、TimesTenリリース7.0.4.0.0時点の新機能が記載されています。次のドキュメントもあわせてお読みください。次のドキュメントに記載されている情報はリリース7.0.3.0.0時点のもので、追加情報またはリリース・ノートで特に指定していないかぎり、このリリースに適用されます。(docaddendum.pdf)
  • 『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』:前述の説明を参照してください。(install.pdf)
  • 『Oracle TimesTen In-Memory Database概要』: このマニュアルには、Oracle TimesTenの機能の説明と、開発者がOracle TimesTenアプリケーションを計画する際に役立つ情報が示されています。(intro.pdf)
  • 『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』: TimesTenの構成と、ttIsqlユーティリティを使用したデータ・ストアの管理についての情報が示されています。また、TimesTen用の基本的なチュートリアルも含まれています。(operations.pdf)
  • 『Oracle TimesTen In-Memory Database C開発者およびリファレンス・ガイド』: このマニュアルには、CアプリケーションのコンパイルとそれをOracle TimesTenにリンクする方法、およびOracle TimesTenデータ・ストアの設定方法と使用方法が示されています。また、エラー処理、イベント管理およびパフォーマンス・チューニングに関するトピックも含まれています。さらに、C言語固有のすべてのAPIに関するリファレンスも含まれています。(C_dev.pdf)
  • 『Oracle TimesTen In-Memory Database Java開発者およびリファレンス・ガイド』: このマニュアルには、JavaアプリケーションのコンパイルとそれをOracle TimesTenにリンクする方法、およびOracle TimesTenデータ・ストアの設定方法と使用方法が示されています。また、エラー処理、イベント管理およびパフォーマンス・チューニングに関するトピックも含まれています。アプリケーション・サーバーを使用したOracle TimesTenの構成についての情報も含まれています。さらに、Java言語固有のすべてのAPIのリファレンスも含まれています。(java_dev.pdf)
  • 『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』: このマニュアルには、Oracle TimesTenのすべてのユーティリティ、プロシージャおよびAPIと、TimesTenのその他の機能のリファレンス情報が示されています。(tt_ref.pdf)
  • 『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』: このマニュアルには、TimesTenのすべてのSQL文、式および関数のリファレンス情報が示されています。また、TimesTen SQLの拡張機能の情報も含まれています。(sql.pdf)
  • 『Oracle TimesTen In-Memory Databaseエラー・メッセージおよびSNMPトラップ』: このマニュアルには、TimesTenのエラー・メッセージのリファレンス情報、およびTimesTenでSNMPトラップを使用するときの情報が示されています。(error_ref.pdf)
  • 『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』: このマニュアルには、Oracle TimesTenレプリケーションの動作の理解に役立つ情報と、一般的に最も必要とされるタスクの実行方法を示す手順を追った説明および例が示されています。(replication.pdf)
  • 『Oracle TimesTen Cache Connect to Oracle開発者および管理者ガイド』: このマニュアルには、Oracleデータ用のOracle TimesTenキャッシュの作成方法および管理方法の理解に役立つ情報が示されています。(cacheconnect.pdf)
  • 『Oracle TimesTen In-Memory Database TTClassesガイド』:このマニュアルには、Oracle TimesTen C++インタフェース・クラス・ライブラリの説明が示されています。ライブラリでは、ODBCの最も一般的な機能を含めたラッパーが提供されます。(ttclasses.pdf)
  • 『Oracle TimesTen In-Memory Databaseトラブルシューティング・プロシージャ・ガイド』:このマニュアルには、TimesTenの使用時に発生するいくつかの問題のトラブルシューティング方法が示されています。(troubleshooting.pdf)
  • 『Microsoft ODBC Programmer's Manual』このMicrosoft社のマニュアルには、Oracle TimesTenデータ・ストアへのアクセスに使用するODBCインタフェースの説明が示されています。UNIXおよびWindows NT用の製品では、ODBCバージョン2.0を参照します。UNIX用のOracle TimesTenでは、ODBCバージョン2.5がサポートされています。バージョン2.0と2.5の違いについては、『Oracle TimesTen In-Memory Database C開発者およびリファレンス・ガイド』を参照してください。(ms.odbc.pdf)
  • 『Oracle TimesTen In-Memory Databaseリリース・ノート』: 前述の説明を参照してください。
  • 『Oracle TimesTen In-Memory Database動作の変更点』(behaviorchanges.txt)

前述の内容で1つでも不足しているものがある場合は、Oracle TimesTenサポートにご連絡ください。詳細は、「Oracle TimesTenサポートへの連絡」を参照してください。

5. このリリースでの変更点

5.1 リリース7.0.5.1.0からリリース7.0.6.0.0での変更点

5.1.1 このリリースでの新機能

  • このリリースのTimesTenでは、TimesTen 11.2.1以上でデータ・ファイルがリストアされるときに、完全にパラレルに表をリストアできるようにttMigrateユーティリティが変更されています。TimesTen 11.2.1以上で表をリストアするとき、ttMigrateユーティリティに-numThreadsオプションを指定し、パラレルにリストアします。これは、特に大規模な表をリストアするときに有効です。
  • ユーザーは、表およびキャッシュ・グループに対し、秒単位だけでなく、分、時間、日単位でも時間ベースのエージングを指定できるようになりました。この機能は、SQL文ALTER TABLE、CREATE CACHE GROUP、CREATE TABLEで使用可能です。
  • 新しい組込みプロシージャttRepSubscriberSyncが使用可能になりました。これを使用すると、指定したマスター・データベースからすべての更新を受信したかどうか、サブスクライバ・データベースを調べることができます。この組込みプロシージャは、サブスクライバからのみ起動できます。すべての引数が必須であり、1回にプロシージャを起動できるのは1つの接続のみです。プロシージャが戻されたときは、そのプロシージャがタイムアウトしているか、プロシージャの起動前にコミットしたすべてのトランザクションがサブスクライバに対して発行され適用されています。

5.1.2 このリリースでの不具合の修正

  • チェックポイント操作が誤って失敗する可能性のある不正な妥当性チェックは削除されています。(Oracle Bug#5354989)
  • ブックマークを削除すると、正しくロックされずにシステム表の行が更新されるという問題は修正されています。これによって、アサーションを発生させる可能性のある行の同時更新が可能になりました。(Oracle Bug#6690513)
  • クライアント/サーバーのラウンドトリップ数を削減するためにTimesTen Clientが最適化されました。(Oracle Bug#6897733、Oracle Bug#8325367およびOracle Bug#8581622)
  • 関数TTGlobal:isLoggingOnのttClassesソース・ファイルttCmd.cppから、不要なコード行が削除されています。(Oracle Bug#6970126)
  • ttClassesのメモリー・リークはこのリリースで修正されています。(Oracle Bug#7045725)
  • 新しいオプション-noDRTRuncate がTimesTen ttRepAdminユーティリティに追加されています。このオプションによって、障害時リカバリ・サイトでのリモート・サブスクライバの初回ロールアウト・プロセス時にOracle表の切捨てが無効になります。-noDRTruncateオプションを使用できるのは、-initCacheDrオプションを組み合せて使用する場合のみです。-noDRTruncateを指定すると、アクティブ/スタンバイ・ペア・スキームのASYNCHRONOUS WRITETHROUGHキャッシュ・グループに対応するOracle Database表は切り捨てられません。これらの表に対しては、フラッシュ操作が実行されます。(Oracle Bug#7131029)
  • 最近のリリースのTimesTen ClientはTimesTen 7.0 Serverに接続できませんでした。この問題は修正されました。(Oracle Bug#7140875)
  • アクティブ/スタンバイ・レプリケーション・ペアのフェイルオーバーによってRETURN TWOSAFEサービスが無効になるという問題は修正されました。(Oracle Bug#7185475)
  • Oracleがオフラインの場合に、アクティブとスタンバイが逆転すると、アクティブ/スタンバイ・レプリケーション構成でAWTキャッシュ・グループに行を挿入する際にエージングが失敗するという問題は修正されました。(Oracle Bug#7187766)
  • TimesTenに対してLEFT OUTERJOIN問合せを実行しても行が返されないという問題は修正されました。結合で表の指定順序が正しくないと、エラーが返されます。(Oracle Bug#7207131)
  • 以前のリリースでは、コマンドが無効の場合、アサーション障害(sb_sqlCmdIsPassThrough)が発生する可能性がありました。この問題は修正されました。(Oracle Bug#7284281)
  • 最適化されたprepare文によってコア・ダンプが発生するという問題は修正されました。(Oracle Bug#7373421)
  • LEFT OUTERJOINによって誤った結果が生成されるという問題は修正されました。(Oracle Bug#7377011)
  • データ・ストアのキャッシュ・グループに異なる自動リフレッシュ間隔が設定されており、それらの状態がONおよびPAUSEDの場合は、CPUがスピンする可能性がありました。この問題は修正されました。(Oracle Bug#7414101)
  • 指定した行のパーセンテージが50未満で、削除によって表に大量の空ページがある場合、一部のプラットフォームではttOptEstimateStats 組込みプロシージャによってバス・エラーが戻される場合がありました。この問題は修正されました。(Oracle Bug#7641464)
  • 以前のリリースでは、複数の自動リフレッシュ・キャッシュ・グループが存在する場合、デーモン・ログによって、すべてのキャッシュ・グループに対して自動リフレッシュ・メッセージが出力される場合がありました。自動リフレッシュ・デーモン・ログ・メッセージがすべてのキャッシュ・グループに1つの名前を表示している場合が問題でした。この問題は修正されました。(Oracle Bug#7417032)
  • ttAdminユーティリティが、同じコマンドラインで-cachePolicyと-cacheStartを使用できるように更新されています。(Oracle Bug#7458703)
  • 以前のリリースでは、ttapplicationcontextの実行時にcontextoffsetが誤って0に設定されていました。この問題は修正されました。(Oracle Bug#7490170)
  • 以前のリリースのTimesTenでは、長さが4000バイト未満の場合に、キャラクタ長のデータ・マッピングが許可されていました。このリリースのTimesTenでは、バイト長に関係なく、キャラクタ長のデータ・マッピングが許可されています。(Oracle Bug#7554732)
  • 以前のリリースでは、アクティブ/スタンバイ・ペアでキャッシュ・グループを使用すると、メモリー・リークが発生する場合がありました。メモリー・リークは発生しなくなりました。(Oracle Bug#7554793)
  • ORACLE_HOMEがOracle 10gR2を指している場合に、AIXでCache Connectの増分アップグレードを実行すると発生する問題は修正されました。(Oracle Bug#7583035)
  • ASYNCHRONOUS WRITETHROUGHキャッシュ・グループの使用時にTimesTenでTTREP.TTSTORESシステム表をロックしようとしたときにタイムアウトが発生するという問題は修正されました。(Oracle Bug#7591281)
  • 以前のリリースでは、アクティブ/スタンバイ・ペア・スキームにAWTキャッシュ・グループが含まれ、いずれかのサブスクライバがFAILTHRESHOLD値を超えていると、データ・ストア全体が無効になりました。この問題は修正されました。(Oracle Bug#7641264)
  • 指定した行のパーセンテージが50未満で、削除によって表に大量の空ページがある場合、一部のプラットフォームではttOptEstimateStats 組込みプロシージャによってバス・エラーが戻される場合がありました。この問題は修正されました。(Oracle Bug#7641464)
  • 主キーと表の順序が一致しない場合にREFRESH WITH ID操作でアサーション障害が発生するという問題は修正されました。(Oracle Bug#7648155)
  • クライアント/サーバーIPv6構成では、ホストにIPv4ホスト名が指定されていないと、サーバーの起動に失敗する場合がありました。この問題は修正されました。(Oracle Bug#7656590)
  • 以前のリリースでは、新しいページを割り当てるためにTimesTenでラッチを取得しようとするとバルク挿入が失敗する場合がありました。この問題は修正されました。(Oracle Bug#7660999)
  • UNIONまたはUNION ALL句を含むSQL問合せの後DSNが無効になるという問題は修正されました。(Oracle Bug#7674176)
  • 以前のリリースでは、クライアント/サーバー・モードでのJDBCバッチ更新によってコア・ダンプが生成されたり、バッチが失敗した場合に無効なポインタが解放されたことがレポートされました。この問題は修正されました。(Oracle Bug#7710319)
  • Javaアプリケーションを使用して大きなVARCHAR2値を挿入すると、クライアント/サーバー構成でコア・ダンプが発生する場合がありました。この問題は修正されました。(Oracle Bug#7713439)
  • ttBulkCp -o -noForceSerializable によって更新がブロックされる場合がありました。この問題は修正されました。(Oracle Bug#7714504)
  • deleteBookmarkAndDisconnect TTClassesメソッドでは、成功したことがレポートされても、XLAブックマークの削除に失敗している場合がありました。この問題は修正されました。(Oracle Bug#7774718)
  • すでにマテリアライズされているストリームをマテリアライズするとアサーション障害[cgDML.c:4.811:sbColGetTupNumAndPos():4659]が発生するという問題は修正されました。(Oracle Bug#8227793)
  • ttOptSetOrder 組込みプロシージャの使用時、一時領域でメモリー・リークが発生する場合がありました。この問題は修正されました。(Oracle Bug#8228565)
  • 自動リフレッシュ・キャッシュ・グループの状態がPAUSEに設定されている場合でも、手動リフレッシュ時にキャッシュ・スケジューラがタイムアウトするという問題は修正されました。(Oracle Bug#8231027)
  • 複数のエラー・メッセージで間違って同じキャッシュ・グループ名を参照するという問題は修正されました。(Oracle Bug#8234495)
  • 64-bitシステムでは、ttMigrate -c がエラー22003 "Numeric value out of range "で失敗する場合がありました。この問題は修正されました。(Oracle Bug#8235825)
  • ttIsqlコマンドラインからSQL文を実行するとアサーション障害arg!=((sbVoid_i)0) [saCanon1.c:4.134:buildArgTD():529]が発生するという問題は修正されました。具体的には、導出表の投影リストなど、問合せで使用されていない引数が指定された式がSQL文に含まれると問題が発生しました。(Oracle Bug#8262022)
  • Javaを使用すると、TimesTenクライアントでサーバーにある多数の列を含む表を問い合せると時間がかかるという問題は修正されました。(Oracle Bug#8296591)
  • 以前のリリースでは、RACでTAFを使用するSYNCHRONOUS WRITETHROUGHキャッシュ・グループを使用すると、フェイルオーバー・テスト後にエラー・メッセージORA-01001が返されました。この問題は修正されました。(Oracle Bug#8338674)
  • 以前のリリースでは、AWTキャッシュ・グループが存在する場合、Oracleへのデータのレプリケーションが遅延する場合がありました。この問題は修正されました。(Oracle Bug#8367923)
  • 以前のリリースでは、NULLパラメータを含む問合せ計画が特定の条件で遅延する場合がありました。この問題は修正されました。(Oracle Bug#8476698)
  • キャッシュ・グループでNCHARまたはNVARCHAR2型が使用されている場合、TimesTenではOracle DatabaseのNLS_NCHAR_CHARACTERSETをAL16UTF16に設定する必要があります。以前のリリース7.0では、この制限が正しく適用されませんでした。その結果、次の警告が発生しました。
    5168: Restricted cache groups are deprecated
    5121: Non-standard type mapping for column
    NLS_NCHAR_CHARACTERSETがAL16UTF16でないときは、この警告ではなくエラー・メッセージが返される必要があります。この問題は、このリリースで修正されました。(Oracle Bug#8484931)
  • 以前のリリースでは、AWTキャッシュ・グループが存在する場合、レプリケーション・エージェントがエラー処理パスに渡されたときにクラッシュする可能性がありました。この問題は修正されました。(Oracle Bug#8491422)
  • 以前のリリースでは、ASYNCHRONOUS WRITETHROUGHを使用してOracle Databaseのデータを更新すると、データ値に引用符またはアポストロフィが含まれる行が正しくレプリケートされない場合がありました。このリリースでは、これらの文字が正しくエスケープされます。(Oracle Bug#8515674)
  • 以前のリリースのデバッグ・ビルドでは、同時更新が原因で、Tツリー索引の選択スキャンから行が予期せず追加または削除される場合がありました。この問題は修正されました。(Oracle Bug#8541463)
  • 以前のリリースでは、大規模表でパラレル・キャッシュ・ロード操作を実行すると、アサーション障害が、原因を"!atEOF"としてsbLogLRInfoReadルーチンで発生する可能性がありました。この問題は修正されました。(Oracle Bug#8571658)
  • このリリースでは、ttMigrateユーティリティのrestore(-r)およびcreate(-c)コマンドが次の終了コードを戻すように拡張されています。
    0 - すべてのオブジェクトが正常に保存/リストアされました
    1 - 一部のオブジェクトは正常に保存/リストアされましたが、他のオブジェクトはエラーにより保存/リストアされませんでした
    2 - 致命的エラー(なんらかの理由で接続できなかった、データ・ファイルを開けなかったなど)
    3 - 保存/リストア中に[CTRL]+[C]などの信号を受信しました
    (Oracle Bug#8637795)
  • パラレルのttMigrateリストア操作で、ロック・タイムアウト・エラーまたはデッドロックが発生する場合があるという問題は修正されました。(Oracle Bug#8637837)
  • AIXシステムでは、ツリー索引にアクセスしようとするとアプリケーションが断続的にハングする場合がありました。この問題は修正されました。(Oracle Bug#8671539)
  • 以前のリリースでは、パススルー・モードが1に設定されている場合、SQL文に未サポートの関数が含まれていると、その文はOracleに渡されませんでした。この問題は、このリリースで修正されました。(Oracle Bug#8672249)
  • RACでTimesTenを使用するとクラッシュが発生するという問題は修正されました。(Oracle Bug#8689348)
  • 以前のリリースでは、共有ラッチの取得時にプロセスが終了すると、その共有ラッチ取得と類似する別の共有ラッチ取得の同時UNDOによって、ラッチに不適切な情報が残る場合がありました。この問題は修正されました。(Oracle Bug#8723119)
  • HP-UX 32-bitシステムで発生する可能性のあったttClassesコンパイル・エラーは修正されました。(Oracle Bug#8744616)
  • このリリースでは、fluxwait関数のポーリング間隔は1秒から100ミリ秒に減りました。(Oracle Bug#8783994)
  • Oracle表もあわせて更新している場合、キャッシュ表のロードによって外部キー違反が発生するという問題は修正されました。この問題は、複数の表が含まれるキャッシュ・グループでのみ発生しました。(Oracle Bug#8818034)
  • このリリースのTimesTenキャッシュ・エージェントのタイマー・ルーチンでは、約248日(2^31センチ秒)の連続稼働時間の後、時間が正確に追跡されないという問題は修正されました。この問題によって、ユーザーが指定した間隔で自動リフレッシュが行われなかったり、自動リフレッシュの実際の間隔が後続の各リフレッシュによって増えることになりました。(Oracle Bug#8864772)

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

6.1 アクセス制御

  • Windowsシステムでは、アクセス制御を有効にしてOracle TimesTenをインストールすると、その後でインストールを変更したり、追加することはできません。たとえば、すでにOracle TimesTen Clientのみがインストールしてある場合に、Oracle TimesTen Data Managerをインストールするには、最初にOracle TimesTenを削除してから、システムにインストールするすべてのコンポーネントを再インストールする必要があります。
  • Authenticate 属性についてのドキュメントでは、アクセス制御について次の情報が記載されています。アクセス制御が有効な場合、Authenticate は0に設定されます。アクセス制御が有効でGroupRestrict も有効な場合、Authenticate は1に設定されます。

6.2 Oracle TimesTenのインストールおよび削除

  • TimesTen 7.0の『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』の第7章「アクティブ/スタンバイ・ペアの管理」にある「アクティブ/スタンバイ・ペアのデータ・ストアの更新」という項では、「オフラインのアップグレード」を使用すると記載されています。この記述は間違っています。TimesTen 7.0では、11.2.1のドキュメント(『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』の第2章「データ・ストアのアップグレード」にある「アクティブ/スタンバイ・ペア・レプリケーションでのオンライン・アップグレードの実行」という項)に記載されているオンラインのアップグレード手順を使用できます。
  • HP-UXオペレーティング・システムでVeritasファイル・システムを使用する場合は、TimesTenをインストールする前にオプションdiscovered_direct_ioszおよびmax_direct_ioszを3MBに設定します。詳細は、『Oracle TimesTen In-Memory Database追加情報』を参照してください。
  • TimesTenでは、SELinuxがサポートされていません。TimesTenで使用するためにLinuxをインストールする際は、SELinuxオプションが無効になっていることを確認してください。
  • Windows 64-bit Systemsでは、TimesTenの32-bitおよび64-bitインスタンスは同じマシンに共存できません。
  • データ・ストアに1つ以上のキャッシュ・グループが含まれる場合、TimesTenを7.0.0.0.0以前のリリースから今回のリリースにオンラインでアップグレードすることはできません。キャッシュ・グループを手動で作成し、新しいTimesTenのデータ・ストアにロードする必要があります。
  • TimesTen 7.0.x.x.xのベータ版で作成されたDSNは、TimesTen 7.0.1.0.0以上との互換性がありません。今回リリースのTimesTenを使用する前に、これらのDSNを削除する必要があります。
  • Cache Connect to Oracleを削除するには、Windows InstallShield WizardでModifyオプションを使用します。
  • Windowsでは、Oracle TimesTenを圧縮インストールから削除すると、timesten ルート・ディレクトリは削除されます。Oracle TimesTenを通常のインストールから削除すると、timesten ルート・ディレクトリは残りますが、空になります。
  • Linuxシステムでは、8GBを超える構成を持つユーザーは、kernel.shmmax の設定に加え、kernel.shmall パラメータの設定も必要になる場合があります。値の単位はKBで、ceil(SHMMAX/PAGE_SIZE) と同じにする必要があります。通常、ページ・サイズは、x86では4K、Itanium Systemsでは16Kです。
    たとえば、Itaniumに64GBのデータ・ストアがある場合、kernel.shmmax=68719476736 のみでなく、kernel.shmall=4194304 も必要です。
  • Oracle TimesTenを再インストールすると、既存のsys.odbc.ini およびsys.ttconnect.ini ファイルは、オプションでsys.odbc.ini.old およびsys.ttconnect.ini.old ファイルとして保存され、新しいデモ・ファイルがインストールされます。この場合、再インストール後に、定義されている可能性がある追加のDSNを手動でマージする必要があります。
  • 新しいRedHat Linux SystemにOracle TimesTenをインストールしようとしても、32-bitアプリケーションがサポートされていないことがあります。Redhat Enterprise Linuxのインストレーション・ガイドでは、32-bitアプリケーションを開発または実行するAMD64、Intel(R) EM64TおよびItaniumシステムのユーザーは、Compatibility Arch SupportパッケージおよびCompatibility Arch Development Supportパッケージを選択して、アーキテクチャ固有のサポートをシステムにインストールすることが推奨されています。

6.3 TTClasses

  • TTClassesは、64-bit Linuxでのgcc 3.0をサポートしていません。これは、64-bit Linux/IA-64のgcc 3.0で最適化されたビルド(-O)には、同じプラットフォームで同じコンパイラを使用したデバッグ・ビルトと比較すると、異なる(不適切な)ランタイム動作(例外のスローとキャッチに関連する)があるためです。
    64-bit LinuxでTTClassesをコンパイルする場合は、gcc 3.2またはgcc 3.4を使用します。
  • TTClassesでの問題によって、NCHAR / NVARCHAR2パラメータおよび列が不正確にバウンドされます。この結果、パラメータおよび列のデータが、NULL終了文字なしでデータベースとの間で転送されます。

6.4 Cache Connect to Oracle

  • OCIの不具合(7663894)によって、LOAD CACHE GROUPなどの特定のキャッシュ操作でEnd of File通信エラーが発生する場合があります。この問題は、11.1.0.7クライアントで修正されました。この問題が発生する場合は、Oracleクライアントをアンプグレードしてください。
  • Oracleサーバーの不具合(7512227)によって、TimesTenの自動リフレッシュでOracle実表に対する挿入および更新が失敗します。削除は失敗しません。Oracleサーバーの不具合はOracleリリース10.2.0.3以上で発生しますが、Oracle Database 11gでは発生しません。この問題には2つの解決策があります。
      • CURSOR_SHARED Oracleサーバー・パラメータをEXACTに設定します。
      • Oracleリリース10.2.0.3以上用の適切なOracleパッチをインストールします。
  • Metalinkのドキュメント793948.1を参照してください。
  • TimesTen Cache ConnectとともにOracle 10.2 OCIクライアントを使用している場合は、OCIクライアントのバージョンが10.2.0.4以上であることを確認してください。
  • TimesTen Cache Connectが正常に動作するには、hostname(インターネット・アドレス)およびuname -n (UUCPアドレス)の値が同じである必要があります。hostnameおよびuname -n の値が異なると、TimesTen Cache ConnectからOracleでの制約違反障害がレポートされる場合があります。または、uname -s を使用すると、インターネット・アドレスとUUCPアドレスが同じであることを確認できます。
  • 『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』(ttref.pdf)にあるAuthenticate属性の説明に、「Oracle表をキャッシュするには、Authenticateをオフにする必要があります。」という文があります。この記述は間違っています。
  • TWO SAFEレプリケートのシナリオにキャッシュ・グループがあると、次のシナリオでトランザクションが失敗する場合があります。
  • トランザクションがTWO SAFEレプリケーションのトランザクションである場合。
  • レプリケートされるトランザクションに、ALTER TABLE文またはALTER CACHE GROUP文がある場合。
  • トランザクションに、レプリケート表に対するINSERT文、UPDATE文またはDELETE文があり、レプリケートされるキャッシュ・グループまたはAWTキャッシュ・グループと、1つ以上のキャッシュ・グループがレプリケートされる場合。
  • Cache Connectを使用していて、TimesTenノードからOracleサーバーが(ネットワーク障害などが原因で)接続できなくなった場合、TimesTenプロセスは無期限に待機する場合があります。対処として、$ORACLE_HOME/network/admin/sqlnet.oraで、SQLNET.SEND_TIMEOUTおよびSQLNET.RCV_TIMEOUTクライアント・パラメータを設定します。sqlnet.oraパラメータは、OracleサーバーではなくTimesTenノードにあるクライアント・サイドでのみ更新する必要があります。
    たとえば、SQLNET.SEND_TIMEOUTSQLNET.RCV_TIMEOUTに100秒を設定すると、TimesTenからOracleへのすべての通信コールで、200秒以内にタイムアウトが発生します。タイムアウトの値は、通常の操作で不要なタイムアウトが発生しないように、十分な大きさに設定する必要があります。
  • TimesTenの内部テストでは、TimesTenキャッシュ・エージェントがクラッシュしたり、TimesTen Cache Connectを使用するマルチスレッド・アプリケーションがクラッシュするというOracle OCIに関する2つの不具合がわかっています。この不具合の識別と確認は済んでいます。この問題は、Oracleクライアント10.2.0.1以上のバージョンで発生します。修正版はまだリリースされていません。(Oracle Bug#6674731)
  • BINARY_DOUBLE型またはBINARY_FLOAT型をOracle Serverからキャッシュするときに、Oracle 10g リリース2以上のOCIクライアントを使用する必要があります。
  • 大規模キャッシュ・グループがフラッシュされ、フラッシュ中にOracleへの接続が失われた場合、アサーション障害が発生します。アサーション障害は、フラッシュ操作で10MBを超えるデータをフラッシュした場合にのみ発生します。
  • Solaris X86プラットフォーム(64-bit)用のリリース10.2.0.1.0のOracleクライアントで、SQL*Netトレースをレベル16に設定すると、Cache Connectアプリケーションは、OCIServerAttachコール中にコア・ダンプを作成して失敗します。これは、Oracle Bug#6407026で報告されているOCI問題によるものです。
  • Passthrough=3で1つ以上のフィールドをバインドする際に、パススルー文でsetTimestampをコールすると、セッションNLS_TIMESTAMP_FORMATが失われます。この問題の回避策として、TO_TIMESTAMP(?, 'syyyy-mm-dd hh24:mi:ss.ff9')およびTO_DATE(?,'syyyy-mm-dd hh24:mi:ss')を使用するようにSQL文を変更します。
  • UNIXでCache Connect to Oracleオプションを使用するには、$ORACLE_HOME/lib32または$ORACLE_HOME/lib(またはその両方)のOracleライブラリが、TimesTenを実行しているユーザーによって読取り可能であることを確認します。
  • 64-bit Windows SystemでCache Connect to Oracleオプションを使用するときに、32-bit TimesTenを使用する場合は、32-bit Oracleクライアントをインストールする必要があります。
  • Cache Administratorでのキャッシュ・グループの作成または変更時、選択したルート表にTIMESTAMP列が含まれることを検証する場合のみ、時間ベースのエージング・オプションが有効になります。この検証には、予想より時間がかかる場合があります。選択したルート表にTIMESTAMP列が含まれており、時間ベースのエージング・オプションが有効でない場合は、オプションが有効になるまで待ってください。
  • AUTOREFRESHキャッシュ・グループが含まれるTimesTenの障害ノードを複製処理によってリカバリする場合、かつOracle Databaseが使用可能でない場合は、さらにTimesTenのノード障害があり、Oracle Databaseで接続の問題が断続的に発生していると、完全自動リフレッシュが行われる可能性があります。
  • キャッシュ・グループには、参照先のない行(対応する親行のない行)を含めるべきではありません。参照先のない行は、手動リフレッシュまたは自動リフレッシュによって、失効したり、適切にリフレッシュされない可能性があります。それらの行は、アンロードまたはエージング操作では削除されません。また、OracleでFLUSH文を実行しても更新されません。
  • バージョンが異なるOracleクライアントおよびサーバーを実行すると、キャッシュ・エージェントでコア・ファイルがクラッシュする可能性があります。これは、Oracleクライアントの不具合が原因です。Metalink Note 342791.1またはBug#4499298を参照してください。この不具合は、Oracle Database 10g R2 10.2.0.1.0、Oracle Database 10g R1 10.1.0.5.0およびOracle9i 9.2.0.8.0で修正されています。この修正は、クライアントとサーバーの両方に影響するため、両方に修正を適用する必要があります。
  • RACで使用するためにCache Connect to Oracleを構成する場合は、次のいずれかのリリースのOracleクライアントを使用します。
  • Oracle10g リリース2 10.2.0.1.0以上
  • Oracle9i リリース9.2.0.8.0以上
  • Cache Administratorの使用時に、キャッシュ・グループを作成するとエラーが発生する場合は、生成された警告がエラーとともに表示されます。ただし、警告のみが生成される場合、それらの警告は表示されません。
  • 自動リフレッシュ・キャッシュ・グループ表に、名前がOracleのキーワード(TIMESTAMPなど)であるキー列が含まれている場合は、CREATE CACHE GROUP SQL文から次のエラーが送信される場合があります。
  • ORA-06553: PLS-320: この式の型の宣言が不完全か、または形式が誤っています。 rc = -1
  • キー列の名前にOracleのキーワードを使用しないでください。
  • Cache Administratorを使用している場合、「Cannot find server or DNS Error」エラーが発生する操作があります。
  • パススルー・レベルを1または2に設定したユーザー・アプリケーションは、Oracle TimesTen SQLが拡張されたために、Oracle TimesTen 7.0.0.0.0では動作が異なります。一部の文は、構文エラーが発生することがなくなり、OracleのかわりにOracle TimesTenで実行されます。
  • Cache Connect to Oracleオプションを使用している場合、JDBCメソッドPreparedStatement.setAsciiStreamPreparedStatement.setUnicodeStreamPreparedStatement.setBinaryStreamPreparedStatement.setCharacterStreamは、Oracleパススルー・モード1から3ではサポートされていません。
  • Windowsの場合、Oracleディレクトリ・サーバーを使用すると、キャッシュ・エージェントがOracleライブラリorantcp9.dllにアクセス違反を検出する場合があります。これは、Oracleの既知の問題です(Oracle MetaLinkのDoc ID Note:234794.1を参照)。この問題が発生した場合、「0xc0000005 (access violation) in ORANTCP9.dll」または「0x80010105 (unknown exception) in KERNEL32.dll.」のエラーが表示されます。この問題を回避するには、ディレクトリ・サーバーのかわりに、Oracleのtnsnames.oraを使用します。

6.5 レプリケーション(TimesTenからTimesTenへ)

  • AWTキャッシュ・グループを使用して構成されたアクティブ/スタンバイ設定では、アクティブ/スタンバイ・ノードのネットワークがOracle Serverから切り離されると、TimesTenノードでは、新しい接続の受入れを停止します。この場合は、マスターでレプリケーション・エージェントを停止してから再起動する必要があります。たとえば、次のようになります。
  • kill -9 replication_agent_process
  • ttCacheAdmin -stop master1
  • ttCacheAdmin -start master1
  • TWOSAFEトランザクションには、特殊なログ・レコードを含む特殊なトランザクション処理が含まれます。このため、TWOSAFEレプリケーションは、2つのストア構成のみをサポートするように設計されています。1つ以上のAWTキャッシュ・グループを持つTWOSAFEレプリケーションはサポートされていません。
  • TimesTen Cache Connectリリース6.0.2の不具合のため、リリース6.0.2とTimesTenの他のリリース間でキャッシュ・グループをレプリケートできません。このため、キャッシュ・グループに対するオンライン・アップグレードは、TimesTenの6.0.2と他のリリース間では機能しません。
  • ttMigrate は、ローカル・データ・ストアに存在しない表のレプリケーション要素を定義するレプリケーション・スキームをサポートしません。
  • 非常にまれな状況下で、レプリケートされるディテール表と、それに対応するマテリアライズド・ビューのペアが分岐することがあります。この分岐が発生するのは、マテリアライズド・ビューが次の両方の条件を満たしている場合のみです。
  • ビュー定義に、2つ以上の条件がある。
      • 条件のいずれかに、数値オーバーフロー、0(ゼロ)による除算、文字列の切捨てなど、例外を生成する可能性がある式が含まれている。
  • 2つのデータ・ストアでの条件評価の順序に違いがあると、1つの条件が評価された後、受信側のデータ・ストアでのみ例外が生成される場合、ディテール表に対する更新のレプリケートによって、分岐が発生する可能性があります。この結果、受信側のデータ・ストアは更新を拒否するため、ディテール表とマテリアライズド・ビューの分岐が発生します。このような分岐を回避するために、ユーザーは、式の評価時に例外を生成する可能性のあるマテリアライズド・ビューをレプリケートしないようにする必要があります。SQL CAST演算子を使用して、算術オーバーフローを回避できる場合があります。
  • DATASTORE要素を使用する新しいレプリケーション・スキームを5.1以上で作成した場合、下位方向(5.0、4.5など)には移行できません。リリース5.1より前のOracle TimesTenで作成したDATASTORE要素を含むスキームは、5.1に移行することも、その後で以前のリリースに再び移行することも可能です。
  • ttXLAApplyがレプリケーションの実装に使用されている場合、外部キーおよび一意制約を文レベルで検証することはできません。
  • レプリケーションが効率的に動作するには、peerのホスト名を短時間でIPアドレスに変換できる必要があります。Windowsでこれを効率的に行うには、ネットワーク上のホストに関する正確な情報を持つ有効なWINSサーバーまたは有効なDNSサーバーのいずれかを問い合せるようにWindowsマシンを設定する必要があります。このようなサーバーが存在しない場合は、静的なHOST-to-IPエントリを、
    %windir%\system32\drivers\etc\hosts or %windir%\system32\drivers\etc\lmhosts
    ファイルに入力できます。
    これらの4つのオプションのいずれかが欠落していると、Windowsマシンは、peerノードを検出するために非常に遅いブロードキャストを行います。また、定義されているWINSサーバーまたはDNSサーバーとWindowsマシンが通信できない場合、または誤った情報がこれらのサーバーに格納されている場合も、ホスト名の解決は非常に遅くなります。ping コマンドを使用して、ホストを効率的に特定できるかどうかをテストします。ping コマンドは、ホスト名の解決が適切に設定されている場合は即座に応答します。
  • レプリケーションでセカンダリIPアドレスを使用するように構成されている場合に、レプリケーションの受信側の状態を変更すると(つまり、開始または停止にすると)、不適切な構成が原因で、ttRepAdminは次のエラーを出力します。「Alter replication with "ALTER REPLICATION ... port 0" failed: TT0907: Unique constraint (REPSTORESIX) violated.」このエラーは、レプリケーションがローカル・データ・ストアを認識しないために発生します。この状況は、次の問合せによって確認できます。
    SELECT * FROM ttrep.ttstores WHERE is_local_store <> 0x0;
    この問合せで行が戻されないか、データ・ストアのメイン・ホスト名が、指定したホストではなく、"hostname"コマンドの結果に設定されている行が戻される場合は、/etc/hostsに構成の問題が発生しています。
    この問題を修正するには、使用している独自のホスト名が/etc/hostsで定義され、独自のホスト名と"hostname"コマンドの結果に共通のIPアドレスがあることを確認する必要があります。
    例: "hostname"コマンドが"softswitch"を戻し、ご使用のマシンに2つのEthernetカード(アドレス10.10.15.136と192.168.15.136)が搭載されているとします。また、softswitchに定義するIPアドレスには、両方のIPアドレスが含まれています。

6.6 クライアント/サーバー

  • WindowsのODBC 「Client DSN Setup」ダイアログ・ボックスで、「Server Name」がUNIXホストである場合、そのサーバーでDSNリストを取得する「Refresh」ボタンではリストを取得できず、UNIXサーバーのTimesTenデーモン・ホーム・ディレクトリでコア・ファイルが生成される場合もあります。ただし、既知のDSNが「Server DSN」フィールドに入力され、クライアントDSNエントリが正常に作成され、そのクライアントDSNを使用したWindowsからのTimesTen接続は正常に動作します。
  • 『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』には、6.0より前のTimesTenからのクライアント/サーバーのオンライン・アップブレードの手順が記載されています。また、TimesTen 7.0をインストールした後、次の手順を実行する必要もあります。
  • install_dir_70libttco.soinstall_dir_51にコピーします。
  • TimesTen Serverへの複数のクライアント接続を設定する場合は、スタック・サイズ(-ServerStackSizeデーモン・オプションまたはServerStackSize属性を使用)を64-bitシステムでは64KB未満、32-bitシステムでは48KB未満に設定しないでください。スタック・サイズが小さすぎると、TimesTen ServerがほとんどのUNIXシステムではSIGSEGVで、HP-UXではSIGBUSで停止します。
  • UNIXでttlocalhostを使用すると、あるTimesTenインスタンスのクライアントは、別のTimesTenインスタンスのサーバーに接続できません。この問題を回避するには、ttShmHost(共有メモリーIPC)またはlocalhost(127.0.0.1)を使用します。
  • IPCとして共有メモリーを使用している場合に、アプリケーションがシステム定義のプロセスごとのファイル記述子制限に達すると、アプリケーションでクライアント・ドライバからのエラー・メッセージ24が検出される場合があります。これは、アプリケーションにシステム定義のプロセスごとのファイル記述子制限より多くのオープン・ファイル記述子があることが原因でshmatシステム・コールが失敗した場合に、クライアントDSNへの接続操作中に発生することがあります。

6.7 接続属性

  • 『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』MemoryLockの説明では、Linuxシステムでこの属性を使用するにはroot権限が必要であると記載されています。この記述は間違っています。Linuxでroot以外のユーザーとしてMemoryLockを使用するには、memlock 設定のgroupnameを、/etc/security/limits.confファイルのインスタンス管理者と同じに設定します。memlock の値をTimesTenデータ・ストアの共有メモリー・セグメント以上に設定します。
    • HP-UXシステムでは、root以外のユーザーにはMLOCK権限が必要で、これはsetprivgrpコマンドを使用して有効になります。

      SolarisシステムでMemoryLock =1または2を使用するには、rootとしてインストールする必要があります。TimesTenのroot以外のインスタンスのデータ・ストアでは、Solarisシステムにおけるこの属性に3および4を設定できます。MemoryLockを3または4に設定すると、Solarisの"Intimate Shared Memory"を使用できるようになります。

  • Preallocate は、本来は初期接続属性ですが、データ・ストアの作成属性として実装されます。

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

  • ビュー定義で外部結合を使用して特定のマテリアライズド・ビューを停止した後、そのマテリアライズド・ビューのディテール表での後続のDML操作によって、一意制約違反が発生する場合があります。
  • 引数にTIME、DATEまたはTIMESTAMPデータ型を取るスカラー関数を使用する場合、データ型を示すリテラルを関数の接頭辞として指定する必要があります。たとえば、次のようになります。
  • SELECT GREATEST (TIME '10:10:10', TIME '12:12:12') FROM DUAL;
  • 日時リテラルを指定しないと、TimesTenではデータ型をCHARとして処理します。引数に日時リテラルを取る関数には、GREATEST、LEAST、ROUNDおよびADD_MONTHSがあります。
  • TimesTenでは、関数ADD_MONTHSおよびROUNDでデータ型TIMEを使用することはできません。
  • ROUND(date)は、OracleのDATE型に対してのみサポートされます。
  • 次の場合、ROUND (date)、ADD_MONTHS、GREATESTおよびLEAST FUNCTIONSでODBC文PREPAREの実行時にアサーションが発生することがあります。
      • 関数の引数の1つに、CASE式またはDECODE関数のいずれかを使用しており、予想されるデータ型が日時である
      • CASE式またはDECODE関数の戻り値が、NULLまたはパラメータ・バインディング(decode (x,0,NULL, ?))
  • たとえば、次のようになります。
  • SELECT GREATEST (CASE WHEN 'A' LIKE '__' THEN?END, TIME '11:11:11') FROM DUAL;
  • 対処として、次のように、バインド変数またはNULL値を予想される日時データ型にCASTします。
  • SELECT GREATEST (CASE WHEN 'A' LIKE '__' THEN CAST (? as TIME) END, TIME '11:11:11') FROM DUAL;
  • ORDER BY句は、CREATE TABLE AS SELECT文ではサポートされていません。
  • LIKE句を含む多言語ソート(NLS_SORT)操作は、_CIまたは_AI拡張子を付けてソートを指定すると、不正確な結果を戻します。
  • 問合せに指定した表の総数および問合せの処理に使用した一時集計の最大合計数は32です。一時集計は、スカラーまたは集計副問合せを処理するために必要です。問合せの表と一時集計の合計数が32を超える場合、問合せは「Statement that needs more than 31 nesting levels has not been implemented」というメッセージを発生して失敗します。
  • NLSSORT属性がバイナリ以外の値に設定されている場合でも、CHAR型を指定したCOUNT distinctでは、バイナリ・ソート順序およびバイナリ比較セマンティクスを使用します。
  • NLS_SORTセッション・パラメータが多言語ソート(FRENCH_Mなど)に設定されている場合、パターン一致のワイルド・カード記号が空白文字に適用されると、LIKE演算子で不正確な結果が戻される場合があります。
  • JDBCアプリケーションのSQL問合せ文字列には、データベース・キャラクタ・セットの文字のみを含める必要があります。データベース・キャラクタ・セットに含まれないUnicode文字は、問合せの解析時に、代替文字に変換されます。 次の方法で対処できます。
  • データベース・キャラクタ・セットとしてAL32UTF8を使用する。
  • データベース・キャラクタ・セット以外の文字を問合せテキストで使用しないように、問合せをパラメータ化する。
  • TO_CHAR SQL関数がBINARY_FLOATおよびBINARY_DOUBLE値に適用されると、一貫性のない結果になる(切捨てまたは四捨五入)場合があります。TO_CHARでは、四捨五入が必要なNUMBER値が切り捨てられる場合もあります。
  • マテリアライズド・ビューのディテール表に対する挿入や更新には、MERGE文を使用できません。
  • ディスクへのロギングが無効なデータ・ストアに対するMERGE操作は、エラーが戻され、失敗します。
  • HP-UXでアプリケーション・プロセスがOracle TimesTenデータ・ストアに接続し、そのアプリケーション・プロセスが同じデータ・ストアに関連付けられているトランザクションのttXactIdRollbackユーティリティAPIをコールすると、そのコールは失敗します。これは、データ・ストアの共有メモリー・セグメントにアタッチできないことが原因です。
  • ttOptSetColIntvlStats組込みプロシージャに対する4つ目の引数("stats ")は、ODBCファンクションを使用してパラメータ化できない複合構造です。つまり、次のような文は失敗します。
    SQLPrepare(hstmt, "call ttOptSetColIntvlStats('t1', 'c1', 1, ?)", SQL_NTS); 同様に、ttIsql describe コマンドも失敗します。これは、"stats "引数に既知の型が含まれないためです。

6.9 JDBC

  • JDK 5.0は、AIXまたはLinux AS 3.0(Itanium 64-bit)では使用できません。
  • javax.sqlパッケージのインタフェースでは、次のものがサポートされています。
      • TimesTenDataSourceで実装されるDataSource
      • ObservableConnectionで実装されるPooledConnection
      • ObservableConnectionDSで実装されるConnectionPoolDataSource
      • TimesTenXADataSourceで実装されるXADataSource
  • 注意: TimesTen JDBCドライバ自体はデータベース接続プールを実装しません。ObservableConnectionおよびObservableConnectionDSクラスは、J2EE標準に従ってデータベース接続プールの作成および管理を簡略化する標準J2EEインタフェースを実装しています。
  • Javaアプリケーションおよび解決方法への影響について、http://java.sun.com/developer/technicalArticles/Intl/USDST の記事「U.S. Daylight Saving Time Changes in 2007」を参照してください。その他のJDK/JREプロバイダについては、ベンダーのドキュメントを参照してください。
  • HP-UX 11 Systemsでは、32-bit JDBCクライアント・ドライバとダイレクト・ドライバは、1つのJVMに共存できません。これは、共有ライブラリのロードに問題があるためです。
  • 夏時間のあるタイムゾーンで実行している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'が取得されます。
  • Cache Connect to Oracle JDBCアプリケーションでは、Oracleへの接続を確立する際に、Solarisスレッド・ライブラリでデッドロックが発生する場合があります。これは、OracleおよびSolarisでの既知の不具合です(Oracle Bug#2095266および#2002293、SUNのケースID 62645007)。これは、SolarisでJava JDK 1.4以上とともにOracle TimesTen Cache Connect to Oracleを使用した場合に発生します。Solaris 8でこの問題を回避するには、/usr/lib/lwp内の代替スレッド・ライブラリを使用するように、LD_LIBRARY_PATHを変更します。例:
    setenv LD_LIBRARY_PATH=/usr/lib/lwp:$LD_LIBRARY_PATH

6.10 JMS/XLA

  • JMS/XLAは、国際化をサポートするためにOracle GDKを使用します。timestenjmsxla.jarには、JMS/XLAの動作がテスト済のorai18n.jarが含まれています。JMS/XLAは、orai18n.jar以外のバージョンでも動作しますが、動作は保証されていません。その他の詳細は、『Oracle TimesTen In-Memory Database Java開発者およびリファレンス・ガイド』を参照してください。この問題の対処は次のとおりです。
  • ご使用のOracle 11g のJavaアプリケーションでJMS/XLAが不要な場合は、CLASSPATHにtimestenjmsxla.jarを指定しないでください。
  • ご使用のOracle 11g のJavaアプリケーションでJMS/XLAが必要な場合は、CLASSPATHでtimestenjmsxla.jarの前に11gのorai18n.jar指定します。
  • スループットの問題を回避するため、通常はLinux(特にRed Hat Linux 3)で実行するJMS/XLAアプリケーションでは、『Oracle TimesTen In-Memory Database Java開発者およびリファレンス・ガイド』の高いイベント率の処理に関する項のパフォーマンスのガイドラインに従って、これらの問題に対処する必要があります。

7. Oracle TimesTenサポートへの連絡

オラクル製品サポートの購入方法、およびOracleサポート・サービスへの連絡方法の詳細は、次のURLを参照してください。http://www.oracle.com/support/contact.html

8. 著作権情報

Copyright ©1996, 2009, Oracle.All rights reserved.

ALL SOFTWARE AND DOCUMENTATION (WHETHER IN HARD COPY OR ELECTRONIC FORM) ENCLOSED AND ON THE COMPACT DISC(S) ARE SUBJECT TO THE LICENSE AGREEMENT.

The documentation stored on the compact disc(s) may be printed by licensee for licensee's internal use only.Except for the foregoing, no part of this documentation (whether in hard copy or electronic form) may be reproduced or transmitted in any form by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without the prior written permission of Oracle Inc.

Oracle, JD Edwards, PeopleSoft, Retek, TimesTen, the TimesTen icon, MicroLogging and Direct Data Access are trademarks or registered trademarks of Oracle Corporation and/or its affiliates.Other names may be trademarks of their respective owners.

The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws.Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited.

The information contained in this document is subject to change without notice.If you find any problems in the documentation, please report them to us in writing.This document is not warranted to be error-free.Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose.

September 21, 2009

Printed in the United States of America