了解甲骨文中的LOB段(SYS_LOB)?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (23)

大部分表格(如果不是全部的话)都有一个“blob”字段。存储用户操作日志的表格现在已增至8 GB(约500万条记录)。

我们的数据库管理员已经看到,这种模式现在正在以指数级的速度吃饭。我们调查了一下,发现有一个表(SYS_LOB)需要大约116GB的140GB数据库。

我们的DBA告诉我们,这个表与保存用户操作日志(8GB)有关,

有谁知道这个SYS_LOB表的作用是什么?实际的blob保存在我们创建的表中,或者oracle实际上将这些blob存储在不同的表中(如果是,那么SYS_LOB就是该表)?

提问于
用户回答回答于

SYS_LOBOracle数据库中没有表(至少没有这样的表是基本数据库安装的一部分)有一个表DBA_LOBS显示有关数据库中所有LOB列的信息,但它实际上并不存储任何LOB数据,只是元数据数据库中的实际LOB段具有系统生成的名称,其格式为SYS_LOB 标识符 $$。

我的猜测是你的DBA已经确定了一个名为SYS_LOB标识符 $$ 的段,它耗用了116GB的空间。假设这是正确的,你可以找出哪个表的LOB列映射到哪个表使用该DBA_LOBS表,即

SELECT owner, table_name, column_name
  FROM dba_lobs
 WHERE segment_name = 'SYS_LOB<<identifier>>$$'

扫码关注云+社区