このドキュメントでは、最新の情報と、正規のマニュアルにはまだ記載されていない情報について説明します。
Oracle TimesTen In-Memory Databaseをインストールするには、インストール・メディアからsetup
を実行します。
インストール情報については、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』(
install.pdf)を参照してください。 このファイルは、インストール・メディアのルートにあるdoc
ディレクトリに格納されています。
このマニュアルの構成は次のとおりです。
1. プラットフォーム
2. ソフトウェア要件およびインストール
3. ディスク領域の要件
4. 製品内容
5. 事前通知
6. このリリースでの変更点
7. 既知の問題および制限事項
8. Oracleサポート・サービス
9. 著作権情報
1. プラットフォーム
Oracle TimesTen In-Memory Databaseは、次の環境でサポートされています。
- POWERシステム用のAIX 5L 5.2(パッチ・レベル5200-08以上)および5.3(32-bitおよび64-bit)。コンパイルおよびテストには、AIXコンパイラが使用されています。
- PA-RISC CPU用のHP-UX 11iおよび11i v2(32-bitおよび64-bit)。 コンパイルおよびテストには、HPコンパイラが使用されています。
- Itanium2用のHP-UX 11i v2(バージョン11.23)(32-bitおよび64-bit)。 コンパイルおよびテストには、HPコンパイラが使用されています。
- AlphaChip EV68 CPU用のHP Tru64 UNIX 5.1B。 コンパイルおよびテストには、Compaq C/C++ 6.5コンパイラが使用されています。
- Intel IA-32、EM64TおよびAMD64 CPU用のMicrosoft Windows 2000、Windows XPおよびWindows Server 2003。 コンパイルおよびテストには、Intel 8コンパイラが使用されています。 Visual C++ 6.0およびVisual C++ 7.0(.NET)もサポートされます。
- Intel IA-32およびEM64T CPU用のMontaVista Linux Carrier Grade 4.0(32-bitおよび64-bit)。 コンパイルには、gcc 3.2.3が使用されています。テストには、gcc 3.0および3.2が使用されています。
- Intel IA-32、EM64TおよびAMD64 CPU用のOracle Enterprise Linux 4(32-bitおよび64-bit)。 コンパイルには、gcc 3.2.3が使用されています。テストには、gcc 3.2.3、3.4.3および4.1.0が使用されています。
- Intel IA-32、EM64TおよびAMD64 CPU用のRed Hat Enterprise Linux AS、ES、WS 3およびWS 4(32-bitおよび64-bit)。 コンパイルには、gcc 3.2.3が使用されています。テストには、gcc 3.2.3、3.4.3および4.1.0が使用されています。
- 64-bit Intel Itanium2 CPU用のRed Hat Enterprise Linux AS、ES、WS 3およびWS 4。 コンパイルおよびテストには、Intel 8.1コンパイラが使用されています。
- UltraSparcアーキテクチャCPU用のSolaris 8、9および10(32-bitおよび64-bit)。 コンパイルには、Sun Studio 11が使用されています。gcc 3.2.3を使用してコンパイルされたTimesTenクライアント・ライブラリとともに提供されます。
- AMD64 CPU用のSolaris 10(32-bitおよび64-bit)。 コンパイルおよびテストには、Sun Studio 10コンパイラが使用されています。
- Intel Itanium2 CPU用のSuSE Linux Enterprise Server 10 64-bit。 コンパイルおよびテストには、gcc 4.1.0が使用されています。
- Intel IA-32、EM64TおよびAMD64 CPU用のSuSE Linux Enterprise Server 9および10(32-bitおよび64-bit)。 コンパイルには、gcc 3.2.3が使用されています。コンパイルおよびテストには、gcc 4.1.0が使用されています。
Oracle TimesTen In-Memory Database TTClassesライブラリは、各プラットフォームの他のライブラリを構築するために使用されたコンパイラを使用してコンパイルされています。 使用されたコンパイラは、install_dir/lib
で、libttclasses.so
に付いているコンパイラの名前を調べることで確認できます。 たとえば、libttclasses.so.gcc343
は、gcc 3.4.3コンパイラを使用してコンパイルされています。 他のコンパイラを使用するには、TTClassesライブラリを再構築する必要があります。
Windowsでは、デフォルトのTTClassesライブラリはMicrosoft Visual C++ 6を使用して構築されています。これらのライブラリは、install_dir/lib
およびinstall_dir/bin
に格納されています。 TTClassesライブラリの構築には、Microsoft Visual C++ 7およびMicrosoft Visual C++8も使用されます。これらのライブラリは、それぞれinstall_dir/lib/vc7
およびinstall_dir/lib/vc8
に格納されています。 Microsoft Visual C++ 6で構築されたライブラリではなく、これらのライブラリを使用するには、ttclasses.dll
をinstall_dir/bin
ディレクトリにコピーし、ttclasses.lib
をinstall_dir/lib
ディレクトリにコピーします。
2. ソフトウェア要件およびインストール
ソフトウェア要件については、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。
3. ディスク領域の要件
次の表に、通常のインストールにおけるディスク領域の要件を示します。 「移動可能」という要件は、インストール時にユーザーが指定したファイル・システムにコンポーネントがインストールされることを示します。 変数install_dirは、現在のリリースのTimesTenがインストールされるディレクトリを示します。 TimesTenリリース7.0のデフォルトのインストール・ディレクトリは次のとおりです。
- Windowsの場合:
C:\TimesTen\tt70
- HP-UX、SolarisおよびLinuxの場合:
/opt/TimesTen/tt70
- AIXの場合:
/usr/lpp/TimesTen
/tt70
各オペレーティング・システムでは、移動できないシステム・ディレクトリに特定のファイルがインストールされます。 表はroot
インスタンスを想定し、移動可能なファイルを示しています。 TimesTenのドキュメントをインストールする場合は、表に示す数値に30MBを足してください。
オペレーティング・ システム
|
インストール・タイプ
|
ファイル・システム
|
移動可能
|
必要な領域
|
Windows 2000、XPまたは2003(32-bit)
|
TimesTen Data Manager
|
|
いいえ
|
10MB
|
|
はい
|
125MB
|
Windows 2000、XPまたは2003(32-bit)
|
TimesTen Client
|
|
いいえ
|
2MB
|
|
はい
|
70MB
|
Windows 2000、XPまたは2003(32-bit)
|
TimesTen Client、ServerおよびData Manager
|
|
いいえ
|
15MB
|
|
はい
|
150MB
|
Windows 2000、XPまたは2003(64-bit)
|
TimesTen Data Manager
|
|
いいえ
|
10MB
|
|
はい
|
125MB
|
Windows 2000、XPまたは2003(64-bit)
|
TimesTen Client
|
|
いいえ
|
2MB
|
|
はい
|
70MB
|
Windows 2000、XPまたは2003(64-bit)
|
TimesTen Client、ServerおよびData Manager
|
|
いいえ
|
15MB
|
|
はい
|
170MB
|
Solaris 8、9および10(32-bitまたは64-bit)
|
TimesTen Data Manager
|
|
はい
|
170MB
|
|
いいえ
|
50KB
|
Solaris 8、9および10(32-bit)
|
TimesTen Client
|
|
はい
|
70MB
|
Solaris 8、9および10(32-bitまたは64-bit)
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
175MB
|
|
いいえ
|
50KB
|
Solaris x86およびx8664
|
TimesTen Data Manager
|
|
はい
|
255MB
|
|
いいえ
|
50KB
|
Solaris x86およびx8664
|
TimesTen Client
|
|
はい
|
70MB
|
Solaris x86およびx8664
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
260MB
|
|
いいえ
|
50KB
|
Oracle Enterprise Linux 4(32-bit)
|
TimesTen Data Manager
|
|
はい
|
145MB
|
|
いいえ
|
50KB
|
Oracle Enterprise Linux 4(32-bit)
|
TimesTen Client
|
|
はい
|
65MB
|
Oracle Enterprise Linux 4(32-bit)
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
150MB
|
|
いいえ
|
50KB
|
Oracle Enterprise Linux 4(64-bit)
|
TimesTen Data Manager
|
|
はい
|
235MB
|
|
いいえ
|
50KB
|
Oracle Enterprise Linux 4(64-bit)
|
TimesTen Client
|
|
はい
|
80MB
|
Oracle Enterprise Linux 4(64-bit)
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
245MB
|
|
いいえ
|
50KB
|
Red Hat Enterprise Linux ES、AS、WS 3およびWS 4、またはSUSE LINUX Enterprise Server(32-bit)
|
TimesTen Data Manager
|
|
はい
|
145MB
|
|
いいえ
|
50KB
|
Red Hat Enterprise Linux ES、AS、WS 3およびWS 4、またはSUSE LINUX Enterprise Server(32-bit)
|
TimesTen Client
|
|
はい
|
65MB
|
Red Hat Enterprise Linux ES、AS、WS 3およびWS 4、またはSUSE LINUX Enterprise Server(32-bit)
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
150MB
|
|
いいえ
|
50KB
|
Red Hat Enterprise Linux ES、AS、WS 3およびWS 4、SUSE LINUX Enterprise Server、MontaVista Carrier Grade Edition(Linux)リリース4.0
x8664 CPU(64-bit)
|
TimesTen Data Manager
|
|
はい
|
140MB
|
|
いいえ
|
50KB
|
Red Hat Enterprise Linux ES、AS、WS 3およびWS 4、SUSE LINUX Enterprise Server、MontaVista Carrier Grade Edition(Linux)リリース4.0
x8664 CPU(64-bit)
|
TimesTen Client
|
|
はい
|
70MB
|
Red Hat Enterprise Linux ES、AS、WS 3およびWS 4、SUSE LINUX Enterprise Server、MontaVista Carrier Grade Edition(Linux)リリース4.0
x8664 CPU(64-bit)
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
145MB
|
|
いいえ
|
50KB
|
Intel Itanium2 CPU用のRed Hat Enterprise Linux ES、AS、WS 3およびWS 4、またはSUSE LINUX Enterprise Server(64-bit)
|
TimesTen Data Manager
|
|
はい
|
235MB
|
|
いいえ
|
50KB
|
Intel Itanium2 CPU用のRed Hat Enterprise Linux ES、AS、WS 3およびWS 4、またはSUSE LINUX Enterprise Server(64-bit)
|
TimesTen Client
|
|
はい
|
80MB
|
Intel Itanium2 CPU用のRed Hat Enterprise Linux ES、AS、WS 3およびWS 4、またはSUSE LINUX Enterprise Server(64-bit)
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
245MB
|
|
いいえ
|
50KB
|
PA-RISC用のHP-UX 11iおよびHP-UX 11i v2(32-bitまたは64-bit)
|
TimesTen Data Manager
|
|
はい
|
180MB
|
|
いいえ
|
50KB
|
|
いいえ
|
50KB
|
PA-RISC用のHP-UX 11iおよびHP-UX 11i v2(32-bitまたは64-bit)
|
TimesTen Client
|
|
はい
|
70MB
|
|
いいえ
|
50KB
|
|
いいえ
|
50KB
|
PA-RISC用のHP-UX 11iおよびHP-UX 11i v2(32-bitまたは64-bit)
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
195MB
|
|
いいえ
|
50KB
|
|
いいえ
|
50KB
|
HP-UX 11i IA32またはIA64
|
TimesTen Data Manager
|
|
はい
|
190MB
|
|
いいえ
|
50KB
|
|
いいえ
|
50KB
|
HP-UX 11i IA32またはIA64
|
TimesTen Client
|
|
はい
|
80MB
|
|
いいえ
|
50KB
|
|
いいえ
|
50KB
|
HP-UX 11i IA32またはIA64
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
200MB
|
|
いいえ
|
50KB
|
|
いいえ
|
50KB
|
AIX 5.2および5.3(32-bitまたは64-bit)
|
TimesTen Data Manager
|
|
はい
|
220MB
|
|
いいえ
|
50KB
|
AIX 5.2および5.3(32-bit)
|
TimesTen Client
|
|
はい
|
70MB
|
|
いいえ
|
50KB
|
AIX 5.2および5.3(32-bitまたは64-bit)
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
230MB
|
|
いいえ
|
50KB
|
Tru64 5.1B-2
UNIX
|
TimesTen Data Manager
|
|
はい
|
155MB
|
Tru64 5.1B-2
UNIX
|
TimesTen Client
|
|
はい
|
70MB
|
Tru64 5.1B-2
UNIX
|
TimesTen Client、ServerおよびData Manager
|
|
はい
|
160MB
|
4. 製品内容
Oracle TimesTen In-Memory Databaseリリース7.0.2.0.0には、次のものが含まれています。
- 『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』: このマニュアルには、Oracle TimesTen In-Memory Databaseのインストール、オンライン・ドキュメントの表示、アップグレードの実行およびインストールの問題についてトラブルシューティングを行う方法が示されています。
- 『Oracle TimesTen In-Memory Databaseリリース・ノート』(このドキュメント): このドキュメントには、正規のマニュアルには記載されていない最新情報が示されています。
- Oracle TimesTenのインストール・メディア: このインストール・メディアには、Oracle TimesTenライブラリと実行可能ファイル、デモ・プログラム、ユーティリティおよびオンライン・ドキュメントが収められています。
インストール・メディアに収められているマニュアルは、次のとおりです。
- 『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のリファレンス: この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 APIリファレンス・ガイド』を参照してください。 (ms.odbc.pdf)
- 『Oracle TimesTen In-Memory Databaseリリース・ノート』: 前述の説明を参照してください。
- 『Oracle TimesTen In-Memory Database動作の変更点』 (behaviorchanges.txt)
前述の内容で1つでも不足しているものがある場合は、Oracleサポート・サービスにご連絡ください。 詳細は、「Oracleサポート・サービス」を参照してください。
5. 事前通知
5.1 リリース7.0.1.0.0での削除アイテム
このリリースで、この問題は削除されました。
- enableTables 属性は、JMS/XLA構成ファイルではサポートされなくなりました。 ブックマークの管理には、ttXlaBookmarkCreate、ttXlaBookmarkDelete、ttXlaSubscribeおよびttXlaUnsubscribe 組込みプロシージャを使用します。
5.2 リリース7.0.1.0.0での非推奨アイテム
このリリースでは、次に示すアイテムは下位互換性を目的としてサポートされますが、将来のリリースで削除される予定です。 非推奨のアイテムを使用すると、警告メッセージが表示されます。
- Threadsafe 属性。 デフォルトでは、同じデータ・ストアに対する複数の同時接続がサポートされています。
- ExclAccess 属性。データ・ストアは共有モードでロードされます。
- SMPOptLevel 属性。
- Logging 属性のディスクレス・モード。
- 一時データ・ストアのレプリケーション。
- SELECT FOR UPDATE ON ORACLE SQL文。
- CREATE CACHE GROUPおよびALTER CACHE GROUP SQL文のWITH LIMIT句。
- CREATE CACHE GROUPおよびALTER CACHE GROUP SQL文のDURATIONオプション。
- 制限付きキャッシュ・グループ。
- ttCachePolicy 組込みプロシージャは、ttCachePolicySetに置き換えられました。
- ttRepPolicy 組込みプロシージャは、ttRepPolicySet に置き換えられました。
- ttXlaDeleteBookmark 組込みプロシージャは、ttXlaBookmarkDelete に置き換えられました。
- JDBCクラス・ファイル:
classes14.jar
は、ttjdbc14.jar
に置き換えられました。 classes15.jar
は、ttjdbc5.jar
に置き換えられました。 - ttCacheAgingMemoryThresholdSetおよびttCacheAgingIntervalSet組込みプロシージャ。
5.3 リリース7.0.1.0.0で削除されたリリース6.0での非推奨アイテム
次に示すアイテムは、Oracle TimesTen In-Memory Databaseリリース6.0では非推奨でしたが、下位互換性を目的としてサポートされていました。 これらのアイテムは、リリース7.0.1.0.0からは削除されています。
- ttRepRRXactIdGet 組込みプロシージャは削除されました。 かわりにttRepXactTokenGet を使用します。
- ttRepRRXactStatus 組込みプロシージャは削除されました。 かわりにttRepXactStatus を使用します。
- SQL_C_ADDR ODBC型は削除されました。
- ttRepDuplicate およびttRepDuplicateAcc ユーティリティAPIは、ttRepDuplicateEx に置き換えられました。
- 組込みプロシージャの名前が次のように変更されました。 以前の名前はサポートされなくなりました。
- ttCGGenSQL は、ttCacheSqlGet に変更されました。
- ttCGMonitor は、ttCacheMonitor に変更されました。
- ttCacheSetMemoryThreshold は、ttCacheAgingMemoryThresholdSet に変更されました。
- ttCacheSetAgingInterval は、 ttCacheAgingIntervalSet に変更されました。
- ttCachePropagateFlag は、ttCachePropagateFlagSet に変更されました。
- ttOracleAgentStart は、ttCacheStart に変更されました。
- ttOracleAgentStop は、ttCacheStop に変更されました。
- ttOracleAgentPolicy は、ttCachePolicy に変更されました。
- ttAdmin
-oracleUidPwdSet
は、ttAdmin
-cacheUidPwdSet
に変更されました。
- ttAdmin 、ttMigrate およびttRepAdmin
-duplicate
の引数に対して次のようにコマンドラインが変更されました。 以前の引数名はサポートされなくなりました。
- -
oracleUid
は、-cacheUid
に変更されました。 - -
oraclePwd
は、-cachePwd
に変更されました。 - ttAdmin
-oracleUidPwdSet
は、ttAdmin
-cacheUidPwdSet
に変更されました。 - ttAdmin
-oraAgentStart
は、ttAdmin
-cacheStart
に変更されました。 - ttAdmin
-oraAgentStop
は、ttAdmin -cacheStop
に変更されました。 - ttAdmin
-oraAgentPolicy
は、ttAdmin
-cachePolicy
に変更されました。
- ttIsqlコマンド
cggensql
は、cachesqlget
に変更されました。 cggensql
コマンドはサポートされなくなりました。 - SNMPトラップの名前が次のように変更されました。
- Oraは、Cacheに変更されました。
- Oracle Cache Agentは、Cache Agentに変更されました。
- TimesTen Oracle Connectは、Timesten Cacheに変更されました。
- Windowsで環境変数を設定するTimesTenの
ttVars.bat
スクリプトは、次のものに置き換えられました。
- install_dir
/bin/ttenv.bat
- install_dir
/demo/ttdemoenv.bat
- UNIXで環境変数を設定するTimesTenの
ttSetEnv.csh
およびttSetEnv.sh
スクリプトは、次のものに置き換えられました。
- install_dir
/bin
: ttenv.csh
およびttenv.sh
- install_dir
/demo
: ttdemoenv.csh
およびttdemoenv.sh
6. このリリースでの変更点
6.1 リリース7.0.1.0.0からリリース7.0.2.0.0での変更点
- ttMigrateユーティリティは、表およびマテリアライズド・ビューのリストア時に統計の更新または見積りをサポートしています。
ttMigrate -r
コマンドでは、オプションとして-updateStats
または-estimateStats
percentRowsコマンドライン・フラグを指定し、これらのタスクを実行できます。 - このリリースでは、MapMessage.getLongおよびMapMessage.getStringを使用してDATEおよびTIMESTAMPフィールドにアクセスできます。 MapMessage.getLongはUNIX epoch(1970年1月1日 00:00:00 UTC)からのマイクロ秒を返すため、MapMessage.getStringより効率的です。ただし、MapMessage.getLongはナノ秒の精度をサポートしていません。 TIMESTAMPにナノ秒の精度が必要な場合は、MapMessage.getStringを使用します。
- このリリースのTimesTenは、NFSマウント・システム上では動作しません。 このリリースでは、
-allowNetworkFiles
デーモン・オプション(リリース7.0.1.0.0にのみ存在)が無効になりました。 - 以前のリリースでは、2つ以上のリーダーがMessage.acknowledgeという別々のJMSセッションをほぼ同時に使用すると、一方のコールがTimesTenエラー8031で失敗しました。この問題は修正されました。 (BugDB #5653780)
- 3つのヒープのいずれか1つのみから発生するヒープ割当てのため、レプリケートされたスキーマのパッシブ・サブスクライバ・データ・ストア上で断片化が発生するという問題は修正されました。 (BugDB #572904)
- 以前のリリースでは、TCP接続が失敗するとttRepSubscriberFailedTrapがスローされました。 これによって、TimesTenが接続を再試行するとログが一杯になりました。 このリリースでは、SNMPトラップttRepTCPFailedTrapが追加され、TCP接続が失敗した場合にスローされます。 (BugDB# 5862800)
- このリリースでは、XLAによってオープンされたファイル記述子に対してアプリケーションが誤って操作を実行する問題を回避しようとします。 以前は、アプリケーションがXLAによってオープンされたファイル記述子に対するクローズ、読取りまたは検索を実行すると、エラーまたはアサーションが発生していました。 現在、XLAはそのような多数のアプリケーション・エラーを検出し、リカバリできるようになりました。 この機能は、XLAがアプリケーション・エラーに対してより強固な回復力を持つようになり、また、アプリケーション・プログラマがそのようなエラーを検出して修正できることを目的としています。 そのようなエラーをすべてXLAで検出し、リカバリするのは不可能です。 そのため、アプリケーション開発者がこれらのエラーを修正することが重要になります。 (BugDB# 5866888)
- 以前のリリースでは、TTCommand::ExecuteImmediateメソッドにエラーが発生した場合、Dropをコールしないという問題が存在しました。 この問題は修正されました。 (BugDB# 5895768)
- 以前のリリースでは、外部結合でマテリアライズド・ビューのNULL値の列が更新されないという問題が存在しました。 この問題は修正されました。 (BugDB#5908860)
- このリリースでは、SQLでコンパイルされたコマンド・キャッシュが改良されました。 (BugDB #5899760)
- ハッシュ・バケットの数が32から129に増えました。
- ハッシュ・アルゴリズムが改良されました。
- このリリースには、新しい組込みプロシージャttSqlCmdCacheInfoGetが含まれています。 この組込みプロシージャはパラメータをとらず、次の結果セットを返します。
cmdCount: キャッシュ内のコマンドの数。
freeableCount: 実行時にサブデーモンによってガベージ・コレクトされる解放可能なコマンドの数。
size: キャッシュされたすべてのコマンドを格納するように割り当てられた現在の合計領域。
- 行を指定しなかった場合、ttSizeユーティリティがエラー「value for -rows must be a number」を返すという問題は修正されました。 (BugDB# 5898208)
- MontaVista 64-bit Systemで2GBより大きいデータ・ストアを作成できないという問題は修正されました。 (BugDB# 5909588)
- TimesTen 7.0.1.0.0では、64-bit Windows Systemで稼働している32-bitクライアント・アプリケーションはTimesTen Serverに接続できませんでした。 この問題は修正されました。 (BugDB# 5916382)
- 異なるリリースのTimesTenデータ・ストアを複製しようとした場合に返されるエラー・メッセージは、TimesTenのリリースが一致していないことを示すように改良されました。 (BugDB# 5937159)
- このリリースでは、高速パス結合計画が改良されました。 (BugDB# 5941648)
- Linux Systemsでは255を超える値、Solaris Systemsでは269を超える値が含まれるNOT IN句を含む問合せがハングするという問題が修正されました。 (BugDB# 5954612)
6.2 リリース7.0.0.0.0からリリース7.0.1.0.0での変更点
6.2.1 リリース7.0.1.0.0での新しいアイテム
- 現在、WindowsのTimesTenインストールには、Microsoft Visual C++ 6、7および8で構築されたTTClassesライブラリが含まれています。
- Windowsにインストールした場合、TimesTenのデフォルトのインスタンス名は
tt
release_bitとなります。 たとえば、TimesTen 7.0.1.0.0の32-bitインスタンスの名前は、デフォルトでtt70_32となります。 デモDSN名にも、現在はビット・レベルが含まれています。たとえば、RunData_tt70_32 やRunData_tt70_64 となります。 - SQL関数LENGTH4、LENGTHB、SUBSTR4、SUBSTRB、INSTR4およびINSTRBが、このリリースでサポートされています。
- TransparentLoadデータ・ストア属性が、このリリースで追加されました。
- ResultSet.getCharacterStreamおよびPreparedStatement.setCharacterStreamが、このリリースでサポートされています。
- UNIX Systemsでは、サイレント・バッチ・アンインストールがサポートされています。
- 『Oracle TimesTen In-Memory Databaseアーキテクチャ概要』が『Oracle TimesTen In-Memory Database概要』に変更されました。.
- 『Oracle TimesTen In-Memory Database推奨されたプログラミングの実行』は、install_dir/docには含まれなくなりました。 このドキュメントについては、Oracle Technical Network Japan(OTN-J)のWebサイトを参照してください。そのサイトでは、TimesTenのリリース間での変更を含め、頻繁に更新が行われています。
- Linuxの大規模ページをサポートするために、
-linuxLargePageAlignment
デーモン・オプションがこのリリースで追加されました。 - デーモンのポートが異なる場合のレプリケーションを許可するために、ttRepAdmin -duplicate操作でオプション
-verbosity
および-remoteDaemonPort
が使用可能になりました。 - ttRepAdmin
-duplicate
操作で、オプション-recoveringNode
および-deferCacheUpdate
が使用可能になりました。 これらのオプションによって、Oracle Databaseが使用できない場合に、キャッシュ・グループを含むデータ・ストアの複製が容易になります。 - 現在、CkptLogVolume データ・ストア属性のデフォルト値は0です。
- SQLGetStmtOption ODBC関数に、TimesTen TT_STMT_PASSTHROUGH_TYPEオプションが追加されました。 このオプションを使用すると、準備された特定の文が、Cache Connect to Oracleのパススルー機能によってOracleにパススルーされるかどうかを判断できます。 『Oracle TimesTen In-Memory Database C開発者およびリファレンス・ガイド』(C_dev.pdf)を参照してください。
- JMS/XLA構成ファイルの場所を、ユーザーが指定できるようになりました。
- 『Oracle TimesTen In-Memory Database Java開発者およびリファレンス・ガイド』(java_dev.pdf)を参照してください。
- SPARCおよびx86 CPUのSolaris 64-bit Systemsで動作するTimesTenで、JRockitがサポートされています。
6.2.2 リリース7.0.1.0.0での不具合の修正
- 以前のリリースでは、キャッシュ・グループの作成後にコミットを実行しなかった場合、キャッシュ・グループにOracleデータを透過的にロードしようとすると、アサーションが発生していました。 このリリースでは、操作はエラーを戻して正常に終了します。 (BugDB#5620835)
- WHERE句にCHAR列が指定されている場合、SELECT操作中にキャッシュ・グループにOracleデータを透過的にロードすると失敗するという問題は修正されました。 (BugDB#5620947)
- SELECTリストに空の文字列があった場合、キャッシュ・グループに対するSQL操作でOracleへのパススルーを実行できないという問題は修正されました。 (BugDB#5636129)
- このリリースでは、ttMigrateユーティリティでシーケンス・キャッシュ値を適切に移行できるようになりました。 (BugDB#5659154)
6.3 リリース6.0.7からリリース7.0.0.0.0での変更点
TimesTenリリース7.0.0.0.0以降、製品のバージョン番号は、次のように5桁の数値で表されます。
TimesTen製品のバージョン = Major.Minor.Patch.Dot4.Dot5
- Major : メジャー・リリース・バージョンを示します。リリースには、製品のインフラストラクチャと機能の両方の変更が含まれます。
- Minor : マイナー・リリース・バージョンを示します。インフラストラクチャに大きな変更はありませんが、製品に重要な新機能が追加されています。
- Patch : メンテナンス・リリースを示します。前回のメンテナンス・リリースの後に行われたすべての不具合の修正が含まれています。
- Dot4 : 予定されている次のパッチ・リリースまで待つことができない不具合の修正リリースのバージョンを示します。
- Dot5 : 特殊なケースで使用します。
6.3.1 リリース7.0.0.0.0での新機能
- Oracle TimesTenでは、次のデータ型のOracleセマンティクスをサポートしています。
- CHAR
- NCHAR
- VARCHAR2
- NVARCHAR2
- BINARY_FLOAT
- BINARY_DOUBLE
- NUMBER
- DATE
- TIMESTAMP
アプリケーションをOracle TimesTenの以前のバージョンからアップグレードする場合は、新しいデータ・ストア作成属性TypeMode =1を使用する必要があります。これによって、下位互換性モードが有効になり、このリリースの新しいOracleデータ型セマンティクスではなく、以前リリースされていたTimesTenデータ型のセマンティクスが提供されます。 TypeMode は、デフォルトで0(Oracleデータ型セマンティクス)に設定されています。 Cache Connect機能を使用するときは、TypeMode を0に設定する必要があります。
- Oracle TimesTenでは、グローバリゼーション・サポートを提供しています。 この機能には、次のものが含まれます。
- CHAR/VARCHAR2列での非ASCIIデータの格納および操作
- すべての文字データ型のロケール固有コレクション
- 言語ソートおよび言語索引
- キャラクタ・セットのサポート
データ・ストアは、特定のデータベース・キャラクタ・セットを使用して作成する必要があります。 データ・ストアと接続では、異なるキャラクタ・セットを指定できます。 TimesTenでは、データベース・キャラクタ・セットと接続キャラクタ・セット間の変換が処理されます。
- このリリースのTimesTenでは、変更されたOracle HRスキーマが提供されています。 このスキーマは、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のいくつかの例で使用されています。
- このリリースでは、自動データ・エージングの2つのフォームが導入されました。これらのフォームは、キャッシュ・グループ内の表およびキャッシュ・グループ外の表で使用可能です。 エージングのフォームには、使用状況ベース(最近の使用状況)のものと、時間ベースのものがあります。 アプリケーションで時間ベースのエージングを使用すると、Oracle TimesTenでデータのスライド・ウィンドウをキャッシュできます。
6.3.2 SQLの拡張機能
サポートされているSQL文の拡張機能
- ON DELETE CASCADE句がサポートされています。 参照キー値を含む行が親表から削除されると、依存する外部キー値を持つ子表の行も削除されます。
- UNIQUE HASH ON ... PAGES=オプションがCREATE TABLE文から省略されると、主キーにTツリー索引が作成されます。
- 1より大きいレベルの行の値コンストラクタがサポートされます。
- HAVING句では副問合せがサポートされます。
- 条件の右側のオペランドに副問合せが指定されていないかぎり、左側のオペランドで副問合せを指定できます。 (右側のオペランドでは、引き続き副問合せを指定できます。 右側のオペランドに副問合せが指定されている場合、左側のオペランドには副問合せを指定できません。)
- GROUP BY句では式がサポートされます。
- SELECT FOR UPDATEによって、更新時にロックする必要がある表の指定が許可されます。
- 問合せに外部結合演算子(+)を指定すると、その問合せに副問合せを指定できます。
- MINUSおよびINTERSECT集合演算子がサポートされます。
- 集合演算子(UNION、MINUS、INTERSECT)をビュー定義に指定できます。
- 主キーを同じ値に更新できます。
- エントリを1つのみ持つIN条件の値リストにカッコは不要です。
- ROWNUM擬似列がサポートされます。
- FIRST NおよびN TO M句にパラメータを指定できます。
- 表は最大1000列を含むことができます。
- SQL問合せのパフォーマンスが向上しました。
新しいSQL文
- 1つ以上のソースから行を選択し、更新またはターゲット表に挿入するには、MERGE文を使用します。
- NLS_SORT、NLS_LENGTH_SEMANTICS、 NLS_NCHAR_CONV_EXCPセッション・パラメータを動的に変更するには、ALTER SESSION文を使用します。
新しいSQL関数
- CHR( n )関数は、データベース・キャラクタ・セットにバイナリ値n を持つ文字を戻します。 結果はVARCHAR2データ型です。
- NCHR(n )関数は、Unicode値n を持つ文字を戻します。 結果はNVARCHAR2データ型です。
- UNISTR(string )関数は、文字列をNVARCHAR2データ型に解決します。
- ASCIISTR(string )関数は、文字列をASCII文字に解決します。 非ASCII文字はUnicodeのエスケープに変換されます。
- COALESCE関数は、式リストの最初の非NULL式を戻します。
- DECODE関数は、式と各検索値を1つずつ比較します。
- TO_NUMBER関数は、文字列、BINARY FLOATまたはBINARY DOUBLEデータ型を数値データ型に変換します。
- TRUNC ( expression )関数は、指定した桁数に切り捨てられた数値を戻します。
- TRUNC ( date )関数は、書式モデルで指定された単位に切り捨てられた時刻とともに日付を戻します。
- NLSSORT関数は、指定した文字列のソート・キー値を戻します。
これらのSQL操作の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』(sql.pdf)を参照してください。
6.3.3 XLAおよびJMS/XLAの拡張機能
- 表へのXLAサブスクリプションは、ブックマーク・レベルで行うことができます。 7.0より前のリリースと異なり、XLAサブスクリプションはすべてのブックマークに適用されるわけではありません。
- XLAでは、特定の変更更新レコードについて表および列のバージョン情報を取得できます。 また、表定義と変更更新レコードの互換性を確認することもできます。
- JMS/XLA APIを使用すると、ソース・データ・ストアからターゲット・データ・ストアに更新をレプリケートできます。
6.3.4 クライアント/サーバーの拡張機能
- 6.0のクライアントが7.0のデータ・ストアに、また7.0のクライアントが6.0のデータ・ストアに接続できます。 6.0のクライアントが7.0のデータ・ストアに接続するには、
-insecure-backwards-compat
デーモン・オプションを使用します。 詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』(operations.pdf)を参照してください。 - メインのTimesTenサーバー・プロセスを停止する前に子サーバー・プロセスを停止するには、ttDaemonAdmin ユーティリティの
-stopserver
オプションに-force
オプションを指定して使用します。
6.3.5 Cache Connect to Oracleの拡張機能
- キャッシュ・グループには、使用状況ベース(最近の使用状況)のエージングと、時間ベースのエージングを構成できます。
- SELECT問合せでキャッシュ・グループ表のデータを検出できない場合に、Oracle表からキャッシュ・グループ表に自動的にデータをロードするようにOracle TimesTenを構成できます。 『Oracle TimesTen Cache Connect to Oracle開発者および管理者ガイド』(cacheconnect.pdf)を参照してください。
6.3.6 レプリケーションの拡張機能
- 7.0と7.0より前のデータ・ストアの間でレプリケーションを行う場合は、
-insecure-backwards-compat
デーモン・オプションを使用して、これらのデータ・ストアに接続します。 詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』(operations.pdf)を参照してください。 - 読取り専用のサブスクライバを持つアクティブなスタンバイ・ペアは、Cache Connect to Oracleで使用できるようになりました。 この構成では、AUTOREFRESHキャッシュ・グループ属性が指定された読取り専用のキャッシュ・グループおよびASYNCHRONOUS WRITETHROUGHキャッシュ・グループがサポートされます。 この構成の主なメリットは、マスターからスタンバイへのフェイルオーバー時に、スタンバイ・データ・ストアでの完全自動リフレッシュが不要になったことです。
- レプリケーション・マスターは、最大128のサブスクライバを保持できます。
- レプリケーション競合レポートは、XML形式で生成されます。 『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』(replication.pdf)を参照してください。
6.3.7 ユーティリティの拡張機能
- ttAdoptStores ユーティリティが新しく追加されました。 UNIX Systemsでは、このユーティリティによって、TimesTenインスタンスから同じマイナー・バージョンの新しいTimesTenインスタンスにデータ・ストアが移動されます。
- ttIsql ユーティリティに新機能が追加されました。属性の設定と表示、およびコマンド履歴の保存が可能です。
6.3.8 組込みプロシージャの拡張機能
- ttConfiguration 組込みプロシージャを使用すると、データ・ストアのODBC属性を問い合せることができます。
- ttLockWait 組込みプロシージャを使用すると、100ミリ秒の粒度でロック待機値を指定できます。
- ttOptShowJoinOrder 組込みプロシージャを使用すると、オプティマイザの結合順序を表示できます。
6.3.9 新しい組込みプロシージャ
- ttAgingLRUConfig : 使用状況ベースのエージングを使用して定義された表に対する最近の使用状況(LRU)エージング・ポリシーを設定および表示します。
- ttAgingScheduleNow : エージング・プロセスを即時に開始するか、外部スケジューラで使用された場合は希望の時刻に開始します。
- ttCachePolicyGet : 接続されているデータ・ストアのTimesTenキャッシュ・エージェントをいつ実行するかを判断するためのポリシーを戻します。
- ttCachePolicySet : 接続されているデータ・ストアのTimesTenキャッシュ・エージェントをいつ実行するかを判断するためのポリシーを定義します。
- ttConfiguration : 現行の接続におけるほとんどのODBC接続属性の値を戻します。
- ttHostNameGet : レプリケーションによって使用されるローカル・ホストの名前を戻します。
- ttHostNameSet : レプリケーションによって使用される現行のデータ・ストアのローカル・ホストの名前を設定します。 非標準的なネットワーク構成で役に立ちます。
- ttOptGetMaxCmdFreeListCnt : SQLでコンパイルされたコマンド・キャッシュのサイズを戻します。
- ttOptSetMaxCmdFreeListCnt : SQLでコンパイルされたコマンド・キャッシュのサイズを設定します。
- ttOptSetMaxPriCmdFreeListCnt : マテリアライズド・ビューを保持するコマンドに対し、SQLでコンパイルされたコマンド・キャッシュのサイズを設定します。
- ttRamPolicyGet : データ・ストアがいつシステムのRAMにロードされるかを判断するためのポリシーを戻します。
- ttRamPolicySet : データ・ストアがいつシステムのRAMにロードされるかを判断するためのポリシーを設定します。
- ttRepPolicyGet : データ・ストアがいつシステムのRAMにロードされるかを判断するためのポリシーを戻します。
- ttRepPolicySet : 接続されているデータ・ストアのTimesTenレプリケーション・エージェントをいつ実行するかを判断するためのレプリケーション再起動ポリシーを定義します。
- ttRepTransmitGet : 現行のトランザクションにおけるサブスクライバへの更新の送信ステータスを戻します。
- ttRepTransmitSet : この組込みプロシージャを実行した接続に対する後続の更新を、任意のサブスクライバにレプリケートすることを停止します。
- ttXlaBookmarkCreate : 指定したブックマークを作成します。
- ttXlaBookmarkDelete : 指定したブックマークを削除します。
これらの組込みプロシージャの詳細は、『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』(tt_ref.pdf)を参照してください。
6.3.10 新しい属性
- DatabaseCharacterSet : データ・ストアで使用するキャラクタ・セットを指定します。 この属性は、データ・ストアの作成時に必要です。 デフォルト値はありません。
- TypeMode : データ・ストアのデータ型モードを指定します。 デフォルトは0です。
- ConnectionCharacterSet : 接続のキャラクタ・エンコーディングを指定します。 データベース・キャラクタ・セットがTIMESTEN8でないかぎり、デフォルトはUS7ASCIIです。
- NLS_LENGTH_SEMANTICS : デフォルトの長さセマンティクス構成を設定します。 デフォルトはBYTEです。
- NLS_NCHAR_CONV_EXCP : NCHAR/NVARCHAR2データとCHAR/VARCHAR2データ間での暗黙的または明示的なキャラクタ・タイプ変換でデータが失われた場合、エラーをレポートするかどうかを判別します。 デフォルトは0です。
- NLS_SORT : 言語比較で使用する照合順番を指定します。 デフォルトはBINARYです。
これらの属性の詳細は、『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』(tt_ref.pdf)を参照してください。
6.3.11 新しいデーモン・オプション
ttdaemon.options
ファイルで、次の新しいオプションを指定できます。
-supportlog
: デフォルトはdaemonhome/ttmesg.log
です。 -maxsupportlogfiles
: デフォルトは10です。 -maxsupportlogsize
: デフォルトは0x100000です。 -userlog
: デフォルトはdaemonhome/tterrors.log
です。 -maxuserlogfiles
: デフォルトは10です。 -maxuserlogsize
: デフォルトは0x100000です。
6.3.12 その他の拡張機能
- デフォルトのログ・バッファ・サイズは、64MBに増えました。
- TempSize 属性のデフォルトは、6MB以上です。 この属性の値は、引き続きPermSize 値から導出されます。
- シリアライズ可能分離での同時スキャンが行われないコミット読取り分離モードの場合、同じトランザクションで同じ行に対して行った複数の更新、または同じトランザクションで挿入された行の削除では、次のロックは適用されません。
- ODBCドライバでは、アプリケーションでパススルー文用に提供されているSQLデータ型を使用します。
- オプティマイザで使用する場合、列および行の統計の収集および計算時に行はロックされません。
- BINARY_FLOATおよびBINARY_DOUBLE SQL型では、IEEE浮動小数点値Inf(正の無制限)、-Inf(負の無制限)およびNaN(数値以外)をサポートします。
7. 既知の問題および制限事項
7.1 アクセス制御
- Windows Systemsでは、アクセス制御を有効にしてOracle TimesTenをインストールすると、その後でインストールを変更したり、追加することはできません。 たとえば、すでにOracle TimesTen Clientのみがインストールしてある場合に、Oracle TimesTen Data Managerをインストールするには、最初にOracle TimesTenを削除してから、システムにインストールするすべてのコンポーネントを再インストールする必要があります。
7.2 Oracle TimesTenのインストールおよび削除
- Windows 64-bit Systemsでは、TimesTenの32-bitおよび64-bitインスタンスは同じマシンに共存できません。
- TimesTenのドキュメントには、Windows PlatformsにおけるデフォルトのTimesTenインスタンス名およびデモDSN名にビット・レベルが含まれていることが記載されていません。
- データ・ストアに1つ以上のキャッシュ・グループが含まれる場合、TimesTenを以前のリリースから今回のリリースにオンラインでアップグレードすることはできません。 キャッシュ・グループを手動で作成し、TimesTen 7.0のデータ・ストアにロードする必要があります。
- 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 Systemsでは、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 EM64TおよびItaniumシステムのユーザーは、Compatibility Arch SupportパッケージおよびCompatibility Arch Development Supportパッケージを選択して、アーキテクチャ固有のサポートをシステムにインストールすることが推奨されています。
7.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終了文字なしでデータベースとの間で転送されます。
7.4 Cache Connect to Oracle
- 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を参照してください。この不具合は、Oracle10g R2 10.2.0.1.0、Oracle10g R1 10.1.0.5.0およびOracle9i R2 9.2.0.8.0で修正されています。この修正は、クライアントとサーバーの両方に影響するため、両方にこの修正を適用する必要があります。
- RACで使用するためにCache Connect to Oracleを構成する場合は、次のいずれかのリリースのOracleクライアントを使用します。
- 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 Oralsオプションを使用している場合、JDBCメソッドPreparedStatement.setAsciiStream、PreparedStatement.setUnicodeStream、PreparedStatement.setBinaryStream、PreparedStatement.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
を使用します。
7.5 レプリケーション(TimesTenからTimesTenへ)
- 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または%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が戻され、使用しているマシンにはアドレスが10.10.15.136と192.168.15.136の2つのイーサネット・カードが搭載されているとします。 また、softswitchに定義するIPアドレスには、両方のIPアドレスが含まれています。
7.6 クライアント/サーバー
- UNIXでttlocalhostを使用すると、あるTimesTenインスタンスのクライアントは、別のTimesTenインスタンスのサーバーに接続できません。 この問題を回避するには、ttShmHost(共有メモリーIPC)またはlocalhost(127.0.0.1)を使用します。
- IPCとして共有メモリーを使用している場合に、アプリケーションがシステム定義のプロセスごとのファイル記述子制限に達すると、アプリケーションでクライアント・ドライバからのエラー・メッセージ24が検出される場合があります。 これは、アプリケーションにシステム定義のプロセスごとのファイル記述子制限より多くのオープン・ファイル記述子があることが原因で
shmat
システム・コールが失敗した場合に、クライアントDSNへの接続操作中に発生することがあります。
7.7 接続属性
7.8 ユーティリティ、プロシージャおよびSQL
- このリリースでは、ttMigrateユーティリティの
-convertCGTypes
オプションは適切に機能しません。 - 科学的表記のすべての数値定数は、自動的にNUMBERに変換されます。 1つの副次的な結果として、E < -130のすべての定数が0に切り捨てられます。これは、NUMBER型が1.0E-130より小さい値を表すことができないために発生します。たとえば、E < -130の値をBINARY_DOUBLE列に挿入する場合、これは問題になることがあります。 これを回避するには、接尾辞
d
を使用して数値定数を強制的にBINARY_DOUBLEリテラルにします。 たとえば、次のようになります。 CREATE TABLE t (A BINARY_DOUBLE);
INSERT INTO t VALUES (1.0E-200);
INSERT INTO t VALUES (1.0E-200d);
SELECT * FROM t;
<0.0e+0>
<1.0e-200>
- char(5)列に10文字を指定するなど、最大長より長いパラメータ値を指定すると、ODBCエラー22003「String data right truncation」が発生します。
- 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
引数に既知の型が含まれないためです。
7.9 ODBC/JDBC
- 期間がB.C.のデータを持つDATEフィールドの場合、クライアント/サーバー・モードでは、ResultSet.getString()は正常に機能しません。 対処方法として、ResultSet.getTimestamp()を使用してください。
- JDK 5.0は、AIXまたはLinux AS 3.0(Itanium 64-bit)では使用できません。
- 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
7.10 JMS/XLA
- スループットの問題を回避するため、通常はLinux(特にRed Hat Linux 3)で実行するJMS/XLAアプリケーションでは、『Oracle TimesTen In-Memory Database Java開発者およびリファレンス・ガイド』の高いイベント率の処理に関する項のパフォーマンスのガイドラインに従って、これらの問題に対処する必要があります。
8. Oracleサポート・サービス
オラクル製品サポートの購入方法、およびOracleサポート・サービスへの連絡方法の詳細は、次のURLを参照してください。
http://www.oracle.com/support/contact.html
9. 著作権情報
Oracle TimesTen In-Memory Databaseリリース・ノート, リリース7.0.2
部品番号: E05536-01
原本名: Release Notes for Oracle TimesTen In-Memory Database 7.0.2.0.0
原本部品番号: B31692-02
Copyright ©1996, 2007, Oracle.All rights reserved.
制限付権利の説明
このプログラム(ソフトウェアおよびドキュメントを含む)には、オラクル社およびその関連会社に所有権のある情報が含まれています。このプログラムの使用または開示は、オラクル社およびその関連会社との契約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権と工業所有権に関する法律により保護されています。独立して作成された他のソフトウェアとの互換性を得るために必要な場合、もしくは法律によって規定される場合を除き、このプログラムのリバース・エンジニアリング、逆アセンブル、逆コンパイル等は禁止されています。
このドキュメントの情報は、予告なしに変更される場合があります。オラクル社およびその関連会社は、このドキュメントに誤りが無いことの保証は致し兼ねます。これらのプログラムのライセンス契約で許諾されている場合を除き、プログラムを形式、手段(電子的または機械的)、目的に関係なく、複製または転用することはできません。
このプログラムが米国政府機関、もしくは米国政府機関に代わってこのプログラムをライセンスまたは使用する者に提供される場合は、次の注意が適用されます。
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software—Restricted Rights (June 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065.
このプログラムは、核、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーションへの用途を目的としておりません。このプログラムをかかる目的で使用する際、上述のアプリケーションを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。万一かかるプログラムの使用に起因して損害が発生いたしましても、オラクル社およびその関連会社は一切責任を負いかねます。
Oracle、JD Edwards、PeopleSoft、Siebelは米国Oracle Corporationおよびその子会社、関連会社の登録商標です。その他の名称は、他社の商標の可能性があります。
このプログラムは、第三者のWebサイトへリンクし、第三者のコンテンツ、製品、サービスへアクセスすることがあります。オラクル社およびその関連会社は第三者のWebサイトで提供されるコンテンツについては、一切の責任を負いかねます。当該コンテンツの利用は、お客様の責任になります。第三者の製品またはサービスを購入する場合は、第三者と直接の取引となります。オラクル社およびその関連会社は、第三者の製品およびサービスの品質、契約の履行(製品またはサービスの提供、保証義務を含む)に関しては責任を負いかねます。また、第三者との取引により損失や損害が発生いたしましても、オラクル社およびその関連会社は一切の責任を負いかねます。