oracle - 如何在 Oracle 中缩小安全文件 LOB

标签 oracle shrink lob

我今天注意到用于在 oracle 中缩小 LOB 的 SQL 命令在 12c 中不起作用。

ALTER TABLE SAMPLE_TABLE MODIFY lob (LOB_COLUMN) (SHRINK SPACE)

这将返回 oracle 错误

ORA-10635: Invalid segment or tablespace type



在 oracle 文档中提到 SecureFiles LOB 不支持 SHRINK 选项。

我想知道 blob 如何在安全文件中压缩。 oracle 会在内部处理吗?

谢谢

最佳答案

ALTER TABLE SAMPLE_TABLE MOVE LOB(LOB_COLUMN) STORE AS (TABLESPACE USERS)
注意:与读取方式不同,这是一个 move lob手术。这是一个 move TABLE操作,并同时移动一个吊球。
这就是它使索引无效的原因,因为它移动整个表而不仅仅是 lob。当然,这可能需要很长时间,并且在操作过程中会消耗 2 倍的空间,因为 oracle 会复制数据,并且只有在完成后才会释放旧段。

关于oracle - 如何在 Oracle 中缩小安全文件 LOB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29839143/

相关文章:

java - JPA - SQLException创建记录

css - 使带有列的 flex 容器收缩以适合

javascript - JS中的图片放大缩小动画

css - ul 在 nowrap 文本后不增加宽度

javascript - 如何在浏览器中使用require

oracle - 将 select 语句传递给 Oracle PLSQL

java - 关闭数据库连接后从 Oracle DB 读取 CLOB

java - 将电子表格数据复制到 Oracle 数据库

oracle - 在 Oracle 和 NHibernate 中映射长文本字符串

hibernate - JPA @Lob 属性编码不适用于 PostgreSQL 文本