用Oracle高级压缩实现ZSTD压缩
我是Oracle数据库的新手,并使用19C版本。我需要知道是否可以与Oracle Advanced Compression一起实现ZSTD算法。我能够在RMAN级别实现ZSTD算法。在Oracle中使用高级压缩时,有什么方法可以选择压缩算法?提前致谢!
RMAN命令输出启用ZSTD:
RMAN> CONFIGURE COMPRESSION ALGORITHM 'ZSTD'
2> ;
new RMAN configuration parameters:
CONFIGURE COMPRESSION ALGORITHM 'ZSTD' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;
new RMAN configuration parameters are successfully stored
RMAN> show COMPRESSION ALGORITHM
2> ;
RMAN configuration parameters for database with db_unique_name DB9ZX are:
CONFIGURE COMPRESSION ALGORITHM 'ZSTD' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;
句法期望:
SQL<>alter table xtbl row store compress advanced;
Table altered.
SQL<>alter table xtbl row store compress advanced zstd;
alter table xtbl row store compress advanced zstd
*
ERROR at line 1:
ORA-01735: invalid ALTER TABLE option
SQL<>alter table xtbl row store compress zstd advanced;
alter table xtbl row store compress zstd advanced
*
ERROR at line 1:
ORA-01735: invalid ALTER TABLE option
I am new to oracle database and using 19c version. I need to know if zstd algorithm can be implemented along with oracle advanced compression. I am able to implement zstd algorithm at RMAN level. Is there any way to choose the compression algorithm when using advanced compression in oracle? Thanks in advance!
RMAN COMMAND OUTPUT FOR ENABLING ZSTD:
RMAN> CONFIGURE COMPRESSION ALGORITHM 'ZSTD'
2> ;
new RMAN configuration parameters:
CONFIGURE COMPRESSION ALGORITHM 'ZSTD' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;
new RMAN configuration parameters are successfully stored
RMAN> show COMPRESSION ALGORITHM
2> ;
RMAN configuration parameters for database with db_unique_name DB9ZX are:
CONFIGURE COMPRESSION ALGORITHM 'ZSTD' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;
EXPECTING FOR SYNTAX:
SQL<>alter table xtbl row store compress advanced;
Table altered.
SQL<>alter table xtbl row store compress advanced zstd;
alter table xtbl row store compress advanced zstd
*
ERROR at line 1:
ORA-01735: invalid ALTER TABLE option
SQL<>alter table xtbl row store compress zstd advanced;
alter table xtbl row store compress zstd advanced
*
ERROR at line 1:
ORA-01735: invalid ALTER TABLE option
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
RMAN文件的压缩与实时表和行的压缩有显着不同。您不能选择像ZSTD这样的特定算法进行表压缩。
Oracle数据库管理员指南具有表压缩的一部分,该部分涵盖了4种类型的压缩类型以及您何时更喜欢每种压缩。
仓库和档案压缩使用混合柱压缩(需要其他许可) - 它动态选择不同的(未确定的)压缩算法基于数据类型等。不表现。
Oracle数据库概念还具有表压缩的部分有关
高级行压缩
的细节,该详细信息已针对OLTP性能进行了优化。您问题的相关部分是Oracle实施了自己的简单压缩算法(Compression for RMAN files is significantly different from compression for live tables and rows. You can't choose a specific algorithm like ZSTD for table compression.
The Oracle Database Administrator's Guide has a section on table compression which covers 4 types of compression and when you might prefer each one.
Warehouse and Archive compression use Hybrid Columnar Compression (which requires additional licensing) - it dynamically chooses different (unspecified) compression algorithms based on the data type, etc. and is optimized for storage, not performance.
Oracle Database Concepts also has a section on table compression that goes into a little bit of detail about
advanced row compression
, which is optimized for OLTP performance. The relevant part for your question is that Oracle implemented their own simple compression algorithm (just replacing duplicate values with symbol table references). You can't configure your own compression algorithm.