Wednesday, August 16, 2017

-bash: /bin/rm: Argument list too long

Time to time every admin has a problem:

ORA-09817: Write to audit file failed.
Linux-x86_64 Error: 28: No space left on device
Additional information: 12
ORA-09945: Unable to initialize the audit trail file
Linux-x86_64 Error: 28: No space left on device


How to remove a huge number of  trace files from Oracle DIAGNOSTIC_DEST catalog ?
There is no simple way to delete them:

[oracle@edbadm01 ~]$ cd /u01/app/oracle/diag/rdbms/irbis/irbis1/trace/
[oracle@edbadm01 trace]$ rm *
-bash: /bin/rm: Argument list too long


But if u are an Oracle DBA then adrci is good solution for u :

[oracle@edbadm01 trace]$ adrci

ADRCI: Release 12.2.0.1.0 - Production on Wed Aug 16 14:29:02 2017

ADR base = "/u01/app/oracle"
adrci> set home diag/rdbms/irbis/irbis1
adrci> purge -age 60

Unfortunately Oracle not explain clearly: 60 - is the time from the moment of creation or from the last change of the file. Iwant to hope 'from last change'.

The adrci really removes huge number of files without "Argument list too long" annoing message  !
And this command will work after network failure or accidental terminal window close !

It is really cool utility !
:)

Does DEALLOCATE UNUSED or SHRINK SPACE will free space occupied by LOB segment?

Lets check how it works. My env is DB 19.20@Linux-x64 1) I created the table with 4 LOB columns of 4 different LOB types: BASICFILE BLOB, BA...