13.3 SDO_GEOR_UTL.calcRasterStorageSize
Format
SDO_GEOR_UTL.calcRasterStorageSize( geor IN SDO_GEORASTER ) RETURN NUMBER;
Description
Returns the actual length (in bytes) of all raster blocks of a GeoRaster object.
Usage Notes
The function calculates the actual length of all raster blocks of a GeoRaster object. It does not consider any LOB storage overhead, so the result is only an approximation of the real storage size of the GeoRaster object. In essence, this function executes the following statement:
EXECUTE IMMEDIATE 'SELECT SUM(DBMS_LOB.getLength(rasterBlock)) FROM ' || geor.rasterDataTable || ' WHERE rasterId=' || geor.rasterId;
The result of this function will be less than or equal to the result of the SDO_GEOR_UTL.calcRasterNominalSize function on the same GeoRaster object. If this function returns a smaller value than the SDO_GEOR_UTL.calcRasterNominalSize function on the same GeoRaster object, the difference in the values reflects the space saved by the use of compression or empty raster blocks, or both.
Examples
The following example calculates ratio (as a decimal fraction) of the actual size to the nominal size of a specified GeoRaster object. In this example, the actual size is about one-twentieth (1/20) of the nominal size.
SELECT SDO_GEOR_UTL.calcRasterStorageSize(georaster)/
SDO_GEOR_UTL.calcRasterNominalSize(georaster) ratio
FROM georaster_table WHERE georid=1;
RATIO
----------
.056198816 Parent topic: SDO_GEOR_UTL Package Reference