This document describes the utility "ADAOPR".
The following topics are covered:
The DBA uses this utility to operate the Adabas nucleus.
This utility is a multi-function utility. For more information about single- and multi-function utilities, see Adabas Basics, Using Utilities.
Data Set | Environment Variable/ Logical Name |
Storage Medium | Additional Information |
---|---|---|---|
Control statements | stdin | Utilities Manual | |
ADAOPR messages | stdout | Messages and Codes |
The following table shows the nucleus requirements for each function and the checkpoint written:
Function | Nucleus must be active | Nucleus must NOT be active | Nucleus is NOT required | Checkpoint written |
---|---|---|---|---|
FEOF=PLOG | x | SYNC (see note 1) | ||
EXT_BACKUP=PREPARE | x | SYNX (EXT_BACKUP STARTED) (see note 2) | ||
EXT_BACKUP=CONTINUE | x |
SYNX (EXT_BACKUP) SYNC (FEOF=PLOG) (see note 1) |
Notes:
The following control parameters are available:
ABORT ADD_REPLICATION [= number] ,FILE = number ,TARGET_DBID = number ,TARGET_FILE = number BFIO_PARALLEL_LIMIT = number CANCEL CHANGE_REPLICATION keyword ,REPLICATION_ID = (number [ - number] [ , number [- number]] … CLEAR_FILE_STATS = (number [- number] [, number [- number] ] ... ) CLUSTER_LOG_LEVEL = [ FATAL | ERROR | WARN | INFO | DEBUG ] CSA = string DBID = number DELETE_REPLICATION = (number [ - number] [ , number [- number]] … DELUI = number DISPLAY = (keyword [,keyword]...) ES_ID = number D [NO]ET_SYNC [NO]EVENTING EXT_BACKUP = [PREPARE | CONTINUE | ABORT] FEOF = (keyword [,keyword]) FILE = number FREE_CLQ ID = number D [NO]IO_TIME ISN = ( number [- number] [,number [- number] ] ... ) [UN]LOCK = (number [,number]...) LOGGING = (keyword [,keyword]...) LOGIN_ID = string NISNHQ = number NODE_ID = string OPTIONS = (keyword [,keyword]...) RESET = keyword D [NO]RESPONSE_ABORT RESPONSE_CHECK = (number[-number][,number[-number]]...) SET_FILE_STATS = (number[-number][,number[-number]]...) SHUTDOWN STATUS = (keyword [,keyword]...) STOP = (number[-number][,number[-number]]...) STOPI = number THREAD = number TNAA = number TNAE = number TNAX = number TT = number USER_ID = string WCHARSET = <ICU encoding> WRITE_LIMIT = [number]
ABORT
This function terminates the Adabas session immediately. All command processing is immediately stopped. The session is terminated abnormally with a pending AUTORESTART.
ABORT causes the following files to be written to the databases's default directory:
The CSA dump file, which contains status information from the adabas nucleus. The name of the file is ADABAS.xxx.hh:mm:ss (Linux) or ADABAS.xxx.hh-mm-ss (Windows),where xxx is the database ID and hh:mm:ss (or hh-mm-ss) is the time at which the file was created. ADAOPR can also display the same information that you can get for a running nucleus for a CSA dump file if you specify the CSA parameter.
The SMP dump file, which contains some diagnostic information. The name of the file is SAGSMP.xxx.hh:mm:ss (Linux), SAGSMP.xxx.hh-mm-ss (Windows) , where xxx is the database ID and hh:mm:ss (or hh-mm-ss) is the time at which the file was created.
ADD_REPLICATION [= number] ,FILE = number ,TARGET_DBID = number ,TARGET_FILE = number
This parameter is only relevant for customers who are using the Adabas Event Replicator with Adabas - Adabas Replication.
A new Adabas - Adabas replication is defined with status Inactive. It is optional to specify a non-zero number as the replication ID.
Note:
A value may be specified in the range 1 to 524280.
This number must not be the replication ID of an existing replication. If no number is specified, a replication ID is created by Adabas. You must specify the source file for the replication, the target database, and the target file number.
BFIO_PARALLEL_LIMIT = number
This function sets the number of parallel I/O requests by a buffer flush, allowing earlier processing of concurrent I/Os from other threads. A large buffer flush, for example, can cause the I/O queue to be very busy, and other I/Os (such as buffer pool read I/Os and WORK I/Os) can be enqueued for a long time, slowing down command throughput and possibly causing applications to stall if a buffer flush is active.
If BFIO_PARALLEL_LIMIT is specified, the buffer flush sets up the specified number of I/Os and waits until these have been processed before issuing the next packet. The maximum value for ´number´ is defined by the Adabas system, If a value of 0 is specified, the number of buffer flush I/Os is unlimited.
CANCEL
This function terminates the Adabas session immediately. A BT command is issued for each active ET user and the session is terminated.
The communication link to the database is cut but the shared memory is still held. In this case, display functions are still possible with ADAOPR but parameter modification commands are no longer permitted.
CHANGE_REPLICATION = keyword , REPLICATION_ID = (number [ - number] [ , number [- number]] …
This parameter is only relevant for customers who are using the Adabas Event Replicator with Adabas - Adabas Replication.
CHANGE_REPLICATION can be used to change the status of one or more replications. A replication can have one of the following status values:
Status | Meaning |
---|---|
Inactive | Currently no data are replicated to the target file, and no activities have been performed to initiate the replication. |
Prepare | This indicates that it is planned to perform the Initial State processing for the replication. This status is the prerequisite for creating a backup of the files to be replicated using ADABCK with the parameter REPLICATION. |
Initialization | This indicates that ADABCK with the parameter REPLICATION is running and creating a backup that contains the initial state of files to be replicated. |
Recording | Adabas is recording the update transactions within the replication command file and the replication transaction file, but currently is not replicating the update operations to the target database. |
Active | The replication is active; all modifications of the source file are replicated to the target file. |
Error | An unexpected error occurred during replication. In order to continue replication, a new initial state processing is required. |
The following options can be specified to change the replication status:
Keyword | Meaning |
---|---|
INACTIVE |
Currently no data is replicated to the target file, and it is not currently planned to start the replication. Transactions not yet replicated to the target database are deleted. |
INITIALIZATION |
Prepare the initial state processing: the status is set to Prepare. Then normally ADABCK DUMP/EXUDUMP must be called with the parameter REPLICATION for the files to be replicated; ADABCK first sets the status to Initializing, and then during ET synchronization, when the current state in the database is the same as on the backup file, ADABCK sets the status to Recording. Alternatively you can perform your own initial state processing and then perform ADAOPR CHANGE_REPLICATION=RECORDING. |
RECORDING |
One of the following:
|
ACTIVE |
The replication is active; all modifications of the source file are replicated to the target file. |
You must specify the replication IDs for which the status change is to be performed.
Notes:
Status/Keyword | INACTIVE | INITIALIZATION | RECORDING | ACTIVE |
---|---|---|---|---|
Inactive | Inactive | Prepare | - | - |
Prepare | Inactive | Prepare | Recording (see note 1) | - |
Initialization | Inactive | Init | - | - |
Recording | Inactive | Recording | Recording | Active |
Active | Inactive | Prepare | Recording (see note 2) | Active |
Error | Inactive | Prepare | - | - |
Notes:
CLEAR_FILE_STATS = (number [- number] [, number [- number] ] ... )
This function disables the collection of I/O statistics enabled by SET_FILE_STATS for the specified file(s).
CLUSTER_LOG_LEVEL = [ FATAL | ERROR | WARN | INFO | DEBUG ]
This function changes the logging level of the cluster dynamically. The default logging
level is 'INFO
'.
You can set the logging level to 'WARN
' to reduce the number of cluster
based log entries in the nucleus log file.
Use the DISPLAY=CLUSTER command to display the current log level.
CSA = string
`string' is a file specification of a file containing status information from an Adabas nucleus, a so-called CSA dump file. This file may be created by an ADAOPR ABORT function, by an abnormal termination of Adabas, or by response check trapping (refer to the RESPONSE_CHECK function for further information).
The following naming conventions are used for the file:
ADABAS.xxx.hh:mm:ss ADABAS.xxx.RSPyyy.hh:mm:ss
ADABAS.xxx.hh-mm-ss ADABAS.xxx.RSPyyy.hh-mm-ss
(with the NORESPONSE_ABORT option set), where
`xxx' is the three digit database ID;
`yyy' is the trapped three digit response code;
`hh:mm:ss' is the time the file was created (Linux),
`hh-mm-ss' is the time the file was created (Windows)
For example, if the database ID is 5, and the file creation was initiated by a trapped response code 113, the file name will start with ADABAS.005.RSP113, and then the time of creating will be appended, e.g. ADABAS.005.RSP113.12:16:50 (Linux) or ADABAS.005.RSP113.12-16-50 (Windows).
The file will be created in the directory that is pointed to by the environment variable/logical name ADA_CSA_DUMP. The default is the directory from which the nucleus was started. If a file with the same name already exists in this directory, it will be overwritten.
The DBID and CSA parameters are mutually exclusive.
DBID = number
This parameter selects the database to which all subsequent ADAOPR commands apply. Multiple DBIDs are supported within one session.
The DBID and CSA parameters are mutually exclusive.
adaopr: dbid=1 adaopr: shutdown adaopr: dbid=2 adaopr: shutdown adaopr: dbid=3 adaopr: shutdown adaopr: quit
DELETE_REPLICATION = (number [ - number] [ , number [- number]] …
This parameter is relevant only for customers who are using the Adabas Event Replicator with Adabas - Adabas Replication.
The replications with the specified replication IDs are stopped, if they are active, and deleted, including the commands and transactions that have not yet been replicated to the target files.
DELUI = number
Use the DELUI
command to delete all users who have not
executed a command during the specified number of seconds. Any open transactions of the
deleted users are backed out.
This command does not delete EXF or UTI users.
Caution:
If Adabas is running NOT with options = OPEN_REQUIRED
(specifying
that users are not required to issue an OP as the first command of the session), run the
DELUI
command only if you are certain that the users to be
deleted are no longer active. If a user with an open transaction is deleted, but then
returns (by sending a command), no indication is given about the transaction backout. If
the user continues the transaction, logical inconsistencies in the database could
occur.
DISPLAY = (keyword [,keyword]...)
This parameter displays various information during an Adabas session.
The following keywords can be used:
Keyword | Meaning |
---|---|
ACTIVITY | Database activities display. |
BF_STATISTICS | Buffer flush statistics display. |
BP_STATISTICS | Buffer pool statistics display. |
CLUSTER | Database cluster status display. For more information about this keyword and a sample output, see Adabas Cluster -> Monitoring -> Minimal Requirements: Health Check -> Health Check for Primary and Secondary Nodes. |
COMMANDS | Command table display. |
CQ | Command queue display. |
DYNAMIC_PARAMETERS | Dynamic nucleus parameters display. |
FILE_IO | File I/O display. |
FP_STATISTICS | Format pool statistics display. |
HIGH_WATER | High water marks display. |
HQ | Hold queue display. |
ICQ | Internal command queue display. |
IO_TIMES | Container I/O times display. |
PLOG_STATISTICS | Protection log statistics. |
REPLICATIONS | Adabas - Adabas replications. |
RPL_STATS | Internally-collected replication statistics. |
STATIC_PARAMETERS | Static nucleus parameters display. |
TCPCONNECTIONS | ADATCP connections display. |
TT | Thread table display. |
UCB | Utility communication block. |
UQ | User queue display. |
UQ_FILES | User file list display. |
UQ_FULL | Full information about user queue element. |
UQ_TIME_LIMITS | User time limits display. |
The following examples show the information produced by the various keywords, together with explanations of the information that is displayed.
Some of the following displays include percentages. The corresponding values are always truncated. An undefined value (divided by 0) is specified with " *%" and an overflow with "***%".
adaopr: display=activity ADANUC Version <version number> Database 76 Activity on 22-JAN-2014 13:19:30 I/O Activity Total Throwbacks Total ------------ ----- ---------- ----- Buffer Pool 5,440 Waiting for UQ context 87 WORK Read 728 Waiting for ISN 53 WORK Write 647 ET Sync 0 PLOG Write 194 DWP Overflow 0 NUCTMP 1,600 NUCSRT 531 Pool Hit Rate Total Interrupts Current Total ------------- ----- ---------- ------- ----- Buffer Pool 99.6% WP Space Wait 0 0 Format pool 98%
The information has the following meaning:
I/O ACTIVITY shows the total numbers of:
physical buffer pool I/Os (physical read I/Os + physical write I/Os);
read and write I/Os for WORK and PLOG.
I/Os for NUCTMP and NUCSRT
INTERRUPTS shows the current and total number of workpool space waits;
POOL HIT RATE shows:
the buffer pool hit rate. This is the relationship
between the logical read I/Os and the physical read I/Os. The buffer pool hit
rate is calculated using the following formula:
hit rate (in %) = ((logical read I/Os - physical read I/Os) * 100) / logical read I/Os
the format pool hit rate. This is the relationship
between the number of format buffer requests (required FBs) and the required
format buffers already translated in the format pool (translated FBs). The
format pool hit rate is calculated using the following formula:
hit rate (in %) = ((translated FBs * 100) / required FBs)
THROWBACKS shows:
the number of commands waiting for session context because internal commands were running;
the number of commands waiting because ISNs are held by another user;
the number of commands waiting for ET synchronization;
the number of commands thrown back because of dynamic work pool overflow.
adaopr: disp=bf_statistics %ADAOPR-I-STARTED, 18-OCT-2016 16:05:03 Version <version number> Database 37, startup at 18-OCT-2016 16:04:40 ADANUC Version 6.5.1.0, PID 10448 ADANUC Version 6.5.1.0 Database 37 Buffer Flush Statistics on 18-OCT-2016 16:05:02 Buffer flush statistics: ------------------------ Buffer flush Write Number of Type Size Average IO Duration Rejected start time Limit Blocks (MB) time (msec) (sec) Locks ------------------------------------------------------------------------------- 18-OCT-2016 16:04:40 2 4 DB 0.04 0.00 0.00 0 18-OCT-2016 16:04:59 2 128 DB 0.54 0.35 0.04 0 18-OCT-2016 16:05:00 2 128 DB 0.53 0.96 0.12 1 18-OCT-2016 16:05:00 2 9 DB 0.06 0.00 0.00 0 18-OCT-2016 16:05:00 2 5 DB 0.04 3.00 0.01 0 18-OCT-2016 16:05:01 2 126 DB 0.53 0.98 0.12 1 18-OCT-2016 16:05:01 2 7 DB 0.05 11.00 0.07 0 18-OCT-2016 16:05:01 2 12 DB 0.07 0.00 0.00 0 18-OCT-2016 16:05:02 2 128 DB 0.54 0.85 0.10 0 18-OCT-2016 16:05:03 2 131 DB 0.55 0.10 0.01 0 Total number of flushes: 10 Explicit : 1 Write limit : 0 WORK limit : 5 Space : 0 Emergency : 0 Ignored blocks : 4
This display shows the statistics of the buffer flushes; if more than 100 buffer flushes have been performed in the current nucleus session, the last 100 buffer flushes are displayed. The following information is displayed for each buffer flush:
The start time of the buffer flush.
The current write limit. The write limit for database blocks can be modified via ADAOPR WRITE_LIMIT. The write limit for temporary blocks cannot be changed.
The number of blocks included in the buffer flush.
The type of buffer flush:
DB means flush of database blocks
Temp means flush of temporary blocks
The size in megabytes of the blocks included in the buffer flush.
The average I/O time of the I/Os performed by the buffer flush in milliseconds.
The duration of the buffer flush in seconds.
The number of rejected locks is the number of blocks that were not written immediately during the buffer flush, because the block was exclusively locked when the buffer flush tried to write the block. The rejected blocks are either written after having written the other blocks - then the buffer flush waits until the lock can be granted, or by a separate ignore-blocks buffer flush.
After the table the total number of buffer flushes is displayed, and a breakdown of the reasons for the buffer flushes.
Notes:
adaopr: display=bp_statistics ADANUC Version <version number> Database 34 Buffer Pool Statistics on 5-JUN-2014 13:11:28 Buffer Pool Size : 419,430,400 Pool Allocation RABNs present --------------- ------------- Current ( 7%) : 32,835,584 ASSO : 33 Highwater ( 10%) : 42,676,224 DATA : 5 Internal ( 7%) : 30,770,176 WORK : 0 Workpool ( 0%) : 1,408,000 NUCTMP : 0 NUCSRT : 0 I/O Statistics Buffer Flushes -------------- -------------- Logical Reads : 340 Total : 3 Physical Reads : 17 To Free Space : 0 Pool Hit Rate : 95.0% Temporary Blocks : 0 Write Limit ( 2%): 8,388,600 Physical Writes : 41 Modified ( 0%): 108,544 Limit Temp.B.( 50%): 209,715,000 Modified T.B.( 0%): 0
The information is interpreted as follows:
POOL ALLOCATION shows:
the size in bytes and percentage of the buffer pool that is currently in use;
the size in bytes and percentage of the buffer pool high water mark (see also the display for DISPLAY=HIGH_WATER).
RABNs PRESENT shows:
"the number of ASSO, DATA and WORK RABNs currently in the buffer pool."
I/O STATISTICS shows:
the total number of logical and physical buffer pool read I/Os (both numbers are required in order to calculate the buffer pool hit rate);
the buffer pool hit rate (please refer to the example for DISPLAY=ACTIVITY for the buffer pool hit-rate formula);
the total number of physical buffer pool write I/Os.
BUFFER FLUSHES shows:
the total number of buffer flushes;
the total number of buffer flushes that were made in order to get free space;
the total number of buffer flushes for temporary blocks;
the size and percentage of the buffer pool WRITE LIMIT for database blocks;
the size in bytes and percentage of modified database blocks;
the size and percentage of the buffer pool WRITE LIMIT for temporary blocks;
the size in bytes and percentage of modified temporary blocks.
adaopr: display=commands ADANUC Version <version number> Database 76 Commands on 19-JAN-2014 14:58:10 ADABAS Commands: 9,884 A1 892 L2 553 OP 25 BT 736 L3 1,124 RC 89 C1 40 L4 569 RE 0 C3 0 L5 420 RI 0 C5 10 L6 436 S1 1,511 CL 32 L9 456 S2 81 E1 1,006 LF 20 S4 12 ET 72 MC 0 S8 230 HI 0 N1 877 S9 50 L1 643 N2 0
This command displays the total numbers of Adabas commands issued in the current session. For MC commands, the value displayed is the number of MC calls plus the number of single Adabas commands contained in the MC calls.
A read command that is issued while the multifetch option is set is counted as a single command.
Updates made by utilities are not included in the display.
Note:
The command counts can be reset by ADAOPR
RESET=COMMANDS.
adaopr: display=cq ADANUC Version <version number> Database 2 Command Queue on 14-NOV-2014 13:41:53 No Node Id Login Id ES Id APU Cmd File Status -- ------- -------- ----- --- --- ---- ----- 1 PC0001 miller 3316 1 RC 13 Ready to run 2 PC0001 jones 1360 2 S8 13 Running 3 PC0001 smith 6148 1 RC 13 Ready to run 4 PC0001 miller 4208 1 S8 13 Running 5 PC0001 jones 5224 2 S9 13 Ready to run 6 PC0001 dba 7024 2 U1 0 Running 7 PC0001 brown 3140 2 S1 13 Running 8 PC0001 meyer 6180 2 S8 13 Running 9 PC0001 smith 4756 1 S1 13 Running 10 PC0001 king 1240 2 ET 0 Ready to run 11 PC0001 meyer 836 2 RC 13 Ready to run 12 PC0001 brown 6272 1 L6 13 Ready to run Selected: 12, Used: 12, Queue Size: 13
This display shows the current command-queue entries:
NODE ID shows the node identification string.
LOGIN ID shows the login user identification string;
ES ID shows the environment-specific identification (for example, the process ID);
APU shows the assigned Adabas Processing Unit of the command queue entry if the nucleus parameter APU is set. If APU has not been specified, the column APU is not displayed;
CMD shows the command string;
FILE shows the file number;
STATUS shows the status of the command-queue entry.
The final line of the display shows how many command queue entries were selected according to the currently active selection criteria, and how many entries are used in total in the command queue.
The possible status values are shown in the following table:
Status | Meaning |
---|---|
Completed | Command processing completion; |
Marked For Deletion | Command is marked for delete, user is no longer active; |
New | Command is ready to be inserted in the scheduling queue; |
Ready To Run | Placed in queue and ready for scheduling; |
Running | Running in a thread (see DISPLAY=TT); |
Waiting For Complex | Complex command is waiting to run; |
Waiting For Et Sync | Waiting for ET synchronization; |
Waiting For Group Commit | Waiting for group ET. No entry in thread table; |
Waiting For Isn <isn> | Waiting for ISN in file shown in column "File" in the display. No entry in thread table; |
Waiting For Space | Waiting for working space. No entry in thread table. |
Waiting For Uqe | Waiting for user queue entry. The required entry is locked by an active internal command; |
Note:
The display may show command codes such as "U0", which are
only used internally by Adabas (for example, during a utility run).
The
"RUNNING" and "COMPLETED" values may differ even if the user has not specified
an explicit selection criterion.
adaopr: display=dynamic_parameters ADANUC Version <version number> Database 76 Dynamic Parameters on 19-JAN-2014 14:58:10 Resources: NISNHQ : 100 WRITE_LIMIT: 50% Time Slices: TNAA : 900 TNAX : 900 TNAE : 900 TT : 300 Logging: CLOG : OFF Read limits: 200, 10, 30 Response check with ABORT : 84,160,164-182,243,251-252
This display shows the current values of the dynamic nucleus parameters.
adaopr: display=file_io ADANUC Version <version number> Database 76 File I/O on 19-JAN-2014 14:58:10 Reads Hit File Logical Physical Rate Writes ---- ------- -------- ---- ------ 11 145,341 180 99% 2,869 12 99,070 148 99% 2,149
This display shows the logical and physical reads, their hit rate and the writes the buffer pool manager has made for every file since the file I/O statistiscs for the file in question were enabled (ADAOPR SET_FILE_STATS) - files for which the I/O statistics have not been enabled or for which no I/Os were performed are not displayed.
Notes:
adaopr: display=fp_statistics ADANUC Version <version number> Database 76 Format Pool Statistics on 19-JAN-2014 14:58:10 Maximum Local Pool Size: 251,656 Maximum Global Pool Size: 251,656 Pool Allocation Pool Contents --------------- ------------- Local Current ( 22%) : 57,540 Local Format Buffers: 162 Local Highwater ( 27%) : 70,000 Global Format Buffers: 1 Global Current ( 0%) : 84 Global Highwater ( 0%) : 84 Pool Statistics Local Global --------------- ----- ------ Scans 11,780 3 Hits 11,547 2 Hit Rate 98% 66% Replacements 0 0 Overflows 0 0
This display shows the format pool statistics:
POOL ALLOCATION shows:
the size in bytes and percentage of the local and global format pools that are currently in use;
the size in bytes and percentage of the local and global format pool high water marks.
POOL STATISTICS shows:
the total number of scans and hits of valid format buffers in the format pool (both numbers are required in order to calculate the format pool hit rate);
the format pool hit rate (please refer to the example DISPLAY=ACTIVITY for the format pool hit-rate formula);
the total number of valid format buffers that are overwritten in the format pool (replacements).
Overflows. This is the number of times that a format buffer exceeded the format pool size, resulting each time in a response 42.
POOL CONTENTS shows:
the number of valid local format buffers in the format pool;
the number of valid global format buffers in the format pool.
adaopr: display=high_water ADANUC Version <version number> Database 2 High Water Marks on 21-NOV-2014 11:44:19 Area/Entry Size In Use High Water % Date/Time ---------- ---- ------ ---------- - --------- User Queue 100 13 13 13 21-NOV-2014 11:44:00 Command Queue - 12 13 - 21-NOV-2014 11:44:19 APU 01 - 2 12 - 21-NOV-2014 11:44:02 APU 02 - 13 15 - 21-NOV-2014 11:44:00 Hold Queue - 2 2 - 21-NOV-2014 11:44:00 Client Queue 100 13 13 13 21-NOV-2014 11:44:00 HQ User Limit - - 1 - 21-NOV-2014 11:44:00 Threads 6 4 6 100 21-NOV-2014 11:44:00 Workpool 524,288,000 0 131,072,016 25 21-NOV-2014 11:42:16 ISN Sort 65,536,000 - 380,000 0 21-NOV-2014 11:44:04 Complex Search 65,536,000 - 0 0 Attached Buffer 1,048,576 219,136 219,136 20 21-NOV-2014 11:44:02 ATBX (MB) 20 0 0 0 Buffer Pool(KB) 2,048,000 957,962 1,009,978 49 21-NOV-2014 11:42:16 Protection Area 127,990 Active Area 38,397 - 4 0 21-NOV-2014 11:44:04 Group Commit 50 1 1 2 21-NOV-2014 11:42:17 Transaction Time 3,000 - 0 0
This display shows the high water marks for the current session:
SIZE shows the size in bytes of pools and buffers. For queues, threads and hold queue user limit, it shows the number of entries.
IN USE shows the size in bytes or number of entries currently in use.
HIGH WATER shows the maximum quantity required simultaneously for the given area/entry.
% shows the relationship between the high water mark and the size. If the high water mark exceeds the size, the value in this column can be larger than 100 %. For example, this can occur if the value is decreased by ADAOPR, or if the original area has been dynamically increased. This is normal Adabas behaviour, and no changes of Adabas parameters are required.
DATE/TIME shows the date/time at which the high water mark occurred for the first time. There is no output in this column if the high water mark is 0.
The entries in the column AREA/ENTRY correspond to the ADANUC parameters NU (user queue), NCL (client queue), NISNHQ (hold queue user limit), NT (threads), APU (Adabas Processing Units, only displayed if the nucleus parameter APU is set), LWP (workpool), LBP (buffer pool), LAB (attached buffer), TT (transaction time). The hold queue and the command queue have no predefined size and are increased dynamically if required.
The entry "ACTIVE AREA" is the largest part of WORK part 1 that can be used by a single transaction. If a transaction's protection information spans more space than allowed by "Active Area", it receives a response 9 (LP), the nucleus displays a PLOVFL message and a value of more than 100 in the "%" column of the highwater display.
Users who have set user-specific timeout values in their OP call are not included in the values for Transaction Time.
Note:
1. Values for Attached Buffer and Command Queue
are not displayed correctly if the nucleus cannot be contacted by ADAOPR (for
example, if the ADAOPR parameter CSA is used.
2. Threads are used in
a round-robin manner. Therefore, the high water mark for threads will be the
same as the value shown in the Size column in most cases.
3. During
an autorestart following an abnormal nucleus termination, user queue elements
are created for those users who are active during the time interval and for who
the updates must be recovered. Therefore, directly after the start of the new
nucleus session, the high water mark for the user queue can be relatively high,
while the number of user queue elements in use is small.
adaopr: file=11, display=hq ADANUC Version <version number> Database 76 Hold Queue on 19-JAN-2014 14:58:10 Id Node Id Login Id ES Id User Id File ISN Locks Flg -- ------- -------- ----- ------- ---- --- ----- --- 15 sunxxx01 miller 6974 *adatst 11 2,222 X M 19 sunxxx01 smith 7056 *adatst 11 2 X Selected: 2, Used: 8, Queue Size: 160
This display shows the current hold-queue entries:
ID shows the internal user identification of the user holding the ISN;
NODE ID shows the node identification string. The local node is represented by an empty string;
LOGIN ID shows the login user identification string;
ES ID shows the environment-specific identification (for example, process ID);
USER ID shows the user identification. Adabas utilities use the utility name preceded by an asterisk as the USER ID;
FILE shows the number of the Adabas file in which the ISN is located;
ISN shows the number of the ISN in hold;
LOCKS shows the kind of lock for the ISN, where X = exclusive lock , S = shared lock.
Note:
S is displayed for shared locks starting with Adabas
version 6.3 SP 1; in previous releases R is displayed.
An M for FLG indicates that the record has been modified.
The final line of the display shows how many hold queue entries were selected according to the currently active selection criteria, and how many entries are used in total.
Entries are displayed in unsorted sequence.
adaopr: display=icq ADANUC Version <version number> Database 76 Internal Command Queue on 19-JAN-2014 14:58:10 Id Node Id Login Id ES Id Command Status -- ------- -------- ----- ------- ------ 00000002 *system 00000000 SHUT Running Selected: 1, Used: 1, Queue Size: 101
This display shows the internal command queue:
Command | Meaning |
---|---|
AR | Autorestart |
BT | Back out transaction |
BTCL | Back out open transaction and close user |
CANCEL | Cancel nucleus |
DELUQE | Release file list and delete user queue element |
SHUT | Shut down nucleus |
STOP | STOP from ADAOPR |
TIMEOUT | Non-activity timeout |
The status of internal commands can be READY TO RUN, RUNNING, WAITING FOR ET SYNC or WAITING FOR UQE.
The final line of the display shows how many internal command queue entries were selected according to the currently active selection criteria, and how many entries are used in total.
adaopr: display=io_times ADANUC Version <version number> Database 76 IO Statistics on 19-NOV-2014 12:16:48 Number of IOs Maximum IO time Average IO time ------------- --------------- --------------- ASSO Read : 735574 14397 1 ASSO Write : 12136 2 1 DATA Read : 2023257 13910 1 DATA Write : 444 1 1 WORK Read : 4 1 1 WORK Write : 660 2 1 NUCSRT Read : 4060 940 1 NUCSRT Write : 4060 1 0 NUCTMP Read : 30 1 1 NUCTMP Write : 896 1 1
The number of IOs shows the number of physical read and write I/O accesses to ASSO, DATA, WORK, NUCSRT and NUCTMP.
The maximum IO time shows the maximum duration of a single I/O read and write access to ASSO, DATA, WORK, NUCSRT and NUCTMP in microseconds.
The average IO time shows the average time of a single I/O access to ASSO, DATA, WORK, NUCSRT and NUCTMP in microseconds.
Logging of I/O times is only available if ADAOPR IO_TIME is enabled..
adaopr: display=plog_statistics ADANUC Version <version number> Database 76 PLOG Statistics on 19-JAN-2014 14:59:41 PLOG Environment ---------------- NUCPLG (active) : /FS/fsxxxx/sag/ada6180102/ada/db076/NUCPLG Active PLOG ----------- Session Number : 37 Extent : 2 Active Since : 19-JAN-2014 14:59:41 Duration : 00:00:01 Allocated Space : 24,683 KB Used Space ( 0%) : 32 KB Average Growth Rate : 115,200 KB/h
adaopr: display=replications ADANUC Version <version number> Database 34 Replications on 19-JAN-2014 09:47:48 ID From FNR To DB To FNR Status Remark -- -------- ----- ------ ------ ------ 1 111 37 111 Inactive 86 86 37 86 Active 2 transactions pending: --------------------------- To DB Transactions ----- ------------ 37 2 5 commands pending: ------------------------- From FNR Commands -------- -------- 86 5 111 0
This display shows the Adabas - Adabas replications currently defined. This is only relevant for customers who are using the Adabas Event Replicator with Adabas - Adabas replication.
Note:
Replications to other replication targets, for example SQL
databases, are not displayed. Such replications can only be displayed with the
administration tools of the event replication.
The display shows the following information:
“ID” is the ID of the replication that is also used in the replication administration.
"From FNR” is the file number of the file to be replicated to another Adabas file.
“To DB” and “To FNR” are the database ID and file number of the target file for the replication.
"Status" can have the following values and meanings:
Status | Meaning |
---|---|
Inactive | Currently no data are replicated to the target file, and at the moment no activities have been made to initiate the replication. |
Prepare | This status indicates that it is planned to perform the initial state processing for the replication. This status is the prerequisite for creating a backup of files to be replicated via ADABCK with parameter REPLICATION. |
Initialization | This status indicates that ADABCK with parameter REPLICATION is running and creates a backup containing the initial state of files to be replicated. |
Recording | Adabas is currently recording the update transactions within the replication command file and the replication transaction file, but currently does not replicate the update operations to the target database. |
Active | The replication is active; all modifications of the source file are replicated to the target file. |
Error | An unexpected error occurred during replication. In order to continue replication, a new initial state processing is required. |
“Pending Transactions” is the number of transactions that have not yet been replicated to the target file.
Notes:
“Pending Commands” is the number of commands that have not yet replicated to the target file.
Notes:
If ADAOPR DISPLAY=REPLICATIONS is executed in non-interactive mode, ADAOPR returns one of the following exit status values:
Value | Meaning |
---|---|
0 | At least one replication has been defined, and no replication is in status Error. |
12 | There is a replication in status Error. |
15 | Replication has not been activated, or no replication has been defined. |
adaopr: start_rpl_stats adaopr: display=rpl_stats ADANUC Version <version number> Database 6 Replication Statistics on 18-JUL-2016 11:24:47 Replication Statistics Summary - All Times in usec ------------------------------------------------------------------------------- Transact not yet Repl (Cur/Max) 0 2 Replicated Transactions 281 Transact Repl Time (Avg/Min/Max) 3,055 9 171,013 Transact Latency (Avg/Min/Max) 3,173 14 171,021 Replicated Commands 4,984 Command Repl Time (Avg/Min/Max) 1 1 18 Replicated A1 Commands 1,536 A1 Repl Time (Avg/Min/Max) 1 1 11 Replicated E1 Commands 1,711 E1 Repl Time (Avg/Min/Max) 1 1 12 Replicated NX Commands 1,737 NX Repl Time (Avg/Min/Max) 1 1 18 Command Wait Counter 2 Command Wait Time (Avg/Min/Max) 15,518 41 30,995
Notes:
The display shows the following information:
Value | Meaning |
---|---|
Transact not yet Repl |
The number of replications that have been committed, but have not yet been replicated. If the values are large, this means that the system is overloaded; Adabas is not able to replicate update operations in time. An exception where large values are normal is when the target database is down; then no transactions can be replicated, and the number of transactions not yet replicated increases. |
Replicated Transactions |
The number of transactions that have been replicated since the replication statistics were activated. |
Transact Repl Time |
The time to replicate a single transaction. |
Transact Latency |
The time between the commit of a transaction in the source database and the commit of the replicated transaction in the target database. Note: |
Replicated Commands |
The number of commands that have been replicated since the replication statistics were activated. |
Command Repl Time |
The time required to replicate one command. |
Replicated A1 Commands |
The number of A1 commands that have been replicated since the replication statistics were activated. |
Command A1 Repl Time |
The time required to replicate one A1 command. |
Replicated E1 Commands |
The number of E1 commands that have been replicated since the replication statistics were activated. |
Command E1 Repl Time |
The time required to replicate one E1 command. |
Replicated NX Commands |
The number of N1 or N2 commands that have been replicated since the replication statistics were activated. |
Command NX Repl Time |
The time required to replicate one N1 or N2 command. |
Command Wait Counter |
If more than one transaction is replicated at the same time, it may happen that the replication of a command must wait for the termination of the replication of another command belonging to another transaction in order to guarantee the consistency of the replication. The counter shows how often this happened since the replication statistics were activated. |
Command Wait Time |
The time until the replication of a command could continue when the command replication had to wait for the termination of the replication of another command belonging to another transaction. |
adaopr: display=static_parameters ADANUC Version <version number> Database 22 Static Parameters on 21-NOV-2014 11:13:25 Resources: LAB : 1,048,576 NT : 6 LBP : 104,857,600 NU : 50 LWP : 1,000,000 NCL : 50 LABX : 20,971,520 APU : ( 2, 3, 2) TCP/IP Port: 49152 TCP/IP Receiver: 4 Logging: PLOG, BI Options: AUTO_EXPAND
This display shows the static nucleus parameters.
Note:
The nucleus parameter APU is only displayed if it has been
specified.
adaopr: display=tcpconnections ADANUC Version <version number> Database 100 Connections on 5-SEP-2022 09:59:37 Connect Time Conn ID Recv ID User ID Remote Host IP Address Port -------------------- ------- ------- -------- -------------------------------- -------------------------------- --------- 5-SEP-2022 11:03:44 1 1 bal Node1 192.169.10.98 00000 5-SEP-2022 11:04:50 2 0 bal Node2 192.169.10.99 00000
The ‘Remote Host’, also known as ‘Node Id’ in the user queue, might not be the real client’s host name. The host (node id) can be set by the client application (see also the client function lnk_set_adabas_id() in the section Command Reference > Calling Adabas). If the real host’s name is wanted, the environment variable ADATCP_DNSLOOKUP can be set to ‘YES’. The variable can be set in the section ‘ENVIRONMENT’ of the DBnnn.INI file database specific, or in the shell environment. The default value is ‘NO’. This prevents performance issues because a DNS (Domain Name Service) lookup can be very time consuming.
Output after setting the environment variable:
adaopr: display=tcpconnections ADANUC Version <version number> Database 100 Connections on 5-SEP-2022 09:59:37 Connect Time Conn ID Recv ID User ID Remote Host IP Address Port -------------------- ------- ------- -------- -------------------------------- -------------------------------- --------- 5-SEP-2022 11:08:04 1 0 bal pcbal1.softwareag.com 192.169.10.98 36096 5-SEP-2022 11:08:14 2 1 bal pcbal2.softwareag.com 192.169.10.99 48454
The ‘Port’ number is the local port number of the connection which helps to identify a connection with operating system tools.
adaopr: display=tt ADANUC Version <version number> Database 2 Thread Table on 21-NOV-2014 11:49:38 No APU Cmd Count File Cmd Status -- --- --------- ---- --- ------ 1 2 120,715 13 S9 Complex, waiting for DATA / 2785 2 1 120,146 13 S8 Complex, waiting for TEMP / 35794 3 2 124,364 0 Free 4 1 122,300 13 S8 Complex, waiting for TEMP / 168654 5 2 120,325 13 S8 Complex, active 6 1 123,210 13 S1 Simple , active
This display shows the entries in the thread table. The number of displayed entries is simultaneously the high water mark for threads.
APU shows the assigned Adabas Processing Unit of the thread if the nucleus parameter APU is set. If APU has not been specified, the column APU is not displayed.
CMD COUNT shows the total number of Adabas commands processed from the corresponding thread context. The sum of these counts will normally differ from the sum shown by DISPLAY=COMMANDS, because internal commands are also counted.
FILE shows the file number of the Adabas command that is currently being processed from the corresponding thread context. The file number is 0 if the corresponding thread context is not active, or if the command is a global one which is not linked to a particular file.
CMD shows the command string of the Adabas command that is currently being processed from the corresponding thread context. There is no output in this column if the corresponding thread context is not active.
STATUS shows the command type and the status of the corresponding thread context.
Possible command types are:
Update
Simple
Complex
Possible entries for the thread status are shown in the following table:
Status | Meaning |
---|---|
free | available for allocation |
ready | ready to run |
active | running |
waiting for io <rabn>/<block type> |
waiting for I/o completion of block <rabn> |
waiting for <rabn>/<block type> |
waiting for access/update
synchronization of block <rabn> |
waiting for space <size> bytes |
waiting for <size> bytes of work pool space |
PLOG processing | Log entries for PLOG and WORK are created. |
Waiting for PLOG processing | The thread wants to perform
PLOG processing, but another thread is already performing PLOG processing -
only one thread can create log entries at the same time.
Note: |
Note:
The display of the thread status is done for one thread after
another. For this reason, it can happen that status "PLOG
processing" is displayed for more than one thread, or that status
"Waiting for PLOG processing" is displayed, although
for no other thread status "PLOG processing" is
displayed.
The block type can be ASSO, DATA, WORK, FILE or PLOG.
adaopr: display=ucb ADANUC Version <version number> Database 76 UCB on 19-JAN-2014 14:59:45 Date/Time Entry Id Utility Mode Files --------- -------- ------- ---- ----- 19-JAN-2014 14:59:41 42 adaopr UTO 13
This display shows the utility communication block.
DATE/TIME shows the date and time on which the given files were locked.
ENTRY ID shows the allocated identification of the entry.
UTILITY shows the name of the utility.
MODE shows the mode in which the files are being accessed. The possibilities are:
ACC open for access
UPD open for update
EXU open for exclusive update (parallel access allowed)
UTO open for utilities only
UTI open for exclusive access (no parallel access or update allowed)
Files shows the file numbers of the files that are locked.
adaopr: display=uq ADANUC Version <version number> Database 76 User Queue on 19-JAN-2014 14:58:10 Id Node Id Login Id ES Id User Id Type Status -- ------- -------- ----- ------- ---- ------ 26 sunxxx01 dba 4473 *adaopr UT 23 sunxxx01 smith 3075 ET E 20 sunxxx01 jones 3178 ET I 19 sunxxx01 jones 1946 ET IE 18 sunxxx01 smith 4689 ET 16 sunxxx01 smith 4661 ET 17 sunxxx01 jones 4638 ######## T 14 sunxxx01 miller 4379 ET R 13 sunxxx01 dba 3967 *adatst AC 12 sunxxx01 dba 3651 *adatst EX,ET E 11 sunxxx01 dba 4025 DBADMIN EX RU Selected: 11, Used: 11, Queue Size: 100
This display shows the current user queue entries.
ID shows the internal user identification;
NODE ID shows the node identification string;
LOGIN ID shows the login identification string;
ES ID is the process ID of the client process;
Note:
ES ID means "Environment Specific ID". This term was
used, because in previous Adabas versions on Windows, instead of the process
ID, a random number was used as the ES ID in order to avoid double usage of the
same Adabas session ID - this was because on Windows, the process IDs could be
reused after a short time. After adding a timestamp to the Adabas session ID,
reusage of the same Adabas session ID can no longer happen, therefore the
process ID can also be used as the ES ID on Windows. The timestamp is displayed
only with ADAOPR DISPLAY=UQ_FULL.
USER ID shows the user identification specified in Additions 1 in the Open command for the current Adabas session;
Note:
If you don't use the nucleus option OPEN_REQUIRED, the
USER ID information is deleted following a non-activity timeout. When this
happens, the USER ID is displayed as "########". If the nucleus option
OPEN_REQUIRED is used, not only the user information, but also the complete
user queue element is deleted; this means that DISPLAY=UQ no longer displays
such user queue elements.
TYPE shows the user type:
AC access only user
ET ET user
EX exclusive update user
EX,ET exclusive update user with ET logic
UT utility user.
STATUS shows the status of the user:
E user at ET status
I user session started with an implicit OPEN
R restricted file list
T user has received a time-out
U user specific timeout interval value
Note:
The description for the components of the Adabas session ID
(Node ID, Login ID, ES ID and the timestamp not displayed by ADAOPR DISPLAY=UQ)
is only correct if the function lnk_set_adabas_id is not used (see Command
Reference). This function lets you define your own Adabas session IDs.
The final line of the display shows how many user queue entries were selected according to the currently active selection criteria, and how many entries are used in total.
adaopr: display=uq_files ADANUC Version <version number> Database 76 User Files on 19-JAN-2014 14:58:10 Id Type Mode Files -- ---- ---- ----- 26 UT 23 ET UPD 11-12 20 ET UPD 11-12 19 ET UPD 11-12 18 ET UPD 11-12 16 ET UPD 11-12 14 ET UPD 11-12 13 AC 12 EX,ET EXU 14 11 EX ACC 11 EXU 13 Selected: 10, Used: 11, Queue Size: 100
This display shows the file lists for active users.
ID shows the internal user identification;
TYPE shows the user type (please refer to the DISPLAY=UQ example for more information).
MODE shows the mode in which the files are being accessed:
ACC open for access
EXF open for exclusive access (no parallel access or update allowed)
EXU open for exclusive update (parallel access allowed)
UPD open for update
UTI open for exclusive access (no parallel access or update allowed)
UTO open for utilities only
FILES shows the Adabas file list of the user entry. If the list is too large to be displayed in one line, several lines will be used: file numbers are not omitted.
The final line of the display shows how many user queue entries were selected according to the currently active selection criteria, and how many entries are used in total.
adaopr: disp=uq_full ADANUC Version <version number> Database 36 Full User Queue Entry on 3-SEP-2014 17:12:24 User Entry: Id : 8 ES Id : 17937 Node Id : sunada05 Login Id : smith User Id : *adaopr Timestamp Id : 3-SEP-2014 17:12:18:182,671 User Type : UT User Status : Time Stamps: Session Start : 3-SEP-2014 17:12:17 Trans. Start : Last Activity : Time Limits: TT : 0 TNA : 0 Resources: ISN Lists : 0 ISNs Held : 0 Open Files : 0 Activity: ADABAS Calls : 1 Transactions : 0 Settings: User Encoding : UTF-8 ------------------------------------------------------------------------------- User Entry: Id : 6 ES Id : 15808 Node Id : sunada05 Login Id : jones User Id : JONES001 Timestamp Id : 3-SEP-2014 17:11:32:113,750 User Type : ET User Status : Time Stamps: Session Start : 3-SEP-2014 17:11:31 Trans. Start : 3-SEP-2014 17:11:56 Last Activity : 3-SEP-2014 17:11:56 Time Limits: TT : 300 TNA : 300 Resources: ISN Lists : 0 ISNs Held : 1 Open Files : 1 Activity: ADABAS Calls : 3 Transactions : 1 Settings: User Encoding : UTF-8
This display shows detailed information about user queue elements.
Additionally to the information shown by ADAOPR DISPLAY=UQ, the following information is shown:
TIMESTAMP ID shows the timestamp added to the Adabas session ID to guarantee the uniquenes of the Adabas session ID;
The timestamps show when the current Adabas user session was started, when the last transaction of the session was started, and when the last activity for the session was performed.;
The time limits show the transaction time limit and the non-activity time limit defined for the Adabas user session;
Note:
Normally the time limits are the default values defined
via ADANUC parameters, but it is possible to override these default values in
the Open command of the Adabas user session.
Resources shows the number of ISN lists currently active for the Adabas user session, the number of ISNs in the hold queue for the session, and the number of Adabas files in use in the session;
Activity displays the number of Adabas calls and the number of transactions performed in the Adabas user session.
Settings displays the default user encoding for W fields used in the current Adabas sessions as specified in the Open command of the session. If nothing was specified, the default UTF8 is used.
adaopr: display=uq_time_limits ADANUC Version <version number> Database 76 User Time Limits on 19-JAN-2010 14:58:10 TNAA Interval : 00:15:00 TNAX Interval : 00:15:00 TNAE Interval : 00:15:00 TT Interval : 00:05:00 Id St Limit Timeout Interval Remaining Time Start Date/Time -- -- ----- ---------------- -------------- --------------- 23 TNAE 00:15:00 00:15:00 19-JAN-2014 14:58:10 TT 00:05:00 22 TNAE 00:15:00 00:15:00 19-JAN-2014 14:58:10 TT 00:05:00 21 TNAE 00:15:00 00:15:00 19-JAN-2014 14:58:10 TT 00:05:00 00:05:00 19-JAN-2014 14:58:10 20 TNAE 00:15:00 00:15:00 19-JAN-2014 14:58:10 TT 00:05:00 00:05:00 19-JAN-2014 14:58:10 19 TNAE 00:15:00 00:15:00 19-JAN-2014 14:58:10 TT 00:05:00 18 TNAE 00:15:00 00:15:00 19-JAN-2014 14:58:10 TT 00:05:00 00:04:50 19-JAN-2014 14:58:00 17 TNAA 00:15:00 00:15:00 19-JAN-2014 14:58:10 16 TNAE 00:15:00 00:15:00 19-JAN-2014 14:58:10 TT 00:05:00 00:05:00 19-JAN-2014 14:58:10 14 TNAE 00:15:00 00:15:00 19-JAN-2014 14:58:10 TT 00:05:00 00:05:00 19-JAN-2014 14:58:10 13 TNAA 00:15:00 00:10:01 19-JAN-2014 14:53:11 12 TNAE 00:15:00 00:10:01 19-JAN-2014 14:53:11 TT 00:05:00 11 U TNAX 00:40:00 00:34:57 19-JAN-2014 14:53:07 Selected: 12, Used: 14, Queue Size: 100
This display shows the current timeout limits for the user queue entries.
ID shows the internal user identification;
ST shows the status of the entry. Possible values are:
U user specific timeout value
T a timeout is pending, response 9 has not been collected yet by the client.
LIMIT describes the timeout type;
TIMEOUT INTERVAL shows the current active timeout intervals.
REMAINING TIME shows the amount of time remaining until the next timeout mark.
START DATE/TIME shows the starting date and time of the entry.
The final line of the display shows how many user queue entries were selected according to the currently active selection criteria, and how many entries are used in total.
ES_ID = number
This function influences the output of the DISPLAY options CQ, HQ, ICQ, UQ, UQ_FILES, UQ_FULL, UQ_TIME_LIMITS. Only entries with the specified environment-specific ID are displayed.
[NO]ET_SYNC
This option controls the behaviour of the FEOF=PLOG function. It must be specified before specifying FEOF=PLOG. Refer to the FEOF=PLOG function for more information.
The default is NOET_SYNC.
[NO]EVENTING
This starts and stops the Adabas Event Analytics for a running adanuc process. The adanuc process will start to generate events based on the Adabas Event Analytics configuration in the database INI file. If Adabas Event Analytics is configured to send the events to the Analytics Server, please make sure that the Analytics Server is started.
Note:
If Adabas Event Analytics is not configured, the default events
will be written to a NUCELG file located in the database directory.
The default is NOEVENTING.
EXT_BACKUP = [PREPARE | CONTINUE | ABORT]
This function is used to backup a database using an external backup system, which can be considerably faster with very large databases than using ADABCK.
The keyword PREPARE prepares the database for backup. During this phase, the following restrictions apply:
new transactions will be stalled
no updating utility functions (e.g. ADADBM) can be started
the functions SHUTDOWN, CANCEL, LOCK, STOPUSER, UNLOCK and FEOF=PLOG are not permitted once the EXT_BACKUP = PREPARE call has finished processing
all non-activity timeout checks are disabled
The keyword CONTINUE is used to resume normal database operations following completion of the external backup. The following actions are performed:
open a new PLOG with a new session number
re-enable non-activity timeout checks
re-enable update utilities
wake up all waiting users (start of new transactions)
The keyword ABORT is used to abort an external backup for which a PREPARE has already been issued. In this case, the PLOG isn't switched and no checkpoint is written.
Caution:
Take care to ensure that your external restore does not
overwrite the protection logs created after the external backup. Without the
protection logs, you cannot re-apply the changes perforrmed after the external
backup with ADAREC REGENERATE.
The following scenario shows a backup and restore using a third-party backup tool (tar is not a real alternative, and is used for demonstration purposes only):
Dumping the database
adaopr db=37 ext_backup=prepare %ADAOPR-I-STARTED, 13-DEC-2023 03:29:10, Version 7.2.0.0 (Linux 64Bit) Database 37, startup at 13-DEC-2023 03:29:07 ADANUC Version 7.2.0.0, PID 2079603 %ADAOPR-I-EXTBPREP, preparing for external backup, 13-DEC-2023 03:29:10 %ADAOPR-I-TERMINATED, 13-DEC-2023 03:29:10, elapsed time: 00:00:00 adaopr db=37 ext_backup=continue %ADAOPR-I-STARTED, 13-DEC-2023 03:31:24, Version 7.2.0.0 (Linux 64Bit) Database 37, startup at 13-DEC-2023 03:29:07 ADANUC Version 7.2.0.0, PID 2079603 During ET Sync (phase 2), for external backup %ADAOPR-I-EXTBCONT, continue from external backup, 13-DEC-2023 03:31:24 %ADAOPR-I-TERMINATED, 13-DEC-2023 03:31:24, elapsed time: 00:00:00 adarep %ADAREP-I-STARTED, 13-DEC-2023 03:34:24, Version 7.2.0.0 (Linux 64Bit) adarep: dbid=37 %ADAREP-I-DBON, database 37 accessed online adarep: checkpoints=(12-dec-2023,14-dec-2023) Name Date/Time Session User Id / Function ---- --------- ------- ------------------ SYNP 13-DEC-2023 03:27:57 1 ADAORD IMPORT=9 SYNP 13-DEC-2023 03:27:57 1 ADAORD IMPORT=14 SYNP 13-DEC-2023 03:27:57 1 ADAORD IMPORT=12 SYNP 13-DEC-2023 03:27:57 1 ADAORD IMPORT=11 SYNP 13-DEC-2023 03:27:57 1 ADAORD IMPORT=13 SYNC 13-DEC-2023 03:29:07 1 ADANUC 7.2.0.0 SYNX 13-DEC-2023 03:29:10 1 ADAOPR EXT_BACKUP STARTED SYNX 13-DEC-2023 03:31:24 1 ADAOPR EXT_BACKUP
Restoring and recovering the database
% tar xvf $BACKUPDIR/backup.tar # external restore % mv $ADADIR/db037/plog.0096 . # Assume current directory is not $ADADIR/db037 % adastart 37 % adarep adarep: checkpoints=(12-dec-2023,14-dec-2023) Name Date/Time Session User Id / Function ---- --------- ------- ------------------ SYNC 13-DEC-2023 03:29:07 1 ADANUC 7.2.0.0 SYNX 13-DEC-2023 03:29:10 1 ADAOPR EXT_BACKUP STARTED SYNX 13-DEC-2023 03:31:24 1 ADAOPR EXT_BACKUP SYNC 13-DEC-2023 03:39:58 1 ADANUC CANCEL SYNC 13-DEC-2023 03:40:12 2 ADANUC 7.2.0.0 adarep: q %ADAREP-I-TERMINATED, 13-DEC-2023 03:48:50, elapsed time: 00:08:34 % setenv RECPLG plog.0096 # Set RECPLG for ADAREC (C shell) % adarec dbid=37 regenerate=\* plog=96
After the restore, the checkpoint file contains the EXT_BACKUP STARTED checkpoint written by EXT_BACKUP=PREPARE, but not the checkpoints written by EXT_BACKUP=CONTINUE. The session number displayed for the current nucleus session is the number of the first PLOG that must be used for ADAREC REGENERATE for re-applying the changes done after the external backup.
The external backup is logged in the ADANUC log file
%ADANUC-I-DBSTART, Database 37, session 16 started, 14-NOV-2012 16:17:10 %ADANUC-I-EXTBPREP, preparing for external backup, 14-NOV-2012 16:18:30 %ADANUC-I-DBSTART, Database 37, session 17 started, 14-NOV-2012 16:18:45 %ADANUC-I-PLOGCRE, plog NUCPLG, file 'plogs/plog.0017' created %ADANUC-I-EXTBCONT, continue from external backup, 14-NOV-2012 16:18:45
FEOF = (keyword [,keyword])
In accordance with the keywords specified, the log file(s) are closed and a new log file is created.
Keyword | Meaning |
---|---|
CLOG |
closes command log file. |
PLOG |
closes protection log file. This depends on the [NO]ET_SYNC option: Note: |
ELOG |
closes event log file. The ELOG-keyword is only applicable if Adabas Analytics for LUW (EAL) is installed. |
ALOG |
Close NUCADT log file. |
The FEOF command will be rejected if the keyword PLOG is used while running ADAREC REGENERATE = * (see ADAREC for more detailed information).
FILE = number
This influences the output of the DISPLAY options HQ, ICQ, UQ, UQ_FILES, UQ_FULL and UQ_TIME_LIMITS. Only entries related to the specified file number are displayed.
FREE_CLQ
Normally, obsolete entries in the client queue are released automatically when the client queue is full. With ADAOPR FREE_CLQ, you can enforce the client queue cleanup before the client queue becomes full.
ID = number
This function influences the output of the DISPLAY options CQ, HQ, ICQ, UQ, UQ_FILES, UQ_FULL and UQ_TIME_LIMITS. Only entries related to the specified internal ID are displayed.
[NO]IO_TIME
The parameter IO_TIME enables logging of the I/O times for the ASSO, DATA, WORK, NUCSRT and NUCTMP containers. The times are given in microseconds.
If logging of I/O times is already enabled, enabling it again resets all I/O time and I/O counter statistics.
The default is NOIO_TIME.
ISN = ( number [- number] [,number [- number] ] ... )
This function influences the output of the DISPLAY option HQ. Only entries related to the specified ISNs are displayed.
[UN]LOCK = (number [,number]...)
The file(s) specified by the file number(s) are locked or unlocked. The specified files are locked for all non-utility use; Adabas utilities can use the file(s) normally. Specifying 0 means lock/unlock the complete database.
For users who have one or more files to be locked in their open file list, a STOP <user-ID> command is issued internally. Refer to the description of the ADAOPR STOP parameter for more details.
Notes:
LOGGING = (keyword [,keyword]...)
This parameter starts command logging for the buffers specified in the list of keywords.
The following keywords can be used:
Keyword | Meaning |
---|---|
CB | Enables logging of control block |
FB | Enables logging of format buffers |
RB | Enables logging of record buffers |
SB | Enables logging of search buffer |
VB | Enables logging of value buffer |
IB | Enables logging of ISN buffer |
ABD | Enables logging of Adabas buffer descriptions |
IO | Enables I/O list logging |
NAT | Enables logging of Natural information (Requires additional configuration in NATPARM module. Please refer to the Natural documentation for further information.) |
OFF | Stops logging of all buffers, but keeps the command log file open |
If the nucleus was started with LOGGING=OFF and buffer logging is requested, then the CLOG file will be created.
LOGIN_ID = string
This function influences the output of the DISPLAY options CQ, HQ, ICQ, UQ, UQ_FILES, UQ_FULL and UQ_TIME_LIMITS. Only entries with a login ID that begin with the specified string will be selected. Please note that the string specification must be case sensitive. If you want to select explicitly a login ID shorter than 8 characters, but not other login IDs beginning with this login ID, you must add "^ " (Windows platforms) or "\ " (non-Windows platforms) to the login ID.
NISNHQ = number
This parameter specifies the maximum number of records that can be placed into hold at any time by a single user.
If the specified value is less than the corresponding high-water value, a warning is issued.
The minimum value is 0, where 0 means unlimited.
NODE_ID = string
This function influences the output of the DISPLAY options CQ, HQ, ICQ, UQ, UQ_FILES, UQ_FULL and UQ_TIME_LIMITS. Only entries with a node ID that begin with the specified string will be selected. Please note that the string specification must be case sensitive. If you want to select explicitly a node ID shorter than 8 characters, but not other node IDs beginning with this node ID, you must add "^ " (Windows platforms) or "\ " (non-Windows platforms) to the node ID.
OPTIONS = (keyword[,keyword])
The available keywords are:
Keyword | Meaning |
---|---|
[NO]LOCAL_UTILITIES |
If LOCAL_UTILITIES is specified, the nucleus rejects all remote utility calls, i.e. the Adabas utilities cannot be run from a remote node across a network. |
[NO]UTILITIES_ONLY |
If UTILITIES_ONLY is selected, all calls other than for utilities will be rejected. Note, however, that this restriction only applies to new users; users who were already active when OPTIONS=UTILITIES_ONLY was specified can continue processing normally. If you want exclusive utility control over files or the entire database, use the LOCK function of ADAOPR instead. |
These options can be disabled using the prefix `NO', e.g. OPTIONS=NOUTILITIES_ONLY.
RESET = keyword
RESET=HIGH_WATER resets the high water mark values to the value currently in use.
RESET=COMMANDS resets the command counts displayed by ADAOPR DISPLAY=COMMANDS.
RESET=RPL_STATS resets the replication statistic counters for all replicator threads, or in combination with the THREAD parameter for a specific thread only.This keyword is only relevant for customers who are using the Adabas Event Replicator with Adabas - Adabas Replication.
[NO]RESPONSE_ABORT
If response checking is enabled with the RESPONSE_CHECK parameter of ADAOPR, the RESPONSE_ABORT option determines whether the nucleus aborts when one of the specified responses occurs (RESPONSE_ABORT), or whether the nucleus resumes operation and a database section file is written to disk (NORESPONSE_ABORT).
The setting of the [NO]RESPONSE_ABORT option can only be changed before the RESPONSE_CHECK parameter.
The default is NORESPONSE_ABORT.
Refer to the RESPONSE_CHECK parameter for further information.
RESPONSE_CHECK = [(number[-number][,number[-number]]...)]
This function enables the DBA to gather information if one of a list of Adabas response codes occurs. The information written may be used to analyze possible problems in the database's operation. If a response check for an Adabas response code is enabled, the database section file is written to disk if this response code occurs.
Depending on the setting of the RESPONSE_ABORT option, the nucleus either aborts or continues operation:
if the RESPONSE_ABORT option is set, the database section file (Adabas.xxx.hh:mm:ss [Linux], or Adabas.xxx.hh-mm-ss [Windows]) is written to the database's default directory. The database section file is also called the CSA dump file. See ADANUC and the environment variable ADA_CSA_DUMP for more information.
When the CSA dump file is written, the SMP dump file is also written (Linux platforms only); the name of the SMP dump file is SMPPOS.APP:hh:mm:ss.
if the NORESPONSE_ABORT option is set (default setting), the nucleus continues running and the database section file (Adabas.xxx.RSPyyy.hh:mm:ss [Linux], or Adabas.xxx.RSPyyy.hh-mm-ss [Windows]) is written to the database's default directory. See ADANUC and the environment variable ADA_CSA_DUMP for more information. Only one dump is generated for one response code; if a response code occurs, the RESPONSE_CHECK option is deactivated for that response code, but if it has been activated for other response codes, it remains active for the other response codes.
Refer to the RESPONSE_ABORT action for further information.
By default, no response is trapped and the nucleus continues operation.
To disable response trapping, use "RESPONSE_CHECK =" without arguments.
SET_FILE_STATS = [(number[-number][,number[-number]]...)]
This function enables the file level I/O statistics for the specified files. Only these files will be displayed by DISPLAY = FILE_IO.
SHUTDOWN
This function terminates the Adabas session normally. No new users are accepted. ET-user updating is continued until the end of the current transaction for each user. When all update activity has ended as described above, the Adabas session is terminated.
The communication link to the database is cut but the shared memory is still held. In this case, display functions are still possible with ADAOPR but parameter modification commands are no longer permitted.
STATUS = (keyword [,keyword] ,... )
This function influences the output of the DISPLAY parameter options HQ, ICQ, UQ, UQ_FILES, UQ_TIME_LIMITS, UQ_FULL. Only entries in the specified state will be displayed.
The valid keywords are:
Keyword | Meaning |
---|---|
[NO]TIMEOUT | User without or with "T" status. |
[NO]ET_STATUS | Users at "ET" status with open transactions. |
[NO]PENDING_ET | Users without or with "P" status. |
STOP = (number[-number][,number[-number]]...)
This parameter terminates the user with the specified ID (internal identification). The ID can be retrieved with DISPLAY = UQ.
The message "Stop handling started for n users" is displayed, where "n" is the number of users who will be stopped.
Note:
Utilities cannot always be stopped in this way.
The actions that Adabas takes when a user is stopped depend on the user type, and also whether the nucleus requires an explicit OP (open) command at the start of a user session, as shown in the following table.
The abbreviation SUQE used in the table means "Stop user queue element", and consists of the following actions: release all Command IDs, scratch the file list, scratch the user ID, scratch the user type, set response 9 for the next call.
User Type | Adabas Actions without ADANUC OPTIONS=OPEN_REQUIRED | Adabas Actions with ADANUC OPTIONS=OPEN_REQUIRED |
---|---|---|
ACC |
For ID user: SUQE For non-ID user: session closed |
session closed |
ET, ET Status |
For ID user: SUQE For non-ID user: session closed |
session closed |
ET, no ET Status | Backout transaction, SUQE | Backout transaction, session closed |
EX | SUQE, CLSE checkpoint | session closed |
EX, ET with ET status | SUQE, CLSE checkpoint | session closed |
EX, ET, no ET status | Backout transaction, SUQE, CLSE checkpoint | Backout transaction, session closed |
UT | session closed | session closed |
If a STOP command is issued for a user while running
ADAREC REGENERATE = *
it will be rejected.
STOPI = number
Use the STOPI
command to stop all users who have not
executed a command during the specified number of seconds. Any open transactions of the
stopped users will be backed out. A stopped user who returns (by sending a command) will
receive response code 9.
This command does not stop EXF or UTI users.
THREAD = number
This parameter is only relevant for customers who are using the Adabas Event Replicator with Adabas - Adabas Replication.
If you specify the parameter is before DISPLAY=RPL_STATS, the replication statistics are displayed only for the replicator thread specified. Thread numbering starts with 1. If you specify “THREAD=” without a number, the subsequent DISPLAY=RPL_STATS will display the statistics for all threads and the summary of all threads.
TNAA = number
This parameter sets the non-activity time limit (in seconds) for access-only users who have not explicitly specified a TNAA value in the OP command (see Command Reference, OP command).
Note that the figure you specify for this parameter is only approximate. In any particular instance, the actual amount of time can vary from this value by up to 10 seconds.
The minimum value is 20, the maximum value is 2592000.
TNAE = number
This parameter sets the non-activity time limit (in seconds) for ET logic users who have not explicitly specified a TNAE value in the OP command (see Command Reference, OP command).
Note that the figure you specify for this parameter is only approximate. In any particular instance, the actual amount of time can vary from this value by up to 10 seconds.
The minimum value is 20, the maximum value is 2592000.
TNAX = number
This parameter sets the non-activity time limit (in seconds) for EXU and EXF users who have not explicitly specified a TNAX value in the OP command (see Command Reference, OP command).
Note that the figure you specify for this parameter is only approximate. In any particular instance, the actual amount of time can vary from this value by up to 10 seconds.
The minimum value is 20, the maximum value is 2592000.
TT = number
This parameter sets the transaction time limit for ET logic users who have not explicitly specified a TT value in the OP command (see Command Reference, OP command).
If the specified value is less than the corresponding high-water value, a warning is issued.
Note that the figure you specify for this parameter is only approximate. In any particular instance, the actual amount of time can vary from this value by up to 10 seconds.
The minimum value is 20, the maximum value is 2592000.
USER_ID = string
This function influences the output of the DISPLAY parameter options CQ, HQ, ICQ, UQ, UQ_FILES, UQ_TIME_LIMITS, UQ_FULL. Only entries with a user ID that begin with the specified string will be selected. Please note that the string specification must be case sensitive. If you want to select explicitly a user ID shorter than 8 characters, but not other user IDs beginning with this user ID, you must add "^ " (Windows platforms) or "\ " (non-Windows platforms) to the user ID.
WCHARSET = <ICU encoding>
This parameter specifies the default encoding for W fields for user sessions. This encoding is used if no other encoding is specified in the record buffer of the OP call, or in the format buffer of L or A/N calls.
adanuc: wcharset=utf-16be
WRITE_LIMIT = [number]
This parameter specifies the percentage of modified blocks permitted in the buffer pool before an implicit buffer flush is taken.
Note that "WRITE_LIMIT=" (keeping the equals sign but omitting the number) is equivalent to "WRITE_LIMIT=0".
Supported values are 1-50; the default value is 50. For compatibility reasons, values of 0 and 51-70 are also allowed - they are equivalent to 50.
Note:
For further information on WRITE_LIMIT and data-at-rest encryption,
see Database Monitoring and Tuning,
Buffer Pool Manager,
Buffer Pool Configuration > WRITE_LIMIT