Oracle提供了一下几种类型的表压缩方法:
1、Basic Compression:压缩等级High,CPU开销较小
2、OLTP Compression:压缩等级High,CPU开销较小
3、Warehouse Compression:压缩等级Higher,CPU开销较大(取决于压缩参数是Low还是High)
4、Archive Compression:压缩等级Highest,CPU开销很大(取决于压缩参数是Low还是High)
 
ALTERTABLE …COMPRESS FOR OLTP
 
 
#1 将表转换为basic压缩表
alter table emp move compress basic;
 
#2 将表转换为OLTP压缩表
alter table emp move compress for oltp;
 
#3 将一个分区转换为basic压缩表
alter table table_name move partitoin partition_name compress basic;
 
#4 将一个分区转换为oltp压缩表
alter table table_name move partitoin partition_name compress for oltp;
 
#5 修改一个分区的现有压缩算法,修改之后只对新记录有效
alter table table_name modify partition,partiton_name compress for oltp;
 
#查看记录是压缩记录
select decode(
    DBMS_COMPRESSION.GET_COMPRESSION_TYPE(
        OWNNAME => 'SCOTT',
        TABNAME => 'EMP',
        ROW_ID => 'AAAVVhAAEAAAACzAAC'),
    1,'No Compression',
    2,'Basic or OLTP Compression for Query High',
    3,'Hybrid Columnar Compression for Query Low',
    4,'Hybrid Columnar Compression for Archive High',
    5,'Hybrid Columnar Compression for Archive Low',
    'Unknown Compression Type') compression_type
from dual;
SQL> desc dbms_compression
PROCEDURE GET_COMPRESSION_RATIO
Argument Name                  Type                    In/Out Default?
------------------------------ ----------------------- ------ --------
SCRATCHTBSNAME                 VARCHAR2                IN
OWNNAME                        VARCHAR2                IN
TABNAME                        VARCHAR2                IN
PARTNAME                       VARCHAR2                IN
COMPTYPE                       NUMBER                  IN
BLKCNT_CMP                     BINARY_INTEGER          OUT
BLKCNT_UNCMP                   BINARY_INTEGER          OUT
ROW_CMP                        BINARY_INTEGER          OUT
ROW_UNCMP                      BINARY_INTEGER          OUT
CMP_RATIO                      NUMBER                  OUT
COMPTYPE_STR                   VARCHAR2                OUT
SUBSET_NUMROWS                 NUMBER                  IN     DEFAULT
FUNCTION GET_COMPRESSION_TYPE RETURNS NUMBER
Argument Name                  Type                    In/Out Default?
------------------------------ ----------------------- ------ --------
OWNNAME                        VARCHAR2                IN
TABNAME                        VARCHAR2                IN
ROW_ID                         ROWID                   IN
PROCEDURE INCREMENTAL_COMPRESS
Argument Name                  Type                    In/Out Default?
------------------------------ ----------------------- ------ --------
OWNNAME                        VARCHAR2(30)            IN
TABNAME                        VARCHAR2(128)           IN
PARTNAME                       VARCHAR2(30)            IN
COLNAME                        VARCHAR2                IN
DUMP_ON                        NUMBER                  IN     DEFAULT
AUTOCOMPRESS_ON                NUMBER                  IN     DEFAULT
WHERE_CLAUSE                   VARCHAR2                IN     DEFAULT

 

相关文章:

  • 2021-09-01
  • 2021-05-01
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2021-08-22
猜你喜欢
  • 2021-09-11
  • 2021-10-05
  • 2021-08-15
  • 2021-12-02
  • 2021-11-04
相关资源
相似解决方案