Oracle TimesTen In-Memory Database動作の変更点 部品番号: B61333-01(原本部品番号:B31694-05) # このファイルは、TimesTenのAPIおよび # 動作の変更点について、リリース間に相違点を詳細に説明しています。 # 注意: このファイルの内容は、リリースごとに分冊されるものではありません。 # このファイルは、すべてのリリースに対する内容を記載しています。 # # このテキスト・ファイルは、任意のエディタを使用して表示できますが、 # Emacsのoutlineモード形式にも対応しています。 # Emacsでロードしている場合は、M-x describe-modeを実行すると、 # 使用可能なナビゲーション機能を確認できます。 # アウトラインのヘッダーは、*で始まる行で示されています。 # 注意: 正常に動作するために、 # 末尾にある「Local variables」で始まる行を削除しないでください。 * リリース7.0.6.0.0 ** スタンバイのsequence.nextvalは使用不可 アクティブ・スタンバイ・ペアでは、スタンバイ・ノードでの順序の   nextval関数は使用できませんでした。 ** レプリケーション 障害時リカバリ・サブスクライバを使用するアクティブ・スタンバイ・ペ アのレプリケーション・スキームでは、一方または両方のマスター・ データ・ストアに障害しきい値が構成されている場合、障害時リカバリ・ サブスクライバがttRepAdmin -duplicate -initCacheDRユーティリティを 使用して作成されるときに障害しきい値が継承されます。マスター・データ・ ストアに異なる障害のしきい値が構成されている場合は、高い方の値が障害時 リカバリ・サブスクライバに使用されます。 * リリース7.0.5.3.0 ** SQL 以前の動作: Create Cache Group文でAUTOREFRESH句が指定されていないと、読取り専用の キャッシュ・グループでLRUエージングを有効にできました。これは、コード・ エラーが原因です。 新しい動作: LRUエージングが指定されている場合、読取り専用のキャッシュ・グループの 作成は禁止されています。 * リリース7.0.5.1.0 ** SQL Select文のFIRSTおよびROWS句、NumRows、M & Nは、0以外の正の数である必要 があります。これは、行番号が1から始まるためです。コード・エラーが原因で、 TTではエラーがスローされ、1行多く戻されていました。 以前の動作: 1) Select ROWS 0 to 1では、1行ではなく、2行が戻されていました。 2) 0または負の値がNumRowsを表すリテラルとしてハードコードされるか、 または負の値がMまたはNを表すリテラルとしてハードコードされていたため、 コンパイル・エラーがスローされました。 新しい動作: select First NumRowsおよびSelect rows M to Nでは、エラーは戻されません。 これは、値がリテラルまたは動的パラメータでも、NumRowsが正でないか、 MがNより大きい、またはMが正でないためです。 Select First NumRowsでは、NumRows <= 0の場合、行は戻されません。 Select Rows M to Nでは、M > Nの場合、行は戻されません。 Select Rows M to Nとselect Rows 1 to Nは同じ結果を戻します (M < 1の場合)。 * リリース7.0.5.0.0 0** レプリケーション レプリケーション・ストア名のホストに使用する名前が、ローカル・ストアの ホスト名によって戻される値と一致しなくても、警告メッセージ17030「This store(%s on %s) should use the hostname (%s) as the host part of the store name」は表示されなくなりました。 ttRepStateSetとttRepDeactivateの結果は、トランザクションがコミットされる まで有効になりません。 * リリース7.0.4.0.0 ** デーモン TimesTenデーモンによって作成されるユーザー・エラー・ログは、読取り できなくなりました。 ** ユーティリティ: *** ttMigrate データ・ストアをリストアする際、システムで生成された外部キー名 (TTFOREIGN_xxx)はリストアされなくなりました。そのため、ttMigrateに よってデータ・ストアが保存およびリストアされた後、システムで生成された 外部キー名が異なる場合があります。外部キー名自体に変更はなく、そのSQL 識別子のみが変更されます(TTFOREIGN_2からTTFOREIGN_5など)。 * リリース7.0.3.3.0 ** ODBC SQLパラメータ値の最大長の指定が変更されたため、ODBC関数の SQLDescribeParam、SQLExecuteおよびSQLExecDirectの動作が次のように変更 されました。 SQLDescribeParamでは、以前はSQL_CHAR型、SQL_WCHAR型またはSQL_BINARY 型をとるとレポートされていたパラメータが、それぞれSQL_VARCHAR型、 SQL_WVARCHAR型またはSQL_VARBINARY型をとると示されるようになりました。 この変更は、SQL insert文のvalues句、またはSQL update文のset句に使用 するパラメータのように、値がデータベースに直接格納されるパラメータ には関係ありません。 SQLExecuteおよびSQLExecDirectでは、SQLDescribeParamによってレポート される最大長より大きいパラメータ値を使用できます。たとえば、表t1に char(10)型のc1列があり、問合せ"select * from t1 where c1 = :a"を実行 すると、パラメータ:aに10文字よりも大きい値を使用できます。 この変更は、SQL insert文のvalues句、またはSQL update文のset句に使用 するパラメータのように、値がデータベースに直接格納されるパラメータ には関係ありません。 * リリース7.0.3.0.0 ** SQL *** Cache Connect to Oracle Oracleの一時表はキャッシュできません。 ** JDBC PreparedStatment.executeBatchは、更新件数を含む配列を戻します。 以前のリリースでは、SUCCESS_NO_INFOの配列が戻されていました。 ** ユーティリティ *** ttSchema ttSchemaユーティリティでは、自動リフレッシュがONの状態ではCREATE CACHE GROUP文が出力されなくなりました。自動リフレッシュがONの状態は、SQL コメントに保存されます。 * リリース7.0.2.5.0 ** SQL 問合せで指定した表の総数および問合せの処理に必要なすべての一時集計の 最大合計数は32です。 一時集計は、スカラーまたは集計副問合せを処理するために必要です。 問合せの表および一時集計の合計が32を超えると、問合せは「Statement that needs more than 31 nesting levels has not been implemented」 というメッセージを戻して失敗します。 * リリース7.0.2.4.0 ** ユーティリティ *** ttSchema ttSchemaでは、自動リフレッシュがONの状態で「create cache group」文 が出力されなくなりました。自動リフレッシュがONの状態は、SQLコメント に保存されます。 * リリース7.0.2.0.0 TimesTenは、NFSマウント・システムでは動作しません。-allowNetworkFilesは、 リリース7.0.1.0.0にのみ存在していたデーモン・オプションであり、現在は 無効になっています。 * リリース7.0.1.0.0 ** Windowsインストール TimesTenに依存するdllは、System32からTIMESTEN_INSTALL/binに移動しました。 TimesTenのアプリケーションまたはデモを実行する前に、そのディレクトリが search PATH環境変数に指定されていることを確認してください。 ** SQL *** LENGTH、SUBSTRおよびINSTR関数 Unicode補助文字に適用されたときのLENGTH、SUBSTRおよびINSTR関数の 動作は、Oracleと一致するように変更されました。 以前のTimesTenの動作に対応するUCS4結果を得るには、新しいLENGTH4、 SUBSTR4およびINSTR4関数を使用します。 *** 組込みプロシージャ ttCacheUidPwdSetは、クライアント/サーバー接続では起動できません。 *** Cache Connect to Oracle Oracleのクライアントのバージョンが10gR2で、サーバーのバージョンが 10.1.0.1と10.1.0.4の間、または9.2.0.1と9.2.0.7の間の場合、Cache Connectでエラーが発生します。これは、Oracleクライアントの不具合を 解決するためのものです。 Metalink Note 342791.1またはBug#4499298を参照してください。Oracleの 不具合は、Oracle Database 10g R2 10.2.0.1.0、Oracle Database 10g R1 10.1.0.5.0およびOracle9i 9.2.0.8.0で修正されています。この修正は、 クライアントとサーバーの両方に影響するため、両方に修正を適用する必要 があります。 ttDestroyユーティリティまたはttDestroyDataStore CユーティリティAPI関数 のいずれかを使用してデータ・ストアを破棄する場合、ストアに、ONまたは PAUSED状態の増分自動リフレッシュ・キャッシュ・グループが含まれていると、 エラーが生成されます。データ・ストアは、ttDestroyに-forceオプション を指定して使用するか、ttDestroyDataStoreForce関数を使用して破棄できま すが、表やトリガーなどのオブジェクトは、Oracleデータベースに残った ままになります。OverWrite=1を指定して接続しようとした場合にも、同じ エラーが発生します。この場合も、既存のデータベースが破棄されるため です。OverWrite=1にforceを指定することはできないため、はじめに ttDestroy -forceを実行する必要があります。 * リリース7.0.0.0.0 ** 型と型モード TimesTen 7.0では、Oracleのセマンティクスと動作に一致する新しい型が 実装されています。これらの型には、次のものがあります。 NUMBER FLOAT BINARY_FLOAT BINARY_DOUBLE CHAR VARCHAR2 NCHAR NVARCHAR2 DATE TIMESTAMP たとえば、小数秒を格納するために、新しいTIMESTAMP型を0〜9桁で作成で きます。新しいDATE型は、基本的に小数秒が0桁のTIMESTAMPです。 BINARY_FLOATおよびBINARY_DOUBLE型は、Inf -InfおよびNaNを格納できる、 マシン固有の浮動小数点型です。NUMBER、VARCHAR2およびNVARCHAR2は、 同じ名前のOracle型と同じです。 以前のバージョンのTimesTenのユーザーが、TimesTen 6.0で使用していた 型をそのまま使用することを希望する場合があります。また、これらの 以前の型のかわりに、新しい型を使用することを希望する場合や、両方 を使用することを希望する場合もあります。 型モードの考え方は、TimesTenの既存ユーザーを対象とした下位互換性と、 TimesTenの新規ユーザーが期待するOracleの型セマンティクスの両方を可能 にするために導入されています。 データ・ストア作成用のDSN属性であるTypeModeが追加されています。 この属性は、次の2つの値をとります。 TypeMode=0 ---------- これは、デフォルトの型モードです。これをOracle型モードと呼びます。 TimesTen 7.0のすべての新規ユーザーは、Oracleデータベースに期待する ものと同様の型セマンティクスを持つデータ・ストアを使用できます。 このモードでは、両方の型モードに同じ名前の型が存在する場合、以前の TimesTen型にアクセスするときは、型名にTT_という接頭辞を付けます。 たとえば、TimesTenセマンティクスの型CHAR、TIMESTAMP、DATEおよび VARCHARを持つ表の列を作成するには、次のようにします。 CREATE TABLE T1 (a TT_CHAR(15), b TT_TIMESTAMP, c TT_DATE, d TT_VARCHAR(12000)); TypeMode=1 ---------- これは、TimesTen型モード(下位互換性モード)です。このモードでは、 データ・ストアは、型に関して、TimesTen 6.0以前のバージョンとまった く同じ動作をします。以前のバージョンからTimesTen 7.0に移行する場合は、 データ・ストアでこのDSN属性を設定します。 両方の型モードに同じ名前の型が存在する場合、TimesTen型モードの新しい 型にアクセスするには、型名にORA_という接頭辞を付けます。 たとえば、Oracleセマンティクスの型CHAR、TIMESTAMP、DATE、NUMBERおよび VARCHAR2を持つ表の列を作成するには、次のようにします。 CREATE TABLE T1 (a ORA_CHAR(15), b ORA_TIMESTAMP(3), c ORA_DATE, d NUMBER(10,3), e VARCHAR2(12000)); ** 注意: TypeModeは、データ・ストア作成用の属性です。この属性を特定 のデータ・ストアに設定すると、そのデータ・ストアを破棄して再作成 しないかぎり、属性値を変更することはできません。 DSN属性TypeMode、および型名と型モードの関係の詳細は、TimesTenの ドキュメントを参照してください。 *** NCHAR、NVARCHARおよびNVARCHAR2の内部記憶形式: NCHAR、NVARCHARおよびNVARCHAR2型で内部的に使用する記憶形式は、 すべてのプラットフォームで、ネイティブ・エンディアンからビッグ・ エンディアンに変更されています。SQL_C_BINARYバインド(ODBC)や ResultSet.getBytes()(JDBC)などのバイナリ・インタフェースを使用して、 これらの型のデータにアクセスするとき以外、この変更はユーザーに対して 透過的です。 ** 接続属性: 次の接続属性または属性値は、リリース7.0では非推奨であり、将来の リリースで削除される予定です。 SMPOptLevel=0: リリース7.0では、SMPOptLevel=0を使用すると警告が発生 します。これは、将来のリリースで削除される予定です。 Logging=2: リリース7.0では、Logging=2(ディスクレス・ロギング) を使用すると警告が発生します。ディスクレス・ロギングは、将来の リリースで削除される予定です。 ExclAccess=1: リリース7.0では、ExclAccess=1を使用すると警告が発生 します。排他接続は、将来のリリースで削除される予定です。 ThreadSafe=0: リリース7.0では、ThreadSafe=0を使用すると警告が発生 します。非スレッドセーフ接続は、将来のリリースで削除される予定です。 *** TempSize TempSizeで許容される最小値は、6MBに増加しました。 *** LogFileSize LogFileSize属性のデフォルト値は、64に増加しました。 ** 組込みプロシージャ: 次の組込みプロシージャの名前が変更されました。対応する以前の組込み プロシージャ名は、非推奨になりました。それらをコールすると、警告が 発生します。それらは、将来のリリースで削除される予定です。 1. ttRepPolicyは、ttRepPolicySetに置き換えられました。 2. ttCachePolicyは、ttCachePolicySetに置き換えられました。 3. ttXlaDeleteBookmarkは、ttXlaBookmarkDeleteに置き換えられました。 ttDataStoreStatus組込みプロシージャの結果セットに、2つの列 connection_nameおよびconnidが追加されています。 次の組込みプロシージャは、6.0での非推奨であり、このリリースで削除 されています。 ttcgmonitor (TT6.0でttcachemonitorに置き換えられました) ttcggensql (TT6.0でttcachesqlgetに置き換えられました) ttoracleagentpolicy (TT6.0でttcachepolicyに置き換えられました) ttoracleagentstart (TT6.0でttcachestartに置き換えられました) ttoracleagentstop (TT6.0でttcachestopに置き換えられました) ** ステータス情報のロギング: 以前は、エラーと警告のすべてのログ、およびTimesTenサポートのみで使用 する詳細情報は、同じデーモン・ログに記録されていました。それらの情報 は、ファイルに格納されるか、あるいはイベント・ログ(Windows)または syslog(UNIX/Linux)に送られていました。現在、ロギングは、ユーザー・ ログ・ファイル(ドキュメントに記載されるエラーと警告のみを含む)と サポート・ログ・ファイル(エラー、警告および情報メッセージを含む) に分割されます。 現在、TimesTenデーモンの-fオプションは、-userlogがサポートされるよう になったために非推奨となり、ロギングを制御するいくつかの新しい オプションが追加されています。 現在、TimesTenデーモンは、ログ・ファイルを循環させ、古いファイルを 削除します。 現在、Webサーバー・ログは、他のデーモン・ログ・メッセージと同じ ファイルに記録されます。以前は、Webサーバー・ログ・メッセージは、 個別のファイルに送られていました。 ** TimesTenのバージョン番号 現在、TimesTenのバージョン番号は、5つの部分(7.0.0.0.0など)で構成 されています。ttVersionユーティリティの出力、およびSQL_DBMS_VER またはSQL_DRIVER_VERが渡されたときに SQLGetInfoから返される文字列 は、この形式に変更されています。これらの5つの数字の使用については、 TimesTen 7.0.0.0.0のリリース・ノートを参照してください。 ** ユーティリティ: *** ttIsql cggensqlコマンドは、このリリースで削除されています。このコマンドは、 6.0では非推奨でした。cachesqlgetに置き換えられています。 ** JMS/XLA enabledTables属性は、JMX/XLA構成ファイルではサポートされなくなりま した。アプリケーションでは、XLAブックマークの管理用の組込み プロシージャを使用する必要があります。このリリースでは、 XLAブックマークを作成するための新しい組込みプロシージャ ttxlabookmarkcreate()が追加されています。詳細は、TimesTen ドキュメントを参照してください。 ** XLAおよびJMS/XLA XLAサブスクリプションはグローバルではなくなり、ブックマークごとに 保持されます。 過去のリリースでは、1つのXLAブックマークがデータベース・オブジェクト にサブスクライブされると、すべてのブックマークがそのオブジェクトに 対する更新を受け取っていました。同様に、1つのブックマークが特定の オブジェクトにサブスクライブ解除されると、すべてのブックマークが サブスクライブ解除されました。 TimesTen 7.0では、各ブックマークがサブスクライブされている データベース・オブジェクトに対する更新のみを受け取るように変更 されています。 TimesTen 7.0で以前の(グローバルな)動作に戻す方法はありません。 この動作変更の影響を受けるのは、複数のブックマークを持つTimesTen 7.0にXLAアプリケーションを移植するユーザーのみです。 ** Cache connect to Oracle CREATE CACHE GROUPおよびALTER CACHE GROUP文でのWITH LIMIT句の使用は、 非推奨になりました。リリース6.0で自動リフレッシュのために改善された ログ切捨てメカニズムでは、完全リフレッシュを回避するために、より詳細 にログを追跡します。また、古いログも積極的に削除します。TimesTen 7.0 では、WITH LIMITを設定すると警告が発生します。設定は記録されますが、 効果はありません。 SELECT FOR UPDATE ON ORACLE機能は、非推奨になりました。パススルーの SELECT FOR UPDATE文を使用すると、同じ効果が得られます。 CREATE CACHE GROUP文でのDURATION句の使用は、非推奨になりました。 7.0で追加されたAGING機能を使用してください。 RESTRICTED CACHE GROUP機能は、非推奨になりました。 * リリース6.0.4 ** 接続属性: *** 接続 既存の接続数が、接続属性を使用して構成された値を超えた後、 データ・ストアに新しく接続すると、警告が発生します。 ** ユーティリティ: *** ttIsql 問合せで選択できる列の最大数は、255から32767に増加しました。 * リリース6.0.3 ** JDBC: Connection.setAutocommit(boolean autoCommit)では、 Connection.commit()が実行されます。 詳細は、http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Connection.html#setAutoCommit(boolean)を参照してください。 AUTOCOMMITがオフの場合、Connection.close()では、 Connection.rollback()が実行されます。 ** ユーティリティ: *** ttXactAdmin デフォルトで、トランザクションごとにすべてのロックが表示されるよう になりました。-mlオプションを使用すると、トランザクションごとに 表示されるロック数を制限できます。 -rowオプションは削除されました。かわりに、-tblオプションを使用して、 戻されるロック情報の範囲を制限できます。 * リリース6.0.2 ** 接続属性: *** ConnectionName ConnectionName属性に指定した文字列が30文字を超えていると、 警告が発生し、その値は先頭から30文字までに切り捨てられます。以前は、 エラーが発生し、接続に失敗しました。ttIsqlでは、デフォルトの ConnectionName値に内部的に置き換えることで、このエラーを回避していました。 * リリース6.0.1 ** 変更の理由: 次に示す多くの変更は、「Oracle Connect」から「TimesTen Cache」に 名前が変更されたために行われました。 ** SQL: *** 予約語 現在、次のキーワードを区切り文字のないオブジェクト名として使用すると、 エラーが発生します。 CASE CONNECTION CROSS DEFAULT DESTROY INNER INTERVAL JOIN LEFT RIGHT WHEN ** ODBC: *** SQL_C_ADDRは、このリリースで非推奨になりました。 ** 接続属性: *** DurableCommits DurableCommits属性のデフォルト値は、1(永続的)から0(ゼロ) (非永続的)に変更されました。 *** SMPOptLevel SMPOptLevel属性のデフォルト値の決定方法が変更されました。 指定しない場合、単一プロセッサ・マシンでは0(ゼロ)に、マルチ プロセッサ・マシンでは1に設定されます。 この決定は、データ・ストアへの初期接続が行われるたびに実行されます。 前回の接続時に使用された値は、保持されません。デフォルトの動作を 受け入れない場合は、常にSMPOptLevel値を明示的に指定する必要があります。 *** TempSize TempSizeで許容される最小値は、4MBに増加しました。 ** 組込みプロシージャ: 次の組込みプロシージャの名前が変更されました。対応する以前の組込み プロシージャは、非推奨になりました。これらをコールすると、次の メジャー・リリースで削除されることを示す警告が戻されます。 1. ttCGGenSQLは、ttCacheSqlGetに置き換えられました。 2. ttCGMonitorは、ttCacheMonitorに置き換えられました。 3. ttCacheSetMemoryThresholdは、ttCacheAgingMemoryThresholdSetに 置き換えられました。 4. ttCacheSetAgingIntervalは、ttCacheAgingIntervalSetに置き換えら れました。 5. ttCachePropagateFlagは、ttCachePropagateFlagSetに置き換えられました。 6. ttOracleAgentStartは、ttCacheStartに置き換えられました。 ttCacheStartには、パラメータとしてキャッシュ管理ユーザーID(uid) およびパスワード(pwd)がありません。 キャッシュ管理ユーザーID(uid)およびパスワード(pwd)を設定する には、ttCacheUidPwdSetをコールする必要があります。 7. ttOracleAgentStopは、ttCacheStopに置き換えられました。 8. ttOracleAgentPolicyは、ttCachePolicyに置き換えられました。 ttCachePolicyには、パラメータとしてキャッシュ管理ユーザーID(uid) およびパスワード(pwd)がありません。 キャッシュ管理ユーザーID(uid)およびパスワード(pwd)を設定する には、ttCacheUidPwdSetをコールする必要があります。 キャッシュ管理ユーザーID(uid)およびパスワード(pwd)を設定し、 現行のキャッシュuidを取得する新しい組込みファンクションがあります。 1. ttCacheUidGet 2. ttCacheUidPwdSet キャッシュ・エージェントの開始時にキャッシュ管理ユーザーID(uid) およびパスワード(pwd)を設定するかわりに、ttCacheUidPwdSetを使用して 設定してください。 ** ユーティリティ: *** ttAdmin 次のttAdminコマンドライン・オプションの名前が変更されました。 -oraAgentUIDは、-cacheUidに置き換えられました。 -oraAgentPWDは、-cachePwdに置き換えられました。 -oraAgentPolicyは、-cachePolicyに置き換えられました。 -oraAgentStartは、-cacheStartに置き換えられました。 -oraAgentStopは、-cacheStopに置き換えられました。 -cachePolicyおよび-cacheStartは、-cacheUidおよび-cachePwdとともに 使用することはできません。キャッシュ管理ユーザーID(uid)および パスワード(pwd)は、-cacheUidPwdSet -cacheUid -cachePwd コマンドライン引数を使用して設定してください。 次のコマンドライン・オプションがttAdminに追加されました。 -cacheUidGet: 現行のキャッシュ管理ユーザーIDを取得します。 -cacheUidPwdSet: キャッシュ管理ユーザーIDおよびパスワードを設定 します。 *** ttBackup チェックポイントまたは他のバックアップの処理中にttBackupが実行された 場合、エラーを戻すのではなく、そのチェックポイントまたはバックアップ が完了するまで待機するようになりました。 *** ttBulkCp -xpオプション(コミット頻度)のデフォルト値が、0(ゼロ) (終了時にコミット)から1000行に変更されました。(QA 18830) *** ttIsql 内部コマンドcgGenSqlは、cacheSqlGetに置き換えられました。 *** ttStatus ttStatusの出力形式が改善され、読みやすくなり、また追加の情報も 含まれるようになりました。これは、ttStatusの出力を解析する既存の スクリプトに影響します。ttStatusの以前の形式の出力を生成する場合は、 新しいコマンドライン・オプション-noprettyを使用してください。 *** ttXactAdmin -latchstats showオプションは、競合を示しているラッチのみを出力する ようになりました。-latchstats showallを使用すると、アクセスされた すべてのラッチを表示できます。これには、競合を示していないものも含まれます。 ** システム表およびレプリケーション表 *** MONITOR LOCK_DENIALS_COND 列は、SYS19に名前が変更されました。 SYS10列は、REQUIRED_RECOVERYに名前が変更されました。これには、 データ・ストアへの初期接続時に、リカバリを実行する必要があるか どうかが示されます。 PERM_IN_USE_SIZEおよびTEMP_IN_USE_SIZE(PERM_IN_USE_HIGH_WATER およびTEMP_IN_USE_HIGH_WATERも同様)の計算に使用する式が、内部 メモリー管理で行われた変更の内容を反映するように変更されました。 SYSn列に割り当てられた意味は、次のとおりです。 SYS1: カーソルのオープン SYS2: カーソルのクローズ SYS12: 現在のSMPOptLevel SYSn列に割り当てられた意味は、保証されたもの、サポートされたもの ではありません。また、将来変更される可能性があり、文書化されること はありません。 ** ユーティリティAPI: *** ttBackup() チェックポイントまたは他のバックアップの処理中にttBackup()がコール された場合、エラーを戻すのではなく、そのチェックポイントまたは バックアップが完了するまで待機するようになりました。 *** ttRepDuplicate()およびttRepDuplicateAcc() 既存のttRepDuplicate()およびttRepDuplicateAcc()ユーティリティAPI 機能は、新しいttRepDuplicateEx()がサポートされるようになったため 非推奨になりました。 ** Cache Connect(以前のOracle Connect): *** 全体的な変更: (a) TimesTenは、構文がTimesTenでサポートされておらず、passthrough 接続属性が1または2に設定されている場合に実行するSQL文をOracleに渡します。 このリリースで導入された新しいSQL機能では、以前のpassthrough SQL文を TimesTenで実行できるようになりました。 (b) 不正な操作によって発生するエラーは、リリース間で変更されることが あります。特定のエラー・コードを取得するアプリケーションでは、動作に 違いが生じる可能性があります。 *** デフォルト値: (a) READONLYキャッシュ・グループ、または自動リフレッシュ機能付きの キャッシュ・グループを作成した場合、自動リフレッシュのデフォルト の状態はPAUSEDです。 *** 機能しなくなったSQL文: (a) LOAD/REFRESH CACHE GROUP文は、COMMIT EVERY N ROWS文または WITH ID文を指定しないと機能しなくなりました。 ロギングをオフにしてキャッシュ・グループをロードするには、 次の手順を実行します。 手順1: logging=0を指定してTimesTen DSNに接続します。 手順2: COMMIT EVERY 0 ROWS句を指定してLOAD CACHE GROUP文を発行 します。LOAD文には、WHERE句を含めることはできません。 *** 表に異なる行を生成するSQL操作: (a) CREATE READONLYキャッシュ・グループまたはSYNCHRONOUS WRITETHROUGH キャッシュ・グループは、キャッシュ・グループへの暗黙的なロードを 行わなくなりました。ロギングを有効にする際に、次の手順を実行して、 キャッシュ・グループ表の内容を初期化することをお薦めします。 手順1: キャッシュ・エージェントを開始します。 手順2: キャッシュ・グループを作成します。キャッシュ・グループに 自動リフレッシュ機能がある場合は、自動リフレッシュの デフォルトの状態(PAUSED)を使用します。 手順3: トランザクションをコミットします。 手順4: (オプション)キャッシュ・グループのロードが、他のTimesTen データ・ストアにレプリケートされるように、レプリケーション・ スキームを作成することができます。キャッシュ・グループの ロード後、別のユーザーがレプリケーション・スキームを作成 することができますが、この場合、ロード操作はレプリケート されません。 手順5: トランザクションをコミットします。 手順6: (オプション)レプリケーション・エージェントを開始します。 手順7: LOAD CACHE GROUP ...COMMIT EVERY N ROWS SQL文を発行します。 Nの適切な範囲は、20〜100です。キャッシュ・グループの自動 リフレッシュの状態がPAUSEDの場合、これによって自動 リフレッシュの状態が自動的にONに変更されます。 手順8: トランザクションをコミットします。 また、ロギングを伴わないロードには、次の手順もあります。 手順1: TimesTen DSNに未解決の接続がないことを確認します。 注意: レプリケーション・エージェントおよびキャッシュ・ エージェントの両方を停止する必要があります。 停止しないと、未解決の接続が発生します。 手順2: 次の接続属性の設定を使用して、DSNに接続します。 logging=0;durablecommits=0;locklevel=1; 手順3: 次のSQL文を発行します。 LOAD CACHE GROUP COMMIT EVERY 0 ROWS; commit; 手順4: チェックポイントを実行します。 手順5: 接続を切断します。 手順6: 通常のロギングで接続し、レプリケーション・エージェント およびキャッシュ・エージェントを開始します。 ** SNMP: *** TimesTen MIB TimesTen-MIB.txtファイルでは、次の接頭辞および名前が全体的に置き換え られました。 1. 「Ora」が「Cache」に置き換えられました。 2. 「Oracle Cache Agent」が「Cache Agent」に置き換えられました。 3. 「TimesTen Oracle Connect」が「TimesTen Cache」に置き換えられました。 ** TTClasses: 1. TTClassesは、TimesTenのコア製品に含まれるようになりました。以前は、 TTClassesは個別の製品として出荷されていました。この変更に伴い、 TTClassesの構成スクリプトは削除されましたが、TimesTenのインストール 時に、TTClasses Makeファイルの構成が行われます。また、TTClassesの ドキュメントを、docディレクトリから参照できるようになりました。 さらに、TTClassesのディレクトリ構造は、次のようにTimesTenディレクトリ 構造の一部になりました。 a. TTClassesのメイン・ディレクトリは、TIMESTEN_INSTALL/ttclassesです。 b. TTClassesのincludeディレクトリは、TIMESTEN_INSTALL/include/ttclassesです。 c. TTClassesのdemoディレクトリは、TIMESTEN_INSTALL/demo/ttclassesです。 TTClassesを作成するには、TTClassesのメイン・ディレクトリに移動して、 make(Windowsではnmake)と入力します。 注意: 現在、TTClassesはコア製品に含まれるため、特定のリリースの TimesTenに付属するTTClassesは、そのリリースに対してのみ互換性が あります。以前は、あるリリースのTTClassesは、複数のリリースの TimesTenに対して互換性がありました。 2. TTClasses TTXlaのユーザーの場合、TTXlaRowViewer::Get()メソッドを不適切 に組み合せて入力する(たとえば、整数表の列で TTXlaRowViewer::Get(i, TIMESTAMP_STRUCT*)を使用する)と、例外がスロー されるようになりました。以前のリリースのTTClassesでは、このような場合 でも例外はスローされずに、メッセージがTTClassesログ・ファイルに書き込 まれていました。 Local variables: mode: outline paragraph-separate: "[ ]*$" end: