dbms_duma_internal
(and also dbms_metadata_util.long2clob
?) select view_name, owner, substr(text, 5, 10) t_5_10 from dba_views; -- -- --> ORA-00932: inconsistent datatypes: expected CHAR got LONG -- select obj.name view_name, own.name owner, substr(to_clob(DBMS_DUMA_INTERNAL.READ_LONG_TO_BLOB('SYS', 'VIEW$', 'TEXT', viw.rowid)), 5, 10) t_5_10 from sys."_CURRENT_EDITION_OBJ" obj join sys.view$ viw on obj.obj# = viw.obj# join sys.user$ own on obj.owner# = own.user# ;