Oracle DBMS_LOBUTIL
Version 11.2.0.3
 
General Information
Source {ORACLE_HOME}/rdbms/admin/dbmslobu.sql
First Available 11.1.0.6
Data Types -- dbms_lobutil_inode_t: inode information
CREATE OR REPLACE TYPE dbms_lobutil_inode_t AS OBJECT (
lobid   RAW(10), -- lobid
flags   NUMBER,  -- inode flags
length  NUMBER,  -- lob length
version NUMBER,  -- lob version
extents NUMBER,  -- #extents in inode
lhb     NUMBER   -- lhb dba);
/

-- dbms_lobutil_lobmap_t: lobmap information
CREATE OR REPLACE TYPE dbms_lobutil_lobmap_t AS OBJECT (
lobid  RAW(10), -- lobid
eflag  NUMBER,  -- extent flags
rdba   NUMBER,  -- extent header rdba
nblks  NUMBER,  -- #blocks in extent
offset NUMBER,  -- offset of extent header
length NUMBER   -- logical length of extent);

-- dbms_lobutil_lobextent_t: extent information
CREATE OR REPLACE TYPE dbms_lobutil_lobextent_t AS OBJECT (
rid     VARCHAR(32), -- rowid proxy
row#    NUMBER,      -- rownum proxy
lobid   RAW(10),     -- lobid
extent# NUMBER,      -- extent# [0 .. ] for a lobmap
hole    VARCHAR(1),  -- is the extent a hole? (y/n)
cont    VARCHAR(1),  -- is the extent a superchunk continuation (y/n)
over    VARCHAR(1),  -- is the chunk an overallocation? (y/n)
rdba    NUMBER,      -- rdba of extent start
nblks   NUMBER,      -- #blocks in extent
offset  NUMBER,      -- logical offset of extent start
length  NUMBER       -- logical length of extent);
/

-- dbms_lobutil_lobextents_t: expanded extent map information
CREATE OR REPLACE TYPE dbms_lobutil_lobextents_t AS
TABLE OF dbms_lobutil_lobextent_t;
/
Dependencies
ANYDATA DBMS_LOBUTIL_LOBEXTENTS_T
DBMS_LOBUTIL_DEDUPSET_T DBMS_LOBUTIL_LOBEXTENT_T
DBMS_LOBUTIL_INODE_T DBMS_LOBUTIL_LOBMAP_T
Security Model Execute is granted to PUBLIC
Subprograms
 
GETDEDUPSET (new 11.2.0.3)
Undocumented deduplication set query
Overload 1
dbms_lobutil.getdedupset(lob_loc IN BLOB) RETURN dbms_lobutil_dedupset_t DETERMINISTIC;
TBD
Overload 2 dbms_lobutil.getdedupset(lob_loc IN CLOB CHARACTER SET ANY_CS) RETURN dbms_lobutil_dedupset_t DETERMINISTIC;
TBD
 
GETEXTENTS
Undocumented extent expansion dbms_lobutil.getextents(crs IN sys_refcursor) RETURN dbms_lobutil_lobextents_t DETERMINISTIC PIPELINED;
TBD
 
GETINODE
Undocumented inode query

Overload 1
dbms_lobutil.getinode(lob_loc IN BLOB) RETURN dbms_lobutil_inode_t DETERMINISTIC;
TBD
Overload 2 dbms_lobutil.getinode(lob_loc IN CLOB CHARACTER SET ANY_CS) RETURN dbms_lobutil_inode_t DETERMINISTIC;
TBD
 
GETLOBMAP
Undocumented LOB map query. Works only with securefiles.

Overload 1

This demo is built to run on the tables created in the SECUREFILES demo
dbms_lobutil.getlobmap(lob_loc IN BLOB, n IN NUMBER) RETURN dbms_lobutil_lobmap_t DETERMINISTIC;
set serveroutput on

DECLARE
 bvar BLOB;
 x    dbms_lobutil_lobmap_t;
BEGIN
  SELECT bcol
  INTO bvar
  FROM reg_tab
  WHERE rownum = 1;

  x := dbms_lobutil.getlobmap(bvar, 0);
END;
/

DECLARE
 bvar BLOB;
 luty dbms_lobutil_lobmap_t;
BEGIN
  SELECT bcol
  INTO bvar
  FROM sec_tab
  WHERE rownum = 1;

  luty := dbms_lobutil.getlobmap(bvar, 0);

  dbms_output.put_line('LOBID: ' || luty.lobid);
  dbms_output.put_line('Extent Flag: ' || luty.eflag);
  dbms_output.put_line('Extent Hdr: ' || luty.rdba);
  dbms_output.put_line('blocks: ' || luty.nblks);
  dbms_output.put_line('offset: ' || luty.offset);
  dbms_output.put_line('length: ' || luty.length);
END;
/
Overload 2 dbms_lobutil.getlobmap(lob_loc IN CLOB CHARACTER SET ANY_CS, n IN NUMBER) RETURN dbms_lobutil_lobmap_t DETERMINISTIC;
TBD
 
Related Topics
DBMS_LOB
LOBs
SECUREFILES
 
Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: © 2012 Daniel A. Morgan All Rights Reserved