pjohns
6th March 2003, 12:08
Hello,
If I had the following db_resource file:-
rds_full:1000
ora_max_array_insert:1000
ora_max_array_fetch:1000
ssts_set_rows:1000
oracle_client_home:/baan/bse/lib/ora/oracle_home
Am I correct in saying that unless I have a line with ora_init:0101000 the values set for ora_max_array_insert and ora_max_array_fetch will not be used?
Could somebody please confirm the best value to be used for ora_init. I'm unsure whether I should use 0101000 or 0111000
Thanks
PJ
zardoz
6th March 2003, 12:58
Sure. If the second (leftmost) bit ora_init is not set to 1, the array interface is not used. The third bit is normally set to 1 (as default), the forth to 1 if you want to use level 2 DB.
I extracted some from US7155AUS Baan document:
Default Level 1 0200000 (specifies Level 1 driver)
Level 2 0011000 (specifies fixed character type and
explicit inserts)
Description This resource defines several driver behaviors. Multiple
behaviors can be selected by adding the octal values.
0000002 Use V6-style object security (not using
roles). This option is only available for
backward compatibility and should not be
used.
0001000 Use fixed character type (compulsory for
Level 2)
0002000 Explicitly cancel unnecessary SQL
statements. This releases resources in
Oracle server but degrades network
performance. For this reason, it is
preferable not to set this flag. This flag is
only used by the Oracle7 driver. The
Oracle8 driver ignores it.
0010000 Explicitly lock for inserts (action: LOCK
TABLE)
0020000 Explicitly lock for updates (action: SELECT
FOR UPDATE )
0040000 Explicitly lock for deletes (action: SELECT
FOR UPDATE)
0100000 Enable array interface
0200000 Level 1 mode
pjohns
6th March 2003, 13:11
Thanks Zardoz,
I thought as much. The company that implemented our Baan system set the db_resource file with the ora_max_xxx lines but did not have an ora_init line. So the array interface would not have been used!
Cheers
PJ
dave_23
6th March 2003, 17:30
Just a side note maybe it was just an example,
but don't set those values so high.
2 is a good number for rds_full, ssts_set_rows, ora_max_array_*
unless you're just setting them for a batch job or a data load.
Dave
Markus Schmitz
6th March 2003, 22:46
I think you were lucky anyway.
With a setting of "1000" on most systems you will get now and then an "out of memory" error.
We tend to use something like 2 for online processing and a value between 100 and 200 for some batch jobs. Especially loading data via bdbpost is speeded up by this.
Depending on the access pattern of your batches a higher value might actually decrease performance. I remember once MPS/MRP got very slow, after increasing the value from 2 to 200.
Enjoy
Markus