Wednesday, February 27, 2008

[CLUSTER VERIFICATION] SRVM_TRACE environmental variable

When you use "srvctl" to start, stop or get status of database, asm or ... blah blah, How do you turn on tracing?

By setting the environmental variable SRVM_TRACE to TRUE.

Example:

$ srvctl status asm -n db02
ASM instance +ASM2 is running on node db02.

$ export SRVM_TRACE=TRUE

$ srvctl status asm -n db02

/oracle/.../crs/jdk/jre/bin/java -classpath /oracle/.../crs/jlib/netcfg.jar:/oracle/.../crs/jdk/jre/lib/rt.jar:/oracle/.../crs/jdk/jre/lib/i18n.jar:/oracle/.../crs/jlib/srvm.jar:/oracle/.../crs/jlib/srvmhas.jar:/oracle/.../crs/jlib/srvmasm.jar:/oracle/.../crs/srvm/jlib/srvctl.jar -DTRACING.ENABLED=true -DTRACING.LEVEL=2 oracle.ops.opsctl.OPSCTLDriver status asm -n db02

[main] [15:16:8:321] [OPSCTLDriver.setInternalDebugLevel:165] tracing is true at level 2 to file null
[main] [15:16:8:362] [OPSCTLDriver.:95] Security manager is set
[main] [15:16:8:382] [CommandLineParser.parse:173] parsing cmdline args
[main] [15:16:8:383] [CommandLineParser.parse2WordCommandOptions:940] parsing 2-word cmdline
[main] [15:16:8:410] [GetActiveNodes.create:213] Going into GetActiveNodes constructor...
[main] [15:16:8:417] [HASContext.getInstance:190] Module init : 16
[main] [15:16:8:418] [HASContext.getInstance:214] Local Module init : 19
[main] [15:16:8:446] [Library.getInstance:95] Created instance of Library.
[main] [15:16:8:447] [Library.load:195] Loading libsrvmhas10.so...
[main] [15:16:8:447] [Library.load:201] oracleHome null
[main] [15:16:8:448] [Library.load:236] Loading library srvmhas10 from path=
/oracle/.../crs/jdk/jre/lib/i386/client:/oracle/.../crs/jdk/jre/lib/i386:/oracle/.../crs/jdk/jre/../lib/i386:/oracle/.../crs/lib32:/oracle/.../crs/srvm/lib32:/oracle/.../crs/lib:/oracle/.../crs/srvm/lib:/oracle/.../db/lib
[main] [15:16:8:486] [Library.load:244] Loaded library srvmhas10 from path=
/oracle/.../crs/jdk/jre/lib/i386/client:/oracle/.../crs/jdk/jre/lib/i386:/oracle/.../crs/jdk/jre/../lib/i386:/oracle/.../crs/lib32:/oracle/.../crs/srvm/lib32:/oracle/.../crs/lib:/oracle/.../crs/srvm/lib:/oracle/.../db/lib
[main] [15:16:8:488] [has.HASContextNative.Native] prsr_trace: no lsf ctx, line=Native: allocHASContext
[main] [15:16:8:488] [has.HASContextNative.Native] allocHASContext: Came in
[main] [15:16:8:488] [has.HASContextNative.Native] allocHASContext: META context [1]
[main] [15:16:8:489] [has.HASContextNative.Native] allocHASContext: LSF context [1]
[main] [15:16:8:490] [has.HASContextNative.Native] prsr_trace: Native: prsr_initCLSS
[main] [15:16:8:508] [has.HASContextNative.Native] allocHASContext: CLSS context [1]
[main] [15:16:8:509] [has.HASContextNative.Native] allocHASContext: retval [1]
[main] [15:16:8:509] [HASContext.getInstance:249] HAS Context Allocated: 1 to oracle.ops.mgmt.has.ClusterUtil@8a0d5d
[main] [15:16:8:509] [ClusterUtil.:55] ClusterUtil Instance created
[main] [15:16:8:510] [ClusterUtil.:58] ClusterUtil m_bSKGXN=true
.
.
.
[main] [15:16:8:637] [HAOperation.checkCommandVerb:211] Checking an existence of CRS command
[main] [15:16:8:637] [LocalCommand.execute:54] LocalCommand.execute: Calling run method
[main] [15:16:8:637] [HAStatusOperation.run:124] Executing the HA operation /oracle/.../crs/bin/crs_statora.db02.ASM2.asm
[main] [15:16:8:643] [HAOperationImpl.runCommand:1254] CRS cmd is: /oracle/.../crs/bin/crs_stat -u ora.db02.ASM2.asm
[main] [15:16:8:645] [RuntimeExec.runCommand:74] Calling Runtime.exec() with the command
[main] [15:16:8:645] [RuntimeExec.runCommand:76] /oracle/.../crs/bin/crs_stat
[main] [15:16:8:645] [RuntimeExec.runCommand:76] -u
[main] [15:16:8:645] [RuntimeExec.runCommand:76] ora.db02.ASM2.asm
[Thread-1] [15:16:8:650] [StreamReader.run:61] In StreamReader.run
[Thread-0] [15:16:8:651] [StreamReader.run:61] In StreamReader.run
[main] [15:16:8:651] [RuntimeExec.runCommand:131] runCommand: Waiting for the process
[Thread-0] [15:16:8:677] [StreamReader.run:65] OUTPUT>NAME=ora.db02.ASM2.asm
[Thread-0] [15:16:8:677] [StreamReader.run:65] OUTPUT>TYPE=application
[Thread-0] [15:16:8:678] [StreamReader.run:65] OUTPUT>TARGET=ONLINE
[Thread-0] [15:16:8:678] [StreamReader.run:65] OUTPUT>STATE=ONLINE on db02
[Thread-0] [15:16:8:678] [StreamReader.run:65] OUTPUT>
[main] [15:16:8:678] [RuntimeExec.runCommand:133] runCommand: process returns 0
[main] [15:16:8:679] [RuntimeExec.runCommand:147] RunTimeExec: output>
[main] [15:16:8:679] [RuntimeExec.runCommand:150] NAME=ora.db02.ASM2.asm
[main] [15:16:8:679] [RuntimeExec.runCommand:150] TYPE=application
[main] [15:16:8:679] [RuntimeExec.runCommand:150] TARGET=ONLINE
[main] [15:16:8:679] [RuntimeExec.runCommand:150] STATE=ONLINE on db02
[main] [15:16:8:679] [RuntimeExec.runCommand:150]
[main] [15:16:8:680] [RuntimeExec.runCommand:155] RunTimeExec: error>
[main] [15:16:8:680] [RuntimeExec.runCommand:175] Returning from RunTimeExec.runCommand
[main] [15:16:8:680] [HAOperationImpl.runCommand:1283] set status OK
[main] [15:16:8:681] [HAStatusOperation.run:127] Returned from executing the HA Operation
[main] [15:16:8:681] [HAStatusOperation.run:132] OUTPUT> NAME=ora.db02.ASM2.asm
[main] [15:16:8:681] [HAStatusOperation.run:132] OUTPUT> TYPE=application
[main] [15:16:8:681] [HAStatusOperation.run:132] OUTPUT> TARGET=ONLINE
[main] [15:16:8:681] [HAStatusOperation.run:132] OUTPUT> STATE=ONLINE on db02
[main] [15:16:8:682] [HAStatusOperation.run:132] OUTPUT>
[main] [15:16:8:682] [HAStatusOperation.run:138] ERROR>
[main] [15:16:8:682] [LocalCommand.execute:56] LocalCommand.execute: Returned from run method
[main] [15:16:8:684] [HAResourceStatus.parseHAStatusOutput:293] got status: resource=ora.db02.ASM2.asmtarget=ONLINE status=ONLINE on db02 host=db02

ASM instance +ASM2 is running on node db02.

-----------------------------------------------------

This Variable help you get Tracing... , when you find the problem and would like to send (the problem information) to Oracle Support.

2 comments:

Anonymous said...

Is there a way to set srvm_trace environment variable other than user`s shell environment file ?

Surachart Opun said...

I am not sure your idea.
This is just debug in srvctl command.
Please explain your idea.