Formát Oracle Binary XML odpovídá formátu „Compact Schema Aware XML Format“ zkráceně CSX. Kódovaná data uložená jako pole BLOB. Podrobnosti o binárním formátu XML jsou k dispozici v dokumentaci Oracle (zde a zde ).
Skutečná velikost datového pole závisí na parametrech úložiště LOB sloupce XMLType. Např. if storage in row
možnost zapnuta, pak se malé dokumenty ukládají přímo s jinými daty a vsize()
vrátí příslušné hodnoty.
Ve skutečnosti Oracle vytváří základní sloupec BLOB s názvem systému, který lze nalézt dotazem user_tab_cols
zobrazit:
select table_name, column_name, data_type
from user_tab_cols
where
table_name = 'T' and hidden_column = 'YES'
and
column_id = (
select column_id
from user_tab_cols
where table_name = 'T' and column_name = 'X'
)
Tento dotaz vrací systémový skrytý název sloupce, který vypadá jako SYS_NC00002$
.
Poté je možné získat velikost polí pomocí běžného dbms_lob.getlength()
volání proti skrytému sloupci:
select dbms_lob.getlength(SYS_NC00002$) from t