DB Links on TimesTen

Since the query and DDL are exactly the same. Can we create DB Links on Oracle DB side to TimesTen?
Thus, we could create a stored proc that inserts to TimesTen via DB Link. Is it possible? And How?
Regards

This should be possible. You can create an Oracle 'external' DB Link to an ODBC datastource via HSODBC. This has been tested and seems to work.
Chris

Similar Messages

  • 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 running slower than Oracle RDBMS

    Hi,
    I've installed timesten, & just wanted to compare the performance of following pl/sql block on timesten with same block on Oracle.
    declare
    temp_date date;
    temp_date1 date;
    my_id number;
    my_data varchar2(200);
    cursor c1 is select MASTER_ID, MDATA
    from AKS_TAB_MASTER;
    cursor c2(p_id number) is select detail_ID, dDATA from
    AKS_TAB_DETAIL
    where master_id=p_id;
    begin
    for t in c1 loop
    open c2(t.master_id);
    fetch c2 into my_id,my_data;
    insert into aks_temp values(t.master_id,my_id,t.MDATA,my_data);
    close c2;
    end loop;
    end;
    I've created a cache group in Timesten to cache the tables AKS_TAB_MASTER & AKS_TAB_DETAIL
    I've created table AKS_TAB_DETAIL in Oracle and timesten separately to avoid pass-through
    Some how, TimesTen is taking 4 times more time than Oracle.
    I've gone through link TimesTen Database Performance Tuning and my database parameters as as follows:
    Permanent Data Size 640
    Temporary DAta Size 300
    Replicate Parallelism Buffer MB 480
    Log File Size(MB) NULL
    Log Buffer Size (MB) 320
    Cach AWT Method 1-PLSQL
    CAche AWT Parallelism NULL
    PL/SQL Connection Memory Limit (MB) 320
    PL/SQL Optimisation Level 2
    Pl/SQL Memory Size(MB) 240
    PL/SQL Timeout(seconds) 600
    Still I'm getting poor performance from TimesTen.
    Any Idea, what might be wrong on my instance.
    Please suggest.
    Thanks
    Amit

    Hello Chris, Please find the details here:
    1.   Output of the ttVersion command (so we know the TimesTen version and platform).
    C:\TimesTen\tt1122_64\bin>ttVersion
    TimesTen Release 11.2.2.5.0 (64 bit NT) (tt1122_64:53396) 2013-05-23T16:26:12Z
      Instance admin: shuklaam
      Instance home directory: C:\TimesTen\TT1122~1\
      Group owner: ES\Domain Users
      Daemon home directory: C:\TimesTen\TT1122~1\srv\info
      PL/SQL enabled.
    2.    The full set of DSN attributes for this DSN from sys.odbc.ini
    Please see the screen shots from page 1 to 5 in the doc available at
    https://docs.google.com/file/d/0BxQyEfoOqCkDX05JNVdqOWItSEE/edit?usp=sharing
    Please let me know if you are looking for something else.
    3.    The full definitions of the cache group(s) including indexes.:
    I've created Two CACHE GROUPS as follows:
    a. AKS_DT_CG:
    -- Database is in Oracle type mode
    create readonly cache group MTAX.AKS_DT_CG
        autorefresh
            mode incremental
            interval 300000 milliseconds
            /* state on */
    from
        MTAX.AKS_TAB_DETAIL (
                DETAIL_ID NUMBER(38) NOT NULL,
                MASTER_ID NUMBER(38),
                DDATA     VARCHAR2(135 BYTE) NOT INLINE,
            primary key (DETAIL_ID));
    b. AKS_MT_CG:
    -- Database is in Oracle type mode
    create readonly cache group MTAX.AKS_MT_CG
        autorefresh
            mode incremental
            interval 300000 milliseconds
            /* state on */
    from
        MTAX.AKS_TAB_MASTER (
                MASTER_ID NUMBER(38) NOT NULL,
                MDATA     VARCHAR2(128 BYTE) INLINE,
                STATUS    VARCHAR2(7 BYTE) INLINE,
            primary key (MASTER_ID));
    To View trhe indexes, please see the screen shot on page 6 in the doc available at
    https://docs.google.com/file/d/0BxQyEfoOqCkDX05JNVdqOWItSEE/edit?usp=sharing
    4.    The definition (in TimesTen) of the table aks_temp including indexes.
    -- Database is in Oracle type mode
    create table MTAX.AKS_TEMP (
            MID   NUMBER,
            DID   NUMBER,
            MDATA VARCHAR2(200 BYTE) NOT INLINE,
            DDATA VARCHAR2(200 BYTE) NOT INLINE);
    There is not index on this table.
    5.    The row counts (in TimesTen) for the tables AKS_TAB_MASTER & AKS_TAB_DETAIL.
    Command> select count(*) from AKS_TAB_MASTER;
    < 81183 >
    1 row found.
    Command> select count(*) from AKS_TAB_DETAIL;
    < 175176 >
    1 row found.
    Command>
    Please let me know if you need any othe info to debug it.
    Many Thanks
    Amit

  • Cache Connect TimesTen v7.0.5 and Oracle DB 11.1g error

    I tested Cache Connect on HP-UX v11.31. I have error when running the command
    "call ttCacheUidPwdSet" with error "Cannot load backend library
    'libclntsh.so' for Cache Connect." as below:
    $ sh bin/ttIsql demo
    Copyright (c) 1996-2008, Oracle. All rights reserved.
    Type ? or "help" for help, type "exit" to quit ttIsql.
    All commands must end with a semicolon character.
    connect "DSN=demo";
    Enter password for 'testuser':
    Connection successful:
    DSN=demo;UID=testuser;DataStore=/home/timesten/demo;DatabaseCharacterSet=US7ASCII;ConnectionCharacterSet=US7ASCII;DRIVER=/etc/TimesTen/timesten70/lib/libtten.so;OracleId=demodb;PermSize=128;TempSize=128;TypeMode=0;
    (Default setting AutoCommit=1)
    Command> call ttCacheUidPwdSet('testuser','testuser');
    5102: Cannot load backend library 'libclntsh.so' for Cache Connect. OS
    error message 'Unsatisfied code symbol 'sem_destroy' in load module
    '/u01/app/oracle/product/11.1.0/lib/libclntsh.so'.'.
    The command failed.
    Command>
    We use Timesten version 7.0.5, Oracle Enterprise Database 11.1g, HP-UX
    Itanium 64bit v11.31, Oracle Client 11.1g.
    ORACLE_HOME=/u01/app/oracle/product/11.1.0/
    I have tried for several days but to no results. Please advise how to solve the problem. Thank you very much

    Dear all,
    I have found a solution for this error. We could use Oracle 10.2 g on HP-UX v11.31. However, when you do the installation, command will be: "./runInstaller -ignoreSysPrereqs".
    The steps to install oracle client are following ( $ORACLE_CLIENT_HOME):
    1) su - oracle
    2) Download Oracle 10.2g HP-UX Itanium "10gr2_client_hpi.zip"
    3) unzip the file : "jar xvf 10gr2_client_hpi.zip " . The new folder name "client"
    4) cd client; ./runInstaller -ignoreSysPrereqs
    After that, you need to remove the $ORACLE_HOME/lib/libclntsh.so and link to new file
    5) rm $ORACLE_HOME/lib/libclntsh.so
    6) ln -s $ORACLE_CLIENT_HOME/lib/libclntsh.so.10.1 $ORACLE_HOME/lib/libclntsh.so
    7) export LD_LIBRARY_PATH=$ORACLE_CLIENT_HOME/lib:$TIMESTEN_HOME/lib:$ORACLE_HOME/lib
    8) export PATH=$ORACLE_CLIENT_HOME/bin:$PATH
    Then you need to restart the TimesTen Daemon so that it could get the new system parameters
    9) ttDaemonAdmin -restart
    if you do not restart the TimesTen Daemon, you could get the error:
    Command> call ttCacheStart;
    10024: Could not start cache agent for the requested data store. Could not initialize OCI function pointers. Error: none
    The command failed.
    And finally, the CacheConnect is up
    $ ttIsql demo
    Copyright (c) 1996-2008, Oracle. All rights reserved.
    Type ? or "help" for help, type "exit" to quit ttIsql.
    All commands must end with a semicolon character.
    connect "DSN=demo";
    Enter password for 'testuser':
    Connection successful: DSN=demo;UID=testuser;DataStore=/home/timesten/demo;DatabaseCharacterSet=US7ASCII;ConnectionCharacterSet=US7ASCII;DRIVER=/etc/TimesTen/timesten70/lib/libtten.so;OracleId=demodb;PermSize=128;TempSize=128;TypeMode=0;
    (Default setting AutoCommit=1)
    Command> call ttCacheUidPwdSet('testuser','testuser');
    Command> call ttCacheStart;
    Command> CREATE READONLY CACHE GROUP readcache
    AUTOREFRESH INTERVAL 5 SECONDS
    FROM readtab
    (a NUMBER NOT NULL PRIMARY KEY, b VARCHAR2(31));Command> LOAD CACHE GROUP readcache COMMIT EVERY 256 ROWS;
    2 cache instances affected.
    Command> SELECT * FROM readtab;
    < 1, hello >
    < 2, world >
    2 rows found.
    Command>
    Thank you for all of your help.

  • Oracle Text iwth Oracle TimesTen

    Hi!
    I'm trying to use Oracle Text with Oracle TimesTen In-Memory. In this customer, we are using Oracle Text to index the names of the company clients. There are about 13 million names to index. We're trying to speed up even more the search using Oracle TimesTen.
    Does anybody as any experience using simultanely this two technologies?
    Thanks in advance

    Please, consider this thread closed. By mistake I've created another one. Here is the link:
    Oracle Text with Oracle TimesTen
    Sorry by the mistake
    Tiago Soares

  • Oracle 12c vs. TimesTen

    With Oracle 12c In-Memory capability is there a reason to still use TimesTen?  Is Oracle going to try and phase out TimesTen?  Would be interested in hearing thoughts.

    I believe 12cR1 has already been released...see link here --> Oracle Database Software Downloads | Oracle Technology Network | Oracle
    Would be to bad if Oracle put TimesTen on the shelf so to speak.
    Victor

  • TimesTen sessions at Oracle OpenWorld 2013 - please join us

    If any of you forum users are attending this years Oracle OpenWorld we'd love to see you at one of the TimesTen sessions or drop by one of the TimesTen booths (SL-011 and SL-012) in the DEMOgrounds (Moscone South). A list of the TimesTen sessions can be found here:
    http://www.oracle.com/technetwork/products/timesten/learnmore/timesten-sessions-oow2013-2015603.html
    Hope to see you there!
    Chris

    are any links to access these Seminars??

  • TimesTen Sessions at Oracle Openworld 2014 - please join us

    If you are attending Oracle Openworld this year then you might want to attend one or more of the TimesTen sessions.
    You can find details of them here:  TimesTen sessions at Oracle OpenWorld 2014
    You can also drop by the TimesTen DEMOgrounds booth in Moscone South (booths SLD-135 and SLD-136).
    Hope to see you there!
    Chris

    are any links to access these Seminars??

  • How can I debug leaks caused by ODBC calls in app linked with libtt.so?

    Hi,
    we are using TimesTen Release 7.0.5.0.0 on Solaris 10.
    and we are using libtt.so to link our application and connect using ODBC calls.
    The problem is that we have made some serious changes to our large code base and now we see a leak.
    Here is what I know:
    1) Although it is easy to reproduce it doesn't seem to follow a clear pattern. ie. the amount leaked isn't a direct function of the number of request or time spent.
    2) When our application is linked with libttclient.so there is no leak at all.
    3) prstat shows increments of 4 MBytes each time it leaks.
    So I suspect it is because the memory isn't freed but how can I tell which ODBC calls are causing it?
    Is there a debug option I could turn on to help with this?
    Perhaps something in ttTraceMon?
    Thanks

    Hello Serge,
    Just a note that we often times get this type of alarm about memory leaks in TimesTen when using the libtt.so library when using tools such as top or prstat to gage memory consumption. The reality is that these commands are not a good way to look for memory leaks / memory utilization when using TimesTen in direct connect mode. The TimesTen database resides in shared memory and so the fact that prstat shows big or increasing numbers should not be alarming.
    The only reliable way to check for memory leaks is to use a tool designed exactly for that such as Purify, which the TimesTen development team uses extensively and so it's unlikely that you'll find memory leaks in TimesTen.
    Have you found that memory is being exhausted after a period of application runtime and transaction iterations?
    You could use ttTraceMon and work with TimesTen support/engineering to extrapolate and answer from the trace it gaves, but unfortunately, there's rarely an easy way to answer queries on what is going on in either the Permament or Temporary partition.
    I'd first make sure that there is indeed a problem but running your application workload for some time. My suspicion is that the prstat command results are being misleading once more.
    Regards,
    Henri

  • Client server vs direct linked

    Hi, when reading TimesTen documentation it shows that client / server connections are much slower than direct linked, but direct linked require that the application be running on the same machine as the timesten datastore.
    For a clustered environment what sort of configuration is recommended so that all nodes have access to the same data?
    Thanks

    It is of course true that client/server connections are significantly slower than direct mode connections but typically they are still quite a bit faster than a regular RDBMS.
    Before deciding on an architecture i would recommend evaluating the performance of client/server connections to see if they meet your requirements.
    There are two main architectures that are possible here (I'm assuming that you want a highly-available configuration):
    1. A central TimesTen active/standby pair on two machines. The applications run on the rest of the machines in the cluster and access the datastores in client/server mode. If there are some components that need better performance than C/S can provide they can run on the active/standby nodes using direct mode. This setup is easy to configure and easy to manage.
    2. Partition the data across multiple datastores distributed across all the cluster nodes. If there are 4 nodes, each will have 4 datastores; one will be the local 'master' for 25% of the total data and the others are read-only copies of the other 75% of the data. TimesTen replication is used to keep all the copies synchronised. Applications can use direct connect mode to access all of the data but applications at a node can only directly update the 25% of data mastered at the local node. Updates for other data must be directed (by the application) to the relevant 'master' node. Essentially, the workload must be partitioned to match the data partitioning. This setup is more complex to configure and more complex to manage but potentially could give better overall performance.
    This requirement is not that uncommon and we are considering adding some kind of automatic partitioning/distribution functionality to TimesTen in a future release.
    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 doesn't commit/rollback executed DMLs in procedure, so tables were locked.

    Hello, when PLSQL_TIMEOUT occured, TimesTen doesn't commit/rollback executed DMLs in procedure, so tables were locked.
    Please help. How can I solve this problem?

    Looks like I've a mistake, not PLSQL_TIMOUT, after ODBC connection timeot it seems doesn't commit/rollback.
    java.sql.SQLException: [TimesTen][TimesTen 11.2.1.8.0 CLIENT]Communication link failure. System call select() failed with OS error 110. This operation has Timed Out. Try increasing your ODBC timeout attribute or check to make sure the target TimesTen Server is running
    Also I couldn't find why locked and what locked. My procedure waiting for lock or something I dont know, so timout occured

  • How to Install and Configure Oracle TimesTen

    Is there any blog discussing Oracle TimesTen? How to configure it and some sample real-life scenarios?
    Any platform or any version will do as long as it will provide good stuff in understanding Oracle TimesTen. Thanks a lot...

    Go through the below links these may be useful for you
    # TimesTen 11g Quick Start Guide - http://timesten.us.oracle.com/1121/quickstart/index.html
    # Installing TimesTen with Cache
    windows - http://www.oracle.com/technetwork/database/timesten/tt1121-install-imdb-cache-win-viewl-083324.html /
    linux - http://www.oracle.com/technetwork/database/timesten/tt1121-install-imdb-cache-linux-vie-082655.html
    # Setting up In-Memory Database Cache - http://timesten.us.oracle.com/1121/imdb_cache.html
    # Creating a cache database
    windows - http://www.oracle.com/technetwork/database/timesten/tt1121-create-imdb-cache-win-viewle-100094.html
    linux - http://www.oracle.com/technetwork/database/timesten/tt1121-create-imdb-cache-linux-view-090461.html
    -Venkatesh

  • TimesTen in general

    I intrested TimesTen for few days and I have 2 questions in which I can't find answer:
    1. if TT can be standalone database why it doesn't attend procedures, packages etc ??
    2. how I can replace all procedures when it exist in Oracle 10g database??
    3. does TT own database links or something like this??
    thank you for answers :)

    TimesTen can and is used as a standalone database. The lack of stored procedure support does not mean TimesTen is not a database...
    TimesTen will support PL/SQL in the next major release coming next year. Until that time, if you want to run application logic that is currently implemented in PL/SQL against TimesTen you have to recode that login in C, C++ or Java.
    TimesTen does not have database links.
    Chris

  • How to create the database schema from an existing TimesTen database ?

    Hello everybody,
    I'm a newbie to TimesTen database. Before doing complicated sql queries, I would like to obtain the database schema of TimesTen DB. I'm looking for a way to extract the schema of database (tables, keys, links between tables ...). When I was working on other db like postgreSQL, I was able to obtain the sql script of the database (for exemple, in order to re-create the database in an other server). Some software like PowerAMC was able to built the database model from these scripts.
    Do you know a way to obtain the same with TimesTen database ? Or with an other way ?
    Regards

    Hi,
    Take a look in the docs at ttSchema, this might do the trick.
    http://download.oracle.com/docs/cd/E13085_01/doc/timesten.1121/e13069/util.htm#autoId27
    Tim

Maybe you are looking for