TimesTenによって報告される永続的なOracle Databaseエラー
Oracle Databaseに変更を適用しているときに発生する挿入、更新または削除エラーは、次の名前のデータベース・ディレクトリにあるエラー・ファイルに保存されます。
DataSourceName.awterrs
このファイルに報告されるエラーは、永続的なエラーです。TimesTenはトランザクションを再試行しません。このエラーは、TimesTenへのコミット後しばらくしてからAWTエラー・ファイルに報告される場合があります。
AWTエラー・ファイルのメッセージの書式は、レプリケーションでの競合およびトランザクション・エラーで生成されるメッセージと似たものになります。サポート・ログおよびユーザー・ログには、Oracle Databaseエラー・メッセージも報告されます。Oracle Databaseエラーには、接頭辞ORA-が付きます。TimesTenエラー・メッセージには、接頭辞TTが付きます。
キャッシュ・グループの更新がOracle Databaseに伝播される際に制約違反が発生した場合、AWTエラー・ファイルのメッセージは次のようになります。
Error occurred 14:48:55 on 03-22-2011 Datastore: c:\temp\cgDSN Oracle Id: system1 Transmitting name: cgDSN Error message: TT5210: Oracle unique constraint violation error in OCIStmtExecute(): ORA-00001: unique constraint (GUSER.SYS_C00357240) violated rc = -1 -- file "bdbTblH.c", lineno 1205, procedure "ttBDbStmtForce()" TT5025: Commit failure in Oracle. Transaction must be rolled back in TimesTen. -- file "bdbConnect.c", lineno 885, procedure "ttBDbXact()" Operation that caused the error: Insert into table TESTUSER.T1 <9,1000> Failed transaction: Insert into table TESTUSER.T1 <9, 1000> End of failed transaction
TimesTenでOracle Databaseに配置したオブジェクトが削除された場合、AWTエラー・ファイルのメッセージは次のようになります。
May 04 18:12:36 HOST1 TimesTen Replication 11.2[2136]: [Err ] DEFAULT:meta.c(639): TT16062: Failed to compile command: select p.commit_timestamp, p.commit_seqnum, p.protocol from owner1.TT_06_REPPEERS p where p.replication_name = :rname and p.replication_owner = :rowner and p.tt_store_id = :oid and p.subscriber_id = :sid May 04 18:12:36 HOST1 TimesTen Replication 11.2[2136]: [Err ] DEFAULT:meta.c(639): TT5221: TT5221: Oracle syntax error in OCIStmtExecute(): ORA-00942: table or view does not exist rc = -1 -- file "bdbStmt.c", lineno 1041, procedure "getOraOutTypesNLengths()"
この例では、TT_06_REPPEERS表が存在しません。このエラーを解決するには、次のタスクを実行します。
-
レプリケーション・エージェントを停止します。
-
キャッシュ・グループを削除して再作成します。
-
レプリケーション・エージェントを再起動します。