Oracle Log Miner - size of operation -


some background information @ first: i'm analysing load on oracle database .net application make use of nservicebus. we've observed high redo logs activity when running application , hence - high amount of archivelog (we've got database in archivelog mode). we've used toad logminer find out causes it, unfortunately many of operations of type unsupported. i've assume it's because of using securefile type of lob. i've digged database logminer view: v$logmnr_contents see there lot more columns in toad's logminer.

what need size of each operation in redo. here's query far:

select timestamp,        rbabyte,        seg_owner,        seg_name,        table_name,        seg_type,        seg_type_name,        table_space,        row_id,        operation,        sql_redo   v$logmnr_contents  1 = 1 , operation = 'unsupported' 

i'm not sure if rbabyte correct value use or maybe calculation more complicated, me looks record size including lob. oracle's documentations says it's "rba byte offset within block", it's not enough. please advice.

try query:

with t1         (select rs_id,                 ssn,                 rbablk,                 rbabyte,                 rbablk * 512 + rbabyte curpos,                 lead (rbablk * 512 + rbabyte, 1, rbablk * 512 + rbabyte)                    on (partition substr (rs_id, 1, 9)order                             rbasqn,                             rbablk,                             rbabyte,                             scn,                             redo_value)                    nextpos,                   lead (rbablk * 512 + rbabyte, 1, rbablk * 512 + rbabyte)                      on (partition substr (rs_id, 1, 9)order                               rbasqn,                               rbablk,                               rbabyte,                               scn,                               redo_value)                 - (rbablk * 512 + rbabyte)                    redo_size,                 operation,                 case                    when operation = 'internal' , data_obj# != 0                       (select t0.owner                          dba_objects t0                         t0.object_id = t1.data_obj#)                    else                       seg_owner                 end                    seg_owner,                 case                    when operation = 'internal' , data_obj# != 0                       (select t0.object_name nome                          dba_objects t0                         t0.object_id = t1.data_obj#)                    else                       seg_name                 end                    seg_name,                 sql_redo,                 redo_value,                 client_id,                 timestamp            v$logmnr_contents t1)   select rs_id,          ssn,          rbablk,          rbabyte,          curpos,          nextpos,          redo_size,          seg_owner,          seg_name,          operation,          sql_redo     t1 order substr (rs_id, 1, 9),          ssn,          rbablk,          rbabyte,          redo_value 

Comments

Popular posts from this blog

php - Invalid Cofiguration - yii\base\InvalidConfigException - Yii2 -

How to show in django cms breadcrumbs full path? -

ruby on rails - npm error: tunneling socket could not be established, cause=connect ETIMEDOUT -