Extend Oracle tablespace (LOB_TABLESPACE, USERS, etc.) when almost full

book

Article ID: 159990

calendar_today

Updated On:

Products

Data Loss Prevention Enforce

Issue/Introduction

You see one of the following in Data Loss Prevention (DLP):

  • Receiving a tablespace warning with DLP, system alert warning that a tablespace in Oracle is almost full (>80%) or critically full (>90%).
  • “Corrupt incident” alerts because a tablespace is completely full and can no longer store incident data.

 

Example:

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

Resolution

You need to extend one or more tablespaces in the Oracle database for DLP.

Caution: Pay close attention to which tablespace names the logs or alerts identify for extension. LOB_TABLESPACE is usually affected, but it can be USERS or other tablespaces. All tablespaces are extended the same way; substitute the appropriate tablespace name.

Tablespace summary

In DLP 14.x and later, you can view the “Tablespace Summary” in the DLP Enforce console.

Note: This summary does not fully describe the tablespace, such as the location of the database files.

Locate the Oracle database files

Before you can extend the tablespace, you need to know where the current Oracle database files are located.

To locate the database files, query the database directly using SQL*Plus, which is installed on the DLP Enforce server. To learn how to use SQL*Plus, see the Oracle12c-SE2 Installation and Upgrade Guide or Starting SQL*Plus and Connecting to the Database.

Use the following command:

select file_name from sys.dba_data_files;

The resulting output is similar to the following, which indicates each database file's directory and file name (.DBF extension):

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

Note: You can also use Oracle Enterprise Manager to locate the database files.

Extend the tablespace

To add tablespace through SQL, log inconnecting to the database using sys as sysdbaand enter the following:

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

Based on the sample output under "Locate the Oracle database files", if it is “LOB_TABLESPACE” which is full, the newly created database file is named “LOB04.DBF”.

Here is a specific example that adds a new database file to the “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

  • On some systems using Oracle 11g, you may need to omit the quotes surrounding the tablespace name (e.g. ALTER TABLESPACE LOB_TABLESPACE ADD DATAFILE...).
  • You can gain tablespace by deleting incidents, as Oracle overwrites the deleted data when new incidents come in. However, deleting incidents will not work if your tablespace is already full. For more information, see Why doesn't the database shrink after incidents are deleted?

Attachments