Skip to Main Content

LiveLabs & Workshops

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

ODI Locked Objects

Ivana KanicNov 24 2022 — edited Nov 24 2022

Hello,
Is there a way how to Unlock ODI Locked objects with Groovy SDK?
Or is there another way how to unlock instead of going through ODI --> Locked Objects?
image.png
ODI Version: 12.2.1.3
Thanks

Comments

Maran Viswarayar

post the output /u01/app/oracle/diag/rdbms/dbvs103/DBVS103/trace/DBVS103_ora_31822.trc


Is that the same as what you have posted above?

Jonathan Lewis

I can't help noticing that the number of large scattered reads (the 60 and 66 sizes) is 14 - which may be a coincidence, so I'd run a couple more tests with different number of rows to see if Oracle appears to be missing the smaller reads in this count.

Alternatively, for a hand-waving conjecture: maybe the description in the manual is wrong; maybe Oracle is aware of the maximum size of I/O allowed by the file system and "knows" that a 60 block read will break into two pieces and the statistic is actually counting the number of multiblock reads that will be fragmented at the next level down.

Regards

Jonathan Lewis

P.S.  Which version of Oracle ?

Maran Viswarayar

GReat...I was just looking at 30 count it had 30 scattered reads, I even counted the no of block read via scattered its 1000.

Jonathan Lewis

Just reproduced this in 11.2.0.4 and 12.1.0.2  -- allowing for different effective settings of the db_file_mulitblock_read_count (yours appears to be set, or to have auto-set, to 66, mine was 128).

It looks as if the statistic isn't counting the reads of 7 and 8 blocks used for the smallest extents.

Might be worth messing around with uniform sizing at "N" blocks per extent to see if it's an anomaly of [edited] auto-allocate or whether there is a size below which the reads are not counted.

Regards

Jonathan Lewis

Franck Pachot

Hi Jonathan,

Thanks for your eagle eye on the trace

Yes, it seems that multiblock reads that are downsized because of extent boundary are not counted in this statistic.

I'll do further testing.

My db_file_multiblock_read_count was not set but 66 is the limit from (buffer_cache size / sessions) as it comes from a test database with very small SGA.

Regards,

Franck.

Dom Brooks

Spotted the same in the trace regarding the larger counts.

Just repeated test on 12.1.0.2 VM and see similar behaviour:

physical read total multi block requests    7

...

db file scattered read    30

And in trace these smaller reads:

1x db file scattered read blocks=5

7x db file scattered read blocks=6

7x db file scattered read blocks =7

8x db file scattered read blocks =8

And these larger reads:

7 x db file scattered read block=120

And db_file_multiblock_read_count is 120.

Jonathan Lewis
Answer

Couldn't leave it alone.

Ran a few more tests with different extent sizes, with and without ASSM.

It looks like my platform doesn't include db file scattered reads of less than 128KB in the physical count. (or 16 blocks, given that I was using an 8KB block size).

Regards

Jonathan Lewis

Marked as Answer by Franck Pachot · Sep 27 2020
Franck Pachot

I tested the second case I know where multiblock count is lower than specified.

I put 10 blocks in buffer cache with:

  column rowid_list new_value rowid_list

  select listagg(''''||rowid||'''',',') within group(order by rowid) rowid_list from DEMO where n like '9_0%';

  alter system flush buffer_cache;

  select count(*) from DEMO where rowid in ( &rowid_list );

and that brings the stats to 39 'db file scattered read' and 13 'multi block requests' which I think are those I've put in bold here:

     1  WAIT #140706544598320: nam='db file sequential read' ela= 188 file#=6 block#=6514 blocks=1 obj#=95398 tim=57829212387

     2  WAIT #140706544598320: nam='db file scattered read' ela= 458 file#=6 block#=6515 blocks=5 obj#=95398 tim=57829212993

     3  WAIT #140706544598320: nam='db file scattered read' ela= 436 file#=6 block#=8280 blocks=8 obj#=95398 tim=57829213623

     4  WAIT #140706544598320: nam='db file scattered read' ela= 398 file#=6 block#=8289 blocks=7 obj#=95398 tim=57829214130

     5  WAIT #140706544598320: nam='db file scattered read' ela= 405 file#=6 block#=8296 blocks=8 obj#=95398 tim=57829214667

     6  WAIT #140706544598320: nam='db file scattered read' ela= 398 file#=6 block#=8305 blocks=7 obj#=95398 tim=57829215209

     7  WAIT #140706544598320: nam='db file scattered read' ela= 408 file#=6 block#=8312 blocks=8 obj#=95398 tim=57829215728

     8  WAIT #140706544598320: nam='db file scattered read' ela= 399 file#=6 block#=11393 blocks=7 obj#=95398 tim=57829216240

     9  WAIT #140706544598320: nam='db file scattered read' ela= 406 file#=6 block#=11400 blocks=8 obj#=95398 tim=57829216765

    10  WAIT #140706544598320: nam='db file scattered read' ela= 398 file#=6 block#=11409 blocks=7 obj#=95398 tim=57829217280

    11  WAIT #140706544598320: nam='db file scattered read' ela= 408 file#=6 block#=11416 blocks=8 obj#=95398 tim=57829217801

    12  WAIT #140706544598320: nam='db file scattered read' ela= 397 file#=6 block#=11425 blocks=7 obj#=95398 tim=57829218319

    13  WAIT #140706544598320: nam='db file scattered read' ela= 416 file#=6 block#=11432 blocks=8 obj#=95398 tim=57829218868

    14  WAIT #140706544598320: nam='db file scattered read' ela= 388 file#=6 block#=11441 blocks=7 obj#=95398 tim=57829219389

    15  WAIT #140706544598320: nam='db file scattered read' ela= 419 file#=6 block#=11448 blocks=8 obj#=95398 tim=57829219917

    16  WAIT #140706544598320: nam='db file scattered read' ela= 301 file#=6 block#=11457 blocks=7 obj#=95398 tim=57829220346

    17  WAIT #140706544598320: nam='db file scattered read' ela= 416 file#=6 block#=11464 blocks=8 obj#=95398 tim=57829220879

   18  WAIT #140706544598320: nam='db file scattered read' ela= 1925 file#=6 block#=7554 blocks=66 obj#=95398 tim=57829223157

    19  WAIT #140706544598320: nam='db file scattered read' ela= 1175 file#=6 block#=7620 blocks=60 obj#=95398 tim=57829224901

    20  WAIT #140706544598320: nam='db file scattered read' ela= 918 file#=6 block#=8450 blocks=66 obj#=95398 tim=57829226328

    21  WAIT #140706544598320: nam='db file scattered read' ela= 1127 file#=6 block#=8516 blocks=60 obj#=95398 tim=57829227995

    22  WAIT #140706544598320: nam='db file scattered read' ela= 1466 file#=6 block#=8578 blocks=66 obj#=95398 tim=57829229919

    23  WAIT #140706544598320: nam='db file scattered read' ela= 1272 file#=6 block#=8644 blocks=60 obj#=95398 tim=57829232069

    24  WAIT #140706544598320: nam='db file scattered read' ela= 1932 file#=6 block#=9730 blocks=66 obj#=95398 tim=57829234780

    25  WAIT #140706544598320: nam='db file scattered read' ela= 1287 file#=6 block#=9796 blocks=60 obj#=95398 tim=57829236860

    26  WAIT #140706544598320: nam='db file scattered read' ela= 1564 file#=6 block#=9858 blocks=66 obj#=95398 tim=57829239045

    27  WAIT #140706544598320: nam='db file scattered read' ela= 322 file#=6 block#=9924 blocks=60 obj#=95398 tim=57829239892

    28  WAIT #140706544598320: nam='db file scattered read' ela= 359 file#=6 block#=9986 blocks=66 obj#=95398 tim=57829240705

    29  WAIT #140706544598320: nam='db file scattered read' ela= 739 file#=6 block#=10052 blocks=60 obj#=95398 tim=57829241954

    30  WAIT #140706544598320: nam='db file scattered read' ela= 180 file#=6 block#=11522 blocks=25 obj#=95398 tim=57829242308

    31  WAIT #140706544598320: nam='db file scattered read' ela= 120 file#=6 block#=11548 blocks=9 obj#=95398 tim=57829242603

    32  WAIT #140706544598320: nam='db file scattered read' ela= 119 file#=6 block#=11558 blocks=9 obj#=95398 tim=57829242831

    33  WAIT #140706544598320: nam='db file scattered read' ela= 146 file#=6 block#=11568 blocks=9 obj#=95398 tim=57829243088

    34  WAIT #140706544598320: nam='db file scattered read' ela= 132 file#=6 block#=11578 blocks=9 obj#=95398 tim=57829243319

    35  WAIT #140706544598320: nam='db file scattered read' ela= 119 file#=6 block#=11588 blocks=9 obj#=95398 tim=57829243551

    36  WAIT #140706544598320: nam='db file scattered read' ela= 118 file#=6 block#=11598 blocks=9 obj#=95398 tim=57829243773

    37  WAIT #140706544598320: nam='db file scattered read' ela= 126 file#=6 block#=11608 blocks=9 obj#=95398 tim=57829244007

    38  WAIT #140706544598320: nam='db file scattered read' ela= 128 file#=6 block#=11618 blocks=9 obj#=95398 tim=57829244274

    39  WAIT #140706544598320: nam='db file scattered read' ela= 139 file#=6 block#=11628 blocks=9 obj#=95398 tim=57829244513

    40  WAIT #140706544598320: nam='db file scattered read' ela= 139 file#=6 block#=11638 blocks=10 obj#=95398 tim=57829244753

1 - 8

Post Details

Added on Nov 24 2022
1 comment
458 views