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
Ognianfor #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
sanalWell, 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,
WilliamSteps 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 -
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?
ThanksDear 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 thisFollowing 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) -
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 PMHistorically, 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
-
Asap!! how to install bi beans on something else then jdeveloper??
hye! i worked with jdev and bi beans 10g now i want to install bi beans on some other java tool... which one???? how??? eclipse? net beans???? please help! i can't find anything on the internet about this.
-
I have a problem in the Bluetooth headset after updating iOS 7
I have a problem in the Bluetooth headset after updating iOS 7
-
My husband has iTunes account on iTouch with music he has purchased. I have iPhone with my own iTunes account. How can I copy my husbands music on my iPhone?
-
Hide toolbar using about:config
Hello. i want to automate this process. i want to hide the menu bar, bookmarks bat and navigation toolbar using about:config or some thing similar. i know i can just right click on the and untick them. but i need to do this automaticly user abour:con
-
I can not get my mac book air to connect to the net with my broadband
How can I get my mac book air to connect to the net with a broadband ?