MIMINFO - System Information
MIMINFO is used to obtain information from a Mimer SQL database server which is useful for system control, system tuning and trouble-shooting analysis.
Information can be generated from an active Mimer SQL database server as well as from the SQLPOOL and bufferpool dump files produced by using MIMCONTROL, see MIMCONTROL - Controlling the Database Server.
The output from MIMINFO can be displayed on the screen and may also be directed to a file.
The following reports may be obtained from MIMINFO (further details on each report can be found in the sub-sections that follow):
this lists details of all the users currently connected. this provides information useful for monitoring performance parameters (MIMSERV). this produces a report which is useful to Mimer SQL support personnel when investigating system problems (MIMDUMP). displays SQLPOOL parameters
The MIMINFO program is controlled by flagged information specified on the command-line.
The overall syntax for MIMINFO (expressed in short form UNIX-style) is:miminfo [-o file] -u | -p | -s [database] miminfo [-o file] -u | -p | -s | -m -f
Send output to the specified file instead of to the screen Display users list Produce Performance report (MIMSERV) Produce Bufferpool report (MIMDUMP) Display SQLPOOL parameters Take information from the specified database.If a database name is not specified, the default database will be accessed, see The Default Database. Take information from a dump file (for a users list, a dump file called sqlpool.mdmp is expected to exist otherwise a dump file called bpool.mdmp is expected to exist) Show help text.
Win: The UNIX-style command-line flags can be used if the miminfo program is run from a Command Prompt window. Both short form arguments (e.g. -u), and long form arguments (e.g. --users) are supported.
A detailed description of each of the MIMINFO reports follows.
The Users List
A users list can be generated from an active database or from a dump file produced using MIMCONTROL.miminfo [--output=file] --users [database] | --file
The users list shows the name of each ident connected to the database, the channel number used by the connection, the state of the connection, transaction number, the name of the operating user, the network communication protocol (or `local') and node identification information for connected machine.
The channel number may be used in conjunction with MIMCONTROL to kill a user.
The following is an example of a users list report:Username Channel State Trans. no OS user Prot From ============ ========== ===== ========== ============ ====== ==== SYSADM 16387 Busy 3 TCP 188.8.131.52 SYSADM 16388 Busy STELLA Local 00019120 Total of 2 users
The Performance Report
The performance report can be used by the system administrator to monitor performance parameters during Mimer SQL use. The Performance report can be generated from an active database or from a dump file produced using MIMCONTROL.miminfo [--output=file] --performance [database] | --file
The performance report presents five kinds of statistical information which may be useful for system tuning (statistics for page management, transactions, background threads, databank and table usage).
Note: When a performance report is used as an aid to system tuning, it is important that the report is generated when the database is in full use. The output from several executions over a period of a few hours or days can provide valuable information on fluctuations in system usage.
The performance report contains the following information:
- General Statistics
- Page Management Statistics
- Transaction Management Statistics
- Background Threads
- Databank Statistics
- Table Statistics
The following table lists the general statistics information available. Where applicable, we have provided a detailed description
If the database server is in an error state, a database dump is usually made automatically. It can be made manually by using the -A option with MIMCONTROL. The dump directory created should be saved for use by Mimer SQL support personnel. The database server can then be restarted.The database server log, see Database Server Log, should also be inspected to help find the cause of the failure. Number of errors that have been written to the database server log. This value should normally be zero. Number of request threads started, see Number of Request Threads. Number of background threads started, see Number of Background Threads. Number of I/O threads (typically zero on most machines where separate threads are not needed for I/O processing).
Page Management Statistics
An indication of the frequency of disk update operations. The total number of times databank files have been dynamically extended since the latest startup. The value should preferably be as low as possible for performance reasons.It is possible to check databank size usage with the DESCRIBE command in Mimer BSQL. A databank can be extended by using the commands:
ALTER DATABANK ADD ... or ALTER SHADOW ADD ....
The bufferpool is divided into a region with 2K buffers, one region with 16K buffers, and one region with 64K buffers.
The following information is given for each region:
This is the number of page buffers allocated to this bufferpool region. Total number of Mimer SQL pages that a request thread performing a sort operation may utilize. The initial value specifies the number of concurrent sort/merge steps that are allowed. Each region in the bufferpool is divided into separate partitions. Each partition can be accessed concurrently by the Mimer SQL request threads. In tightly coupled multi-processor systems it is desirable, for performance reasons, to have at least as many partitions as there are CPUs. The number of partitions may be increased by increasing the region size. Total number of access operations to pages in the buffer region since the latest system start-up.
Total number of page access requests that resulted in disk read operations. If this value is more than about 2% of the total number of page requests, performance may be improved significantly by increasing the bufferpool size.
Total number of pages which were written to disk when they were swapped out of the buffer region.
Transaction Management Statistics
Total number of successful read/write transaction commits since the latest system start-up. Total number of successful read-only transaction commits since the latest system start-up. A high proportion of transaction checks in relation to the total number of transactions may indicate ill-designed application programs, with long transactions that are more likely to give rise to transaction conflicts. Total number of transactions aborted by the optimistic concurrency protocol since the latest system start-up. User requested transaction aborts are not counted. This is an indication of how much information is stored in TRANSDB. Number of restarts is counted for each databank used in a transaction. This figure grows larger when shadows are set offline. If all databanks have been accessed and there are no offline shadows there should not be any pending restarts.
Background thread identifier. State of the background thread. If the background thread is currently working with a transaction, active is displayed.If the background thread is not doing anything, inactive is displayed. I/O processing means that the background thread is flushing one or more transactions to disk.unused means that the background thread is allocated but not currently running (i.e. the thread is not started or closed down). The number of the transaction currently being processed. The number of transactions processed by the background thread. This indicates how many transactions have not yet been processed by the background threads. If there are too few background threads this value will grow. For certain operations (SET DATABANK OFFLINE, for example) the application has to wait for the background threads to complete their operations.If there are too few background threads, it may take some time before this operation is complete. By comparing this trans-no with the trans-no being handled by the background threads it is possible to see how many transactions are left before the operation is completed.
The name of the databank or shadow. Databank identification. These two values correspond to the columns DATABANK_SYSID and DATABANK_SEQNO in the data dictionary table SYSTEM.DATABANKS. The databank option WORK, TRANSACTION, LOG, or READ ONLY. See Re-creating TRANSDB, LOGDB and SQLDB.The SQLDB databank has the type TEMPORARY, and shadows have the type SHADOW. Internal user count. Access mode by which the databank was opened. The possible values are: Read, Write, Shared and Exclusive.If the databank is open but not referenced by any active statement, None is displayed. The DB-Check field indicates the progress of a databank check. The possible values are Init, Working (foreground processing, typically index check), Wait B. (foreground ready, waiting for background entrance), Backgr. (background processing), Aborting, Aborted or Complete. A count of both databanks and shadows opened in the system. This is defined by a parameter in the local database definition, see The Local Database, or possibly by a limit in the operating system. Databank verification is automatically performed when a databank is re-opened without having been correctly closed. Each time this happens a log entry is written to the database server log. When a databank is verified the databank verification count is incremented. The count is cleared when the system is started, and a databank is only verified once per session. Indicates the number of active databank verifications. Indicates the number of active databank verifications. Indicates the databank verification mode as defined in the local database definition, see The Local Database Indicates the databank verification mode as defined in the local database definition, see The Local Database
This shows the number of tables open in both master and shadow databanks. Also included are the read and write sets used by each user. This number is set as a parameter in the local database definition, The Local Database.
The Bufferpool report is used by Mimer SQL support personnel for trouble-shooting when database problems are reported by customers.miminfo [--output=file] --mimdump --file
SQL pool memory allocated is the amount of memory allocated from the operating system for the SQLPOOL. A part of that memory is in use by the server and is displayed on the row SQL pool memory used.miminfo [--output=file] --sqlpool [database] | --file
The following is an example of an SQLPOOL report:SQLPOOL report ============== SQL pool memory allocated (KB): 1656 SQL pool memory used (KB): 554
Mimer Information Technology AB
Voice: +46 18 780 92 00
Fax: +46 18 780 92 40