TimesTen timeszone problem

Hi Chris and team,
We are currently facing a weird problem with TimesTen version 11.2.1.8.0. (I recently upgraded TT from 11.2.1.4.0 to 11.2.1.8.0)
We are sending data (date, among other fields, which is specifically causing problems) from the front end using a desktop-based application. The date entered thru the front-end is in GMT and this is the desired timezone that we would like to store when this transactional data reaches TimesTen DB. But, for some unknown reason, the date is being converted to EST before storing. FYI, our linux box where TT resides, is in EST.
Are you aware of any auto-conversion of date in the background thru the XLAs? I am just guessing...
Please let me know since this problem wasn't existing in the previous TimesTen version of 11.2.1.4.0.
Thanks,
Vikram

Given the table:
Table CHRIS.TZTEST:
Columns:
TSBEFORE TIMESTAMP (6)
TSAFTER TIMESTAMP (6)
SD1 TIMESTAMP (6)
SD2 TIMESTAMP (6) DEFAULT sysdate
COMMENT VARCHAR2 (50) INLINE
and this simple example program:
package com.timesten.CJTest;
import java.sql.*;
import java.lang.*;
import java.util.*;
import com.timesten.jdbc.TimesTenConnection;
class CJTest
// class variables
// All set to a default value, the default values
// can be overwritten using command line options
// JDBC defaultDSN string
static public String defaultDSN = "sampledb_1121";
// JDBC URL string
static public String url = "jdbc:timesten:" + defaultDSN;
// JDBC user string
static public String username = null;
// JDBC password string
static public String password = null;
// Prepared Insert statement for insert xacts
static PreparedStatement prepInsStmt;
// class constants
public static final String insertStmt =
     "insert into tztest(tsbefore, tsafter, sd1, comment) values (?, ?, SYSDATE, ?)";
// Function: main
// Populates the database and instantiate a
// TptbmThreadController object
public static void main(String arg[])
     Connection conn = null;
     java.sql.Timestamp tsBefore = null;
     java.sql.Timestamp tsAfter = null;
     // Load the JDBC driver
     try {
          Class.forName("com.timesten.jdbc.TimesTenDriver");
          Class.forName("com.timesten.jdbc.TimesTenClientDriver");
     } catch (java.lang.ClassNotFoundException e) {
     System.err.println(e.getMessage());
     // get current date/time with existing timezone
     tsBefore = new java.sql.Timestamp(System.currentTimeMillis());
     // set the timezone to PST
     TimeZone.setDefault(TimeZone.getTimeZone("PST"));
     // get current date/time with Timeone set
     tsAfter = new java.sql.Timestamp(System.currentTimeMillis());
     // Connect here to prevent disconnect/unload by populate
     try {
     conn = DriverManager.getConnection(CJTest.url,
                    CJTest.username, CJTest.password);
System.out.println();
System.out.println("Connected to database");
     prepInsStmt = conn.prepareStatement(CJTest.insertStmt);
          prepInsStmt.setTimestamp(1, tsBefore);
          prepInsStmt.setTimestamp(2, tsAfter);
          prepInsStmt.setString(3, "Test row");
          prepInsStmt.execute();
System.out.println();
System.out.println("Row inserted");
          prepInsStmt.close();
          conn.close();
System.out.println();
System.out.println("Disconnected");
     } catch ( SQLException e ) {
     printSQLException(e);
public static void printSQLException ( SQLException ex )
     for ( ; ex != null; ex = ex.getNextException() )
     System.out.println(ex.getMessage());
     System.out.println("Vendor Error Code: " + ex.getErrorCode());
     System.out.println("SQL State: " + ex.getSQLState());
     ex.printStackTrace();
When run on a machine where the system clock and timezone are set for GMT the resulting row that gets inserted, as displayed via ttIsql, is:
< 2012-02-01 01:06:23.929000, 2012-02-01 01:06:23.929000, 2012-02-01 09:06:24.000000, 2012-02-01 09:06:24.000000, Test row >
Which is fine and as expected. What is different about your code? I think I must be missing something in understanding this issue.
Chris

Similar Messages

  • Timesten with JDeveloper and ADF

    Hello,
    I'm using Timesten with Jdeveloper and ADF and have noticed some problems which I allready posted in the JDevloper Forum:
    Re: ADF TimesTen
    These problems arise from using Identifiers with reserved words, which is not forbidden with Ora DB.
    The settings in Jdev are to generate SQL92 conform code. This is the only way it works.
    I'm wondering if there is a setting to make TT behave syntactical 1:1 like a Ora DB.
    I even tried to change the Type Mode to Oracle and restarting TT but this doesn't help eighter.
    Maybe someone of the TT pro's has a solution for this? TT is used as a cache in front of an Ora DB so it should understand the Ora Syntax ??
    Thanks
    Ognian

    for #1 have you tried throwing a verbatim tag around your includes like:
    <f:verbatim>
    <jsp:directive.include file="/includes/footer.jsp"/>
    </f:verbatim>
    it's how we got around intermixing html and jsf

  • Creation of web service of the timesten application ( linking problem )

    Hi ,
    i have created the C application ( cardVerifyTxn.c accessing timesten db ) as dll.
    I have compiled it and linked it .I want to deploy it as a web service in apache axis server .
    Compilation and linking of service file ( ie CardVerifyTxn_svc.c )
    Compilation OK .obj file created .
    But on inking it's having problem . I will copy and paste the commands i used .
    C:\Program Files\Microsoft Visual Studio\VC98\Bin>cl.exe /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "AXIS2_DECLARE_EXPORT" /D "AXIS2_SVR_MULTI_THREADED" /w /nologo /I %AXIS2C_HOME%\include /c C:\Dev-Cpp\MAPI\CardVerifyTxn_svc.c
    its creating obj file .
    Now im linking using VC++ linker.
    C:\Program Files\Microsoft Visual Studio\VC98\Bin>link.exe /nologo /LIBPATH:%AX
    S2C_HOME%\lib axutil.lib axiom.lib axis2_parser.lib axis2_engine.lib /DLL Ver
    ficationCardDetail.dll /OUT:cardVerify.dll CardVerifyTxn_svc.obj
    o/p
    D:\axis2c\lib\VerificationCardDetail.dll : fatal error LNK1136: invalid or corr
    pt file
    Whether the syntax of the link command is right ? I have to link the obj file with a dll (ie my timesten appication ) , also with static libraries like *.lib(plz luk in the command)
    I know it's not relevant to timesten , problem with the usage of Link command
    ( in VC++) .
    plz suggest the right command .
    Thanks
    sanal

    Well, I'm not an expert on this but my experience is that you cannot link a DLL directly into another DLL or even into a .EXE. You need to create an 'import library' which is a .LIB file that contains definitions of all the entry points into the DLL and then link that .LIB into the DLL or .EXE. Then the DLL will be dynamically loaded at run time.
    If I recall correctly (it is a long time since I have done this) you can create the import library at the time you create the DLL by including the /IMPLIB directive on the link command that you use to create the original DLL.
    Hope that is some help...
    Chris

  • TimesTen and Eclipse java development problem

    Hello all
    Using TimesTen with JDBC in from a Java code developed on Eclipse I encounter a problem: when running the program in debug mode, everything works fine. Running without debug, or outside Eclipse, results in the following error:
    java.sql.SQLException: [TimesTen][TimesTen 7.0.5.0.0 ODBC Driver][TimesTen]TT0837: Cannot attach data store shared-memory segment, error 8 -- file "db.c", lineno 7891, procedure "sbDbCreate"
    Does anyone know the cause of this, or can point me to logs or other resources I can look into?
    Regards,
    Shaul Peled
    Nuance Communication Inc.

    Okay, it is almost certainly an address space issue. Unfortunately 32-bit Windows is about the most problematic platform from this perspective. A TimesTen datastore is a single, contiguous memory region of size approximating PermSize+TempSize+LogBuffSize+DS header. In your case that will be about 1098 Mb. To 'connect' to this datastore, it is necessary to map the datastore memory (it is a shared mapping allocated from the Windows paging file) into your process (in this case the JVM) as a single region. Unfortunately, unlike most O/S, in Windows shared libraries (DLLs) have to be loaded at fixed locations in the address space defined when the DLL was linked. This means that although your process has a 4 GB address space (with quite a bit reserved for WIndows and other uses) that space is often highly fragmented with various DLLs (system and application) located all over the place. This means that often it is hard to find a single contiguous address space region to map a large datastore.
    into.
    To verify that this is the issue, could you try reducing the datastore size to say PermSize=128, TempSize=64 and see if you can connect then. If you can then you will have to experiment by slowly increasing Perm and Temp until you find the maximum size store you can accomodate. If you are using no logging (Are you sure that is what you want? You will end up with a single threaded datastore if you do that...) you could reduce LogBuffSize to the smallest allowed value (128 Kb).
    If it does turn out to be an address space issue then you have 3 options:
    1. Live with a smaller datastore size.
    2. Try and re-arrange the memory map by rebasing DLLs to create a larger contiguous region. Note that ijn any event it is very unlikely you will ever be able to exceed ~1.5 Gb for a datastore.
    3. Switch to 64-bit Windows, 64-bit TimesTen and a 64-bit JVM. Then the only limit on datastore size is available RAM.
    Let me know the outcome.
    Regards,
    Chris

  • TimesTen DB Installation problem on Windows 7 OS

    Hi,
    I tried installing timeten DB version 7.0 on windows 7 OS. During installation i am getting unable to create Registry Key error.
    Because of the above error i am not able to install the DB. I require help to solve the above issue.
    I also want to know if TimeTen support windows 7 OS.

    Windows 7 is not currently officially supported but i routinely use TimesTen 7.0 and 11.2.1, both 32 and 64 bit, on Windows-7 (64-bit) with no issues.
    What version of Windows 7 are you using and is it 32 or 64 bit? Are you trying to install 32 or 6 bit TimesTen 7.0? Also, why are you not using TimesTen 11.2.1?
    Did the error give any more information (such as which registry key)? Are you running the install as an Administrator? Have you disabled any anti-virus software or other security software prior to running the install?
    Chris

  • Problem in Index Scan in Timesten

    I m cheking Explain plan for below query in timesten,
    explain plan for UPDATE TBLTCUSTOMERRESERVATION SET CLOSINGREMARK = 0 where RESERVATIONIDENTIFIER='loadtest_onlymonetory8370' and RATINGGROUPID ='' AND RATINGSERVICEID = '';
    Query Optimizer Plan:
    STEP: 1
    LEVEL: 1
    OPERATION: RowLkSerialScan
    TBLNAME: TBLTCUSTOMERRESERVATION
    IXNAME: <NULL>
    INDEXED CONDITION: <NULL>
    NOT INDEXED: FALSE
    STEP: 2
    LEVEL: 1
    OPERATION: RowLkUpdate
    TBLNAME: TBLTCUSTOMERRESERVATION
    IXNAME: <NULL>
    INDEXED CONDITION: <NULL>
    NOT INDEXED: <NULL>
    While passing the values instead of null in below query :
    explain plan for UPDATE TBLTCUSTOMERRESERVATION SET CLOSINGREMARK = 0 where RESERVATIONIDENTIFIER='loadtest_onlymonetory8370' and RATINGGROUPID = 0 AND RATINGSERVICEID = 0;
    Query Optimizer Plan:
    STEP: 1
    LEVEL: 1
    OPERATION: RowLkRangeScan
    TBLNAME: TBLTCUSTOMERRESERVATION
    IXNAME: IDX_GRP_RATEID
    INDEXED CONDITION: TBLTCUSTOMERRESERVATION.RESERVATIONIDENTIFIER = 'loadtest_onlymonetory8370' AND TBLTCUSTOMERRESERVATION.RATINGGROUPID = 0 AND TBLTCUSTOMERRESERVATION.RATINGSERVICEID = 0
    NOT INDEXED: <NULL>
    STEP: 2
    LEVEL: 1
    OPERATION: RowLkUpdate
    TBLNAME: TBLTCUSTOMERRESERVATION
    IXNAME: <NULL>
    INDEXED CONDITION: <NULL>
    NOT INDEXED: <NULL>
    kindly help me why it is not scanning indexes when we are passing values in "WHERE" clause as null or '';

    Hi user10366531,
    First of all, your first query will not work properly, because of null values.
    UPDATE TBLTCUSTOMERRESERVATION SET CLOSINGREMARK = 0 where RESERVATIONIDENTIFIER='loadtest_onlymonetory8370' and RATINGGROUPID ='' AND RATINGSERVICEID = '';
                                                                                                           ||
    UPDATE TBLTCUSTOMERRESERVATION SET CLOSINGREMARK = 0 where RESERVATIONIDENTIFIER='loadtest_onlymonetory8370' and RATINGGROUPID =null AND RATINGSERVICEID = null;Secondly, almost all relational databases (not only TimesTen and Oracle DB) ignore NULL values, because index structure doesnt store NULL values.
    There is one way to resolve this task - it is using function based index (with NVL function for instance). Unfortunately, I dont have an opportunity to test it in TimesTen.
    In Oracle DB you can use the following:
    create index test_null_idx on emp  (nvl(name,'null'));regards,
    Gennady

  • Problems accesing TimesTen 11.2 with CPAN DBD/unixOdbc

    We've previous accessed TimesTen 6.0 with perl scripts using the CPN DBD library without any issues.  After upgrading to TimesTen 11.2, I'm getting the error below.  The libraries are located in the location the error indicates.  This is the last area where I'm having issues after upgrading to TT 11.2.  Any suggestons?
    executing: alltables SANTERA.SOFTWAREDELIVERY1%; quit;
    DBI connect('driver=TimesTen;DSN=DynamicDBCS;TTC_SERVER=msclab52;UID=xxxxxx;PWD=xxxxx;AutoCreate=0','xxxxx',...) failed: [unixODBC][Driver Manager]Can't open lib '/opt/SANTone/msc/active/TimesTen/tt1121/lib/libttclient.so' : libttco.so: cannot open shared object file: No such file or directory (SQL-01000) at dbUpgradeUtilsOdbc.pm line 1130
    ERROR: FAILED to open ODBC connection to DynamicDB on msclab52: [unixODBC][Driver Manager]Can't open lib '/opt/SANTone/msc/active/TimesTen/tt1121/lib/libttclient.so' : libttco.so: cannot open shared object file: No such file or directory (SQL-01000)
    msclab52% ls -ltr /opt/SANTone/msc/active/TimesTen/tt1121/lib/libttclient.so
    lrwxrwxrwx 1 root root 21 Jul 26 13:01 /opt/SANTone/msc/active/TimesTen/tt1121/lib/libttclient.so -> libttclient.so.gcc346*
    msclab52%
    msclab52% ls -ltr /opt/SANTone/msc/active/TimesTen/tt1121/lib/libttco.so
    -rwxr-xr-x 1 root daemon 2160013 Jul 26 12:22 /opt/SANTone/msc/active/TimesTen/tt1121/lib/libttco.so*
    Thanks,
    William

    Steps I performed:
    1. Installed TT11.2 using setup script onto server51
    2. Tarred up the installed directories and untarred the directories onto a development server.
    3. Remove TT package from server51
    3.  Create a software package (tarball) containing both TT files and our application files.
    4.  Install our tarball back onto server51 from step one.
    ttIsqlCS works in the same environment.  I even added the environment variables created from ttenv.sh into the perl script itself without any luck.

  • Timesten user defined function problem

    create or replace
    FUNCTION FACTORIAL
      n IN NUMBER         
    RETURN NUMBER IS
    val NUMBER :=1;
    tem number :=n;
    BEGIN  
      while tem>1 LOOP
        val:=val*tem;
        tem:=tem-1;
      END LOOP;
      RETURN val;
    END FACTORIAL;
    I create a function like this.
    And I  test it in sql developer(ctrl-F10), and get the right result.
    When I use the function in SQL:   select factorial(10) from dual;     (I use log as function owner,  exactly same connection as I test the function with ctrl-F10)
    cames the error message:  
    [TimesTen][TimesTen 11.2.2.5.0 ODBC Driver][TimesTen]TT2818: Unknown function FACTORIAL. If this is a PLSQL function note that such functions are not yet supported in SQL statements. -- file "saCanon.c", lineno 24079, procedure "inferExprTNFunc()"  
    Does that means timesten doesn't support user defined function in SQL statements?

    Yes, unfortunately currently TimesTen does not support calling PL/SQL functions from within a SQL statement.
    Chris

  • Problem in connecting oracle form to Oracle Timesten

    Hi..
    I had tried to connect the application which is developed using Oracle Form/Report to Oracle Timesten. But it doesn't work til now. So, I hope some help from anyone in this forum.

    I have an interest in doing this, did you make any progess with it?

  • Oracle TimesTen - Cyrillic names problem

    Hi, Guys!
    I am trying to adopt Oracle TimesTen to speedup my database. My database has alot of objects with Cyrillic names. I`ve tried almost all the character sets which support Cyrillics, but it does not gives me a chance to create this objects. I`ve used CL8KOI8R, CL8MSWIN1251, RU8PC866, AL16UTF16, AL32UTF8, UTF8 as default database character set and connection character set, but it still gives me an error.
    Here is an query example:
    "create table "Скважина" (a int);"
    It returns:
    " 1006: Identifier "Скважина" contains illegal characters
    The command failed."

    Although TimesTen supports various character sets for data, we do not support use of Unicode characters for object names. Could that be the issue? What character encoding are you using when trying to create the Cyrillic names?
    Chris

  • Timesten LOCK issue

    We are facing Timesten LOCK timeout issue in client environment very frequently but it has not happening in local test environment tried to reproduce for many times. Below is the Error message
    An exception occured while inserting data to USER_DATA_SATGING_TABLE : [TimesTen][TimesTen 11.2.1.8.0 ODBC Driver][TimesTen]TT6003: Lock request denied because of time-out
    Details: Tran 199.4005 (pid 11169) wants Xni lock on rowid BMUFVUAAABPBAAAOjo, table DATA_STAGING_TABLE. But tran 194.2521 (pid 11169) has it in X (request was X). Holder SQL (DELETE FROM USER_DATA_STAGING_TABLE WHERE STATUS= 'COMPLETE') -- file "table.c", lineno 15230, procedure "sbTblStorLTupSlotAlloc":false
    SYS.SYSTEMSTATS output on lock details:
    < lock.locks_granted.immediate                               
    , 5996359, 0, 0 >
    < lock.locks_granted.wait                                    
    , 0, 0, 0 >
    < lock.timeouts                                              
    , 8, 0, 0 >
    < lock.deadlocks                                             
    , 0, 0, 0 >
    < lock.locks_acquired.table_scans                            
    , 10256, 0, 0 >
    < lock.locks_acquired.dml                                    
    , 4, 0, 0 >
    After doing rollback of transaction using ttXactAdmin, it is going fine without any issue and it is reoccurring in 2/3 days later. 
    Previous lock information by using ttXactAdmin command.
    PID
    Context       
    TransID
    TransStatus Resource  ResourceID      
    Mode  SqlCmdID        
    Name
    Program File Name: java
    9291
    0x16907fd0     
    198.6732   Active 
    Database  0x01312d0001312d00   IX
    0
    Command   1056230912      
    S
    1056230912
    0x16988810     
    199.4371   Active 
    Database  0x01312d0001312d00   IX
    0
    Row  
    BMUFVUAAABxAAAADD9   X
    1055528832      
    USER.USER_DATA_STAGING_TABLE
    Table
    718096          
    IXn   1055528832      
    USER.USER_DATA_STAGING_TABLE
    EndScan   BMUFVUAAAAKAAAAGD1   U
    1055528832      
    USER.USER_DATA_STAGING_VIEW
    Table
    718176          
    IXn   1055528832      
    USER.USER_DATA_STAGING_VIEW
    Command   1056230912      
    S
    1056230912
    0x1882e610     
    201.16275  Active 
    Database  0x01312d0001312d00   IX
    0
    TTVERSION : TimesTen Release 11.2.1.8.0 (64 bit Linux/x86_64) (tt11:17001) 2011-02-02T02:20:46Z
    sys.odbc.ini file configuration:
    UID=user
    PWD=user
    Driver=/opt/TimesTen/tt11/lib/libtten.so
    DataStore=/var/TimesTen/tt11/ds/TT_USER_DS
    LogDir=/var/TimesTen/tt11/ttlog/TT_User
    CacheGridEnable = 0
    PermSize         = 1000
    TempSize         = 200
    CkptLogVolume    = 200
    DatabaseCharacterSet=WE8ISO8859P1
    Connections      = 128
    Here we are using XLA message listener to get notification a USER.USER_DATA_STAGING_VIEW which in turn looks for a table USER.USER_DATA_STAGING_TABLE. Delete operation on this table locks table and blocks for further insert.
    I want to know
    1) why this happening ?
    2) why is this happening in specific environment and not able to reproduce the same in other environment.
    3) how to resolve this issue?
    This is very critical issue which blocks us for further move in client solution. Expecting your reply ASAP.

    For critical issues you should always log an SR as Steve advised. These forums are not monitored 24x7 and are not the best way to get rapid assistance for critical problems.
    For this issue it seems like a DELETE operation on the table was holding a lock on a row that an INSERT operation needed to get a lock on (looks like an INDEX 'next key' lock). The inserter was not able to acquire the lock within the defined timeout (which by default is 10 seconds unless you have configured it to be different). 10 secodns is a long time so the question is why the DELETE operation was not committed (which would release) the locks within 10 seconds. Maybe it was deleting a very large number of rows? If that is the issue then the best solution is to break such a large delete up into a series of smaller deletes. For example:
    repeat
       DELETE FIRST 256 FROM USER_DATA_STAGING_TABLE WHERE STATUS= 'COMPLETE';
       COMMIT;
    until 'rows deleted' = 0
    Alternatively you could just increase the lock timeout value (but that is really just 'hiding' the issue).
    Chris

  • What are the API's and OS Supported by Oracle TimesTen

    1.) What are all the API supported by oracle TimesTen?
    is the below are correct and whether other than this is there any other API supports oracle TimesTen
    JDBC,
    ODBC,
    OLAP,
    ADO.net,
    C++...............
    2.) What are the Platform supports?
    is the below are correct and whether other than this is there any other OS supports oracle TimesTen
    Linux x86-32 and x86-64:
    Oracle Linux 4 and 5
    Red Hat Enterprise Linux 4 and 5
    SUSE Enterprise Server 10 and 11
    MontaVista Linux CGE 5.0 and 6.0
    Asianux 3.0
    Microsoft Windows x86-32 and x86-64:
    Windows XP, Windows Vista, Windows Server 2003, Windows Server 2003 Release 2, Windows Server 2008, Windows 7
    Solaris SPARC 64-bit:
    Oracle Solaris 10
    Solaris x86-64:
    Oracle Solaris 10
    IBM AIX 64-bit:
    AIX 6.1 and 7.1
    Solaris SPARC 32-bit (client only):
    Oracle Solaris 10
    IBM AIX 32-bit (client only):
    AIX 6.1 and 7.1
    3.) What is the latest Version in Oracle TimesTen?
    4.) Maximum number of rows in a table.     2 Power 28 = 268,435,256 for 32 Bit     / (2 power 31-1) = 2,147,483,647 for 64 Bit
    if the Row value exceeds more than the specified value what will happen ? whether we need to have multiple tables
    Say TableA reaches 268,435,256 values and if few more rows are added then the value can be kept in new table TableB and so on..... or how?
    Thanks

    Dear 933663,
    1. What are all the API supported by oracle TimesTen?
    JDBC
    ODBC
    ADO.net
    OCI
    PRO*C
    +
    PL/SQL
    SQL
    2. What are the Platform supports?
    TimesTen 11.2.2.2.0 supports - Windows (32-bit, 64-bit), Linux x86 (32-bit, 64-bit), Solaris Sparc (64-bit), Solaris x86 (64-bit), IBM AIX Power (64-bit) (http://www.oracle.com/technetwork/products/timesten/downloads/index.html)
    The detailed information I could find only in 11.2.1 documentation (http://docs.oracle.com/cd/E18283_01/timesten.112/e13063/install.htm):
    Microsoft Windows 2000, Windows XP, Windows Vista and Windows Server 2003 and 2008 for Intel IA-32 and EM64T and AMD64 CPUs.
    Asianux 2.0 and 3.0 for Intel IA-32 and EM64T and AMD64 CPUs.
    SuSE LINUX Enterprise Server 10 for Intel IA-32 and EM64T and AMD64 CPUs.
    SuSE LINUX Enterprise Server 10 for Itanium2 CPUs
    Solaris 9 and 10 for UltraSparc CPUs
    Solaris 10 for AMD64 CPUs
    Red Hat Enterprise Linux 4 and 5 for Intel Itanium2 CPUs.
    Red Hat Enterprise Linux 4 and 5 for Intel IA-32 and EM64T and AMD64 CPUs.
    Oracle Enterprise Linux 4 and 5 for Intel IA-32 and EM64T and AMD64 CPUs.
    MontaVista Linux Carrier Grade Edition Release 4.0 and 5.0 for Intel IA-32, EM64T and AMD64 CPUs.
    HP-UX 11i v2 and 11iv3 for PA-RISC
    HP-UX 11i v2 and 11iv3 for Itanium2
    AIX 5L 5.3 and 6.1 for POWER CPUs
    3.) What is the latest Version in Oracle TimesTen?
    11.2.2.2.0 (http://www.oracle.com/technetwork/products/timesten/downloads/index.html)
    4) Maximum number of rows in a table. 2 Power 28 = 268,435,256 for 32 Bit / (2 power 31-1) = 2,147,483,647 for 64 Bit
    Actually, I couldn't find any information about rows limits for TimesTen tables and I've never faced with this problem.
    Best regards,
    Gennady

  • A question about cache group error in TimesTen 7.0.5

    hello, chris:
    we got some errors about cache group :
    2008-09-21 08:56:15.99 Err : ORA: 229574: ora-229574-3085-ogTblGC00405: Failed calling OCI function: OCIStmtFetch()
    2008-09-21 08:56:15.99 Err : ORA: 229574: ora-229574-3085-raUtils00373: Oracle native error code = 1405, msg = ORA-01405: fetched column value is NULL
    2008-09-21 08:56:28.16 Err : ORA: 229576: ora-229576-2057-raStuff09837: Unexpected row count. Expecting 1. Got 0.
    and the exact scene is: our oracle server was restart for some reason, but we didnot restart the cache group agent. then iit start appear those errors informations.
    we want to know, if the oracle server restart, whether we need to restart cache agent?? thank you..

    Yes, the tracking table will track all changes to the associated base table. Only changes that meet the cache group WHERE clause predicate will be refreshed to TimesTen.
    The tracking table is managed automatically by the cache agent. As long as the cache agent is running and AUTOREFRESH is occurring the table will be space managed and old data will be purged.
    It is okay if very occasionally an AUTOREFRESH is unable to complete within its defined interval but if this happens with any regularity then this is a problem since this situation is unsustainable. To remedy this you need to try one or more of:
    1. Tune execution of AUTOREFRESH queries in Oracle. This may mean adding additional indexes to some of the cached Oracle tables. There is an article on this in MetaLink (doc note 473493.1).
    2. Increase the AUTOREFRESH interval so that a refresh can always complete within the defined interval.
    In any event it is important that you have enough space to cope with the 'steady state' size of the tracking table. If the cache agent will not be running for any significant length of time you need to manually cleanup the tracking table. In TimesTen 11g a script to do this is provided but it is not officially supported in TimesTen 7.0.
    If the rate of updates on the base table is such that you cannot arrive at a sustainable situation by tuning etc. then you will need to consider more radical options such as breaking the table into multiple separate tables :-(
    Chris

  • Errors in Timesten Client on windows 64 bit

    Hi ,
    I am installing Times-ten Client on 64 but windows machine.It is installed successfully.
    The ODBC connection is also done successfully with Timesten Server.
    Now i am trying to up my appication with Timesten URL .
    i have change required JDBC url and Driver with timesten string.
    while Up the appication
    i am getting below errors :
    2013-05-29 12:23:08,635 [main] [TRACE] [ CM_SERCONF ] : org.jboss.util.NestedSQLException: Unable to get managed connection for OfflineDS; - nested throwable: (javax.resource.ResourceException: Unable to get managed connection for OfflineDS)
    kindly suggest me how i can resolve this

    Following sample java program which is connecting to Times ten
    import java.sql.*;
    public class oracletest {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
         try {
              Class.forName("com.timesten.jdbc.TimesTenDriver");
    String serverName="192.168.1.196";
    String user="scott";
    String password="tiger";
    String SID="ttocsdev";
    String URL="jdbc:timesten:client:dsn=ttocsdev";
    Connection conn=DriverManager.getConnection(URL, user, password);
    String SQL="select ddf.bankid hbankid,gb.strbatchcustom2 BANKNAME, ddf.jrxmlfile, ddf.dbview, ddf.format, ddf.strcustom1 CSVDELIMITER, ddf.exportfilepath from TBLTGENERATEDBATCH gb , tbltdirectdebitfileextension ddf where gb.strbatchcustom3 = ddf.bankid and gb.generatedbatchid='BCH000000003'";
    Statement stat=conn.createStatement();
    ResultSet rs=stat.executeQuery(SQL);
    while (rs.next()){
         String strcontent=rs.getString("hbankid");
    System.out.println(strcontent);
                   stat.close();
                   conn.close();
              } catch (Exception e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    Errors
    java.sql.SQLException: Problems with loading native library/missing methods: C:\TimesTen\tt1122_64\bin\ttJdbcCS1122.dll: Can't find dependent libraries
    at com.timesten.jdbc.JdbcOdbcConnection.connect(JdbcOdbcConnection.java:1794)
    at com.timesten.jdbc.TimesTenDriver.connect(TimesTenDriver.java:303)
    at com.timesten.jdbc.TimesTenDriver.connect(TimesTenDriver.java:159)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at oracletest.main(oracletest.java:26)

  • TimesTen errors log

    Hi
    I'm using TimesTen 5.3.7 on HP-UX 64-bit.
    My data store was invalidatied and unloaded from ram on its own.
    tterrors.log as below:
    (There are lots of Info & Warn entries in the log, maybe they're helpful to find out the problem)
    12:33:42 Info: 20345: : Starting daRecovery for 25201
    12:33:42 Info: 20345: : 25201 ------------------: process exited
    12:33:42 Warn: 20345: : 25201 exited while connected to data store '/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A' shm 1730150885 count=1
    12:33:42 Info: 20345: : Examining /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A...
    12:33:42 Info: 23931: : hello
    12:33:42 Info: 20345: : Telling subdaemon 175 to evaluate /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 23931: : evaluate
    12:33:42 Info: 23931: : subd got #4.8, evaluate: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A shmKey=g %01%e5 pid=%00%00bq
    12:33:42 Info: 23931: : subd: evaluate '/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A' pid 25201
    12:33:42 Err : 20345: : 23931/0000000000000000: Invalidating: where sqlCurOpenOFC, inDbOper 0, inDbCritCounter 0, inDbCritFlag 1, inDbOperOld 1, ignore_new_inv 0
    12:33:42 Info: 23931: : subd: OK rc=1
    12:33:42 Info: 23931: : subd: done with request #4.8
    12:33:42 Info: 20345: : marking subdaemon #175 (pid 23931) idle
    12:33:42 Warn: 20345: : daRecovery: examine for 25201 failed: invalidate (failcode=300014)
    12:33:42 Warn: 20345: : Invalidating the data store (failcode 300014, recovery for 25201)
    12:33:42 Info: 20345: : daInvalidateDatabase(/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A); shmKey 1730150885
    12:33:42 Info: 20345: : About to destroy SHM 6153
    12:33:42 Info: 20345: : daRecovery/invalidate: clear nUsers, which was 20, set trashed to 105
    12:33:42 Info: 20345: : Finished daRecovery for pid 25201.
    12:33:42 Info: 20345: : maind got #145012.298850 from 2228, disconnect: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A context=8000000100303fe8 dbdev= panic=Y shmKey=g %01%e5
    12:33:42 Warn: 20345: : 2228/8000000100303fe8: Forced Disconnect /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 20345: : 2228 8000000100303fe8: Client disconnecting from shm key 0x672001e5
    12:33:42 Warn: 20345: : 2228 ----------: Disconnecting from an old instance
    12:33:42 Info: 20345: : maind got #144650.298851 from 24598, disconnect: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A context=8000000100985000 dbdev= panic=Y shmKey=g %01%e5
    12:33:42 Warn: 20345: : 24598/8000000100985000: Forced Disconnect /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 20345: : 24598 8000000100985000: Client disconnecting from shm key 0x672001e5
    12:33:42 Warn: 20345: : 24598 ----------: Disconnecting from an old instance
    12:33:42 Info: 20345: : return 400 Disconnecting from obsolete instance
    12:33:42 Info: 20345: : maind: done with request #144650.298851
    12:33:42 Err : 24598: : TT14000: TimesTen daemon internal error: subd: flusher thread failed to disconnect, tt error 846.
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:receiver.c(787): TT16012: Data store is invalid. Replication Agent exiting; but will be restarted by Timesten daemon
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(1092): TT16012: Data store is invalid. Replication Agent exiting; but will be restarted by Timesten daemon
    12:33:42 Info: 20345: : maind got #158460.298852 from 19481, disconnect: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A context=8000000100735200 dbdev= panic=Y shmKey=g %01%e5
    12:33:42 Warn: 20345: : 19481/8000000100735200: Forced Disconnect /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 20345: : 19481 8000000100735200: Client disconnecting from shm key 0x672001e5
    12:33:42 Info: 20345: : maind got #165235.298854 from 12107, disconnect: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A context=80000001001c71b0 dbdev= panic=Y shmKey=g %01%e5
    12:33:42 Warn: 20345: : 19481 ----------: Disconnecting from an old instance
    12:33:42 Info: 20345: : return 400 Disconnecting from obsolete instance
    12:33:42 Warn: 20345: : 12107/80000001001c71b0: Forced Disconnect /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 20345: : 12107 80000001001c71b0: Client disconnecting from shm key 0x672001e5
    12:33:42 Warn: 20345: : 12107 ----------: Disconnecting from an old instance
    12:33:42 Info: 20345: : return 400 Disconnecting from obsolete instance
    12:33:42 Info: 20345: : maind: done with request #165235.298854
    12:33:42 Info: 20345: : maind got #162626.298855 from 18279, disconnect: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A context=800000010002f638 dbdev= panic=Y shmKey=g %01%e5
    12:33:42 Warn: 20345: : 18279/800000010002f638: Forced Disconnect /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 20345: : 18279 800000010002f638: Client disconnecting from shm key 0x672001e5
    12:33:42 Warn: 20345: : 18279 ----------: Disconnecting from an old instance
    12:33:42 Info: 20345: : return 400 Disconnecting from obsolete instance
    12:33:42 Info: 20345: : maind: done with request #162626.298855
    12:33:42 Info: 20345: : maind 162626: socket closed, calling recovery (last cmd was 298855)
    12:33:42 Info: 20345: : Starting daRecovery for 18279
    12:33:42 Info: 20345: : 18279 ------------------: process exited
    12:33:42 Info: 20345: : Finished daRecovery for pid 18279.
    12:33:42 Info: 20345: : maind: done with request #158460.298852
    12:33:42 Info: 20345: : maind got #162255.298853 from 17221, disconnect: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A context=800000010016d410 dbdev= panic=Y shmKey=g %01%e5
    12:33:42 Warn: 20345: : 17221/800000010016d410: Forced Disconnect /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 20345: : 17221 800000010016d410: Client disconnecting from shm key 0x672001e5
    12:33:42 Warn: 20345: : 17221 ----------: Disconnecting from an old instance
    12:33:42 Info: 20345: : return 400 Disconnecting from obsolete instance
    12:33:42 Info: 20345: : maind: done with request #162255.298853
    12:33:42 Info: 20345: : maind 165235: socket closed, calling recovery (last cmd was 298854)
    12:33:42 Info: 20345: : Starting daRecovery for 12107
    12:33:42 Info: 20345: : 12107 ------------------: process exited
    12:33:42 Info: 20345: : Finished daRecovery for pid 12107.
    12:33:42 Info: 20345: : return 400 Disconnecting from obsolete instance
    12:33:42 Info: 20345: : maind: done with request #145012.298850
    12:33:42 Info: 20345: : maind got #145012.298856 from 2228, disconnect: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A context=80000001002c3fe8 dbdev= panic=Y shmKey=g %01%e5
    12:33:42 Warn: 20345: : 2228/80000001002c3fe8: Forced Disconnect /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 20345: : 2228 80000001002c3fe8: Client disconnecting from shm key 0x672001e5
    12:33:42 Warn: 20345: : 2228 ----------: Disconnecting from an old instance
    12:33:42 Info: 20345: : return 400 Disconnecting from obsolete instance
    12:33:42 Info: 20345: : maind: done with request #145012.298856
    12:33:42 Info: 20345: : maind got #145012.298857 from 2228, disconnect: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A context=8000000100340018 dbdev= panic=Y shmKey=g %01%e5
    12:33:42 Warn: 20345: : 2228/8000000100340018: Forced Disconnect /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 20345: : 2228 8000000100340018: Client disconnecting from shm key 0x672001e5
    12:33:42 Warn: 20345: : 2228 ----------: Disconnecting from an old instance
    12:33:42 Info: 20345: : return 400 Disconnecting from obsolete instance
    12:33:42 Info: 20345: : maind: done with request #145012.298857
    12:33:42 Info: 20345: : maind got #145012.298858 from 2228, disconnect: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A context=8000000100263fe8 dbdev= panic=Y shmKey=g %01%e5
    12:33:42 Warn: 20345: : 2228/8000000100263fe8: Forced Disconnect /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 20345: : 2228 8000000100263fe8: Client disconnecting from shm key 0x672001e5
    12:33:42 Warn: 20345: : 2228 ----------: Disconnecting from an old instance
    12:33:42 Info: 20345: : return 400 Disconnecting from obsolete instance
    12:33:42 Info: 20345: : maind: done with request #145012.298858
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(2731): TT16005: Failed to disconnect from datastore '/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A' for 'LOGFORCE' thread
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(2731): TT846: TT0846: Data store connection invalid or not current -- file "dbAPI.c", lineno 2633, procedure "sb_dbDisconnect()"
    12:33:42 Info: 2228: REP: BMCFR_650_64S_A:repagent.c(1100): TT16026: Thread 'LOGFORCE' (context 8000000100263fe8; return code 'SUCCESS') exiting
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:transmitter.c(5527): TT16012: Data store is invalid. Replication Agent exiting; but will be restarted by Timesten daemon
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(1092): TT16012: Data store is invalid. Replication Agent exiting; but will be restarted by Timesten daemon
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(2731): TT16005: Failed to disconnect from datastore '/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A' for 'TRANSMITTER' thread
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(2731): TT846: TT0846: Data store connection invalid or not current -- file "dbAPI.c", lineno 2633, procedure "sb_dbDisconnect()"
    12:33:42 Info: 2228: REP: BMCFR_650_64S_A:repagent.c(1100): TT16026: Thread 'TRANSMITTER' (context 8000000100303fe8; return code 'SUCCESS') exiting
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:transmitter.c(5527): TT16012: Data store is invalid. Replication Agent exiting; but will be restarted by Timesten daemon
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:transmitter.c(5527): TT16012: Data store is invalid. Replication Agent exiting; but will be restarted by Timesten daemon
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(1092): TT16012: Data store is invalid. Replication Agent exiting; but will be restarted by Timesten daemon
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(2731): TT16005: Failed to disconnect from datastore '/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A' for 'TRANSMITTER' thread
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(1092): TT16012: Data store is invalid. Replication Agent exiting; but will be restarted by Timesten daemon
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(2731): TT846: TT0846: Data store connection invalid or not current -- file "dbAPI.c", lineno 2633, procedure "sb_dbDisconnect()"
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(2731): TT16005: Failed to disconnect from datastore '/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A' for 'TRANSMITTER' thread
    12:33:42 Err : 2228: REP: BMCFR_650_64S_A:repagent.c(2731): TT846: TT0846: Data store connection invalid or not current -- file "dbAPI.c", lineno 2633, procedure "sb_dbDisconnect()"
    12:33:42 Info: 2228: REP: BMCFR_650_64S_A:repagent.c(1100): TT16026: Thread 'TRANSMITTER' (context 8000000100340018; return code 'SUCCESS') exiting
    12:33:42 Info: 2228: REP: BMCFR_650_64S_A:repagent.c(1100): TT16026: Thread 'TRANSMITTER' (context 80000001002c3fe8; return code 'SUCCESS') exiting
    12:33:42 Warn: 24598: : Stopping subdaemon worker for /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A because db is invalid.
    12:33:42 Err : 24598: : subd: manager exiting due to invalidation12:33:42 Info: 20345: : maind 144649: socket closed, calling recovery (last cmd was 256157)
    12:33:42 Info: 20345: : Starting daRecovery for 24598
    12:33:42 Info: 20345: : child 24598 gone, exited with status 3
    12:33:42 Info: 20345: : Finished daRecovery for pid 24598.
    12:33:42 Info: 20345: : maind 144650: socket closed, calling recovery (last cmd was 298851)
    12:33:42 Info: 20345: : Starting daRecovery for 24598
    12:33:42 Warn: 20345: : 24598 ------------------: subdaemon process exited
    12:33:42 Info: 20345: : Mark process (pid 24598, idx 180) down
    12:33:42 Info: 20345: : Mark process #180 as down (0)
    12:33:42 Warn: 20345: : 24598 exited while connected to data store '/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A' shm 1730150885 count=2
    12:33:42 Warn: 20345: : daRecovery: subdaemon 24598, managing data store, failed: invalidate (failcode=202)
    12:33:42 Info: 20345: : Data store already invalid or deleted (failcode 202)
    12:33:42 Info: 20345: : Finished daRecovery for pid 24598.
    12:33:42 Warn: 2228: REP: BMCFR_650_64S_A:receiver.c(1388): TT16060: Failed to read data from the network. TimesTen daemon is stopping
    12:33:42 Info: 20345: : maind got #145012.298859 from 2228, disconnect: name=/pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A context=8000000100146438 dbdev= panic=Y shmKey=g %01%e5
    12:33:42 Warn: 20345: : 2228/8000000100146438: Forced Disconnect /pkdfr01/TIMESTEN/af/ds/SP9/BMCFR_650_64S_A
    12:33:42 Info: 20345: : 2228 8000000100146438: Client disconnecting from shm key 0x672001e5
    12:33:42 Warn: 20345: : 2228 ----------: Disconnecting from an old instance
    12:33:42 Info: 20345: : return 400 Disconnecting from obsolete instance
    12:33:42 Info: 20345: : maind: done with request #145012.298859
    Thanks in advance!
    Edited by: user6336483 on Oct 29, 2008 9:54 PM

    Historically, there was always a possibility that if a direct mode connected process dies (e.g. SIGSEGV) or was killed abrubptly (e.g. kill -9) then the datastore could be invalidated. If a direct mode process dies while in a critical section it is holding internal resources, and has in progress modifications to internal control structures, that could not be undone and so the only option was to invalidate the datastore to protect data integrity and force a reload/recovery from disk.
    In TimesTen 5.1 we intorduced 'micrologging' which eliminated this vulnerability by allowing us to undo inflight structure changes and release the internal resources. Micrologging has been extremely successful; so much so that nowadays we consider any invalidation caused by abnormal process termination to be a bug. Unfortunately, micrologging relies on the presence of some fairly basic capabilities within the CPU instruction set. All modern platforms provide these capabilities with the exception of HP PA-RISC CPUs. This means that while we do still have micrologging in the HP/UX PA-RISC ports it is not 100% effective unlike other platforms. There is still a small window when a process death could cause an invalidation. I see that you are on HP/UX; you don't say if it is PA RISC or Itanium but my guess is PA RISC, right? It is most likely that when you did the 'kill -9' you were unlucky and hit one of these windows of vulnerability.
    My recommendation is to avoid kill -9 as far as possible. If you have some 'stuck transaction' then you can safely kill that using 'ttXactAdmin -xactIdRollback'. If you want to be able to kill connected processes, be sure that the application implements a handler for e.g. SIGTERM which will allow it to exit gracefully. Ultimately, of course, switching to another hardware platform will eliminate this issue.
    Chris

Maybe you are looking for