すべてではないにしても、ほとんどのテーブルには「blob」フィールドがあります。ユーザーのアクションのログを格納するテーブルの1つが8 GB(約500万レコード)に増えました。
そして私たちのDBAは、このスキーマが現在、急激に領域を消費していることを確認しています。少し調べたところ、(SYS_LOB)を含むテーブルの1つに140 GBのデータベースのうち約116 GBが必要であることがわかりました。
私たちのDBAは、このテーブルはユーザーアクションのログを保存するテーブル(8 GB)に関連していると言っています
このSYS_LOBテーブルの機能を知っている人はいますか?作成したテーブルに保存された実際のblobはありますかOR Oracleはこれらのblobを実際に別のテーブルに保存します(ある場合、SYS_LOBがそのテーブルになります)?
OracleデータベースにテーブルSYS_LOB
がありません(少なくとも、基本的なデータベースインストールの一部であるそのようなテーブルはありません。テーブル内のすべてのLOB列に関する情報を表示するテーブルDBA_LOBS
がありますデータベースですが、実際にはLOBデータは格納されず、メタデータのみが格納されます。データベース内の実際のLOBセグメントには、SYS_LOB identifier $$という形式のシステム生成の名前があります。
私の推測では、DBAはSYS_LOB
identifier $$という名前のセグメントを識別しており、116 GBのスペースを消費しています。これが正しいと仮定すると、DBA_LOBS
テーブルを使用して、LOB列がどのテーブルのどの列にマップするかを確認できます。
SELECT owner, table_name, column_name
FROM dba_lobs
WHERE segment_name = 'SYS_LOB<<identifier>>$$'