Berkeley DB and Tuxedo

Dear all,
I am trying to set up Berkeley DB from Sleepycat Software (an open
source database implementation) as a backend database for Tuxedo with
X/Open transaction support on a HP-UX 11 System. According to the
documentation, this should work. I have successfully compiled and
started the resource manager (called DBRM) and from the logs
everything looks fine.
The trouble starts, however, when I try to start services that use
DBRM. The startup call for opening the database enviroment ("database
enviroment" is a Berkeley DB specific term that refers to a grouping
of files that are opened together with transaction support) fails with
the error message
error: 12 (Not enough space)
Some digging in the documentation for Berkeley DB reveals the
following OS specific snippet (DBENV->open is the function call that
causes the error message above):
<quote>
An ENOMEM error is returned from DBENV->open or DBENV->remove.
Due to the constraints of the PA-RISC memory architecture, HP-UX
does not allow a process to map a file into its address space
multiple times. For this reason, each Berkeley DB environment may
be opened only once by a process on HP-UX, i.e., calls to
DBENV->open will fail if the specified Berkeley DB environment
has been opened and not subsequently closed.
</quote>
OK. So it appears that a call to DBENV->open does a mmap and that
cannot happen twice on the same file in the same process. Looking at
the source for the resource manager DBRM it appears, that there is
indeed a Berkeley DB enviroment that is opened (once), otherwise
transactions would not work. A ps -l on the machine in question looks
like this (I have snipped a couple of columns to fit into a newsreader):
UID PID PPID C PRI NI ADDR SZ TIME COMD
101 29791 1 0 155 20 1017d2c00 84 0:00 DBRM
101 29787 1 0 155 20 10155bb00 81 0:00 TMS_QM
101 29786 1 0 155 20 106d54400 81 0:00 TMS_QM
101 29790 1 0 155 20 100ed2200 84 0:00 DBRM
0 6742 775 0 154 20 1016e3f00 34 0:00 telnetd
101 29858 6743 2 178 20 100ef3900 29 0:00 ps
101 29788 1 0 155 20 100dfc500 81 0:00 TMS_QM
101 29789 1 0 155 20 1024c8c00 84 0:00 DBRM
101 29785 1 0 155 20 1010d7e00 253 0:00 BBL
101 6743 6742 0 158 20 1017d2e00 222 0:00 bash
So every DBRM is started as its own process and the service process
(which does not appear above) would be its own process as well. So how
can it happen that mmap on the same file is called twice in the same
process? What exactly does tmboot do in terms of startup code? Is it
just a couple of fork/execs or there more involved?
Thanks for any suggestions,
Joerg Lenneis
email: [email protected]

Peter Holditch:
Joerg,
Comments in-line.
Joerg Lenneis wrote:[snip]
I have no experience of Berkley DB. Normally the xa_open routine provided by
your database, and called by tx_open, will connect the server process itself to
the database. What that means is database specific. I expect in the case of
Berkley DB, it has done the mmap for you. I guess the open parameters in your
code above are also in your OPENINFO string in the Tuxedo ubbconfig file?
It does not sound to me like you have a problem.Fortunately, I do not any more. Your comments and looking at the
source for the xa interface have put me on the right track. What I did
not realise is that (as you point out in the praragraph above) a
Tuxedo service process that uses a resource manager gets the
following structure linked in:
const struct xa_switch_t db_xa_switch = {
"Berkeley DB", /* name[RMNAMESZ] */
TMNOMIGRATE, /* flags */
0, /* version */
__db_xa_open, /* xa_open_entry */
__db_xa_close, /* xa_close_entry */
__db_xa_start, /* xa_start_entry */
__db_xa_end, /* xa_end_entry */
__db_xa_rollback, /* xa_rollback_entry */
__db_xa_prepare, /* xa_prepare_entry */
__db_xa_commit, /* xa_commit_entry */
__db_xa_recover, /* xa_recover_entry */
__db_xa_forget, /* xa_forget_entry */
__db_xa_complete /* xa_complete_entry */
This is database specific, of course, so it would look different for,
say, Oracle. The entries in that structure are pointers to various
functions which are called by Tuxedo on behalf of the server process
on startup and whenever transaction management is necessary. xa_open
does indeed open the database, which means opening an enviroment
with a mmap somwhere in the case of Berkeley DB. In my code I then
tried to open the enviroment again (you are right, the OPENINFO string
is the same in ubbconfig as in my code) which led to the error message
posted in my initial message.
I had previously thougt that the service process would contact the
resource manager via some IPC mechanism for opening the database.
>>
>>
If I am mistaken, then things look a bit dire. Provided that this is
even the correct thing to do I could move the tx_open() after the call
to env->open, but this would still mean there are two mmaps in the
same process. I also need both calls to i) initiate the transaction
subsystem and ii) get hold of the pointer DB_ENV *env which is the
handle for all subsequent DB access.
In the case or servers using OCI to access Oracle, there is an OCI API that
allows a connection established through xa to be associated with an OCI
connection endpoint. I suspect there is an equivalent function provided by
Berkley DB?There is not, but see my comments below about how to get to the
Berkeley DB enviroment.
[snip]
I doubt it. xa works because xa routines are called in the same thread as the
data access routines. Typically, a server thread will run like this...
xa_start(Tuxedo Transaction ID) /* this is done by the Tux. service dispatcher
before your code is executed */
manipulate_data(whatever parameters necessary) /* this is the code you wrote in
your service routine */
xa_end() /* Tuxedo calls this after your service calls tpreturn or tpforward */
The association between the Tuxedo Transaction ID and the data manipulation is
made by the database because of this calling sequence.OK, this makes sense. Good to know this as well ...
[snip]
For somebody else trying this, here is the correct way:
==================================================
int
tpsvrinit(int argc, char *argv[])
int ret;
if (tpopen() < 0)
     userlog("error tpopen");
userlog("startup, opening database\n");
if (ret = db_create(&dbp, NULL, DB_XA_CREATE)) {
     userlog("error %i db_create: %s", ret, db_strerror(ret));
     return -1;
if (ret = dbp->open(dbp, "sometablename", NULL, DB_BTREE, DB_CREATE, 0644)) {
     userlog("error %i db->open", ret);
     return -1;
return(0);
==================================================
What happens is that the call to the xa_open() function implicitly
opens the Berkely DB enviroment for the database in question, which is
given in the OPENINFO string in the configuration file. It is an error
to specify the enviroment in the call to db_create() in such a
context. All calls to change the database do not need an enviroment
specified and the calls to begin/commit/abort transactions that are
normally used by Berkeley DB which use the enviroment are superseded
by tpopen(), tpclose() and friends. It would be an error to use those
calls anyway.
Thank you very much Peter for your comments which have helped a lot.
Joerg Lenneis
email: [email protected]

Similar Messages

  • Weblogic and Tuxedo server : Security Audit Logs

    In our application we are using the weblogic server 7.0 and Tuxedo server 7.1 (to improve performance). When the user logged in to the application, the security logs are captured from tuxedo.
    Can anyone tell us, how the auditing can be enabled in security logs of tuxedo server?

    > Has anyone done this before and can show me some snippets of code?
    The example code and FM's you are looking for are in report RSAU_READ_AUDITLOG_EXTERNAL.
    Cheers,
    Julius

  • Oracle 9 and Tuxedo 10 Compatibility

    Hi
    Are these two compatible : Oracle 9 and Tuxedo 10 ?
    Regards,
    Vishal
    Edited by: user8366449 on May 16, 2012 2:22 AM

    user8366449 wrote:
    Hi
    Are these two compatible : Oracle 9 and Tuxedo 10 ?
    Regards,
    Vishal
    Edited by: user8366449 on May 16, 2012 2:22 AMI don't know about compatibility, but Oracle 9 hasn't been supported in this millenium. Oracle 10 is at terminal release and in 'sustaining support'. Oracle 11 is mature. Oracle 12 is in beta and expected to be released this year. Are you running (or planning to run) Oracle 9 on Windows NT 4, on an intel 386?

  • GWTDOMAIN terminated and tuxedo not responding.

    I had the following problem once in production
         - In one of our Tuxedo server GWTDOMAIN was restarted (dont know the reason)
         - After some i started receving message as "Message dropped by gw_msg_recv()" intermettenly but the server was processing request
         - finally i got message "In memory queue overflow, max size 12800" and tuxedo stopped responding to any tpcall.
    Please share if you have any reason for this problem.
    201106.prodsvr1!BBL.16771.1.0: LIBTUX_CAT:541: WARN: Server GW_GRP/2 terminated
    201106.prodsvr1!BBL.16771.1.0: LIBTUX_CAT:557: INFO: Server GW_GRP/2 being restarted
    201106.prodsvr1!TMSYSEVT.16835.1.0: LIBTUX_CAT:1477: ERROR: .SysServerDied: GWTDOMAIN, group GW_GRP, id 2 server died
    201106.prodsvr1!TMSYSEVT.16835.1.0: LIBTUX_CAT:1476: ERROR: .SysServerRestarting: GWTDOMAIN, group GW_GRP, id 2 server restarting
    201106.prodsvr1!GWTDOMAIN.22327.1.0: 12-11-2010: Tuxedo Version 10.0, 32-bit
    201106.prodsvr1!GWTDOMAIN.22327.1.0: LIBTUX_CAT:262: INFO: Standard main starting
    201106.prodsvr1!restartsrv.22309.1.-2: 12-11-2010: Tuxedo Version 10.0, 32-bit
    201106.prodsvr1!restartsrv.22309.1.-2: server GW_GRP/2: CMDTUX_CAT:580: INFO: A server process has restarted: 22327
    205334.prodsvr1!GWTDOMAIN.22327.4.0: LIBGW_CAT:1000: ERROR: Message dropped by gw_msg_recv(). Error = 402025
    205334.prodsvr1!GWTDOMAIN.22327.4.0: LIBGW_CAT:1000: ERROR: Message dropped by gw_msg_recv(). Error = 402025
    205334.prodsvr1!GWTDOMAIN.22327.4.0: LIBGW_CAT:1000: ERROR: Message dropped by gw_msg_recv(). Error = 402025
    205334.prodsvr1!GWTDOMAIN.22327.4.0: LIBGW_CAT:1000: ERROR: Message dropped by gw_msg_recv(). Error = 402025
    205334.prodsvr1!GWTDOMAIN.22327.4.0: LIBGW_CAT:1000: ERROR: Message dropped by gw_msg_recv(). Error = 402025
    205334.prodsvr1!GWTDOMAIN.22327.4.0: LIBGW_CAT:1000: ERROR: Message dropped by gw_msg_recv(). Error = 402025
    205334.prodsvr1!GWTDOMAIN.22327.4.0: LIBGW_CAT:1000: ERROR: Message dropped by gw_msg_recv(). Error = 402025
    205334.prodsvr1!GWTDOMAIN.22327.4.0: LIBGW_CAT:1000: ERROR: Message dropped by gw_msg_recv(). Error = 402025
    214916.prodsvr1!restartsrv.1043.1.-2: 12-11-2010: Tuxedo Version 10.0, 32-bit
    214916.prodsvr1!restartsrv.1043.1.-2: server SYB_XA_GRP/721: CMDTUX_CAT:580: INFO: A server process has restarted: 1054
    215709.prodsvr1!GWTDOMAIN.22327.5.0: LIBGWT_CAT:1676: WARN: In memory queue overflow, max size 12800
    215710.prodsvr1!GWTDOMAIN.22327.5.0: LIBGWT_CAT:1689: ERROR: In memory queue overflow and can not be expanded, message dropped.
    215710.prodsvr1!GWTDOMAIN.22327.5.0: LIBGWT_CAT:1676: WARN: In memory queue overflow, max size 12800

    There are two reasons for 402025 error number to show up.
    1. Unable to receive transactional request
    2. The transaction table is full
    It is unlikely that your problem is caused by #1.(usually means malloc() failure) For the #2 reason you can use "dmadmin" "pt" command to print the transaction to find out why the transaction got stucked. When GWTDOMAIN gateway is restarted all the transactions that was in in-doubt state may become heuristic hazard or heuristic mix, those heuristic transactions needs to be committed or rolled back mamually. From the log shown in your post that there are approximatly 42 minutes after GWTDOMAIN restarted before it running into 402025 problem and I assume there were successful requests in that time span so I doubt that all the transaction are in heuristic state. Any way check transaction state and group involved using dmadmin "pt" command to diagnose the problem.

  • Integration between Forte and Tuxedo

    Hi all,
    I have some specific questions regarding Forte and Tuxedo integration :
    - Can I code Tuxedo services using TOOL insted of C/C++?
    - Would this services be available to other aplications coded in VB or
    PB?
    - Who is in charge of the transaction Forte or Tuxedo?
    - If Tuxedo is the transaction mgr, can I include forte transactional
    objects to these transactions.?
    Any other comments about tuxedo and forte will be apreciated as well.
    Thanks in Advance
    Israel Romero
    [email protected]
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Moderator message - Duplicate post locked

  • Process Connect and Tuxedo

    Hello!
    We have a customer that need an example of integration: Oracle AS -&gt; Tuxedo and Tuxedo -&gt; Oracle AS, with ProcessConnect. Does anyone have some material, examples, experience with Tuxedo (AIX) and Process Connect (SuseLinux 8)?
    Thank you in advance.

    A process on Unix or Linux will retain its process ID for as long as it is
    alive. Once the process dies, its process ID can be reused by another
    process.
    If server1 and server2 are shutdown or die and server1 is rebooted or
    restarted, it is possible for server1 to have the same process ID that
    server2 originally had.
    Process IDs on Unix have traditionally gone up to 30000, which was fine to
    ensure that a process ID would not be quickly reused back in the days when
    computers were slower and supported fewer concurrent processes. In recent
    decades, IBM and some other Unix vendors have increased the allowable range
    for a process id well beyond 30000, which results in process numbers being
    reused less frequently.
    If the reuse of process IDs is causing problems for scripts in your
    application, you may want to look at the process start time as well as the
    process ID. In "ps -f" output, this is under the STIME column. If using
    the T_CLIENT MIB class, you can look at the TA_TIMESTART attribute, and if
    using the T_SERVER MIB class, you can look at the TA_TIMERESTART MIB
    attribute.
    Ed
    <hunki> wrote in message news:[email protected]..
    We have a situation where different tuxedo servers are acquiring a process
    id which was allocated to a different one after some time.
    Is this an error.
    Here is an example :
    Tux Servers Process ID
    Server 1 100
    Server 2 200
    and at a later time :
    Tux Servers Process ID
    Server 1 200
    Per Tuxedo server 2 is in sleep mode and the server 1 is running , is this
    normal.
    Server 1 and Server 2 are in same group.

  • WebLogic Enterprise 6.0 and Tuxedo 8.0

    hi folks,
    I have to propose a customer an BEA back-end processing solution with their
    web services, but I've got confused in choosing between WebLogic Enterprise
    6.0 and Tuxedo 8.0. So I need to know what is the different things during
    these products. And, are they an identical product and license ?
    Thanks in advance,
    Apichai H.

    Peter,
    Thank you so much.
    Apichai H.
    "Peter Holditch" <[email protected]> wrote in message
    news:[email protected]..
    Apichai,
    The latest release of WebLogic Enterprise is a bundle of the WebLogicServer
    product (for java programming) and the Tuxedo 8.0 product (for COBOL/C/C++
    XATMI programming and C++/ CORBA programming) with a connector betweenthe
    two.
    Regards,
    Peter.
    Got a Question? Ask BEA at http://askbea.bea.com
    The views expressed in this posting are solely those of the author, andBEA
    Systems, Inc. does not endorse any of these views.
    BEA Systems, Inc. is not responsible for the accuracy or completeness ofthe
    information provided
    and assumes no duty to correct, expand upon, delete or update any of the
    information contained in this posting.
    Apichai Homrossukhon wrote:
    hi folks,
    I have to propose a customer an BEA back-end processing solution with
    their
    web services, but I've got confused in choosing between WebLogicEnterprise
    6.0 and Tuxedo 8.0. So I need to know what is the different thingsduring
    these products. And, are they an identical product and license ?
    Thanks in advance,
    Apichai H.

  • MQSeries V5.1 and Tuxedo fails on second open of QMGR

    Anybody here have experience with MQSeries and Tuxedo?
    We just upgraded from MQSeries V2 to V5.1 and now can only
    have one Tux app open a queue manager at a time. (Second app
    fails with an error 2058)

    Windows 7 x64 all updates
    Just doublechecking. Does that include the recent chkdsk hotfixes?
    [The Chkdsk.exe program does not start correctly on a Windows 7-based computer|http://support.microsoft.com/kb/975778]

  • Oracle Mobile Server with SQLLite/Berkeley Db and dbsql

    Hi all,
    i am not sure if i am correct here but hopefully i am.
    In the past we have had Oracle Mobile Server with Oracle Lite.
    We decided to switch to new mobile Server because oracle webtogo is not longer supported and incompatible with windows 7. My administrator did migration of mobile server but migration utility reported that the available applications are incompatible.
    So I decided to create a completely New Publication with a Java application. The new Publication contains only one publication Item. For the first tests I simply wanted to spool out the data contained in my local database.
    In bin directory of sqlite folder i can find a utility named "dbsql". I understood it in this way that I can attach to an existing database file and take a look into that database.
    If i call dbsql.exe BerkeleyTest all seems to be ok. But if i try to select some data from that file i only get the errormessage that databse is in wrong format or encrypted. What am i doing wrong there?
    Am I right that the sql interface (I need that interface because I dont want to rewrite dataaccesslayer of my app) is only available in sqlite but not on "BerkeleyDb"?
    Is anyone here to help me a little bit with my problem here?
    Regards!
    Martin

    I do not know much about Oracle Mobile Server with Oracle Lite, does it use SQLite or BDB?  I do know that databases created by SQLite cannot be read by Berkeley DB SQL (of which dbsql.exe is part of), and databases created by Berkeley DB SQL cannot be read by SQLite.  Also, databases created by Berkeley DB outside of the SQL API cannot be read by the BDB SQL API.  You can open BDB SQL databases with BDB outside of the SQL API, but I would not recommend that outside of a few BDB utilities described in the documentation.  So if your BerkeleyTest database was created by SQLite or BDB outside of the SQL API, then it makes sense that dbsql.exe is returning an error when trying to read it.
    Calling dbsql.exe BerkeleyTest does not open the database, that happens when the first operation is performed on it, which is why you did not get an error until you tried to select something.
    Lauren Foutz

  • Berkeley DB and DB optimization

    Hi,
    I have been testing BerkeleyDB-4.7.25 with 16 *.bdb files using BTREE on a Linux server 64bits. Each *.bdb file reaches approximately a size of 3.2 GB.
    I have run a set of operations that include puts/gets/updates/deletes
    I would like to ask a couple of questions, please:
    1)
    Is there is any Berkeley DB tool/function to optimize the *.bdb files for/after deletion.
    2)
    I have been running dbstat -e (please find the output of db_stat below) trying to improve some of the DB_CONFIG parameters.
    set_flags DB_TXN_WRITE_NOSYNC
    set_cachesize 0 2147483648 1
    mutex_set_max 1000000
    set_tx_max 500000
    set_lg_regionmax 524288
    set_lg_bsize 4194304
    set_lg_max 20971520
    set_lk_max_locks 10000
    set_lk_max_lockers 10000
    set_lk_max_objects 10000
    I have increased the cache size, but it does not seem to be helping to improve the operation response times.
    I would really appreciate any help.
    Would the use of DB_SYSTEM_MEM (create the shared regions in system shared memory) help ?
    Would the preallocation of the db files help ?
    Would the increase of the log buffer help ?
    Would the size of the log help (based on the values related to data written since last checkpoint in db_stat) ?
    Could you please help ?
    Thanks,
    Mariella
    This is the output of db_stat -e:
    0x40988 Log magic number
    14 Log version number
    4MB Log record cache size
    0 Log file mode
    20Mb Current log file size
    72M Records entered into the log (72944260)
    92GB 761MB 385KB 636B Log bytes written
    1GB 805MB 40KB 747B Log bytes written since last checkpoint
    6596982 Total log file I/O writes
    0 Total log file I/O writes due to overflow
    7295 Total log file flushes
    39228 Total log file I/O reads
    4749 Current log file number
    18526992 Current log file offset
    4748 On-disk log file number
    20970984 On-disk log file offset
    1 Maximum commits in a log flush
    1 Minimum commits in a log flush
    4MB 512KB Log region size
    303613 The number of region locks that required waiting (0%)
    100 Last allocated locker ID
    0x7fffffff Current maximum unused locker ID
    9 Number of lock modes
    10000 Maximum number of locks possible
    10000 Maximum number of lockers possible
    10000 Maximum number of lock objects possible
    40 Number of lock object partitions
    16 Number of current locks
    274 Maximum number of locks at any one time
    7 Maximum number of locks in any one bucket
    0 Maximum number of locks stolen by for an empty partition
    0 Maximum number of locks stolen for any one partition
    100 Number of current lockers
    108 Maximum number of lockers at any one time
    16 Number of current lock objects
    176 Maximum number of lock objects at any one time
    4 Maximum number of lock objects in any one bucket
    0 Maximum number of objects stolen by for an empty partition
    0 Maximum number of objects stolen for any one partition
    118M Total number of locks requested (118356655)
    118M Total number of locks released (118356639)
    119802 Total number of locks upgraded
    16 Total number of locks downgraded
    20673 Lock requests not available due to conflicts, for which we waited
    0 Lock requests not available due to conflicts, for which we did not wait
    0 Number of deadlocks
    0 Lock timeout value
    0 Number of locks that have timed out
    500000 Transaction timeout value
    0 Number of transactions that have timed out
    7MB 768KB The size of the lock region
    5019 The number of partition locks that required waiting (0%)
    328 The maximum number of times any partition lock was waited for (0%)
    0 The number of object queue operations that required waiting (0%)
    280 The number of locker allocations that required waiting (0%)
    958 The number of region locks that required waiting (0%)
    4 Maximum hash bucket length
    2GB Total cache size
    1 Number of caches
    1 Maximum number of caches
    2GB Pool individual cache size
    0 Maximum memory-mapped file size
    0 Maximum open file descriptors
    0 Maximum sequential buffer writes
    0 Sleep after writing maximum sequential buffers
    0 Requested pages mapped into the process' address space
    150M Requested pages found in the cache (92%)
    12M Requested pages not found in the cache (12855704)
    8449044 Pages created in the cache
    12M Pages read into the cache (12855704)
    20M Pages written from the cache to the backing file (20044721)
    32M Clean pages forced from the cache (32698230)
    1171137 Dirty pages forced from the cache
    9227380 Dirty pages written by trickle-sync thread
    505880 Current total page count
    356352 Current clean page count
    149528 Current dirty page count
    262147 Number of hash buckets used for page location
    184M Total number of times hash chains searched for a page (184542797)
    34 The longest hash chain searched for a page
    945M Total number of hash chain entries checked for page (945465289)
    430 The number of hash bucket locks that required waiting (0%)
    34 The maximum number of times any hash bucket lock was waited for (0%)
    5595 The number of region locks that required waiting (0%)
    0 The number of buffers frozen
    0 The number of buffers thawed
    0 The number of frozen buffers freed
    34M The number of page allocations (34375350)
    76M The number of hash buckets examined during allocations (76979039)
    18 The maximum number of hash buckets examined for an allocation
    33M The number of pages examined during allocations (33869157)
    4 The max number of pages examined for an allocation
    2 Threads waited on page I/O
    Pool File: file_p10.bdb
    4096 Page size
    0 Requested pages mapped into the process' address space
    9376233 Requested pages found in the cache (92%)
    800764 Requested pages not found in the cache
    4096 Page size
    0 Requested pages mapped into the process' address space
    9376233 Requested pages found in the cache (92%)
    800764 Requested pages not found in the cache
    526833 Pages created in the cache
    800764 Pages read into the cache
    1179504 Pages written from the cache to the backing file
    Pool File: file_p3.bdb
    4096 Page size
    4658/8873223 File/offset for last checkpoint LSN
    Thu Apr 30 22:00:23 2009 Checkpoint timestamp
    0x806584b8 Last transaction ID allocated
    500000 Maximum number of active transactions configured
    0 Active transactions
    8 Maximum active transactions
    6653112 Number of transactions begun
    60327 Number of transactions aborted
    6592785 Number of transactions committed
    144048 Snapshot transactions
    257302 Maximum snapshot transactions
    0 Number of transactions restored
    185MB 24KB Transaction region size
    90116 The number of region locks that required waiting (0%)
    Active transactions:
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    129MB 720KB Mutex region size
    108 The number of region locks that required waiting (0%)
    4 Mutex alignment
    200 Mutex test-and-set spins
    1000000 Mutex total count
    331261 Mutex free count
    668739 Mutex in-use count
    781915 Mutex maximum in-use count
    Mutex counts
    331259 Unallocated
    16 db handle
    1 env dblist
    2 env handle
    1 env region
    43 lock region
    274 logical lock
    1 log filename
    1 log flush
    2 log region
    16 mpoolfile handle
    16 mpool filehandle
    17 mpool file bucket
    1 mpool handle
    262147 mpool hash bucket
    262147 mpool buffer I/O
    1 mpool region
    1 mutex region
    1 twister
    1 txn active list
    1 transaction checkpoint
    144050 txn mvcc
    1 txn region

    user11096811 wrote:
    i have same questionWhat is the question exactly? What DB release are you using?
    user11096811 wrote:
    the app throws com.sleepycat.db.LockNotGrantedException .what should i do?The LockNotGrantedException exception being thrown is a subclass of DeadlockException.
    A LockNotGrantedException is thrown when a lock requested using the Environment.getLock or Environment.lockVector methods, where the noWait flag or lock timers were configured, could not be granted before the wait-time expired.
    Additionally, LockNotGrantedException is thrown when a Concurrent Data Store database environment configured for lock timeouts was unable to grant a lock in the allowed time.
    Additionally, LockNotGrantedException is thrown when lock or transaction timeouts have been configured and a database operation has timed out. Applications can handle all deadlocks by
    catching the DeadlockException. You can read more on how to configure the locking subsystem and resolve the deadlocks at [The Locking Subsystem|http://www.oracle.com/technology/documentation/berkeley-db/db/gsg_txn/JAVA/lockingsubsystem.html].
    Thanks,
    Bogdan Coman

  • Example using TPINIT with vb and tuxedo

    Hello
    Does anybody has an example, using the TPINIT, for security password in a ws client,
    with tuxedo.
    Thanks a lot for any help,
    Ramiro Arraya A.
    Dpto. Desarrollo
    Sintesis S.A.
    Santa Cruz - Bolivia
    [email protected]

    Hi,
    What version of Visual Basic are you using? If it is Visual Basic.Net then you should be using the Tuxedo .Net workstation client libraries and not the workstation libraries. More information can be found at:
    http://docs.oracle.com/cd/E26665_01/tuxedo/docs11gr1/dotnet/dotnet_chapter.html
    You should only attempt to use the standard workstation libraries if you are using Visual Basic 6 or earlier, i.e., non-.Net versions of VB.
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • Unix-Process-ids and tuxedo - Behaviour ?

    We have a situation where different tuxedo servers are acquiring a process id which was allocated to a different one after some time.
    Is this an error.
    Here is an example :
    Tux Servers Process ID
    Server 1 100
    Server 2 200
    and at a later time :
    Tux Servers Process ID
    Server 1 200
    Per Tuxedo server 2 is in sleep mode and the server 1 is running , is this normal.
    Server 1 and Server 2 are in same group.

    A process on Unix or Linux will retain its process ID for as long as it is
    alive. Once the process dies, its process ID can be reused by another
    process.
    If server1 and server2 are shutdown or die and server1 is rebooted or
    restarted, it is possible for server1 to have the same process ID that
    server2 originally had.
    Process IDs on Unix have traditionally gone up to 30000, which was fine to
    ensure that a process ID would not be quickly reused back in the days when
    computers were slower and supported fewer concurrent processes. In recent
    decades, IBM and some other Unix vendors have increased the allowable range
    for a process id well beyond 30000, which results in process numbers being
    reused less frequently.
    If the reuse of process IDs is causing problems for scripts in your
    application, you may want to look at the process start time as well as the
    process ID. In "ps -f" output, this is under the STIME column. If using
    the T_CLIENT MIB class, you can look at the TA_TIMESTART attribute, and if
    using the T_SERVER MIB class, you can look at the TA_TIMERESTART MIB
    attribute.
    Ed
    <hunki> wrote in message news:[email protected]..
    We have a situation where different tuxedo servers are acquiring a process
    id which was allocated to a different one after some time.
    Is this an error.
    Here is an example :
    Tux Servers Process ID
    Server 1 100
    Server 2 200
    and at a later time :
    Tux Servers Process ID
    Server 1 200
    Per Tuxedo server 2 is in sleep mode and the server 1 is running , is this
    normal.
    Server 1 and Server 2 are in same group.

  • Tuxedo and Tuxedo Builder

    Apologies if my question seems to be dumb
    what is Tuxedo builder
    Is it the same as Tuxedo?
    Thanks!
    KK

    Hi KK,
    Tuxedo Builder is a long since retired product option that was around in the early days of Tuxedo version 6.5 and the associated Integration product eLink (which used Tuxedo 6.5 as its basis). Also known as BEA Builder, Tuxedo Builder could be described as a collection of products that supported the development of BEA Tuxedo applications with popular 3rd party development tools of the time (MS Visual Basic & C++, Sybase PowerBuilder, Rational Rose). As far as I recall Builder was not carried forward to subsequent Tuxedo releases.
    Kind regards,
    Malcolm.

  • Weblogic 6.1 and Tuxedo 8?

    Does WebLogic 6.1 must tie with Tuxedo 8 in order to use WTC?

    Hi.
    according to
    http://e-docs.bea.com/wtc/wtc10/notes/WTC_ReleaseNotes_New.html#1109022
    WTC is supported with tuxedo 6.5 and 8.
    Regards,
    Michael
    Neo Gigs wrote:
    Does WebLogic 6.1 must tie with Tuxedo 8 in order to use WTC?--
    Michael Young
    Developer Relations Engineer
    BEA Support

  • Re: VB6 client and Tuxedo

    Hello Paul!
    What I'd suggest is build a 'dll' as Nelson says. with the Tuxedo API, and
    try to use this dll inside de VB program to do calls to Tuxedo System.
    If you need an example? I can send to you a basic dll and the Visual C
    program that use it.
    Regards
    "Paul Shen" <[email protected]> wrote in message
    news:77_3aa8920a$[email protected]..
    >
    I wanna code client application in VB too. Would someone like to
    give me a sample or some directions.
    "Manoj SASIDHARAN" <[email protected]> wrote:
    Hello Nelson,
    BEA Tuxedo provides a C DLL that implements all Tuxedo
    ATMI calls.
    Sorry I cannot remember the name of the dll (could be
    wstux.dll).
    Using this DLL, u can develop a WS Tuxedo Client application
    using
    VB and VC++.
    HTH
    regards
    MS
    "Nelson J. Manio" <[email protected]> wrote:
    I was wondering if anyone had experienced connectinga
    client application
    written in VB6.0 to Tuxedo.
    How was it done ? do you have an example ?

    Hi Manoj,
    Can u provide me some sample VB6 project which communicate with tuxedo services
    I will be really greatful.. We are badly in need of it..
    Thanks
    Regars
    S. Rajesh
    "Manoj SASIDHARAN" <[email protected]> wrote:
    >
    hello Friends,
    There is a DLL (wtuxws32.dll) that comes with Tuxedo Runtime...
    for Windows...
    Add a BAS File and put the declarations for each ATMI call n use
    them in VB.
    Declare Function tpcall Lib "wtuxws32.dll" (ByVal service As String,
    ByVal buf As Long, ByVal length As Long, buf1 As Long, length1
    As Long, ByVal flags As Long) As Integer
    HTH
    regards
    MS
    "Mauricio Del Moral" <[email protected]> wrote:
    Hello Paul!
    What I'd suggest is build a 'dll' as Nelson says. with
    the Tuxedo API, and
    try to use this dll inside de VB program to do calls to
    Tuxedo System.
    If you need an example? I can send to you a basic dll
    and the Visual C
    program that use it.
    Regards
    "Paul Shen" <[email protected]> wrote in message
    news:77_3aa8920a$[email protected]..
    I wanna code client application in VB too. Would someonelike to
    give me a sample or some directions.
    "Manoj SASIDHARAN" <[email protected]> wrote:
    Hello Nelson,
    BEA Tuxedo provides a C DLL that implements all Tuxedo
    ATMI calls.
    Sorry I cannot remember the name of the dll (could
    be
    wstux.dll).
    Using this DLL, u can develop a WS Tuxedo Client application
    using
    VB and VC++.
    HTH
    regards
    MS
    "Nelson J. Manio" <[email protected]> wrote:
    I was wondering if anyone had experienced connectinga
    client application
    written in VB6.0 to Tuxedo.
    How was it done ? do you have an example ?

Maybe you are looking for

  • Error message: adobe mediacore CS6 has stopped working --????

    I am trying to run premiere elements 10 on a high=end pc with 8gb of memory, Win 7 Pro4-bit, massive hard drives and no conflicting software (that I can see....). Can open up the program and use the manage module. It shows me three files that I have

  • Shared Technologies errors when re-installing Elements 10 from disc

    What do I have to do to correct Shared Technologies errors when attempting to  re-install Elements 10 from disc?

  • Opening a CS6 file in CS5?

    How can I open a CS6 project in CS5? Thanks.

  • Need help to log-in Apple email

    Hi to all, i'm a beginner here and do need your kind help. I updated my iphone4 with the new 4.2 OS and wanted to activate the "Find my iphone" via MobileMe. I need to do a verification and an email was sent to my Apple email account. Where do i find

  • One-way video for conference call?!

    My place of work is looking for a way to have a one-way video conference call. So one person (administrator) would be seen by all on the conference call. (No need to see othe participants). If this is possible, how many people can be on the conferenc