Oracle 12.1.0.2c Cluster: New Location / Name For Alert Log

In my last post, I had presumed there is a bug since I discovered an empty clusterware alert log in its conventional location i.e.  $ORACLE_HOME/log/<hostname>in 12.1.0.2 standard cluster.

[grid@host01 ~]$ crsctl query crs activeversion;
Oracle Clusterware active version on the cluster is [12.1.0.2.0]

[root@host01 host01]# ls -l /u01/app/12.1.0/grid/log/host01/alerthost01.log

-rw-rw-r– 1 grid oinstall 0 Jun 15 14:10 /u01/app/12.1.0/grid/log/host01/alerthost01.log

But as commented by Ricardo Portillo Proni,  in oracle clusterware 12c,  the location of alert log has been changed to $ORACLE_BASE/diag/crs/<hostname>/crs/trace/

Hence, I could successfully  the alert log on node host01 in directory  $ORACLE_BASE/diag/crs/host01/crs/trace/

[grid@host01 trace]$ ls -l $ORACLE_BASE/diag/crs/host01/crs/trace/alert*

-rw-rw—- 1 root oinstall 812316 Aug 11 10:22 /u01/app/grid/diag/crs/host01/crs/trace/alert.log

Another noticeable thing is that name of clusterware alert log has been changed to alert.log as compared to alert<hostname>.log in 11g.

I would like to mention that I have verified the above only in 12.1.0.2 standard cluster.

In 12.1.0.1 flex cluster though, the location and name of  alert log location is same as in 11g i.e. $ORACLE_HOME/log/host01

[root@host01 host01]# crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [12.1.0.1.0]

[root@host01 host01]# ls -l $ORACLE_HOME/log/host01/alert*
-rw-rw-r-- 1 grid oinstall 497364 Aug 11 11:00 /u01/app/12.1.0/grid/log/host01/alerthost01.log

Conclusion:
12.1.0.2 standard cluster

  • Name of alert log : alert.log
  • location of alert log: $ORACLE_BASE/diag/crs/host01/crs/trace

12.1.0.1 flex cluster

  • Name of alert log : alert<hostname>.log
  • location of alert log: $ORACLE_HOME/log/host01

Hope it helps!

Pls refer to comments for further information.

References:
Oracle RAC 12c (12.1.0.2) Operational Best Practices (Oracle Presentation)
Oracle 12c RAC: Clusterware logs are now centralized

———————————————————————————————————————–

Related Links :

Home

12c RAC Index

Oracle 12.1.0.2 Standard Cluster: Empty Alert Log

9 thoughts on “Oracle 12.1.0.2c Cluster: New Location / Name For Alert Log

  1. Hello Anju,

    Thank you for the post. While your evaluation is correct, please, allow a bit of context: Starting with 12.1.0.2 Oracle Grid Infrastructure has adapted the Automatic Diagnostic Repository (ADR) based management of diagnostic information. As a result of this adaptation, all diagnostic information has been moved under the ADR folder tree. This applies to the host alert log as well as to ASM alert logs and other logs as well as traces.

    More information can be found on slides 62ff of this slide deck: http://www.slideshare.net/MarkusMichalewicz/oracle-rac-12c-12102-operational-best-practices-a-result-of-true-collaboration As you can see, it is not only the location that changed. There is also some (space) management involved. The ADR even has its own tool to manage diag data (ADRCI). This might perhaps be a topic for another post.

    Hope that helps. Thanks,
    Markus

    1. Hello Markus,

      Thanks for the valuable information.
      One point: Considering that Starting with 12.1.0.2 , host alert log has been moved under the ADR folder tree, the conventional alert log (alert.log> should not exist as it leads to confusion.

      Thanks and regards
      Anju Garg

  2. Hello Anju,

    Thank you for your feedback. Sorry, I might not have been clear enough. This is the host alert log in pre-12.1.0.2: “alert.log” as you correctly said and it has indeed be renamed and relocated to the new location, using the new “alert.log” name, which is a bit confusing, as you said. There are other name changes you need to get used to unfortunately:

    [GRID]> crsctl query crs softwareversion
    Oracle Clusterware version on node [germany] is [12.1.0.2.0]
    [GRID]> pwd
    /u01/app/grid

    [GRID]> find . -name “aler*.l*” -print
    ./diag/rdbms/_mgmtdb/-MGMTDB/trace/alert_-MGMTDB.log
    ./diag/asm/+asm/+ASM1/trace/alert_+ASM1.log
    ./diag/crs/germany/crs/trace/alert.log

    The “alert.logs” are now uniquely described by path and instance name where applicable. Your database alert.log (other than the one or the MGMTDB, which resides in the Grid Infrastructure Home) would be in a different unique path following the naming convention that is here illustrated using the “alert_-MGMTDB.log”. Unfortunately, I do not have a database installed on this cluster that I am using here, otherwise I could list it.

    Speaking of other name changes, please, note the consistent change to “*.trc” as opposed to using the “.log” as it was the case prior to 12.1.0.2:

    [GRID]> find . -name “*d.trc” -print
    ./diag/crs/germany/crs/trace/osysmond.trc
    ./diag/crs/germany/crs/trace/ologgerd.trc
    ./diag/crs/germany/crs/trace/ohasd_oraagent_grid.trc
    ./diag/crs/germany/crs/trace/ohasd.trc
    ./diag/crs/germany/crs/trace/ocssd.trc
    ./diag/crs/germany/crs/trace/mdnsd.trc
    ./diag/crs/germany/crs/trace/octssd.trc
    ./diag/crs/germany/crs/trace/evmd.trc
    ./diag/crs/germany/crs/trace/gipcd.trc
    ./diag/crs/germany/crs/trace/crsd_oraagent_grid.trc
    ./diag/crs/germany/crs/trace/crsd_scriptagent_grid.trc
    ./diag/crs/germany/crs/trace/gnsd.trc
    ./diag/crs/germany/crs/trace/gpnpd.trc
    ./diag/crs/germany/crs/trace/crsd.trc

    Thank you again,
    Markus

    1. Thanks Markus.

      I am sorry about the typo in my last query. Here it is :

      Considering that Starting with 12.1.0.2 , host alert log has been moved under the ADR folder tree, the conventional alert log (alerthostname.log) in its earlier location without any contents (ls -l lists zero size) should not exist as it leads to confusion as we will have two aler logs with different names / locations on the same host.

      [root@host01 host01]# ls -l $ORACLE_HOME/log/host01/alerthost01.log

      -rw-rw-r– 1 grid oinstall 0 Jun 15 14:10 /u01/app/12.1.0/grid/log/host01/alerthost01.log

      [grid@host01 trace]$ ls -l $ORACLE_BASE/diag/crs/host01/crs/trace/alert*

      -rw-rw—- 1 root oinstall 812316 Aug 11 10:22 /u01/app/grid/diag/crs/host01/crs/trace/alert.log

      I hope I have been able to post my query correctly this time.

      reagrds
      Anju

      1. Hello Anju,

        Thank you for your feedback and explanation. Agreed. Having the old log with zero content is confusion. I guess, this was done to ensure that IF an older or current client would want to write to the old destination as it has not picked up the new destination in the ADR in 12.1.0.2, it could without getting an error. In any case, I agree that this log should eventually be removed.

        Thank you,
        Markus

  3. Thank you for your valuable post,

    I have FLEX cluster on clusterware version 12.1.0.2.0 and the logs are under ADR_BASE location, juste like STANDARD cluster.

    [grid@rac2 trace]$ crsctl get cluster mode status
    Cluster is running in “flex” mode

    [grid@rac2 trace]$ crsctl query crs activeversion
    Oracle Clusterware active version on the cluster is [12.1.0.2.0]

    SQL> SELECT name, value FROM v$diag_info;

    NAME VALUE
    —————————————————————- ————————————————–
    Diag Enabled TRUE
    ADR Base /u01/app/grid
    ADR Home /u01/app/grid/diag/asm/+asm/+ASM2
    Diag Trace /u01/app/grid/diag/asm/+asm/+ASM2/trace
    Diag Alert /u01/app/grid/diag/asm/+asm/+ASM2/alert
    Diag Incident /u01/app/grid/diag/asm/+asm/+ASM2/incident
    Diag Cdump /u01/app/grid/diag/asm/+asm/+ASM2/cdump
    Health Monitor /u01/app/grid/diag/asm/+asm/+ASM2/hm
    Default Trace File /u01/app/grid/diag/asm/+asm/+ASM2/trace/+ASM2_ora_
    23661.trc

    [grid@rac2 trace]$ pwd
    /u01/app/grid/diag/crs/rac2/crs/trace

    [grid@rac2 trace]$ ls alert.log
    alert.log

    [grid@rac2 crsd]$ pwd
    /u01/app/12.1.0/grid/log/rac2/crsd
    [grid@rac2 crsd]$ ll
    total 0

    Regards
    Saadeddine

Your comments and suggestions are welcome!