SDN Homepage
  My Home > MaxDB > ... > SAP MaxDB Database Console 7.6 > SAP MaxDB Console - Overview of Important Tasks
SAP MaxDB Console - Overview of Important Tasks Welcome Guest
View a printable version of the current page.

Added by Gyoung Hwa Kim , last edited by Gyoung Hwa Kim on Aug 19, 2009  (view change)
Labels: 
(None)

Overview of Important Tasks

Name Description
Event Task The event task accepts events that are created in the kernel and communicates them externally. Special option of dbm server triggers events and event manager connects the kernel to event task and send information to dbmgui. You can use the Event Dispatcher to define reactions. For example, you can have the database enlarge automatically when it gets full(auto_extend). You can also have the Event Dispatcher automatically update statistics when certain events occur (auto_update_statistics).
Pager (data writer) Pagers write the data from the data cache to the data volumes with each savepoint. Writing a savepoint can take a long time for a large data cache. If necessary, the pagers also become active between the end of a savepoint and the start of the next one, to save the changed data asynchronously. At restart, the pagers read the converter pages from the data volumes to the converter. The system calculates the number of pagers required. It is primarily dependent on the size of the data cache and the number of data volumes.
Server Task The server tasks parallelize database functions. They are required, for example, to back up data and log entries, create indexes and to permanently delete tables asynchronously. Users do not have to wait for all data to be deleted. During a restart, they import log entries and process transactions in parallel.
The system automatically calculates the number of server tasks needed in the configuration of the database instance from the number of data volumes and the number of backup devices. You can configure the number of server tasks that are available using the MAXSERVERTASKS special database parameter.
Server tasks can have special names that reflect how they are used, for example Savepoint, BackupMedium, BackupVolume, AutosaveCoordinator, AutosaveMedium.
Timer Task The timer task is used for handling all types of timeout situations such as session timeouts and lock request timeouts.
Trace Writer Task When the database trace is activated, trace information is logged into trace buffers. On request or in case of a crash, the trace writer task writes the trace entries from the working memory to the trace volume (knltrace). If the database crashes, the trace writer task writes the contents of the internal data structures to the knldump file.
User Task User tasks execute SQL statements. When a database user opens a database session, the database system assigns one user task to this database user. The number of available user tasks can be configured using the MAXUSERTASKS special database parameter.
Logwriter Task The logwriter task is responsible for writing redo log entries in the log volumes.
Garbage collectors Garbage collectors release undo log files to free space management.
Utility Task The utility task performs administration tasks.
The utility task is reserved exclusively for the administration of the database instance. Automatic log backup can be executed in parallel with other administration tasks as it does not occupy a utility session after it is activated. As of version 7.6 all administration actions are executed via user tasks. For compatibility reasons, the utility task will be retained for the foreseeable future although it will not be used by the DBM server in future versions.

back to top

Overview of Server Tasks

Name Description
AutoLgR Autosave Log Reader: Reads log pages from the log volume
AutoLgW Autosave Log Writer: Writes log pages to the backup medium
BUPmed Backup / Restore Medium Task: Reads/Writes from/to a data backup medium
BUPvol Backup / Restore Volume Task: Reads/Writes from/to data volumes for backup
ChkData Check Data: Checks B*Trees
CrIndex Create Index: Parallel index creation
DropAux Drop Auxiliary Files: Performs drop table in background
JoinInS Join Index Select: Perform parallel join via index
PrefBlb Prefetch BLOB when returning last part to application.
PrefObj Prefetch Objects: Prefetch liveCache objects after restart
PrefOCo Prefetch Objects Coordinator: This is the coordinaton task for all the Prefetch Objects server tasks. After restart of a livecache this servertask is started to coordinate the worker server tasks "Prefetch Objects".
PrefPag Prefetch Pages: This task prefetches all leaf pages addressed by one index level 1 page. This is used for table prefetching and is started by the "Prefetch Table Coordinator".
PrefSel Prefetch Select: This task prefetches records when scanning.
PrefTCo Prefetch Table Coordinator: This coordinator task is started by a table scan which expects to read a lot of pages. The coordinator task reads all relevant index level 1 pages and starts "Prefetch Pages" tasks to read the addressed leaf pages.
RedoExe RedoLog Execution Task: Executes redo of log entries
RedoRea RedoLog Reader: Reads from log volume or log file during restore
Savepnt Savepoint Coordinator: Coordinates the phases of a savepoint
StdbyRC Standby Restart Coordinator: Coordinates a takeover in a Hot Standby system. The command which enables the standby database to read log is starting this servertask which is doing what usually is done by the RESTART command. RESTART STANDBY is starting the asynchronous restart.
StdbySy Standby Synchronize Server: Waits for sync calls from a Hot Standby master. If the master database wants to send the SYNCHRONIZE command to all registered standby databases it uses this servertask which takes over the sending job. This is needed to prevent blocking of the logwriter in the master. The SYNCHRONIZE command is used to tell the standby databases which is the newest log position which is valid to read.
Unspec Unspecified
UpdCnt Update Counter: Scans tables to read counters, for example, numbers of records, avg key and record length.
UpdStat Update Statistics: Perform parallel update statistics
VolBlnc Volume Balance: This server task reads pages from volumes which should be dropped or if new blocks for clustering are needed then this task assures that pages of block clusters are read and written again in better clusters. The read pages are distributed automatically out of the datacache to other volumes.

back to top

New Server Tasks in MaxDB 7.7

Name Description
UpdCntC Update Counter Coordiantor: This servertask starts and collects the results of UpdCnt servertasks. This task is triggered by the timeout task periodically if requested.
TblPrfC Prefetch Table Coordinator: This is the coordinator which starts and collects all "PrefPag" server tasks. This is used to prevent blocking of the selecting user task.

New Server Tasks in MaxDB 7.8

Name Description
IOCompl Data IO Completion: This servertask is used to receive all asynchronous IO requests and to execute a callback within the kernel which is for example resuming any waiting tasks.

back to top

Overview of the Task States

Name Description
AsynClose (Stream Close) Task is closing I/O ports after backup or restore
AsynCntl Task is determining parameters or initializing a backup device
AsynIO (Stream IO) Task is executing an asynchronous I/O operation (during backup or restore)
AsynOpen (Stream Open) Task is opening I/O ports for the backup or restore
AsynWaitRead/Write
(Stream Wait(R)/(W))
Task is waiting for the end of an I/O operation during backup or restore
Command reply Task is sending the result of a request to the application
Command wait Database session without a request
Connect wait Free database session
DcomObjCalled
(LCApp Called)
Task is executing a database procedure or a COM object
Diaginit Task is initializing the database-internal trace file
Inactive Task is in an initial state and has no resources (such as a stack)
InsertEvent Task is generating an event
IO wait (W/R) Task is waiting for the result of an I/O operation (W: write, R: read)
(W)
The task waits for I/O, which writes a page to disk. If a user task is displayed in this state, then swapping might exist. The user task must displace data from the cache before it can read new data. Try to avoid this situation, since it requires two I/Os for one read, which is bad for performance. If this situation occurs repeatedly in a customer system, you must perform a detailed performance analysis to find out the cause of the swapping.
(R)
The task waits for I/O, which reads a page from the devspace (volume) and writes it to the cache. Each page requested by the application must first be loaded into the cache. IO WAIT(R) is not unusual after starting the system, however, you should be able to retain as much data as possible in the cache in a running system, and this is what you should aim for in the liveCache environment.
Locked Task was locked as the kernel was shut down (to avoid this task being rescheduled).
RescheduleMsec Short-term wait situation, task runs again automatically after a predefined time span (in microseconds)
Runnable Task can run now, but has been displaced due to long runtime or priority of another task.
The task could run now, but another task is using the CPU. Internal MaxDB dispatching suspends the task due to long runtime, or the prioritization of another task.
Running Task is running, using CPU
Sleep (Vsleep) Short-term wait situation, task runs again automatically after a predefined time span
The task is in a short wait situation. It starts running agin after a predefined period.
Stopped Task was suspended by the kernel and is waiting to run again
Terminated Task or database session was ended
UNKNOWN Task state is unknown
Vattach (Attach Volume) Task is opening I/O ports (volumes, normal operation)
Vbegexcl (Enter Region) Task is waiting to enter a protected area ( region : synchronized memory access ) or enters a region.
Vdetach (Detach Volume) Task is closing I/O ports (volumes, normal operation)
Vdevsize Task is determining the size of a volume or formatting a volume
Vdualvectorio
(Dual Vector IO)
Task is performing a vector I/O operation (read or write) on two volumes in parallel
Vendexcl (Leave Region) Task is leaving a protected area (critical region).
Comment: Conflicts can also occur when the critical region is released, since the release must also be synchronized. If, at the same time, a task wants this critical region in aonther UKT, then conflicts might occur.
VenterRWRegion
(Enter RWRegion)
Task is waiting to enter a protected area (reader/writer region)
Vfclose (File Close) Task is closing a file
Vfopen (File Open) Task is opening a file
Vfwrite (File Write) Task is writing to a file
VleaveRWRegion
(Leave RWRegion)
Task is leaving a protected area (reader/writer region)
Vopmsg (Message Output) Task is writing a message to one of the following database files: knldiag, knldiag.err
Vrelease (Connect Close) Task is ending the database session
Vshutdown (DB OFFLINE) Task is changing the operational state of the database instance from ONLINE to ADMIN
Vsuspend (Suspend) Task is suspended and waiting to be awoken explicitly by another task (Vresume)
There are special Vsuspend wait situations that are displayed under their own names. Please refer to SAP MaxDB Console - show suspends to find out the reason for the wait situation from the list. The system explicitly wakes any tasks in this state.
Vvectorio (Vector IO) Task is executing a vector I/O operation (read or write)
Vwait (Wait) Task is waiting to be awoken explicitly by another task (Vsignal) Example: task is waiting for an SQL lock
WaitForEvent Task is waiting for an event

back to top