Free space of tablespace deleting table content (rows)

oracleoracle-12ctablespaces

I have a theorical question, last week we have found this error in one database. The error has been given by our app when trying to save some WS data.

ORA-01691: unable to extend lob segment RS2.SYS_LOB0000501482C00010$$ by 128 in tablespace RS2QDDA1

In absence of the dba who has de sysdba rights we have a discussion :

  • If we delete data of some tabla stored in this tablespace, the tablespace will have free space ? And could be back to work for the application.

We questions that because we configure a purge batch to delete old rows from some tables, but it fails in execution time throwing the same error message defined before ORA-01691: unable to extend lob segment RS2.SYS_LOB0000501482C00010$$ by 128 in tablespace RS2QDDA1

Best Answer

Without understanding the nature of the data contained within this object contains, it is difficult to offer solid advice.

If this were a regular table, then yes; you would delete rows from it and thereby release space within the Tablespace.
The fact that a delete statement results in more data being written to this object makes me think it is non-standard; perhaps an "Auditing" feature of some sort that records everything - including deletions. That means your only option is to give the Tablespace more room to work with, by adding more datafiles to it or by extending the underlying disk space.

Thinking about performing either operation without your DBA?

My recommendation: Don't.

Very little about Oracle database is as straightforward as we would like it to be, so you need someone who knows what they're doing (and knows what to do when it goes wrong).

Furthermore, you shouldn't even be able to!

If your DBA has given you sufficient privileges to even attempt this operation, then they need their head examining, having little or no concept about database Security (or, most generously, a highly over-developed sense of Trust).