De volgende query laat zien dat er soms een ongeloofwaardige verhouding is tussen het aantal bankrekeningen en relaties na het laden met Invantive Data Hub 20.2.54:
select bat.ptn_name
, bat.tbe_full_qualified_name
, bat.tpn_version
, bat.tpn_state
, bat.tpn_count_rows
, bat.tpn_count_rows_previous
, bat.tpn_count_rows_delta
, act.tpn_count_rows
number_of_accounts
, case
when act.tpn_count_rows = 0
then null
else cast(round(bat.tpn_count_rows / act.tpn_count_rows, 1) as numeric(5, 1))
end
ratio
from dc_table_partition_versions_r bat
left
outer
join dc_table_partition_versions_r act
on act.tbe_full_qualified_name like '%.AccountsIncremental'
and act.tpn_state = 'R'
and act.ptn_name = bat.ptn_name
where bat.tbe_full_qualified_name like '%BankAccounts'
and bat.tpn_state not in ('S', 'I', 'D')
order
by ratio desc
De verhoudingen zijn extreem voor bijvoorbeeld partitie 1908302:
De volgende query geeft op dit moment 297 rijen terug:
select /*+ ods(false) */ count(*)
from accountsincremental
De volgende query geeft op dit moment 281 rijen terug:
select /*+ ods(false) */ *
from bankaccounts
Dit is een realistisch aantal.
Echter, de replica bevat voor bijvoorbeeld account E07C4E26-15D7-4F99-84ED-C14713FA1A29
meer dan hoogstens een paar rijen, namelijk 124:
select *
into testcopy
from eol_bankaccounts_r
where division=1908302
and account = 'E07C4E26-15D7-4F99-84ED-C14713FA1A29'
Vreemd genoeg zitten gegevens van in meerdere divisies:
select division
, dc$partition
, count(*)
from testcopy
group
by division, dc$partition
order
by 1
, 2
met als resultaat:
Analyseren we de 30 rijen in de juiste divisie en partitie met
select id
, modified
, dc$date_modified
, dc$transaction_modified
from testcopy
where division = dc$partition
order
by 1
, 2
, 3
Hierbij blijkt dat dezelfde bankrekening 30x voorkomt, maar wel telkens met een andere laadmoment in de database vanuit een andere transactie:
De volgende query laat zien dat dit niet eens de meest extreme uitschieter is, de partitie 1810417 laadt ruim 137 miljoen bankrekeningen:
select top 1000 *
from dc_event_log_r
where tbe_full_qualified_name like '%BankAccounts'
order
by elg_id desc