Component Level Debugging

You can use crsctl set log and crsctl set trace commands as the root user to enable dynamic debugging for the various Oracle Clusterware modules.

Enabling Debugging for Oracle Clusterware Modules

You can enable debugging for Oracle Clusterware modules and their components, and for resources, by setting environment variables or by running crsctl set log commands, using the following syntax:

crsctl set {log | trace} module_name "component:debugging_level
[,component:debugging_level][,...]"

Run the crsctl set command as the root user, and supply the following information:

  • module_name: The name of one of the following modules:

    • mdns: Multicast ___domain name server
    • gpnp: Grid Plug and Play service
    • css: Cluster Synchronization Services
    • crf: Cluster Health Monitor
    • crs: Cluster Ready Services
    • ctss: Cluster Time Synchronization Service
    • evm: Event Manager
    • gipc: Grid Interprocess Communication
  • component: The name of a component for one of the modules. See Table E-73 for a list of all of the components.

  • debugging_level: A number from 1 to 5 to indicate the level of detail you want the debug command to return, where 1 is the least amount of debugging output and 5 provides the most detailed debugging output. The default debugging level is 2.

The following commands show examples of how to enable debugging for the various modules:

  • To enable debugging for Oracle Clusterware:

    crsctl set log crs "CRSRTI:1,CRSCOMM:2"
    
  • To enable debugging for OCR:

    crsctl set log crs "CRSRTI:1,CRSCOMM:2,OCRSRV:4"
    
  • To enable debugging for EVM:

    crsctl set log evm "EVMCOMM:1"
    
  • To enable debugging for resources

    crsctl set log res "resname:1"
    

To obtain a list of components that can be used for debugging, run the crsctl lsmodules command, as follows:

crsctl lsmodules {mdns | gpnp | css | crf | crs | ctss | evm | gipc}

Note:

You do not have to be the root user to run the crsctl lsmodulues command.

Table E-73 shows the components for the CRS, CSS, and EVM modules, respectively. Note that some component names are common between the CRS, EVM, and CSS daemons and may be enabled on that specific daemon. For example, COMMNS is the NS layer and because each daemon uses the NS layer, you can enable this specific module component on any of the daemons to get specific debugging information.

Table E-73 Components for the CRS, CSS, and EVM Modules

CRS Components(1) CSS Components(2) EVM Components(3)
CRSUI
CRSCOMM
CRSRTI
CRSMAIN
CRSPLACE
CRSAPP
CRSRES
CRSCOMM
CRSOCR
CRSTIMER
CRSEVT
CRSD
CLUCLS
CSSCLNT
COMMCRS
COMMNS
CSSD
COMMCRS
COMMNS
EVMD
EVMDMAIN
EVMCOMM
EVMEVT
EVMAPP
EVMAGENT
CRSOCR
CLUCLS
CSSCLNT
COMMCRS
COMMNS

Footnote 1 Obtain the list of CRS components using the crsctl lsmodules crs command.

Footnote 2 Obtain the list of CSS components using the crsctl lsmodules css command.

Footnote 3 Obtain the list of EVM components using the crsctl lsmodules evm command.

For example, use the following command to set debugging levels on specific cluster nodes, include the -nodelist keyword and the names of the nodes, as follows:

crsctl set log crs "CRSRTI:1,CRSCOMM:2" -nodelist node1,node2

Table E-74 describes the Cluster Synchronization Services modules.

Table E-74 Cluster Synchronization Services (CSS) Modules and Functions

Module Description

CSS

CSS client component

CSSD

CSS daemon component

Table E-75 describes the function of each communication (COMM) module.

Table E-75 Communication (COMM) Modules and Functions

Module Description

COMMCRS

Clusterware communication layer

COMMNS

NS communication layer

Table E-76 describes the functions performed by each CRS module.

Table E-76 Oracle Clusterware (CRS) Modules and Functions

Module Descriptions

CRSUI

User interface module

CRSCOMM

Communication module

CRSRTI

Resource management module

CRSMAIN

Main module/driver

CRSPLACE

CRS placement module

CRSAPP

CRS application

CRSRES

CRS resources

CRSOCR

Oracle Cluster Registry interface

CRSTIMER

Various timers related to CRS

CRSEVT

CRS EVM/event interface module

CRSD

CRS daemon

Using the crsctl set log crs command, you can debug the OCR components listed in Table E-77. The components listed in Table E-77 can also be used for the Oracle Local Registry (OLR) except for OCRMAS and OCRASM. You can also use them for OCR and OLR clients, except for OCRMAS and OCRSRV. Some OCR and OLR clients are OCRCONFIG, OCRDUMP, and so on.

Table E-77 Oracle Cluster Registry (OCR) Component Names

Module Description

OCRAPI

OCR abstraction component

OCRCLI

OCR client component

OCRSRV

OCR server component

OCRMAS

OCR master thread component

OCRMSG

OCR message component

OCRCAC

OCR cache component

OCRRAW

OCR raw device component

OCRUTL

OCR util component

OCROSD

OCR operating system dependent (OSD) layer

OCRASM

OCR ASM component

Table E-78 describes the OCR tool modules.

Table E-78 OCRCONFIG Modules and Functions

Module Description

OCRCONFIG

OCRCONFIG component for configuring OCR

OCRDUMP

OCRDUMP component that lists the Oracle Cluster Registry contents

OCRCHECK

OCRCHECK component that verifies all of the configured OCRs

Enabling Debugging for Oracle Clusterware Resources

You can enable debugging for Oracle Clusterware resources by running the crsctl set log command, using the following syntax:

crsctl set log res "resource_name=debugging_level"

Run the crsctl set log command as the root user, and supply the following information:

  • resource_name: The name of the resource to debug.

  • debugging_level: A number from 1 to 5 to indicate the level of detail you want the debug command to return, where 1 is the least amount of debugging output and 5 provides the most detailed debugging output. The default debugging level is 2.

To obtain a list of resources that can be used for debugging, run the crsctl status resource command.

Example

To generate a debugging log for the VIP resource on node1, issue the following command:

crsctl set log res "ora.node1.vip:1"

Enabling Additional Tracing for Oracle Clusterware Components

My Oracle Support may ask you to enable tracing to capture additional information. Because the procedures described in this section may affect performance, only perform these activities with the assistance of My Oracle Support.

You can enable tracing for Oracle Clusterware resources by running the crsctl set trace command, using the following syntax:

crsctl set trace module_name "component_name=tracing_level,..."

Run the crsctl set trace command as the root user, and supply the following information:

  • module_name: The name of one of the following modules:

    • mdns: Multicast ___domain name server
    • gpnp: Grid Plug and Play service
    • css: Cluster Synchronization Services
    • crf: Cluster Health Monitor
    • crs: Cluster Ready Services
    • ctss: Cluster Time Synchronization Service
    • evm: Event Manager
    • gipc: Grid Interprocess Communication
  • component_name: The name of the component for one of the modules. See Table E-73 for a list of components.

  • tracing_level: A number from 1 to 5 to indicate the level of detail you want the trace command to return, where 1 is the least amount of tracing output and 5 provides the most detailed tracing output.

For example, you can use the following command to generate a trace file for Cluster Synchronization Services:

crsctl set trace "css=3"