Oracle 大对象块存储

Posted

技术标签:

【中文标题】Oracle 大对象块存储【英文标题】:Oracle Large Objects storage in blocks 【发布时间】:2019-07-10 08:26:14 【问题描述】:

在Oracle数据存储中,如果每个块的大小在2KB到32KB之间,那么CLOB/BLOB数据类型可能是几MB,Oracle如何存储CLOB/BLOB数据类型?

提前致谢。

【问题讨论】:

"CLOB/BLOBS 的大小可能有几 MB" 甚至 GB。 【参考方案1】:

LOB 存储有两种模式:内联和外联。内联意味着数据作为记录的一部分存储。离线意味着数据存储在专门用于存储 LOB 的单独位置。

这在文档 (find out more) 中有介绍,但主要内容是只能内联存储

[LOB is] 1GB,块大小为 32KB,是否会将这 1GB 数据存储在 1048576 个内链数据库块中

是的。这就是为什么正确指定 CHUNK 大小很重要的原因(至少如果您使用的是 BasicFile 存储)。块是表空间块的倍数:将大 LOB 存储在大块中效率​​更高,但如果您有很多小 LOB,则会浪费空间。

【讨论】:

以上是关于Oracle 大对象块存储的主要内容,如果未能解决你的问题,请参考以下文章

对象存储、文件存储和块存储有啥区别?

块存储文件存储对象存储的总结

对象存储文件存储块存储这三者之间有什么区别?

Oracle创建存储过程

ORACLE数据库存储结构

Oracle表空间维护总结