Timesten Error 8521
Hi,
When application tries to connect to database I see the following error from timesten, the scenario is initially when first time the application which is connecting to timesten makes the connection without any problem, when connection is still open and tried to restart the timesten (ttDaemonAdmin -stop/start) and when application retries to connect the following error is seen, if again the application is restarted it will connect fine, i have also collected the ipcs -m command o/p,
Before timesten restart,
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x5d0082d2 14516231 timesten 660 1048576 1
0x0c00800d 14549000 timesten 660 1159224112 2
0x0d00800d 14581769 timesten 660 33554432 2
After Timesten restart,
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x5d0082d2 14614535 timesten 660 1048576 1
0x00000000 14549000 timesten 660 1159224112 1 dest
0x00000000 14581769 timesten 660 33554432 1 dest
Caused by: java.sql.SQLException: JDBCUpdateRule.checkDBConnection: could not connect to the database: java.sql.SQLException: JDBCUpdateRule.connectToDatabase() : java.sql.SQLException: [TimesTen][TimesTen 11.2.1.6.1 ODBC Driver][TimesTen]TT8521: Cannot attach PL/SQL shared memory; virtual memory at PLSQL_MEMORY_ADDRESS already in use by TimesTen -- file "db.c", lineno 9830, procedure "sbDbConnect"
Caused by: java.sql.SQLException: JDBCUpdateRule.connectToDatabase() : java.sql.SQLException: [TimesTen][TimesTen 11.2.1.6.1 ODBC Driver][TimesTen]TT8521: Cannot attach PL/SQL shared memory; virtual memory at PLSQL_MEMORY_ADDRESS already in use by TimesTen -- file "db.c", lineno 9830, procedure "sbDbConnect"
Caused by: java.sql.SQLException: [TimesTen][TimesTen 11.2.1.6.1 ODBC Driver][TimesTen]TT8521: Cannot attach PL/SQL shared memory; virtual memory at PLSQL_MEMORY_ADDRESS already in use by TimesTen -- file "db.c", lineno 9830, procedure "sbDbConnect"
what is the possible cause for this situation?
Edited by: user1074825 on Apr 17, 2011 6:26 AM
In direct mode, a 'connection' to TimesTen is really a shared memory attach/mapping. As such it behaves quite differentyl to a normal TCP/IP type connection and applications must be sure to behave 'properly'. If a datastroe fails (we use the term 'invalidation') while an application has a direct mode connection then the next time the application tries to perform any database operation it will get an error/exception with a TimesTen native error code of 994 or 846. When it receives one of these errors the application must, for each connection that it has, do the following:
1. Execute a rollback. This rollback may itself return an error / throw an exception but this can be ignored.
2. Disconnect the connection.
Unless the application does this, the 'defunct' shared memory segment(s) (datastore and maybe Pl/SQL segment) will (a) remain allocated (and visible via ipcs) and (b) remain attached ot the process, possibly preventing the process opening any new connections.
This is what you are seeing in your 'experiment'. Stopping the TimesTen daemon (why are you douing this by the way? Stopping the daemon should usually be a system startup/shutdown type of thing; it is unusual to stop the daemon at other times) will invalidate (i.e. crash) all datastores beign managed by the daemon. TimesTen cannot clean up the defunct shared memory segments as the application still has them attached. The daemon comes back up and new applications can connect fine but the existing application still has the old shared segments attached and so cannot 'reconnect'.
Regards,
Chris
Similar Messages
-
TtAdmin: TimesTen Error: 10002;
Hey,
I'm trying to create a new Datastore on our HP-UX server and unfortunately, I encounter this error while trying the command :ttadmin -ramLoad lgcp.philip
ttAdmin: TimesTen Error: 10002; No record of a data store located in '/u01/TimesTen/DB/LGCP'
Here is the details of the odbc.ini file I'm using:
[ODBC Data Sources]
lgcp.philip=TimesTen 6.0 Driver
[lgcp.philip]
Driver=/u01/TimesTen/tt60/lib/libtten.sl
DataStore=/u01/TimesTen/DB/LGCP
AutoCreate=1
All the System parameters are fine since we have another Datastore running on this server.
Did I miss a config somewhere? Any idea of what is not ok..
ThanksYou are getting this error since the datastore does not yet exist (only the definition in odbc.ini exists). First you must create the physical datastore by e.g. connecting to it via ttIsql and then disconnecting. Once the datastore exists you can set the ramPolicy to manual (needed before you can ramLoad it) and then ramLoad it.
Chris -
While just playing around with Times ten and I am getting following error while starting data source
bash-3.2$ ./ttadmin -cachestart cachealone1
*** [TimesTen][TimesTen 11.2.1.3.0 ODBC Driver]Sum of permanent and temporary partition sizes (2320 MB) exceeds maximum size (2047 MB) allowed on this platform
*** ODBC Error = 08004, TimesTen Error = 818
From where does Timesten hit this limit of 2047 MB ? Can i increase the maximum sizes by doing some configuration changes(My machine as around 6 gb memory[Oracle DB is also installed on the same node]). I am trying to check the various operations using bigger tables (around 2gb DB size).
Following are the configurations:
[root@stin77 ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
fs.file-max = 6553600
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
bash-3.2$ uname -a
Linux stin77 2.6.18-92.el5PAE #1 SMP Tue Apr 29 13:31:02 EDT 2008 i686 i686 i386 GNU/Linux
[cachealone1]
Driver=/localhome/oracle/Timesten/TimesTen/tt1121/lib/libtten.so
DataStore=/localhome/oracle/Timesten/TimesTen/tt1121/info/DemoDataStore/cachealone1
TempSize=320
PermSize=2000
PLSQL=1
DatabaseCharacterSet=WE8MSWIN1252
OracleNetServiceName=orcl
Kernel Parameters:
[root@stin77 ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
fs.file-max = 6553600
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144You are running 32-bit TimesTen on a 32-bit O/S. Regardless of how much memory the machine has, there are limits on how much can be used by an individual process and further limits due to filesize etc. 32-bit TimesTen is limited to a maximum datastore size of 2 GB.
To create a datastore with an overall size larger than 2 GB you need a 64-bit machine running a 64-bit O/S and 64-bit TimesTen. Then the only limitation is how much physical memory you have in the machine...
Chris -
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 -
TimesTen Error :5126: A system managed cache group cannot contain non-stand
I have created few cache groups in TimesTen.
And when i fired script to create fillowing cache group its gives me error.
please see the details mentioned below.
CREATE USERMANAGED CACHE GROUP C_TBLSSTPACCOUNTINGSUMMARY
AUTOREFRESH MODE INCREMENTAL INTERVAL 5 SECONDS STATE ON
FROM
schema.tablename
ACCOUNTINGSUMMARYID DOUBLE,
INPUTFILENAME VARCHAR(255) NOT NULL,
ACCOUNTINGSTATUS VARCHAR(255) NOT NULL,
RECORDCOUNT DOUBLE,
LASTUPDATEDDATE DATE NOT NULL,
CREATEDATE TIMESTAMP DEFAULT SYSDATE,
PRIMARY KEY (ACCOUNTINGSUMMARYID),
PROPAGATE);
then error occurs like==>
5121: Non-standard type mapping for column JISPRATCORBILLINGDEV501.TBLSSTPACCOUNTINGSUMMARY.ACCOUNTINGSUMMARYID, cache operations are restricted
5126: A system managed cache group cannot contain non-standard column type mapping
The command failed.If you have access to Oracle Metalink, Please take a look at the Note:367431.1
Regards,
Sabdar Syed. -
Hi,
I'm sorry to post my question here,I just don't know where to the proper location for this one. By anyway, if somebody to help me out here it would be great and I will deeply appreciate it.
We are testing the oracle times-time database cache on our oracle 10g development server. We are going to what would be the effect or changes our apps data retreival. I was able to install times-ten, but when I'm trying to cache a database I having some errors somthing about
"ttOCIEnvNlsCreate."
I have followed the steps in your quick tutorials and end up with this error.I think it has something to do with the wrapping of the database characterset. Kindly advise on what to do.
thanksantok1015 wrote:
I'm sorry to post my question here,I just don't know where to the proper location for this one. By anyway, if somebody to help me out here it would be great and I will deeply appreciate it.The TImes Ten forum is TimesTen In-Memory Database
It is reached from http://forums.oracle.com - scroll down to Database category and select 'More...'. In the resulting list, Times Ten is close to the end.
HTH/H -
hi,all
I meet a question, did not know how solves, consults to everybody
The question is as follows:
SqlState--S1T00
NativeError--6003
ErrorMsg--[TimesTen][TimesTen 7.0.5.0.0 ODBC Driver][TimesTen]TT6003: Lock request denied because of time-out
Details: Tran 16.0 (pid 8549) wants IRC lock on table HB_ODS.TB_BIL_PRICING_SECTION. But tran 6.166 (pid 19858) has it in W (request was W). Holder SQL (CALL ttCacheLockCacheGp(22, '1798752#1798736#1798592#1798576#1798560#1798544#1798528#1798512#179...) -- file "lockMgr.c", lineno 8909, procedure "sbLockENQandCheckTbl()"From what I've been able to find out, PID 8549 is either doing constraint violation checking or is verifying if a contraint violation still exists. It needs an IRC (Intent shared in Read Committed mode) lock for either of these actions. This conflicts with the W (table lock) that pid 19858 has placed.
Again - check what pid 19858 was doing that caused it to use a W lock. For example an Unload Cache Group operation uses a W lock. -
Cannot attach PL/SQL shared memory error
Hi everybody,
I got the following error when trying to reconnect the same Java process to a Timesten instance that has been restored after failure:
java.sql.SQLException: [TimesTen][TimesTen 11.2.2.6.0 ODBC Driver][TimesTen]TT8521: Cannot attach PL/SQL shared memory; virtual memory at PLSQL_MEMORY_ADDRESS already in use by TimesTen -- file "db.c", lineno 9924, procedure "sbDbConnect"
at com.timesten.jdbc.JdbcOdbc.createSQLException(JdbcOdbc.java:3238)
at com.timesten.jdbc.JdbcOdbc.standardError(JdbcOdbc.java:3387)
at com.timesten.jdbc.JdbcOdbc.standardError(JdbcOdbc.java:3352)
at com.timesten.jdbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:801)
at com.timesten.jdbc.JdbcOdbcConnection.connect(JdbcOdbcConnection.java:1866)
As I has understood from the Timesten Error 8521, I have to rollback and close each direct Timesten connection in my app. I implemented the solution, but it didn't help.
My app has tho copies of a database: local and remote, and two connections to these DBs: one is direct and the second is client. The last one is used as backup for the case when the direct connection is broken.
XLA is used for monitoring data changes on the local DB.
The question is: may be these XLA subscriptions prevent the shared memory segments from being released? What should I do to avoid the error 8521 during failback?Hi everybody,
I got the following error when trying to reconnect the same Java process to a Timesten instance that has been restored after failure:
java.sql.SQLException: [TimesTen][TimesTen 11.2.2.6.0 ODBC Driver][TimesTen]TT8521: Cannot attach PL/SQL shared memory; virtual memory at PLSQL_MEMORY_ADDRESS already in use by TimesTen -- file "db.c", lineno 9924, procedure "sbDbConnect"
at com.timesten.jdbc.JdbcOdbc.createSQLException(JdbcOdbc.java:3238)
at com.timesten.jdbc.JdbcOdbc.standardError(JdbcOdbc.java:3387)
at com.timesten.jdbc.JdbcOdbc.standardError(JdbcOdbc.java:3352)
at com.timesten.jdbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:801)
at com.timesten.jdbc.JdbcOdbcConnection.connect(JdbcOdbcConnection.java:1866)
As I has understood from the Timesten Error 8521, I have to rollback and close each direct Timesten connection in my app. I implemented the solution, but it didn't help.
My app has tho copies of a database: local and remote, and two connections to these DBs: one is direct and the second is client. The last one is used as backup for the case when the direct connection is broken.
XLA is used for monitoring data changes on the local DB.
The question is: may be these XLA subscriptions prevent the shared memory segments from being released? What should I do to avoid the error 8521 during failback? -
Error 8191 while creating replication on TimesTen 7.0.1
Hi!
I am trying to create a simple replication scheme, details of replication scheme are as follows:
create replication testuser1.repscheme1
ELEMENT e TABLE testuser1.reptest
MASTER RepTestSpider on "138.227.229.158"
SUBSCRIBER RepTestDev on "138.227.229.64";
I saved the above text in an repscheme.sql file ... the table reptest is created in DataStores on both machine.
Executed this statement
ttIsql -f repscheme.sql RepTestSpider
ttIsql -f repscheme.sql RepTestDev They are executed succesfully
When I Execute
ttAdmin -repStart RepTestSpider Enter password for 'testuser1':
RAM Residence Policy : inUse
Manually Loaded In Ram : False
Replication Agent Policy : manual
Replication Manually Started : True
Oracle Agent Policy : manual
Oracle Agent Manually Started : False
ttAdmin -repStart RepTestDev Enter password for 'testuser1':
*** [TimesTen][TimesTen 7.0.1.0.0 ODBC Driver][TimesTen]TT8191: This store (REPTESTDEV on DEV4U4EX) is not involved in a replication scheme -- file "eeProc.c" lineno 10893, procedure "RepAdmin()"
*** ODBC Error = S1000, TimesTen Error = 8191
Looking forward for reply.
/AhmadOutPut of ttversion
Active (spdt01)
ttVersionTimesTen Release 7.0.1.0.0 (64 bit Linux/x86_64) (tt70:17001) 2007-01-29T21:01:14Z
Instance admin: spider
Instance home directory: /usr/users/spider/TimesTen/tt70
Daemon home directory: /usr/users/spider/TimesTen/tt70/info
Access control enabled.
Standby (dev4u4ex)
ttVersionTimesTen Release 7.0.1.0.0 (64 bit Linux/x86_64) (tt70:17001) 2007-01-29T21:01:1 4Z
Instance admin: oracle
Instance home directory: /home/oracle/TimesTen/tt70
Daemon home directory: /home/oracle/TimesTen/tt70/info
Access control enabled.
Replication scheme
create active standby pair RepTestSpider on spdt01 , RepTestDev3 on dev4u4ex
return receipt
Store RepTestSpider on spdt01 port 21000 timeout 30
Store RepTestDev3 on dev4u4ex port 20000 timeout 30;
ttRepAdmin -dsn RepTestDev3 -duplicate -from RepTestSpider -host spdt01 -uid ttadmin -pwd somesuitablepassword -setMasterRepStart -keepCG
Regards
/Ahmad -
Cursor handle error in select query
Hello!
I'm having troubles with select query. I get the folowing error:
ODBC Error 'S1000', TimesTen Error 970, ODBC rc -1
ERROR in TTCommand.cpp, line 404: Error in TTCmd::Close() while closing cursor
[TimesTen][TimesTen 7.0.3.0.0 ODBC Driver][TimesTen]TT0970: Invalid cursor handle -- file "curAPI.c", lineno 1086, procedure "sb_curClose()"
*** ODBC Error/Warning = S1000, TimesTen Error/Warning = 970
*** Error in TTCmd::Close() for statement <SELECT 'alive' FROM DUAL>.
Error occures after aproximatelly 1000 request.
I' closing cursors and commiting after executing statement.
# ttisql -version
#TimesTen Release 7.0.3.0.0I use a code like described in sample.cpp in TimesTen demo directory.
First I prepare statement and function :
ControlData.Prepare(this, "SELECT 'alive' FROM DUAL", "", stat);
void
TTConnection::Control(TTStatus& stat)
TTStatus stat2;
try
ControlData.Execute(stat);
ControlData.Close(stat);
catch (TTStatus st)
cerr << "Error in SampleConnection::ContolData : " << st << endl;
ControlData.Close(stat2);
st.throwError() ;
In main function I use statement call like this (in endless loop)
try
conn.Control(stat);
conn.Commit(stat);
catch (TTError st)
cerr << "Error in CONTROL STATEMENT: " << st << endl;
Regards, Mitja -
String data right truncation error
Hi, what does this message mean?
Thread id: 14 : Fail to load bulk into DB ERROR in TTCommand.cpp, line 329: Error in TTCmd::Execute() while executing statement
[TimesTen][TimesTen 7.0.5.6.0 ODBC Driver]String data right truncation
*** ODBC Error/Warning = 22001, TimesTen Error/Warning = 0
*** Command execution of statement <insert into TA.TEST values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)> failed.*** Error in TTCmd::ExecuteBatch() : batch of <105> operations failed; only <1> operations succeeded
Thanks in advance,
AndreyIt means what it says. You are trying to insert a string into a CHAR/VARCHAR/NVARCHAR/BINARY/VARBINARY field and the length of the data you are trying to insert is longer than the defined maximum length of a column.
For example, given a table such as:
CREATE TABLE T1
COL1 VARCHAR2(4)
and the prepared statement
INSERT INTO T1 VALUES ( ? );
If I pass 'ABCD' for the parameter then all works fine but if I pass 'ABCDE' for the parameter I get
22001: String data right truncation
You need to ensure that no data you pass in exceeds the expected column width.
Chris -
TimesTen In-Memory Database -ORA-00942: table or view does not exist rc = -1
Hi Chris,
This is wrt the thread : Unable to create CacheGroup.
I have configured Oracle_DB[11.2.0.3.0] for timesten, installed timesten[11.2.2.7.0], configured cache_DB.
So the Oracle database has user TIMESTEN(cache user) and TTENADMIN(cache admin user). Similarly the Cache Database has same TTENADMIN(cache manager user) and FNETLUO1(cache table user)
But while configuring the cache database following error occurred:
connect "dsn=my_cachedb;uid=TTENADMIN;oraclepwd=ttenadmin";
Enter password for 'TTENADMIN':
Connection successful: DSN=my_cachedb;UID=TTENADMIN;DataStore=/opt/IBM/TimesTen/tten_database/my_cachedb;DatabaseCharacterSet=WE8ISO8859P15;ConnectionCharacterSet=US7ASCII;DRIVER=/opt/IBM/TimesTen/tt11204FTP/lib/libtten.so;LogDir=/opt/IBM/TimesTen/tten_database/logs;PermSize=40;TempSize=32;TypeMode=0;OracleNetServiceName=PSFTDEV2;
(Default setting AutoCommit=1)
con1: Command>call ttcacheuidpwdset ('TTENADMIN','ttenadmin');
5221: Oracle syntax error in OCIStmtExecute(): ORA-00942: table or view does not exist rc = -1
5130: Error executing the following statement on Oracle: MERGE INTO TTENADMIN.TT_06_databases USING DUAL ON (upper(TTENADMIN.TT_06_databases.host) = upper('DG1166') AND upper(TTENADMIN.TT_06_databases.datastore) = upper('/opt/IBM/TimesTen/tt11204FTP_database/my_cachedb')) WHEN NOT MATCHED THEN INSERT (hash,...
5025: Commit failure in Oracle. Transaction must be rolled back in TimesTen.
The command failed.
Please advise how we can solve this?Hi
Just for additional information:
ttAdmin -cacheUidPwdSet -cacheUid TTENADMIN -cachePwd ttenadmin my_cachedb
*** [TimesTen][TimesTen 11.2.2.7.0 ODBC Driver][TimesTen]TT5221: Oracle syntax error in OCIStmtExecute(): ORA-00942: table or view does not exist rc = -1 -- file "bdbConfig.c", lineno 2324, procedure "oraExecDirect()"
*** ODBC Error = S1000, TimesTen Error = 5221
*** [TimesTen][TimesTen 11.2.2.7.0 ODBC Driver][TimesTen]TT5130: Error executing the following statement on Oracle: MERGE INTO TTENADMIN.TT_06_databases USING DUAL ON (upper(TTENADMIN.TT_06_databases.host) = upper('DG1166') AND upper(TTENADMIN.TT_06_databases.datastore) = upper('/opt/IBM/TimesTen/tt11203FTP_database/my_cachedb')) WHEN NOT MATCHED THEN INSERT (hash,... -- file "bdbConfig.c", lineno 2353, procedure "oraExecDirect()"
*** ODBC Error = S1000, TimesTen Error = 5130
But i can see that at backend two new tables are created for TTENADMIN(cache admin):
TTENADMIN.TT_06_DATABASES and TTENADMIN.TT_06_DB_PARAMS
with columns, indexes but no records/data. -
Error while starting replication agent
Hi,
I am getting the following error while starting to replication agent
**** [TimesTen][TimesTen 11.2.2.2.0 ODBC Driver][TimesTen]TT8191: This store (M3*
on TH0986) is not involved in a replication scheme -- file "eeMisc.c", lineno 23
*11, procedure "sbEeGridErrorProc"*
**** ODBC Error = S1000, TimesTen Error = 8191*
Please help me out.This indicates some mismatch between your replication scheme definition and your overall environment (such as machine hostnames, IP addresses etc.).
Can you please provide:
1. Exact TimesTen version (output of ttversion command)
2. DSN settings for the database(s) in question from sys.odbc.ini (or Windows registry)
3. Output of the O/S hostname command on all participating machines (or Windows equivalent)
4. Exact text of CREATE REPLICATION or CREATE ACTIVE STANDBY PAIR statement.
5. Contents of /etc/hosts from all participating machines (if you are using hosts file based name resolution)
Thanks,
Chris -
Hi,
ttrepadmin -duplicate -from repdb1_1122 -host "loadtest" -uid adm -pwd adm "dsn=repdb2_1122"
I am getting below errors while createing Duplicate the active database to the standby.
TT12020: Failed to connect to data store
TT12020: ** [TimesTen][TimesTen 11.2.2.5.0 ODBC Driver][TimesTen]TT7001: User authentication failed -- file "db.c", lineno 9767, procedure "sbDbConnect" (ODBC Error: S1000; TimesTen Error: 7001) **Things to check:
1. The user 'adm', with password 'adm' is a valid TimesTen internal user, with ADMIN privilege, already defined in the database 'repdb1_1122' on host 'loadtest'.
2. You are running this command while logged in as the TimesTen instance administrator OS user (use ttVersion command to check what OS user that is).
3. The TimesTen instances involved have the same OS username as the instance administrator.
Your problem will be one of the above.
Chris -
Error happened when call TTConnectionPool::ConnectAll
Hi,
I am using TimesTen 11.2.1 64-bit version on Linux, in our code after call TTConnectionPool::ConnectAll, we got following exception:(we print out the TTStatus)
ODBC Error '', TimesTen Error 65, ODBC rc
-2
*** Error in TTConnection::Commit() -- invalid connection handle. You must fi
rst connect via TTConnection::Connect().
Do you have any idea about this error?
ThanksThe error msg doesn't give me any clue without detailed info.
can you post the relevant code piece and share more background info, such as the following?
- the specific steps you followed before running into this error
- what do you intend to do in the code?
- the flags you used to compile your application code with the TTClasses library
Maybe you are looking for
-
How to load csv file in oracle table
Hi, i have csv files to which i want to load the csv file data and table structure in oracle. my csv files on the window machine but database is runing on ibm aix.so how to do it please any one can help me about. thanks a lot in advance i know th syn
-
I worked with files in LR that were originally on my C drive, then were moved to an external HD for storage. I now want to do some more work on those files (which have the same file name as on the C drive). I plugged the drive into my computer and it
-
Linux 6.1/Oracle 8.1.5 Pro C compilation core dumps
Linux installation did not place stdarg.h or stddef.h in the /usr/include directory for some reaon. I located different copies in other directories and have created symobolic links to them all in the end. BUT all result in the following error when I
-
How do i sync my i phone to a new computer without losing my set up, apps, pictures etc...?
-
Also locks up the Droid....I'm going to uninstall...I'm very interested as I like the feature of syncing with my desktop...cool idea...