Binarny format Oracle XML odpowiada formatowi „Compact Schema Aware XML Format” w skrócie CSX. Zakodowane dane przechowywane jako pole BLOB. Szczegóły dotyczące binarnego formatu XML dostępne są w dokumentacji Oracle (tutaj i tutaj ).
Rzeczywista wielkość pola danych zależy od parametrów przechowywania LOB kolumny XMLType. Np. if storage in row opcja włączona wtedy małe dokumenty przechowywane bezpośrednio z innymi danymi i vsize() zwraca odpowiednie wartości.
W rzeczywistości Oracle tworzy podstawową kolumnę BLOB z nazwą systemu, którą można znaleźć za pomocą zapytania user_tab_cols widok:
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'
)
To zapytanie zwraca nazwę ukrytej kolumny systemowej, która wygląda jak SYS_NC00002$ .
Następnie można uzyskać rozmiar pól za pomocą zwykłej dbms_lob.getlength() wywołanie przeciwko ukrytej kolumnie:
select dbms_lob.getlength(SYS_NC00002$) from t