Le format Oracle Binary XML correspond au "Compact Schema Aware XML Format" abrégé en CSX. Données codées stockées sous forme de champ BLOB. Détails sur le format XML binaire disponibles dans la documentation Oracle (ici et ici ).
La taille réelle du champ de données dépend des paramètres de stockage LOB de la colonne XMLType. Par exemple. si storage in row
option activée puis petits documents stockés directement avec d'autres données et vsize()
renvoie les valeurs appropriées.
En réalité, Oracle crée une colonne BLOB sous-jacente avec le nom du système, qui peut être trouvée en interrogeant user_tab_cols
afficher :
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'
)
Cette requête renvoie le nom de la colonne cachée du système qui ressemble à SYS_NC00002$
.
Après cela, il est possible d'obtenir la taille des champs avec dbms_lob.getlength()
normal appel contre colonne masquée :
select dbms_lob.getlength(SYS_NC00002$) from t