General Information
Library Note
Morgan's Library Page Header
Purpose
Undocumented support for likely for Advanced and/or Hybrid Columnar Compression
AUTHID
DEFINER
Dependencies
DBMS_COMPRESSION
TAB$
TS$
DBMS_INMEMORY_LIB
TABPART$
V$IM_SEGMENTS_DETAIL
PRVT_COMPRESSION
TABSUBPART$
V$PARAMETER
SEG$
Documented
No
First Available
Not known
Security Model
Owned by SYS with no privileges granted
Source
{ORACLE_HOME}/rdbms/admin/prvtcmpr.plb
Subprograms
COMP_POPULATE (new 23ai)
Undocumented
prvt_compress.comp_populate(
schema_name IN VARCHAR2,
table_name IN VARCHAR2,
partition_name IN VARCHAR2)
RETURN NUMBER;
TBD
GET_ARCH_COMP
Undocumented
prvt_compress.get_arch_comp(
dobjno IN NUMBER,
dictobj IN NUMBER,
objtype IN NUMBER)
RETURN BOOLEAN;
conn / as sysdba
CREATE TABLE comp_all_oper
COMPRESS FOR ALL OPERATIONS AS
SELECT * FROM tab$;
SELECT o.obj#, o.dataobj#, o.type#
FROM obj$ o
WHERE o.name = 'COMP_ALL_OPER';
OBJ# DATAOBJ# TYPE#
---------- ---------- ----------
78810 78810 2
BEGIN
IF prvt_compress.get_arch_comp (78810,78810,2) THEN
dbms_output.put_line('T');
ELSE
dbms_output.put_line('F');
END IF;
END;
/
*
ORA-01403: no data found
-- it appears that the TYPE# returned in the above query is the what this function
-- wants as replacing the "2" with a "1" eliminates the exception
BEGIN
IF prvt_compress.get_arch_comp (78810, 78810, 1) THEN
dbms_output.put_line('T');
ELSE
dbms_output.put_line('F');
END IF;
END;
/
F
GET_COMPATIBLE
Undocumented
prvt_compress.get_arch_comp(p_first4 OUT NUMBER);
DECLARE
outVal NUMBER;
BEGIN
prvt_compress.get_compatible (outVal);
dbms_output.put_line(TO_CHAR(outVal));
END;
/
23
GET_TSNO (new 23ai)
Undocumented
prvt_compress.get_tsno(tsname IN VARCHAR2) RETURN NUMBER;
SELECT prvt_compress.get_tsno ('SYSAUX')
PRVT_COMPRESS.GET_TSNO('SYSAUX')
--------------------------------
1
SELECT prvt_compress.get_tsno ('SYSAUX')
PRVT_COMPRESS.GET_TSNO('TEMP')
------------------------------
3
GET_TS_NUM
Undocumented
prvt_compress.get_ts_num(
dobjno IN NUMBER,
dictobj IN VARCHAR2,
objtype IN VARCHAR2)
RETURN NUMBER;
SELECT DISTINCT obj#, dataobj#, ts#
FROM tabpart$
WHERE rownum < 6;
OBJ# DATAOBJ# TS#
---------- ---------- ----------
6445 6445 1
6451 6451 1
6461 6461 1
7584 7584 0
7585 7585 0
DECLARE
retVal NUMBER;
BEGIN
retVal := prvt_compress.get_ts_num (6445, 6445, 'PARTITION');
dbms_output.put_line(TO_CHAR(retVal));
END;
/
*
ORA-01403: no data found
POST_LOAD_TAB_INMEMORY (new 23ai)
Undocumented
prvt_compress.post_load_tab_inmemory;
exec prvt_compress.post_load_tab_inmemory ;
PL/SQL procedure successfully completed.
POST_LOAD_TAB_INMEMORY_CHECK (new 23ai)
Undocumented
prvt_compress.post_load_tab_inmemory_check(
objd IN NUMBER,
imc_bytes OUT NUMBER)
RETURN BOOLEAN;
TBD
PRE_LOAD_TAB_INMEMORY (new 23ai)
Undocumented
prvt_compress.pre_load_tab_inmemory(imemsize OUT NUMBER) RETURN BOOLEAN;
TBD