How to set ADR Base directory correctly on OracleDB on Linux?

All we need is an easy explanation of the problem, so here it is.

Installed Oracle Database on Linux based OS. Listener is ok. But Oracle is not. (I changed all angular brackets to vertical, because parser not shows angular brackets)

ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
ORA-48140: the specified ADR Base directory does not exist
[/volumeX/app/oracle/product/11.2.0/xe/dbs/|ORACLE_BASE|] ORA-48187: specified directory does not exist

Thats line in initXE.ora and init.ora:


Result of echo $ORACLE_BASE:


u01 is a symlink of volumeX directory.

How to solve this problem?

It is on Linux DiskStation 3.2.40.

How to solve :

I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.

Method 1

Just set:




The error message you receive indicates that the value for this parameter is currently stored in a format that the database can not interpret. When this happens, the database will search for this directory in $ORACLE_HOME/dbs as seen below the ORA-48140 line.

Or you can just simply delete this line, and the parameter value will default to $ORACLE_BASE.

Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply