Where is alert log when diagnostic_dest is not writable

The defaults
By default, the parameters look like this. Even though they're deprecated:
[oracle@ol9-19-dg1/cdb1 ~]# sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Apr 3 16:20:30 2025
Version 19.22.0.0.0
Copyright (c) 1982, 2023, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.22.0.0.0
SQL> show parameter dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/log
core_dump_dest string /u01/app/oracle/diag/rdbms/cdb1/cdb1/cdump
user_dump_dest string /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/log
SQL> show parameter diagnostic_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest string /u01/app/oracle
But if you try to set it manually, you'll get:
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
Something in the instance IS writing traces here:
[oracle@ol9-19-dg1/cdb1 /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/log]$ head -n 50 cdb1_ora_2793.trc
Dump file /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/log/cdb1_ora_2793.trc
Build label: RDBMS_19.22.0.0.0DBRU_LINUX.X64_231229
*** 2025-03-25T16:42:23.763390+00:00
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.22.0.0.0
Build label: RDBMS_19.22.0.0.0DBRU_LINUX.X64_231229
ORACLE_HOME: /u01/app/oracle/product/19.0.0/dbhome_1
System name: Linux
Node name: ol9-19-dg1.localdomain
Release: 5.15.0-301.163.5.2.el9uek.x86_64
Version: #2 SMP Wed Oct 16 18:55:42 PDT 2024
Machine: x86_64
Storage: ?
CLID: U
Instance name: cdb1
Redo thread mounted by this instance: 0 <none>
Oracle process number: 0
Unix process pid: 2793, image:
*** 2025-03-25T16:42:23.765333+00:00
value for _ksi_trace_bucket SHARED2025-03-25 16:42:23.782 : kjbrpdnr: startup nress=0
2025-03-25 16:42:23.785 : kjblpdnl: startup nslocks=0
kgfmIsAppliance=0 (due to init)
KJHA:2phase 132 crs active
KJHA:2phase 210 usecnt:0 tha start prepare
2025-03-25 16:42:23.909 : [GIPCXCPT][GIPCXCPT] gipcInternalConnectSync: failed sync request, addr 0x19947e90 [0000000000000014] { gipcAddress : name 'ipc://scls_opct_ol9-19-dg1', objFlags 0x0, addrFlags 0x4 }, ret gipcretConnectionRefused (29)
2025-03-25 16:42:23.910 : [GIPCXCPT][GIPCXCPT] gipcInternalConnectSync: failed sync request, addr 0x19948b10 [000000000000001c] { gipcAddress : name 'ipc://scls_opct_ol9-19-dg1', objFlags 0x0, addrFlags 0x4 }, ret gipcretConnectionRefused (29)
2025-03-25 16:42:23.911 : [GIPCXCPT][GIPCXCPT] gipcInternalConnectSync: failed sync request, addr 0x19947e90 [0000000000000024] { gipcAddress : name 'ipc://scls_opct_ol9-19-dg1', objFlags 0x0, addrFlags 0x4 }, ret gipcretConnectionRefused (29)
[ default][ default]u_set_comp_error: comptype '103' : error '29'
So what happens when diagnostic_dest is not writable?
[oracle@ol9-19-dg1/cdb1 ~]# chmod -R 640 /u01/app/oracle/diag
chmod: cannot access '/u01/app/oracle/diag/rdbms': Permission denied
chmod: cannot access '/u01/app/oracle/diag/asm': Permission denied
chmod: cannot access '/u01/app/oracle/diag/crs': Permission denied
chmod: cannot access '/u01/app/oracle/diag/clients': Permission denied
chmod: cannot access '/u01/app/oracle/diag/netcman': Permission denied
chmod: cannot access '/u01/app/oracle/diag/lsnrctl': Permission denied
chmod: cannot access '/u01/app/oracle/diag/tnslsnr': Permission denied
chmod: cannot access '/u01/app/oracle/diag/diagtool': Permission denied
chmod: cannot access '/u01/app/oracle/diag/ofm': Permission denied
chmod: cannot access '/u01/app/oracle/diag/asmtool': Permission denied
chmod: cannot access '/u01/app/oracle/diag/em': Permission denied
chmod: cannot access '/u01/app/oracle/diag/apx': Permission denied
chmod: cannot access '/u01/app/oracle/diag/ios': Permission denied
chmod: cannot access '/u01/app/oracle/diag/afdboot': Permission denied
chmod: cannot access '/u01/app/oracle/diag/gsm': Permission denied
chmod: cannot access '/u01/app/oracle/diag/plsqlapp': Permission denied
chmod: cannot access '/u01/app/oracle/diag/dps': Permission denied
chmod: cannot access '/u01/app/oracle/diag/bdsql': Permission denied
chmod: cannot access '/u01/app/oracle/diag/plsql': Permission denied
chmod: cannot access '/u01/app/oracle/diag/asmcmd': Permission denied
chmod: cannot access '/u01/app/oracle/diag/kfod': Permission denied
[oracle@ol9-19-dg1/cdb1 ~]# alog
tail: cannot open '/u01/app/oracle/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log' for reading: Permission denied
tail: no files remaining
But now, the logs and traces are all over the place.
So now I have set background_dump_dest
to a new directory $ORACLE_HOME/rdmbs/log_test
to really see which parameters are being used and what's simply the default:
SQL> show parameter dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /u01/app/oracle/product/19.0.0
/dbhome_1/rdbms/log_test
Alert log #1 $ORACLE_HOME/rdbms/log
:
[oracle@ol9-19-dg1/cdb1 /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/log]# ls -ltra
-rw-r-----. 1 oracle oinstall 4629 Feb 10 17:43 cdb1_ora_2769.trc
-rw-r-----. 1 oracle oinstall 4629 Feb 12 19:24 cdb1_ora_5386.trc
-rw-r-----. 1 oracle oinstall 4629 Feb 14 15:39 cdb1_ora_3040.trc
-rw-r-----. 1 oracle oinstall 4629 Feb 16 14:18 cdb1_ora_2680.trc
-rw-r-----. 1 oracle oinstall 4629 Feb 18 13:36 cdb1_ora_2396.trc
-rw-r-----. 1 oracle oinstall 4629 Feb 18 17:33 cdb1_ora_2127.trc
-rw-r-----. 1 oracle oinstall 4629 Feb 19 11:16 cdb1_ora_3944.trc
-rw-r-----. 1 oracle oinstall 4629 Feb 26 16:22 cdb1_ora_3604.trc
-rw-r-----. 1 oracle oinstall 4629 Mar 1 18:00 cdb1_ora_2079.trc
-rw-r-----. 1 oracle oinstall 4629 Mar 5 13:26 cdb1_ora_5422.trc
-rw-r-----. 1 oracle oinstall 4629 Mar 9 17:12 cdb1_ora_4959.trc
-rw-r-----. 1 oracle oinstall 4629 Mar 11 20:02 cdb1_ora_2665.trc
-rw-r-----. 1 oracle oinstall 4629 Mar 11 20:58 cdb1_ora_2918.trc
-rw-r-----. 1 oracle oinstall 4629 Mar 11 21:36 cdb1_ora_6979.trc
-rw-r-----. 1 oracle oinstall 4631 Mar 13 21:57 cdb1_ora_22213.trc
-rw-r-----. 1 oracle oinstall 4631 Mar 16 21:16 cdb1_ora_12576.trc
-rw-r-----. 1 oracle oinstall 4629 Mar 22 17:57 cdb1_ora_6279.trc
-rw-r-----. 1 oracle oinstall 4629 Mar 23 15:59 cdb1_ora_3339.trc
-rw-r-----. 1 oracle oinstall 4629 Mar 25 16:42 cdb1_ora_2793.trc
-rw-r-----. 1 oracle oinstall 4629 Apr 3 16:18 cdb1_ora_2912.trc
drwxr-x---. 3 oracle oinstall 8192 Apr 3 16:19 opatch
drwxr-xr-x. 3 oracle oinstall 4096 Apr 3 16:19 .
-rw-r-----. 1 oracle oinstall 52963 Apr 3 16:19 qopatch_log.log
-rw-r-----. 1 oracle oinstall 1826 Apr 3 16:32 alert_cdb1.log
[oracle@ol9-19-dg1/cdb1 /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/log]# tail alert_cdb1.log
Thu Apr 3 16:49:51 2025
DIAGNOSTIC_DEST has been reset to a default path: ?#/log
Thu Apr 3 16:50:05 2025
Invalid value given for DIAGNOSTIC_DEST initialization parameter
Thu Apr 3 16:50:05 2025
DIAGNOSTIC_DEST has been reset to a default path: ?#/log
Thu Apr 3 16:50:08 2025
Invalid value given for DIAGNOSTIC_DEST initialization parameter
Thu Apr 3 16:50:08 2025
DIAGNOSTIC_DEST has been reset to a default path: ?#/log
Alert log #2: background_dump_dest
:
[oracle@ol9-19-dg1/cdb1 /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/log_test]# ls -ltr
total 4
drwxr-xr-x. 17 oracle oinstall 190 Apr 3 16:36 ..
drwxr-xr-x. 2 oracle oinstall 28 Apr 3 16:39 .
-rw-r-----. 1 oracle oinstall 415 Apr 3 16:39 alert_cdb1.log
[oracle@ol9-19-dg1/cdb1 /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/log_test]# tail alert_cdb1.log
Thu Apr 3 16:39:32 2025
WARNING: The background_dump_dest init.ora parameter has been deprecated.
WARNING: Please remove the background_dump_dest parameter from the init.ora file.
WARNING: The diagnostic_dest init.ora parameter now determines the location of the diagnostic data
WARNING: The new location for the background logs and traces is /u01/app/oracle/product/19.0.0/dbhome_1/log/diag/rdbms/cdb1/cdb1/trace
Alert log #3: $ORACLE_HOME/log/diag/rdbms/cdb1/cdb1/trace
:
[oracle@ol9-19-dg1/cdb1 /u01/app/oracle/product/19.0.0/dbhome_1/log/diag/rdbms/cdb1/cdb1/trace]# tail alert_cdb1.log
Tns error struct:
ns main err code: 12543
TNS-12543: TNS:destination host unreachable
ns secondary err code: 12560
nt main err code: 513
TNS-00513: Destination host unreachable
nt secondary err code: 113
nt OS err code: 0
This is the actual content of the alert log. This instance is missing its standby, so these entries are correct.
Conclusion
The old dump_dest parameters are deprecated and not used. There seems to be at least one background process that still uses it though. Not sure what it is yet.
**If
diagnostic_dest
is not writable, the instance will default to$ORACLE_HOME/log/diag/rdbms/cdb1/cdb1/trace
Alert log is in a couple more places, but it's just "empty" with errors letting us know, that it is in fact somewhere else.
Subscribe to my newsletter
Read articles from David Budáč directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
