实施操作参考SAP notes 1109743、1436352,研究原理看advanced-compression-whitepaper
- 新建indexcompress文件夹,owner属性为oradev:dba
sqlplus / as sysdba
create directory “~IND_COMP_DIR” as ‘/tmp/indexcompress’;
grant read, write on directory “~IND_COMP_DIR” to sapsr3;
从网站下载ind_comp.txt,然后重命名为ind_comp.sql,放到/tmp/indexcompress 目录里面,cd 到/tmp/indexcompress 目录
conn sapsr3/密码
SELECT table_name, compression, compress_for FROM dba_tables where compression=‘ENABLED’;
start ind_comp
exec ind_comp.get_column(‘表名’, true);
ALTER TABLE 表名 MOVE COMPRESS FOR OLTP;
alter index “SAPSR3”.“索引” rebuild online compress 2 parallel 4 pctfree 1;
alter index “SAPSR3”.“索引” noparallel;
再用SELECT table_name, compression, compress_for FROM dba_tables where compression=‘ENABLED’;就可以查到记录
最后,SAP DB20 updatestatics
变更回退:
alter table 表名 nocompress;
alter index 索引名 nocompress;