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 AMuser8366449 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 12800There 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
-
Hello!
We have a customer that need an example of integration: Oracle AS -> Tuxedo and Tuxedo -> 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!
MartinI 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 regionuser11096811 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. -
Apologies if my question seems to be dumb
what is Tuxedo builder
Is it the same as Tuxedo?
Thanks!
KKHi 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