ओरेकल बाइनरी एक्सएमएल प्रारूप "कॉम्पैक्ट स्कीमा अवेयर एक्सएमएल फॉर्मेट" से मेल खाता है जिसे सीएसएक्स के रूप में संक्षिप्त किया गया है। एन्कोडेड डेटा को BLOB फ़ील्ड के रूप में संग्रहीत किया जाता है। Oracle दस्तावेज़ से उपलब्ध बाइनरी XML प्रारूप के बारे में विवरण (यहां और यहां )
डेटा फ़ील्ड का वास्तविक आकार XMLType कॉलम के LOB स्टोरेज पैरामीटर पर निर्भर करता है। उदा. अगर storage in row
विकल्प सक्षम किया गया तो छोटे दस्तावेज़ सीधे अन्य डेटा और vsize()
. के साथ संग्रहीत किए गए उचित मान देता है।
वास्तव में Oracle सिस्टम नाम के साथ अंतर्निहित BLOB कॉलम बनाता है, जिसे user_tab_cols
को क्वेरी करके पाया जा सकता है देखें:
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'
)
यह क्वेरी सिस्टम हिडन कॉलम नाम लौटाती है जो SYS_NC00002$
. जैसा दिखता है ।
उसके बाद नियमित dbms_lob.getlength()
. के साथ फ़ील्ड का आकार प्राप्त करना संभव है छिपे हुए कॉलम के खिलाफ कॉल करें:
select dbms_lob.getlength(SYS_NC00002$) from t