Reporting Oracle Database Permanent Errors for AWT Cache Groups

If transactions are not successfully propagated to and committed in the Oracle database, then the permanent errors cause the transaction in the Oracle database to be rolled back.

For example, an update on the Oracle database may fail because of a unique constraint violation. Transactions that contain permanent errors are not retried.

Permanent errors are always reported to the TimesTenDatabaseFileName.awterrs text file that resides in the same directory as the TimesTen database checkpoint files. See Oracle Database Errors Reported by TimesTen for AWT in the Oracle TimesTen In-Memory Database Monitoring and Troubleshooting Guide for information about the contents of this file.

You can configure TimesTen to report these errors in both ASCII and XML formats with the ttCacheConfig built-in procedure.

Note:

Do not pass in any values to the tblOwner and tblName parameters for ttCacheConfig as they are not applicable to setting the format for the errors file.

  • To configure TimesTen to report permanent errors to only the TimesTenDatabaseFileName.awterrs text file, call the ttCacheConfig built-in procedure with the ASCII parameter. This is the default.

    Command> call ttCacheConfig('AwtErrorXmlOutput',,,'ASCII');
  • To configure TimesTen to report permanent errors to both the TimesTenDatabaseFileName.awterrs text file as well as to an XML file named TimesTenDatabaseFileName.awterrs.xml, call the ttCacheConfig built-in procedure with the XML parameter.

    Command> call ttCacheConfig('AwtErrorXmlOutput',,,'XML');

Note:

Before calling ttCacheConfig to direct permanent errors to the XML file, you must first stop the replication agent. Then, restart the replication agent after the built-in procedure completes.

See ttCacheConfig in the Oracle TimesTen In-Memory Database Reference.

When you configure error reporting to be reported in XML format, the following two files are generated when Oracle Database permanent errors occur:

  • TimesTenDatabaseFileName.awterrs.xml contains the Oracle Database permanent error messages in XML format.

  • TimesTenDatabaseFileName.awterrs.dtd is the file that contains the XML Document Type Definition (DTD), which is used when parsing the TimesTenDatabaseFileName.awterrs.xml file.

    The XML DTD, which is based on the XML 1.0 specification, is a set of markup declarations that describes the elements and structure of a valid XML file containing a log of errors. The XML file is encoded using UTF-8. The following are the elements for the XML format.

    Note:

    For more information on reading and understanding XML Document Type Definitions, see http://www.w3.org/TR/REC-xml/.

    <!ELEMENT ttawterrorreport (awterrentry*) >
    <!ELEMENT awterrentry(header, (failedop)?, failedtxn) >
    <!ELEMENT header (time, datastore, oracleid, transmittingagent, errorstr,
     (ctn)?, (batchid)?, (depbatchid)?) >
    <!ELEMENT failedop (sql) >
    <!ELEMENT failedtxn ((sql)+) >
    <!ELEMENT time (hour, min, sec, year, month, day) >
    <!ELEMENT hour (#PCDATA) >
    <!ELEMENT min (#PCDATA) >
    <!ELEMENT sec (#PCDATA) >
    <!ELEMENT year (#PCDATA) >
    <!ELEMENT month (#PCDATA) >
    <!ELEMENT day (#PCDATA) >
    <!ELEMENT datastore (#PCDATA) >
    <!ELEMENT oracleid (#PCDATA) >
    <!ELEMENT transmittingagent (transmitingname, pid, threadid) >
    <!ELEMENT pid (#PCDATA) >
    <!ELEMENT threadid (#PCDATA) >
    <!ELEMENT transmittingname (#PCDATA) >
    <!ELEMENT errorstr (#PCDATA) >
    <!ELEMENT ctn (timestamp, seqnum) >
    <!ELEMENT timestamp(#PCDATA) >
    <!ELEMENT seqnum(#PCDATA) >
    <!ELEMENT batchid(#PCDATA) >
    <!ELEMENT depbatchid(#PCDATA) >
    <!ELEMENT sql(#PCDATA) >