ヘッダーをスキップ
Oracle® TimesTen In-Memory Databaseリリース・ノート
リリース11.2.1
B55286-05
 

 

Oracle® TimesTen In-Memory Database

リリース・ノート

リリース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/にあります。

このドキュメントの内容は、次のとおりです。

1 このリリースでの変更点

このセクションでは、リリース間の変更点を示します。

1.1 リリース11.2.1.9.4からリリース11.2.1.9.5での変更点

1.1.1 11.2.1.9.5の新機能

  • このリリースでは、表を変更して、デフォルト値を持つ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)かを確認します。

    例1

    Command> CREATE TABLE tab1 (col1 number);
    Command> ALTER TABLE tab1 ADD COLUMN col2 NUMBER NOT NULL DEFAULT 10;
    Command> ALTER TABLE tab1 ADD COLUMN col3 NUMBER DEFAULT 10 NOT NULL;
    Command> INSERT INTO tab1 VALUES (10);
        1 row inserted.
    Command> SELECT * FROM tab1;
        < 10, 10, 10 >
        1 row found.
    

    例2

    Command> INSERT INTO tab1 VALUES (10,null,null);
        871: COLUMN COL2 CANNOT BE SET TO NULL
        The command failed.
    

1.1.2 11.2.1.9.5の不具合の修正

  • レプリケーションのしきい値を超えるとトリガーされるレプリケーション・ピアの障害状態(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)

1.2 リリース11.2.1.9.3からリリース11.2.1.9.4での変更点

  • アクティブ・スタンバイ・フェイルオーバーの発生後に、グローバル・キャッシュ・グループからOracleへの変更の伝播が再開しないという問題は修正されました。(Oracle Bug#14012725)

1.3 リリース11.2.1.9.2からリリース11.2.1.9.3での変更点

  • このリリースには、アサーションの発生時にデータベースの.invalファイルに記録される追加の診断が含まれています。

1.4 リリース11.2.1.9.1からリリース11.2.1.9.2での変更点

  • XLAアプリケーションの承認後に、XLALSNdbheaderファイルに移動しないという問題がありました。この問題は修正されています。(Oracle Bug#12317769)

  • クライアントがシステムに同時リクエストを送信する際、アクティブ/アクティブ・レプリケーション・スキームでアサーション障害が発生していました。この問題は修正されています。(Oracle Bug#13852031)

  • OCIでは、名前の先頭部分としてOCIDescribeAnyに渡された場合に、スキーマ名が使用されないという問題は修正されました。(Oracle Bug#13852209)

  • 以前のリリースでは、非同期のWRITETHROUGHキャッシュ・グループでのNUMBER列へのTT_TINYINT列のマッピングにより、データが破損していました。この問題は、このリリースで修正されました。(Oracle Bug#13920878)

1.5 リリース11.2.1.9.0からリリース11.2.1.9.1での変更点

  • キャッシュ・グリッドの使用時に、TimesTenにより一時エラーが永続エラーとして解釈されるという問題がありました。この問題は修正されています。(Oracle Bug#13830396)

1.6 リリース11.2.1.8.8からリリース11.2.1.9.0での変更点

1.6.1 リリース11.2.1.9.0での動作の変更

  • TimesTen組込みプロシージャと同じ名前のパブリック・シノニムは作成できません。以前は、これが可能でした。アプリケーションがTimesTen組込みプロシージャと同じ名前のパブリック・シノニムを参照する場合、TimesTenはエラーを返します。

1.6.2 リリース11.2.1.9.0での新機能

  • 動的キャッシュ・グループ機能は、複数のキャッシュ・グループに存在する表間の結合を含むように拡張されました。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開発者および開発者ガイド』も参照してください。

1.6.3 リリース11.2.1.9.0での不具合の修正

  • マルチバイト・キャラクタ・セットを使用するデータベースで発生するttBulkCp NLS変換時の問題を修正しました。(Oracle Bug#12548957)

  • PLSQL_MEMORY_SIZE接続属性の値を2048に設定すると、手動のRAMロードの動作が停止するという問題は修正されました。(Oracle Bug#12882032)

  • 以前のリリースでは、ユーザーが関数TO_CHARTO_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)

1.7 リリース11.2.1.8.5からリリース11.2.1.8.8での変更点

  • 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)

1.8 リリース11.2.1.8.4からリリース11.2.1.8.5での変更点

  • このリリースのデフォルトでは、複数のキャッシュ・グループを指定する問合せで動的ロードが許可されています。主キーまたは外部キーの定数およびパラメータに等価制約がある各キャッシュ・グループで動的ロードが発生する場合があります。結合問合せでは、結合計画によって実行されたスキャンで、ローカル・ノードに行が見つからなかった場合のみ動的ロードが発生します。(Oracle Bug#13081079)

1.9 リリース11.2.1.8.3からリリース11.2.1.8.4での変更点

1.9.1 リリース11.2.1.8.4での動作の変更

  • OCIDescribeAny()のバグ12700101の修正により、BINARY_FLOATBINARY_DOUBLENUMBERTIMESTAMPDATE型では、適切なスケールおよび精度が返されます。また、CHARおよびBYTEセマンティクスは、NCHARNVARCHARデータ型に適切に記述されています。OCIDescribeAny()を使用するOCIアプリケーションを更新する必要がある場合があります。

  • 次の文は、アクティブ・スタンバイ・ペアのスタンバイ・データベースでは実行できません: CREATE USERDROP USERALTER USERGRANTおよびREVOKE接続属性DDLReplication1より大きい値に設定されている場合、CREATE SYNONYMおよびDROP SYNONYMも実行できません。

1.9.2 リリース11.2.1.8.4での新機能

  • 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プロシージャ、順序、マテリアライズド・ビューおよび索引があります。

1.9.3 リリース11.2.1.8.4での不具合の修正

  • 特定の間隔の完全リフレッシュで指定された非同期マテリアライズド・ビューは、リフレッシュ率が増加していました。この問題は修正されました。(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 USERDROP USERALTER USERGRANTおよびREVOKE接続属性DDLReplication1より大きい値に設定されている場合、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)

  • 接続属性DDLReplication2に設定されている場合に、アクティブ・スタンバイ・ペアのスタンバイ・データベースのブックマークが移動しないという問題は修正されました。(Oracle Bug#12597878)

  • アクティブおよびスタンバイ・データベースの切替え後、両方のデータベースが同じデーモン・ポートを使用しているように見える問題は修正されました。(Oracle Bug#12598573)

  • GROUP BYHAVINGおよび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_FLOATBINARY_DOUBLENUMBERTIMESTAMPDATE型では、適切なスケールおよび精度が返されます。また、CHARおよびBYTEセマンティクスは、NCHARNVARCHARデータ型に適切に記述されています。OCIDescribeAny()を使用するOCIアプリケーションを更新する必要がある場合があります。(Oracle Bug#12700101)

  • ttOptUpdateStats組込みプロシージャの使用時に、ロックの競合が発生するという問題は修正されました。(Oracle Bug#12742011)

  • TimesTenクライアント・ドライバを使用するOCIプログラムでは、Oracleの数値(SQLT_VNU OCI型)である入力パラメータの挿入のバッチ操作で不正な文字列またはバッファ長が返されていました。これは修正されています。(Oracle Bug#12804356)

1.10 リリース11.2.1.8.2からリリース11.2.1.8.3での変更点

  • 圧縮操作を減らすことで、パラレル・レプリケーションのパフォーマンスが向上します。メンテナンス操作中に、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)

1.11 リリース11.2.1.8.1からリリース11.2.1.8.2での変更点

  • 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)

1.12 リリース11.2.1.8.0からリリース11.2.1.8.1での変更点

  • TimesTenの以前のリリースでは、接続ごとに最大50の準備済PL/SQL文が許可されていました。このリリースでは、接続ごとに最大5,000のPL/SQL文が許可されるようになりました。また、以前のリリースでは、セッションごとに最近使用したPL/SQLブロックが50のみ許可されていました。この制限は、5,000になりました。(Oracle Bug#11827656)

  • パラレル・レプリケーション・トラックがセマフォでのスターベーション待機のため停止するという問題は修正されました。(Oracle Bug#11836584)

  • 接続によってトラックが切り替えられ、頻繁にトランザクションがロールバックされる場合に、パラレル・レプリケーションが停止するという問題は修正されました。(Oracle Bug#11893103)

2 プラットフォーム

プラットフォームまたはオペレーティング・システム 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サーバーでテストされています。

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

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

構成の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen ClientおよびServerに関する説明を参照してください。

2.2 Oracle In-Memory Database Cache

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システムの設定に関する説明も参照してください。

2.2.1 プラットフォームのサポート

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

2.3 レプリケーションの構成

TimesTen間のレプリケーションは、同一のプラットフォーム間およびビットレベル間においてのみサポートされます。

Oracle Clusterware 11.1.0.7および11.2.0.2は、TimesTenアクティブ・スタンバイ・ペア・レプリケーションでサポートされます。詳細は、『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』を参照してください。

3 ソフトウェア要件

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

4 製品内容

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

前述の内容で1つでも不足しているものがある場合は、Oracleサポート・サービスにご連絡ください。「サポートおよびサービス」を参照してください。

5 事前通知

この項では、非推奨アイテム、削除アイテム、サポートされなくなったプラットフォーム、Oracleリリース、JDKリリースおよびコンパイラを示します。

5.1 リリース11.2.1.8.0での非推奨アイテム

MonIntervalクラスタウェア属性

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

この項では、既知の問題および制限事項について説明します。

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

  • 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ライブラリ・パッケージを含めます。

6.2 TimesTenのアップグレード

  • ttMigrateユーティリティでは、異なるユーザーが所有するオブジェクト間の外部キー依存を、TimesTenリリース11.2.1.1.0以上に移行できないため、その対処方法を実行する必要があります。この問題に対処するには、まず親表をリストアします。その後、子表の所有者に、その親表に対する適切なREFERENCES権限を付与します。最後に、子表をリストアします。

  • ttMigrateユーティリティでは、マテリアライズド・ビューをTimesTenリリース11.2.1.1.0以上に移行できないため、その対処方法を実行する必要があります。この問題に対処するには、まず、マテリアライズド・ビューから参照されているディテール表をリストアします。その後、マテリアライズド・ビューの所有者に、すべてのディテール表に対するSELECT権限を付与します。最後に、マテリアライズド・ビューをリストアします。

6.3 ログ・ファイル

  • Windowsオペレーティング・システムでは、サポート・ログ・ファイルが、適切に循環しません。MaxSupportLogFiles制限に到達すると、新しいログ・ファイルは作成順に古いログ・ファイルを上書きする必要があります。Windowsシステムでは、新しいログ・ファイルは、ランダムに古いログ・ファイルを上書きします。

6.4 PL/SQL

  • 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メモリー・セグメントのメモリー・アドレスが競合しているためです。このような障害は、エラーTT8517として次のようにレポートされます。

    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のドキュメントを参照してください。

6.5 TimesTenのOCIサポート

制限事項の詳細は、『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文を実行すると、文の最初の実行は成功します。後続の実行は、数値オーバーフロー・エラー、一意制約違反または切捨てエラーになる場合があります。

6.6 TimesTenでのOracle Pro*C/C++ Precompilerのサポート

既知の問題および制限事項の詳細は、『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から取得されました。」というメッセージが表示されることがあります。パス名が正しくない可能性があります。

6.7 JDBC

  • 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'が取得されます。

6.8 XLAおよびJMS/XLA

  • 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_INDEXINDEX_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開発者ガイド』の高いイベント率の処理に関する項のパフォーマンスのガイドラインに従って、これらの問題に対処する必要があります。

6.9 キャッシュ・グリッド

  • あるグリッド・ノードの新しいインスタンスに対する動的ロード操作が別のグリッド・ノードの子表で実行される前に、そのインスタンスの挿入がOracle Databaseに伝播されないと、動的ロード操作の結果は「0 rows found.」になります。

6.10 IMDBキャッシュ

  • 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で同時に更新される場合にのみ発生します。

  • CREATEALTERおよび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ではサポートされていません。

6.11 TimesTenとOracle Clusterwareとの統合

  • 次のアクションのいずれかを実行する場合:

    • アクティブなデータベースのホストとして、ホストを指定する必要があるプロンプトに応答する。

    • 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を実行して、システムの状態を検証してください。

6.12 TimesTenからTimesTenへのレプリケーション

  • データベースのいずれかがリリース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アドレスが含まれている必要があります。

6.13 SQL*Plus

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

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

  • 統計を頻繁に更新するとスケーラビリティの問題が発生するため、TimesTenでは、db.table.rows_readdb.table.rows_inserteddb.table.rows_updateddb.table.rows_deleteddb.index.hash.insertsdb.index.hash.deletesdb.index.hash.rows_fetched.countdb.index.range.inserts.countdb.index.range.deletesdb.index.range.updatesdb.index.range.rows_fetched.countdb.index.temporary.rows_fetched.countの各統計を更新しません。

  • 集合演算子UNIONMINUSまたはINTERSECTを使用する複数の外部結合に対して問合せを実行すると、異常終了する可能性があります。この問題に対処するには、ビューを定義して外部結合のそれぞれをカプセル化します。その後、そのビューに対して問合せを実行します。

  • 引数にTIMEDATEまたはTIMESTAMPデータ型を取るスカラー関数を使用する場合、データ型を示すリテラルを関数の接頭辞として指定する必要があります。次に例を示します。

    SELECT GREATEST (TIME '10:10:10', TIME '12:12:12' ) FROM DUAL; 
    

    日時リテラルを指定しないと、TimesTenではデータ型をCHARとして処理します。引数に日時リテラルを取る関数には、GREATESTLEASTROUNDおよび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引数に既知の型が含まれないためです。

6.15 TTClasses

  • AIX 5.3でTTClassesを再コンパイルする場合は、C++コンパイラがージョン8(パッチ・リリース13(8-feb2007))以上であることを確認します。それよりも古いバージョンを使用すると、プログラムがTimesTenに接続できない場合があります。

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

  • 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への接続操作中に発生することがあります。

7 サポートおよびサービス

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

8 ドキュメントのアクセシビリティについて

オラクル社のアクセシビリティへの取組みの詳細は、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の登録商標です。

このソフトウェア、ハードウェア、ドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。