Tables - Manual
Tables - Manual
1 System Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1 Locations of System Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
System Tables in master. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
System Tables in sybsecurity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
System Table in sybsystemdb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
System Tables in All Databases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
The sybdiagdb Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
The syblicenseslog Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Using System Tables in the Cluster Edition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
timestamp Columns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Changed Identity Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Controlling Fake-Table Materialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Rules for Using System Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Permissions on System Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
Locking Schemes Used for System Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Reserved Columns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Updating System Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Triggers on System Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 ch_events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5 sysdams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6 syblicenseslog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.7 sysalternates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.8 sysaltusages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.9 sysattributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.10 sysauditoptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.11 sysaudits_01 – sysaudits_08. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.12 syscacheinfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.13 syscachepoolinfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.14 syscharsets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.15 syscolumns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.16 syscomments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
1.17 sysconfigures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.18 sysconstraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.19 syscoordinations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.20 syscurconfigs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.21 sysdatabases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
System tables are supplied for use with SAP Adaptive Server Enterprise. Most SAP ASE system tables are row-
locked tables. Those that are not, are noted in the individual system table descriptions.
Some system tables are located only in the master, sybsecurity, or sybsystemdb databases, while others
may be located in all databases.
Most tables in the master database are system tables. Some of these tables also occur in user databases.
They are automatically created when the create database command is issued.
The syscoordinations system table, which consists of one row for each remote participant of a distributed
transaction, occurs only in sybsystemdb.
● sysalternates – one row for each SAP ASE user mapped to a database user.
● sysattributes – one row for each object attribute definition.
● syscolumns – one row for each column in a table or view, and for each parameter in a procedure.
● syscomments – one or more rows for each view, rule, default, trigger, and procedure, giving SQL definition
statement.
● sysconstraints – one row for each referential and check constraint associated with a table or column.
● sysdepends – one row for each procedure, view, or table that is referenced by a procedure, view, or
trigger.
● sysencryptkeys – one row for each key created in a database, including the default key.
● sysgams – allocation bitmaps for an entire database.
● sysindexes – one row for each clustered or nonclustered index, one row for each table with no indexes,
and an additional row for each table containing text or image data.
● sysjars – one row for each Java archive (JAR) file that is retained in the database.
● syskeys – one row for each primary, foreign, or common key; set by user (not maintained by the SAP ASE
server).
SAP Product Support may create the sybdiagdb database on your system for debugging purposes. This
database holds diagnostic configuration data for use by Product Support representatives.
The syblicenseslog table is described in syblicenseslog. It is not technically a system table, but you may
need to consult it for license information related to shutting down the SAP ASE server.
Related Information
There are some differences in system tables if you are using a Cluster Edition of SAP ASE.
In the SAP ASE server, if a table includes a timestamp column, its value is updated when a row is changed.
Client applications can use this functionality to detect changes to rows using an access method called
“optimistic locking.”
The values in the timestamp column are unique in a database. However, in the Cluster Edition, timestamp
column values are not guaranteed to be in increasing order in a database across tables, but they are
guaranteed to be in increasing order for a particular table.
Identity columns in the Cluster Edition behave differently from those in non-clustered editions of SAP ASE.
Although the Cluster Edition guarantees that identity values are unique, for performance reasons the values
may not monotonically increase.
In a non-clustered SAP ASE server, a set of identity values are burned into memory to reduce disk I/Os as
inserts access the next value from memory. In the Cluster Edition, the same size set is burned into memory,
but the set is split among the cluster instances. In a two-instance cluster with an identity set size of 250000,
the first instance inserts values {1,2,3, and so on}, and the second instance inserts values
{125000,125001,125002, and so on}.
When you restart an instance after a shutdown or a crash, a new block of identity values may be allocated for
that instance when it rejoins the cluster. As a result, you may see a jump in the identity value for the instance.
The next-identity function reports the next identity value for a table from the instance in which next-
identity is executed. For example, next-identity returns 4 for instance 1 and 125003 for instance 2.
The behavior of the identity-burn-max remains the same as for a non-clustered SAP ASE server because
the burn size and burn behavior is unchanged in the Cluster Edition.
Certain stored procedures, such as sp_who and sp_lock, read from fake tables such as sysprocesses and
syslocks. Because their rows are not stored on disk, fake tables present an exception to the shared-data
nature of a shared-disk cluster, and special features apply.
You can control whether a fake-table query returns rows from the local instance or all instances in the cluster
by using the set system_view command. set system_view is a session-level command. In addition, set
system_view also controls monitoring table materialization.
● To specify that fake-table queries materialize rows for all instances, use the cluster option. For example:
● To specify that fake-table queries materialize rows for the local instance, use the instance option. For
example:
To retrieve the current system_view setting, select the <@@system_view> global variable.
The SAP ASE server supports cluster-wide materialization for these fake tables:
● sysprocesses
● syslocks
● sysengines
● syslisteners
● sysmonitors
● syssecmechs
● syscurconfigs
Note
sysinstances is always set for cluster-wide materialization, regardless of the system_view setting.
This section describes rules, restrictions, and usage information for system tables.
Note
By default, a column is defined as NOT NULL. Nullable columns are described using the “null” keyword, and
are listed in the column descriptions for the tables in this book.
Permissions for use of the system tables can be controlled by the Database Owner, just like permissions on any
other tables.
By default, when SAP ASE is installed, the installmodel script grants select access to “public” (all users)
for most system tables and for most fields in the tables. Instead, the default permissions on the system tables
are assigned when the SAP ASE server builds a new database. However, no access is granted to some system
tables, such as syssrvroles, and no access is granted to certain fields in other system tables. For example, all
users, by default, can select all columns of sysobjects except audflags.
sp_helprotect <system_table_name>
use master
go
sp_helprotect syssrvroles
go
In the allpages locking scheme in SAP ASE, locks are acquired on data and index pages.
See the Performance and Tuning Guide: Locking for more information on locking schemes.
All system tables use datarow locking except for the following, which use allpages locking:
● sysusermessages
● sysslices
● sysmessages
In addition, the following system tables are “fake”—or non-row-oriented—catalogs that give the appearance of
using allpages locking:
● syslogs
● sysgams
● sysprocesses
● syslocks
● syscurconfigs
● syssecmechs
● sysmonitors
● sysengines
● systestlog
● syslisteners
● syslogshold
The word “reserved” in the column description means that the column is not currently used by the SAP ASE
server.
Direct updates on system tables are not allowed – even for the Database Owner. Instead, SAP ASE includes
system procedures that you should use to make any normally needed updates and additions to system tables.
You can allow direct updates to the system tables if it you must modify them in a way that cannot be
accomplished with a system procedure. To allow direct updates, a system security officer must use
sp_configure to reset the configuration parameter called allow updates to system tables. For more
information, see the Security Administration Guide.
You cannot create triggers on system tables. If you try to create a trigger on a system table, the SAP ASE server
returns an error message and cancels the trigger.
1.4 ch_events
Contains one row for each configuration change event. ch_events is located in the sybmgmtdb database.
ch_events is a view based on the extrainfo columns. You must have the mon_role to view ch_events.
Columns
target varchar(30) null Name of the objects to which the change applies.
timestamp datetime not null Date and time the event takes place. For changes to the configuration file
and abrupt shutdowns, timestamp indicates the time the event was de
tected, not when the event took place.
username varchar(30) null Name of the user who made the change. Set to null for:
● Startup
● Configuration file change
● Abrupt shutdown
sysdams stores the dump allocation map (DAM) for the database. The DAM stores the list of allocation units
that have been modified since the last full database dump. It is a bitmap with one bit per allocation unit in the
database.
A value of:
● 0 – indicates that no page in the allocation unit has changed since the last full database dump.
● 1 – indicates that at least one page in the allocation unit has changed since the last database dump.
sysdams is automatically increased in size by an alter database operation. You cannot select from or view
sysdams.
1.6 syblicenseslog
Applies to master database only. syblicenseslog contains one row for each update of the maximum
number of licenses used in the SAP ASE server per 24-hour period. syblicenseslog is updated every 24
hours. If the SAP ASE server is shut down at any time, License Use Manager logs the number of licenses
currently being used in syblicenseslog before the shutdown is complete. The 24-hour period restarts when
you start the SAP ASE server.
Note
syblicenseslog is not a system table. Its type is “U” and its object ID is greater than 255.
Columns
status smallint Status of the maximum number of licenses used; one of the following:
maxlicens int Maximum number of licenses used during the 24-hour period
es
Applies to all databases. sysalternates contains one row for each SAP ASE user that is mapped or aliased to
a user of the current database. When a user tries to access a database, the SAP ASE server looks for a valid
uid entry in sysusers. If none is found, it looks in sysalternates.suid. If the user’s suid is found there, he
or she is treated as the database user whose suid is listed in sysalternates.altsuid.
Columns
Indexes
1.8 sysaltusages
Applies to the scratch database. The sysaltusages system table maps page numbers in an archive database
to the actual page within either the database dump and its stripes, or the modified pages section.
Unlike the sysusages table in a traditional database, however, the sysaltusages table does not map every
logical page in the database. sysaltusages maps pages that have been:
location int The location of the archive database segment where the physically contiguous block of pa
ges resides.
In the location column, a value of 5 and 6 means the location is in the database dump,
transaction log dump, or their stripes, and a value of 7 or 8 means that the location is in the
modified pages section. A value of 4 is used to fill the gaps for pages that are not physically
available.
lstart unsigned The logical page number of the start of the block of physically contiguous pages.
int
size unsigned The number of logical pages in the block of physically contiguous pages.
int
vstart int The offset of the start of the contiguous block of pages on the device given by vdevno.
vdevno int The device number on which the contiguous block of pages resides.
segmap int A map of the segments to which this block of pages is allocated.
Note
Because sysaltusages is a row-locked catalog, you may need to periodically use reorg to reclaim
logically deleted space.
The scratch database stores the new sysaltusages table. The scratch database is used to provide flexibility
as to where the sysaltusages table is located.
The scratch database can be any database (with some exceptions like master and temporary databases).
You should dedicate a database that is used only as a scratch database, because:
● The size of sysaltusages may vary depending on the number of archive databases it supports. You
cannot decrease the size of a database, but if it is too large, you can drop it and re-create a smaller
database when required.
● It allows you to turn on the "trunc log on checkpoint" option so that the database log be
automatically truncated.
Apart from hosting the sysaltusages table, this database is like any other. You can use threshold procedures
and other space management mechanisms to manage space within the database.
sysaltusages includes a unique clustered index named csysaltusages on dbid, location, and lstart.
1.9 sysattributes
Applies to all databases. System attributes define properties of objects such as databases, tables, indexes,
users, logins, and procedures. sysattributes contains one row for each of an object’s attribute definitions
(configured by various system procedures). master..sysattributes defines the complete set of valid
attribute values and classes for the SAP ASE server as a whole. It also stores attribute definitions for server-
wide objects, such as databases and logins.
Use only system procedures to access sysattributes. The permissions required for modifying
sysattributes depend on the system procedure you use.
Columns
class smallint The attribute class ID. This describes the category of the attribute. In
master..sysattributes, the special class 0 identifies all valid classes of attrib
utes for the SAP ASE server.
attribute smallint The attribute ID, this column specifies a default decrypt on an encrypted column with a
value of 1 (DECRYPT-DEFAULT_ID) for objects with a type of EC and a class of 25.
object_type char(2) A one- or two-letter character ID that defines the type of object to associate with the
attribute.
object_cinfo varchar(2
55) null
object_cinfo varchar(2 A string identifier for the object (forA string identifier for the object (for example, the
2 55) null name of an application) in a SDC environment. This field is not used by all attributes.
example, the name of an application). This field is not used by all attributes.
object int null The object identifier. This may be an object ID, user ID, decrypt default ID, or database
ID, depending on the type of object. If the object is a part of a table (for example, an
index), this column contains the object ID of the associated table.
object_info1 int null Defines additional information required to identify the object. This field is not used by
, all attributes. The contents of this field depend on the attribute that is defined.
object_info2 ● object_info_1 – includes the table ID for a table whose encrypted column de
, fines the decrypt default.
object_info3
● object_info2 – specifies the <colid> of the encrypted column that includes
the decrypt default.
int_value int null An integer value for the attribute (for example, the display level of a user).
char_value varchar(7 A character value for the attribute (for example, a cache name).
68) null
comments varchar(2 A string identifier for the object (forComments or additional information about the at
55) null tribute definition.
object_datet null datetime value for the attribute. Its use depends on the module using the attribute,
ime but it typically refers to the date and time the attribute was created.
● D – Database
● I – Index
● L – Login
● LR – Login Profile
● P – Proc
● T – Table
● U – User
● AP – Application
● DC – Dump Condition
● EL – External Login (OMNI)
● OD – Object Definition (OMNI)
● TC – Transaction Coordination (ASTC)
● TG – Temporary Database Group (multi tempdb)
● TP – Text Page (OMNI)
● QP – Query Plans (abstract plans)
● UR – User Role
● GR – Group Role
● LG – Login (for MTDB binding)
● EG – Engine Group
These values provide additional information for sysattributes, and are not for use as standalone values. For
this reason, use these values only in conjunction with the class ID.
Indexes
1.10 sysauditoptions
Applies to sybsecurity database. sysauditoptions contains one row for each server-wide audit option and
indicates the current setting for that option.
Other types of auditing option settings are stored in other tables. For example, database-specific option
settings are stored in sysdatabases, and object-specific option settings are stored in sysobjects. The
default value for each option is 0, or “off.” Only system security officers can access sysauditoptions.
Columns
● 0 = off
● 1 = pass
● 2 = fail
● 3 = on
sval varchar(30) String equivalent of the current value: for example, “on”, “off”, “nonfatal”.
Applies to sybsecurity database. These system tables contain the audit trail. Only one table at a time is active.
The active table is determined by the value of the current audit table configuration parameter. An
installation can have as many as eight audit tables. For example, if your installation has three audit tables, the
tables are named sysaudits_01, sysaudits_02, and sysaudits_03. An audit table contains one row for
each audit record.
Columns
eventmod smallint Further information about the event. Possible values are:
spid smallint Server process ID of the process that caused the audit record to be written.
sequence smallint Sequence number of the record within a single event; some events require more than one
audit record.
suid smallint Server login ID of the user who performed the audited event.
dbid int null Database ID in which the audited event occurred or the object/stored procedure/trigger
resides, depending on the type of event.
xactid binary(6) ID of the transaction containing the audited event. For a multidatabase transaction, this is
null the transaction ID from the database where the transaction originated.
extrainf varchar(255) Additional information about the audited event. The extrainfo column contains a se
o null quence of items separated by semicolons:
● Roles – lists the roles that are active. The roles are separated by blanks.
● For commands supported by full text auditing, full text of an audited command. For
other commands, the name of the keyword or command option that was used for
the event. Multiple keywords or options are separated by commas.
● Previous value – the value prior to the update if the event resulted in the update of a
value.
● Current value – the new value if the event resulted in the update of a value.
● Other information – additional security-relevant information that is recorded for the
event. For example, parameter names and values can be recorded here.
● Proxy information – the original login name, if the event occurred while a set
proxy was in effect.
● Principal information – the principal name from the underlying security mechanism,
if the user’s login is the secure default login, and the user logged in to the SAP ASE
server using unified login. The value of this field is NULL, if the secure default login is
not being used.
nodeid tinyint null Reserved for future use (not available for cluster environments)
An example of an extrainfo column for the security-relevant event of changing an auditing configuration
parameter might be:
1.12 syscacheinfo
syscacheinfo is a view of the master database that provides information about the configuration of data
caches and pools.
Columns
config_size float The currently configured size of the cache, in megabytes. May be different from the
actual size of the cache, reported in the run_size column.
run_size float The current amount of memory, in megabytes, allocated to the cache. May be dif
ferent from the configured size reported by the config_size column.
config_replace varchar(1 Currently configured buffer replacement strategy. None, or one of:
ment 1) ● Strict LRU
● Relaxed LRU
run_replacemen varchar(1 Current buffer replacement strategy for the cache. None, or one of:
t 1) ● Strict LRU
● Relaxed LRU
cacheid int ID of the data cache. A value of -1 for caches of type Row Storage.
scope varchar(6 Indicates whether the data cache is local or global for Cluster Edition. The value is
) always Global for nonclustered servers.
1.13 syscachepoolinfo
Provides a row for each data cache pool that includes configuration information for the data cache. This view is
a join between the syscacheinfo and syspoolinfo views.
Columns
● Active
● Pend/Act
● Act/Del
cache_config_size float The currently configured size of the cache, in megabytes. May be different
from the actual size of the cache, reported in the run_size column.
cache_run_size float The current amount of memory allocated to the cache, in megabytes. May
be different from the configured size reported by the config_size col
umn.
cache_config_replac varchar(11 Currently configured buffer replacement strategy. None, or one of:
ement ) ● Strict LRU
● Relaxed LRU
cache_run_replaceme varchar(11 Current buffer replacement strategy for the cache. None, or one of:
nt ) ● Strict LRU
● Relaxed LRU
pool_io_size varchar(3) The size of the buffers, in kilobytes, used to perform I/O for this pool.
pool_config_size float Configured amount of memory, in megabytes, allocated to the pool. May
be different from the amount reported in the run_size column.
pool_run_size float The current amount of memory, in megabytes, allocated to the pool.
pool_apf_percent int The percentage of buffers in the pool that can be used to hold buffers that
have been read into cache by asynchronous prefetch.
pool_wash_size varchar(10 The size of the wash area, in megabytes, in the pool.
)
scope varchar(6) Indicates whether the data cache is local or global for Cluster Edition. The
value is always Global for nonclustered servers.
1.14 syscharsets
Applies to master database only. syscharsets contains one row for each character set and sort order defined
for use by the SAP ASE server. One of the sort orders is marked in master..sysconfigures as the default
sort order, which is the only one actually in use.
Columns
type smallint The type of entity this row represents. Numbers from 1001 to 1999 represent char
acter sets. Numbers from 2000 to 2999 represent sort orders.
id tinyint The ID for a character set or sort order. A sort order is defined by the combination of
the sort order ID and the character set ID (csid). The character set is defined by
id, which must be unique. SAP reserves ID numbers 0 – 200.
csid tinyint If the row represents a character set, this field is unused. If the row represents a sort
order, this is the ID of the character set that sort order is built on. A character set
row with this ID must exist in this table.
name varchar(30) A unique name for the character set or sort order. Can use only the 7-bit ASCII let
ters A – Z or a – z, digits 0 – 9, and underscores (_), and must begin with a letter.
descriptio varchar(255) An optional description of the features of the character set or sort order.
n
definition image The internal definition of the character set or sort order. The structure of the data in
this field depends on the type.
Indexes
1.15 syscolumns
Applies to all databases. syscolumns contains one row for every column in every table and view, and a row for
each parameter in a procedure.
Contains one row for each computed column and function-based index key associated with a table.
Columns
id int ID of table to which this column belongs, or of procedure with which this parame
ter is associated.
number smallint Sub-procedure number when the procedure is grouped (0 for nonprocedure en
tries).
status tinyint ● Bits 0–2 (values 1, 2, and 4) – indicate bit positioning if the column uses the
bit datatype. If the column uses the text/image datatype, bits 0 and 1
indicate replication status as follows:
○ 01 = always replicate
○ 10 = replicate only if changed
○ 00 = never replicate
● Bit 3 (value 8) – indicates whether NULL values are legal in this column.
● Bit 4 (value 16) – indicates whether more than one check constraint exists
for the column.
● Bits 5 and 6 – are used internally.
● Bit 7 (value 128) – indicates an identity column.
length int Physical length of data; copied from systypes or supplied by user.
offset smallint Offset into the row where this column appears; if negative, this is a variable-
length column.
cdefault int ID of the procedure that generates default value for this column.
domain int Constraint ID of the first rule or check constraint for this column.
prec tinyint null Number of significant digits, if the column uses the numeric datatype.
scale tinyint null Number of digits to the right of the decimal point, if the column uses the
numeric datatype.
remote_typ int null Maps local names to remote names. Required by the access methods of Compo
e nent Integration Services to allow the software to pass native column datatype
information in parameters to servers of class access_server.
remote_nam varchar(255) Maps local names to remote names. Required by the access methods of Compo
e null nent Integration Services to construct a query using the proper column names
for a remote table.
xstatus int null The status of a column with extended datatypes. The values are:
● 0 = in row
● 1 = off row
xdbid int null The database ID of the class. For system classes, the value is -1. Otherwise, the
value is the current database ID.
accessrule int null The object ID of the access rule in sysprocedures. See “Row-level access
control“ in Chapter 11, “Managing User Permissions” of the Security Administra
tion Guide for more information.
status2 int null Indicates the parameter mode of a SQLJ stored procedure, and the return type
of a SQLJ function:
The status2 field from syscolumns uses this encoding to indicate a col
umn’s encryption properties:
status3 smallint 0x0001, value 1 – Indicates a hidden computed column for a function-based in
dex key.
lobcomp_lv tinyint Compression level of the columns defined for large objects.
l
encrkeydb varchar(30) Name of the database where the encryption key was created; NULL if it is in the
null same database as the encrypted column.
encrdate datetime null Creation date of encryption key; copied from sysobjects.crdate.
inrowlen smallint Stores the user-specified, or derived in-row length for LOB columns created as
in-row.
1.16 syscomments
Applies to all databases. syscomments contains entries for each view, rule, default, trigger, table constraint,
partition, procedure, computed column, function-based index key, and other forms of compiled objects. The
text column contains the original definition statements. If the text column is longer than 255 bytes, the
entries span rows. Each object can occupy as many as 65,025 rows.
It also stores the text of a computed column, function-based index, or partition definition—for example,
“values <= <value_list>” for a range partition.
The create service command stores text in syscomments, as it uses the create procedure
infrastructure.
Columns
number smallint Sub-procedure number when the procedure is grouped (0 for nonprocedure entries).
colid smallint The low portion of a column counter for this procedure’s comments. Can vary from 0 to
32767. If a procedure has more text than fits in that many rows, this counter works together
with colid2.
colid2 smallint The high portion of a column counter for this procedure’s comments. Can vary from 0 to
32767. Is only greater than 0 for procedures containing more than 32,768 rows of procedure
text.
version smallint The version of encryption that encodes the algorithm used to encrypt the hidden text for
null this row. One of:
encrkeyi int null The encryption key ID from the key object in sysencryptkeys in the current database
d that the SAP ASE server used to encrypt the hidden text of this object when version has
a value of 2. Otherwise, the SAP ASE server uses a value of null for encrkeyid.
Note
Do not delete the definition statements from the text column of syscomments. These statements are
required for the SAP ASE upgrade process. To encrypt a definition statement, execute the system
procedure sp_hidetext. To see if a statement created in version 11.5 or later was deleted, execute
sp_checksource. If the statement was deleted, you must either re-create the object that created the
statement or reinstall the application that created the object, which re-creates the statement.
You can protect the text of a database object against unauthorized access by restricting select permission on
the text column of the syscomments table to the owner of the object and the system administrator. This
restriction, which applies to direct access through select statements as well as access through stored
procedures, is required to run SAP ASE in the evaluated configuration. To enact this restriction, a system
security officer must reset the parameter called select on syscomments.text using the system procedure
sp_configure. For information about the evaluated configuration, see the Security Administration Guide:
Volume 1.
Indexes
Applies to master database only. sysconfigures contains one row for each configuration parameter that can
be set by the user.
Columns
value int The user-modifiable value for the parameter with integer datatype.
name varchar(25 Name of the configuration parameter (the same value as comment).
5) null
parent smallint Configuration parameter number of the parent; if more than one parent, the additional
null parent numbers are stored in sysattributes.
value2 varchar(25 The user-modified value for the parameter with the character datatype. Its value is NULL
5) null for parameters with integer datatype. value2 is also used to store the pool size of a
buffer pool and the size of the IMRS cache for entries corresponding to IMRS caches.
value4 int null Stores the number of the cache partition for an IMRS cache. The value for an IMRS cache
is always 1 since IMRS caches are not partitioned.
The value2 column of the sysconfigures table stores the size in terms of string such as 5G, or 20M.
In versions earlier than 16.0 SP02 PL06 the size of cache and pool was stored as an absolute value in terms of
Kilobytes. In versions 16.0 SP02 PL06 and later, the value column of sysconfigures stores the absolute value
in terms of 2K.
For example, if the size of cache is 10MB, then the following will be stored from 16.0 SP02 PL06 and later:
Indexes
Applies to all databases. Whenever a user declares a new check constraint or referential constraint using
create table or alter table, the SAP ASE server inserts a row into the sysconstraints table. The row
remains until a user executes alter table to drop the constraint. Dropping a table by executing drop table
removes all rows associated with that table from the sysconstraints table.
This table also contains one row for each check constraint, referential constraint, rules, computed column,
multiple triggers, and function-based index key associated with a specific table.
Columns
Indexes
Applies to sybsystemdb Database Only. syscoordinations contains information about remote SAP ASE
servers participating in distributed transactions (remote participants) and their coordination states.
Columns
coordtyp tinyint Value indicating the coordination method or protocol in the systransactions ta
e ble definition
state int Value indicating the current state of the remote participant:
● 1 – Begun
● 4 – Prepared
● 7 – Committed
● 9 – In AbortTrans
gtrid varchar(255) Global transaction ID for distributed transactions coordinated by the SAP ASE server
null (reserved for internal use)
nodeid tinyint null Not available for non-cluster environments – reserved for future use
Indexes
1.20 syscurconfigs
Applies to master database only. syscurconfigs is built dynamically when queried. It contains an entry for
each of the configuration parameters, as does sysconfigures, but with the current values rather than the
default values. In addition, it contains four rows that describe the configuration structure.
Columns
value int The current run value for the parameter with integer datatype. Its value is 0 for
the parameters with character datatype.
comment varchar(255) Comments about the configuration parameter. For internal use.
value2 varchar(255) The current run value for the parameter with the character datatype. Its value
null is NULL for parameters with the integer datatype.
memory_used bigint null Integer value for the amount of memory used by each configuration parameter.
Negative values indicate memory shared.
display_leve int null Display level of the configuration parameter. The values are 1, 5, and 10.
l
message_num int null Message number of the sp_helpconfig message for this parameter.
apf_percent int null The current run value for the asynchronous prefetch percent for a buffer pool.
Valid only for rows that represent buffer pools.
nodeid tinyint null Reserved for future use (not available in cluster environments)
type varchar(10) Specifies whether a configuration parameter is declared dynamic or static in its
null structure definition. Values are:
1.21 sysdatabases
Applies to master database only. sysdatabases contains one row for each database in the SAP ASE server.
When the SAP ASE server is installed, sysdatabases contains entries for the following databases:
● master
● model
● sybsystemprocs
● tempdb database.
● sybsecurity
Columns
deftabaud int Bit-mask that defines default audit settings for tables.
defvwaud int Bit-mask that defines default audit settings for views.
defpraud int Bit-mask that defines default audit settings for stored procedures.
def_remote_ty smallint Identifies the default object type to be used for remote tables if no storage loca
pe tion is provided via the stored procedure sp_addobjectdef.
def_remote_lo varchar(349) Identifies the default storage location to be used for remote tables if no storage
c location is provided via the stored procedure sp_addobjectdef.
instanceid tinyint (Cluster Edition only) Instance ID of owning instance of a local temporary data
bases. For other databases, it remains NULL.
spare
In nonclustered editions of SAP ASE, this is the spare column, and is reserved
for future use.
dcompdefaultl tinyint The level that create table, alter table, or reorg rebuild uses to
set the level of compression for on a table (or partition).
evel
● 1 – full
● 5 – at_shutdown
● 6 – no_recovery
encrkeyid int Database encryption key ID. A null indicates the corresponding database is not
encrypted.
imrscache varchar(255) Name of the row storage cache assigned to the database.
versiondbid smallint Database ID of the temporary database used for version storage for on-disk
MVCC-enabled databases.
This table lists the bit representations for the status column:
32 0x20 Database created with for load option, or crashed while loading database, instructs re
covery not to proceed.
This table lists the bit representations for the status2 column:
64 0x0040 The table has an auto identity feature, and a unique constraint on the identity column.
256 0x0100 Table structure written to disk. If this bit appears after recovery completes, server may be un
der-configured for open databases. Use sp_configure to increase this parameter.
2048 0x0800 When set by the user, prevents cross-database access via an alias mechanism.
-32768 0xFFFF8000 Database has some portion of the log which is not on a log-only device.
This table lists the bit representations for the status3 column:
0 0x0000 A normal or standard database, or a database without a proxy update in the create statement.
1 0x0001 You specified the proxy_update option, and the database is a user-created proxy database.
8 0x0008 Disallow access to the database, since database is being shut down.
128 0x0080 Writes to the database are blocked by the quiesce database command.
512 0x0200 Disallow external access to database in the server in failed-over state.
1024 0x0400 User-provided option to enable or disable asynchronous logging service threads. Enable through
sp_dboption enable async logging service option set to true on a particular data
base.
This table lists the bit representations for the status4 column:
512 0x0200 The in-memory database has a template database with it.
16384 0x4000 64-bit atomic operations have been enabled on this database.
32768 0x00008000 Enforce dump tran sequence. Disallows operations that will fail a
subsequent dump tran.
16777216 0x01000000 All tables in the database are created as page compressed.
33554432 0x02000000 All tables in the database are created as row compressed.
This table lists the bit representations for the status5 column:
128 0x80 The name of the IMDB template database is stored in the
def_remote_loc column.
1024 0x400 Data row caching is automatically enabled for all newly created user
tables in this database.
Indexes
Applies to all databases. sysdepends contains one row for each procedure, view, or table that is referenced by
a procedure, view, or trigger.
Columns
columns varbinary Stores a bitmap of column IDs of columns that are referenced in the body of a stored
procedure.This bitmap gives column-level dependency tracking information, including
predicated privileges, for compiled objects, and is decoded by sp_depends to re
port on column-level dependencies for stored procedures, triggers, and views.
Indexes
1.23 sysdevices
Applies to master database only. sysdevices contains one row for each tape dump device, disk dump device,
disk for databases, and disk partition for databases. There are four entries in sysdevices in the SAP ASE
Note
The device identification number is stored in the vdevno column and is not as part of the high or low
column. As a consequence, you may need to modify scripts and stored procedures that determine the
device identification number based on the earlier schema.
Columns
low int (Not used for dump devices) Block offset of virtual page in 2K bytes.
status smallint Bitmap indicating type of device, default, and mirror status.
name sysname Logical name of dump device, database device, or in-memory storage cache.
resizeda datetime Date on which disk resize was most recently run for this device.
te null
class varchar(2)
uuid varbinary(16 Reserved for future use (available only for cluster environments).
)
The bit representations for the status column, shown below, are additive. For example, 3 indicates a physical
disk that is also a default.
16384 0x4000 UNIX file device uses dsync setting (writes flushed to physical media)
1.24 sysencryptkeys
Applies to all databases. Each key created in a database, including the default key, has an entry in the
database-specific system catalog sysencryptkeys.
Columns
value varbinary(12 Encrypted value of a key. Contains a symmetric encryption of the key. To encrypt keys,
82) the SAP ASE server uses AES with a 128-bit key from the system encryption, user-speci
fied, or login password.
eksalt varbinary(20 Random values used to validate decryption of the encryption key.
)
1.25 sysengines
Applies to master database only. sysengines contains one row for each SAP ASE engine currently online.
Columns
status char(12) One of: online, in offline, in create, in destroy, debug, bad status.
affinitied int Number of SAP ASE processes with affinity to this engine..
cur_kpid int Kernel process ID of process currently running on this engine, if any
last_kpid int Kernel process ID of process that previously ran on this engine.
nodeid tinyint Reserved for future use (not available for cluster environments).
null
1.26 sysgams
Applies to all databases. sysgams stores the global allocation map (GAM) for the database. The GAM stores a
bitmap for all allocation units of a database, with one bit per allocation unit. You cannot select from or view
sysgams.
1.27 sysimrslogs
Applies to all in-memory databases. sysimrslogs contains the in-memory transaction log. It is used by the
SAP ASE server for recovery and roll forward.
You can run select queries against the sysimrslogs system table, but you cannot delete from, insert into, or
update sysimrslogs. Every data modification operation is logged, so before you can change sysimrslogs,
the change must be logged. This means that a change operation on sysimrslogs adds a row to
sysimrslogs, which then must be logged, adding another row to sysimrslogs, and so on, producing an
infinite loop. The loop continues until the database becomes full.
1.28 sysindexes
Applies to all databases. sysindexes contains one row for each clustered index, one row for each
nonclustered index, one row for each table that has no clustered index, and one row for each table that
contains text or image columns.This table also contains one row for each function-based index or index
created on a computed column.
Columns
● 0 = if a table.
● 1 = if a clustered index on an allpages-locked table.
● >1 = if a nonclustered index or a clustered index on a data-only-locked table.
● 255 = if text, image, text chain, or Java off-row structure (large object—or
LOB—structure).
oampgtrips int Number of times OAM pages cycle in the cache without being reused, before being
flushed.
ipgtrips int Number of times index pages cycle in the cache, without being reused, before being
flushed
distribution int Unused. Formerly used to store the page number of the distribution page for an in
dex.
keycnt smallint Number of keys for a clustered index on an allpages-locked table; number of keys,
plus 1 for all other indexes.
soid tinyint Sort order ID with which the index was created; 0 if there is no character data in the
keys.
csid tinyint Character set ID with which the index was created; 0 if there is no character data in
the keys.
fill_factor smallint Value for the fillfactor of a table set with sp_chgattribute.
null
conditionid int null ID of the partition condition. Null if partitiontype is round-robin or hash.
This table lists the bit representations for the status column:
4 0x4 Abort current command or trigger if attempt to insert duplicate row; always 0 for data-only-locked
tables.
64 0x40 Index allows duplicate rows, if an allpages-locked table; always 0 for data-only-locked tables.
128 0x80 Sorted object toggle that is being used internally. Can be set by create clustered index,
reorg rebuild, or alter table locking scheme commands.
32768 0x8000 Suspect index; index was created under another sort order.
This table lists the bit representations for the status2 column:
16 0x10 Large I/Os (prefetch) not enabled for table, index, or text chain.
32 0x20 Most recently used (MRU) cache strategy not enabled for table, index, or text chain.
256 0x0100 Index is presorted and does not need to be copied to new extents.
Indexes
1.29 sysinstances
Applies to the Cluster Edition only. A fake table that reports on the state of the instances. sysinstances
includes a row for each instance defined in the cluster configuration.
Although sysinstances is a fake table, it is not impacted by the setting of set system_view, and always
returns a row for each instance, regardless of the system_view setting.
state char(17) State of the instance (one of online, offline, joining, leaving,
and initiating)
hostname varchar(255) Name of the operating system host running this instance
1.30 sysjars
Applies to all databases. sysjars contains one row for each Java archive (JAR) file that is retained in the
database.
For more information about JAR files, Java classes, and Java datatypes, see Java in Adaptive Server Enterprise.
Columns
jbinary image null The contents of the JAR: the Java classes.
1.31 syskeys
Applies to all databases. syskeys contains one row for each primary, foreign, or common key.
Columns
● 1 = primary key
● 2 = foreign key
● 3 = common key
Indexes
Clustered index on id
Applies to master database only. syslanguages contains one row for each language known to SAP ASE.
us_english is not in syslanguages, but it is always available to the SAP ASE server.
Columns
datefirst tinyint First day of the week—1 for Monday, 2 for Tuesday, and so on, up to 7 for Sunday.
upgrade int SAP ASE version of last upgrade for this language.
months varchar(251 Comma-separated list of full-length month names, in order from January to December—
) each name is at most 20 characters long.
shortmont varchar(119 Comma-separated list of shortened month names, in order from January to December
hs ) —each name is at most 9 characters long.
days varchar(216 Comma-separated list of day names, in order from Monday to Sunday—each name is at
) most 30 characters long.
Indexes
Applies to master database only. syslisteners contains a row for each network protocol available for
connecting with the current SAP ASE server. The SAP ASE server builds syslisteners dynamically when a
user or client application queries the table.
Columns
address_i char(255) Information that uniquely identifies this SAP ASE server on the network; usually the name
nfo of the current SAP ASE server and an identifying number, such as the server’s port number
for the protocol
nodeid tinyint Reserved for future use (not available for cluster environments)
null
1.34 syslocks
Applies to master database only. syslocks contains information about active locks, and built dynamically
when queried by a user. No updates to syslocks are allowed.
Columns
Value Interpretation
null The task holding this lock is either executing a query in serial, or it is a query being executed in parallel in
transaction isolation level 1.
0x1 The task holding the lock will hold the lock until the query is complete. A lock’s context may be FAM_DUR
(0x1H) when the lock is:
0x20 Address lock acquired on an index page during a shrink or split operation.
0x40 Intent lock held by a transaction performing repeatable reads. Valid only for shared intent and exclusive intent
locks on data-only-locked tables.
Returns information for all logins. syslogininfo is a view of the master database that provides information
about all logins. You must have the sa_role or sso_role to select from the syslogininfo view.
Columns
1.36 sysloginroles
Applies to master database only. sysloginroles contains a row for each instance of a server login or login
profile possessing a role. One row is added for each role granted to each login. For example, if a single server
user is granted sa_role, sso_role, and oper_role, three rows are added to sysloginroles associated with that
user’s system user ID (suid).
Note
When you change the status bit using alter login, you must log out and relog for the change to take
effect. To see immediate results, use set role role_name off.
● 0 – default off
● 1 – default on
● 0 – sa_role
● 1 – sso_role
● 2 – oper_role
● 4 – navigator_role
● 5 – replication_role
● 6 – Currently unused
● 7 – dtm_tm_role
● 8 – ha_role
● 9 – Used internally
● 10 – mon_role
● 11 – js_admin_role
● 12 – messaging_role
● 13 – js_client_role
● 14 – js_user_role
● 15 – webservices_role
Indexes
Applies to master database only. syslogins contains one row for each valid SAP ASE user account or login
profile.
Columns
dbname sysname Name of database in which to put user when connection established. Column is not appli
null cable for a login row if a login profile is associated with the login account.
password varbinary( One-way hash of user password. The contents of syslogins.password depend on
128) null the value for sp_passwordpolicy allow password downgrade.
language varchar(30 User’s default language. If a login profile is associated with the login account, this column
) null is not applicable for a login row.
srvname varchar(30 Name of server to which a passthrough connection must be established if the AUTOCON
) null NECT flag is turned on.
procid int null Stores the login trigger registered with the login script. If a login profile is associ
ated with the login account, this column is not applicable for a login row.
crdate datetime Timestamp when the login or login profile was created.
locksuid int The server user ID (suid) responsible for locking the login.
● null – the login account is associated with the default login profile, if any
● -1 – the login profile is ignored for the login account.
● suid – the login profile ID.
On the SAP ASE distribution media, syslogins contains an entry in which the name is “sa”, the suid is 1, and
the password is null. It also contains the entry “probe” with an unpublished password. The login “probe” and
the user “probe” exist for the two-phase commit probe process, which uses a challenge and response
mechanism to access the SAP ASE server.
4 0x4 Password has expired. This is set on the user's first login attempt after expiration.
8 0x8 Indicates that the value of exempt inactive lock is set to TRUE. It is not applicable
for login profile rows.
1.38 syslogs
Applies to all databases. syslogs contains the transaction log. It is used by the SAP ASE server for recovery
and roll forward. It is not useful to users.
You cannot delete from, insert into, or update syslogs. Every data modification operation is logged, so before
you can change syslogs, the change must be logged. This means that a change operation on syslogs adds a
row to syslogs, which then must be logged, adding another row to syslogs, and so on, producing an infinite
loop. The loop continues until the database becomes full.
Columns
1.39 syslogshold
Applies to master database only. syslogshold contains information about each database’s oldest active
transaction (if any) and the Replication Server truncation point (if any) for the transaction log, but it is not a
normal table. Rather, it is built dynamically when queried by a user. No updates to syslogshold are allowed.
Note
Because of this change in the datatypes for the Cluster Edition, you should archive and truncate audit
tables before you upgrade. This reduces the likelihood of a failed upgrade because of insufficient space in
the sybsecurity database.
spid smallint Server process ID of the user that owns the oldest active transaction (always 0 for Replica
tion Server).
int for clus
ter environ
ments
page unsigned Starting page number of active portion in syslogs defined by oldest transaction (or the
int truncation page in syslogs for Replication Server).
xactid binary(6) ID of the oldest active transaction (always 0x000000 for Replication Server).
masterxac binary(6) ID of the transaction’s master transaction (if any) for multidatabase transactions; other
tid wise 0x000000 (always 0x000000 for Replication Server).
starttime datetime Date and time the transaction started (or when the truncation point was set for Replication
Server).
name char(67) Name of the oldest active transaction. It is the name defined with begin
transaction, “$user_transaction” if no value is specified with begin
transaction, or “$chained_transaction” for implicit transactions started by the ANSI
chained mode. Internal transactions started by the SAP ASE server have names that begin
with the dollar sign ($) and are named for the operation, or are named “$replication_trun
cation_point” for Replication Server.
xloid int null Lock ownership ID based on spid if the owner is a task, or on xdes if the owner is a trans
action.
Applies to master database only. sysmessages contains one row for each system error or warning that can be
returned by the SAP ASE server. The SAP ASE server displays the error description on the user’s screen.
Columns
Indexes
Applies to master database only. sysmonitors contains one row for each monitor counter.
Columns
nodeid tinyint null Reserved for future use (not available for cluster environments)
1.42 sysobjects
Applies to all databases. sysobjects contains one row for each table, view, stored procedure, extended stored
procedure, log, rule, default, trigger, check constraint, referential constraint, computed column, function-based
index key, encryption key, predicated privilege, and (in tempdb only) temporary object, and other forms of
compiled objects. It also contains one row for each partition condition ID when object type is N.
● C – computed column
● D – default
● DD – decrypt default
● EK – encryption key
● F – SQLJ function
● N – partition condition
● P – Transact-SQL or SQLJ procedure
● PP – the predicate of a privilege
● PR – prepare objects (created by dynamic SQL)
● R – rule
● RI – referential constraint
● RS – precomputed result set
● S – system table
● SF – scalar or user-defined functions
● SQ – sequence object
● TR – trigger
● U – user table
● V – view
● XP – extended stored procedure
userstat smallint Application-dependent type information (32768 decimal [0x8000 hex] indicates
to Data Workbench that a procedure is a report).
sysstat smallint Internal status information (256 decimal [0x100 hex] indicates that table is
read-only)
indexdel smallint Recounts the changes in the schema of an object and updates schemacnt.
schemacnt smallint Count of changes in the schema of an object (incremented if a rule or default is
added)
deltrig int Stored procedure ID of a delete trigger if the entry is a table. Table ID if the entry
is a trigger.
instrig int Stored procedure ID of a table’s insert trigger if the entry is a table
updtrig int Stored procedure ID of a table’s update trigger if the entry is a table
versionts binary(6) null The version timestamp of the last schema change for this object (used by Repli
cation Server)
loginame varchar(30) Login name of the user who created the object
null
identburnm numeric(17) Maximum burned value for identity column if any in this object
ax null
Note
The identburnmax column is stored in an internal format. Use the
identity_burn_max() function if you need a value.
C Computed column
D Default
DD Decrypt default
EK Encryption key
F SQLJ function
N Partition condition
R Rule
RI Referential constraint
S System table
TR Trigger
U User table
V View
2 0x2 View
64 0x40 If the object is a table, changes to the object are logged. If the object is a procedure, indicates that
replication can subscribe to executions of the procedure.
256 0x100 The object contains suspect indexes and can only be used for read-only purposes until you have
run dbcc reindex.
512 0x200 The object flagged by recovery as possibly damaged; run dbcc. Checked by opentable.
1024 0x400 The object is “fake”; that is, it resides in tempdb and is redefined for every query step that uses it
2048 0x800 The object is a definition time object created for query compilation.
4096 0x1000 Tags a system table that will have its index(es) re-created.
256 0x100 Allow implicit grant in execute immediate calls inside the stored procedure (dy
namic ownership chain).
2048 0x800 Table is a proxy table created with the existing keyword.
128 0x80 Indicates deferred table status. The table is deferred until SAP ASE allo
cates their pages.
16 0x10 Table has had a compressed index at some point in its life.
32 0x20 Unused.
64 0x40 DOL index root page access is optimized with CAS latching.
Indexes
1.43 sysoptions
Applies to all databases. sysoptions is a fake table queried by sp_options. When you are querying
sysoptions, the names of the rows are case sensitive.
Columns
category varchar(1 Contains the name of the category to which the option belongs.
00)
scope int Contains the bitmap used to capture information about options. The bits
are ordered as follows:
sysoptions shows:
sysoptions displays only the switches that are visible to the user querying the sysoptions table. That is, the
user cannot see switches set privately by other SPIDs with set switch on. However, traceflags enabled
using the runserver file –T option, dbcc traceon, or set switch serverwide on are visible to all users.
Query sysoptions using sp_options. The datatype for the current and default value is varchar so settings
with varchar values can be used directly. Settings with integer values can be used after typecasting.
You can also use string manipulation or typecasting. For example, if an option is numeric, you can query
sysoptions by entering:
if (isnumeric(currentsetting))
select@int_val = convert(int, currentsetting)
...
else
select@char_val = currentsetting
...
Applies to all databases. syspartitionkeys contains one row for each partition key for hash, range, and list
partitioning of a table. All columns are not null.
Columns
● 0 = table
● 1 = clustered index
● >1 = nonclustered index
Indexes
1.45 syspartitions
Applies to all databases. syspartitions contains one row for each data partition and one row for each index
partition.
Note
The syspartitions table in versions of SAP ASE earlier than 15.0 has been renamed sysslices and
made obsolete. With SAP ASE version 15.0, syspartitions is completely redefined, and now supports
data and index partitioning.
Columns
datoampage unsigned int Page number for the object allocation map of a data partition.
indoampage unsigned int Page number of the object allocation map of an index partition.
firstpage unsigned int Page number of the first data or leaf page.
Indexes
1.46 syspoolinfo
Applies to master database. Provides information about data caches and pools.
Columns
io_size varchar(3 The size of the buffers, in kilobytes, used to perform I/O for this pool.
)
config_siz float Configured amount of memory, in megabytes, allocated to the pool. May be different
e from the amount reported in the run_size column.
run_size float The current amount of memory, in megabytes, allocated to the pool.
apf_percen int The percentage of buffers in the pool that can be used to hold buffers that have been read
t into cache by asynchronous prefetch.
wash_size varchar(1 The size of the wash area, in megabytes, in the pool.
0)
scope varchar(6 Indicates whether the data cache is local or global for Cluster Edition. The value is always
) Global for nonclustered servers.
1.47 sysprocedures
Applies to all databases. sysprocedures contains entries for each view, default, rule, trigger, procedure,
declarative default, partition condition, check constraint, computed column, function-based index key, and
other forms of compiled objects.
The sequence tree for each object, including computed columns or function-based index definition, is stored in
binary form. If the sequence tree does not fit into one entry, it is broken into more than one row. The sequence
column identifies the sub-rows.
Columns
id int Object ID
sequence int Sequence number if more than one row is used to describe this object
number smallint Sub-procedure number when the procedure is grouped (0 for nonprocedure entries)
version int null The version of SAP ASE that created the sequence tree stored in this catalog for a given
object
Indexes
1.48 sysprocesses
Applies to master database only. sysprocesses contains information about SAP ASE processes, but it is not
a normal table. It is built dynamically when queried by a user. No updates to sysprocesses are allowed. Use
the kill statement to kill a process.
Columns
Note
The SAP ASE server automatically
stores one or more spaces in
clientname,
clienthostname, and
clientapplname columns. For
this reason, a query using any of
these three columns that includes
“is null” does not return an
expected result set.
loggedindatetime datetime null Shows the time and date when the
client connected to the SAP ASE
server. See “Row-level access
control“ in Chapter 11, “Managing User
Permissions” of the Security
Administration Guide for more
information.
Note
Because of this change in the datatypes for the Cluster Edition, you should archive and truncate audit
tables before you upgrade. This reduces the likelihood of a failed upgrade because of insufficient space in
the sybsecurity database.
Status Meaning
alarm sleep Waiting for alarm to wake process up (user executed a waitfor delay command)
background A process, such as a threshold procedure, run by the SAP ASE server rather than by a user process
sleeping Waiting on a disk I/O, or some other resource (often indicates a process that is running, but doing extensive
disk I/O)
sync sleep Waiting on a synchronization message from another process in the family
Applies to all databases. sysprotects contains information on permissions that have been granted to, or
revoked from, users, groups, and roles.
Columns
id int ID of the object to which this permission applies. Has an ID of 0 when the permission
granted is create table, create default, and so on.
uid int ID of the user, group, or role to which this permission applies.
columns varbinary(1 Bitmap of columns to which this select, update, decrypt, or references permission
33) applies.
grantor int User ID of the grantor. If the grantor is a system administrator, the user ID of the object
owner is used.
status smallint 0x0001 – indicates that the privilege (or denial) is predicated
Use this query to look up names for action values in the spt_values table:
1 2 Permission on column 1
2 4 Permission on column 2
[...]
Note
Permissions for the action column marked with an asterisk (*) take effect only when granular permissions
is enabled.
Indexes
1.50 sysquerymetrics
Applies to all databases. Presents aggregated historical query processing metrics for individual queries from
persistent data. In addition to monitoring tables, use performance metrics information from this catalog.
Columns
id int Unique ID
sequence smallint null Sequence number for a row when multiple rows are required for the text of
the SQL
cnt unsigned bigint Number of times the query has been executed.
abort_cnt int null Number of times a query is aborted by the Resource Governor when a re
source limit is exceeded
The number of metrics shared among user IDs increased for SAP ASE release 15.0.2 and later, reducing the
number of entries in sysquerymetrics (a view of sysqueryplans), and automatically aggregates the
metrics for identical queries across different user IDs.
The user ID (uid) of sysquerymetrics is 0 when all table names in a query that are not qualified by user
name are owned by the DBO.
For example, if table t1 is owned only by the DBO and shared by different users:
The SAP ASE server uses 0 as the uid for the sysquerymetrics entry for all users executing this query who
do not have a private table named t1.
In this example, if table t2 is owned and qualified by “user1,” the SAP ASE server also uses an UID of 0:
1.51 sysqueryplans
Applies to all databases. sysqueryplans contains two or more rows for each abstract query plan. Uses
datarow locking.
Columns
gid int The abstract plan group ID under which the abstract plan was saved.
hashkey int The hash key over the SQL query text.
type smallint 10 if the text column contains query text, or 100 if the text column contains abstract plan
text.
sequence smallint Sequence number if multiple rows are required for the text of the SQL query or abstract
plan.
text varchar(25 The SQL text, if type is 10, or the abstract query plan text, if the type is 100.
5) null
Indexes
1.52 sysreferences
Applies to all databases. sysreferences contains one row for each referential integrity constraint declared on
a table or column.
Columns
frgndbid smallint Database ID of the database that includes the referencing table.
null
pmrydbid smallint Database ID of the database that includes the referenced table (the table with the pri
mary key)
fokey1 ... smallint Column ID of the first to the 16th referencing column
fokey16
refkey1 ... smallint Column ID of the first to the 16th referenced column
refkey16
frgndbname varchar( Name of the database that includes the referencing table (the table with the foreign
30) null key); NULL if the referencing table is in the current database
pmrydbname varchar( Name of the database that includes the referenced table (the table with the primary
30) null key); NULL if the referenced table is in the current database
Indexes
Applies to master database only. sysremotelogins contains one row for each remote user that is allowed to
execute remote procedure calls on this SAP ASE server.
Columns
Indexes
Applies to master database only. sysresourcelimits contains a row for each resource limit defined by the
SAP ASE server. Resource limits specify the maximum amount of server resources that can be used by an SAP
ASE login or an application to execute a query, query batch, or transaction.
Columns
● 1 = prior to execution
● 2 = during execution
● 3 = both
● 1 = issue warning
● 2 = abort query batch
● 3 = abort transaction
● 4 = kill session
scope tinyint Scope of user limit (a bitmap indicating one or more of the following):
● 1 = query
● 2 = query batch
● 4 = transaction
1.55 sysroles
Applies to all databases. sysroles maps server role IDs to local role IDs.
When a database permission is granted to a role, if an entry for the role does not exist in sysroles, the SAP
ASE server adds an entry to sysroles to map the local role ID (lrid) to the server-wide role ID (srid) in
syssrvroles.
Columns
Indexes
Applies to master database only. syssecmechs contains information about the security services supported by
each security mechanism that is available to the SAP ASE server. syssecmechs is not created during
installation, rather, it is built dynamically when queried by a user.
Columns
sec_mech_name varchar( Name of the security mechanism; for example, “NT LANMANAGER”
30)
available_ser varchar( Name of the security service supported by the security mechanism; for example, “uni
vice 30) fied login”
1.57 syssegments
Applies to all databases. syssegments contains one row for each segment (named collection of disk pieces).
In a newly created database, the entries are: segment 0 (system) for system tables; segment 2 (logsegment)
for the transaction log; and segment 1 (default) for other objects. Segment 3 includes information about
imrslogsegment.
Columns
Applies to master database only. sysservers contains one row for each remote SAP ASE server, Backup
Server, or Open Server on which this SAP ASE server can execute remote procedure calls.
Columns
srvid smallint ID number (for local use only) of the remote server.
srvclass smallint null Server category defined by the class parameter of sp_addserver.
srvcost smallint null Provides the network cost in milliseconds for accessing a server over a network. Used
only by the SAP ASE query optimizer for evaluating the cost of a query when access
ing a proxy table, the default is set to 1,000 ms.
srvprinci varchar(255) Specifies the Kerberos principal name for the server. Default value is NULL.
pal null
0 Local server
Indexes
Columns
cache smallinit The cache size setting if the cache flag is set
1.60 syssessions
Applies to master database only. syssessions is used only when SAP ASE is configured for failover in a high
availability system. syssessions contains one row for each client that connects to the SAP ASE server with
the failover property. Clients that have an entry in syssessions during failover are moved to the secondary
companion. Clients that do not have an entry in syssessions are dropped during failover. Clients that have an
entry in syssessions during failback are moved to the primary companion. Clients that do not have an entry
in syssessions during failback are dropped.
nodeid tinyint Reserved for future use (not available for cluster environments)
null
1.61 sysslices
Applies to all databases. sysslices contains one row for each slice (page chain) of a sliced table. sysslices
is used only during the SAP ASE upgrade process. After the upgrade is complete, all the data is removed.
Note
In versions of SAP ASE earlier than 15.0 syspartitions stored partition-related information. This has
been renamed to sysslices for SAP ASE 15.0, and later; syspartitions now refers to the catalog that
tracks all partition-related data in the SAP ASE server.
Indexes
1.62 syssrvroles
Applies to master database only. syssrvroles contains a row for each system or user-defined role.
Columns
password varbinary(128) Password for the role (encrypted) and readable only by a user with sso_role
null
logincount smallint null Number of failed login attempts; reset to 0 by a successful login
lockdate datetime null The date and time a role was locked.
Indexes
1.63 sysstatistics
Applies to all databases. sysstatistics contains one or more rows for each indexed column on a user table
and for each partition. May also contain rows for unindexed column.
Columns
sequence int Sequence number if multiple rows are required for this set of statistics
ststatus smallint Status bits for this statistics row; possible values vary according to the type of row.
Indexes
Unique clustered index csysstatistics on id, indid, partitionid, statid, colidarray, formatid,
sequence
Applies to all databases. systabstats contains one row for each clustered index, one row for each
nonclustered index, one row for each table that has no clustered index, and one row for each partition.
Columns
leafcnt unsigned Number of leaf pages in the index; maintained if indid is greater than 1
int
dpagecrcn float Number of extent I/Os that need to be performed to read the entire table
t
ipagecrcn float Number of extent I/Os that need to be performed to read the entire leaf level of a nonclus
t tered index
drowcrcnt float Number of page I/Os that need to be performed to read an entire table
oamapgcnt int Number of OAM pages for the table, plus the number of allocation pages that store informa
tion about the table
extent0pg int Count of pages that are on the same extent as the allocation page
cnt
leafrowsi float Average size of a leaf row for nonclustered indexes and clustered indexes data-only-locked ta
ze bles
plljoinde int The degree of parallelism used for a nested loop join operation, plljoindegree is the par
gree allel scan degree of the table (whose systabstats has this field) that is the inner table in a
nested loop join.
rslastoam int Last OAM page visited by a reorg reclaim_space or reorg compact command
rslastpag int Last data or leaf page visited by a reorg reclaim_space or reorg compact com
e mand
frlastoam int Last OAM page visited by the reorg forwarded_rows command
frlastpag int Last data page visited by the reorg forwarded_rows command
e
plldegree smallint Maximum degree of parallelism possible on table or index for data manipulation languages
(DMLs). A value of 0 (zero) indicates a nonexistent maximum; the query processor config-
ures maximum degree of parallelism.
emptypgcn unsigned Number of empty pages in extents allocated to the table or index
t int
warmcache unsigned
pgcnt int
oampagecn unsigned Number of allocation pages listed in the object allocation map
t int
pioclmdat real
a
pioclmind real
ex
piocsmdat real
a
piocsmind real
ex
Reserved
Reserved
Indexes
Applies to all databases. systhresholds contains one row for each threshold defined for the database.
Columns
segment smallint Segment number for which free space is being monitored.
status smallint Bit 1 equals 1 for the log segment’s last-chance threshold, 0 for all other thresholds.
proc_nam varchar(255 Name of the procedure that is executed when the number of unused pages on segment
e ) falls below free_space.
suid int null The server user ID of the user who added the threshold or modified it most recently.
currauth varbinary(2 A bitmask that indicates which roles were active for suid at the time the threshold was
55) null added or most recently modified. When the threshold is crossed, proc_name executes
with this set of roles, less any that have been deactivated since the threshold was added
or last modified.
The possible bitmasks you might see, individually or in combination, in the currauth column.
1 0x1 sa_role
2 0x2 sso_role
4 0x4 oper_role
8 0x8 sybase_ts_role
16 0x10 sybase_ts_role
To find out what role ID is associated with the bitmask output in currauth in your SAP ASE server, perform the
following select statement:
role_id role_name
----------- ------------------------------
0 sa_role
1 sso_role
2 oper_role
3 sybase_ts_role
4 navigator_role
7 dtm_tm_role
10 mon_role
11 js_admin_role
12 messaging_role
13 js_client_role
Applies to master database only. systimeranges stores named time ranges, which are used by the SAP ASE
server to control when a resource limit is active.
Columns
id smallint Unique identifier for the time range. 1 represents the “at all times” limit.
startday tinyint Day of week (1 – 7) for the beginning of the range. Monday = 1, Sunday = 7.
endday tinyint Day of week (1 – 7) for the end of the range. Monday = 1, Sunday = 7.
Indexes
Clustered index on id
1.67 systransactions
Applies to master database only. systransactions contains information about SAP ASE transactions, but it
is not a normal table. Portions of the table are built dynamically when queried by a user, while other portions
Note
Because of this change in the datatypes for the Cluster Edition, SAP strongly recommends that you archive
and truncate audit tables before you upgrade. This reduces the likelihood of a failed upgrade because of
insufficient space in the sybsecurity database.
Columns
● 0 – Resident Tx
● 1 – Failed-over Tx
● 2 – Tx by Failover-Conn
● 1 – Local
● 3 – External
● 98 – Remote
● 99 – Dtx_State
● 0 – None
● 1 – Syb2PC
● 2 – ASTC
● 3 – XA
● 4 – DTC
● 1 – Attached
● 2 – Detached
1 Begun
2 Done Command
3 Done
4 Prepared
5 In Command
6 In Abort Cmd
7 Committed
8 In Post Commit
9 In Abort Tran
10 In Abort Savept
65537 Begun-Detached
65539 Done-Detached
65540 Prepared-Detached
1.68 systypes
Applies to all databases. systypes contains one row for each system-supplied and user-defined datatype.
Domains (defined by rules) and defaults are given, if they exist.
Columns
allownulls bit Indicates whether nulls are allowed for this datatype
tdefault int ID of system procedure that generates default for this datatype
domain int ID of system procedure that contains integrity checks for this datatype
scale tinyint null Number of digits to the right of the decimal point
ident tinyint null 1 if column has the IDENTITY property; 0 if it does not
This table lists each system-supplied datatype’s name, hierarchy, type (not necessarily unique), and
usertype (unique). The datatypes are ordered by hierarchy. In mixed-mode arithmetic, the datatype with
the lowest hierarchy takes precedence:
floatn 1 109 14
float 2 62 8
datetimn 3 111 15
datetime 4 61 12
real 5 59 23
numericn 6 108 28
numeric 7 63 10
decimaln 8 106 27
decimal 9 55 26
moneyn 10 110 17
money 11 60 11
smallmoney 12 122 21
smalldatetime 13 58 22
intn 14 38 13
uintn 15 68 47
bigint 16 191 43
ubigint 17 67 46
int 18 56 7
uint 19 66 45
smallint 20 52 6
usmallint 21 65 44
tinyint 22 48 5
bit 23 50 16
univarchar 24 155 35
unichar 25 135 34
unitext 26 174 36
varchar 27 39 2
sysname 27 39 18
nvarchar 27 39 25
longsysname 27 39 42
char 28 47 1
nchar 28 47 24
varbinary 29 37 4
timestamp 29 37 80
binary 30 45 3
text 31 35 19
image 32 34 20
date 33 49 37
time 34 51 38
daten 35 123 39
timen 36 147 40
extended type 99 36 -1
Datatypes with names ending with 'n' are internal, nullable datatypes. When you define a column with a nullable
datatype (for example, datetime null), SAP ASE converts it to the internal nullable form of the datatype (for
example, datetimn). You cannot define a column with these internal nullable datatypes when creating a table.
For example:
Indexes
1.69 sysusages
Applies to master database only. sysusages contains one row for each disk allocation piece assigned to a
database. Each database contains a specified number of database (logical) page numbers.
The create database command checks sysdevices and sysusages to find available disk allocation
pieces. One or more contiguous disk allocation pieces are assigned to the database, and the mapping is
recorded in sysusages.
See System Tables That Manage Space Allocation in the System Administration Guide: Volume 2.
In SAP ASE version 15.0 and later, the device identification number is stored in the vdevno column and not
as part of the vstart column. As a consequence, you may need to modify scripts and stored procedures
that determine the device identification number based on the earlier schema.
Columns
location smallint The location of the archive database segment where the physically contig
uous block of pages resides.
Indexes
Applies to all databases. sysusermessages contains one row for each user-defined message that can be
returned by the SAP ASE server.
Columns
dlevel smallint Stores the with_log bit, which is used to call the appropriate routine to log a message.
null
Indexes
1.71 sysusers
Applies to all databases. sysusers contains one row for each user allowed in the database, and one row for
each group or role.
On the SAP ASE distribution media, master..sysusers contains some initial users:
Columns
uid int User ID, unique in this database, is used for granting and revoking permissions. User ID 1 is
“dbo”.
gid int Group ID to which this user belongs. If uid = gid, this entry defines a group. Negative val
ues may be used for user IDs (uid). Every suid associated with a group or a role in
sysusers is set to -2 (INVALID_SUID).
user_s smallint Indicates the user is resolved as another user. A value of:
tatus
● 1 – indicates that the system administrator issued sp_modifyuser
<user_name>, 'resolve as', <other_user_name> against this user.
● 0 – indicates the user is not resolved as another user.
Indexes
(In-memory databases only) Stores old row versions created for version storage. sysversions exists only in
on-disk MVCC temporary databases.
Columns
Indexes
1.73 sysxtypes
Applies to all databases. sysxtypes contains one row for each extended, Java-SQL datatype.
See Java in Adaptive Server Enterprise for more information about Java-SQL classes and datatypes.
Columns
xtcontainer int The ID of the JAR file containing the class. Can be NULL.
xtsource text null Source code for the extended type. Unused.
xtbinaryinr varbinary(255) Object code for the extended type. For Java classes, it contains the class file. Data
ow null is stored in-row up to a length of 255 bytes.
xtbinaryoff image Object code for the extended type. For Java classes, it contains the class file. Data
row is stored off-row as an image column.
Indexes
In addition to the standard system tables included in all databases, the dbcc management database, dbccdb,
contains seven tables that define inputs to and outputs from dbcc checkstorage. It also contains at least
two workspaces.
When you create dbccdb, two workspaces are created automatically. They are preallocated as follows:
● Scan workspace – contains a row for each page of the target database. The allocation is approximately 1
percent of the database size. Each row consists of a single binary(18) column.
● Text workspace – contains a row for each table in the target database that contains text or image
columns. The size of this table depends on the design of the target database, but it is usually significantly
smaller than the scan workspace. Each row consists of a single binary(22) column.
If either allocation is larger than needed by dbcc checkstorage, the operation uses only what is required.
The allocation does not change. If the text workspace allocation is too small, dbcc checkstorage reports
this, recommends a new size, and continues checking; however, not all text chains are checked. If the scan
workspace allocation is too small, the dbcc checkstorage operation fails immediately.
You must have at least one scan and one text workspace, but you may create as many as you need. While in
use, the workspaces are locked so that only one dbcc checkstorage operation can use them at any given
time. You can execute concurrent dbcc checkstorage operations by supplying each one with a separate
scan and text workspace.
For more information on creating workspaces, see the System Administration Guide and the Reference Manual.
Ideally, you should access workspaces only through dbcc checkstorage, but this is not a requirement. dbcc
checkstorage exclusively locks the workspaces it uses, and the content of the workspaces is regenerated
with each execution of dbcc checkstorage. The workspaces do not contain any secure data.
Note
While the contents of the workspaces are accessible through SQL, no interpretation of the binary values is
available. Access through SQL might return data from different dbcc checks mixed together. The presence
of a row in these tables does not ensure that it contains valid data. dbcc tracks valid rows only during
execution. That information is lost when the operation completes.
Checks of databases using different workspaces can proceed simultaneously, but the performance of each
operation might be degraded as it competes for disk throughput.
The results of each dbcc checkstorage operation are recorded in the dbccdb log. Updates to the text and
scan workspaces are not recorded there.
You must size the dbccdb log to handle updates to the tables. The log requirement is related to the number of
tables and indexes in the target database. It is not related to the target database size.
To minimize the log requirement and the recovery time, use the truncate log on checkpoint option with
dbccdb.
2.3 dbcc_config
The dbcc_config table describes the currently executing or last completed dbcc checkstorage operation.
dbcc_config defines:
Columns
type_code int Matches the type_code from a row in dbcc_types. Valid values are 1 – 9.
value int null Specifies the value of the item identified by type_code. Can be null only if the
value of stringvalue is not null.
stringvalue varchar(255) Specifies the value of the item identified by type_code. Can be null only if the
null value of value is not null.
Related Information
2.4 dbcc_counters
The dbcc_counters table stores the results of the analysis performed by dbcc checkstorage. Counters are
maintained for each database, table, index, partition, device, and invocation of dbcc.
The primary key is the combination of dbid, id, indid, partitionid, devid, opid, and type_code
Columns
id int Identifies the table. The value is derived from sysindexes and sysobjects.
indid smallint Identifies the index. The value is derived from sysindexes.
partitionid int Identifies the defined object-page affinity. The value is derived from sysindexes and
syspartitions.
devid int Identifies the disk device. The value is derived from sysdevices.
type_code int Matches the type_code column of a row in dbcc_types. Valid values are 5000
through 5024.
value real Matches the appropriate type_name for the given type_code as described in
null dbcc_types.
Related Information
2.5 dbcc_exclusions
The dbcc_exclusions table stores the faults, tables or a combination of them that should be excluded from
processing by checkverify and fault reporting via sp_dbcc_faultreport.
Columns
● 1 – faults
● 2 – tables
● 3 – combo
fault_type int null The fault type to be excluded when type is 1 (faults) or 3 (combo). See
\dbcc_types for more information.
table_name varchar(30) The table name to be excluded when type is 2 (faults) or 3 (combo). See
null dbcc_types for more information.
2.6 dbcc_fault_params
The dbcc_fault_params table provides additional descriptive information for a fault entered in the
dbcc_faults table.
Each “value” column (intvalue, realvalue, binaryvalue, stringvalue, and datevalue) can contain a
null value. At least one must be not null. If more than one of these columns contains a value other than null, the
columns provide different representations of the same value.
The primary key is the combination of dbid, opid, faultid, and type_code
Columns
type_code int Defines the interpretation of the value, which is provided by the “value” col
umns. Valid values are 1000 – 1009. They are described in dbcc_types.
2.7 dbcc_faults
The dbcc_faults table provides a description of each fault detected by dbcc checkstorage.
The primary key is the combination of dbid, id, indid, partitionid, devid, opid, faultid, and
type_code
Columns
id smallint Identifies the table. The value is derived from sysindexes and sysobjects.
indid smallint Identifies the index. The value is derived from sysindexes.
partitionid int Identifies the partition. The value is derived from sysindexes and
syspartitions. Counters are maintained for page ranges, so “partition” refers to
the defined object-page affinity, rather than the actual object page chain.
devid int Identifies the disk device. The value is derived from sysdevices.
faultid int Provides a unique sequence number assigned to each fault recorded for the operation.
type_code int Identifies the type of fault. Valid values are 100000 – 100032. They are described in
dbcc_types.
status int Classifies the fault. For more information, see the System Administration Guide.
Value Description
1 Hard fault.
Related Information
2.8 dbcc_operation_log
The dbcc_operation_log table records the use of the dbcc checkstorage operations.
opid smallint Identifies the sequence number of the dbcc checkstorage operation. opid is
an automatically incrementing number, unique for each dbid and finish pair.
maxseq smallint The maximum sequence used by checkverify for a checkstorage operation.
null
2.9 dbcc_operation_results
The dbcc_operation_results table provides additional descriptive information for an operation recorded in
the dbcc_operation_log table.
Each “value” column (intvalue, realvalue, binaryvalue, stringvalue, and datevalue) may contain a
null value. At least one must be not null. If more than one of these columns contains a value other than null, the
columns provide different representations of the same value.
The primary key is the combination of dbid, opid, optype, and type_code
type_code int Defines the dbcc operation type. Valid values are 1000 – 1007. They are de
scribed in dbcc_types.
Related Information
2.10 dbcc_types
This table is not actually used by the dbcc stored procedures. It is provided to facilitate the use of the other
tables in dbccdb, and to document the semantics of the datatypes. Type codes for operation configuration,
analysis data reported, fault classification, and fault report parameters are included. If you create your own
stored procedures for generating reports, you can use the values listed in the type_name column as report
headings.
1 max worker (Optional) Specifies the maximum number of worker processes that can be
processes employed. This is also the maximum level of concurrent processing used. Min
imum value is 1.
2 dbcc named cache Specifies the size (in kilobytes) of the cache used by dbcc checkstorage
and the name of that cache.
3 scan workspace Specifies the ID and name of the workspace to be used by the database scan.
4 text workspace Specifies the ID and name of the workspace to be used for text columns.
5 operation sequence Specifies the number that identifies the dbcc operation that was started
number most recently.
7 OAM count Specifies the percentage by which the OAM counts must vary before they can
threshold be considered to be an error.
8 IO error abort Specifies the number of I/O errors allowed on a disk before dbcc stops
checking the pages on that disk.
9 linkage error Specifies the number of linkage errors allowed before dbcc stops checking
abort the page chains of an object. Some kinds of page chain corruptions might re
quire a check to be stopped with fewer linkage errors than other kinds of page
chain corruptions.
10 enable automatic The flag that enables or disables automatic expansion of workspaces when es
workspace timated size exceeds the actual workspace size.
expansion
1000 hard fault count Specifies the number of persistent inconsistencies (hard faults) found during
the consistency check.
1001 soft fault count Specifies the number of suspect conditions (soft faults) found during the con
sistency check.
1002 checks aborted Specifies the number of linkage checks that were stopped during the consis
count tency check.
1007 text column count Specifies the number of non-null text/image column values found during
the consistency check.
5000 bytes data Specifies (in bytes) the amount of user data stored in the partition being
checked.
5001 bytes used Specifies (in bytes) the amount of storage used to record the data in the parti
tion being checked. The difference between bytes used and bytes
data shows the amount of overhead needed to store or index the data.
5002 pages used Specifies the number of pages linked to the object being checked that are ac
tually used to hold the object.
5003 pages reserved Specifies the number of pages that are reserved for the object being checked,
but that are not allocated for use by that object. The difference between (8 *
extents used) and (pages used + pages reserved) shows the to
tal uncommitted deallocations and pages incorrectly allocated.
5004 pages overhead Specifies the number of pages used for the overhead functions such as OAM
pages or index statistics.
5005 extents used Specifies the number of extents allocated to the object in the partition being
checked. For object 99 (allocation pages), this value is the number of extents
that are not allocated to a valid object. Object 99 contains the storage that is
not allocated to other objects.
5006 count Specifies the number of component items (rows or keys) found on any page in
the part of the object being checked.
5007 max count Specifies the maximum number of component items found on any page in the
part of the object being checked.
5008 max size Specifies the maximum size of any component item found on any page in the
part of the object being checked.
5009 max level Specifies the maximum number of levels in an index. This datatype is not ap
plicable to tables.
5010 pages misallocated Specifies the number of pages that are allocated to the object, but are not ini
tialized correctly. This is a fault counter.
5011 io errors Specifies the number of I/O errors encountered. This datatype is a fault coun
ter.
5012 page format errors Specifies the number of page format errors reported. This datatype is a fault
counter.
5013 pages not Specifies the number of pages linked to the object through its chain, but not
allocated allocated. This datatype is a fault counter.
5014 pages not Specifies the number of pages allocated to the object, but not reached
referenced through its chains. This datatype is a fault counter.
5015 overflow pages Specifies the number of overflow pages encountered. This datatype is applica
ble only to clustered indexes.
5016 page gaps Specifies the number of pages not linked to the next page in ascending se
quence. This number indicates the amount of table fragmentation.
5017 page extent Specifies the number of pages that are linked to pages outside of their own ex
crosses tent. As the number of page extent crosses increases relative to
pages used or extents used, the effectiveness of large I/O buffers de
creases.
5018 page extent gaps Specifies the number of page extent crosses where the subsequent extent is
not the next extent in ascending sequence. Maximal I/O performance on a full
scan is achieved when the number of page extent gaps is minimized. A
seek or full disk rotation is likely for each gap.
5019 ws buffer crosses Specifies the number of pages that are linked outside of their workspace buf
fer cache during the dbcc checkstorage operation. This information can
be used to size the cache, which provides high performance without wasting
resources.
5022 empty pages Number of pages allocated but not containing data.
5023 pages with garbage Number of pages that could benefit from garbage collection.
10000 page id Specifies the location in the database of the page that was being checked
when the fault was detected. All localized faults include this parameter.
10001 page header Specifies the hexadecimal representation of the header of the page that was
being checked when the fault was detected. This information is useful for eval
uating soft faults and for determining if the page has been updated since it
was checked. The server truncates trailing zeros.
10002 text column id Specifies an 8-byte hexadecimal value that gives the page, row, and column of
the reference to a text chain that had a fault. The server truncates trailing ze
ros.
10003 object id Specifies a 9-byte hexadecimal value that provides the object id (table),
the partition id (partition of the table) if applicable, and the index id
(index) of the page or allocation being checked.
10007 page id expected Specifies the page ID that is expected for the linked page when there is a dis
crepancy between the page ID that is expected and the page ID that is actually
encountered.
For example, if you follow the chain from P1 to P2 when going forward, then,
when going backward, P1 is expected to come after P2. The value of page
id expected is P1, and the value of page id is P2. When the actual
value of P3 is encountered, it is recorded as page id actual.
10008 page id actual When there is a discrepancy between the page ID that is encountered and the
expected page ID, this value specifies the actual page ID that is encountered.
(See also, type_code 10007.)
For example, if you follow the chain from P1 to P2 when going forward, then,
when going backward, P1 is expected to come after P2. The value of page
id expected is P1, and the value of page id is P2. When the actual
value of P3 is encountered, it is recorded as page id actual.
10009 object id expected Specifies a 9-byte hexadecimal value that provides the expected object id (ta
ble), the partition id (partition of the table) if applicable, and the index id (in
dex) of the page or allocation being checked.
10010 data-only locked Indicates the 44-byte page header for the page where the fault is located.
data page header
10011 data-only locked Indicates the 44-byte page header for the page where the fault is located.
b-tree leaf page
header
10012 data-only locked Indicates the 44-byte page header for the page where the fault is located.
b-tree header
20002 indexalloc reco Runs dbcc indexalloc with the fix option.
20003 tablealloc reco Runs dbcc tablealloc with the fix option.
30000 drop object reco Drops the object and re-creates it.
30001 bulk copy reco Bulk copies the data out and back in.
40000 check logs for Checks your operating system logs and corrects all reported hardware prob
hardware failure lems on disks containing an SAP device.
reco
40001 checkalloc reco Runs dbcc checkalloc with the fix option.
100000 IO error Indicates that part of the identified page could not be fetched from the device.
This is usually caused by a failure of the operating system or the hardware.
100001 page id error Indicates that the identifying ID (page number) recorded on the page is not
valid. This might be the result of a page being written to or read from the
wrong disk location, corruption of a page either before or as it is being written,
or allocation of a page without subsequent initialization of that page.
100002 page free offset Indicates that the end of data on a page is not valid. This event affects inser
error tions and updates on this page. It might affect some access to the data on this
page.
100003 page object id Indicates that the page appears to be allocated to some other table than the
error one expected. If this is a persistent fault, it might be the consequence of ei
ther:
● An incorrect page allocation, which might only result in the effective loss
of this page to subsequent allocation, or
● A corrupted page chain, which might prevent access to the data in the
corrupted chain.
100004 timestamp error Indicates that the page has a timestamp that is later than the database time
stamp. This error can result in failure to recover when changes are made to
this page.
100005 wrong dbid error Indicates that the database ID dbid is stored on the database allocation pa
ges. When this ID is incorrect, the allocation page is corrupt and all the indi
cated allocations are suspect.
100006 wrong object error Indicates that the page allocation is inconsistent. The page appears to belong
to one table or index, but it is recorded as being allocated to some other table
or index in the allocation page. This error differs from page object id
error in that the allocation is inconsistent, but the consequences are similar.
100007 extent id error Indicates that an allocation was found for a table or index that is unknown to
dbcc checkstorage. Typically, this results in the inability to use the allo
cated storage.
100008 fixed format error Indicates that the page incorrectly indicates that it contains only rows of a sin
gle fixed length. dbcc checkstorage reports this error. dbcc
checktable does not report it, but does repair it.
100009 row format error Indicates that at least one row on the page is incorrectly formatted. This error
might cause loss of access to some or all the data on this page.
100010 row offset error Indicates that at least one row on the page is not located at the expected page
offset. This error might cause loss of access to some or all of the data on this
page.
100011 text pointer error Indicates that the location of the table row that points to the corrupted text
or image data. This information might be useful for correcting the problem.
100012 wrong type error Indicates that the page has the wrong format. For example, a data page was
found in an index or a text/image column.
100013 non-OAM error This error is a special case of wrong type error. It is not reported as a
separate condition in the current release.
100014 reused page error Indicates that a page is reached by more than one chain and that the chains
belong to different objects. This error indicates illegal sharing of a page
through corrupt page chain linkages. Access to data in either or both tables
might be affected.
100015 page loop error Indicates that a page is reached a second time while following the page chain
for an object, which indicates a loop in the page chain. A loop can result in a
session hanging indefinitely while accessing data in that object.
100016 OAM ring error Indicates that a page is allocated but not reached by the page chains for the
object.Typically, this results in the inability to use the allocated storage.
100017 OAM ring error Indicates that the OAM page ring linkages are corrupted. This might not affect
access to the data for this object, but it might affect insertions, deletions, and
updates to that data.
100018 missing OAM error Indicates that dbcc checkstorage found an allocation for the object that
was not recorded in the OAM. This error indicates a corruption that might af
fect future allocations of storage, but probably does not affect access to the
presently stored data.
100019 extra OAM error Indicates that an allocation for this object was recorded in the OAM, but it was
not verified in the allocation page. This error indicates a corruption that might
affect future allocations of storage, but probably does not affect access to the
presently stored data.
100020 check aborted Indicates that dbcc checkstorage stopped checking the table or index.
error To prevent multiple fault reports, the check operation on a single chain might
be stopped without reporting this error. When an object contains several page
chains, failure of the check operation for one chain does not prevent the con
tinuation of the check operation on the other chains unless a fault threshold is
exceeded.
100021 chain end error Indicates that the end of the chain is corrupted. As a soft fault, it might indi
cate only that the chain was extended or truncated by more than a few pages
during the dbcc checkstorage operation.
100022 chain start error Indicates that the start of a chain is corrupted or is not at the expected loca
tion. If this is a persistent fault, access to data stored in the object is probably
affected.
100023 used count error Indicates an inconsistency between the count of the pages used that is re
corded in the OAM page and the count of the pages used that is determined
by examining the allocation pages.
100024 unused count error Indicates an inconsistency between the count of the pages reserved but un
used that is recorded in the OAM page and the count of the pages reserved
but unused that is determined by examining the allocation pages.
100025 row count error Indicates an inconsistency between the row count recorded in the OAM page
and the row count determined by dbcc checkstorage.
100026 serialloc error Indicates a violation of the serial allocation rules applied to log allocations.
100027 text root error Indicates a violation of the format of the root page of a text or image index.
This check is similar to the root page checks performed by dbcc
textalloc.
100028 page misplaced Indicates that pages of this object were not found where they were expected
to be from examination of the system tables. This usually indicates that
sp_placeobject was used sometime in the past. In the
dbcc_counters table, all misplaced pages are counted together, rather
than being reported by device and partition.
100029 page header error Indicates an internal inconsistency in the page’s header other than the kind
described by the other type codes. The severity of this error depends on the
type of page and the inconsistency found.
100030 page format error Indicates an internal inconsistency in the page’s body other than the kind de
scribed by the other type codes. The severity of this error depends on the type
of page and the inconsistency found.
100031 page not allocated Indicates that dbcc checkstorage reached an unallocated page by fol
lowing a page chain. This condition might affect access to data stored in this
object.
100032 page linkage error Indicates that dbcc checkstorage detected a fault with either the next or
previous linkage of an interior page of a chain. If this is a persistent fault, ac
cess to data stored in the object is probably affected.
100033 non-contiguous Indicates an invalid or inconsistent value for the noncontiguous free space on
free-space error the page.
100034 insert free space Indicates an invalid or inconsistent value for the contiguous free space on the
error page.
100036 deleted row count Indicates an invalid or inconsistent value for the deleted row count on the
error page.
100037 forwarded rows Indicates an inconsistency between the forwarded rows indicator and the
error number of forwarded rows on the page.
100038 page header type Indicates that a page header format indicator set incorrectly.
error
100040 OAM page format Non-first OAM page has non-zero first OAM page-specific data.
error
Note
To allow for future additions to dbcc_types, some type_code numbers are not used at this time.
The Attributes column in monitoring and diagnostic (MDA) tables provides information about how the SAP ASE
server manages the column.
● “Counter” indicates value in this column may wrap, or become zero and start incrementing again, because
the value exceeds the maximum possible value of 231. The SAP ASE server resets the monitor counters
when you run sp_sysmon without the noclear option. In SAP ASE version 15.0.1 and later, the noclear
option is, by default, included as a sp_sysmon parameter. In versions earlier than 15.0.1, you must specify
noclear to prevent the SAP ASE server from resetting the monitor counters.
Resetting monitor counters may skew your results if you run sp_sysmon on the same SAP ASE server on
which you are using the monitoring tables.
● “Null” indicates the column value may be null.
● “Reset” indicates the column is reset when you run sp_sysmon in a manner that causes it to clear the
monitoring counters (see Performance and Tuning Series: Monitoring Adaptive Server with sp_sysmon).
3.1 monBucketPool
Collects information about allocation of memory for memory pools managed by the bucket pool manager.
Columns
NumSets int None Number of sets in each bucket pool instance. Additional sets
are added when the pool grows. Sets can be removed by
shrinking the pool.
BucketPoolUsed int None Size of the used portion of the bucket pool (in bytes).
BucketPoolUsedMax int None Largest value of <BucketPoolUsed> since the last time the
counters were reset.
BucketPoolAllocs int None Total number of allocation requests made to this bucket pool
(whether successful or not).
BucketPoolRetries int None Number of times the allocation was retried due to engine con
tention, or bucket or instance being empty.
BucketPoolFailures int None Number of times the allocation failed and returned no mem
ory to the caller.
BucketPoolMinFragS int Size of the smallest fragment available in the global bucket.
ize
BucketPoolMaxFragS int Size of the largest fragment available in the global bucket.
ize
BucketEmpty int None Number of times the bucket was empty and the allocation
was made from the global bucket instead.
BucketAllocs int None Number of allocations made from the bucket since the last
time the counters were reset.
BucketFrees int None Number of fragments freed or added to the bucket since the
last time the server reset the counters.
BucketAllocsMissed int None Number of times the allocation had to be retried because an
other engine allocated the intended fragment first.
BucketNonEmptyInst int Number of instances of a bucket having at least one free frag
s ment to allocate.
InstanceEmpty int None Number of times the allocation could not be made by the pre
ferred instance for the current engine, and the engine had to
try the next instance.
InstanceHWM int None Highest value recorded for <Numfrags> since the counters
were last reset.
InstanceLWM int None Lowest value recorded for <Numfrags> since the counters
were last reset.
InstanceAllocs int None Number of allocations made from the instance since the
server last rest the counters.
InstanceFrees int None Number of fragments freed or added to the instance since the
last time the server rest the counters.
3.2 monCachedObject
Stores statistics for all tables, partitions, and indexes with pages currently in a data cache.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
PartitionID int None Unique identifier for the partition. This is the same value as
ObjectID for nonpartitioned objects.
CachedKB int None Number of kilobytes of the cache the object is occupying.
ObjectID int None Unique identifier for the object. Null if the descriptor for the object
has been removed from the server’s metadata cache. In this situa
tion, you can determine the object identifier by querying
syspartitions in the specified database for the value of
PartitionID.
DBName varchar( None Name of the database (NULL if the descriptor for the object was re
30) moved from the server’s metadata cache).
OwnerName varchar( None Name of the object owner (null if the descriptor for the object was
30) removed from the server’s metadata cache).
ObjectName varchar( None Name of the object (null if the descriptor for the object was removed
30) from the server’s metadata cache).
PartitionName varchar( None Name of the object partition (null if the descriptor for the object was
30) removed from the server’s metadata cache).
ObjectType varchar( None Object type (null if the object is no longer open).
30)
ProcessesAccess int Counter Number of processes currently accessing pages for this object in
ing the data cache.
3.3 monCachePool
Stores statistics for all pools allocated for all data caches.
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
IOBufferSize int None Size (in bytes) of the I/O buffer for the pool
PhysicalRead int Counter Number of buffers read from disk into the pool
s
Stalls int Counter, re Number of times I/O operations were delayed because no clean buffers
set were available in the wash area for this data cache
PagesTouched int Counter Number of pages that are currently being used within the pool
BuffersToMRU int Counter Number of buffers fetched and replaced in the most recently used por
tion of the pool
BuffersToLRU int Counter Number of buffers fetched and replaced in the least recently used por
tion of the pool: fetch and discard
PhysicalWrit int Counter Number of write operations performed for data in this pool (one write
es operation may include multiple pages)
APFReads int Counter Number of asynchronous prefetch (APF) read operations that loaded pa
ges into this pool
APFPercentag int None The configured asynchronous prefetch limit for this pool
e
WashSize int None The wash size, in kilobytes, for a memory pool
Stores statistics for all stored procedures, triggers, and compiled plans currently stored in the procedure
cache.
Enable the enable monitoring and statement statistics active configuration parameters for this
monitoring table to collect data.
Columns
DBID int None Unique identifier for the database in which the object exists
PlanID int None Unique identifier for the query plan for the object in the proce
dure cache
ObjectType varchar(3 None Type of procedure (for example, stored procedure or trigger)
2)
RequestCnt int Counter Number of times this procedure was requested from cache
TempdbRemapCnt long Counter Number of times this procedure was remapped for the tem
porary database’s ID.
AvgTempdbRemapTime int None Average time (in milliseconds) spent remapping the tempo
rary databases’s ID.
ExecutionCount int Counter Number of times the SAP ASE server executed the stored
procedure plan or tree since it was cached
ExecutionTime int Counter Total amount of elapsed time, in milliseconds, the SAP ASE
server spent executing the stored procedure plan or tree
SnapCodegenTime int Counter Total number of microseconds of CPU time used by the stored
procedure plan's compiled queries code generation for simpli
fied native access plans.
SnapJITTime int Counter Total number of microseconds of CPU time used by the stored
procedure plan's just-in-time compilation for simplified native
access plans.
SnapExecutionCount int Counter Number of times the stored procedure plan's compiled quer
ies has been executed since it was compiled.
Active varchar None Indicates if the plan for this procedure is up-to-date with the
schema of tables that it accesses.
DMLStatementCount int None Number of SQL DML statements executed against HANA.
NonpushdownCount int None Number of SQL DML statements not fully pushed down to
HANA.
The monCachedStatement table includes information about resources used during the previous executions of
a statement, how frequently a statement is executed, the settings in effect for a particular plan, the number of
concurrent uses of a statement, and so on. This information can be helpful when troubleshooting, and when
deciding which statements to retain in the cache.
Note
Machines that use multiple CPUs with different clock frequencies may report inaccurate elapsed time.
● The columns in monCachedStatement allow two attributes: “counter” if the column has a counter value,
and “reset” if you can reset the column using sp_sysmon.
● Enable the enable monitoring, statement cache size, and enable stmt cache monitoring
configuration parameters for this monitoring table to collect data.
● Versions of SAP ASE earlier than 16.0 updated metrics in monCachedStatement when the statement
finished. However, when SAP ASE 16.0 and later executes a statement cache, it periodically updates these
values while it executes a query:
○ TotalLIO
○ MaxLIO
○ TotalPIO
○ MaxPIO
○ TotalCPUTime
○ MaxCPUTime
○ TotalElapsedTime
○ MaxElapsedTime
● Increments the UseCount column when statement begin execution. The value for UseCount is:
The CurrentUsageCount column includes the number of active queries for a statement. The number of
completed executions for a statement is:
● Increments the value for columns that describe maximums (for example, MaxCPUTime) for currently
executing statements if the metric described by the column (in this case, CpuTime) exceeds the maximum
value used during an intermediate update. Maximum columns reflect up-to-date metrics (including
metrics for active queries), which helps determine if a currently executing query is consuming resources
that exceed previous or normal usage.
Other metrics (for example, MinLIO and AvgLIO) are updated after query executions are finished.
SSQLID int None Unique identifier for each cached statement. This value is
treated as a primary key for monCachedStatement, and is
used in functions.
Hashkey int None Hash value of the SQL text of the cached statement. A hash
key is generated based on a statement’s text, and can be used
as an approximate key for searching other monitoring tables.
UserID int None User ID of the user who initiated the statement that has been
cached.
SUserID int None Server ID of the user who initiated the cached statement.
DBID smallint None Database ID of the database from which the statement was
cached.
UseCount int None Number of times the statement was accessed after it was
cached.
MinPlanSizeKB int None Size of the plan when it is not in use, in kilobytes.
CurrentUsageCount int None Number of concurrent users of the cached statement. Attrib
ute is counter.
MaxUsageCount int None Maximum number of times the cached statement’s text was
simultaneously accessed. Attribute is counter.
NumRecompilesSchem int None Number of times the statement was recompiled due to
aChanges schema changes. Running update statistics on a ta
ble may result in changes to the best plan. This change is
treated as a minor schema change.
NumRecompilesPlanF int None Number of times the cached statement was recompiled be
lushes cause a plan was not found in the cache. Attribute is counter.
HasAutoParams tinyint None “true” if the statement has any parameterized literals, “false”
if it does not.
ParallelDegree tinyint None Degree of parallelism used by the query that is stored for this
statement
QuotedIdentifier tinyint None Specifies whether the plan compiled with set
quoted_identifier is enabled.
TransactionIsolati tinyint None Transaction isolation level for which the statement was com
onLevel piled.
TransactionMode tinyint None Specifies whether “chained transaction mode” is enabled for
the statement.
SAAuthorization tinyint None Specifies whether the plan was compiled with sa_role authori
zation.
SystemCatalogUpdat tinyint None Specifies whether allow catalog updates was ena
e bled when the plan was compiled.
MetricsCount int None Number of times metrics were aggregated for this statement.
MinPIO int None Maximum physical I/Os that occurred during any execution of
this statement.
MaxPIO int None Maximum physical I/Os that occurred during any execution of
this statement.
AvgPIO int None Average number of physical I/Os that occurred during execu
tion of this statement.
MinLIO int None Minimum logical I/Os that occurred during any execution of
this statement.
MaxLIO int None Maximum logical I/Os that occurred during any one execution
of this statement.
AvgLIO int None Average number of logical I/Os that occurred during execu
tion of this statement.
MinCpuTime int None The minimum amount of CPU time, in milliseconds, con
sumed by any execution of this statement.
MaxCpuTime int None The maximum amount of CPU time, in milliseconds, con
sumed by any execution of this statement.
AvgCpuTime int None The average amount of CPU time, in milliseconds, consumed
by this statement.
MinElapsedTime int None Minimum elapsed execution time for this statement.
MaxElapsedTime int None Maximum elapsed execution time for this statement.
AvgElapsedTime int None Average elapsed execution time for this statement.
AvgScanRows int None Average number of scanned rows read per execution
MaxScanRows int None Maximum number of scanned rows read per execution
AvgQualifyingReadR int None Average number of qualifying data rows per read command
ows execution
MaxQualifyingReadR int None Maximum number of qualifying data rows per query execution
ows
AvgQualifyingWrite int None Average number of qualifying data rows per query execution
Rows
MaxQualifyingWrite int None Maximum number of qualifying data rows per query execution
Rows
LockWaitTime int None Total amount of time, in milliseconds, spent waiting for locks
DBName varchar(3 None Name of database from which the statement was cached. At
0) tribute is null.
CachedDate datetime None Timestamp of the date and time when the statement was first
cached.
LastUsedDate datetime None Timestamp of the date and time when the cached statement
was last used. Use this information with CachedDate to de
termine how frequently this statement is used, and whether it
is helpful to have it cached.
LastRecompiledDate datetime None Date when the statement was last recompiled, because of
schema changes or because the statement was not found in
the statement cache.
OptimizationGoal varchar(3 None The optimization goal used to optimize this statement.
0)
OptimizerLevel varchar(3 None The optimizer level used to optimize this statement.
0)
WorkerThreadDefici int None Indicates that the cumulative total number of worker threads
t were unavailable to execute this query since it was added to
the statement cache.
TotalCpuTime bigint None Cumulative elapsed time, in seconds, this statement spent
using CPU
TotalElapsedTime bigint None Cumulative amount of time, in seconds spent executing this
statement
Applies to cluster environments only. Provides summary figures for total messaging within the cluster, as
viewed from the current instance or all instances.
One row is returned in the monCIPC table for each instance in the cluster, if the system view is set to cluster;
otherwise, a single row is returned for the instance on which the query is executed.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
Multicast int Counter, reset Number of messages sent that were addressed to all other in
stances in the cluster
ReceiveSoftError int Counter, reset Number of recoverable errors received on this instance
ReceiveHardError int Counter, reset Number of unrecoverable errors received on this instance
TransmitSoftError int Counter, reset Number of recoverable transmit errors on this instance
TransmitHardError int Counter, reset Number of unrecoverable transmit errors on this instance
Switches int Counter, reset Number of switches between the primary interconnect net
work and the secondary interconnect network
FailedSwitches int Counter, reset Number of attempts to switch between primary and secon
dary interconnect networks that failed
RegularBuffersInUs int None Number of buffers from the CIPC regular buffer pool currently
e allocated.
FreeRegularBuffers int None Number of buffers available in the CIPC regular buffer pool.
MaxRegularBuffersI int None Maximum number of buffers from the CIPC regular buffer
nUse pool allocated at any time since the server was started.
LargeBuffersInUse int None Number of buffers from the CIPC large buffer pool currently
allocated.
FreeLargeBuffers int None Number of buffers available in the CIPC large buffer pool.
MaxLargeBuffersInU int None Maximum number of buffers from the CIPC large buffer pool
se allocated at any time since the server was started.
3.7 monCIPCEndpoints
Applies to cluster environments only. Provides a detailed summary, giving traffic data for each subsystem
within the cluster instance.
One row is returned for each logical endpoint in the instance. If the system view is set to cluster, a set of rows
is returned for each node in the cluster.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
ReceiveCount int Counter, reset Number of messages received by this logical endpoint within
the cluster
TransmitCount int Counter, reset Number of messages sent by this logical endpoint within the
instance
ReceiveBytes int Counter, reset Number of bytes received by this logical endpoint within the
instance
TransmitBytes int Counter, reset Number of bytes sent by this logical endpoint within the in
stance
ReceiveQ int Counter Current number of messages queued for this logical endpoint
MaxReceiveQ int Counter Maximum number of messages ever observed queued for this
logical endpoint
DoneQ int None Current number of messages for this logical endpoint that
were processed and await further action
MaxDoneQ int None Maximum number of messages ever observed for this logical
endpoint, which have been processed and await further action
MaxRecvQTime real None Maximum time (in milliseconds) a message spends in the
queues of the current logical end point.
AvgRecvQTime real None Average time (in milliseconds) a message spends in the
queues of the current logical end point.
3.8 monCIPCLinks
Applies to cluster environments only. Monitors the state of the links between instances in the cluster.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
LocalInterface varchar(3 None Name of the link’s local network endpoint. Same name that
0) appears in the hosts file for a server name.
RemoteInterface varchar(3 None Name of the link’s remote end point. Same name that appears
0) in the hosts file for a server name.
PassiveState varchar(1 None Latest state listed in the traffic on the link.
0)
PassiveStateAge int None Time since the PassiveState column was updated, in mil
liseconds.
ActiveState varchar(1 None Latest state used, as determined by active monitoring (when
0) no traffic was present on the link).
ActiveStateAge int None Time since the ActiveState column was updated, in milli
seconds.
3.9 monCIPCMesh
Applies to cluster environments only. Gives summary figures for the mesh of connections, from the current
instance to all other instances in the cluster, on a per-instance basis.
One row is returned for each of the four connections to each of the other nodes in the cluster, up to the
maximum configured. If the system view is cluster, a set of rows for each instance active in the cluster is
returned.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
FarInstanceID tinyint None Instance number of the far-end instance in the cluster.
Received int Counter Number of messages received by this instance from the
FarInstanceID instance.
ControlTx int Counter Number of control messages sent by the InstanceID in
stance for this mesh.
MaxSendQ int Counter Maximum number of packets in the send queue for this mesh
since the InstanceID instance was started.
SentQ int Counter Number of packets sent by the InstanceID instance to the
FarInstanceID instance that have not yet been acknowl
edged by the FarInstanceID instance.
MaxSentQ int Counter Maximum number of messages sent, but notification of send
ing is not yet processed.
MaxSendQTime real None Maximum time that has been required to process a message
in the send queue for this mesh. In milliseconds.
AvgSendQTime real None Average amount of time required to process a message in the
send queue for this mesh. In milliseconds.
Mesh varchar(3 None The channel name for the connection. One of:
0) ● Out of Band
● Message
● Large Message
● Direct memory access (DMA)
MinRTT int None Minimum round-trip delay observed for messages (applies
only to user datagram protocol (UDP) transport).
MaxRTT int None Maximum round trip delay observed for messages (applies
only to UDP transport).
AverageRTT int None Average round trip delay observed for messages (applies only
to UDP transport).
3.10 monCLMObjectActivity
monCLMObjectActivity tracks:
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
Columns
Object_PartitionID int None Identity of the object making the lock request.
LocalMaster int Counter Number of times a lock request finds the current instance to
be the lock master.
Waited int Counter Number of lock requests granted with contention at the re
mote instance.
Granted int Counter Number of lock requests granted without contention at the
remote instance.
RWConflictWaited int Counter Number of lock requests that waited because of a read-write
conflict lock that was granted to a task at a remote instance.
AvgRWConflictWaitT real None Average amount of time spent performing the wait described
ime by RWConflictWaited.
MaxRWConflictWaitT real None Maximum amount of time spent performing the wait descri
ime bed by RWConflictWaited.
WWConflictWaited int None Number of lock requests that waited because of a write-write
conflict lock that was granted to a task at a remote instance.
AvgWWConflictWaitT real None Average amount of time spent performing the wait described
ime by WWConflictWaited.
MaxWWConflictWaitT real None Maximum amount of time spent performing the wait descri
ime bed in WWConflictWaited.
DowngradeReqRecv int Counter Number of downgrade service requests received at the clus
ter lock owner.
DowngradeReqRecvWi int Counter Number of the downgrade service requests received without
thNoBlocker any blocking task ownership at cluster lock owner.
3.11 monClusterCacheManager
Applies to cluster environments only. Stores diagnostic information about the cluster cache manager daemon
running on each instance. monClusterCacheManager reports cluster-wide information on a per-instance
basis.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
RequestsQueued int Counter, reset Number of requests queued to the cluster cache manager
daemon
RequestsRequeued int Counter, reset Number of requests requeued to the cluster cache manager
daemon
RequestsServiced int Counter, reset Number of requests serviced by the cluster cache manager
daemon
DiskWrites int Counter, reset Number of disk writes initiated by the cluster cache manager
daemon
SleepCount int Counter, reset Number of times the cluster cache manager daemon went to
sleep
TransfersInitiated int Counter, reset Number of transfers initiated by the cluster cache manager
daemon
Downgrades int Counter, reset Number of downgrades performed by the cluster cache man
ager daemon
Releases int Counter, reset Number of releases performed by the cluster cache manager
daemon
AvgServiceTime real None Average time (in milliseconds) spent servicing a request
MaxQSize int None Maximum number of requests queued to the cluster cache
manager daemon at any time since the instance started
3.12 monCMSFailover
Applies to cluster environments only. Tracks the time at which the cluster membership service (CMS) detects
the failure, gets a new cluster view, resynchronizes the heartbeat, posts the failure event, and completes the
failure event. There is a row for each instance.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
3.13 monDataCache
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
Columns
RelaxedReplaceme int None Specifies whether the cache is using relaxed cache replace
nt ment strategy
PhysicalReads int Counter, reset Number of buffers read into the cache from disk
LogicalReads int Counter, reset Number of buffers retrieved from the cache
PhysicalWrites int Counter, reset Number of buffers written from the cache to disk
Stalls int Counter, reset Number of times I/O operations were delayed because no
clean buffers were available in the wash area
CachePartitions smallint None Number of partitions currently configured for the cache
APFReads int Counter Number of asynchronous prefetch (APF) reads for this data
cache
CASGrabs bigint None Number of times the cache spinlock was acquired
CASSpins bigint None Number of times the process spun, waiting for the cache spin
lock
CASWaits bigint None Number of times process spun, waiting for the cache spinlock
Applies to cluster environments only. Contains rows from all instances in the cluster and contains rows for
every database that contributes to recovery.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
InstanceID int None Instance that performed the recovery (applicable only to the
Cluster Edition)
MaxOpenXacts int None Maximum number of open transactions seen during recovery
MaxPFTSEntries int None Maximum number of PFTS entries seen during recovery
LogBTotPages int None Number of log scan getpage requests during the log
boundary determination pass.
LogBTotAPFWaited int None Number of log scan getpage requests that found the
I/O in progress during the log boundary determination pass
LogBTotIO int None Number of log scan getpage requests with physical I/O
during the log boundary determination pass
AnlTotRec int None Total number of log records to be scanned by the recovery
process
AnlTotPages int None Number of log scan getpage requests during the analy
sis process
AnlTotAPFWaited int None Number of log scan getpage requests that found the
I/O in progress during the analysis pass
AnlTotIO int None Number of log scan getpage requests with physical I/O
during the analysis pass
RedoOpsNotRedonePF int None Operations that did not need redo (PFTS check)
TS
RedoOpsRedonePFTS int None Operations that might need redo (PFTS check)
RedoOpsNotRedoneTS int None Operations that did not need redo (timestamp check)
RedoLogTotPages int None Number of log scan getpage requests during the redo
pass
RedoLogTotAPFWaite int None Number of log scan getpage requests that found the
d I/O in progress during the redo pass
RedoLogTotIO int None Number of log scan getpage requests with physical I/O
during the redo pass
UndoLogTotPages int None Number of log scan getpage requests during the undo
pass
UndoLogTotAPFWaite int None Number of log scan getpage requests that found the
d I/O in progress during the undo pass
UndoLogTotIO int None Number of log scan getpage requests with physical I/O
during the undo pass
FailedInstances int None ID of the failed instances (applicable only to the Cluster Edi
tion)
LogBStartTime datetime None Start time for the log boundaries determination pass
LogBEndTime datetime None End time for the log boundaries determination pass
3.15 monDBRecoveryLRTypes
Applies to cluster environments only. Tracks log records seen during recovery. Contains a row for each log
record type for which at least one log record was seen by recovery.
You need not enable any configuration parameters for this monitoring table to collect data.
InstanceID int1 None (Cluster environments only) Instance that performed the re
covery
3.16 monDeadLock
Provides information about deadlocks. Use deadlock pipe max messages to tune the maximum number of
messages returned.
monDeadLock is an historical monitoring table. See Performance and Tuning: Monitoring Tables.
Use sp_monitor 'deadlock' to check current deadlock options. The deadlock parameter provides a
number of reports based on monDeadLock, which are useful for analyzing the history of server deadlocks.
Enable the enable monitoring, deadlock pipe max messages, and deadlock pipe active
configuration parameters for this monitoring table to collect data.
Columns
VictimKPID int None Kernel process ID (kpid) of the victim process for the deadlock
ObjectDBID int None Unique database identifier for database where the object resides
PageNumber int None Page number requested for the lock, if applicable
RowNumber int None Row number requested for the lock, if applicable
HeldFamilyID tinyint None spid of the parent process holding the lock
HeldProcDBID int None Unique identifier for the database where the stored procedure
that caused the lock to be held resides, if applicable
HeldProcedureID int None Unique object identifier for the stored procedure that caused the
lock to be held, if applicable
HeldBatchID int None Identifier of the SQL batch executed by the process holding the
lock when the deadlock occurred
HeldContextID int None Unique context identifier for the process holding the lock when it
was blocked by another process (not when it acquired the lock)
HeldLineNumber int None Line number within the batch of the statement being executed by
the process holding the lock when it was blocked by another
process (not when it acquired the lock)
WaitFamilyID int None spid of the parent process waiting for the lock
WaitSPID int None spid of the process waiting for the lock
WaitKPID int None kpid of the process waiting for the lock
WaitTime int None Amount of time, in milliseconds, that the waiting process was
blocked before the deadlock was resolved
HeldUserName varchar(3 None Name of the user for whom the lock is being held
0)
HeldTranName varchar(2 None Name of the transaction in which the lock was acquired
55)
HeldCommand varchar(3 None Category of process or command that the process was executing
0) when it was blocked
WaitUserName varchar(3 None Name of the user for whom the lock is being requested
0)
HeldClientApplN varchar(3 None Value for the <clientapplname> property set by the application
ame 0) holding the lock
HeldClientName varchar(3 None Value of the <clientname> property set by the application hold
0) ing the lock
HeldClientHostN varchar(3 None Value for the <clienthostname> property set by the application
ame 0) holding the lock
HeldHostName varchar(3 None Name of the host machine on which the application that executed
0) the query holding the lock is running
HeldProcDBName varchar(3 None Name of the database in which the stored procedure was execut
0) ing the blocking process at the time the deadlock occurred, if ap
plicable
HeldProcedureNa varchar(3 None Name of the stored procedure the blocking process was execut
me 0) ing at the time the deadlock occurred, if applicable
HeldStmtNumber int None Statement number in the SQL batch of the SQL statement hold
ing the lock
WaitApplName varchar(3 None Name of the application waiting for the lock
0)
WaitBatchID int None Identifier of the SQL batch executed by the process waiting for
the lock when the lock timeout occurred
WaitClientApplN varchar(3 None Value of the <clientapplname> property set by the application
ame 0) waiting for the lock
WaitClientHostN varchar(3 None Value of the <clienthostname> property set by the application
ame 0) waiting for the lock
WaitClientName varchar(3 None Value of the <clientname> property set by the application wait
0) ing for the lock
WaitCommand varchar(3 None Category of process or command that the process was executing
0) when it was blocked and then timed out
WaitContextID int None Unique context identifier for the process waiting for the lock when
it was blocked by another process
WaitHostName varchar(3 None Name of the host running the process waiting for the lock.
0)
WaitLineNumber int None Line number of the SQL statement in the SQL batch or stored
procedure waiting for the lock
WaitProcDBID int None Unique identifier for the database in which the stored procedure
waiting for the lock resides, if applicable
WaitProcDBName varchar(3 None Name for the database where the stored procedure that is waiting
0) for the lock resides, if applicable
WaitProcedureID int None ID of the stored procedure waiting for the lock, if applicable
WaitProcedureNa varchar(3 None Name for the stored procedure waiting for the lock, if applicable
me 0)
WaitStmtNumber int None Line number in SQL batch waiting for the lock
WaitTranName varchar(2 None Name of the transaction in which the lock was requested
55)
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
Columns
APFReads int Counter, reset Number of asynchronous prefetch (APF) reads from the de
vice
DevSemaphoreReques int Counter, reset Number of I/O requests to a mirrored device (if mirrored)
ts
DevSemaphoreWaits int Counter, reset Number of tasks forced to wait for synchronization of an I/O
request to a mirrored device (if mirrored)
IOTime int Counter Total amount of time (in milliseconds) spent waiting for I/O
requests to be satisfied
ReadTime int Counter Cumulative amount of time spent performing reads on this
device
WriteTime int Counter Cumulative amount of time spent performing writes on this
device
The monDeviceSegmentIO monitoring table displays the DSAM collection information by device and
segment.
Columns
PhysicalReads unsigned bigint None The number of physical reads recorded for
this DBID, device, or segment.
LogicalReads unsigned bigint None The number of logical reads recorded for
this DBID, device, or segment.
PhysicalWrites unsigned bigint None The number of writes recorded for this
DBID, device, or segment.
3.19 monDeviceSpaceUsage
Provides information about the file systems on which database devices are allocated. Space information is
available only for file system devices. File system size and free space values are NULL for database devices
allocated on raw devices.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
FileSystemFreeMB int None Amount of available free space, in megabytes, on the file sys
tem.
3.20 monDeviceSegmentUsage
The monDeviceSegmentUsage monitoring tables displays pages used in a database by device and segment.
Queries on monDeviceSegmentUsage can take a very long time to run, because the table's data is generated
by reading system catalogs and scanning disks at the time the query is issued. To minimize the time spent
getting results, specify as many of the table’s keys (DBID, DeviceNumber, SegmentNumber) as possible, to
limit the amount of work SAP ASE performs to obtain results. The bigger the database or the more databases
that you scan, the longer the query takes to produce results.
Columns
PagesUsed bigint None How many logical pages are in use on this
DBID, device, or segment.
Compute Result:
--------------------
2904
DBID DeviceNumber SegmentNumber PagesUsed Stranded
----------- ----------- ----------- -------------------- -----------
2 0 0 744 0
2 0 1 104 0
2 0 2 8 0
Compute Result:
--------------------
856
DBID DeviceNumber SegmentNumber PagesUsed Stranded
----------- ----------- ----------- -------------------- -----------
31513 0 0 768 0
31513 0 1 104 0
31513 0 2 16 0
Compute Result:
--------------------
888
This table only shows databases where the information is cached in memory. If a display of a database not
currently cached is requested, no rows will return. Specify use <database>, then query the table again. The
act of using a database caches its information.
3.21 monEngine
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
Columns
CurrentKPID int None Kernel process identifier (kpid) for the currently executing
process.
CPUTime int Counter, reset Total time, in seconds, the engine has been running.
SystemCPUTime int Counter, reset Time, in seconds, the engine has been executing system data
base services.
UserCPUTime int Counter, reset Time, in seconds, the engine has been executing user com
mands.
IOCPUTime int Counter, reset The amount of time, in seconds, the engine has been waiting
for issued IOs to complete.
IdleCPUTime int Counter, reset Time, in seconds, the engine has been in idle spin mode.
Yields int Counter, reset Number of times this engine yielded to the operating system.
If you are running the SAP ASE server in process mode, mod
ify the rate of yielding during idle periods using runnable
process search count. If you are running the SAP ASE
server in threaded mode, modify the rate of yielding during
idle periods with alter thread pool .. idle
timeout.
DiskIOChecks int Counter, reset Number of times the engine or disk controller (for process or
threaded mode, respectively) checks for asynchronous disk
I/O. In process mode, use i/o polling process
count to modify the frequency of these checks.
DiskIOPolled int Counter, reset Number of times the engine or disk controller (for process or
threaded mode, respectively) polls for completion of out
standing asynchronous disk I/O, which occurs when disk I/O
checks indicate that asynchronous I/O has been posted, but
is not yet complete.
DiskIOCompleted int Counter, reset Number of asynchronous disk I/Os completed when the en
gine or disk controller (for process or threaded mode, respec
tively) polls for outstanding asynchronous disk I/O.
MaxOutstandingIOs int None Current number of I/O requests initiated by this engine that
are not completed.
HkgcMaxQSize int None Maximum number of items the SAP ASE server can queue for
housekeeper garbage collection in this engine.
HkgcHWMItems int None Maximum number of pending items queued for housekeeper
garbage collector at any instant since server started.
HkgcOverflows int None Number of items that could not be queued to housekeeper
garbage collector due to queue overflows.
HkgcPendingItemsDc int None Number of items on this engine waiting for the housekeeper
omp
HkgcOverflowsDcomp int None Number of items on this engine that could not be queued to
the housekeeper
Status varchar(2 None Status of the engine (online, offline, and so on).
0)
AffinitiedToCPU int None Number of the CPU to which the engine is affinitied.
OSPID int None Identifier for the operating system process executing the en
gine.
3.22 monErrorLog
Returns the most recent error messages from the SAP ASE error log.
Use errorlog pipe max messages to tune the maximum number of messages returned. See Performance
and Tuning: Monitoring Tables.
Enable the enable monitoring, errorlog pipe max messages, and errorlog pipe active
configuration parameters for this monitoring table to collect data.
Columns
Severity int None Severity of error. SAP ASE versions 15.7 and later use a value
of 99 to indicate stack traces; versions earlier than 15.7 use a
value of 0.
3.23 monFailoverRecovery
Applies to cluster environments only. Contains aggregated failover recovery diagnostic information for the
cluster lock manager (CLM), database recovery, and cluster membership service (CMS) modules.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
ModuleName varchar(3 None Name of the module. One of CML, CMS, or Database
0)
3.24 monHADRMembers
Columns
GroupName varchar(3 None Name of the group to which the member belongs.
0)
Mode varchar(3 None Current mode in which the HADR member is running.
0)
ServerMap varchar(9 None Server map containing the host name and port number.
32)
(Support for SAP HANA accelerator for SAP ASE) A message log of queries that are not pushed down to SAP
HANA. Contains information such as which procedure the statement is executed from, the line number, SQL
text, reason of non-pushdown and the execution timestamp.
Columns
DBID smallint None Unique identifier for the database in which the object exists.
LineNumber int None Line number of the statement within the SQL batch.
Provides information about garbage collection tasks for indexes that have index hash caching enabled, and the
statistics they collect (for example, total hash nodes freed, total memory freed, and so on).
Columns
LastWakeup datetime The date and time of the last wakeup of this task
MemoryFreed bigint Total amount of memory (in bytes) freed by the GC Task
Columns
Note
You must enable the enable monitoring configuration parameter to collect HCB usage statistics. If you
do not enable this parameter, the HashCacheHits and other statistics columns will display 0 in the result
set, regardless of the activity.
3.28 monHCBTuningActivity
Columns
Note
Monitor tables automatically track statistics of indexes that have hash caching enabled using the auto
tuning functionality of SAP ASE.
You must enable the HCB index auto tuning configuration parameter to enable HCB index auto tuning
and collect tuning statistics. If you do not enable this configuration parameter, a query against this monitor
table will display 0 in the result set.
PQueryRateThreshold smallint Threshold for the point query rate at which this index is turned off
CurHashScanHitRate smallint Current hash table hit rate for this index
LastHashScanHitRate smallint Historical hash table hit rate for this index
AvgHashScanHitRate smallint Average hash table hit rate for this index
HashScanHitRateThreshol smallint Threshold for the hash table hit rate at which this index is turned
d off
NumHashNodes bigint Total number of hash nodes in hash tables for all index partitions
NumDisabled tinyint Number of times this index was disabled by automatic tuning
Status varchar(12) The HCB automatic tuning status for this index
LastTuneTime datetime Time of the last automatic tuning decision made for this index
AvgTuneInterval int Length, in seconds, of the average automatic tuning decision inter
val
Columns
Indexes
3.30 monIMRSCacheActivity
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
DBName varchar(3 None Name of the database to which the cache is assigned.
0)
NumCacheShrinks int None Number of times the cache size was reduced.
NumCacheGrows int None Number of times the cache size was increased.
NumRows bigint None Number of rows in the cache (across all tables using the
cache).
NumRowsHWM bigint None High water mark for the number of rows in the cache. That is,
the greatest number of rows in the cache at one time.
MemForLatestVersio bigint None Amount of memory allocated for the latest row versions, in
ns cluding overheads.
MemForLatestVersio bigint None High water mark for memory in the latest row versions. That
nsHWM is, the greatest amount of memory allocated at one time for
latest row versions.
NumVersions bigint None Number of older row versions in the IMRS, excluding the lat
est row version.
NumVersionsHWM bigint None High water mark for the number of versions. That is, the
greatest number or older row versions, excluding the latest
row version, at one time.
MemForOlderVersion bigint None Amount of memory allocated for the older row versions, in
s cluding all over heads.
MemForOlderVersion bigint None High water mark for memory allocated for older row versions.
sHWM That is, the greatest amount of memory, at one time, allo
cated for the older row versions, including all over heads.
NumRowsPendingGC bigint None Number of rows removed from the IMRS that are waiting for
garbage collection.
MemForRowVersionsO bigint None Extra memory overheads incurred for rounding off memory
verhead requests for row versions
NumTransactionsHWM int None High water mark for the number of transactions, completed
or active, executed in this database. That is, the greatest num
ber of transactions, completed or active, executed in this da
tabase.
NumStatementsHWM int None High water mark for the number of statements active in this
database. That is, the greatest number of statements active in
this database at one time.
MemForStatements bigint None Amount of memory allocated for tracking active statements.
MemForLookupTable bigint None Amount of memory used by lookup tables (metadata struc
tures used for IMRS-enabled databases).
MemForLookupTableH bigint None High water mark for memory used by look up tables. That is,
WM the greatest amount of memory used for look up tables at one
time.
NumStmtsCachingRow bigint High water mark for the number of statement descriptors al
sHWM located for caching rows in the IMRS.
MemForStmtsCaching bigint High water mark for memory allocated for statement descrip
RowsHWM tors, specifically for caching rows in the IMRS.
OtherMem bigint None Memory used for allocation of other metadata structures.
OldestSPID int SPID of the oldest process that registered with IMRS garbage
collector.
MemPacked bigint Amount of memory occupied by rows that have been packed
by the pack operation.
NRowsSkippedPackGT bigint Number of rows skipped by the pack operation because the
1Versions row had more than one version.
NRowsSkippedPackMi bigint Number of rows skipped by the pack operation due to miscel
sc laneous reasons.
NRowsSkippedPackHo bigint Number of rows skipped by the pack operation because the
tRow rows were found to be active.
NumDelRowsPackWake bigint Number of times the pack operation was awakened early to
ups pack deleted rows.
NumPageStoreInsert bigint Number of times a row was inserted in the page store due to
sOOM lack of memory.
NumBytesLoggedInsP bigint Number of bytes logged by the pack operation for inserted
ack rows.
NumBytesLoggedMigP bigint Number of bytes logged by the pack operation for migrated
ack rows
NumSysversActivePa bigint The high water mark for active pages in sysversions.
gesHWM
NumPageStoreUpdate bigint Number of times a row was updated in the page store due to
sOOM lack of memory.
LastPackWakeup datetime Date and time at which the pack operation was last woken up.
LastPacked datetime Date and time at which the pack operation last packed rows.
3.31 monIMRSGCTasks
Provides information about garbage collection tasks that are running and the statistics they collect, such as
total memory freed large object garbage collection tasks, total disk space freed by deleting the obsolete LOB
versions, and so on.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
DBID int None Unique identifier for the database currently being used by the
process.
NumWakeUps int None Number of times the garbage collector tasks woke up.
MemoryFreed bigint Amount of memory freed (in bytes) by the garbage collector
tasks.
DiskSpaceFreed bigint Amount of disk space freed by large object (LOB) garbage col
lection tasks.
NumStmtsCachingRow bigint Number of IMRS statement descriptors freed for the state
sFreed ment that cached rows in the IMRS.
NumTranPending bigint Number of finished transactions that are not yet processed by
the garbage collector.
BlockingSPID int SPID of the oldest process that can block the IMRS garbage
collector
Type varchar(3 None Garbage collector task type. One of imrsgc or lobgc.
0)
WaitStatus varchar(3 None Garbage collector task wait status. One of needed,
0) notneeded, or inprogress.
LastWakeup datetime Time when the the garbage collection task was most recently
woken up.
DBName varchar(3 None Name of the database (NULL if the descriptor for the object
0) was removed from the server’s metadata cache.
BlockingSPIDType varchar(3 Type of the oldest process that can block the IMRS garbage
0) collector.
Stores IMRS-recovery statistics. Each IMRS-enabled database contains one row in this table, which contains
only previously completed recovery diagnostics information.
Columns
LogBLogRScan int Number of log rows scanned for purged row tables.
edForPRT
LogBLogPScan int Number of log pages scanned for purged row tables.
edForPRT
LogBTotPages int Total number of imrslog pages scanned during the log
boundary calculation phase.
LogBTotIO int Total amount of I/O to the imrslog during the imrslog
boundary calculation phase..
FixImrslogTo int Total amount of I/O to the imrslog during the fix phase.
tIO
FixAuxScanTo int Total number of pages scanned during the auxiliary scan of
tPages the imrslog fix phase.
FixAuxScanTo int Total amount of I/O spent on the imrslog during the aux
tIO iliary scan of the imrslog fix phase.
RedoPRTConsu int Number of purged rows tables consulted during the redo
lted phase.
RedoRecTotPa int Total number of pages used at end of the redo phase.
ges
RedoRecTotIO int Total amount of I/O used at end of the redo phase.
ReconPRTPurg int Number of purges skipped after consulting the purged row
eNotRedone tables during the reconciliation phase.
ReconBeginTo int Total number of pages used during the beginning of the
tPages reconciliation phase.
ReconBeginTo int Total amount of I/O used during the beginning of the rec
tIO onciliation phase.
ReconEndTotP int Total number of page used during the end of the reconcilia
ages tion phase.
ReconEndTotI int Total amount of I/O used during the end of the reconcilia
O tion phase.
3.33 monIMRSPartitionActivity
Provides information about the activity for in-memory row storage caches across individual partitions or
objects.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
ObjectID int None Unique identifier for the object. Null if the
descriptor for the object has been re
moved from the server’s metadata cache.
In this situation, you can determine the
object identifier by querying syspartitions
in the specified database for the value of
PartitionID.
NumRowsHWM bigint None High water mark for the number of rows
across all the tables in the partition. That
is, the greatest number of rows across all
the tables in the partition at one time.
MemForLatestVersionsHWM bigint None High water mark for memory in latest ver
sions of the rows, including overheads.
That is, the greatest amount of memory
allocated for the latest versions of the
row, including overhead.
TotalMemForAllRows bigint None Total memory used from the IMRS Cache
to store all the rows across this partition.
OldLOBVersionsSpaceHWM bigint High water mark for the disk space (in
KB) used by all active old LOB versions in
this partition.
LastPackVisited bigint The date and time the pack operation last
visited this partition.
LastPacked bigint The date and time the pack operation last
packed rows in this partition.
3.34 monInmemoryStorage
Provides information about inmemory devices configured to store the contents of inmemory databases.
You need not enable any configuration parameters for this monitoring table to collect data.
StartPage int None Page ID for the first page in this device.
Name varchar(3 None Name of the data cache for this device.
0)
3.35 monIOController
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
FullPolls bigint Counter Number of polls returning the maximum number of events
3.36 monIOQueue
Provides device I/O statistics displayed as data and log I/O for normal and temporary databases on each
device.
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
IOTime int Counter Amount of time (in milliseconds) spent waiting for I/O requests to be sat
isfied
IOType varchar(1 None Category for grouping I/O. One of UserData, UserLog, TempdbData,
2) TempdbLog, or System.
3.37 monLatchFreeIndex
Columns
GetPageFromMPTBL bigint Counter Number of get LFB page from mapping table
3.38 monLicense
Provides a list of all licenses currently checked out by the SAP ASE server.
You need not enable any configuration parameters for this monitoring table to collect data.
Note
monLicense does not require mon_role permission; any user can use it.
Columns
Edition varchar( None Edition of SAP ASE for which this feature is licensed.
30)
Status varchar( None Status of this feature license (that is, whether the license is within a
30) grace period or expired).
LicenseExpiry datetime None Date that the license expires, if this is an expiring license.
GraceExpiry datetime None Date this license expires, if this license was awarded on grace. Refer to
the Status column to determine whether this license was awarded a
grace period.
LicenseID varchar( None License identifier. This may not be available if the license has been
150) awarded a grace period.
Filter varchar( None Filter used when selecting this feature license. Use sp_lmconfig to
14) change the filter.
Attributes varchar( None License attributes. These attributes are “<name>=<value>” pairs
64) which, if specified, limit certain characteristics of SAP ASE. Possible
limiters are:
3.39 monLocks
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
SPID int None Session process identifier of process holding or requesting the lock.
Context int None Lock context (bit field). These values are the same as for those of the
context column in syslocks. See the Reference Manual: Tables
for information about syslocks.
DBName varchar(3 None Name of the database for the locked object. This column is NULL if
0) the database is not open when monLocks is queried.
LockLevel varchar(3 None The type of object for which the lock was requested. Values are:
0) ● Row
● Page
● Table
● Address
WaitTime int None The time (in seconds) for which the lock request was not granted.
BlockedBy int None If the lock request is blocked, the BlockedBy column is the lock
object ID for the process holding the lock that is blocking this lock re
quest. Null if request is not blocked.
BlockedState varchar(6 None Lock state if the lock being held is blocking other lock requests or if
4) the lock request is blocked. Values are:
● Blocked
● Blocking
● Demand
● Detached
● Null (if there is no blocking condition)
3.40 monLockTimeout
Provides information about lock timeouts. Each row identifies the object on which a blocked lock request
occurred, and identities of the blocked and blocking processes.
The monLockTimeout table records lock timeout events (called “timeouts”), that occur when:
● Two server processes are in contention for the same object lock, and,
● The lock wait period has expired
By default, the lock wait period on the server is infinite, so lock timeouts occur only if the user has
changed the lock timeout configuration at the:
When the lock wait period expires – at the server or session level – the SAP ASE server writes a row to
monLockTimeout, recording the lock timeout event and describing the objects and processes involved in the
lock contention.
You must enable the enable monitoring, lock timeout pipe active, and lock timeout pipe max
messages configuration parameters for monLockTimeout monitoring table to collect data.
ObjectDBID int None Unique database identifier for database in which the
object resides.
PageNumber int None Page number requested for the lock, if applicable.
RowNumber int None Row number requested for the lock, if applicable.
HeldSPID int None Server process ID (spid) of process holding the lock.
HeldKPID int None Kernel process ID (kpid) of process holding the lock.
HeldInstanceID int None Instance ID for the instance on which the process
holding the lock was executing
HeldUserName varchar(3 None Name of the user for whom the lock is held.
0)
HeldHostName varchar(3 None Name of the host machine on which the application
0) that executed the query holding the lock is running.
HeldClientName varchar(3 None Value of the clientname property set by the appli
0) cation holding the lock.
HeldTranName varchar(2 None Name of the transaction that acquired the lock.
55)
HeldFamilyID int None spid of the parent process holding the lock.
HeldProcDBID int None Unique identifier for the database where the stored
procedure that caused the lock to be held resides, if
applicable.
HeldProcDBName varchar(3 None Name for the database where the stored procedure
0) that caused the lock to be held resides, if applicable.
HeldProcedureName varchar(2 None Name for the stored procedure that caused the lock
55) to be held, if applicable.
HeldBatchID int None Identifier of the SQL batch executed by the process
holding the lock when the lock timeout occurred.
HeldContextID int None Unique context identifier for the process holding the
lock when it was blocked by another process (not
when it acquired the lock).
HeldLineNumber int None Line number in the SQL batch of the SQL statement
holding the lock.
HeldStmtNumber int None Statement number in the SQL batch of the SQL
statement holding the lock.
HeldSourceCodeID varchar(3 None Location of the source code where the lock being
0) held was acquired (internal use only).
WaitSPID int None spid of the process waiting for the lock.
WaitKPID int None kpid of the process waiting for the lock.
WaitUserName varchar(3 None Name of the user for whom the lock is being re
0) quested.
WaitApplName varchar(3 None Name of the application waiting for the lock.
0)
WaitHostName varchar(3 None Name of the host running the process waiting for the
0) lock.
WaitClientName varchar(3 None Value of the <clientname> property set by the ap
0) plication waiting for the lock.
WaitTranName varchar(2 None Name of the transaction in which the lock was re
55) quested.
WaitFamilyID int None spid of the parent process waiting for the lock.
WaitProcDBID int None Unique identifier for the database in which the stored
procedure waiting for the lock resides, if applicable.
WaitProcDBName varchar(2 None Name for the database where the stored procedure
55) that is waiting for the lock resides, if applicable.
WaitProcedureName varchar(2 None Name for the stored procedure waiting for the lock, if
55) applicable.
WaitBatchID int None Identifier of the SQL batch executed by the process
waiting for the lock when the lock timeout occurred.
WaitContextID int None Unique context identifier for the process waiting for
the lock when it was blocked by another process.
WaitLineNumber int None Line number of the SQL statement in the SQL batch
waiting for the lock.
WaitStmtNumber int None Line number in SQL batch waiting for the lock.
WaitSourceCodeID int None Location in the source code when the timeout occur
red and the waiting lock request was made (for inter
nal use only).
HeldProcedureID int None Unique object identifier for the stored procedure that
the blocking process was executing when the time
out occurred
WaitProcedureID int None Unique object identifier for the stored procedure that
is waiting for the lock, if applicable
3.41 monLogicalCluster
Applies to cluster environments only. Displays information about the logical clusters currently configured on
the system.
You need not enable any configuration parameters for this monitoring table to collect data.
ActiveConnections int None Number of active connections using this logical cluster.
BaseInstances tinyint None Number of instances configured as base instances for this
logical cluster.
ActiveBaseInstance tinyint None Number of base instances on which this logical cluster is cur
s rently active.
FailoverInstances tinyint None Number of instances configured as failover instances for this
logical cluster.
ActiveFailoverInst tinyint None Number of failover instances on which this logical cluster is
ances currently active.
FailoverRecovery varchar(3 None Failover recovery diagnostic information for cluster lock man
0) ager, database recovery, and cluster membership service
modules.
Roles varchar(2 None Comma-delimited list of special roles for this logical cluster.
0) The “system” logical cluster always has the system role. The
open logical cluster has the “open” role. If the system logical
cluster also has the open role, the value for this column is
system, open. Logical clusters without any special roles
return a null value.
LoadProfile varchar(3 None Load profile associated with this logical cluster.
0)
ActionRelease varchar(2 None The current action release mode for this logical cluster. Values
0) are:
● Manual
● Automatic
Manual indicates that the user must execute the action re
lease command to release the actions for this cluster.
Gather varchar(3 None Indicates whether this logical cluster is configured to auto
0) matically gather routable connections to this logical cluster.
Values are:
● Manual
● Automatic
3.42 monLogicalClusterAction
Applies to cluster environments only. Shows all administrative actions against logical clusters from start-up
until these actions are released.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
LogicalClusterName varchar(3 None Logical cluster name of this logical cluster (denormalized to
0) reduce joins).
Action varchar(1 None Action being performed. A combination of the command run
5) ning and its scope. For example, offline instance or
failover cluster.
FromInstances varchar(9 None A comma-separated list of from instances for this com
6) mand and action (instance being brought offline).
WaitType varchar(2 None Current wait state for this action. One of: wait, until, or
0) nowait.
StartTime datetime None Date and time the command was issued.
Deadline datetime None Date and time the command must be finished (based on the
time value supplied to the wait or until options).
CompleteTime datetime None Date and time the command and action completed (when
InstancesWaiting is zero and the action went from
active to the complete state). Returns NULL for incom
plete actions.
NonHAConnections int None Number of connections that do not support the high availabil
ity failover protocol. These connections are disconnected and
cannot fail over when the command finishes.
Applies to cluster environments only. Displays information about the many-to-many relationship between
instances and logical clusters.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
FailoverGroup tinyint None Failover group to which this instance is a member (failover in
stances only)
State varchar(2 None State of this instance with respect to the logical cluster
0)
ActiveConnections int None Number of active connections for this logical cluster on this
instance
NonMigConnections int None Number of active connections that do not support the con
nection migration protocol
NonHAConnections int None Number of active connections that do not support the high
availability failover protocol
LoadScore real None Workload score for this instance using the load profile associ
ated with its logical cluster
Applies to cluster environments only. Displays information about the configured routes (application, login, and
alias bindings). You need not have the mon_role role to query this monitor table.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
RouteType varchar(2 None Route type. One of: application, login, or alias
0)
RouteKey varchar(3 None Application, login, or alias name associated with this route.
0)
3.45 monMemoryUsage
The monMemoryUsage monitoring table provides information about server and kernel memory pools, including
metrics about their sizes, usage patterns, and availability.
Columns
Flags int None Status flags that describe the memory pool.
ConfigNum int None Configuration number for the primary configuration option
controlling the size of the memory pool.
UsedSize bigint None Currently used size, in bytes, of the memory pool.
NumFrees bigint Counter Total number of frees performed. "Frees” are the opposite of
allocations. Adaptive Server allocates memory fragments,
and the number of allocations is tracked by NumAllocs.
When the task is finished, the memory fragment is freed (that
is, returned to the memory pool). NumFrees tracks the total
number of these free operations
NumSleeps bigint Counter Total number of sleeps encountered while allocating memory
fragments.
PoolOwnerKPID int None Kernel process ID (KPID) of task that owns this fragment of
the memory pool.
ConfigOption varchar(2 None Name of the primary configuration option controlling the size
55) of the memory pool.
NumSearches bigint Counter Total number of free fragments examined before satisfying
memory allocation requests from this memory pool.
NumRetries bigint Counter Number of retries performed for all free fragments.
NumItemsUsedHWM int None High-water mark for the number of items used in this pool.
NumBlocks int None Number of blocks of memory used for this pool.
NumUsedItemsSize1 int None Number of used items in this pool of size MemSize1 .
NumFreeItemsSize1 int None Number of free items in this pool of size MemSize1 .
NumUsedItemsSize2 int None Number of used items in this pool of size MemSize2.
NumFreeItemsSize2 int None Number of free items in this pool of size MemSize2.
Not all output from all monMemoryUsage columns applies, or is relevant to, all memory pools, and depending
on the type of memory pool, you may need to select the relevant columns. Typically, columns return a value of
NULL if they do not apply to a specific memory pool.
These columns report the metrics for used versus free fragments for memory pools of type Fragment:
● NumUsedItems
● NumItemsUsedHWM
● MinUsedItemSize
● AvgUsedItemSize
● MaxUsedItemSize
● NumUsedItemsMinSize
● NumUsedItemsMaxSize
● NumFreeItems
● MinFreeItemSize
● AvgFreeItemSize
● MaxFreeItemSize
● NumFreeItemsMinSize
● NumFreeItemsMaxSize
● NumBlocks
● NumUsedItems
● NumFreeItems
● MinUsedItemSize
● MaxUsedItemSize
● NumUsedItemsMinSize
● NumUsedItemsMaxSize
● AvgUsedItemSize
● NumUsedItemsSize1
● NumUsedItemsSize2
● MinFreeItemSize
● MaxFreeItemSize
● NumFreeItemsMinSize
● NumFreeItemsMaxSize
● AvgFreeItemSize
● NumFreeItemsSize1
● NumFreeItemsSize2
This example lists memory pools in the server, along with the primary configuration option affecting the size of
the memory pool:
This example lists the common metrics that are applicable to most memory pools:
This example lists the metrics that apply to fragment memory pools:
3.46 monNetworkIO
Returns network I/O statistics for all communication between the SAP ASE server and client connections.
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
Columns
PacketsSentMln int Counter, reset Number of packets, in millions, sent by the server
PacketsReceived int Counter, reset Number of packets, in millions, received by the server
Mln
BytesSentMB int Counter, reset Number of bytes, in megabytes, sent by the server
BytesReceivedMB int Counter, reset Number of bytes, in megabytes, received by the server
Stores statistics relating to SAP ASE named non-volatile caches, including cache definition, current status, and
usage of NV cache(s):
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
Columns
CachePartitions smallint None Number of partitions currently configured for the cache
CacheWrites int Counter, reset Number of buffers written from the NV cache to disk
CacheReads int Counter, reset Number of buffers read into the cache from disk
HDDWrites int Counter, reset Number of buffers written from the device disk to the NV
cache.
Provides state and statistical information pertaining to databases that are currently in the server’s metadata
cache.
If the value of number of open databases is too low, the SAP ASE server may flush database descriptors
from the metadata cache. If this occurs, the SAP ASE server loses the database statistics, but the statistics are
reinitialized the next time the database descriptor is installed in the metadata cache.
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
Columns
BackupInProgress int None Specifies whether a backup is currently in progress for the data
base
LastBackupFailed int None Specifies whether the last backup of the database failed
TransactionLogFul int None Specifies whether the database transaction log is full
l
AppendLogWaits int Counter Number of times a task had to wait for the append log semaphore
to be granted
BackupStartTime datetime None Date the last full database backup started
SuspendedProcesse int None Number of processes currently suspended due to the database
s transaction log being full
QuiesceTag varchar( None Tag used in the quiesce database command for this data
30) base if the database is in a quiesced state
LastCheckpointTim datetime None Date and time checkpoint last ran for this database
e
LastTranLogDumpTi datetime None Date and time of this database’s most recently successful trans
me action log dump.
PRSSelectCount int Counter The number of times the optimizer selected precomputed result
sets in this database when generating a query plan.
PRSRewriteCount int Counter The number of times the optimizer determined the precomputed
result sets in this database were valid when generating the query
plan.
3.49 monOpenObjectActivity
Enable the enable monitoring, per object statistics active, and object lockwait timing
configuration parameters for this monitoring table to collect data.
Note
The value of OptSelectCount may be less than that of UsedCount since you can use the plan for a stored
procedure or trigger multiple times. Also, because the SAP ASE server may decide not to execute certain
portions of a query plan during execution, UsedCount may be less than OptSelectCount.
Columns
InstanceID tinyint None (Cluster environments only) Unique identifier for an instance.
DBName varchar(3 None Name of the database in which the object resides
0)
LogicalReads int Counter Total number of times a buffer for this object has been re
trieved from a buffer cache without requiring a read from disk.
LockWaits int Counter Number of times a task waited for an object lock.
OptSelectCount int Counter Number of times the optimizer selected this index to be used
in a query plan.
LastOptSelectDate datetime None Last date the index was selected for a plan during compila
tion.
UsedCount int Counter Number of times the object was used in a plan during execu
tion.
LastUsedDate datetime None Last date the index was used in a plan during execution.
HkgcRequests int Counter Total number of events queued for an object. A large value im
plies the system is generating large amounts of garbage for
the specified object.
HkgcPending int Counter The number of pending events for an object. A large value im
plies that a lot of garbage is yet to be collected, although the
housekeeper will clean it up. If you restart the SAP ASE server,
all entries in the housekeeper queue are lost, and the garbage
from those pages is not collected when you restart the SAP
ASE server.
HkgcOverflows int Counter The number of overflow object events. A large value implies
the housekeeper queues are filling up. Generated garbage will
not then be cleaned up because the housekeeper cannot
schedule the job.
PhysicalLocks int Counter (Cluster environments only) Number of physical locks re
quested per object.
PhysicalLocksRetai int Counter (Cluster environments only) Number of physical locks re
ned tained. Use to identify the lock hit ratio for each object. Good
hit ratios imply balanced partitioning for this object.
PhysicalLocksRetai int4 Counter (Cluster environments only) Number of physical lock requests
nWaited waiting before a lock is retained.
PhysicalLocksPageT int Counter (Cluster environments only) Number of page transfers that
ransfer occurred when an instance requested a physical lock. The
Cluster Physical Locks subsection of sp_sysmon
uses this counter to report the node-to-node transfer and
physical-lock acquisition as a node affinity ratio for this object
TransferReqWaited int4 Counter (Cluster environments only) Number of times physical lock
requests waiting before receiving page transfers.
AvgPhysicalLockWai int4 Counter (Cluster environments only) Average amount of time clients
tTime spend before the physical lock is granted.
MaxPhysicalLockWai real Counter (Cluster environments only) Maximum amount of time this
tTime object waited for before a physical lock was granted.
AvgTransferReqWait int4 Counter (Cluster environments only) Average amount of time physical
Time lock requests wait before receiving page transfers.
MaxTransferReqWait real Counter (Cluster environments only) Maximum amount of time physi
Time cal lock requests waited to receive page transfers.
TotalServiceReques int4 Counter (Cluster environments only) Number of physical lock requests
ts serviced by the cluster cache manager of an instance.
PhysicalLocksDowng int4 Counter (Cluster environments only) Number of physical lock down
raded grade requests serviced by the cluster cache manager of an
instance.
ClusterPageWrites int4 Counter (Cluster environments only) Number of pages written to disk
by the cluster cache manager of an instance.
AvgServiceTime int4 None (Cluster environments only) Average amount of service time
spent by the cluster cache manager of an instance.
AvgQueueWaitTime real None (Cluster environment only) Average amount of time, in milli
seconds, spent waiting for the SAP ASE server to complete
buffer transfers for this object.
MaxQueueWaitTime real None (Cluster environment only) Maximum amount of time, in milli
seconds, spent waiting for the SAP ASE server to complete a
buffer transfer for this object .
AvgTimeWaitedOnLoc int4 None (Cluster environments only) Average amount of time, in milli
alUsers seconds, an instance’s cluster cache manager waited be
cause of page use by users on this instance.
MaxTimeWaitedOnLoc real None (Cluster environments only) Maximum amount of time, in mil
alUsers liseconds, an instance’s cluster cache manager waited be
cause of page use by users on this instance.
AvgTransferSendWai int4 None (Cluster environments only) Average amount of time an in
tTime stance’s cluster cache manager spends for page transfer.
MaxTransferSendWai real None (Cluster environments only) Maximum amount of time an in
tTime stance’s cluster cache manager waited for a page transfer to
complete.
AvgIOServiceTime int4 None (Cluster environments only) Average amount of time used by
an instance’s cluster cache manager for page transfer.
MaxIOServiceTime real None (Cluster environments only) Maximum amount of time the
Cluster Cache Manager took to write pages to disk.
AvgDowngradeServic int4 None (Cluster environments only) Average amount of time the clus
eTime ter cache manager uses to downgrade physical locks.
MaxDowngradeServic real None (Cluster environments only) Maximum time a task spent wait
eTime ing for the physical lock to be downgraded on a page.
SharedLockWaitTime int Counter, reset The total amount of time, in milliseconds, that all tasks spent
waiting for a shared lock.
ExclusiveLockWaitT int Counter, reset The total amount of time, in milliseconds, that all tasks spent
ime waiting for an exclusive lock.
UpdateLockWaitTime int Counter, reset The total amount of time, in milliseconds, that all tasks spent
waiting for an update lock.
ObjectCacheDate datetime None Indicates the date and time when the object was added to the
cache.
HkgcRequestsDcomp int Counter Total number of data pages of the partition that were queued
for page compression.
HkgcPendingDcomp int Counter Number of data pages of the partition that are still pending for
page compression.
HkgcOverflowsDcomp int Counter Total number of pages that could not be compressed because
the housekeeper queue was full.
IOSize1Page int Counter Number of IO operations performed for each IO that is one
page in size.
IOSize2Pages int Counter Number of IO operations performed for each IO that is 2 pa
ges in size.
IOSize4Pages int Counter Number of IO operations performed for each IO that is 4 pa
ges in size.
IOSize8Pages int Counter Number of IO operations performed for each IO that is 8 pa
ges in size.
PRSSelectCount int Counter The number of times the precomputed result set was used in
a query.
LastPRSSelectDate datetime None Date for the last time the precomputed result set was used in
a query.
PRSRewriteCount int Counter Number of times the optimizer determined that the precom
puted result set was valid for use in a query. the optimizer
may not have used the precomputed result set because it
found a better choice.
LastPRSRewriteDate datetime None Date for the last time the optimizer determined that the pre
computed result set was valid for use in a query.
NumLevel0Waiters int Counter Number of times a Level0 Scan start waited because of a utili
ty's wait request.
AvgLevel0WaitTime reak Counter Average time, in milliseconds, Adaptive Server waited for
Level0 access.
3.50 monOpenPartitionActivity
Provides information about the use of each open partition on the server.
Enable the enable monitoring and per object statistics active configuration parameters for this
monitoring table to collect data.
Note
Because you can use the plan for a stored procedure or trigger multiple times, the value of the
OptSelectCount column may be less than the value of UsedCount. In addition, because the SAP ASE
server may decide not to execute certain portions of a query plan during execution, the UsedCount may be
less than the OptSelectCount.
DBName varchar( None Name of the database in which the object resides.
30)
OptSelectCount int Counter Number of times object was selected for plan during
compilation.
LastOptSelectDate datetime None Last date the index was selected for plan during compi
lation.
UsedCount int Counter Number of times the object was used in a plan during
execution.
LastUsedDate datetime None Last date the index was used in a plan during execution.
HkgcRequests int Counter Total number of events queued for a partition. A large
value implies the system is generating large amounts of
garbage for the specified partition.
HkgcPending int Counter The number of pending events for a partition. A large
value implies that a lot of garbage is yet to be collected,
although the housekeeper will clean it up. If you restart
the SAP ASE server, all entries in the housekeeper
queue are lost, and the garbage from those pages is not
collected when you restart the SAP ASE server.
HkgcOverflows int Counter The number of overflow partition events. A large value
implies the housekeeper queues are filling up. Gener
ated garbage will not then be cleaned up because the
housekeeper cannot schedule the job.
PhysicalLocksRetained int Counter Number of physical locks retained. Use to identify the
lock hit ratio for each object. Good hit ratios imply bal
anced partitioning for this object.
PhysicalLocksRetainWai int Counter (Cluster environments only) Number of physical lock re
ted quests waiting before a lock is retained.
AvgPhysicalLockWaitTim real Counter (Cluster environments only) Average amount of time cli
e ents spend before the physical lock is granted.
TotalServiceRequests int Counter (Cluster environments only) Number of physical lock re
quests serviced by the cluster cache manager of an in
stance.
AvgDowngradeServiceTim real None (Cluster environments only) Average amount of time the
e cluster cache manager uses to downgrade physical
locks.
ObjectCacheDate datetime None Indicates the date and time when the object was added
to the cache.
HkgcRequestsDcomp int Counter Total number of data pages of the partition that were
queued for page compression
HkgcPendingDcomp int Counter Number of data pages of the partition that are still pend
ing for page compression
HkgcOverflowsDcomp int Counter Total number of pages that could not be compressed
because the housekeeper queue was full.
3.51 monPCIBridge
Contains information about the Java PCI Bridge. This table provides information about the Java environment.
You do not need to enable any configuration parameters for this monitoring table to collect data.
Columns
Status char(10) None Current status of the PCI Bridge. Values are:
● ACTIVE
● DOWN
ConfiguredSlots int None Number of configured slots. Set using max pci slots
configuration parameter.
ConfiguredPCIMemor int None Total memory configured for the PCI Bridge using the pci
yKB memory configuration parameter.
UsedPCIMemoryKB int None Total memory currently used by the PCI bridge and its com
ponents.
3.52 monPCIEngine
Displays engine information for the PCI Bridge and its plug-ins. This table provides information about the Java
environment.
You do not need to enable any configuration parameters for this monitoring table to collect data.
Status char(10) None Status of the plug-in on the engine. Values are:
● ACTIVE
● INIT
PLBStatus char(10) None Status of the PCI Launcher Boss. Values are:
● ACTIVE
● DOWN
NumberofActiveThre int None Number of active threads currently under control of the PCI
ads Launcher Boss.
PLBRequests int None Number of requests for the PCI Launcher Boss to execute a
function for a native thread.
PLBwakeupRequests int None Number of times the PCI Launcher Boss received a wake-up
to execute work for a native thread.
3.53 monPCISlots
Contains information about the plug-in bound to each slot in the PCI Bridge. This table provides information
about the Java environment.
You do not need to enable any configuration parameters for this monitoring table to collect data.
Columns
● INIT
● IN USE
● STOPPED
Modulename varchar(3 None Logical module name bound to the current slot.
0)
3.54 monPCM
Applies to cluster environments only. Tracks the peer coordination module (PCM) client activities in the cluster
(for example, the number of fragment that were sent and received), and contains a row for each PCM client.
You do not need to enable any configuration parameters for this monitoring table to collect data.
Columns
MinTimeSyncApi real None Minimum time spent in PCM API in synchronous mode in the
PCM layer per module
AvgTimeSyncApi real None Average time spent in PCM API in synchronous mode in the
PCM layer per module
MaxTimeSyncApi real None Maximum time spent in PCM API in synchronous mode in the
PCM layer per module
MinTimeAsyncApi real None Minimum time spent in PCM API in asynchronous mode in the
PCM layer per module
AvgTimeAsyncApi float None Average time spent in PCM API in asynchronous mode in the
PCM layer per module
MaxTimeAsyncApi float None Maximum time spent in PCM API in asynchronous mode in
the PCM layer per module
MinTimeCIPCMsgAllo real None Minimum time spent in cipcmsg allocations in the PCM layer
c per module
AvgTimeCIPCMsgAllo real None Average time spent in cipcmsg allocations in the PCM layer
c per module
MaxTimeCIPCMsgAllo real None Maximum time spent in cipcmsg allocations in the PCM
c layer per module
MinTimeCIPCUnicast float None Minimum time spent in CIPC while sending the unicasts mes
smsg sage per module
AvgTimeCIPCUnicast real None Average time spent in CIPC while sending the unicasts mes
smsg sage per module
MaxTimeCIPCUnicast real None Maximum time spent in CIPC while sending the unicasts
smsg message per module
MinTimeCIPCMultica real None Minimum time spent in CIPC while sending the multicasts
stsmsg message per module
AvgTimeCIPCMultica real None Average time spent in CIPC while sending the multicasts
stsmsg message per module
MaxTimeCIPCMultica real None Maximum time spent in CIPC while sending the multicasts
stsmsg message per module
MinTimeClientRecvC real None Minimum time spent in client receive callback in the PCM
B layer per module
AvgTimeClientRecvC real None Average time spent in client receive callback in the PCM layer
B per module
MaxTimeClientRecvC real None Maximum time spent in client receive callback in the PCM
B layer per module
3.55 monProcedureCache
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
Loads int Counter, reset Number of stored procedures loaded into cache
Writes int Counter, reset Number of times a procedure was normalized and the tree written back to
sysprocedures
Stalls int Counter, reset Number of times a process had to wait for a free procedure cache buffer
when installing a stored procedure into cache
3.56 monProcedureCacheMemoryUsage
Includes one row for each procedure cache allocator. An allocator is identified by an allocator ID, which is
internal to SAP ASE.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
Active int Counter, re Number of memory pages (2KB) currently allocated to this allocator
set
HWM int Counter, re Maximum number of memory pages allocated since the server was
set started
ChunkHWM int Counter, re Largest number of contiguous memory pages allocated since the
set server was started
NumReuseCaused int Counter, re Number of times this allocator has caused replacement
set
3.57 monProcedureCacheModuleUsage
Includes one row for each module that allocates memory from procedure cache. A module, which is identified
with a module ID, is a functional area classification internal to SAP ASE procedure cache management.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
Active int Counter, re Number of memory pages (2KB) currently allocated to this module
set
HWM int Counter, re The maximum number of memory pages allocated since the server
set was started
Columns
A
t
t
r
i
b
u
t
e
Name Datatype sDescription
ProcELCNum INT4 nSystem-defined, numeric identifier of the ELC. Each engine has four
oELCs, whose identifiers range from 0 to 3.
n
e
ProcELCChunkS INT4 nSize of the ELC chunk, in units of 2k pages. For example, a value of 2
ize omeans 4k pages for the ELC chunk.
n
e
ProcELCMaxCou INT8 nMaximum number of chunks that can be stored in the cache.
nt o
n
e
3.59 monProcess
Provides detailed statistics about processes that are currently executing or waiting.
Enable the enable monitoring and wait event timing configuration parameters for this monitoring
table to collect data.
Columns
ServerUserID int None Server user ID (SUID) of the user associated with this process.
OrigServerUserI int None Server user identifier prior to executing set proxy
D
BatchID int None Unique identifier for the SQL batch containing the executing state
ment
ContextID int None A unique identifier generated each time an executing query
causes a stored procedure, trigger, execute immediate, deferred
compilation, or other compiled object execution to occur
LineNumber int None Line number of the current statement within the SQL batch
SecondsConnecte int None Number of seconds since this connection was established
d
DBID int None Unique identifier for the database used by the process
EngineNumber smallint None Unique identifier of the engine on which the process is executing
FamilyID int None spid of the parent process, if this is a worker process
Application varchar(3 None Application name. May be blank if the application did not set a
0) name in its login structure.
Command varchar(3 None Category of process or command the process is currently execut
0) ing
SecondsWaiting int None Amount of time, in seconds, the process has been waiting, if the
process is currently blocked by a lock held by another process.
WaitEventID smallint None Unique identifier for the event for which the process is waiting, if
the process is currently in a wait state.
BlockingSPID int None Session process identifier of the process holding the lock this
process requested, if waiting for a lock
BlockingXLOID int None Unique lock identifier for the lock that this process has requested,
if waiting for a lock
DBName varchar(3 None Name of the database the process is currently using
0)
MasterTransacti varchar(2 None Name of the transaction the process has open
onID 55)
HostName varchar(3 None Name of the host machine on which the application that started
0) the process is running.
ClientName varchar(3 None Value of the <clientname> property set by the application.
0)
ClientHostName varchar(3 None Value of the <clienthostname> property set by the application.
0)
ClientApplName varchar(3 None Value of the <clientapplname> property set by the application.
0)
ClientDriverVer varchar16 None Version of the connectivity driver used by the client program
sion
3.60 monProcessActivity
Enable the enable monitoring and wait event timing configuration parameters for this monitoring
table to collect data.
Columns
ServerUserID int None Server user identifier (SUID) of the user running this process. The
value in ServerUserID matches the syslogins.suid col
umn. Use the suser_name function to obtain the corresponding
name.
OrigServerUser int None Server user identifier prior to executing set proxy
ID
CPUTime int Counter CPU time (in milliseconds) used by the process.
WaitTime int Counter Time (in milliseconds) the process spent waiting.
MemUsageKB int None Amount of memory (in bytes) allocated to the process.
TableAccesses int Counter Number of pages read that the SAP ASE server retrieved without us
ing an index.
IndexAccesses int Counter Number of pages read that the SAP ASE server retrieved using an
index.
WorkTables int Counter Total number of work tables the process created.
TempDbObjects int Counter Total number of temporary tables the process created.
ULCBytesWritte int Counter Number of bytes written to the user log cache for the process.
n
ULCFlushes int Counter Total number of times the user log cache was flushed. The value is a
sum of regular and tempdb user log cache.
ULCFlushFull int Counter Number of times the user log cache was flushed because it was full.
The value is a sum of regular and tempdb user log cache.
ULCMaxUsage int None The maximum usage (in bytes) of the user log cache by the process.
The value is a sum of regular and tempdb user log cache.
ULCCurrentUsag int None The current usage (in bytes) of the user log cache by the process.
e The value is a sum of regular and tempdb user log cache.
HostName varchar( None Name of the host machine on which the application that executed
30) the query is running.
ClientName varchar( None Value of the <clientname> property set by the application.
30)
ClientHostName varchar( None Value of the <clienthostname> property set by the application.
30)
ClientApplName varchar( None Value of the <clientapplname> property set by the application.
30)
IOSize1Page int Counter Number of IO operations performed for each IO one page in size.
IOSize2Page int Counter Number of IO operations performed for each IO that is 2 pages in
size.
IOSize4Page int Counter Number of IO operations performed for each IO that is 4 pages is
size.
IOSize8Page int Counter Number of IO operations performed for each IO that is 8 pages in
size.
HeapMemoryUsed int None Maximum amount, in kilobytes, of heap memory used (the high wa
HWM_KB ter mark).
QueryOptimizat int Counter CPU time (in milliseconds) used for query optimization.
ionTime
You need not enable any configuration parameters for this monitoring table to collect data.
Use the set command to configure <clientname>, <clienthostname>, <clientapplname>. See the
Reference Manual: Commands.
Columns
ClientName varchar(3 None Value of the <clientname> property set by the application
0)
ClientHostNa varchar(3 None Value of the <clienthostname> property set by the application
me 0)
ClientApplNa varchar(3 None Value of the <clientapplname> property set by the application
me 0)
3.62 monProcessMigration
Applies to cluster environments only. Displays information about the connection currently migrating.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
3.63 monProcessNetIO
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
NetworkPacketSize int None Network packet size the session is currently using.
NetworkEngineNumb smallint None Number of the engine that this process is using as its network
er engine.
3.64 monProcessObject
Enable the enable monitoring and per object statistics active configuration parameters for this
monitoring table to collect data.
Columns
DBID int None Unique identifier for the database in which the object resides
PhysicalAPFRea int Counter Number of asynchronous prefetch buffers read from disk
ds
3.65 monProcessProcedures
Enable the enable monitoring and statement statistics active configuration parameters for this
monitoring table to collect data.
Columns
ContextID int None A unique identifier generated each time an executing query causes a
stored procedure, trigger, execute immediate, deferred compilation, or
other compiled object execution to occur
LineNumber int None The line in the procedure currently being executed
DBName varchar( None Name of the database that contains the procedure
30)
ObjectType varchar( None The type of procedure (for example, stored procedure or trigger)
32)
ExecutionCou int Counter Number of times the SAP ASE server executed this instance of the stored
nt procedure held in the procedure cache
CPUTime int Counter Amount of CPU time, in milliseconds, the SAP ASE server spent execut
ing the instance of this stored procedure held in the procedure cache
ExecutionTim int Counter Total amount of time, in milliseconds, the SAP ASE server spent execut
e ing the instance of this stored procedure held in the procedure cache
PhysicalRead int Counter Number of physical reads performed by the instance of this stored proce
s dure held in the procedure cache
LogicalReads int Counter Number of logical reads performed by the instance of this stored proce
dure held in the procedure cache
PhysicalWrit int Counter Number of physical writes performed by the instance of this stored pro
es cedure held in the procedure cache
PagesWritten int Counter Number of pages read by the instance of this stored procedure held in
the procedure cache
3.66 monProcessSQLText
Provides the SQL text currently being executed by the process. Use max SQL text monitored to tune the
maximum size of the SQL text.
monProcessSQLText returns a row for each row of the SQL text batch a process executes (specified by SPID).
That is, if a batch contains three rows, monProcessSQLText returns three rows in its result set. The value for
LineNumber indicates the number of the line in the batch. If the length of a single row exceeds 255 bytes,
monProcessSQLText returns multiple rows and the value for LineNumber is the same for all rows, but the
value for SequenceInLine is different for each row.
Enable the enable monitoring, max SQL text monitored, SQL batch capture configuration
parameter for this monitoring table to collect data.
Columns
ServerUserID int None Server user identifier (SUID) of the user executing this SQL. The
ServerUserID matches the value for the syslogins.suid col
umn. Use the suser_name function to obtain the corresponding
name.
OrigServerUser int None Server user identifier prior to executing set proxy
ID
BatchID int None Unique identifier for the SQL batch containing the SQL text.
LineNumber int None SQL batch line number for the row’s SQL text.
SequenceInLine int None Each row has a unique, and increasing, SequenceInLine value. If
the length of the SQL text exceeds 255 bytes, the text is split over
multiple rows.
3.67 monProcessStatement
Enable the enable monitoring, statement statistics active, per object statistics active,
and wait event timing configuration parameters for this monitoring table to collect data.
Columns
DBID int None Unique identifier for the database currently being used by the proc
ess.
PlanID int None Unique identifier for the plan the process is executing.
BatchID int None The batch number for the process in which the statement is exe
cuted.
LineNumber int None Line number of the statement within the SQL batch.
WaitTime int Counter Amount of time, in milliseconds, the task has waited while the state
ment executes.
MemUsageKB int None Number of kilobytes of memory used for execution of the statement.
PacketsSent int Counter Number of network packets sent by the SAP ASE server.
PacketsReceive int Counter Number of network packets received by the SAP ASE server.
d
NetworkPacketS int None Size, in bytes, of the network packet currently configured for the ses
ize sion.
RowsAffected int None Number of rows affected by the current statement. Queries using an
inefficient query plan likely show a high number of logical I/Os per re
turned row.
SnapCodegenTim int Counter Total number of microseconds of CPU time used by this query plan's
e SNAP code generation.
SnapJITTime int Counter Total number of microseconds of CPU time used by this query plan's
SNAP JIT compilation.
SnapExecutionT int Counter Total amount of elapsed time that this query plan's SNAP has exe
ime cuted (in microseconds).
SnapExecutionC int Counter Number of times the query plan's SNAP has been executed since it
ount was compiled.
DBName varchar( None Name of the database in which this process is executing. If the proc
30) ess is executing a stored procedure or other compiled object, the da
tabase name is the name of the database for that object.
QueryOptimizat int Counter CPU time (in milliseconds) used for query optimization.
ionTime
Provides a list of all wait events for which current processes on the server are waiting. Returns only wait events
whose Waits value is greater than zero.
Enable the enable monitoring, wait event timing, and process wait events, configuration
parameters for this monitoring table to collect data.
See Performance and Tuning: Monitoring Tables for a descriptions of select wait events.
Columns
ServerUser int None Server user ID (SUID) of the user associated with this process.
ID
OrigServer int None Server user identifier prior to executing set proxy
UserID
Waits int Counter Number of times the process has waited for the event
WaitTime int Counter Amount of time, in milliseconds, that the process has waited for the event
3.69 monProcessWorkerThread
Provides statistics for the activity of each currently configured worker process.
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
ThreadsActive int None Number of worker threads currently in use by the process
MaxParallelDegree smallint None The maximum degree of parallelism this task can use, which is set
with the set parallel_degree option for the session, or the
current Run Value for max parallel degree.
MaxScanParallelDeg smallint None The maximum degree of parallelism for scans this task can use,
ree which is set with set scan_parallel_degree for the ses
sion, or if this is not set, the current Run Value for max scan
parallel degree.
ParallelQueries int Counter Total number of parallel queries performed by this process
PlansAltered int Counter Number of plans altered from “optimal” for the process. Plans are
altered if the SAP ASE server has an insufficient number of worker
threads available to execute the query with an optimal degree of
parallelism.
FamilyID int None The spid of the parent process, if this is a worker process
3.70 monRepCoordinator
Columns
Note
Columns that display information only when stream replication is set to true are indicated with a 1
DBID int None Unique identifier for the database currently being used by the
process
ModeSwitchStatus varchar(3 None The status of syncronous and asyncronous switch modes.
0)
Value Description
Collects statistics information about Replication Agent activity related to scanning the log.
Enable the RepAgent activate monitoring configuration parameter to collect timing related data.
A RegAgent has a syslogs scanner and a sysimrslogs scanner if in-memory row storage (IMRS) is enabled on a
database. For a non-IMRS database, this table reports information for the syslogs scanner. For an IMRS
database, this table reports information for both scanners.
Use the ScannerSPID and ScannerType columns from monRepScanners to determine which row is the
syslogs scanner or sysimrslogs scanner.
Columns
Note
Columns that display information only when the RepAgent enable monitoring configuration parameter
is set to true are indicated with an asterisk (*).
DBID int Unique identifier for the database currently being used by the
process
TotalTimeForLogScans bigint Total amount of time the scanner thread used to scan the log
LobColumns bigint Total number of DML log records processed for a table with off-
row, large object columns
NumberOfLogExtentions bigint Total number of times the RepAgent waited for extensions to trans
actions
TotalTimeOfLogExtentions bigint Total amount of time, in milliseconds, the RepAgent waited for log
extensions*
LongestTimeOfLogExtentions bigint Longest amount of time, in milliseconds, the RepAgent waited for
log extensions*
AvgTimeOfLogExtentions bigint Average amount of time, in milliseconds, the RepAgent waited for
log extensions*
CachedBeforeImageUsed bigint Number of times that a RepAgent thread retrieves the before-im
age row values from its memory
3.72 monRepMemoryStatistics
Columns
The information of this table is collected only when RepAgent uses stream replication to replicate data.
DBID int Unique identifier for the database currently being used by
the process.
FreesLocalStreaming bigint Total number of requests to free memory for stream repli
Rep cation allocated by the RepAgent running on a specific da
tabase.
MemoryPoolUsageSize bigint Current amount of memory used, in bytes, for the Rep
Agent memory pool
MemoryPoolFreeSize bigint Current amount of memory available, in bytes, for the Rep
Agent memory pool
3.73 monRepScanners
Provides information on where the RepAgent Scanner task spends its time.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
DBID int Unique identifier for the database currently being used by the process.
EngineBinding int Number of the engine to which this task is bound (not applicable in
threaded mode).
NumberOfTruncPointReque int Total number of times RepAgent asked Replication Server for a new
sted truncation point.
Populated only when RepAgent uses the single task scanning of a log
model. When the multiple replication paths (MRP) model is used,
NumberOfTruncPointRequested values are 0. The
monRepSenders table contains related information for the MRP
model.
NumberOfTruncPointMoved int Total number of times RepAgent moved the secondary truncation
point.
Populated only when RepAgent uses the single task scanning of a log
model. When the multiple replication paths (MRP) model is used,
NumberOfTruncPointMoved values are 0. The
monRepSenders table contains related information for the MRP
model.
PathName varchar(3 Name of the path the scanner is servicing. Not applicable when Rep
0) Agent is configured for stream replication.
LogPagesLeft int The number of remaining log pages to be scanned for this scanner,
from its CurrentMarker to the end of the log.
GetLogPageCount int Controls the retrieval of data for the LogPagesLeft column.
Enable the RepAgent activate monitoring configuration parameter for this table to start collecting timing
related data.
A RegAgent has a syslogs scanner and a sysimrslogs scanner if in-memory row storage (IMRS) is enabled on a
database. For a non-IMRS database, this table reports information for the syslogs scanner. For an IMRS
database, this table reports information for both scanners.
Use the ScannerSPID and ScannerType columns from monRepScanners to determine which row is the
syslogs scanner or sysimrslogs scanner.
Columns
Note
Columns that display information only when the RepAgent is running in multithreaded mode are indicated
with a 1. Columns that display information only when multi-path replication is enable are indicated with a 2
DBID int Unique identifier for the database currently being used by the process.
LogRecProcessed bigint Total number of log records processed by the scanner thread
BootstrapTime bigint Total amount of time required, in microseconds, to complete the multipath
replication bootstrap cycle
SchemaLookupsTime bigint Total amount of time spent looking for an object’s schema in RepAgent
cache
HashBindingSize bigint Total number of buckets in the hash binding table holding an object’s bind
ing information2
HashBindingEntries bigint Total number of objects bound to a path when RepAgent was boot strap
ped2
HashBindingCollisions bigint The length of the longest collision chain used in the hash binding table2
WaitTimeOnSenderThrea bigint Total amount of time, in milliseconds, spent waiting on the sender thread1
d
LongestWaitOnSenderTh bigint Longest amount of time, in milliseconds, spent waiting on the sender
read thread1
3.75 monRepSchemaCache
The monRepSchemaCache table reports the schema cache information for each running RepAgent scanner.
Enable the RepAgent activate monitoring configuration parameter to collect timing related data.
A RegAgent has a syslogs scanner and a sysimrslogs scanner if in-memory row storage (IMRS) is enabled on a
database. For a non-IMRS database, this table reports information for the syslogs scanner. For an IMRS
database, this table reports information for both scanners.
Use the ScannerSPID and ScannerType columns from monRepScanners to determine which row is the
syslogs scanner or sysimrslogs scanner.
Columns
Note
Columns that display information only when the RepAgent enable monitoring configuration parameter
is set to true are indicated a 1.
DBID int None Unique identifier for the database running the Replication
Agent.
ConfiguredSize bigint None Size of the schema cache, in bytes, as configured using max
schema cache per scanner.
CurrentUsageSize bigint None Current size, in bytes, of the schema cache for this scanner.
MaxReachedSize bigint None Maximum size, in bytes, reached for the schema cache.
WideParameters bigint None Number of descriptors for the wide parameter for stored pro
cedure replication.
ObjectSchemasFlushe bigint None Number of table/stored procedure schemas that have been
d flushed.
WideParametersFlush bigint None Number of descriptors for the wide parameter for stored pro
ed cedure replication that have been flushed.
CacheTooSmallFlushe bigint None Number of objects flushed because the schema cache could
s not hold all schemas involved. This might be an indication
that you need to increase the schema cache size.
DBName varchar(3 None Name of the database in which the task scans.
0)
3.76 monRepSenders
This table collects data when you enable the RepAgent activate monitoring configuration parameter to
collect timing related data and RepAgent is configured to replicate in LTL mode.
Note
Columns that display information only when the RepAgent is running in multithreaded mode are indicated
with a 1. Columns that display information only when the RepAgent activate monitoring configuration
parameter is set to true (to begin collecting timing-related data) are indicated a 2.
DBID int Unique identifier for the database currently being used by the proc
ess.
SenderSPID int Process identifier for the Replication Agent sender task.
EngineBinding int Number of the engine with which this task is bound (not applicable
when the SAP ASE kernel mode is set to "threaded").
NumberOfScannerYields int Total number of times the scanner yielded on a full queue1
NumberOfScannerSleeps int Total number of times the scanner slept on a full queue1
ScannerSPID int Process identifier for the Replication Agent scanner task associated
with this sender.
PathName varchar( Name of the path the scanner is servicing (only applicable for Multi-
30) path replication)
3.77 monRepStreamStatistics
Provides information about RepAgent activity when it is configured to use stream replication.
This table collects data when you enable the RepAgent activate monitoring configuration parameter to
collect timing-related data.
Note
Columns that display information only when the RepAgent enable monitoring configuration parameter
is set to true are indicated with an asterisk (*).
A RegAgent has a syslogs scanner and a sysimrslogs scanner if in-memory row storage (IMRS) is enabled on a
database. For a non-IMRS database, this table reports information for the syslogs scanner. For an IMRS
database, this table reports information for both scanners.
Use the ScannerSPID and ScannerType columns from monRepScanners to determine which row is the
syslogs scanner or sysimrslogs scanner.
DBID int Unique identifier for the database currently being used by the
process.
SPID int Process identifier for the Replication Agent coordinator task.
NumberOfScannerSleep bigint Number of times the scanner sleeps while opening a stream.
sOpenStream
NumberOfScannerSleep bigint Number of times the scanner sleeps while allocating a package.
sAllocPkg
NumberOfScannerSleep bigint Number of times the scanner sleeps while flushing a package.
sFlushPkg
NumberOfFullPkgsFlus bigint Number of full packages flushed at the end of the log.
hedAtEOL
LastPopulatePkgTime bigint Amount of time, in microseconds, spent populating the last pack
age.
TotalTimeFlushingPkg bigint Total amount of time, in milliseconds, spent flushing stream pack
ages.*
LastWaitToSendTime bigint Amount of time, in microseconds, that the last package spent wait
ing in the send queue.
LastSendTime bigint Amount of time, in microseconds, required to send the last pack
age over the network.
AllocatedBufferPoolS bigint Allocated size of the buffer pool that holds the packets available for
ize a RepAgent thread to use to send data towards SAP Replication
Server.
BufferPoolExhausted bigint Number of times the buffer pool was exhausted (no packets left).
BufferPoolGrows bigint Number of times the buffer pool grew to the maximum buffer pool
size.
BufferPoolShrinks bigint Number of times the buffer pool shrank to the configured buffer
pool size.
BufferPoolSleeps bigint Number of times a task needed to sleep when a package was allo
cated from the buffer pool, indicating that the buffer was ex
hausted.
BufferPoolSleepTime bigint Total amount of time, in milliseconds, a task needed to sleep be
cause a package was allocated from the buffer pool.
MaxReachedPoolSize bigint Maximum size reached by the buffer pool when RepAgent was run
ning.
NumberOfPkgsInSendQ bigint Number of packages currently in the send queue waiting to be sent
over network by the CI thread.
3.78 monRepSyncTaskStatistics
Provides information about user task activity when the Replication Agent is configured for stream replication.
monRepSyncTaskStatistics collects timing related data when you enable the RepAgent activate
monitoring configuration parameter to collect timing related data.
Note
Columns that display information only when the RepAgent enable monitoring configuration parameter
is set to true are indicated with an asterisk (*).
Columns
DBID int None Unique identifier for the database currently be
ing used by the process.
SPID int None Process identifier for the Replication Agent co
ordinator task.
NumberTimerTaskWakeups bigint None Total number of user task wakeup calls that re
sulted from an expired timer.
TotalFlushTime bigint None Total amount of disk I/O flush time, in microsec
onds, user tasks spent between the start and
the end flush.*
AverageFlushTime bigint None Average amount of disk I/O flush time, in micro
seconds, user tasks spent between the start
and the end flush.*
DBName varchar(3 None Name of the database in which the task resides
0)
PreviousAverageCommitWaitTi bigint None Previous average commit wait time for all user
me tasks.
AcquiredTaskWaitMutex bigint None Number of times the task wait mutex was ac
quired.
NumberOfWakeupsMissed bigint None Number of SAP ASE tasks still sleeping after re
ceiving a commit.
3.79 monRepTruncationPoint
Provides information about the RepAgent truncation point management task's activity while the Replication
Agent is configured for stream replication.
monRepTruncationPoint collects data when you enable the RepAgent activate monitoring
configuration parameter to collect timing related data.
Note
Columns that display information only when the RepAgent enable monitoring configuration parameter
is set to true are indicated with an asterisk (*).
3.80 monSpinlockActivity
Enable the enable spinlock monitoring configuration parameter for this monitoring table to collect data.
Columns
3.81 monSQLRepActivity
Provides statistics for SQL statements that were successfully replicated on all open objects.
Enable the enable monitoring and per object statistics active configuration parameters for this
monitoring table to collect data.
Columns
3.82 monSQLRepMisses
Provides statistics for SQL statements that were not successfully replicated for all open objects.
Enable the enable monitoring and per object statistics active configuration parameter for this
monitoring table to collect data.
Columns
3.83 monSSLCertInfo
Columns
Provides information regarding the overall state of the SAP ASE server.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
LockWaitThreshold int None Time (in seconds) that a process must wait for a lock before it
is counted as blocked and reported in the LockWaits col
umn. The default value for LockWaitThreshold is 5 sec
onds. The default is used if you do not specify a value in the
where clause of the query (for example
LockWaitThreshold=30).
LockWaits int None Number of process that have waiting for a lock longer than
the value of LockWaitThreshold.
DaysRunning int None Number of days the SAP ASE server has been running.
MaxRecovery int None The maximum time (in minutes), per database, that the SAP
ASE server uses to complete its recovery procedures in case
of a system failure; also, the current Run Value for the
recovery interval in minutes configuration op
tion.
TableAccesses bigint Counter Number of pages from which data was retrieved without an
index
IndexAccesses bigint Counter Number of pages from which data was retrieved using an in
dex
ULCFlushes bigint Counter Total number of times the User Log Cache was flushed
ULCFlushFull bigint Counter Number of times the User Log Cache was flushed because it
was full
ULCKBWritten bigint Counter Number of kilobytes written to the user log cache
TotalSyncCommitTim bigint None Total amount of time (in milliseconds) spent performing syn
e crhonous commits
SnapsGenerated bigint Counter Number of compiled query compilations since the SAP ASE
server was last restarted.
SnapsExecuted bigint Counter Number of actual query plan executions using Simplified Na
tive Access Plans since the SAP ASE server was last restarted.
StartDate datetime None Date and time the SAP ASE server was started.
CountersCleared datetime None Date and time the monitor counters were last cleared.
3.85 monStatementCache
Provides statistical information about the statement cache. You must enable the statement cache before
monStatementCache table can collect data.
Enable the enable monitoring, enable stmt cache monitoring, and statement cache size
configuration parameters for this monitoring table to collect data.
UsedSizeKB int None Amount of the statement cache, in KB, currently in use.
NumSearches int None Number of times the statement cache was searched.
HitCount int None Number of times the statement cache was searched and a
match was found.
NumInserts int None Number of statements that were inserted into the statement
cache.
NumRemovals int None Number of times statements were removed from the state
ment cache. This value includes statements that were re
moved with explicit purges or from a replacement strategy.
NumRecompilesSchem int None Number of recompiles due to schema changes in the tables
aChanges referred to in the cached statements.
NumRecompilesPlanF int None Number of recompiles due to the plan flushes from the cache.
lushes
3.86 monSysExecutionTime
The monSysExecutionTime monitoring table includes one row for each operation module executed by
Adaptive Server.
Enable the enable monitoring and execution time monitoring configuration parameters for this
monitoring table to collect data.
3.87 monSysLoad
Provides trended statistics on a per-engine basis. You need not have the mon_role role to query this monitor
table.
There is one row per engine per statistic, with the exception of kernel run queue length, which is
reported only for engine number 0.
Averages are computed using an algorithm that eliminates momentary peaks and valleys and provides a an
indication of overall trends.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
SteadyState real None Average value for this statistic since the SAP ASE server
started.
Sample real None Value of the metric at the last sample interval (that is, the cur
rent value of the metric).
Peak real None The highest Sample value since the instance started (that is,
the peak Sample value).
Peak_Time datetime None The date and time the Peak value was achieved.
StatisticID smallint None A fixed identifier for this statistic. You may want to write appli
cations to the fixed StatisticID instead of the localized
Statistic name.
3.88 monSysPlanText
Provides the history of the query plans for recently executed queries. monSysPlanText returns one row of text
from each line of the running query plans (similar to what is returned sp_showplan or by set showplan on).
To make sure monSysPlanText reads the query plan text in the correct sequence, order the query result by
SequenceNumber. For queries returning data for multiple queries or processes, order the query result by
SPID, KPID, BatchID, SequenceNumber.
Typically, there are multiple rows in this table for each query plan. Arrange the rows by sorting on the
SequenceNumber column in ascending order.
monSysPlanText is a historical monitoring table. See Stateful Historical Monitoring Table in the Performance
and Tuning Guide.
Columns
BatchID int None Unique identifier for the SQL batch for which the plan was cre
ated.
DBID int None Unique identifier for the database where the procedure is
stored, if the plan is for a stored procedure.
ProcedureID int None Unique identifier for the procedure, if the plan is for a stored
procedure.
DBName varchar(3 None Name of the database in which the statement represented by
0) this plan is executed. This column is NULL if this database is
not open when monSysPlanText is queried. If the process
is executing a stored procedure or other compiled object, the
database name is the name of the database for that object.
Provides the most recently executed SQL text, or the SQL text currently executing. The maximum number of
rows returned can be tuned with sql text pipe max messages.
Enable the enable monitoring, SQL batch capture, sql text pipe max messages, sql text pipe
active configuration parameters for this monitoring table to collect data.
monSysSQLText is a historical monitoring table. See Performance and Tuning: Monitoring Tables.
Note
In many cases, the text for a query spans multiple rows in this table. Arrange rows in proper order by
sorting on the SequenceInBatch column in ascending order.
Columns
ServerUserID int None Server user identifier (SUID) of the user who executed this
SQL text. The ServerUserID matches the value in
syslogins.suid. Use the suser_name function to obtain
the corresponding name.
BatchID int None Unique identifier for the SQL batch containing the SQL text.
SequenceInBatch int None Indicates the position of this portion of SQL text within a
batch (the SQL text for a batch may span multiple rows).
Provides a history of the most recently executed statements on the server. Use statement pipe max
messages to tune the maximum number of statement statistics returned.
Enable the enable monitoring, statement statistics active, per object statistics active,
statement pipe max messages, statement statistics active, and statement pipe
activestatement statistics configuration parameters for this monitoring table to collect data.
monSysStatement is a historical monitoring table. See Performance and Tuning: Monitoring Tables.
Columns
PlanID int None Unique identifier for the stored plan for the procedure.
BatchID int None Unique identifier for the SQL batch containing the statement.
LineNumber int None Line number of the statement within the SQL batch.
WaitTime int Counter Number of milliseconds the task has waited during execution
of the statement.
PacketsSent int Counter Number of network packets sent by the SAP ASE server.
PacketsReceived int Counter Number of network packets received by the SAP ASE server.
NetworkPacketSize int None Size (in bytes) of the network packet currently configured for
the session.
RowsAffected int None Number of rows affected by the current statement. Queries
using an inefficient query plan likely show a high number of
logical I/Os per returned row.
HashKey int None Hash value for the text of the statement; this is not a unique
identifier. This column is zero (0) if the statement is not exe
cuted from the statement cache.
SsqlId int None ID of the query plan for this statement within the statement
cache. This column is zero (0) if the statement is not exe
cuted from the statement cache.
ProcNestLevel int None Nesting level of the statement. This column is zero (0) if the
statement is an ad hoc query. If the statement is within a
stored procedure, this column indicates the nesting level of
that stored procedure.
StatementNumber int None Number indicating the order in which this statement was exe
cuted within the SQL batch for the process.
DBName varchar(3 None Name of the database in which the statement is executed.
0) This column is NULL if the database is no longer open when
monSysStatement is queried. If the process is executing a
stored procedure or other compiled object, the database
name is the name of the database for that object.
SnapCodegenTime int Counter Total number of microseconds of CPU time used by this query
plan's SNAP code generation.
SnapJITTime int Counter Total number of microseconds of CPU time used by this query
plan's SNAP JIT compilation.
SnapExecutionTime int Counter Total amount of elapsed time that this query plan's SNAP has
executed (in microseconds).
SnapExecutionCount int Counter Number of times the query plan's SNAP has been executed
since it was compiled.
QueryOptimizationT int Counter CPU time (in milliseconds) used for query optimization.
ime
3.91 monSysWaits
Provides a server-wide view of the statistics for events on which processes have waited.
Enable the enable monitoring and wait event timing configuration parameters for this monitoring
table to collect data.
You can join the monSysWaits table with monWaitEventInfo using the WaitEventID columns as the join
column to obtain the wait event descriptions. For example:
Columns
WaitTime int Counter Amount of time (in seconds) tasks spent waiting for the event
Waits int None Number of times tasks waited for the event
Enable the enable monitoring configuration parameter for this monitoring table to collect data.
Columns
HighWater int reset The maximum number of worker processes that have ever
been in use
PlansAltered int Counter, reset Number of plans altered due to unavailable worker processes
WorkerMemory int None The amount of memory currently in use by worker processes
TotalWorkerMemory int None The amount of memory configured for use by worker proc
esses
WorkerMemoryHWM int reset The maximum amount of memory ever used by worker proc
esses
MaxParallelDegree int None The maximum degree of parallelism that can be used: the cur
rent Run Value for max parallel degree configura-
tion option
MaxScanParallelDeg int None The maximum degree of parallelism that can be used for a
ree scan: the current Run Value for max scan parallel
degree configuration option
Describes all the columns for each monitoring table. monTableColumns helps determine what columns are in
the monitoring tables. You can join monTableColumns with monTables to report columns and column
attributes for the monitoring tables.
The metadata view for this table is identical for all instances in a shared-disk cluster.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
Indicators int None Indicators for specific column properties (for example, if the
column is prone to wrapping and should be sampled)
Description varchar(5 None Description of the column (includes the column’s unit of
12) measurement).
Language varchar(3 None Allows you to specify the language in which the SAP ASE
0) server returns the values of the Description column and
the Label column.
Label varchar(1 None Description of the data presented in the column. You can use
50) these values in application user interfaces instead of the ac
tual column names.
Contains the table’s compression history. Enable the enable monitoring, capture compression
statistics, and per object statistics active configuration parameters for this monitoring table to
collect data.
Columns
DBID int None ID of the database to which this table was transferred
CompRowForward bigint Counter Number of compressed rows forwarded from the update
RowCompNoneed int Counter Number of rows not compressed because their compressed
row length exceeded their normal row length
PageCompNoneed bigint Counter Number of pages that are not suitable for page-level compres
sion because the SAP ASE server cannot generate a diction
ary or index
3.95 monTableParameters
Provides a description for all columns in a monitoring table used to optimize query performance for the
monitoring tables.
The metadata view for this table is identical for all instances in a shared-disk cluster.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
Provides a description of all monitoring tables. You can join monTables with monTableColumns for a
description of each monitoring table and the columns it contains.
The metadata view for this table is identical for all instances in a shared-disk cluster.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
Parameters tinyint None Total number of optional parameters you can specify
Indicators int None Indicators for specific table properties (for example, if the ta
ble retains session context)
Select TableName
from master..monTables
where Indicators & 1 != 0
Language varchar(3 None Allows you to specify the language in which the SAP ASE
0) server returns the values of the Description column.
Provides historical transfer information for tables in the SAP ASE server’s active memory. It does not store
information for completed transfers. MonTableTransfer provides transfer information on currently ongoing
transfers of all tables, whether they are marked for incremental transfer or not, and on previous transfers on
tables marked for incremental transfer.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
InstanceID tinyint None (Cluster environments only) Holds the instance ID of the
server in which the command is running. In non-clustered
servers, always holds zero.
SequenceID int None Internal tracking ID generated by the SAP ASE server
PercentDone smallint None Percentage of transfer work done, expressed as an integer be
tween 0 – 100 (all completed transfers show 100)
EndTime datetime None Date and time at which transfer ends. Ongoing transfers show
NULL.
● 0 – successful transfer.
● NULL – ongoing transfer.
● Error code – failed transfer.
TransferCeiling bigint None Timestamp at which data is uncommitted and cannot be sent
Format varchar(8 None Contains the name of the destination format: one of ase,
) bcp, csv, or iq.
3.98 monTask
Specific to the SAP ASE server in threaded mode, contains one row for each task.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
ThreadPoolID int None ID of the thread pool this task is associated with
ThreadPoolName varchar(3 None Name of the thread pool this task is associated with
0)
Applies to cluster environments only. Provides statistics for all open local temporary databases, including
global system tempdb when the instance is started in tempdb configuration mode.
monTempdbActivity requires the enable monitoring, per object statistics active, and object
lockwait timing configuration parameters to collect data.
Columns
AppendLogWaits int Counter Number of times a task waits for the append log semaphore
to be granted
LockRequests int Counter Number of requests for an object lock in this temporary data
base
LockWaits int Counter Number of times a task waited for an object lock in this tem
porary database
CatLockRequests int Counter Number of requests for a lock on the system catalog
CatLockWaits int Counter Number of times a task waited for a lock for system table
AssignedCnt int Counter Number of times this temporary database was assigned to a
user task
3.100 monThread
Specific to the SAP ASE server in threaded mode: Contains one row for each thread.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
AltOSThreadID int None Alternate operating system thread ID (on some platforms this
may be a lightweight process (LWP) ID)
ThreadAffinity int None CPU number to which the thread has affinity
IdleTicks bigint Counter Total number of ticks during which this thread was idle
SleepTicks bigint Counter Total number of ticks during which this thread was sleeping
BusyTicks bigint Counter Total number of ticks during which this thread was busy
UserTime bigint Counter Total amount of thread user CPU time, in milliseconds
SystemTime bigint Counter Total amount of thread system CPU time, in milliseconds
MinorFaults bigint Counter Total number of minor page faults. Value is 0 on Windows
MajorFaults bigint Counter Total number of major page faults. Value is 0 on Windows
VoluntaryCtxtSwitc bigint Counter Total number of voluntary operating system context switches.
hes Value is 0 on Windows
3.101 monThreadPool
Specific to the SAP ASE server in threaded mode: Contains one row for each thread pool.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
TargetSize int None Requested size (differs from Size only when you change
pool sizes)
Tasks int None Number of tasks associated with the thread pool
Type varchar(3 None Thread pool type, Engine (multiplexed) or Run to Completion
0) (RTC)
IdleTimeout int None Amount of time, in microseconds, that threads in this pool
search for runnable tasks before idling
3.102 monThresholdEvent
The monThresholdEvent monitoring table includes one row for each event recorded by SAP ASE.
Enable the allow resource limits configuration parameter to enable resource limits collection. Enable the
enable monitoring, threshold event monitoring, and set threshold event max messages
configuration parameters for this monitoring table to collect data.
monThresholdEvent is a stateful historical monitoring table (see the Performance and Tuning Guide:
Monitoring Tables). Determine the number of events monThresholdEvent stores with the threshold event
max messages configuration parameter.
Columns
ServerUserID int None Server user identifier (SUID) of the user who executed this
SQL text. The ServerUserID matches the value in
syslogins.suid. Use the suser_name function to ob
tain the corresponding name.
ClientHostName varchar(3 None Value of the clienthostname property set by the applica
0) tion.
ClientApplName varchar(3 None Value of the clientapplname property set by the applica
0) tion.
Command varchar(3 None Category of process or command the process is currently ex
0) ecuting.
DBID int None Unique identifier for the database currently being used by the
process.
BatchID int None Unique identifier for the SQL batch containing the statement
being executed.
LineNumber int None Line number of the current statement within the SQL batch.
BlockingSPID int None Session process identifier of the process holding the lock this
process requested, if waiting for a lock.
TempDbObjects int Counter Total number of temporary tables created by the process.
Enforced tinyint None Determines if the limit is enforced prior to, or during, query
execution.
ReportDatetime datetime None Date and time the report was issued due to the limit violation.
Indexes
3.103 monWaitClassInfo
Provides a textual description for all of the wait classes (for example, waiting for a disk read to complete). All
wait events (see the description for monWaitEventInfo) have been grouped into wait classes that classify the
type of event for which a process is waiting.
This table displays the same information for all instances in a shared-disk cluster
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
WaitClassID smallint None Unique identifier for the wait event class
Language varchar(3 None Allows you to specify the language in which the SAP ASE
0) server returns the values of the Description column.
3.104 monWaitEventInfo
Provides a textual description of wait conditions reported in the monSysWaits and monProcessWaits tables.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
WaitEventID smallint None Unique identifier for the wait event type
WaitClassID smallint None Unique identifier for the wait event class
Language varchar(3 None Allows you to specify the language in which the SAP ASE
0) server returns the values of the Description column.
3.105 monWorkload
(Cluster environments only) Displays the workload score for each logical cluster on each instance according to
its load profile.
You need not enable any configuration parameters for this monitoring table to collect data.
LoadProfileID tinyint None ID of the load profile used to generate the load score
LoadScore real None Load score for this instance or logical cluster
ConnectionsScore real None Weighted value for the user connections metric
CpuScore real None Weighted value for the cpu utilization metric
RunQueueScore real None Weighted value for the run queue metric
EngineScore real None Weighted value for the engine deficit metric
LoadProfileName varchar(3 None Name of the load profile used to generate the load score
0)
3.106 monWorkloadPreview
(Cluster environments only) Provides an estimate of how a load profile impacts the workload score without
enabling the profile.
monWorkload includes one row for each logical cluster and instance on which this logical cluster is running.
The load score and components are based on the current profile for that logical cluster. The
monWorkloadPreview table has one row for each combination of instance and load profile configured on the
system, allowing the administrator to see how workload scoring would be done for each profile. You need not
have the mon_role role to query this monitor table.
You need not enable any configuration parameters for this monitoring table to collect data.
LoadScore int None Load score for this instance or logical cluster
ConnectionScore float None Weighted value for the user connections metric
CpuScore float None Weighted value for the cpu utilization metric
RunQueueScore float None Weighted value for the run queue metric
EngineScore float None Weighted value for the engine deficit metric
LoadProfileName varchar(3 None Name of load profile used to generate the load score
0)
3.107 monWorkloadProfile
Applies to cluster environments only. Displays currently configured workload profiles. You need not have the
mon_role role to query this monitor table.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
ConnectionsWeight tinyint None Weight associated with the active connections metric
CpuWeight tinyint None Weight associated with the cpu utilization metric
RunQueueWeight tinyint None Weight associated with the run queue metric
EngineWeight tinyint None Weight associated with the engine deficit metric
DynamicThreshold tinyint None Threshold for dynamic load distribution (that is, post-login
migration for load purposes)
Type varchar(3 None Type of workload profile. Indicates whether the profile is de
0) fined by a user or the system. Values are:
● User
● System
3.108 monWorkloadRaw
Applies to cluster environments only. Provides the raw workload statistics for each instance. You need not have
the mon_role role to query this monitor table.
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
ConnectionsRaw real None Raw value for the user connections metric
CpuRaw real None Raw value for the cpu utilization metric
RunQueueRaw real None Raw value for the run queue metric
EngineRaw real None Raw value for the engine deficit metric
3.109 monWorkQueue
You need not enable any configuration parameters for this monitoring table to collect data.
Columns
QueuedRequests int Counter Total number of requests that waited for another request to
finish
The sybpcidb database stores configuration information for the Java PCI Bridge and the PCA/JVM plug-in.
This chapter describes the sybpcidb tables in alphabetical order.
You create sybpcidb, install its tables, and create its system stored procedures when you configure the server
for Java. See the installation guide for your platform. See also Java in Adaptive Server Enterprise for
information about how to use the sp_jreconfig and sp_pciconfig stored procedures that let you configure
and display information in sybpcidb.
4.1 pca_jre_arguments
Stores information about the arguments used to configure the PCA/JVM plug-in.
Columns
jre_args_directive_ int The index of the directive to which the argument belongs.
index
jre_args_number_val int If units=number, holds the number associated with the argument.
ue
jre_args_string_val varchar(2 If units=string or units=array, holds the string value associated with the ar
ue 55) gument.
● 0 – not enabled
● 1 – enabled (default)
Indexes
4.2 pca_jre_directives
Columns
● 0 – not enabled
● 1 – enabled (default)
4.3 pci_arguments
Stores information that defines each of the arguments used to configure the PCI Bridge.
Columns
pci_args_directive_ int The index of the directive to which the argument belongs.
index
pci_args_number_val int When units=number, the value of number. If units=switch, the value is zero
ue (0).
pci_args_descriptio varchar(2 Brief text description of the argument and its purpose.
n 55)
● 0 – not enabled
● 1 – enabled (default)
4.4 pci_directives
Columns
Indexes
Contains information describing each slot, including table names for the slot’s directives and arguments.
Columns
Indexes
Contains the runtime system call configuration information for the runtime dispatching model used by the PCI
Bridge.
Columns
syscall_slot_number int The slot number associated with the system call.
syscall_dispatch_name varchar(2 The name of the dispatch function for the system call.
55)
● 0 – not enabled
● 1 – enabled (default)
Indexes
The workload profiler uses a series of tables to provide metrics and analysis for the in-memory row storages.
These tables are installed when you install the workload profiler with the installwlprofiler script (located
in $SYBASE/$SYBASE_ASE/scripts).
By default, the workload profiler tables are located in the sybdsamdb database, and the accompanying system
procedures are located in sybsystemprocs, although you can specify different databases by editing the
installation script.
5.1 wlp_tables
Columns
Indexes
Columns
Indexes
Includes execution-time defaults for workload profiling properties (for example, the name of metrics database,
the sampling interval to gather MDA metrics, and so on.
Columns
wlx_def_va varchar(10) Null Unit-specifier for default values, if applicable. NULL for
lue_units values (for example, path names, database names)
that have no units.
wlx_def_de varchar(30) Yes Long description for columns and default value seman
scription tics
Indexes
Columns
wlx_runid int No Yes ID of the workload profiling activity. Used as the join-
key value across all tables holding data relating to this
profile (for example, metrics collected, recommended
configuration, and so on.
wlx_dbname varchar(30) No Target database name of the workload profiler. The de
fault is the name of the database in which
sp_wlprofiler is running.
wlx_asever varchar(255) No <@@version> string for the SAP ASE against which
sion
you are executing the workload profiler.
wlx_tracef varchar(255) Yes Trace flag numbers that were active at the start of the
lags workload profiler activity.
wlx_last_s bigdatetime No Date and time you last sampled the monitoring table
ampled_dat metrics.
e
wlx_end_tr varchar(255) Yes Traceflag numbers that were active at the end of the
aceflags workload profiler activity (that is, when you issued
sp_wlprofiler...end). This is distinguished
from wlx_traceflags, which lists only traceflags
that were enabled by the workload profiler.
wlx_insby varchar(30) Yes Indicates how the row describing the workload profiler
was inserted into wlp_exec_control. The default
is isql. If the workload profiler generates the row de
scribing a new interval, wlx_insby contains the
value sp_wlp_prepare, indicating that it was in
serted by the sp_wlprofiler ... prepare
command.
5.5 wlp_exec_commands
Contains one row for each T-SQL command that archives data.
Columns
wlxcmd_obj varchar(255) Yes Name of the object on which the SQL statement exe
name cutes.
Indexes
Columns
wlpc_value int Yes Value indicating whether the event occurred or not. A
value of 1 indicates it occurred, 0 that it has not.
5.7 wlp_valid_features
Columns
wlvf_ftag varchar(8) No Tag for the feature tag. For example, DRC (datarow col
umns), MVCC (multiversion concurrency control), or
LFB (latch-free btree).
Tracks execution time metrics for SQL operation and commands run to collect and archive metrics.
Columns
wlxct_objn varchar(255) Yes Name of the object on which the SQL statement is exe
ame cuted.
Indexes
Stores column names from archived tables for the sp_wlprofiler ... show parameter to display.
Columns
wlxc_show_ int No Yes Unique ID value for the columns in the table.
colctr
wlxc_show_ varchar(30) No Name of the metrics table that contains the column.
montable
wlxc_show_ tinyint Yes Number specified by the order by command for the
orderby_no
column list.
Indexes
Lists the columns for the monitoring tables that provide metrics for the workload profiler.
Columns
wlp_uc_mda varchar(30) No Name of the metrics table in which the column exists.
_name
Indexes
5.11 wlp_exec_cmd_generate_deltas
Lists the archive table columns that generate changes during a sampling period.
Columns
wlxc_gd_mo varchar(30) No Name of the metrics table in which the column exists.
ntable
wlxc_gd_de varchar(30) No Name of the changed column, derived from the original
lta_colnam column name by appending _delta.
e
Indexes
Stores the input values from columns that provide metrics for workload profiling.
Columns
5.13 wlp_plan_objscores
Contains the the scores computed for each table, determining if they are suitable for a feature.
Columns
Tracks space growth rates and usage that are important for evaluating the target feature.
Columns
VersionNum int No Yes Version number from <@@version> output that iden
tifies the server used for archiving the metrics.
IndexName varchar(255) Yes Name of the index (can be NULL for the table's data
layer).
Id int No Object ID
PtnId int No Partition ID. Uses the value from DataPtnId for the
data layer, and the index partition ID for index rows.
WLP_ID int No Workload profiler ID. Identifies all metrics gathered and
results generated during a single execution of the
workload profiler. Followed by an analysis phase.
Indexes
5.15 WLP_spaceusage_syslogs
Columns
WLP_ID int No Workload profiler ID. Identifies all metrics gathered and
results generated during a single execution of the
workload profiler. Followed by an analysis phase.
Indexes
5.16 WLP_spaceusage_sysimrslogs
Columns
WLP_ID int No Workload profiler ID. Identifies all metrics gathered and
results generated during a single execution of the
workload profiler. Followed by an analysis phase.
Indexes
Columns
WLP_ID int No Workload profiler ID. Identifies all metrics gathered and
results generated during a single execution of the
workload profiler. Followed by an analysis phase.
Indexes
Columns
WLP_ID int No Workload profiler ID. Identifies all metrics gathered and
results generated during a single execution of the
workload profiler. Followed by an analysis phase.
Indexes
Provides a server-wide view of the statistics for events on which processes have waited to the workload profiler.
Columns
WLP_ID int No Workload profiler ID. Identifies all metrics gathered and
results generated during a single execution of the
workload profiler. Followed by an analysis phase.
Indexes
Hyperlinks
Some links are classified by an icon and/or a mouseover text. These links provide additional information.
About the icons:
● Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your
agreements with SAP) to this:
● The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.
● SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any
damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.
● Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering a SAP-hosted Web site. By using such
links, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this
information.
Example Code
Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax
and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of
example code unless damages have been caused by SAP's gross negligence or willful misconduct.
Gender-Related Language
We try not to use gender-specific word forms and formulations. As appropriate for context and readability, SAP may use masculine word forms to refer to all genders.
SAP and other SAP products and services mentioned herein as well as
their respective logos are trademarks or registered trademarks of SAP
SE (or an SAP affiliate company) in Germany and other countries. All
other product and service names mentioned are the trademarks of their
respective companies.