Simulator transaction in oracle 11g [message #624449] |
Mon, 22 September 2014 22:53 |
|
trybestpro
Messages: 17 Registered: September 2014 Location: HCM
|
Junior Member |
|
|
Hi all,
I want see how to handle oracle when number of concurrent transactions more than MAX_TRANS of table.
But in Oracle 11g default MAX_TRANS = 255, so I want simulator transactions to see that.
Thanks.
|
|
|
|
|
Re: Simulator transaction in oracle 11g [message #624487 is a reply to message #624453] |
Tue, 23 September 2014 03:29 |
|
trybestpro
Messages: 17 Registered: September 2014 Location: HCM
|
Junior Member |
|
|
Hi,
Michel Cadot wrote on Tue, 23 September 2014 08:29
So if you want to see what happens in case transactions exceed MAXTRANS you must have more than 255 concurrent transactions in the same block.
I can't do it.
Michel Cadot wrote on Tue, 23 September 2014 08:29
... or you can used INITRANS 1, PCTFREE 0, fill blocks in the table and then use a couple of sessions with UPDATE on the same blocks.
Sorry,I don't understand. What is it means?
Thanks.
p/s: I'm beginner, so hope you sympathy for me.
[Updated on: Tue, 23 September 2014 03:30] Report message to a moderator
|
|
|
Re: Simulator transaction in oracle 11g [message #624489 is a reply to message #624487] |
Tue, 23 September 2014 03:37 |
John Watson
Messages: 8962 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
trybestpro wrote on Tue, 23 September 2014 09:29Hi,
Michel Cadot wrote on Tue, 23 September 2014 08:29
So if you want to see what happens in case transactions exceed MAXTRANS you must have more than 255 concurrent transactions in the same block.
I can't do it.
<snip>
Of course you can do it, you just haven't tried. There is an example here http://www.orafaq.com/node/2907 of Windows shell scripts that will let you launch any number of concurrent sessions for simulations like this.
|
|
|
Re: Simulator transaction in oracle 11g [message #624493 is a reply to message #624487] |
Tue, 23 September 2014 04:07 |
|
Michel Cadot
Messages: 68728 Registered: March 2007 Location: Saint-Maur, France, https...
|
Senior Member Account Moderator |
|
|
trybestpro wrote on Tue, 23 September 2014 10:29Hi,
Michel Cadot wrote on Tue, 23 September 2014 08:29
... or you can used INITRANS 1, PCTFREE 0, fill blocks in the table and then use a couple of sessions with UPDATE on the same blocks.
Sorry,I don't understand. What is it means?
Thanks.
p/s: I'm beginner, so hope you sympathy for me.
INITRANS and PCTFREE are options of CREATE TABLE.
fill blocks mean INSERT statements.
If you are so beginner that you don't understand this sentence, I think it is useless you go to so deep experience you are trying to do now. First learn the basics, then go to expert fields.
|
|
|
|
Re: Simulator transaction in oracle 11g [message #624574 is a reply to message #624573] |
Tue, 23 September 2014 10:31 |
John Watson
Messages: 8962 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
Think it through!
Clearly, you need more than 255 rows in a block. Create a table with just one numeric column, and insert a few hundred rows, each with a different value.
Prove that you have more than 255 rows per block, perhaps by looking at the rowids with dbms_rowid.rowid_block_number.
Write a shell script that will log on more than 255 sessions. I've already pointed you towards a technique I use with Windows shell scripts, if you prefer Unix shell scripts, write your own.
Configure your shell script so that each session will update a different row in the same block.
Observe the result.
OK?
|
|
|
|
|