IC5Notice: We have upgraded developerWorks Community to the latest version of IBM Connections. For more information, read our upgrade FAQ.
Topic
  • 1 reply
  • Latest Post - ‏2012-12-04T00:58:38Z by SystemAdmin
SystemAdmin
SystemAdmin
1632 Posts

Pinned topic DSWC 3.1.1 err code -551 SYSPROC.MON_GET_CONTAINER

‏2012-12-03T01:47:04Z |
Hi All

I am getting constant logging of the following type of error in my ~/DSWC/logs/HealthSnapshotLogger.o file.

I have diabled monitoring of ALL databases in DSWC on the "Health Alerts Configuration" tab, and I have not scheduled any "User-Defined Alert Types".

Have anyone come across this error before?

HealthSnapshotLogger (35353) Nov 30, 2012 11:16:37 AM ERROR EXECUTE
com.ibm.db2.jcc.am.SqlSyntaxErrorException: "DB2DSWC" does not have the required authorization or privilege to perform operation "EXECUTE" on object "SYSPROC.MON_GET_CONTAINER".. SQLCODE=-551, SQLSTATE=42501, DRIVER=3.63.81
at com.ibm.db2.jcc.am.fd.a(fd.java:679)
at com.ibm.db2.jcc.am.fd.a(fd.java:60)
at com.ibm.db2.jcc.am.fd.a(fd.java:127)
at com.ibm.db2.jcc.am.yn.c(yn.java:2644)
at com.ibm.db2.jcc.am.yn.d(yn.java:2632)
at com.ibm.db2.jcc.am.yn.a(yn.java:2097)
at com.ibm.db2.jcc.am.zn.a(zn.java:7201)
at com.ibm.db2.jcc.t4.cb.h(cb.java:141)
at com.ibm.db2.jcc.t4.cb.b(cb.java:41)
at com.ibm.db2.jcc.t4.q.a(q.java:32)
at com.ibm.db2.jcc.t4.sb.i(sb.java:135)
at com.ibm.db2.jcc.am.yn.gb(yn.java:2066)
at com.ibm.db2.jcc.am.zn.pc(zn.java:3450)
at com.ibm.db2.jcc.am.zn.vc(zn.java:3582)
at com.ibm.db2.jcc.am.zn.ic(zn.java:3048)
at com.ibm.db2.jcc.am.zn.getParameterMetaData(zn.java:3013)
at org.apache.commons.dbcp.DelegatingPreparedStatement.getParameterMetaData(DelegatingPreparedStatement.java:212)
at com.ibm.datatools.health.extn.DefaultSQLSnapshotService.updateSnapShotSQLParameters(DefaultSQLSnapshotService.java:118)
at com.ibm.datatools.health.extn.DefaultSQLSnapshotService.prepareAndExecuteSelectStmt(DefaultSQLSnapshotService.java:299)
at com.ibm.datatools.health.extn.DefaultSQLSnapshotService.executeSnapShotSQLAndInsert(DefaultSQLSnapshotService.java:242)
at com.ibm.datatools.health.extn.DefaultSQLSnapshotService.collectSnapshot(DefaultSQLSnapshotService.java:526)
at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:64)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:78)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:36)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy129.collectSnapshot(Unknown Source)
at com.ibm.datatools.health.extn.CaptureSnapshotAlertJob.run(CaptureSnapshotAlertJob.java:98)
at com.ibm.datatools.sqwruntime.taskmgr.core.impl.TaskRunner.run(TaskRunner.java:54)
at java.lang.Thread.run(Thread.java:736)

Thanks

Andre
Updated on 2012-12-04T00:58:38Z at 2012-12-04T00:58:38Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    1632 Posts

    Re: DSWC 3.1.1 err code -551 SYSPROC.MON_GET_CONTAINER

    ‏2012-12-04T00:58:38Z  
    OK, for the benefit of all.

    We have DSWC monitoring 117 databases. All database connections in DSWC makes use of a user that belongs to the SYSMON group on each DB2 instance.

    Our intent is to use DSWC purely for minitoring and alerting.

    What confused me, is that even though I've disabled monitoring using the "Monitor Database Health" checkbox for ALL 117 databases in the "Alerts|Health Alerts Configuration" tab, AND I have disabled the "Database Availability", "Connections", "Tablespace Container Utilization", and "Tablespace Container State" alerts on the same page, for all databases, the errors still kept showing.

    This behaviour is weird since I would have expected, with alerting disabled on all that DSWC would stop checking the databases.

    It turns out, that is not the case. DSWC still connect to and records info of these databases. The only way I could get the error to stop was to DELETE all 117 databases.

    I then started from scratch, adding a single database which allowed me to determine, that the ultimate fix is to run the following two commands on each of the databases to give the SYSMON group execute access to two functions:

    db2 "GRANT EXECUTE ON FUNCTION SYSPROC.MON_GET_CONTAINER( VARCHAR(128), INTEGER ) TO GROUP xxxgrp"
    db2 "GRANT EXECUTE ON FUNCTION SYSPROC.MON_GET_CONNECTION( BIGINT, INTEGER ) TO GROUP xxxgrp"

    Where xxxgrp in my case represent the individual groups used for each instance's SYSMON_GROUP value.

    I may have missed these grants in the documentation...

    Andre