-- 
--   +--------------------------------------------------------+
--   | Copyright 1986-2011 by InterSystems Corporation,       |
--   | Cambridge, Massachusetts, U.S.A.                       |
--   | All rights reserved.                                   |
--   +--------------------------------------------------------+
-- 
-- Intersystems Cache MIB
--
-- 1.3.6.1.4.1.16563 = iso.org.dod.internet.private.enterprises.intersystems
-- 
-- .1 = iscCache | Cache product ID
--
-- .1.1 = cacheObjects | Cache SNMP Data Objects
-- 
-- .1.1.1 = cacheSysTab | Table of Cache instances installed on this system
-- .1.1.1.1 = cacheSysRow | Conceptual row for Cache instance table | INDEX = cacheSysIndex
-- .1.1.1.1.1 = cacheSysIndex | Index for this Cache instance | STRING |
-- .1.1.1.1.2 = cacheSysName | Name of this Cache instance | STRING |
-- .1.1.1.1.3 = cacheSysCfgFile | Name of the current configuration file for this Cache instance | STRING |
-- .1.1.1.1.4 = cacheSysDir | Installation directory for this Cache instance | STRING
-- .1.1.1.1.5 = cacheSysVersion | Version string for this cache instance | STRING |
-- .1.1.1.1.6 = cacheSysCurUser | Current number of users on this Cache instance | INTEGER
-- .1.1.1.1.7 = cacheSysRtnCache | Size of the routine cache in MB for this Cache instance | INTEGER
-- .1.1.1.1.8 = cacheSysDbCache | Size of the database cache in MB for this Cache instance | INTEGER
-- .1.1.1.1.9 = cacheSysErrorMsg | The last 'severe' error message logged in the console log for this Cache instance | STRING
-- .1.1.1.1.10 = cacheSysLicenseUsed | The current number of licenses used on this Cache instance | INTEGER
-- .1.1.1.1.11 = cacheSysLicenseHigh | The high-water mark for licenses used on this Cache instance | INTEGER
-- .1.1.1.1.12 = cacheSysState | A single value which tracks the health of the Cache instance | STRING
-- 
-- .1.1.2 = cachePerfTab | Table of general performance stats
-- .1.1.2.1 = cachePerfRow | Conceptual row for Cache performance table | INDEX = cacheSysIndex 
-- .1.1.2.1.1 = cachePerfLines | Number of commands executed (used to be lines) | COUNTER32
-- .1.1.2.1.2 = cachePerfRtnLoad | Routine loads/saves | COUNTER32
-- .1.1.2.1.3 = cachePerfGloRef | Global references | COUNTER32
-- .1.1.2.1.4 = cachePerfGloSets | Global sets | COUNTER32
-- .1.1.2.1.5 = cachePerfGloKills | Global kills | COUNTER32
-- .1.1.2.1.6 = cachePerfLogReads | Database logical block reads | COUNTER32
-- .1.1.2.1.7 = cachePerfPhyReads | Database physical block reads | COUNTER32
-- .1.1.2.1.8 = cachePerfPhyWrites | Database physical block writes | COUNTER32
-- .1.1.2.1.9 = cachePerfJrnEntry | Database journal entries | COUNTER32
-- .1.1.2.1.10 = cachePerfLockCom | Lock commands issued | COUNTER32
-- .1.1.2.1.11 = cachePerfLockSucc | Successful lock commands | COUNTER32
-- .1.1.2.1.12 = cachePerfLockFail | Failed lock commands | COUNTER32
-- .1.1.2.1.13 = cachePerfGThrottleCur | Number of jobs currently counted 'in global' | COUNTER32
-- .1.1.2.1.14 = cachePerfGThrottleMax | Maximum number of jobs to allow 'in global' | COUNTER32
-- .1.1.2.1.15 = cachePerfGThrottleCnt | Number jobs required to wait for throttle | COUNTER32
-- .1.1.2.1.16 = cachePerfGupLock | Write Demon has suspended global updates (1/0) (ijulock) | INTEGER
-- .1.1.2.1.17 = cachePerfGupCnt | Number of users doing global updates (ijucnt) | COUNTER32
-- .1.1.2.1.18 = cachePerfWdWake | 1=Write demon running, 0=WD waiting for wakeup | INTEGER
-- 
-- .1.1.3 = cacheDBTab | Table of Cache databases
-- .1.1.3.1 = cacheDBRow | Conceptual row for Cache database table | INDEX = cacheSysIndex , cacheDBIndex
-- .1.1.3.1.1 = cacheDBIndex | Unique index for this database | INTEGER
-- .1.1.3.1.2 = cacheDBName | Name of database | STRING
-- .1.1.3.1.3 = cacheDBDir | Directory for database | STRING
-- .1.1.3.1.4 = cacheDBStatus | 1=Mounted 2=NotMounted | INTEGER
-- .1.1.3.1.5 = cacheDBRead | 1=ReadOnly, 0 =ReadWrite | INTEGER 
-- .1.1.3.1.6 = cacheDBSize | Size of database file in MB | INTEGER
-- .1.1.3.1.7 = cacheDBFree | Free space available within database in MB | INTEGER
--        NOTE: The FreeSpace value is taken from the %Monitor.System.Freespace class.
--		This must be "active" and being sampled by the system Application monitor
--		for correct values to be returned (see the Cache Monitoring Guide).
-- .1.1.3.1.8 = cacheDBMirrorName | The name of the database used for a Mirror. | STRING
--
-- .1.1.4 = cacheAppSrvTab | Table of ECP Application Server stats
-- .1.1.4.1 = cacheAppSrvRow | Conceptual row for Cache ECP Application Server table | INDEX = cacheSysIndex
-- .1.1.4.1.1 = cacheAppSrvGloRef | Count of global refs not from cache | COUNTER32
-- .1.1.4.1.2 = cacheAppSrvBytesSent | Count of bytes sent from the ECP Application Server | COUNTER32
-- .1.1.4.1.3 = cacheAppSrvBytesRcv | Count of bytes received by the ECP Application Server | COUNTER32
-- 
-- .1.1.5 = cacheDataSrvTab | Table of ECP Data Server stats
-- .1.1.5.1 = cacheDataSrvRow | Conceptual row for Cache ECP Data Server table | INDEX = cacheSysIndex
-- .1.1.5.1.1 = cacheDataSrvGloRef | Count of global refs returned by ECP Data Server | COUNTER32
-- .1.1.5.1.2 = cacheDataSrvReqs | Count of requests received by ECP Data Server | COUNTER32
-- .1.1.5.1.3 = cacheDataSrvBlkSent | Count of blocks sent by ECP Data Server | COUNTER32
-- .1.1.5.1.4 = cacheDataSrvBytesSent | Count of bytes sent by ECP Data Server | COUNTER32
-- .1.1.5.1.5 = cacheDataSrvBytesRcv | Count of bytes received by ECP Data Server | COUNTER32
--
-- .1.1.6 = cacheResTab | Table of Cache resource seize counts
-- .1.1.6.1 = cacheResRow | Conceptual row for Cache resource seize counts | INDEX = cacheSysIndex, cacheResIndex
-- .1.1.6.1.1 = cacheResIndex | Unique index for this resource/seize_type | INTEGER
-- .1.1.6.1.2 = cacheResName | A name created by concatenating the resource and seize type, e.g. Pid-Nsz | STRING
-- .1.1.6.1.3 = cacheResCount | The count of the number of times this resource/seize has occurred | COUNTER32 
--
-- .1.1.7 = cacheBuffTab | Table of Cache global buffer metrics (indexed by counter of different buffer sizes, 2k, 8k etc)
-- .1.1.7.1 = cacheBuffRow | Conceptual row for Cache global buffer metrics | INDEX = cacheSysIndex, cacheBuffIndex
-- .1.1.7.1.1 = cacheBuffIndex | 1-based counter to different size buffer pools | INTEGER 
-- .1.1.7.1.2 = cacheBuffSize | buffer size for this queue | INTEGER 
-- .1.1.7.1.3 = cacheBuffNum | number of buffers of this size | INTEGER 
-- .1.1.7.1.4 = cacheBuffBatchQ | the offset to the start of the LRU queue | INTEGER 
-- .1.1.7.1.5 = cacheBuffInt | current number of buffers in interactive portion of LRU queue | INTEGER 
-- .1.1.7.1.6 = cacheBuffMaxInt | max number of buffers in interactive portion of LRU queue | INTEGER 
-- .1.1.7.1.7 = cacheBuffMinReQ | threshold for re-queueing a buffer (interactive) | INTEGER 
-- .1.1.7.1.8 = cacheBuffMinReQB | threshold for re-queueing a buffer (batch) | INTEGER 
-- .1.1.7.1.9 = cacheBuffReQCnt | number of buffers requeued in the interactive LRU queue | INTEGER 
-- .1.1.7.1.10 = cacheBuffReQCntB | number of buffers requeued in the batch LRU queue | INTEGER 
-- .1.1.7.1.11 = cacheBuffWrtQSz | current number of interactive buffers queued to be written | INTEGER 
-- .1.1.7.1.12 = cacheBuffOffLRUCnt | number of buffers removed from LRU queue | INTEGER
-- .1.1.7.1.13 = cacheBuffWrtSz | Number of buffers in current write cycle | INTEGER 
-- .1.1.7.1.14 = cacheBuffWrtMax | threshold for waking write demon (interactive) | INTEGER 
-- .1.1.7.1.15 = cacheBuffAvail | current number of avaiable buffers (interactive) | INTEGER 
-- .1.1.7.1.16 = cacheBuffMin | threshold for no updaters to enter global module (interactive) | INTEGER 
-- .1.1.7.1.17 = cacheBuffMinB | threshold for no updaters to enter global module (batch) | INTEGER 
--
-- .1.1.8 = cacheWDTab | Table of Cache Write Demon status metrics (indexed by integer indicating WD (master=1) )
-- .1.1.8.1 = cacheWDRow | Conceptual row for Cache Write Demon status metrics | INDEX = cacheSysIndex, cacheWDIndex
-- .1.1.8.1.1 = cacheWDIndex | unique index for each Write Demon | INTEGER 
-- .1.1.8.1.2 = cacheWDCurBlk | blocks written by current cycle | INTEGER 
-- .1.1.8.1.3 = cacheWDTotBlk | cumulative blocks written | INTEGER 
-- .1.1.8.1.4 = cacheWDCycles | number of active cycles | INTEGER 
-- .1.1.8.1.5 = cacheWDCycleBlk | average blocks written per WD cycle | INTEGER 
-- .1.1.8.1.6 = cacheWDVolumeQ | list of databases served by this WD | STRING
--
-- .1.1.9 = cacheShadowSrcTab | Table of Cache Shadow Journaling Source connections
-- .1.1.9.1 = cacheShadowSrcRow | Conceptual row for Cache Shadow Journaling Source metrics | INDEX = cacheSysIndex, cacheShadowSrcIndex
-- .1.1.9.1.1 = cacheShadowSrcIndex | unique index for each Shadow Source connection | INTEGER 
-- .1.1.9.1.2 = cacheShadowSrcPort | Superserver port number of the Cach source instance | STRING 
-- .1.1.9.1.3 = cacheShadowSrcAddress | IP address of the shadow destination machine | STRING 
-- .1.1.9.1.4 = cacheShadowSrcJournal | Full directory path and file name of journal file currently being copied | STRING 
-- .1.1.9.1.5 = cacheShadowSrcPID | Process ID number of the shadow journal copying process. | STRING 
-- .1.1.9.1.6 = cacheShadowSrcLatency | Estimated time for the shadow to catch up copying the source journal file | STRING
-- .1.1.9.1.7 = cacheShadowSrcRate | Rate in KBs per second that the shadow copies the source journal files. | INTEGER
--
--	NOTE:  	A Cache instance with no Shadow Connections will return a single instance
--		of the cacheShadowSrcTab, with a Port of '0'.
--
-- .1.1.10 = cacheShadowDestTab | Table of Cache Destination Shadow Servers
-- .1.1.10.1 = cacheShadowDestRow | Conceptual row for Cache Destination Shadow Server metrics | INDEX = cacheSysIndex, cacheShadowDestIndex
-- .1.1.10.1.1 = cacheShadowDestIndex | unique index for each Destination Shadow Server | INTEGER 
-- .1.1.10.1.2 = cacheShadowDestName | Name of the shadow | STRING 
-- .1.1.10.1.3 = cacheShadowDestStatus | One of three shadowing states: "stopped", "processing", "suspended". | STRING 
-- .1.1.10.1.4 = cacheShadowDestCheckpoint | Offset location in the shadow copy of the journal where it is safe to resume processing. | STRING 
-- .1.1.10.1.5 = cacheShadowDestErrors | Number of errors reported on the shadow destination. | INTEGER 
-- .1.1.10.1.6 = cacheShadowDestOpenTx | Number of open transactions on the shadow (if any) | INTEGER
-- .1.1.10.1.7 = cacheShadowDestLatency | Estimated time to process current journal records copied from the source | STRING
--
--	NOTE:  	A Cache instance with no Shadow Servers will return a single instance
--		of the cacheShadowDestTab, with a blank Name.
--
-- .1.1.11 = cacheJournalTab | Table with current journaling status and information
-- .1.1.11.1 = cacheJournalRow | Conceptual row for Cache Journaling metrics | INDEX = cacheSysIndex
-- .1.1.11.1.1 = cacheJournalStatus | Journaling status Enabled, Disabled, Suspended, Frozen, Paused | STRING
-- .1.1.11.1.2 = cacheJournalDirectory | Current journaling directory | STRING 
-- .1.1.11.1.3 = cacheJournalSpace | Free space (in MB) in current journaling directory | INTEGER 
-- .1.1.11.1.4 = cacheJournalSecondDir | Secondary journaling directory. | STRING 
-- .1.1.11.1.5 = cacheJournalFile | Name of current journaling file. | STRING 
-- .1.1.11.1.6 = cacheJournalFileMax | Maximum size in MB for current journal file. | INTEGER
-- .1.1.11.1.7 = cacheJournalFileUsed | Space (in MB) used in current journal file. | INTEGER
--
-- .1.1.12 = cacheMirrorTab | Table of current Mirror Members status and information
-- .1.1.12.1 = cacheMirrorRow | Conceptual row for Mirror status and metrics | INDEX = cacheSysIndex, cacheMirrorIndex
-- .1.1.12.1.1 = cacheMirrorIndex | unique index for each Mirror Member | INTEGER 
-- .1.1.12.1.2 = cacheMirrorName | Name of the mirror this system is a member of | STRING 
-- .1.1.12.1.3 = cacheMirrorMember | Mirror member name | STRING 
-- .1.1.12.1.4 = cacheMirrorRole | "Primary", "Backup", or "Async". | STRING 
-- .1.1.12.1.5 = cacheMirrorStatus | "Active" or "Activate". | STRING 
-- .1.1.12.1.6 = cacheMirrorJrnLatency | Mirror journal latency "Caught up", "Catchup", or "N/A". | STRING 
-- .1.1.12.1.7 = cacheMirrorDBLatency | Mirror database latency "Caught up", "Catchup", or "N/A". | STRING
--
--	NOTE:  	A Cache instance that's not part of a Mirror will return a single instance
--		of the cacheMirrorTab, with a blank Member Name.
--
-- .1.1.13 = cacheProcTab | Table of Cache processes, list of top 20 processes by Commands Executed
-- .1.1.13.1 = cacheProcRow | Conceptual row for Cache Process list | INDEX = cacheSysIndex, cacheProcIndex
-- .1.1.13.1.1 = cacheProcIndex | Positional index for Process | INTEGER 
-- .1.1.13.1.2 = cacheProcID | Process PID | STRING 
-- .1.1.13.1.3 = cacheProcDev | Process current device. | STRING 
-- .1.1.13.1.4 = cacheProcNamespace | Process current namespace. | STRING 
-- .1.1.13.1.5 = cacheProcRoutine | Process current routine. | INTEGER 
-- .1.1.13.1.6 = cacheProcCommands | Commands executed for the last collection period. | INTEGER
-- .1.1.13.1.7 = cacheProcGloRefs | Global references for the last collection period. | STRING
-- .1.1.13.1.8 = cacheProcPriority | Process current priority. | INTEGER
-- .1.1.13.1.9 = cacheProcUser | Process user name (or system function). | STRING
-- .1.1.13.1.10 = cacheProcState | Process current state (e.g. RUNW, HANGW, READ, see %SYS.ProcessQuery.State). | STRING
--
--        NOTE: The Process list and data collection is managed by the %Monitor.System.Dashboard2 class.
--		This must be "active" and being sampled by the system Application Monitor
--		for correct values to be returned (see the Cache Monitoring Guide).
--
-- .1.1.14 = cacheProcGTab | Table of Cache processes, list of top 20 processes by Global References
-- .1.1.14.1 = cacheProcGRow | Conceptual row for Cache Process list | INDEX = cacheSysIndex, cacheProcIndex
-- .1.1.14.1.1 = cacheProcGIndex | Positional index for Process | INTEGER 
-- .1.1.14.1.2 = cacheProcGID | Process PID | STRING 
-- .1.1.14.1.3 = cacheProcGDev | Process current device. | STRING 
-- .1.1.14.1.4 = cacheProcGNamesSpace | Process current namespace. | STRING 
-- .1.1.14.1.5 = cacheProcGRoutine | Process current routine. | INTEGER 
-- .1.1.14.1.6 = cacheProcGCommands | Commands executed for the last collection period. | INTEGER
-- .1.1.14.1.7 = cacheProcGGloRefs | Global references for the last collection period. | STRING
-- .1.1.14.1.8 = cacheProcGPriority | Process current priority. | INTEGER
-- .1.1.14.1.9 = cacheProcGUser | Process user name (or system function). | STRING
-- .1.1.14.1.10 = cacheProcGState | Process current state (e.g. RUNW, HANGW, READ, see %SYS.ProcessQuery.State). | STRING
--
--        NOTE: The Process list and data collection is managed by the %Monitor.System.Dashboard2 class.
--		This must be "active" and being sampled by the system Application Monitor
--		for correct values to be returned (see the Cache Monitoring Guide).
--
-- 
-- .1.2 = cacheTrap | Cache SNMP Notification Objects (traps)
--
-- .1.2.1 = cacheStart | Cache instance startup
-- .1.2.2 = cacheStop | Cache instance shutdown
-- .1.2.3 = cacheDBExpand | database expansion succeeded
-- .1.2.4 = cacheDBOutOfSpace | database expansion close to limit
-- .1.2.5 = cacheDBStatusChange | database read/write status change
-- .1.2.6 = cacheDBAccessFail | database access failed, may be either read or write
-- .1.2.7 = cacheWDStop | Write Demon stalled
-- .1.2.8 = cacheWDPanic | Write Demon enter 'panic' mode
-- .1.2.9 = cacheLockTableFull | lock table full (out of memory)
-- .1.2.10 = cacheProcessFail | Cache process accvio
-- .1.2.11 = cacheECPTroubleDSrv | ECP Data Server connection in 'trouble' mode
-- .1.2.12 = cacheECPTroubleASrv | ECP Application Server connection in 'trouble' mode
-- .1.2.13 = cacheAuditLost | System unable to record Audit events
-- .1.2.14 = cacheDaemonFail | Cache daemon process has died - OBSOLETE - now sent as cacheLoggedError
-- .1.2.15 = cacheLoggedError | A 'severe' error has been logged in the console log
-- .1.2.16 = cacheLicenseExceed | A request for a license has exceeded the licenses available or allowed
-- .1.2.17 = cacheDCPNetError | A DCP client has detected a communications outage
-- .1.2.100 = cacheAppAlert | An application alert generated by calling the %Monitor.Alert.External method

-- 
-- .1.3 = cacheTrapInfo | Data objects for notifications only
--
-- .1.3.1 = cacheDBError | Error code for database access error
-- .1.3.2 = cacheApp | Application name which sent cachAppAlert trap
-- .1.3.3 = cacheAppSeverity | Severity code for cachAppAlert trap
-- .1.3.4 = cacheAppText | Text description of problem or event in cachAppAlert trap

ISC-CACHE DEFINITIONS ::= BEGIN

IMPORTS

   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Counter32, Gauge32, Integer32
        FROM SNMPv2-SMI
    DisplayString
        FROM SNMPv2-TC
    enterprises
	FROM RFC1155-SMI;


iscCache MODULE-IDENTITY
     LAST-UPDATED "201210291000Z"
     ORGANIZATION "InterSystems Corp"
     CONTACT-INFO "1 Memorial Drive
                   Cambridge MA 02142
                   Subject: ISC-CACHE.mib"
     DESCRIPTION "The MIB module for the Cache database product"
     
     
     REVISION "201210291000Z"
     DESCRIPTION "Added SysState value"
     REVISION "201111281000Z"
     DESCRIPTION "Added Journal, Mirror, and Process tables"
     REVISION "201003171000Z"
     DESCRIPTION "Update to comments and descriptions"
     REVISION "200909241000Z"
     DESCRIPTION "Change cacheDBWriteFail to cacheDBAccessFail"
     REVISION "200906161000Z"
     DESCRIPTION "Use counters with less overhead"
     REVISION "200807241000Z"
     DESCRIPTION "Shadow Journal data added"
     REVISION "200802011000Z"
     DESCRIPTION "cacheAppAlert notification added"
     REVISION "200511131000Z"
     DESCRIPTION "cacheDaemonFail notification obsolete"
     REVISION "200307301000Z"
     DESCRIPTION "Initial version for Cache 5.1"

     ::= { intersystems 1 }


intersystems OBJECT IDENTIFIER ::= { enterprises 16563 }


cacheObjects OBJECT IDENTIFIER ::= { iscCache 1 }



--
--  Cache data is organized into the following groups
--
--	cacheSys = a table of general Cache system information
--	cachePerf = a table of general performance metrics
--	cacheDB = a table of Cache databases
--	cacheAppSrv = a table of ECP Application Server metrics
--	cacheDataSrv = a table of ECP Data Server metrics
--	cacheRes = a table of resource seize metrics
--	cacheBuff = a table of global buffer metrics
--	cacheWD = a table of Write Demon metrics
--	cacheShadowSrc = a table of Shadow Journaling Source connections
--	cacheShadowDest = a table of Shadow Destination Servers
--	cacheJournal = a table of Journaling status and metrics
--	cacheMirror = a table of Mirror Members status and metrics
--	cacheProc = a table of top 20 Processes by commands executed
--	cacheProcG = a table of top 20 Processes by global references


--
-- Table of Cache instances on a system
--

cacheSysTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheSysRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache database instances installed on a system."
      ::= { cacheObjects 1 }


cacheSysRow    OBJECT-TYPE
      SYNTAX      CacheSysRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for the table of Cache instances"
      INDEX  { cacheSysIndex }
      ::= { cacheSysTab 1 }


CacheSysRow ::=
    SEQUENCE {
    	cacheSysIndex		DisplayString,
	cacheSysName 		DisplayString,
	cacheSysFile     	DisplayString,
	cacheSysDir 		DisplayString,
	cacheSysVersion 	DisplayString,
	cacheSysCurUser 	Counter32,
	cacheSysRtnCache 	Integer32,
	cacheSysDbCache 	Integer32,
	cacheSysErrorMsg	DisplayString,
	cacheSysLicenseUsed	Integer32,
	cacheSysLicenseHigh	Integer32,
	cacheSysState       DisplayString
    }

cacheSysIndex     OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (20))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique string index for this Cache instance, created using the instance name."
    ::= { cacheSysRow  1 }

cacheSysName     OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (20))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The name of the Cache instance"
    ::= { cacheSysRow  2 }

cacheSysFile     OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The name of the Cache configuration file being used"
    ::= { cacheSysRow  3 }

cacheSysDir      OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The installation directory for this Cache instance"
    ::= { cacheSysRow  4 }

cacheSysVersion  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The version string for this Cache instance"
    ::= { cacheSysRow  5 }

cacheSysCurUser  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current number of users on this instance"
    ::= { cacheSysRow  6 }

cacheSysRtnCache  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The size of the routine cache in MB on this Cache instance"
    ::= { cacheSysRow  7 }

cacheSysDbCache  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The size of the database cache in MB on this Cache instance"
    ::= { cacheSysRow  8 }

cacheSysErrorMsg  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The error message associated with the last alert from the console log."
    ::= { cacheSysRow  9 }

cacheSysLicenseUsed  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current number of licenses used on this instance."
    ::= { cacheSysRow  10 }

cacheSysLicenseHigh  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The high-water mark for licenses used on this instance."
    ::= { cacheSysRow  11 }

cacheSysState  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"A single value which tracks the 'health' of the instance. Reflects the $System.Monitor.State() value - 'OK', 'Warning', 'Alert'."
    ::= { cacheSysRow  12 }

--
-- Table of Cache performance metrics on a system
--

cachePerfTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CachePerfRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache performance metrics for a system."
      ::= { cacheObjects 2 }


cachePerfRow    OBJECT-TYPE
      SYNTAX      CachePerfRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Cache performance table"
      INDEX  { cacheSysIndex }
      ::= { cachePerfTab 1 }


CachePerfRow ::=
    SEQUENCE {
	cachePerfLines		Counter32,
	cachePerfRtnLoad	Counter32,
	cachePerfGloRef		Counter32,
	cachePerfGloSets	Counter32,
	cachePerfGloKills	Counter32,
	cachePerfLogReads	Counter32,
	cachePerfPhyReads	Counter32,
	cachePerfPhyWrites	Counter32,
	cachePerfJrnEntry	Counter32,
	cachePerfLockCom	Counter32,
	cachePerfLockSucc	Counter32,
	cachePerfLockFail	Counter32,
	cachePerfGThrottleCur	Counter32,
	cachePerfGThrottleMax	Counter32,
	cachePerfGThrottleCnt	Counter32,
	cachePerfGupLock	Integer32,
	cachePerfGupCnt		Counter32,
	cachePerfWdWake		Integer32
    }

cachePerfLines  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of lines of code executed since system startup. Counter changed to indicate the number of commands."
    ::= { cachePerfRow  1 }

cachePerfRtnLoad  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of routine calls since system startup"
    ::= { cachePerfRow  2 }

cachePerfGloRef  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of global references since system startup"
    ::= { cachePerfRow  3 }

cachePerfGloSets  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number global updates since system startup. Counter changed to include both SETs and KILLs."
    ::= { cachePerfRow  4 }

cachePerfGloKills  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          obsolete
    DESCRIPTION
	"The number of global kills since system startup. Counter is no longer available, always '0'"
    ::= { cachePerfRow  5 }

cachePerfLogReads  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of database logical block reads since system startup"
    ::= { cachePerfRow  6 }

cachePerfPhyReads  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of database physical block reads since system startup"
    ::= { cachePerfRow  7 }

cachePerfPhyWrites  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of database physical block writes since system startup"
    ::= { cachePerfRow  8 }

cachePerfJrnEntry  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of database journal entries since system startup"
    ::= { cachePerfRow  9 }

cachePerfLockCom  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of lock commands issued since system startup"
    ::= { cachePerfRow  10 }

cachePerfLockSucc  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of successful lock commands since system startup"
    ::= { cachePerfRow  11 }

cachePerfLockFail  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of failed lock commands since system startup"
    ::= { cachePerfRow  12 }

cachePerfGThrottleCur  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of jobs currently counted 'in global'"
    ::= { cachePerfRow  13 }

cachePerfGThrottleMax  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The maximum number of jobs to allow 'in global'"
    ::= { cachePerfRow  14 }

cachePerfGThrottleCnt  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of jobs required to wait for the global throttle "
    ::= { cachePerfRow  15 }

cachePerfGupLock  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"An indicator that the Write Demon has suspended global updates (1/0) (ijulock)"
    ::= { cachePerfRow  16 }

cachePerfGupCnt  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of users currently doing global updates (ijucnt)"
    ::= { cachePerfRow  17 }

cachePerfWdWake  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"A status indicator for the write demon, 1=Write demon running, 0=WD waiting for wakeup"
    ::= { cachePerfRow  18 }

--
-- Table of Cache database sets in a Cache instance
--

cacheDBTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheDBRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache database sets for a system."
      ::= { cacheObjects 3 }


cacheDBRow    OBJECT-TYPE
      SYNTAX      CacheDBRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Cache database table"
      INDEX  { cacheSysIndex , cacheDBIndex }
      ::= { cacheDBTab 1 }


CacheDBRow ::=
    SEQUENCE {
	cacheDBIndex		Integer32,
	cacheDBName		DisplayString,
	cacheDBDir		DisplayString,
	cacheDBStatus		Integer32,
	cacheDBRead		Integer32,
	cacheDBSize		Integer32,
	cacheDBFree		Integer32,
	cacheDBMirrorName	DisplayString
    }

cacheDBIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..256)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique integer index for this database"
    ::= { cacheDBRow  1 }

cacheDBName	  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The text name of this database from the Cache instance"
    ::= { cacheDBRow  2 }

cacheDBDir	  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The directory for this database file."
    ::= { cacheDBRow  3 }

cacheDBStatus  OBJECT-TYPE
    SYNTAX     	   Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current mount status of the database, Mounted(1) or NotMounted(2)"
    ::= { cacheDBRow  4 }

cacheDBRead       OBJECT-TYPE
    SYNTAX     	   Integer32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
	"The database is currently mounted ReadOnly(1) or ReadWrite(0)"
    ::= { cacheDBRow  5 }

cacheDBSize	  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current size of the database file, reported in MB"
    ::= { cacheDBRow  6 }

cacheDBFree  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The free space available within database in MB (as reported in the %Monitor.System.Freespace class)."
    ::= { cacheDBRow  7 }

cacheDBMirrorName	  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The name of the database used for a Mirror. Blank if this database is not being Mirrored."
    ::= { cacheDBRow  8 }
    
--
-- Table of Cache ECP Application Server metrics for an instance
--

cacheAppSrvTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheAppSrvRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache ECP Application Server metrics for an instance."
      ::= { cacheObjects 4 }


cacheAppSrvRow    OBJECT-TYPE
      SYNTAX      CacheAppSrvRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Cache ECP Application Server table"
      INDEX  { cacheSysIndex }
      ::= { cacheAppSrvTab 1 }


CacheAppSrvRow ::=
    SEQUENCE {
	cacheAppSrvGloRef		Counter32,
	cacheAppSrvBytesSent		Counter32,
	cacheAppSrvBytesRcv		Counter32
    }

cacheAppSrvGloRef  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The count of global refs not satisfied from cache"
    ::= { cacheAppSrvRow  1 }

cacheAppSrvBytesSent  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The count of bytes sent from the ECP Application Server"
    ::= { cacheAppSrvRow  2 }

cacheAppSrvBytesRcv  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The count of bytes received by the ECP Application Server"
    ::= { cacheAppSrvRow  3 }


--
-- Table of Cache ECP Data Server metrics for an instance
--

cacheDataSrvTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheDataSrvRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache ECP Data Server metrics for an instance."
      ::= { cacheObjects 5 }

cacheDataSrvRow    OBJECT-TYPE
      SYNTAX      CacheDataSrvRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Cache ECP Data Server table"
      INDEX  { cacheSysIndex }
      ::= { cacheDataSrvTab 1 }

CacheDataSrvRow ::=
    SEQUENCE {
	cacheDataSrvGloRef		Counter32,
	cacheDataSrvReqs		Counter32,
	cacheDataSrvBlkSent		Counter32,
	cacheDataSrvBytesSent		Counter32,
	cacheDataSrvBytesRcv		Counter32
    }

cacheDataSrvGloRef  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The count of global refs returned by the ECP Data Server"
    ::= { cacheDataSrvRow  1 }

cacheDataSrvReqs	  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The count of requests received by the ECP Data Server"
    ::= { cacheDataSrvRow  2 }

cacheDataSrvBlkSent  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The count of blocks sent by the ECP Data Server"
    ::= { cacheDataSrvRow  3 }

cacheDataSrvBytesSent OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The count of bytes sent by the ECP Data Server"
    ::= { cacheDataSrvRow  4 }

cacheDataSrvBytesRcv  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The count of bytes received by the ECP Data Server"
    ::= { cacheDataSrvRow  5 }


--
-- Table of Cache resource/seize metrics for an instance
--

cacheResTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheResRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache resource/seize metrics for a system.
	   
	   This table lists the different 'resources' that are used to
	   limit access within the Cache system code. The names displayed
	   indicate a brief resource name concatenated with an indicator
	   of the manner in which the seize occurs.

	   Some common resources are 'Pid' for process related locks, 
	   'Routine' for routine buffers, and 'Global' for global buffers.

	   Some common ways in which the seize counts are sorted include 'Sz'
	   which is a count of all resource seizes, 'Nsz' which indicates
	   a failure to acquire the resource, 'Asz' is a successful spin
	   lock on a multi-processor system, and 'Dsz'which indicates we
	   woke the next process on the wait queue."
      ::= { cacheObjects 6 }


cacheResRow    OBJECT-TYPE
      SYNTAX      CacheResRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Cache resource/seize table"
      INDEX  { cacheSysIndex , cacheResIndex }
      ::= { cacheResTab 1 }


CacheResRow ::=
    SEQUENCE {
	cacheResIndex		Integer32,
	cacheResName		DisplayString,
	cacheResCount		Counter32
    }

cacheResIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..1024)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique integer index for this resource/seize_type combination"
    ::= { cacheResRow  1 }

cacheResName	  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"A name created by concatenating the resource and seize type, e.g. Pid-Nsz"
    ::= { cacheResRow  2 }

cacheResCount	  OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The count of the number of times this resource/seize has occurred"
    ::= { cacheResRow  3 }




--
-- Table of Cache global buffer metrics for an instance
--

cacheBuffTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheBuffRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache global buffer metrics (indexed by counter of different 
           buffer sizes, 2k, 8k etc)"
	   
      ::= { cacheObjects 7 }


cacheBuffRow    OBJECT-TYPE
      SYNTAX      CacheBuffRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Cache global buffer table"
      INDEX  { cacheSysIndex , cacheBuffIndex }
      ::= { cacheBuffTab 1 }


CacheBuffRow ::=
    SEQUENCE {
	cacheBuffIndex		Integer32,
	cacheBuffSize		Integer32,
	cacheBuffNum		Integer32,
	cacheBuffBatchQ		Integer32,
	cacheBuffInt		Integer32,
	cacheBuffMaxInt		Integer32,
	cacheBuffMinReQ		Integer32,
	cacheBuffMinReQB	Integer32,
	cacheBuffReQCnt		Integer32,
	cacheBuffReQCntB	Integer32,
	cacheBuffWrtQSz		Integer32,
	cacheBuffOffLRUCnt	Integer32,
	cacheBuffWrtSz		Integer32,
	cacheBuffWrtMax		Integer32,
	cacheBuffAvail		Integer32,
	cacheBuffMin		Integer32,
	cacheBuffMinB		Integer32
    }

cacheBuffIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..16)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique integer index for different size buffer pools"
    ::= { cacheBuffRow  1 }

cacheBuffSize   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The buffer size for this queue"
    ::= { cacheBuffRow  2 }

cacheBuffNum   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of buffers of this size"
    ::= { cacheBuffRow  3 }

cacheBuffBatchQ   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The offset to the start of the LRU queue for this buffer"
    ::= { cacheBuffRow  4 }

cacheBuffInt   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current number of buffers in the interactive portion of the LRU queue"
    ::= { cacheBuffRow  5 }

cacheBuffMaxInt   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The max number of buffers in the interactive portion of the LRU queue"
    ::= { cacheBuffRow  6 }

cacheBuffMinReQ   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The threshold for re-queueing a buffer (interactive)"
    ::= { cacheBuffRow  7 }

cacheBuffMinReQB   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The threshold for re-queueing a buffer (batch)"
    ::= { cacheBuffRow  8 }

cacheBuffReQCnt   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of buffers requeued in the interactive LRU queue"
    ::= { cacheBuffRow  9 }

cacheBuffReQCntB   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of buffers requeued in the batch LRU queue"
    ::= { cacheBuffRow  10 }

cacheBuffWrtQSz   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current number of interactive buffers queued to be written"
    ::= { cacheBuffRow  11 }

cacheBuffOffLRUCnt  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of buffers removed from the LRU queue"
    ::= { cacheBuffRow  12 }

cacheBuffWrtSz   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of buffers in the current write cycle "
    ::= { cacheBuffRow  13 }

cacheBuffWrtMax   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The threshold for waking the write demon (interactive)"
    ::= { cacheBuffRow  14 }

cacheBuffAvail   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current number of avaiable buffers (interactive)"
    ::= { cacheBuffRow  15 }

cacheBuffMin   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The threshold for no updaters to enter the global module (interactive)"
    ::= { cacheBuffRow  16 }

cacheBuffMinB   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The threshold for no updaters to enter the global module (batch)"
    ::= { cacheBuffRow  17 }



--
-- Table of Cache Write Demon status metrics for an instance
--

cacheWDTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheWDRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache Write Demon status metrics (indexed by integer indicating WD (master=1) )"	   
      ::= { cacheObjects 8 }


cacheWDRow    OBJECT-TYPE
      SYNTAX      CacheWDRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Write Demon metrics table"
      INDEX  { cacheSysIndex , cacheWDIndex }
      ::= { cacheWDTab 1 }


CacheWDRow ::=
    SEQUENCE {
	cacheWDIndex		Integer32,
	cacheWDCurBlk		Integer32,
	cacheWDTotBlk		Integer32,
	cacheWDCycles		Integer32,
	cacheWDCycleBlk		Integer32,
	cacheWDVolumeQ		DisplayString
    }

cacheWDIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..16)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique integer index for this Write Demon"
    ::= { cacheWDRow  1 }

cacheWDCurBlk   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number blocks written by the Write Demon in this current cycle"
    ::= { cacheWDRow  2 }

cacheWDTotBlk   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The cumulative number of blocks written by this Write Demon"
    ::= { cacheWDRow  3 }

cacheWDCycles   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of active cycles completed by this Write Demon"
    ::= { cacheWDRow  4 }

cacheWDCycleBlk   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The average number of blocks written by this Write Demon per cycle"
    ::= { cacheWDRow  5 }

cacheWDVolumeQ   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"A list of databases served by this Write Demon"
    ::= { cacheWDRow  6 }

--
-- Table of Cache Shadow Journaling Source connections for an instance
--

cacheShadowSrcTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheShadowSrcRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache Shadow Journaling Source connections for an instance"	   
      ::= { cacheObjects 9 }


-- .1.1.9.1 = cacheShadowSrcRow | Conceptual row for Cache Shadow Journaling Source metrics | INDEX = cacheSysIndex, cacheShadowSrcIndex
cacheShadowSrcRow    OBJECT-TYPE
      SYNTAX      CacheShadowSrcRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Write Demon metrics table"
      INDEX  { cacheSysIndex , cacheShadowSrcIndex }
      ::= { cacheShadowSrcTab 1 }


CacheShadowSrcRow ::=
    SEQUENCE {
	cacheShadowSrcIndex		Integer32,
	cacheShadowSrcPort		DisplayString,
	cacheShadowSrcAddress		DisplayString,
	cacheShadowSrcJournal		DisplayString,
	cacheShadowSrcPID		DisplayString,
	cacheShadowSrcLatency		DisplayString,
	cacheShadowSrcRate		Integer32
    }

cacheShadowSrcIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..256)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique integer index for for each Shadow Source connection"
    ::= { cacheShadowSrcRow  1 }

cacheShadowSrcPort   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The Superserver port number of the Cache source instance."
    ::= { cacheShadowSrcRow  2 }

cacheShadowSrcAddress   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The IP address of the shadow destination machine."
    ::= { cacheShadowSrcRow  3 }

cacheShadowSrcJournal   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The full directory path and file name of journal file currently being copied."
    ::= { cacheShadowSrcRow  4 }

cacheShadowSrcPID   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The Process ID number of the shadow journal copying process."
    ::= { cacheShadowSrcRow  5 }

cacheShadowSrcLatency   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"Estimated time for the shadow to catch up copying the source journal file."
    ::= { cacheShadowSrcRow  6 }

cacheShadowSrcRate   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"Rate in KBs per second that the shadow is copying the source journal files."
    ::= { cacheShadowSrcRow  7 }


--
-- Table of Cache Destination Shadow Servers for an instance
--

cacheShadowDestTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheShadowDestRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache Destination Shadow Server metrics"	   
      ::= { cacheObjects 10 }

cacheShadowDestRow    OBJECT-TYPE
      SYNTAX      CacheShadowDestRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Destination Shadow Server metrics table"
      INDEX  { cacheSysIndex , cacheShadowDestIndex }
      ::= { cacheShadowDestTab 1 }

CacheShadowDestRow ::=
    SEQUENCE {
	cacheShadowDestIndex		Integer32,
	cacheShadowDestName		DisplayString,
	cacheShadowDestStatus		DisplayString,
	cacheShadowDestCheckpoint	DisplayString,
	cacheShadowDestErrors		Integer32,
	cacheShadowDestOpenTx		Integer32,
	cacheShadowDestLatency		DisplayString
    }

cacheShadowDestIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..256)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique integer index for each Destination Shadow Server."
    ::= { cacheShadowDestRow  1 }

cacheShadowDestName   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The name of the Destination Shadow Server."
    ::= { cacheShadowDestRow  2 }

cacheShadowDestStatus   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"One of three shadowing states: 'stopped', 'processing', 'suspended'."
    ::= { cacheShadowDestRow  3 }

cacheShadowDestCheckpoint   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"Offset location in the shadow copy of the journal where it is safe to resume processing."
    ::= { cacheShadowDestRow  4 }

cacheShadowDestErrors   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of errors reported on the shadow destination."
    ::= { cacheShadowDestRow  5 }

cacheShadowDestOpenTx   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of open transactions on the shadow (if any). "
    ::= { cacheShadowDestRow  6 }

cacheShadowDestLatency   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"Estimated time to process current journal records copied from the source."
    ::= { cacheShadowDestRow  7 }

    
--
-- Table of Cache Journal status and metrics for an instance
--

cacheJournalTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheJournalRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache Journal status and metrics for an instance."
      ::= { cacheObjects 11 }

cacheJournalRow    OBJECT-TYPE
      SYNTAX      CacheJournalRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Cache Journal table"
      INDEX  { cacheSysIndex }
      ::= { cacheJournalTab 1 }

CacheJournalRow ::=
    SEQUENCE {
	cacheJournalStatus		DisplayString,
	cacheJournalDirectory		DisplayString,
	cacheJournalSpace		Integer32,
	cacheJournalSecondDir		DisplayString,
	cacheJournalFile		DisplayString,
	cacheJournalFileMax		Integer32,
	cacheJournalFileUsed		Integer32
    }

cacheJournalStatus  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current status of Journaling for this Cache instance, 'Enabled', 'Disabled', 'Suspended', 'Frozen', 'Paused'."
    ::= { cacheJournalRow  1 }

cacheJournalDirectory	  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The directory currently in use for journaling."
    ::= { cacheJournalRow  2 }

cacheJournalSpace  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The amount of free space (in MB) available in the current journaling directory."
    ::= { cacheJournalRow  3 }

cacheJournalSecondDir OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The directory to be used as the secondary journaling directory."
    ::= { cacheJournalRow  4 }

cacheJournalFile   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The name of the current journaling file"
    ::= { cacheJournalRow  5 }

cacheJournalFileMax   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The maximum size possible (in MB) for current journal file."
    ::= { cacheJournalRow  6 }

cacheJournalFileUsed   OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The amount of space (in MB) used in current journal file."
    ::= { cacheJournalRow  7 }

--
-- Table of Cache Mirroring status and metrics for an instance
--

cacheMirrorTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheMirrorRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The table of Cache Mirror Members status and metrics. This table will return a 
	  single instance with a blank cacheMirrorMember if there is no Mirror."	   
      ::= { cacheObjects 12 }

cacheMirrorRow    OBJECT-TYPE
      SYNTAX      CacheMirrorRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Mirror Members status and metrics table"
      INDEX  { cacheSysIndex , cacheMirrorIndex }
      ::= { cacheMirrorTab 1 }

CacheMirrorRow ::=
    SEQUENCE {
	cacheMirrorIndex		Integer32,
	cacheMirrorName			DisplayString,
	cacheMirrorMember		DisplayString,
	cacheMirrorRole			DisplayString,
	cacheMirrorStatus		DisplayString,
	cacheMirrorJrnLatency		DisplayString,
	cacheMirrorDBLatency		DisplayString
    }

cacheMirrorIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..256)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A unique integer index for each member of the Mirror set."
    ::= { cacheMirrorRow  1 }

cacheMirrorName   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The name of the Mirror. Note that Async Members can be part of more than one Mirror. In this case the table
	will list all members of one Mirror and then all members of the next Mirror(s)."
    ::= { cacheMirrorRow  2 }

cacheMirrorMember   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The name of the Mirror Member."
    ::= { cacheMirrorRow  3 }

cacheMirrorRole   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The role of this Mirror Member 'Primary', 'Backup', or 'Async'."
    ::= { cacheMirrorRow  4 }

cacheMirrorStatus   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current status of this Mirror Member, either 'Active' or 'Activate'."
    ::= { cacheMirrorRow  5 }

cacheMirrorJrnLatency   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The Mirror Member journal latency 'Caught up', 'Catchup', or 'N/A'."
    ::= { cacheMirrorRow  6 }

cacheMirrorDBLatency   OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The Mirror Member database latency 'Caught up', 'Catchup', or 'N/A'. "
    ::= { cacheMirrorRow  7 }

--
-- A list of Cache Processes, the top 20 by Command Executed
--

cacheProcTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheProcRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A table of Cache processes, the list of the top 20 processes by Commands Executed."
      ::= { cacheObjects 13 }


cacheProcRow    OBJECT-TYPE
      SYNTAX      CacheProcRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Cache Process list"
      INDEX  { cacheSysIndex , cacheProcIndex}
      ::= { cacheProcTab 1 }


CacheProcRow ::=
    SEQUENCE {
	cacheProcIndex		Integer32,
	cacheProcID		DisplayString,
	cacheProcDev		DisplayString,
	cacheProcNamespace	DisplayString,
	cacheProcRoutine	DisplayString,
	cacheProcCommands	Integer32,
	cacheProcGloRefs	Integer32,
	cacheProcPriority	Integer32,
	cacheProcUser		DisplayString,
	cacheProcState		DisplayString
    }

cacheProcIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..256)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A positional integer index for each Process."
    ::= { cacheProcRow  1 }

cacheProcID  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The PID for this Process"
    ::= { cacheProcRow  2 }

cacheProcDev  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current device for this Process"
    ::= { cacheProcRow  3 }

cacheProcNamespace  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current namespace for this Process."
    ::= { cacheProcRow  4 }

cacheProcRoutine  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          obsolete
    DESCRIPTION
	"The current routine being executed by this Process."
    ::= { cacheProcRow  5 }

cacheProcCommands  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of commands executed by this Process for the last collection period"
    ::= { cacheProcRow  6 }

cacheProcGloRefs  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of global references by this Process for the last collection period."
    ::= { cacheProcRow  7 }

cacheProcPriority  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current priority of this Process."
    ::= { cacheProcRow  8 }

cacheProcUser  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The user name (or system function) for this Process."
    ::= { cacheProcRow  9 }

cacheProcState  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current state of this Process (e.g. RUNW, HANGW, READ, see %SYS.ProcessQuery.State)."
    ::= { cacheProcRow  10 }
    


--
-- A list of Cache Processes, the top 20 by Global References
--

cacheProcGTab	OBJECT-TYPE
      SYNTAX      SEQUENCE OF CacheProcGRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A table of Cache processes, the list of the top 20 processes by Global References."
      ::= { cacheObjects 14 }


cacheProcGRow    OBJECT-TYPE
      SYNTAX      CacheProcGRow
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "Conceptual row for Cache Process list"
      INDEX  { cacheSysIndex , cacheProcGIndex}
      ::= { cacheProcGTab 1 }


CacheProcGRow ::=
    SEQUENCE {
	cacheProcGIndex		Integer32,
	cacheProcGID		DisplayString,
	cacheProcGDev		DisplayString,
	cacheProcGNamespace	DisplayString,
	cacheProcGRoutine	DisplayString,
	cacheProcGCommands	Integer32,
	cacheProcGGloRefs	Integer32,
	cacheProcGPriority	Integer32,
	cacheProcGUser		DisplayString,
	cacheProcGState		DisplayString
    }

cacheProcGIndex   OBJECT-TYPE
    SYNTAX          Integer32 (1..256)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
	"A positional integer index for each Process."
    ::= { cacheProcGRow  1 }

cacheProcGID  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The PID for this Process"
    ::= { cacheProcGRow  2 }

cacheProcGDev  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current device for this Process"
    ::= { cacheProcGRow  3 }

cacheProcGNamespace  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current namespace for this Process."
    ::= { cacheProcGRow  4 }

cacheProcGRoutine  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          obsolete
    DESCRIPTION
	"The current routine being executed by this Process."
    ::= { cacheProcGRow  5 }

cacheProcGCommands  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of commands executed by this Process for the last collection period"
    ::= { cacheProcGRow  6 }

cacheProcGGloRefs  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The number of global references by this Process for the last collection period."
    ::= { cacheProcGRow  7 }

cacheProcGPriority  OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current priority of this Process."
    ::= { cacheProcGRow  8 }

cacheProcGUser  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The user name (or system function) for this Process."
    ::= { cacheProcGRow  9 }

cacheProcGState  OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
	"The current state of this Process (e.g. RUNW, HANGW, READ, see %SYS.ProcessQuery.State)."
    ::= { cacheProcGRow  10 }
    
----------------------------------------------------------------

cacheTraps OBJECT IDENTIFIER ::= { iscCache 2 }

cacheStart NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheStart trap indicates that the Cache instance
         has been started."
    ::= { cacheTraps 1 }

cacheStop NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheStop trap indicates that the Cache instance
         is in the process of shutting down."
    ::= { cacheTraps 2 }

cacheDBExpand NOTIFICATION-TYPE
    OBJECTS     { cacheSysName, cacheDBName }
    STATUS      current
    DESCRIPTION
	"A cacheDBExpand trap indicates the successful expansion of a
         Cache database."
    ::= { cacheTraps 3 }

cacheDBOutOfSpace NOTIFICATION-TYPE
    OBJECTS     { cacheSysName, cacheDBName }
    STATUS      current
    DESCRIPTION
	"A cacheDBOutOfSpace trap indicates that there is a potential
	 problem in the future expansion of a Cache database. The database
	 is approaching its maximum size or the disk is nearly full."
    ::= { cacheTraps 4 }

cacheDBStatusChange NOTIFICATION-TYPE
    OBJECTS     { cacheSysName, cacheDBName, cacheDBRead }
    STATUS      current
    DESCRIPTION
	"A cacheDBStatusChange trap indicates that the read/write 
         status of a Cache database has been changed."
    ::= { cacheTraps 5 }

cacheDBAccessFail NOTIFICATION-TYPE
    OBJECTS     { cacheSysName, cacheDBName, cacheDBError }
    STATUS      current
    DESCRIPTION
	"A cacheDBAccessFail trap indicates that an error occurred trying
	 to access a Cache database, this my be either read or write
	 access. It includes the Cache error code for the failed access,
	 either DATABASE or DISKHARD."
    ::= { cacheTraps 6 }

cacheWDStop NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheWriteDemonStop trap indicates that the Write Demon
         of a Cache instance has stalled."
    ::= { cacheTraps 7 }

cacheWDPanic NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheWDPanic trap indicates that the Write Demon for a Cache
         instance has entered 'panic' mode. That is the Write Demon
         is out of buffers and must write database blocks directly to disk
         without first commiting them to the Write Image Journal file."
    ::= { cacheTraps 8 }

cacheLockTableFull NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheLockTableFull trap indicates that the lock table for
         a Cache instance is full, causing subsequent Locks to fail."
    ::= { cacheTraps 9 }

cacheProcessFail NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheProcessFail trap indicates that a process has abnormally
         exited Cache due to an access violation. Check the console log
         of the instance for further details."
    ::= { cacheTraps 10 }

cacheECPTroubleDSrv NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheECPTroubleDSrv trap indicates that a connection to this 
	 ECP Data Server for a Cache database has encountered a serious 
	 communication problem. Check the console log of the instance
	 for further details"
    ::= { cacheTraps 11 }

cacheECPTroubleASrv NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheECPTroubleASrv trap indicates that a connection from this 
	 ECP Application Server to a remote Cache database has encountered a serious 
	 communication problem. Check the console log of the instance
	 for further details"
    ::= { cacheTraps 12 }

cacheAuditLost NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheAuditLost trap indicates that system has failed to record
	 an Audit event. The most likely cause is a problem with space for
	 the Audit database, and requires operator asssitance."
    ::= { cacheTraps 13 }

cacheDaemonFail NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      obsolete
    DESCRIPTION
	"A cacheDaemonFail trap indicates that one of the major Cache
	 system processes (or 'daemons') has encountered an unhandled
	 error and the process has died. 
	 OBSOLETE - now sent as cacheLoggedError."
    ::= { cacheTraps 14 }

cacheLoggedError NOTIFICATION-TYPE
    OBJECTS     { cacheSysName, cacheSysErrorMsg }
    STATUS      current
    DESCRIPTION
	"A cacheLoggedError trap indicates that a 'severe' error has been
	 logged in the Cache console log. The trap will include the error
	 message as defined in cacheSysErrorMsg."
    ::= { cacheTraps 15 }

cacheLicenseExceed NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheLicenseExceed trap indicates that a request for a license 
	 has exceeded the number licenses currently available or allowed."
    ::= { cacheTraps 16 }

cacheDCPNetError NOTIFICATION-TYPE
    OBJECTS     { cacheSysName }
    STATUS      current
    DESCRIPTION
	"A cacheDCPNetError trap indicates that a DCP client has detected a 
	 communications outage, and indicated a <NETWORK> error for all
	 pending transmissions."
    ::= { cacheTraps 17 }

cacheAppAlert NOTIFICATION-TYPE
    OBJECTS     { cacheSysName, cacheApp, cacheAppSeverity, cacheAppText }
    STATUS      current
    DESCRIPTION
	"A generic trap that can be used by Cache applications to generate alerts
	 via SNMP. See the %Monitor.Alert.External class method for details about
	 how this can be used. It includes the name of the application, a severity
	 code, and a text description of the event."
    ::= { cacheTraps 100 }


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

cacheTrapInfo OBJECT IDENTIFIER ::= { iscCache 3 }

--
-- Cache auxiliary information only sent in traps
--

cacheDBError OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
	"The Cache specific error code for a failed database access.
	 Possible values are:  <DATABASE> or <DISKHARD>"
    ::= { cacheTrapInfo  1 }

cacheApp OBJECT-TYPE
    SYNTAX          DisplayString(SIZE (20))
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
	"A brief string which identifies the application which
	 has generated, or source of, a cachAppAlert trap."
    ::= { cacheTrapInfo  2 }
    
cacheAppSeverity OBJECT-TYPE
    SYNTAX          Integer32 (0..3)
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
	"A code indicating the severity of the problem for a cachAppAlert trap, 
	 where 0=info, 1=warning, 2=severe, 3=fatal."
    ::= { cacheTrapInfo  3 }
    
cacheAppText OBJECT-TYPE
    SYNTAX          DisplayString(SIZE (1024))
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
	"The text description of the problem, error or event which caused
	 the cachAppAlert trap to be broadcast."
    ::= { cacheTrapInfo  4 }
    



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

END
