大多数表(如果不是全部)都有一个"blob"字段.存储用户操作日志的表之一现已增长到8 GB(约500万条记录).
我们的DBA已经看到这个模式现在以指数方式占用空间.我们调查了一下,发现其中一个表(SYS_LOB)需要大约116GB的140GB数据库.
我们的DBA告诉我们这个表与保存用户操作日志的表(8GB)有关
有谁知道这个SYS_LOB表有什么作用?实际的blob是否保存在我们创建的表中,或者oracle实际上将这些blob存储在另一个表中(如果是,那么SYS_LOB将是该表)?
Jus*_*ave 42
SYS_LOBOracle数据库中没有表(至少,没有这样的表是基本数据库安装的一部分.有一个表DBA_LOBS显示有关数据库中所有LOB列的信息,但它实际上并不存储任何表LOB数据,只是元数据.数据库中的实际LOB段具有系统生成的名称,其形式为SYS_LOB 标识符 $$.
我的猜测是你的DBA已经识别出一个名为SYS_LOBidentifier $$ 的段,占用了116 GB的空间.假设这是正确的,你可以找出LOB列使用DBA_LOBS表映射到哪个表的哪一列,即
SELECT owner, table_name, column_name
FROM dba_lobs
WHERE segment_name = 'SYS_LOB<<identifier>>$$'
Run Code Online (Sandbox Code Playgroud)