リリース・ノート
リリース11.2.1
B55286-05(原本部品番号:E13080-46)
2012年6月
このドキュメントでは、TimesTenリリース11.2.1.9.5に関する最新情報、および正規のマニュアルにはまだ記載されていない情報について説明します。このドキュメントの最新版は、インストール・ディレクトリ内にあるreadme.html
ファイルです。最新のメジャー・リリースのTimesTenドキュメントについては、次を参照してください。
http://www.oracle.com/technetwork/products/timesten/documentation/
11.2.1.8.0より前のTimesTen 11.2.1リリースに関する情報は、次を参照してください。
http://www.oracle.com/technetwork/products/timesten/documentation/1121-historic-183693.html
Oracle TimesTen In-Memory Databaseをインストールするには、インストール・メディア・パックからsetupを実行します。インストールの詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。このガイドは、インストール環境のinstall_dir
/doc/
にあります。
このドキュメントの内容は、次のとおりです。
このセクションでは、リリース間の変更点を示します。
このリリースでは、表を変更して、デフォルト値を持つNOT NULL
列を追加できます。DEFAULT
句は必須です。以前のリリースでは、NULL値可能列のみ追加できました。
この機能の構文は、次のとおりです。
ALTER TABLE ADD [COLUMN]
columnname columntype
NOT NULL DEFAULT
defaultvalue
この機能の制限は、次のとおりです。
レプリケーション・スキームの一部である表にNOT NULL
列を追加することはできません。表にNOT NULL
列を追加する前に、まず、レプリケーション・スキームから表を削除する必要があります。
表を変更し、NOT NULL DEFAULT
句を持つ列を追加する場合、主キー列として列を使用することはできません。具体的には、コマンドALTER TABLE ADD
constraintname
PRIMARY KEY (
columnname
[,...])
の列を指定することはできません。
表を変更し、NOT NULL DEFAULT
列を含む列を追加する場合、時間ベースのエージングに列を使用できません。具体的には、文ALTER TABLE ADD AGING USE
ColumnName
の列は指定できません。
XLA機能ttXlaGenerateSQL
は、ALTER TABLE ADD COLUMN...NOT NULL DEFAULT
操作でNOT NULL
句をサポートするよう変更されています。
NULL値可能な列の場合、ttXlaColDesc_t.nullOffset
は、列のレコードのNULLバイトを指します。列にNULLを指定できない場合、このフィールドは0
(ゼロ)で、列にNULL
を指定できる場合、このフィールドは0
より大きくなります。
NULL値可能な列(ttXlaColDesc_t.nullOffset > 0
)の場合、列がNULL
かどうか判断するには、ttXlaUpdate_t*
のアドレスにNULLオフセットを追加し、(符号なしのCHAR
)バイトが1
(NULL
)か0
(NOT NULL
)かを確認します。
レプリケーションのしきい値を超えるとトリガーされるレプリケーション・ピアの障害状態(TT_REPLICATION_INVALID
)が、データベースの無効化またはアンロードでリセットされるという問題は修正されました。その結果、TimesTenはリロード後に警告TT8025
ではなく警告TT20100
を発行していました。(Oracle Bug#13777958)
TimesTenレプリケーション・デーモン・エージェントのメモリー使用量が時間の経過とともに増加するという問題は修正されました。これは、非同期のWRITETHROUGHキャッシュ・グループおよびCacheAWTMethod=
0
(SQL配列の実行メソッド)で発生するメモリー・リークが原因でした。(Oracle Bug#14005918)
エラー・メッセージTT116067
が、報告する障害の原因の詳細を表示するように拡張されました。デーモン・ログには、エラー・メッセージの直後にエラーの根本的な原因に関する情報が示されています。(Oracle Bug#14009090)
TimesTenリリース11.2.1.7.0では、非同期のWRITETHROUGHキャッシュ・グループでアサーション障害が発生するという問題は修正されました。11.2.1.7.0のリリース・ノートは、この修正に合わせて更新されました。リリース・ノート・ファイルは、http://www.oracle.com/technetwork/products/timesten/documentation/1121-historic-183693.html
にあります(Oracle Bug#14146561)
Oracle Clusterwareでの自動クライアント・フェイルオーバー構成の使用時に、TimesTenサーバーでコア・ダンプが発生するという問題は修正されました。この問題は、サーバーがアイドル状態の場合でも発生する場合がありました。(Oracle Bug#14176141)
アクティブ・スタンバイ・フェイルオーバーの発生後に、グローバル・キャッシュ・グループからOracleへの変更の伝播が再開しないという問題は修正されました。(Oracle Bug#14012725)
このリリースには、アサーションの発生時にデータベースの.inval
ファイルに記録される追加の診断が含まれています。
XLAアプリケーションの承認後に、XLALSN
がdbheader
ファイルに移動しないという問題がありました。この問題は修正されています。(Oracle Bug#12317769)
クライアントがシステムに同時リクエストを送信する際、アクティブ/アクティブ・レプリケーション・スキームでアサーション障害が発生していました。この問題は修正されています。(Oracle Bug#13852031)
OCIでは、名前の先頭部分としてOCIDescribeAny
に渡された場合に、スキーマ名が使用されないという問題は修正されました。(Oracle Bug#13852209)
以前のリリースでは、非同期のWRITETHROUGHキャッシュ・グループでのNUMBER
列へのTT_TINYINT
列のマッピングにより、データが破損していました。この問題は、このリリースで修正されました。(Oracle Bug#13920878)
キャッシュ・グリッドの使用時に、TimesTenにより一時エラーが永続エラーとして解釈されるという問題がありました。この問題は修正されています。(Oracle Bug#13830396)
TimesTen組込みプロシージャと同じ名前のパブリック・シノニムは作成できません。以前は、これが可能でした。アプリケーションがTimesTen組込みプロシージャと同じ名前のパブリック・シノニムを参照する場合、TimesTenはエラーを返します。
動的キャッシュ・グループ機能は、複数のキャッシュ・グループに存在する表間の結合を含むように拡張されました。DynamicLoadEnable
接続属性は、この機能をサポートするように拡張されました。『Oracle In-Memory Database Cacheユーザーズ・ガイド』および『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。
TimesTenは、Oracle Clusterwareリリース11.2.0.2でサポートされています。
このリリースには、新しい組込みプロシージャttOptCmdCacheInvalidate
が含まれており、アプリケーションによる依存コマンドの再コンパイルまたは無効化が可能になります。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。
このリリースでは、ttRepAdmin -duplicate
操作の実行時に、オプション-localIPAddress
および-remoteIPAddress
を使用して、複製の宛先にローカルまたはリモートIPアドレスを指定できるようになりました。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のデータベースの複製に関する説明を参照してください。また、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および開発者ガイド』も参照してください。
マルチバイト・キャラクタ・セットを使用するデータベースで発生するttBulkCp
NLS変換時の問題を修正しました。(Oracle Bug#12548957)
PLSQL_MEMORY_SIZE
接続属性の値を2048に設定すると、手動のRAMロードの動作が停止するという問題は修正されました。(Oracle Bug#12882032)
以前のリリースでは、ユーザーが関数TO_CHAR
、TO_NUMBER
またはTO_DATE
の使用時に誤ったデータ型の引数を指定した場合、TimesTenでは、アサーション障害が発生しました。このリリースでは、この場合にTimesTenによってエラーが返されます。(Oracle Bug#12965491)
システム表SYS.SYSAUTH$
で統計を更新すると、インスタンス管理者でないユーザーは新しい接続を確立することができませんでした。これは修正されています。(Oracle Bug#12883865)
環境によって、ユーザー・ログ(tterrors.log*
)およびサポート・ログ(ttmesg.log*
)のローテーションが発生しない場合があるという問題が修正されました。たとえば、メイン・デーモンをデーモン・ログにはロギングせずに、レプリケーション・エージェント、キャッシュ・エージェントまたはサーバーに長時間ロギングする場合に、この問題が発生していました。(Oracle Bug#12975853)
TimesTen OCIでは、OCIDescribeAny
を使用して、表のCHAR NOT NULL
またはVARCHAR NOT NULL
型の列を記述すると、誤った列長になります。この問題は修正されています。(Oracle Bug#12988605)
同じ列名が各ビューまたは導出表で使用されている場合、FROM
句に複数のネストされたレベルの複合ビューまたは導出表を持つ問合せでのアサーションは修正されました。(Oracle Bug#13006645)
以前のリリースでは、cacheCleanUp.sql
スクリプトは、Oracleにインストールされているすべてのキャッシュ・オブジェクトをクリーン・アップしない場合がありました。これは修正されました。(Oracle Bug#13069393)
以前のリリースでは、ODBC SQLDescribeCol
関数を使用して、定義にUNION ALL
句を含むビューに対して問合せを発行すると、誤った列名になっていました。これは修正されています。(Oracle Bug#13090724)
以前のリリースでは、TimesTenは、アプリケーションがコミットされていないトランザクションのグリッド・メンバーに挿入しようとした際に、エラー3137
を返していました。これは修正されています。(Oracle Bug#13116969)
データベースへの接続がデータベースに対して問合せを実行するPL/SQLプロシージャを実行すると同時に、他の接続によって問合せで参照する表が変更された場合、TimesTenによってエラー954
が返されるという問題がありました。この問題は修正されています。(Oracle Bug#13147026)
接続中にマルチスレッド・アプリケーションを強制終了すると、ORA-00600
エラーが発生する場合がありました。現在これは、エラーになりません。(Oracle Bug#13251708)
以前のリリースでは、TT_BIGINT
型の列に関する比較または計算が含まれるSQL文によって、TimesTenエラー「4053: Internal error: Bad data type for char」
が発生していました。これは修正されています。(Oracle Bug#13256717)
ttAdmin
ユーティリティが拡張され、RAMポリシーが手動
に設定されている場合に、障害発生後データベースが自動的にメモリーにリロードされているかを、ユーザーが判断できるようになりました。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。(Oracle Bug#13339311)
インライン・ビューでの集計関数の不正な使用によって、コンパイル時にアサーションが発生する場合がありました。現在は、かわりにエラー2765: invalid use of aggregate function
が返されます(Oracle Bug#13349543)
以前のリリースでは、グループ制限を加えられたTimesTenインスタンスで、.inval
ファイルなどの一部の診断ファイルに不正な権限がありました。この問題は修正されています。(Oracle Bug#13399296)
動的なグローバル・キャッシュ・グループの複数のノードが所有するグリッド・インスタンスでのDELETE
操作中にエラーが返されるという問題がありました。この問題は修正されています。(Oracle Bug#13402540)
TimesTen内部ブックキーピングは、自動リフレッシュ操作の完了後に残された不要なTimesTenオブジェクトを削除するように改善されました。(Oracle Bug#13443440)
このリリースでは、同じOracle Databaseをキャッシュする複数のTimesTenデータベースで複数のttRepAdmin -duplicate
操作を同時に実行できます。以前のリリースでは、これはできませんでした。(Oracle Bug#13468080)
グリッドのメンバーが強制的にデタッチされると、Oracleに伝播されていないすべての変更が破棄されます。以前のリリースでは、グローバル・キャッシュ・グループはアンロードされていました。このリリースでは、Oracleに伝播されなかった変更がローカルAWTキャッシュ・グループに属する場合は、ローカルAWTキャッシュ・グループもアンロードされます。(Oracle Bug#13516887)
複数のCRS管理操作をアクティブ・スタンバイ・ペアのアクティブ・ノードで同時に実行すると、予期しないフェイルオーバーが発生することがありました。この問題は修正されています。(Oracle Bug#13525183)
64-bitシステムで、ttIsql
ユーティリティ・コマンドcmdcache by cmdid
は、32-bit TT_INTEGER
型より大きい値を受け入れませんでした。この問題は修正されています。(Oracle Bug#13530046)
インライン・ビューおよびGROUP BY
句を含む複雑な問合せの実行中に、関数sbColGetTupNumAndPos
でアサーション障害が発生していました。この問題は修正されています。(Oracle Bug#13562164)
以前のリリースでは、アクティブ・スタンバイ・ペアでの更新後のCOMMIT
によって、TimesTenエラー971
および16080
が発生する場合がありました。このリリースには、この問題を防止するための追加の整合性チェックが含まれています。(Oracle Bug#13590358)
Windowsシステムでは、TimesTenのアンインストール後にoci.dll
が残る問題が修正されました。(Oracle Bug#13599945)
以前のリリースでは、複数のAND
操作を含むSELECT
文により、キャッシュ表で予期しない結果が発生することがありました。これは修正されています。(Oracle Bug#13701176)
以前のリリースでは、READONLYキャッシュ・グループを使用する顧客からOracleでのユーザー・ロック
競合が大量に報告されました。これは修正されています。(Oracle Bug#13786327)
PreparedStatement
またはCallableStatement
のパラメータの数が4の整数倍でない場合、JDBCクライアント・サーバー・ドライバはメモリーをリークしました。これは修正されています。(Oracle Bug#13018571)
以前のリリースでは、ノードがアタッチされてない場合(アタッチ・リクエストはキャッシュされた表のコミット済の更新すべてが伝播されないと完了しません)、グローバルAWTキャッシュ・グループのキャッシュされた表でコミット済の削除が伝播されませんでした。これはこのリリースで修正されています。再アタッチ中に、失敗したノードをTimesTenが再アタッチできる、現在アタッチされているすべてのノードを確認した後、グリッドは伝播が可能な状態になります。(Oracle Bug#13416457)
このリリースには、組込みプロシージャttGridFirstMemberAttach
が含まれています。グリッドのアタッチされているすべてのメンバーが停止した場合、ttGridAttach
のかわりにこの組込みをコールして、グリッドの1つ目のメンバーをアタッチします。ttGridFirstMemberAttach
組込みの構文は、既存のttGridAttach
組込みプロシージャと同じで、これについては、『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。1つのメンバーのみからttGridFirstMemberAttach
をコールします。この組込みプロシージャをコールする前に、他のすべてのメンバーのキャッシュ・エージェントが停止していることを確認します(そうでない場合、プロシージャで障害が発生します)。(Oracle Bug#13465148)
以前のリリースでは、PLSQL_MEMORY_SIZE
は内部的に1GBに制限されており、これにより、より多くのメモリーをリクエストするPL/SQLアプリケーションで問題が発生していました。このリリースでは、1GBの制限はなくなりました。(Oracle Bug#13548390)
以前のリリースでは、グリッドの終了したメンバーに応答するレスポンス時間が非常に長くかかっていました。このリリースでは、グローバル・キャッシュ・グループの動的ロード、グローバル問合せまたは挿入の間に、終了したグリッド・メンバーに関連するエラーがある場合のTimesTenの応答時間が短縮されました。(Oracle Bug#13476427)
このリリースのデフォルトでは、複数のキャッシュ・グループを指定する問合せで動的ロードが許可されています。主キーまたは外部キーの定数およびパラメータに等価制約がある各キャッシュ・グループで動的ロードが発生する場合があります。結合問合せでは、結合計画によって実行されたスキャンで、ローカル・ノードに行が見つからなかった場合のみ動的ロードが発生します。(Oracle Bug#13081079)
OCIDescribeAny()
のバグ12700101の修正により、BINARY_FLOAT
、BINARY_DOUBLE
、NUMBER
、TIMESTAMP
、DATE
型では、適切なスケールおよび精度が返されます。また、CHAR
およびBYTE
セマンティクスは、NCHAR
、NVARCHAR
データ型に適切に記述されています。OCIDescribeAny()
を使用するOCIアプリケーションを更新する必要がある場合があります。
次の文は、アクティブ・スタンバイ・ペアのスタンバイ・データベースでは実行できません: CREATE USER
、DROP USER
、ALTER USER
、GRANT
およびREVOKE
接続属性DDLReplication
が1
より大きい値に設定されている場合、CREATE SYNONYM
およびDROP SYNONYM
も実行できません。
TimesTenは、Oracle Exalogic Elastic Cloud (Exalogic)でサポートされています。Exalogicでの動作保証は、1/4ラックのExalogicのバージョン1.0サーバーでTimesTenを使用して実施されました。ExalogicでのTimesTenのインストールの詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。
ttcwadmin -beginAlterSchema
コマンドを使用して、Oracle Clusterwareによって管理されるアクティブ・スタンバイ・ペア・スキームを変更できます。DDLReplicationLevel=2
では自動的にレプリケートできないレプリケート済オブジェクトを追加または削除するには、通常、代替レプリケーション・スキームが使用されます。変更操作に含められるレプリケート済オブジェクトには、データを含む表に対するキャッシュ・グループ、PL/SQLプロシージャ、順序、マテリアライズド・ビューおよび索引があります。
特定の間隔の完全リフレッシュで指定された非同期マテリアライズド・ビューは、リフレッシュ率が増加していました。この問題は修正されました。(Oracle Bug#12799775)
ビットマップ索引が定義された列に関するOR
条件を含む問合せの計画を表示すると、アサーションが発生する場合がありました。この例では、ビットマップ索引は列a
およびb
で定義されています。
EXPLAIN SELECT * FROM bitm WHERE (a=1 OR b=1);
問合せ計画を表示すると、データベースが無効になる場合がありました。この問題は修正されました。(Oracle Bug#12381228)
以前のバージョンでは、空きブロックが空きリストに追加されない場合、チェックポイント中に障害が発生していました。現在では、空きリストに入っていない空きブロックは、データベースを再起動すると、適切に空きリストに追加されるようになりました。(Oracle Bug#11930552)
Linuxシステムでは、キャッシュ・エージェントによって、自動リフレッシュが完了していないことを示すデーモン・ログ・メッセージが不正に生成されていました。このリリースでは、この問題を理解するための診断が含まれています。(Oracle Bug#12320812)
アンインストールまたはアップグレードを実行する場合、TimesTenは、インストール・ディレクトリ内のすべてのファイル(ユーザーが作成したファイルを含む)が削除されることを示す警告を返します。(Oracle Bug#12399683)
アクティブ・スタンバイ・ベアのスタンバイ・データベースでALTER USER
操作を実行すると、スタンバイは、操作がローカル・トランザクションで実行されているかのように応答します。この問題は修正されています。次の文は、スタンバイ・データベースでは実行できません: CREATE USER
、DROP USER
、ALTER USER
、GRANT
およびREVOKE
接続属性DDLReplication
が1
より大きい値に設定されている場合、CREATE SYNONYM
およびDROP SYNONYM
も実行できません。(Oracle Bug#12417310)
同じ表に異なるデータ型の2つのIN
リストが含まれる場合に、アサーション障害が発生するという問題は修正されました。(Oracle Bug#12548271)
ttBulkCp -t ignore|warn
コマンドは、マルチバイト・キャラクタ・セットを含むデータを切り捨てませんでした。この問題は修正されています。(Oracle Bug#12548957)
ttXactAdmin -xactIdRollback
操作後にチェックポイントの障害が発生する問題を修正しました。(Oracle Bug#12555790)
TTClasses TTCmd
クラスでのメモリー・リークは修正されました。(Oracle Bug#12561549)
以前のリリースでは、CRSの使用時およびRamPolicy
が常時
または手動
に設定されている場合、RecoveryThreads
属性の設定は、1
にリセットされていました。この問題は修正されています。(Oracle Bug#12587494)
接続属性DDLReplication
が2
に設定されている場合に、アクティブ・スタンバイ・ペアのスタンバイ・データベースのブックマークが移動しないという問題は修正されました。(Oracle Bug#12597878)
アクティブおよびスタンバイ・データベースの切替え後、両方のデータベースが同じデーモン・ポートを使用しているように見える問題は修正されました。(Oracle Bug#12598573)
GROUP BY
、HAVING
およびORDER BY
句を持つ副問合せが含まれる問合せ時に、アサーション障害が発生する問題は修正されました。(Oracle Bug#12605257)
以前のリリースでは、SQL文はFROM
リストで表を1回では検索できませんでした。これは、導出表を定義するためにビューに左側外部結合を持つ問合せで発生していました。この問題は修正されています。(Oracle Bug#12616424)
このリリースで提供されるOCIクライアントには、Sun Solaris x86-64システムのパッチARU: 10.2.0.4 ARU 11932704
が含まれています。ARUは、キャッシュ・エージェントまたはOracle In-Memory Database Cacheアプリケーションの正常な動作を妨げるOCI同時実行性の問題を処理していました。(Oracle Bug#12629581)
十分なヒュージ・ページがないためにメモリー・セグメントが通常のページに作成されたことを示すようにデーモン・ログ・メッセージ「Large page alignment failed with error
xxx
」
が拡張されました。(Oracle Bug#12633652)
ttCacheAutorefreshStatsGet
組込みプロシージャは、適用されたレコードを含むように拡張されました。(Oracle Bug#12639026)
以前のリリースでは、ttRepSubscriberWait
組込みプロシージャへ複数回コールすると、ログ・ファイルが増大する場合がありました。この問題は修正されています。(Oracle Bug#12641477)
以前のリリースでは、GROUP BY
句の列がNOT NULL
制約を持ったNUMBER
データ型で、列に索引がない場合、SELECT ... GROUP BY
列またはSELECT DISTINCT
列のFROM
操作により、誤った出力になることがありました。これは修正されています。(Oracle Bug#12659721および12679817)
まれに、TimesTen DBIファイルで権限が変更された場合、再接続中にコア・ダンプが発生するという問題は修正されました。(Oracle Bug#12662174)
レプリケーション・ログ・レコードが消失するという問題は修正されました。その場合、TimesTenによって複数のTT16999
警告メッセージが返されます。(Oracle Bug#12666539)
TimesTenキャッシュ・エージェントにより、Oracle Databaseの起動中にユーザー・トリガーが削除されるという問題は修正されました。この問題が発生するのは、ユーザー・トリガーがキャッシュ管理スキーマに存在し、ユーザー・トリガーの名前6文字目の後に数字があり、ユーザー・トリガー名の数値がOracleユーザーIDに対応する場合です。(Oracle Bug#12668360)
ビットマップの削除後にメモリーが解放されないという問題は修正されました。(Oracle Bug#12681981)
CREATE ACTIVE STANDBY PAIR
およびCREATE REPLICATION
操作で、完了に時間がかかるという問題は修正されました。(Oracle Bug#12689047)
非同期のWRITETHROUGHキャッシュ・グループでのSELECT COUNT
操作中に、セグメンテーション・フォルトが発生するという問題は修正されました。(Oracle Bug#12695463)
一部のデータ型で誤ったスケールおよび精度が返されるという問題を修正するために、OCIDescribeAny()
関数が変更されました。BINARY_FLOAT
、BINARY_DOUBLE
、NUMBER
、TIMESTAMP
、DATE
型では、適切なスケールおよび精度が返されます。また、CHAR
およびBYTE
セマンティクスは、NCHAR
、NVARCHAR
データ型に適切に記述されています。OCIDescribeAny()
を使用するOCIアプリケーションを更新する必要がある場合があります。(Oracle Bug#12700101)
ttOptUpdateStats
組込みプロシージャの使用時に、ロックの競合が発生するという問題は修正されました。(Oracle Bug#12742011)
TimesTenクライアント・ドライバを使用するOCIプログラムでは、Oracleの数値(SQLT_VNU
OCI型)である入力パラメータの挿入のバッチ操作で不正な文字列またはバッファ長が返されていました。これは修正されています。(Oracle Bug#12804356)
圧縮操作を減らすことで、パラレル・レプリケーションのパフォーマンスが向上します。メンテナンス操作中に、ttckptblocking
組込みプロシージャまたはttcompact
ユーティリティをコールし、データベース領域を管理し、後続の操作での圧縮操作に時間がかからないようにすることが推奨されています。(Oracle Bug#10279257)
レプリケーション・スキームのサブスクライバ・データ・ストアがマスター側より多くのヒープ・メモリーを使用し、それによってメモリー不足が発生し、レプリケーションで障害が発生するという問題は修正されました。(Oracle Bug#11685169)
TimesTenによって、内部PL/SQLブロックおよびSQL文がOracleにパススルー・モード3
で渡されるという問題は修正されました。このリリースでは、ユーザーが指定したPL/SQLブロックおよびSQL文のみがOracleにパススルーされます。(Oracle Bug#11711960)
ttOptGetColStats
組込みプロシージャへのコールによって、sbBlkReportBadBlock
関数でのデータ・ストアが無効化されるという問題は解決されました。(Oracle Bug#11722743)
ttMigrate
リストア操作後にユーザーがログインできない場合に受信するメッセージが拡張され、ユーザー・パスワードをリセットする必要があることを示すようになりました。(Oracle Bug#11785520)
以前のリリースでは、DROP ACTIVE STANDBY
操作に失敗した場合、0
で終了したttCWAdmin -drop
操作は成功したとみなされていました。現在では、ttCWAdmin
は操作を再試行して、DROP ACTIVE STANDBY
操作が失敗した場合は、障害終了コードを返します。(Oracle Bug#11792124)
Windowsの「TimesTen ODBC Setup」ダイアログで、パススルー・レベル4または5を選択できるようになりました。(Oracle Bug#11791297)
以前のリリースでは、システム・コールはログで順序どおりに表示されていませんでした。このリリースでは、ログの書込みパターンは順序どおりになりました。(Oracle Bug#11800993)
親表と同じ外部キーを持つ子表がすでにTimesTenキャッシュに存在する場合、Oracle Databaseに対する不要な問合せを削除することにより、非同期WRITETHROUGHキャッシュ・グループの動的ロード操作がより効率的になりました。(Oracle Bug#11818527)
TimesTenにより、不正なチェックポイント・ファイルが生成され、データベース・リカバリ障害が発生するという問題は修正されました。(Oracle Bug#11850267)
以前のリリースでは、特定の構成下で双方向のレプリケーションによって競合解消ファイルにトランザクション失敗のメッセージが出されていました。この問題は修正されました。(Oracle Bug#11870111)
以前のリリースでは、PL/SQLの使用時に内部エラー(ORA-00600
)が発生すると、TimesTenデータベースがアサートしていました。このリリースでは、ORA-00600
エラーが捕捉され、TimesTenデータベースでは、アサーションが発生しなくなりました。(Oracle Bug#11871451)
デフォルトでは、TimesTen Clusterwareは、XLAブックマークをレプリケートします。(Oracle Bug#11906642)
以前のリリースでは、子表とON DELETE CASCADE
リレーションシップを持ち、子表がレプリケートされていない親表がレプリケーション・スキームに含まれる場合に、レプリケーションの作成が失敗していました。TimesTenでは、エラー・メッセージ12275
「Failed to convert replicated XLA bookmarks to non-replicated for read only subscriber.」
が返されます。また、TimesTenでは、変換が失敗した理由を示す追加のエラー・メッセージも返されます。(Oracle Bug#11937457)
以前のリリースでは、アプリケーションがレプリケートされたブックマークを使用して、スタンバイまたはサブスクライバ・ストアからのXLAレコードの取得を試行した場合、操作は失敗していました。この問題は修正されました。(Oracle Bug#12347410)
ディテール表に返される行カウントとマテリアライズド・ビューに返される行カウントが異なるという問題は修正されました。(Oracle Bug#12367259)
複数列索引を持つ表での問合せによって誤った結果セットが返されるという問題は修正されました。(Oracle Bug#12386402)
systemstats表の値が0
のみで、更新されないという問題は修正されました。これは、TimesTenの以前のリリースで作成されたデータ・ストアのTimesTenインストールのアップグレード後に発生していました。(Oracle Bug#12394892)
ビットマップ索引により、IN
またはGROUP BY
句の結果が不正になるという問題は修正されました。(Oracle Bug#12400780)
UNION
文と結合したSET
演算子のいずれかのSELECT
句にCOUNT
集計を含む特定の複合問合せで、一貫性のない結果が返されるという問題は修正されました。(Oracle Bug#11711323)
インスタンスを新しいグリッド・メンバーに転送し、現在のメンバーもそのインスタンスにアクセスできるようにする必要がある場合、インスタンスを移動するスレッドは、ロックを中止し、デッドロックの可能性があるか再試行します。すべての再試行の経過時間は、ロック・タイム・アウト値によって決定されます。(Oracle Bug#11712111)
削除、アンロードまたは更新された行を選択すると、結果は次のようになります。Assertion failed: ((((sbCurHdr_p)cur)->state) == sbCurStEmpty) [index.c:/main/47:sbIxCurNext():8330] PID 14031 (timestenorad) CONN 78 (Cache Load)
この問題は修正されています。(Oracle Bug#13496920)
TimesTenの以前のリリースでは、接続ごとに最大50の準備済PL/SQL文が許可されていました。このリリースでは、接続ごとに最大5,000のPL/SQL文が許可されるようになりました。また、以前のリリースでは、セッションごとに最近使用したPL/SQLブロックが50のみ許可されていました。この制限は、5,000になりました。(Oracle Bug#11827656)
パラレル・レプリケーション・トラックがセマフォでのスターベーション待機のため停止するという問題は修正されました。(Oracle Bug#11836584)
接続によってトラックが切り替えられ、頻繁にトランザクションがロールバックされる場合に、パラレル・レプリケーションが停止するという問題は修正されました。(Oracle Bug#11893103)
プラットフォームまたはオペレーティング・システム | C/C++コンパイラ・サポート | JDKサポート |
---|---|---|
Intel IA-32、EM64TおよびAMD64 CPU用のMicrosoft Windows 2000、Windows XP、Windows Vista、Windows 7およびWindows Server 2003と2008。 | コンパイルおよびテストには、Intel 8が使用されています。
VS .NET 2003、VS 2005およびVS 2008もサポートされています。 TimesTenデバッグ・ライブラリを使用するには、VS .NET 2003を使用する必要があります。 |
Sun JDK 5.0および6.0
JRockit JDK 5.0および6.0 |
Intel IA-32、EM64TおよびAMD64 CPU用のAsianux 2.0および3.0。 | コンパイルおよびテストには、Intel 9.1が使用されています。
gcc 3.4.6および4.1.0もサポートされています。 |
Sun JDK 5.0および6.0
JRockit JDK 5.0および6.0 |
UltraSparc CPU 32-bitおよび64-bit用のSolaris 9および10。 | 64-bitのコンパイルには、Sun Studio 11が使用されています。
32-bitの場合は、gcc 3.4.6でコンパイルされたTimesTenクライアント・ライブラリと、SunStudio 11でコンパイルされたクライアント・ライブラリが標準装備されています。 |
Sun JDK 5.0および6.0 |
x86-64用のSolaris 10。 | コンパイルには、Sun Studio 10が使用されています。テストには、AMD64 CPUが使用されています。 | Sun JDK 5.0および6.0 |
Intel IA-32、EM64TおよびAMD64 CPU用のSuSE Linux Enterprise Server 10。 | コンパイルおよびテストには、Intel 9.1が使用されています。
gcc 3.4.6および4.1.0もサポートされています。 |
Sun JDK 5.0および6.0
JRockit JDK 5.0および6.0 |
64bitのItanium2 CPU用のSUSE Linux Enterprise Server 10。 | コンパイルおよびテストには、Intel 9.1が使用されています。
gcc 3.4.5および4.1.0もサポートされています。 |
Sun JDK 5.0および6.0
JRockit JDK 5.0および6.0 |
64bitのLinux x86-84用のSUSE Linux Enterprise Server 11。 | gcc 4.3 | Sun JDK 5.0および6.0
JRockit JDK 5.0および6.0 |
64bitのIntel Itanium2 CPU用のRed Hat Enterprise Linux 4、5および6。 | コンパイルおよびテストには、Intel 9.1が使用されています。
gcc 3.4.5および4.1.0もサポートされています。 |
Sun JDK 5.0および6.0
JRockit JDK 5.0および6.0 |
Intel IA-32、EM64TおよびAMD64 CPU用のRed Hat Enterprise Linux 4、5および6。 | コンパイルおよびテストには、Intel 9.1が使用されています。
gcc 3.4.6および4.1.0もサポートされています。 |
Sun JDK 5.0および6.0
JRockit JDK 5.0および6.0 |
Intel IA-32、EM64TおよびAMD64 CPU用のOracle Linux 4、5および6。 | コンパイルおよびテストには、Intel 9.1が使用されています。
gcc 3.4.6および4.1.0もサポートされています。 |
Sun JDK 5.0および6.0
JRockit JDK 5.0および6.0 |
Intel IA-32、EM64TおよびAMD64 CPU用のMontaVista Linux Carrier Grade Editionリリース4.0、5.0および6.0。 | コンパイルおよびテストには、Intel 9.1が使用されています。
gcc 3.4.6および4.1.0もサポートされています。 |
Sun JDK 5.0および6.0
JRockit JDK 5.0および6.0 |
PA-RISC用のHP-UX 11i v2および11iv3。 | コンパイルおよびテストには、HPコンパイラが使用されています。 | HP社 |
Itanium2用のHP-UX 11i v2および11iv3。 | コンパイルおよびテストには、HPコンパイラが使用されています。 | HP社 |
POWER CPU用のAIX 5L 5.3および6.1。 | コンパイルおよびテストには、AIXコンパイラが使用されています。 | IBM社 |
TimesTenはLinuxThreadsではサポートされていません。
TimesTenは、Oracle Linux 4、5または6、あるいはRed Hat Enterprise Linux 4、5または6システムにOracle VMゲストx86およびx86-64オペレーティング・システムでサポートされています。
TimesTenは、Oracle Exalogic Elastic Cloud (Exalogic)での動作が保証されています。バージョン1.0サーバーでテストされています。
サポートされているプラットフォーム上のTimesTen Clientは、TimesTenがサポートされているすべてのプラットフォーム上のTimesTen Serverに接続できます。
構成の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen ClientおよびServerに関する説明を参照してください。
Oracle In-Memory Database Cache(IMDB Cache)を使用すると、Oracle DatabaseのデータをTimesTenにキャッシュできます。TimesTenインストールにはOracle Instant Clientが含まれています。また、次のリリースのOracleサーバーがこのオプションでサポートされています。
Oracle Database 10g リリース2(Oracle 10.2.0.4.0以上)
Oracle Database 11 gリリース1
Oracle Database 11 gリリース2
必要なパッチの詳細は、第6.10項「IMDBキャッシュ」を参照してください。
また、『Oracle In-Memory Database Cacheユーザーズ・ガイド』のOracleおよびTimesTenシステムの設定に関する説明も参照してください。
IMDB Cacheは、次の表に示す32-bitおよび64-bitのプラットフォームでサポートされます。
環境 | 32-bit | 64-bit |
---|---|---|
Intel IA-32、EM64TおよびAMD64 CPU用のMicrosoft Windows 2000、Windows XP、Windows 7、Windows Vista、Windows Server 2003および2008 | 可 | 可 |
Intel IA-32、EM64TおよびAMD64 CPU用のAsianux 2.0および3.0。 | 可 | 可 |
UltraSparc CPU用のSolaris 9および10 | 可 | 可 |
AMD64 CPUシステム用のSolaris 10 | 可 | |
Intel IA-32、EM64TおよびAMD64 CPU用のSUSE LINUX Enterprise Server 10 | 可 | 可 |
Itanium2 CPU用のSuSE LINUX Enterprise Server 10 | 可 | |
Intel IA-32 CPU用のOracle Enterprise Linux 4および5。 | 可 | 可 |
EM64TおよびAMD64 CPU用のOracle Enterprise Linux 4および5。 | 可 | |
Intel Itanium2プロセッサ用のRed Hat Enterprise Linux 4および5 | 可 | |
Intel IA-32、EM64TおよびAMD64 CPU用のRed Hat Enterprise Linux 4および5 | 可 | 可 |
PA-RISC 32-bitおよび64-bit用のHP-UX 11i v2および11iv3 | 可 | 可 |
Itanium2用のHP-UX 11i v2および11i v3 | 可 | 可 |
AIX 5L for POWER CPUバージョン5.3および6.1 | 可 | 可 |
ソフトウェア要件については、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。
Oracle TimesTen In-Memory Databaseには、次のものが含まれています。
リリース・ノート。このドキュメントには、正規のマニュアルには記載されていない最新情報が示されています。
Oracle TimesTenのインストール・メディア。このインストール・メディアには、Oracle TimesTenライブラリと実行可能ファイル、デモ・プログラム、ユーティリティおよびオンライン・ドキュメントが収められています。インストール・メディアに収められているマニュアルは、次のとおりです。
『Oracle TimesTen In-Memory Databaseリリース・ノート』: 前述の説明を参照してください。
『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』: 前述の説明を参照してください。
『Oracle In-Memory Database Cache概要』: このマニュアルには、Oracle In-Memory Database Cacheの機能の説明と、開発者がIMDB Cacheアプリケーションを計画する際に役立つ情報が示されています。
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』: このマニュアルには、TimesTenの構成と、 ttIsql ユーティリティを使用したデータ・ストアの管理についての情報が示されています。このガイドには、TimesTenの構成、およびttIsql
ユーティリティを使用したデータ・ストアの管理についての情報が示されています。また、TimesTen用の基本的なチュートリアルも含まれています。
『Oracle TimesTen In-Memory Database C開発者ガイド』: このガイドには、CアプリケーションのコンパイルとそれをOracle TimesTenにリンクする方法、およびOracle TimesTenデータ・ストアの設定方法と使用方法が示されています。また、エラー処理、イベント管理およびパフォーマンス・チューニングに関するトピックも含まれています。さらに、C言語固有のAPIに関するリファレンス情報も含まれています。
『Oracle TimesTen In-Memory Database Java開発者ガイド』: このガイドには、JavaアプリケーションのコンパイルとそれをOracle TimesTenにリンクする方法、およびOracle TimesTenデータ・ストアの設定方法と使用方法が示されています。また、エラー処理、イベント管理およびパフォーマンス・チューニングに関するトピックも含まれています。さらに、Java言語固有のすべてのAPIのリファレンス情報も含まれています。
『Oracle TimesTen In-Memory Database TTClassesガイド』: このマニュアルには、Oracle TimesTen C++インタフェース・クラス・ライブラリの説明が示されています。ライブラリでは、ODBCの最も一般的な機能を含めたラッパーが提供されます。
『Oracle TimesTen In-Memory Database PL/SQL開発者ガイド』: このマニュアルには、TimesTenデータベースでPL/SQLを使用する方法が示されています。このガイドには、TimesTenデータベースでPL/SQLを使用する方法が示されています。対象読者は、Oracle TimesTen In-Memory Database用にPL/SQLベースのアプリケーションを開発するすべてのユーザーです。
『Oracle TimesTen In-Memory Database PL/SQL Packages Reference』: このマニュアルには、TimesTenデータベースで使用可能なすべてのPL/SQLパッケージのリファレンス情報が示されています。このガイドには、TimesTenデータベースで使用可能なすべてのPL/SQLパッケージのリファレンス情報が示されています。対象読者は、Oracle TimesTen In-Memory Database用にPL/SQLベースのアプリケーションを開発するすべてのユーザーです。
Oracle Data Provider for .NET Oracle TimesTen In-Memory Databaseサポートのユーザーズ・ガイド: Oracle TimesTen In-Memory Database(TimesTen)に対するODP.NETサポートによって、.NETクライアント・アプリケーションからTimesTenデータベースへのADO.NETデータ・アクセスが可能になります。このドキュメントでは、TimesTenでのODP.NETサポートに固有の機能およびその使用方法について説明されています。
『Oracle TimesTen In-Memory Databaseリファレンス』: このマニュアルには、Oracle TimesTenのすべてのユーティリティ、組込みプロシージャおよび属性と、TimesTenのその他の機能のリファレンス情報が示されています。
『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』: このマニュアルには、TimesTenのすべてのSQL文、式および関数のリファレンス情報が示されています。また、TimesTen SQLの拡張機能の情報も含まれています。
『Oracle TimesTen In-Memory Databaseエラー・メッセージおよびSNMPトラップ』: このマニュアルには、TimesTenのエラー・メッセージのリファレンス情報、およびTimesTenでSNMPトラップを使用するときの情報が示されています。
Oracle TimesTen In-Memory Databaseのシステム表と制限のリファレンス:このドキュメントでは、TimesTenシステム表、レプリケーション表およびシステムの制限のリファレンス情報が示されています。
『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』:このマニュアルには、Oracle TimesTenレプリケーションの動作の理解に役立つ情報と、一般的に最も必要とされるタスクの実行方法を示す手順を追った説明および例が示されています。TimesTenとOracle Clusterwareの統合に関する情報も示されています。
『Oracle In-Memory Database Cacheユーザーズ・ガイド』 このガイドには、Oracle In-Memory Database Cacheとキャッシュ・グリッドの作成方法および管理方法の理解に役立つ情報が示されています。
『Oracle TimesTen In-Memory Databaseトラブルシューティング・プロシージャ・ガイド』:このマニュアルには、TimesTenの使用時に発生するいくつかの問題のトラブルシューティング方法が示されています。
Oracle TimesTen In-Memory Database JDBC Extensions Java APIのリファレンスおよびOracle TimesTen In-Memory Database JMS/XLA Java APIのリファレンス: これらのリファレンスには、JDBCクラスおよびインタフェースへのTimesTenの拡張と、TimesTen JMS/XLAパッケージの説明が示されています。
『Oracle Enterprise Manager System Monitoring Plug-inリリース・ノートfor Oracle TimesTen In-Memory Database』およびOracle Enterprise Manager System Monitoring Plug-in for Oracle TimesTen In-Memory Databaseのインストレーション・ガイド: このガイドおよびリリース・ノート・ドキュメントでは、TimesTen用のOracle Enterprise Managerプラグインについて説明されています。
前述の内容で1つでも不足しているものがある場合は、Oracleサポート・サービスにご連絡ください。「サポートおよびサービス」を参照してください。
この項では、既知の問題および制限事項について説明します。
TimesTenは、Oracle Linux 5 GAと仮想化オプション(2.6.18-8.el5xen)、Oracle Linux 5 Update 1と仮想化オプション(2.6.18-53.el5xen)、Oracle Linux 5 Update 2と仮想化オプション(2.6.18-92.el5xen)の各Oracle Linux 5カーネルではサポートされません。
TimesTenは、バージョン2.6.18*のOracle Linux 5カーネル((xen
接尾辞なし、仮想化オプションなし)、Oracle Linux 5 Update 4と仮想化オプション(2.6.18-164.el5xen)、Oracle Linux 5 Update 5と仮想化オプション(2.6.18-194.el5xen)の各Oracle Linux 5カーネルでサポートされています。
uname -r
Linuxコマンドで、Linuxカーネル・バージョンが表示されます。
新しい64-bit RedHat LinuxシステムにOracle TimesTenをインストールしようとしても、32-bitアプリケーションがサポートされていないことがあります。Redhat Enterprise Linuxのインストレーション・ガイドでは、32-bitアプリケーションを開発または実行するAMD64、Intel EM64TおよびItaniumシステムのユーザーは、Compatibility Arch SupportパッケージおよびCompatibility Arch Development Supportパッケージを選択して、アーキテクチャ固有のサポートをシステムにインストールすることが推奨されています。
Windows 64-bitシステムでは、同じメジャー・リリースのTimesTenの32-bitインスタンスと64-bitインスタンスを同じシステムに共存させることはできません。
Windowsシステムでは、インストールを変更したり、追加することはできません。たとえば、すでにOracle TimesTen Clientのみがインストールしてある場合に、Oracle TimesTen Data Managerをインストールするには、最初にTimesTenを削除してから、システムにインストールするすべてのコンポーネントを再インストールする必要があります。
AIX上でTimesTen 32-bitを実行するには、次のURLに示される適切な修正またはより新しい修正をインストールする必要があります。
http://www-01.ibm.com/support/docview.wss?uid=isg1fixinfo105065
このオペレーション・システム・パッチがないと、TimesTenの実行時に、コア・ダンプやその他の重大な問題が発生する場合があります。
ルートIBM APAR
は、IZ10231: R27 OVERWRITTEN AFTER DLSYM EXECUTION APPLIES TO AIX 5300-06
です。
http://www-01.ibm.com/support/docview.wss?uid=isg1IZ10231
を参照してください。
リリース11.2.1.5.0以上では、TimesTenのインストール後にAIX上のアプリケーションを再リンクする必要があります。これを行わないと、次のようなアプリケーション実行エラーが発生します。
Could not load program _application_: Dependent module _tt_inst_dir_/lib/libtten.a(libtten.so) could not be loaded. File _tt_inst_dir_/lib/libtten.a is not an archive or the file could not be read properly. System error: Exec format error
UNIXにTimesTenを再インストールすると、既存のsys.odbc.ini
およびsys.ttconnect.ini
ファイルは、オプションでsys.odbc.ini.old
およびsys.ttconnect.ini.old
ファイルとして保存され、新しいデモ・ファイルがインストールされます。この場合、再インストール後に、定義されている可能性がある追加のDSNを手動でマージする必要があります。
MontaVista Linuxで正しく動作するには、libaio
およびlibelf
ライブラリ・パッケージを含めます。
ttMigrate
ユーティリティでは、異なるユーザーが所有するオブジェクト間の外部キー依存を、TimesTenリリース11.2.1.1.0以上に移行できないため、その対処方法を実行する必要があります。この問題に対処するには、まず親表をリストアします。その後、子表の所有者に、その親表に対する適切なREFERENCES
権限を付与します。最後に、子表をリストアします。
ttMigrate
ユーティリティでは、マテリアライズド・ビューをTimesTenリリース11.2.1.1.0以上に移行できないため、その対処方法を実行する必要があります。この問題に対処するには、まず、マテリアライズド・ビューから参照されているディテール表をリストアします。その後、マテリアライズド・ビューの所有者に、すべてのディテール表に対するSELECT
権限を付与します。最後に、マテリアライズド・ビューをリストアします。
Windowsオペレーティング・システムでは、サポート・ログ・ファイルが、適切に循環しません。MaxSupportLogFiles
制限に到達すると、新しいログ・ファイルは作成順に古いログ・ファイルを上書きする必要があります。Windowsシステムでは、新しいログ・ファイルは、ランダムに古いログ・ファイルを上書きします。
PL/SQLは、Solaris x86およびLinux Itaniumシステムでサポートされません。
PLSQL_CODE_TYPE=NATIVE
は指定可能ですが、INTERPRETED
として実装されます。
32-bit LinuxでのJRockitは、デフォルトのヒープとして、使用可能な物理メモリーの50パーセントで最大1GBを割り当てます。32-bitプラットフォームでのJRockitユーザーは、PLSQL_MEMORY_ADDRESS
の値として、デフォルト(10000000
)以外を選択する必要がある場合があります。B0000000
などの値を検討します。この値によって、PL/SQL共有メモリーが確実にJRockitヒープの一部でなくなります。
q'
(引用構文)の使用はサポートされません。
PL/SQL無名ブロックの実行に、EXECUTE IMMEDIATE
文を使用できません。
UTL_FILE
アクセスは、install_dir
/plsql/utl_file_temp
にある一時ディレクトリに制限されます。インスタンス管理者は、UTL_FILE
へのアクセス権を特定のデータベース・ユーザーに付与できます。ユーザーは、場所のパラメータ文字列に'UTL_FILE_TEMP'
の文字列を指定した場合にのみUTL_FILE
を使用してディレクトリを参照できます。
32-bit AIXでJava 6を使用している場合、TimesTenダイレクト・ドライバを使用してPL/SQL対応のデータベースに接続しようとすると失敗することがあります。これは、Javaメモリー・セグメントとTimesTen PL/SQLメモリー・セグメントのメモリー・アドレスが競合しているためです。このような障害は、エラーTT
8517
として次のようにレポートされます。
SQLException: [TimesTen][TimesTen 11.2.1.4.0 ODBC Driver][TimesTen]TT8517: Cannot attach PL/SQL shared memory; PLSQL_MEMORY_ADDRESS not valid or already in use
競合を解決するには、java
に対して-Xmx
オプションを使用するか、IBM_JAVA_OPTIONS
環境変数を使用して、Javaメモリーの最大サイズを小さくします。たとえば、java -Xmx64M
のように指定します。現在のデフォルトのJavaメモリー・サイズを確認するには、java -verbose:sizes
を使用します。
また、別の解決策として、TimesTenのPLSQL_MEMORY_ADDRESS
接続属性に、Javaセグメントと競合しない値を明示的に設定することもできます。環境やその他の要因によって、PLSQL_MEMORY_ADDRESS
の値として適切なものには0xe0000000および0xa0000000があります。AIXでJavaがどのようにメモリーを使用しているかについては、AIXのドキュメントを参照してください。
制限事項の詳細は、『Oracle TimesTen In-Memory Database C開発者ガイド』のOracle Call Interfaceのサポートに関する項を参照してください。
TimesTen OCIは、Solaris x86またはLinux Itaniumシステムでサポートされません。
OUT
パラメータを持つ特定のPL/SQLブロックがTimesTen OCIに対して実行されると、PL/SQLブロックから戻されるデータが、バインドされた出力バッファをオーバーフローした場合にORA-12899エラーを生成する可能性があります。この問題は、このパラメータがUTF16
キャラクタ・セットにバインドされている場合にのみ発生します。
NLS_LANG
にTimesTenでサポートされない値が設定されると、「Cannot connect」などの誤ったエラーが発生することがあります。
(OCIBindArrayofStruct
を使用して)パラメータとして構造体配列がバインドされた状態でINSERT
文またはUPDATE
文を実行すると、文の最初の実行は成功します。後続の実行は、数値オーバーフロー・エラー、一意制約違反または切捨てエラーになる場合があります。
既知の問題および制限事項の詳細は、『Oracle TimesTen In-Memory Database C開発者ガイド』のTimesTenでのOracle Pro*C/C++ Precompilerのサポートに関する項を参照してください。
TimesTen Pro*C/C++は、Solaris x86またはLinux Itaniumシステムでサポートされません。
SQLLIB
のファンクションを使用するPro*Cアプリケーションのウィンドウ・リンク行には、OCI.LIB
およびORASQL11.LIB
の両方を含める必要があります。正しい順序は、最初にOCI.LIB
、次にORASQL11.LIB
です。順序を逆にすると、SQLLIB
の関数が動作しなくなる可能性があります。
32-bit Solarisおよび32-bit HP-UXプラットフォームで変数がlong long
として宣言されると、Pro*Cはそのサイズをlong
として生成します。
Pro*C/C++デモをコンパイルするときに、「システムのデフォルトのオプション値は:
install_dir
/ttoracle_home/instantclient_11_1/precomp/admin/pcscfg.cfgから取得されました。
」というメッセージが表示されることがあります。パス名が正しくない可能性があります。
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'
が取得されます。
TimesTenは、CREATE MATERIALIZED VIEW LOG
操作に対してXLA(トランザクション・ログAPI)レコードを生成しません。XLAの詳細は、『Oracle TimesTen In-Memory Database C開発者ガイド』を参照してください。
XLAおよびJMS/XLAは、CREATE INDEX
文の索引タイプに誤った情報を返します。XLAのttXlaCreateIndexTup_t
フラグ
・フィールドに反映されている値およびJMS/XLAのCREATE_INDEX
のINDEX_TYPE
値は常にRを返し、これは実際の索引タイプに関わらず、通常の索引を示します。
Oracle Clusterwareによって管理されるアクティブ・スタンバイ・ペアのXLAブックマークを使用するには、アクティブ・スタンバイ・ペアのレプリケーション・スキーム(ttCWAdmin -start
)の起動後にXLAブックマークを作成します。ttCWAdmin -status
を使用して、スタンバイ・データベースのロールがSTANDBYになっていることを確認します。
JMS/XLAは、国際化をサポートするためにOracle GDKを使用します。TimesTenディストリビューションのinstall_dir
/lib
には、JMS/XLAがテスト済のorai18n.jar
のバージョンが含まれています。JMS/XLAは、orai18n.jar
の他のバージョンでも動作しますが、他のバージョンはサポートされていません。詳細は、『Oracle TimesTen In-Memory Database Java開発者ガイド』を参照してください。
最高のスループットを得るために、Linuxで実行するJMS/XLAアプリケーションでは、『Oracle TimesTen In-Memory Database Java開発者ガイド』の高いイベント率の処理に関する項のパフォーマンスのガイドラインに従って、これらの問題に対処する必要があります。
あるグリッド・ノードの新しいインスタンスに対する動的ロード操作が別のグリッド・ノードの子表で実行される前に、そのインスタンスの挿入がOracle Databaseに伝播されないと、動的ロード操作の結果は「0 rows found.」になります。
OracleサーバーのOracle Bug#7512227によって、TimesTenの自動リフレッシュでは、Oracle実表に対する挿入および更新に失敗します。削除は行われます。Oracleサーバーの不具合は、Oracle 10gリリース10.2.0.3および10.2.0.4で発生します。また、Oracle Database 11gリリース1でも発生しますが、Oracle Database 11gリリース2で発生しません。2つの解決策があります。
CURSOR_SHARING
Oracleサーバー・パラメータにEXACT
を設定する。
Oracleリリース10.2.0.3以上向けの適切なOracleパッチをインストールする。
Metalinkドキュメント793948.1を参照してください。
グローバル・キャッシュ・グループの作成を試みた場合に、キャッシュ・グループ定義に15以上のエラーがあると、データベースが無効になる可能性があります。11.2.0.1のOracleサーバーに接続した場合にのみ発生します。対処方法は、リリース10g、11gR1、または11.2.0.1.0より後の11gR2リリースのOracleサーバーを使用することです。
FLUSH CACHE GROUP
操作中に、TimesTenによって表およびキャッシュ・グループ表の行がロックされるという既知の問題(Oracle Bug#9359437)があります。これにより、アプリケーションが行を同時に更新しようとした場合にロックまたはデッドロックが発生します。
アプリケーションがキャッシュ・グループで複数のUNLOAD BY ID
操作を実行した場合、キャッシュ・エージェントによって実行された自動リフレッシュ・トランザクションでデッドロックが発生する可能性があります。デッドロックは、同じ行がOracle Databaseで同時に更新される場合にのみ発生します。
CREATE
、ALTER
およびDROP CACHE GROUP
文は、シリアライズ可能分離モードでサポートされません。
Oracle DatabaseでDDL追跡が有効になっている場合、キャッシュ・グループを持つデータベースを破棄しても、キャッシュされている表のDDLトリガーがOracle Databaseから削除されないことがあります。Oracle Databaseに対してDROP TRIGGER
文を使用し、これらの各トリガーを手動で削除する必要があります。識別子がX
であるOracleオブジェクトを持つ表のDDLトリガー名は、TT_
X
_DDL_T
です。Oracle表のオブジェクト識別子は、Oracle DatabaseのV$ALL_OBJECTS
ビューから取得できます。
自動リフレッシュ・キャッシュ・グループでは、Oracle実表に対して複数のDML操作を実行するトランザクション(バルク挿入など)の後、自動リフレッシュ・ログ表索引(チェンジ・テーブルのlogseq
列)を結合することをお薦めします。ALTER INDEX
index_name
COALESCE
を使用します。
異なるユーザーが所有するOracleシノニムをキャッシュすると、エラー「5140: Could not find
owner.synonym
in Oracle. May not have privileges
」が発生します。回避するには、次のようにします。
シノニムの所有者が、キャッシュ・グループを作成できます。
元のシノニムを指す新しいプライベート・シノニムを作成してから、キャッシュ・グループを作成します。シノニムをキャッシュするキャッシュ・グループを所有するユーザーと、そのシノニムの所有者は同一である必要があります。
IMDB Cacheを正常に動作させるには、hostname
コマンドおよびuname -n
コマンド(UUCPアドレス)によって戻される値が同じである必要があります。hostname
およびuname -n
が異なる値を戻す場合、IMDB CacheからOracleでの制約違反による障害が報告される場合があります。また、uname -s
を使用して、インターネット・アドレスおよびUUCPアドレスが同じであることを確認することができます。
SQLNET.SEND_TIMEOUT
およびSQLNET.RCV_TIMEOUT
の値は、通常の操作で不要なタイムアウトが発生しないように、十分な大きさに設定します。たとえば、各パラメータに100秒を設定すると、TimesTenからOracleへのすべての通信コールで、200秒以内にタイムアウトが発生します。
Passthrough
=3
で複数のフィールドをバインドする際に、JDBCアプリケーションがパススルー文でsetTimestamp()
をコールすると、セッションNLS_TIMESTAMP_FORMAT
が失われます。この問題の回避策として、TO_TIMESTAMP(?, 'syyyy-mm-dd hh24:mi:ss.ff9')
およびTO_DATE(?,'syyyy-mm-dd hh24:mi:ss')
を使用するようにSQL文を変更します。
『Oracle TimesTen In-Memory Databaseリファレンス』のPassThrough
一般接続属性の説明に、「DDL文のパススルー実行が、TimesTenでコミットされません。」という文を含める必要があります。
外部キーがNULL値可能であると、対応する親行が存在しない行になることがあります。このような行は失効し、手動リフレッシュ操作または自動リフレッシュ操作時に適切にリフレッシュされない場合があります。それらの行は、アンロードまたはエージング操作では削除されません。また、OracleでFLUSH文を実行しても更新されません。
IMDB Cacheを使用している場合、JDBCメソッドPreparedStatement.setAsciiStream()
、PreparedStatement.setUnicodeStream()
、PreparedStatement.setBinaryStream()
、PreparedStatement.setCharacterStream()
は、Oracleパススルー・モード1から3ではサポートされていません。
次のアクションのいずれかを実行する場合:
アクティブなデータベースのホストとして、ホストを指定する必要があるプロンプトに応答する。
ttCWAdmin
-create
コマンドを入力する。
次のメッセージが表示されます。
「Warning!! Data store on host(s)
host list
may be destroyed in Order to be duplicated from active after the roll out. Please back up this data store manually if necessary, before executing ttCWAdmin -start」
指定されたDSNを持つデータベースがスタンバイ・データベースのホストに存在する場合、古いデータベースは破棄され、ttCWAdmin -create
コマンドによって作成されたデータベースと置き換えらます。
指定したDSNを持つデータベースがスタンバイ・ホストにない場合、この警告は意味を持ちません。
TimesTenクラスタウェア操作中に誤った内部エラーがログに生成されることがあります。これらのエラーに問題はありません。ttCWAdmin -status
を実行して、システムの状態を検証してください。
データベースのいずれかがリリース11.2.1.6.x
または11.2.1.7.x
である場合に、手動のパラレル・レプリケーションが有効でないデータベースから、手動のパラレル・レプリケーションが有効なデータベースへのリリースをまたいだレプリケーションおよび移行は機能しません。手動のパラレル・レプリケーションのないデータベースから、手動のパラレル・レプリケーションがあるデータベースへの移行は、次のリリースの組合せでは可能です。
11.2.1.6.0より前から、11.2.1.6.0へ
11.2.1.6.0より前から、11.2.1.8.0以上へ
11.2.1.8.0以上から、11.2.1.8.0以上へ
手動のパラレル・レプリケーションのない11.2.1.6.x
または11.2.1.7.x
データベースから、手動のパラレル・レプリケーションがあるデータベースに移行するには、まず各データベースを手動のパラレル・レプリケーションのない11.2.1.8.0にアップグレードします。
ALTER TABLE
文の実行直後にレプリケーション・エージェントが停止し、そのエージェントがALTER TABLE
トランザクションの最後より後の処理に進まなかった場合、変更された表のレプリケーションが失敗する可能性があります。この問題は、RETURNサービス・ポリシーに関係なく発生する可能性があります。ALTER TABLE
トランザクション後にレプリケーション・エージェントを停止する必要がある場合は、ttRepSubscriberWait
コールを実行して、レプリケーション・エージェントの再始動ポイントが表の変更処理の後に進んだことを確認します。
マスター/サブスクライバのTWOSAFEレプリケーションおよび自動リフレッシュ・キャッシュ・グループを使用すると、TimesTenがエラー・メッセージTT6003
を戻すことがあります。これは、特に1つ目のレプリケートされたTWO SAFEトランザクションに、自動リフレッシュ・キャッシュ・グループ上のLOAD CACHE GROUP
またはALTER CACHE GROUP SET AUTOREFRESH STATE
操作のいずれかがある場合に、発生する可能性があります。この問題に対処するには、1つ目のレプリケーション・トランザクションでLOAD
またはALTER
の実行を避けるか、アクティブ・スタンバイ・ペア・レプリケーションを使用します。
順序のNEXTVAL
SQL関数へのアクセスは、アクティブ・スタンバイ・ペアのスタンバイ・ノードへの問合せではサポートされていません。
TWOSAFEユーザー・セッションの最初の操作がALTER TABLE
操作である場合、ALTER TABLE
はレプリケートされません。回避策として、表を変更する前に、同じセッションで表に対してその他の操作をいくつか行います。
非常にまれな状況下で、レプリケートされるディテール表と、それに対応するマテリアライズド・ビューのペアが分岐することがあります。この分岐が発生するのは、マテリアライズド・ビューが次の両方の条件を満たしている場合のみです。
ビュー定義に、2つ以上の条件がある。
条件のいずれかに、数値オーバーフロー、0(ゼロ)による除算、文字列の切捨てなど、例外を生成する可能性がある式が含まれている。
2つのデータベースでの条件評価の順序に違いがあると、1つの条件が評価された後、受信側のデータベースでのみ例外が生成される場合、ディテール表に対する更新のレプリケートによって、分岐が発生する可能性があります。この結果、受信側のデータベースは更新を拒否するため、ディテール表とマテリアライズド・ビューの分岐が発生します。このような分岐を回避するために、ユーザーは、式の評価時に例外を生成する可能性のあるマテリアライズド・ビューをレプリケートしないようにする必要があります。SQL CAST
演算子を使用して、算術オーバーフローを回避できる場合があります。
ttXLAApply
がレプリケーションの実装に使用されている場合、外部キーおよび一意制約を文レベルで検証することはできません。
レプリケーションでセカンダリIPアドレスを使用するように構成されている場合に、レプリケーションの受信側の状態を変更すると(つまり、start
またはstop
にすると)、/etc/hosts
ファイルの不適切な構成が原因で、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アドレスが含まれている必要があります。
統計を頻繁に更新するとスケーラビリティの問題が発生するため、TimesTenでは、db.table.rows_read
、db.table.rows_inserted
、db.table.rows_updated
、db.table.rows_deleted
、db.index.hash.inserts
、db.index.hash.deletes
、db.index.hash.rows_fetched.count
、db.index.range.inserts.count
、db.index.range.deletes
、db.index.range.updates
、db.index.range.rows_fetched.count
、db.index.temporary.rows_fetched.count
の各統計を更新しません。
集合演算子UNION
、MINUS
またはINTERSECT
を使用する複数の外部結合に対して問合せを実行すると、異常終了する可能性があります。この問題に対処するには、ビューを定義して外部結合のそれぞれをカプセル化します。その後、そのビューに対して問合せを実行します。
引数にTIME
、DATE
またはTIMESTAMP
データ型を取るスカラー関数を使用する場合、データ型を示すリテラルを関数の接頭辞として指定する必要があります。次に例を示します。
SELECT GREATEST (TIME '10:10:10', TIME '12:12:12' ) FROM DUAL;
日時リテラルを指定しないと、TimesTenではデータ型をCHAR
として処理します。引数に日時リテラルを取る関数には、GREATEST
、LEAST
、ROUND
およびADD_MONTHS
があります。
ORDER BY
句は、CREATE TABLE AS SELECT
文ではサポートされていません。
問合せに指定した表の総数および問合せの処理に使用した一時集計の最大合計数は32です。一時集計は、スカラーまたは集計副問合せを処理するために必要です。問合せの表と一時集計の合計数が32を超える場合、問合せは「Statement that needs more than 31 nesting levels has not been implemented
」というメッセージを発生して失敗します。
NLSSORT
属性がbinary
以外の値に設定されている場合でも、CHAR
型を指定したCOUNT
distinctでは、バイナリ・ソート順序およびバイナリ比較セマンティクスを使用します。
NLS_SORT
セッション・パラメータが多言語ソート(FRENCH_M
など)に設定されている場合、パターン一致のワイルド・カード記号が空白文字に適用されると、LIKE
演算子で不正確な結果が戻される場合があります。
JDBCアプリケーションのSQL問合せ文字列には、データベース・キャラクタ・セットの文字のみを含める必要があります。データベース・キャラクタ・セットに含まれないUnicode文字は、問合せの解析時に、代替文字に変換されます。次の方法で対処できます。
データベース・キャラクタ・セットとしてAL32UTF8
を使用する。
データベース・キャラクタ・セット以外の文字を問合せテキストで使用しないように、問合せをパラメータ化する。
TO_CHAR
SQL関数がBINARY_FLOAT
およびBINARY_DOUBLE
値に適用されると、一貫性のない結果になる(切捨てまたは四捨五入)場合があります。TO_CHAR
では、四捨五入が必要なNUMBER
値が切り捨てられる場合もあります。
HP-UX上のアプリケーション・プロセスがTimesTenデータベースに接続される場合、およびアプリケーション・プロセスが同じデータベースに関連付けられているトランザクションに対してttXactIdRollback
ユーティリティAPIをコールする場合、データベースの共有メモリー・セグメントにアタッチできないために、そのコールが失敗する場合があります。
ttOptSetColIntvlStats
組込みプロシージャに対する4つ目の引数(stats
)は、ODBCファンクションを使用してパラメータ化できない複合構造です。つまり、次のような文は失敗します。
SQLPrepare(hstmt, "call ttOptSetColIntvlStats('t1', 'c1', 1, ?)", SQL_NTS);
同様に、ttIsql
describe
コマンドも失敗します。これは、stats
引数に既知の型が含まれないためです。
AIX 5.3でTTClassesを再コンパイルする場合は、C++コンパイラがージョン8(パッチ・リリース13(8-feb2007))以上であることを確認します。それよりも古いバージョンを使用すると、プログラムがTimesTenに接続できない場合があります。
WindowsのODBC「Client DSN Setup」ダイアログ・ボックスで、「Server Name」がUNIXホストである場合、そのサーバーでDSNリストを取得する「Refresh」ボタンではリストを取得できないことがあります。クライアントDSNエントリを正常に作成するには、「Server DSN」フィールドに既知のDSNを入力します。そのクライアントDSNを使用したWindowsからのTimesTen接続は正常に動作します。
TimesTen Serverへの複数のクライアント接続を設定する場合は、スタック・サイズ(-ServerStackSize
デーモン・オプションまたはServerStackSize
属性を使用)を64-bitシステムでは64KB未満、32-bitシステムでは48KB未満に設定しないでください。スタック・サイズが小さすぎると、TimesTen ServerがほとんどのUNIXシステムではSIGSEGV
で、HP-UXではSIGBUS
で停止します。デフォルトのスタック・サイズは、32-bitシステムでは128KB、64-bitシステムでは256KBです。
UNIXでttlocalhost
を使用すると、あるTimesTenインスタンスのクライアントは、別のTimesTenインスタンスのサーバーに接続できません。たとえば、ttlocalhost
を使用している場合、32-bit TimesTenクライアントは64-bit TimesTenサーバーに接続できません。この問題を回避するには、ttShmHost
(共有メモリーIPC)またはlocalhost
(127.0.0.1
)を使用します。
IPCとして共有メモリーを使用している場合に、アプリケーションがシステム定義のプロセスごとのファイル記述子制限に達すると、アプリケーションでクライアント・ドライバからのエラー・メッセージ24が検出される場合があります。これは、アプリケーションにシステム定義のプロセスごとのファイル記述子制限より多くのオープン・ファイル記述子があることが原因でshmat
システム・コールが失敗した場合に、クライアントDSNへの接続操作中に発生することがあります。
オラクル製品サポートの購入方法、およびOracleサポート・サービスへの連絡方法の詳細は、Webサイト(http://www.oracle.com/support/contact.html
)を参照してください。
オラクル社のアクセシビリティへの取組みの詳細は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc
を参照してください。
Oracleサポートへのアクセス
Oracleカスタマは、My Oracle Supportから電子サポートにアクセスできます。詳細は、http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info
またはhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs
(聴覚障害者向け)を参照してください。
Oracle TimesTen In-Memory Databaseリリース・ノート, リリース11.2.1
B55286-05
Copyright © 2012, Oracle and/or its affiliates.All rights reserved.
このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。
ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。
このソフトウェアまたは関連ドキュメントが、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供される場合は、次のNoticeが適用されます。
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, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、このソフトウェアまたはハードウェアを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。
OracleおよびJavaはOracle およびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。
Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXはThe Open Groupの登録商標です。
このソフトウェア、ハードウェア、ドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。