DLPのOracle テーブルスペース (LOB_TABLESPACE, USERS, など) のサイズが上限に達している、ほぼ上限に達している、または、危機的に上限に近い状態にある場合の動作について
search cancel

DLPのOracle テーブルスペース (LOB_TABLESPACE, USERS, など) のサイズが上限に達している、ほぼ上限に達している、または、危機的に上限に近い状態にある場合の動作について

book

Article ID: 242985

calendar_today

Updated On:

Products

Data Loss Prevention Enforce Data Loss Prevention

Issue/Introduction

Oracle テーブルスペース (表領域) のサイズが上限に達している、または、ほぼ上限に達している場合、Data Loss Prevention (DLP) では以下のいずれかの状況が発生します。

  • Oracleの表領域が、ほぼ上限に達している (> 80%) または、危機的に上限に近い状態 (> 90%) であることを警告するシステムアラートが表示される。
  • テーブルスペース (表領域) が上限に達しており、インシデントデータを保存できないため、「壊れたインシデント」の警告が表示される。

例:
Code: 2301
Summary Tablespace is almost full
Detail Oracle tablespace LOB_TABLESPACE is over 83% full

Resolution

概要

DLPの Oracle データベースにある1つ以上のテーブルスペース (表領域) を拡張する必要があります。

警告: どのテーブルスペース (表領域) を拡張する必要があるか、ログやアラートに表示されているテーブルスペース (表領域) 名にご注意ください。
通常この問題は、LOB_TABLESPACE で発生しますが、USERS やその他のテーブルスペース(表領域) でも発生することがあります。
すべてのテーブルスペース (表領域) は、テーブルスペース (表領域) 名を適宜置き換えることで、同じ方法で拡張することができます。

テーブルスペース (表領域) の概略

DLP 14.x、および、その後のバージョンでは、「テーブルスペース(表領域)の概略」をDLP Enforceコンソールで見るとができます。

注意: この概略はデータベースファイルの場所など、テーブルスペース(表領域)を完全に説明したものではありません。

Oracleデータベースファイルの検索

テーブルスペース(表領域)の拡張を行う前に、現在、Oracleデータベースのファイルがどこにあるか確認する必要があります。

データベースファイルを探すには、SQL*Plusを使ってデータベースで直接クエリを実行してください。SQL*Plusは、DLP Enforceサーバーで利用可能です。
SQL*Plusの使用方法については、Oracle12c-SE2 Installation and Upgrade Guide をご覧いただくか、Starting SQL*Plus and Connecting to the Database をご覧ください。

注意: データベースファイルを探すには、Oracle Enterprise Manager も使用することができます。

以下のコマンドを実行します。

select file_name from sys.dba_data_files;

出力結果には、以下のようにそれぞれのデータベースファイルのディレクトリとファイル名 (拡張子 .DBF) が表示されます。

E:\ORACLE\ORADATA\PROTECT\SYSTEM01.DBF
E:\ORACLE\ORADATA\PROTECT\SYSAUX01.DBF
E:\ORACLE\ORADATA\PROTECT\UNDOTBS.DBF
E:\ORACLE\ORADATA\PROTECT\DRSYS01.DBF
E:\ORACLE\ORADATA\PROTECT\LOB01.DBF
E:\ORACLE\ORADATA\PROTECT\LOB02.DBF
E:\ORACLE\ORADATA\PROTECT\LOB03.DBF
E:\ORACLE\ORADATA\PROTECT\USERS01.DBF
E:\ORACLE\ORADATA\PROTECT\USERS02.DBF
E:\ORACLE\ORADATA\PROTECT\USERS03.DBF

テーブルスペース (表領域) の拡張

SQLを使ってテーブルスペース (表領域) を追加するには、データベースにsys as sysdbaを使って接続、ログインし、以下のコマンドを実行します。

ALTER TABLESPACE <tablespace name>
ADD 
DATAFILE '<directory and datafile name>' SIZE 138240K
REUSE AUTOEXTEND 
ON NEXT 10240K MAXSIZE 32767M;

「Oracleデータベースファイルの検索」で挙げられているサンプルの出力結果を元にすると、“LOB_TABLESPACE” が上限に達している場合、新しく作成されるデータベースファイルは、"LOB04.DBF" というファイル名になります。

具体例として、以下に新しいデータベースファイルを「LOB_TABLESPACE」に追加する方法を挙げています。

ALTER TABLESPACE LOB_TABLESPACE
ADD 
DATAFILE 'D:\ORACLE\ORADATA\PROTECT\LOB04.DBF' SIZE 138240K 
REUSE AUTOEXTEND 
ON NEXT 10240K MAXSIZE 32767M;

Additional Information

  • Oracle 11gを使用している一部のシステムでは、テーブルスペース (表領域) 名を囲う引用符 を削除する必要があります。
    (例: ALTER TABLESPACE LOB_TABLESPACE ADD DATAFILE...)
  • Oracleは新しいインシデントが作成される際、削除されたデータを上書きするため、インシデントを削除することで、テーブルスペース(表領域)を確保できることがありますが、テーブルスペースがすでに上限に達している場合、インシデントを削除してもテーブルスペースは確保されません。
    詳細な情報に関しましては、Why doesn't the database shrink after incidents are deleted? をご覧ください。

 

※ このドキュメントは、以下のドキュメントを元に作成しています。

Oracle tablespace (LOB_TABLESPACE, USERS, etc.) for DLP is full, almost full, or critically full

Attachments