大多数表(如果不是全部的话)都有一个"blob“字段。其中一个存储用户操作日志的表现在已经增长到8 GB (大约500万条记录)。
我们的DBA已经看到,这个模式现在正在指数级地消耗空间。我们调查了一下,发现有一个表(SYS_LOB)占用了大约116 of的140 of数据库。
我们的DBA告诉我们,这个表与保存用户操作日志的表相关(8 8GB)
有人知道这个SYS_LOB表是做什么的吗?实际的blob是保存在我们创建的表中,还是oracle将这些blob存储在另一个表中(如果是,那么SYS_LOB就是那个表)?
发布于 2009-02-10 08:50:30
Oracle数据库中没有表SYS_LOB
(至少,基本数据库安装中没有这样的表)。有一个视图DBA_LOBS
可以显示有关数据库中所有LOB列的信息,但它实际上并不存储任何LOB数据,只存储元数据。数据库中的实际LOB段具有系统生成的名称,其形式为SYS_LOBidentifier$$。
我猜您的数据库管理员已经识别出一个名为SYS_LOB
identifier$$的段,它占用了116 GB的空间。假设这是正确的,您可以使用DBA_LOBS
视图找出该LOB列映射到哪个表的哪一列。
SELECT owner, table_name, column_name
FROM dba_lobs
WHERE segment_name = 'SYS_LOB<<identifier>>$$'
https://stackoverflow.com/questions/531488
复制相似问题