Download Control

Transcript
Version 13
Control
This document applies to Adabas D Version 13 and to all subsequent releases.
Specifications contained herein are subject to change and these changes will be reported in subsequent
release notes or new editions.
© Copyright Software AG 2004
All rights reserved.
The name Software AG and/or all Software AG product names are either trademarks or registered
trademarks of Software AG. Other company and product names mentioned herein may be trademarks of
their respective owners.
Adabas D: Control
Control
Table of Contents
Control
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Control .
.
.
.
.
.
.
.
.
.
.
.
.
.
Introduction
.
.
.
.
.
.
.
.
.
.
.
.
.
Introduction .
.
.
.
.
.
.
.
.
.
.
.
.
Overview .
.
.
.
.
.
.
.
.
.
.
.
.
.
Overview .
.
.
.
.
.
.
.
.
.
.
.
.
.
Serverdb Structure .
.
.
.
.
.
.
.
.
.
.
Logging
.
.
.
.
.
.
.
.
.
.
.
.
.
Backup
.
.
.
.
.
.
.
.
.
.
.
.
.
Restart .
.
.
.
.
.
.
.
.
.
.
.
.
.
Restore
.
.
.
.
.
.
.
.
.
.
.
.
.
Consistency Check and Optimizer Support .
.
.
.
.
.
Process Structure
.
.
.
.
.
.
.
.
.
.
.
Caches .
.
.
.
.
.
.
.
.
.
.
.
.
.
Multiprocessor Configurations
.
.
.
.
.
.
.
.
Client Server
.
.
.
.
.
.
.
.
.
.
.
.
Availability .
.
.
.
.
.
.
.
.
.
.
.
.
Operating and Installation .
.
.
.
.
.
.
.
.
.
Operating and Installation .
.
.
.
.
.
.
.
.
.
Control Menu Structure and Help Texts
.
.
.
.
.
.
Calling Control .
.
.
.
.
.
.
.
.
.
.
.
Installing a New Serverdb
.
.
.
.
.
.
.
.
.
Stepwise Serverdb Installation
.
.
.
.
.
.
.
.
Installing the Serverdb from an Existing Data Backup .
.
.
The Additional Installation of Control .
.
.
.
.
.
.
The Main Screen
.
.
.
.
.
.
.
.
.
.
.
Backup Concepts and Strategies .
.
.
.
.
.
.
.
.
Backup Concepts and Strategies
.
.
.
.
.
.
.
.
Concepts .
.
.
.
.
.
.
.
.
.
.
.
.
Backup Media
.
.
.
.
.
.
.
.
.
.
.
Backup Generations .
.
.
.
.
.
.
.
.
.
Medium Label
.
.
.
.
.
.
.
.
.
.
.
Examples of a Backup Scheme .
.
.
.
.
.
.
.
Backup / Restore - a Practical Guide .
.
.
.
.
.
.
Saving to One Medium
.
.
.
.
.
.
.
.
.
Restoring from One Medium .
.
.
.
.
.
.
.
Saving to a Medium with Continuation Medium .
.
.
.
Restoring from a Medium with Continuation Media .
.
.
Saving to Several Parallel Media without Continuation Medium
Restoring from Several Parallel Media without Continuation Media
Saving to Several Parallel Media with Continuation Media .
.
Restoring from Several Parallel Media with Continuation Media
Restoring from Version Files (Autosave) .
.
.
.
.
.
Restoring Several Log Segments from Tape (AUTOSAVE)
.
Autoloader under Windows
.
.
.
.
.
.
.
.
Other Autoloaders .
.
.
.
.
.
.
.
.
.
.
Example of Backup / Restore .
.
.
.
.
.
.
.
Batch Mode: xbackup / xrestore .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
2
2
3
3
4
5
5
5
5
6
7
10
11
11
12
13
13
13
17
18
26
28
30
30
34
34
34
35
35
36
39
42
42
45
47
48
51
53
56
61
63
64
66
67
68
73
i
Control
Functionality and Parameters .
.
.
.
Actions
.
.
.
.
.
.
.
.
Errors .
.
.
.
.
.
.
.
.
Standard Input and Output .
.
.
.
xbackup / xrestore Exit Codes
.
.
.
Files .
.
.
.
.
.
.
.
.
External Backup Tools
.
.
.
.
.
Notes on Timing
.
.
.
.
.
.
Notes on "EXTERN" Medium .
.
.
Notes on ADSM
.
.
.
.
.
.
Notes on NetWorker
.
.
.
.
.
Automatic Log Saves Using An Archiver Tool
Operating Menu Function
.
.
.
.
.
Operating Menu Function
.
.
.
.
.
Operating / Colors
.
.
.
.
.
.
Refresh .
.
.
.
.
.
.
.
.
Operating / Restart
.
.
.
.
.
.
Operating / Restart / Warm .
.
.
.
Operating / Restart / Cold
.
.
.
.
Operating / Restart / Restart Local
.
.
Operating / Restart / Restart Copy
.
.
Operating / Restart / Reconnect .
.
.
Operating / Restart / Reconnect Copy .
.
Operating / Shutdown .
.
.
.
.
.
Operating / Update Statistics .
.
.
.
Operating Exit
.
.
.
.
.
.
.
Info Menu Function .
.
.
.
.
.
.
Info Menu Function .
.
.
.
.
.
.
Info / Activity
.
.
.
.
.
.
.
Info / Configuration .
.
.
.
.
.
Info / Distribution .
.
.
.
.
.
.
Info / Users .
.
.
.
.
.
.
.
Info / Caches .
.
.
.
.
.
.
.
Info / I/O Accesses
.
.
.
.
.
.
Info / Locks .
.
.
.
.
.
.
.
Info / Logs .
.
.
.
.
.
.
.
Info / Processes .
.
.
.
.
.
.
Info / Regions
.
.
.
.
.
.
.
Info / Memory
.
.
.
.
.
.
.
Info / Version
.
.
.
.
.
.
.
Options Menu Function .
.
.
.
.
.
Options Menu Function .
.
.
.
.
.
Options / Reset Counter .
.
.
.
.
Options / Remote SQL Server .
.
.
.
Options / Accounting .
.
.
.
.
.
Options / Access Mode
.
.
.
.
.
Options / Kernel Trace
.
.
.
.
.
Options / Autosave Log
.
.
.
.
.
Options / Schedule
.
.
.
.
.
.
ii
Adabas D: Control
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
74
.
76
.
77
.
78
.
79
.
79
.
79
.
81
.
81
.
82
.
82
.
83
.
84
.
84
.
84
.
85
.
85
.
85
.
86
.
86
.
86
.
86
.
87
.
87
.
88
.
88
.
89
.
89
.
90
.
94
.
97
.
98
.
99
.
100
.
101
.
102
.
104
.
106
.
108
.
108
.
109
.
109
.
109
.
109
.
110
.
111
.
112
.
112
.
113
.
Adabas D: Control
Backup Menu Function .
.
.
.
.
.
.
Backup Menu Function .
.
.
.
.
.
.
Backup / Save
.
.
.
.
.
.
.
.
Backup / Save / Verify Devspaces
.
.
.
Backup / Save / Data
.
.
.
.
.
.
Backup / Save / Updated Pages .
.
.
.
Backup / Save / Log
.
.
.
.
.
.
Backup / Save / Log Segment
.
.
.
.
Backup / Restore .
.
.
.
.
.
.
.
Backup / Restore / Data .
.
.
.
.
.
Backup / Restore / Updated Pages
.
.
.
Backup / Restore / Log (UNTIL) .
.
.
.
Backup / Restore / Devspace
.
.
.
.
Backup / Restore / Clear Log .
.
.
.
.
Backup / Show History
.
.
.
.
.
.
Backup / Show Protocol .
.
.
.
.
.
Backup / Media Manager .
.
.
.
.
.
Backup / Generations .
.
.
.
.
.
.
Backup / Schedule Manager
.
.
.
.
.
Examples of Weekly Schedules and Timetables
How to Create Weekly Schedules and Timetables
Backup / Schedule Manager / Week .
.
.
Backup / Schedule Manager / Action .
.
.
Backup / Schedule Manager / Tools .
.
.
Backup / Schedule Manager / Help .
.
.
Backup / Schedule Manager / Timetable .
.
Diagnose Menu Function .
.
.
.
.
.
.
Diagnose Menu Function
.
.
.
.
.
.
Diagnose / Op Messages .
.
.
.
.
.
Diagnose / Command History .
.
.
.
.
Diagnose / Inst Protocol .
.
.
.
.
.
Configuration Menu Function .
.
.
.
.
.
Configuration Menu Function
.
.
.
.
.
Configuration / Alter Parameters
.
.
.
.
Configuration / Alter Parameters / Set Defaults .
Configuration / Alter Parameters / Termchar Set
Configuration / Alter Parameters / Mapchar Set
Configuration / Alter Parameters / Session
.
Configuration / Alter Parameters / Kernel .
.
Configuration / Alter Parameters / Sysuser
.
Configuration / Alter Config .
.
.
.
.
Configuration / Alter Config /Add Devspace .
Configuration / Alter Config / Log Segment .
Configuration / Alter Config / Data Restore
.
Configuration / Alter Config / Change Devspace
Configuration / Alter Config / Alter Log .
.
Configuration / Load Systables .
.
.
.
.
Configuration / Install Serverdb
.
.
.
.
Configuration / Clear Serverdb .
.
.
.
.
Control
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
114
.
114
.
114
.
115
.
115
.
118
.
118
.
118
.
119
.
119
.
120
.
120
.
120
.
123
.
123
.
123
.
123
.
123
.
124
.
125
.
131
.
136
.
140
.
144
.
144
.
145
.
148
.
148
.
148
.
148
.
149
.
150
.
150
.
150
.
150
.
156
.
157
.
159
.
160
.
162
.
162
.
163
.
164
.
165
.
166
.
166
.
167
.
168
.
169
.
iii
Control
Remote Control .
.
.
.
.
.
.
.
.
.
.
.
Remote Control .
.
.
.
.
.
.
.
.
.
.
.
Call Syntax .
.
.
.
.
.
.
.
.
.
.
.
Options .
.
.
.
.
.
.
.
.
.
.
.
.
Starting the Application .
.
.
.
.
.
.
.
.
The Navigator Tree .
.
.
.
.
.
.
.
.
.
Servernodes
.
.
.
.
.
.
.
.
.
.
.
Serverdbs .
.
.
.
.
.
.
.
.
.
.
.
Info Sheet .
.
.
.
.
.
.
.
.
.
.
.
Kernel Parameter .
.
.
.
.
.
.
.
.
.
Configuration .
.
.
.
.
.
.
.
.
.
.
SysUsers .
.
.
.
.
.
.
.
.
.
.
.
Devices .
.
.
.
.
.
.
.
.
.
.
.
LoadSystem Tables .
.
.
.
.
.
.
.
.
.
Diagnose .
.
.
.
.
.
.
.
.
.
.
.
Media Manager
.
.
.
.
.
.
.
.
.
.
Save Operations
.
.
.
.
.
.
.
.
.
.
Restore Operations .
.
.
.
.
.
.
.
.
.
Install New Serverdb
.
.
.
.
.
.
.
.
.
Remote Control Server
.
.
.
.
.
.
.
.
.
Configuration File of the Remote Control Server .
.
.
Environment Variables
.
.
.
.
.
.
.
.
.
Configuration of Control .
.
.
.
.
.
.
.
.
Tcl Commands .
.
.
.
.
.
.
.
.
.
.
Troubleshooting When Problems Occur .
.
.
.
.
.
Troubleshooting When Problems Occur
.
.
.
.
.
.
What to do When the System Crashes .
.
.
.
.
.
Saving the Protocol Files
.
.
.
.
.
.
.
.
The x_look Analysis Tool Under Unix
.
.
.
.
.
Finding the cause of a System Crash .
.
.
.
.
.
The Log is Full .
.
.
.
.
.
.
.
.
.
.
The Database Administrator’s Action .
.
.
.
.
.
The Database
.
.
.is Full
.
.
.
.
.
.
.
.
.
.
.
A Log Disk is Defective .
.
.
.
.
.
.
.
.
The Database Administrator’s Action .
.
.
.
.
.
A System Error Has Occurred .
.
.
.
.
.
.
.
The Database Administrator’s Action .
.
.
.
.
.
Database Performance: Basics, Performance Analysis and Tuning
Database Performance: Basics, Performance Analysis and Tuning
Optimizer and Statistics .
.
.
.
.
.
.
.
.
"updmaster" and "updslave" Programs .
.
.
.
.
.
Searching Bottlenecks In The Kerneltrace (x_wizbit) .
.
.
Call .
.
.
.
.
.
.
.
.
.
.
.
.
Description
.
.
.
.
.
.
.
.
.
.
.
Prerequisites .
.
.
.
.
.
.
.
.
.
.
Options
.
.
.
.
.
.
.
.
.
.
.
.
Remarks .
.
.
.
.
.
.
.
.
.
.
.
Analyzing Adabas Bottlenecks (x_wizard) .
.
.
.
.
Call .
.
.
.
.
.
.
.
.
.
.
.
.
Description
.
.
.
.
.
.
.
.
.
.
.
Prerequisites .
.
.
.
.
.
.
.
.
.
.
iv
Adabas D: Control
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
170
.
170
.
170
.
170
.
170
.
171
.
172
.
172
.
173
.
173
.
174
.
174
.
174
.
175
.
175
.
175
.
176
.
176
.
177
.
177
.
178
.
179
.
179
.
180
.
181
.
181
.
181
.
181
.
182
.
183
.
201
.
202
.
203
204
.
204
.
205
.
205
.
205
.
208
.
208
.
208
.
209
.
210
.
210
.
211
.
211
.
211
.
211
.
212
.
212
.
212
.
213
.
Adabas D: Control
Options
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Remarks .
.
.
.
.
.
.
.
.
.
.
.
.
.
x_wizard Messages .
.
.
.
.
.
.
.
.
.
.
.
The Course of Measured Values (x_wiztrc) .
.
.
.
.
.
.
Call .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Description
.
.
.
.
.
.
.
.
.
.
.
.
.
Prerequisites .
.
.
.
.
.
.
.
.
.
.
.
.
Options
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Remarks .
.
.
.
.
.
.
.
.
.
.
.
.
.
x_wiztrc
.
. Output
.
.Tables
.
.
.
.
.
.
.
.
.
.
.
.
Direct Search For Costly SQL Statements
.
.
.
.
.
.
.
Direct
.
. Search
.
.For Costly
.
. SQL
. Statements
.
.
. Using
. DIAGNOSE
.
.
. MONITOR
.
.
.
Table Statistics and Structural Checks (xpu) .
.
.
.
.
.
Call .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Description
.
.
.
.
.
.
.
.
.
.
.
.
.
Options
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Output Files
.
.
.
.
.
.
.
.
.
.
.
.
.
Return Code .
.
.
.
.
.
.
.
.
.
.
.
.
Remarks .
.
.
.
.
.
.
.
.
.
.
.
.
.
Settings for NetTerm .
.
.
.
.
.
.
.
.
.
.
.
.
Settings for NetTerm
.
.
.
.
.
.
.
.
.
.
.
.
Control
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
213
.
213
.
214
.
225
.
225
.
225
.
225
.
225
.
225
.
226
.
231
.
232
233
.
233
.
233
.
233
.
233
.
233
.
233
.
234
.
235
.
235
.
v
Adabas D: Control
Control
Control
Introduction
Overview
Operating and Installation
Backup Concepts and Strategies
Operating Menu Function
Info Menu Function
Options Menu Function
Backup Menu Function
Diagnose Menu Function
Configuration Menu Function
Remote Control
Troubleshooting When Problems Occur
Database Performance: Basics, Performance Analysis and Tuning
Settings for NetTerm
1
Introduction
Adabas D: Control
Introduction
Control is used to control and monitor the Adabas server, and to execute the backup and recovery
procedures.
Control supports the following operations:
Installing the database server,
Loading the system tables,
Starting and shutting down the database server,
Starting and shutting down the remote SQL server,
Monitoring the database server,
Backing up the database and log,
Restoring the database and log,
Expanding the disk capacities of the database server,
Running the Diagnose tool.
Remote access to non-local database servers by Control is not yet supported. Note, however, that there are
numerous terminal emulations that can be used to access Unix servers from Windows PCs. For example,
the NetTerm terminal emulation of the InterSoft International Inc. company is an appropriate tool for this
purpose. (The settings recommended for NetTerm are described in detail in Appendix 2)
2
Adabas D: Control
Overview
Overview
One or more instances of Adabas can be installed and operated on a computer. Each Adabas instance
consists of processes, main memory structures (caches), and a disk-based serverdb.
______________
|
|
| Caches
|
|____________|
Adabas D Instance
|
|
| Processes
|
|____________|
|
|
| Serverdb
|
|____________|
This chapter covers the following topics:
Serverdb Structure
Logging
Backup
Restart
Restore
Consistency Check and Optimizer Support
Process Structure
Caches
Multiprocessor Configurations
Client Server
Availability
3
Overview
Adabas D: Control
Serverdb Structure
A serverdb has the following structure:
System
Transaction
Archive
Data
Devspace
Log Devspace
Log Devspace(s)
Devspace(s)
... ( 0..7 )
... ( 1..64 )
The term "devspace" denotes a physical disk or part of a physical disk, for example, a Unix raw device or
a file.
Adabas assumes that each devspace is located on a different disk. If this is not true, decreased
performance is to be expected. The used disks should present uniform performance data (especially access
speed) because only then an equal usage of the devspaces can be obtained.
The Adabas devspaces have the following meanings:
System Devspace
The configuration data and the mappings of the logical page numbers to physical page addresses
are administered on the system devspace. The size of the system devspace therefore depends
directly on the database size and is determined by the database kernel.
Transaction Log Devspace
Modifications to the data are recorded in the transaction log and written to disk at the end of the
transaction. The transaction log can be used to ROLLBACK transactions, it is written cyclically.
Its size must be sufficient to receive the modifications of all open transactions.
Archive Log Devspaces
All modifications made to the database contents are recorded in the archive log devspace to
ensure the recovery of the database contents after a media failure. The log backup functions
(Save / Log, Save / Log Segment) can be used to save the archive log devspace contents to tape
(DLT, DAT, Video8) and to release the used space afterwards. The size of the archive log
devspace must therefore be sufficient to receive all modifications occurring during two backups.
The archive log can comprise several devspaces.
Data Devspaces
The user data (tables, indexes) and the SQL catalog (schema information) are stored in the data
devspaces. As a rule, an Adabas-internal striping algorithm evenly distributes the data belonging
to a table across all data devspaces. The storage space defined by all data devspaces is the total
size of the database.
The data devspaces are not directly related to the storage of database objects. An assignment of tables to
data devspaces is not possible and not necessary. A table or an index can use one page (4 KB) as a
minimum; or a table can use all data devspaces (i.e., the whole database) as a maximum. A table increases
or decreases in size automatically without administrative intervention.
4
Adabas D: Control
Overview
The system devspace and all data devspaces of a serverdb can be mirrored to obtain a higher degree of
availability. Write operations are performed on each of the two mirrored devspaces, while read operations
alternate between one mirrored data devspace and the other to distribute the I/O load.
If the data devspaces become full, database operation stops and Adabas performs an "Emergency
Shutdown". The devspace usage level of a serverdb is therefore a critical parameter of database operation
and must be monitored. A serverdb can be expanded by additional data devspaces, if necessary, while the
database is operational.
Logging
Adabas provides a gradual logging concept to satisfy different data protection and computer configuration
requirements. A configuration parameter, LOG MODE, can be used to select one of several variants.
Backup
Adabas supports complete and incremental backups providing the required restore and restart functions in
order to make databases operational again after power and media failures. Periodic backups are
indispensable for production database environments.
To ensure round-the-clock operation, data backups (complete and incremental) can be performed in warm
mode and log segments can be automatically saved as soon as they have been completed.
Data backups are done with checkpoint; i.e., they are consistent. Data backups can be performed in warm
database mode. This can impair database operation.
As the low speed of the tape devices involved is a limiting factor for save and restore operations, Adabas
provides the option to save to or restore from several tape devices in parallel. Up to 32 tape devices can be
used to reduce save and restore times considerably. This is not possible for save log segment.
Restart
If a database failure other than a devspace failure (e.g., a power failure) occurs, the restart of Adabas
ensures that the last consistent database state is reestablished using the transaction log; this means, the
effects of committed transactions are reapplied on the data devspaces, and the effects of open transactions
are rolled back.
Even if a devspace failure (of physical disks) occurs, a restart of the serverdb can suffice as recovery
measure to restore the last consistent database state providing the archive log contains all the data
required.
Restore
If a media failure occurs on the system devspace or a data devspace, database operation ends (unless the
data devspaces and the system devspace are mirrored). After repairing the media failure, the database
must be restored using the last complete backup version (Restore / Data).
5
Overview
Adabas D: Control
If the archive log had not been saved in the meantime, the restart has the effect that the database
modifications recorded in the archive log are reapplied, thus reestablishing the last consistent state of the
database (see section Restart).
If the archive log had been saved in the meantime, Restore / Data must be performed and the backup of
the archive log must be restored with Restore / Log) (see also section Troubleshooting When Problems
Occur).
If the database needs to be reset to a previous state for organizational reasons, the most recent complete
backup (Restore / Data) that was made previous to the desired date and time must be restored, the current
archive log must be saved, and the log backups subsequent to the complete backup (Restore / Log) must
be restored. The desired database state can be determined by specifying a date and a time (Restore / Log
UNTIL).
For a recovery using modified database pages instead of log backups, a similar procedure is used. A
sequence of Save / Updated Pages tapes written after the last complete backup will also be availabe in this
case. The tapes must be restored one after the other with Restore / Updated Pages. The current contents of
the archive log do not need to be saved; they are used to reestablish the last consistent database state
during the following restart.
If a media failure occurs on the transaction log devspace or one of the archive log devspaces, database
operation ends unless the log mode DUAL defines a mirrored archive log. After repairing the media
failure and performing RESTORE LOG FROM DEVSPACE and a subsequent restart, the database is in a
consistent state again.
Consistency Check and Optimizer Support
To ensure a safe database operation and good performance, two other activities must be done from time to
time: Verify and Update Statistics.
Verify can be executed while the database is operational. It checks the consistency of internal chains
within the B* trees used. If inconsistencies are discovered, the database must be restored. A Verify is
recommended before each complete backup of the database.
Verify in COLD mode (i.e., before a Restart of the serverdb) has an additional property: pages wrongly
recorded as used since an irregular end of database operation are released to the free space management.
Update Statistics determines the number of rows in tables and the selectivity of individual columns. The
Adabas optimizer needs these specifications to determine the best strategy for the processing of complex
SQL statements. If the sizes or the value assignments in the database have changed considerably, a new
Update Statistics must be performed. Update Statistics should be executed once a week.
If Adabas determines differences between the optimizer assumptions from the last Update Statistics and
the current state of a table, it attempts to perform an implicit Update Statistics. If there are conflicting
locks, this attempt might be aborted, so that the implicit Update Statistics is not a complete equivalent of
the explicit Update Statistics.
6
Adabas D: Control
Overview
Process Structure
An Adabas instance consists of a set of Unix processes or Windows threads. Under Unix, a process acts as
UKP (user kernel process) or as special process with special tasks. Under Windows, the term "thread" is
used instead of process; consequently, there are UKTs (user kernel threads). Strictly speaking, the Adabas
instance is realized in Windows by a process subdivided into threads. The required number of
UKPs/UKTs and of special processes/threads depends on the number of used devspaces, the hardware
configuration, and the database parameters.
In the following example, each box represents one UKP/UKT. Some UKPs/UKTs bundle up several tasks,
others realize just one special task. The example is valid for a process structure in a Unix system with one
CPU.
A UKP/UKT bundles up a subset of all tasks (internal tasking). There are the following tasks:
Usertasks
Each user or each application program is assigned a usertask when connecting to the database.
The usertask ensures the processing of SQL statements for the session. The number of available
usertasks is defined by the database parameter MAXUSERTASKS.
Servertasks
The main purpose of servertasks is to perform data backups. If the installed database is a
distributed system, servertasks also realize access to remote data. When configuring the
database, the number of servertasks is automatically computed from the number of data
devspaces and the number of provided backup devices.
7
Overview
Adabas D: Control
Servertasks ensure the writing to secondary storage. They become active when a savepoint is
being performed. A savepoint means that the modifications done to the data cache are also performed to
the data on the disk.
Logwriter 1
The logwriter 1 ensures the writing of modification information (before and after images) to the
transaction log.
Logwriter 2
The logwriter 2 ensures the writing of before and after images to the archive log(s).
Bufreader
For a large data cache, savepoint writing takes a long time. The bufreaders become also active
between two savepoints to write data asynchronously from the data cache to disk. The number
of bufreaders to be activated, if needed, must be defined in xparam. It depends primarily on the
data cache size and the number of data devspaces.
Utility Task
The utility task is reserved for the database operating. It is only used to handle administrative
tasks. As there is only one utility task for each serverdb instance, no parallel operating actions
can be done.
Bufwriter Task
Adabas allows a special trace, the so-called vtrace, to be activated for diagnose purposes. The
bufwriter task is provided for this purpose.
Sender and Receiver
In a distributed database installation, these tasks perform the communicative operations between
the serverdbs involved.
Timertask
The timertask handles all kinds of timeout situations.
Special processes/threads are activated in addition to UKPs/UKTs. There are the following
special processes/threads:
Requestor
The requestor receives the local communication requests (connect) as well as requests from the
network and assigns them to a UKP/UKT. For example, the requestor informs the corresponding
UKP/UKT when a user disconnects abnormally.
Timer
The timer monitors the time for timeout control.
8
Adabas D: Control
Overview
Dev Processes/Threads
Dev processes/threads ensure that write and read operations to be done for the corresponding
tasks are actually performed. Their number primarily depends on the number of devspaces in the
installed database. Usually, two dev processes/threads are activated for each data devspace and
the system devspace, one dev process/thread is activated for the log devspaces and for vtrace
writing, if this has been enabled.
The process/thread dev0 plays a special part. Dev0 coordinates and monitors the dev
processes/threads. For example, if a mirrored devspace fails in warm mode (bad devspace), dev0
ensures that the corresponding dev processes/threads are terminated. Database operation is not
impaired in this case.
If the database is enlarged in warm mode by adding another data devspace, dev0 ensures that
new dev processes/threads are generated.
All the other dev<i-> processes/threads write data to or read it from the devspaces.
Temporary Dev Process
Processes/threads are temporarily activated to read and write data for data backups. These
processes are called asdev<i>. Their number depends on the number of data devspaces and of
the number of backup devices.
In Unix systems, dev0 coordinates these processes.
On a Windows system, the special thread async0 coordinates these processes.
Coordinator
The coordinator process/thread has a special meaning. It monitors all kernel processes/threads of
the instance. When starting the database instance, the coordinator is the first process/thread that
becomes active coordinating the start of the other processes/threads. For example, if a
process/thread fails in warm mode, the coordinator stops all the other processes/threads in the
worst case.
There are some more special processes/threads in addition, according to the operating system:
Clock Thread
The clock thread is only used On a Windows system. It computes internal times; for example, to
determine the time needed to execute an SQL statement.
Console Process
In Unix systems, the console process gathers information produced by other processes that could
be useful to the administrator and writes it to the knldiag operating message file.
On a Windows system, there is also a knldiag operating message file into which the information
is entered by each thread.
Console Thread
9
Overview
Adabas D: Control
On a Windows system, this special thread satisfies requests made by the x_cons console. x_cons
communicates with the console thread for this purpose.
In Unix systems, x_cons receives the required information from the processes’ shared memory.
Death Process (Unix only)
The death process monitors the coordinator process. If the coordinator process fails in an
operative database, the death process stops all the other processes.
Network Process (Unix only)
If REMOTE-ACCESS is set to YES in xparam, this process - instead of the vserver - is used for
communication between a remote application (remote SQL) and the kernel. A network process
can serve several connections.
Caches
Read and write operations to the devspaces are buffered in order to save disk accesses. The pertinent main
memory structures are called caches. They can be dimensioned appropriately. Adabas defines the
following caches:
Data Cache
This cache contains the last read- or write-accessed pages of the data devspaces. The data cache
is shared by all simultaneously active users. The hit rate, i.e. the relation between successful and
unsuccessful accesses to the data cache, is decisive for the performance. Successful access
means that the required data was already available in the data cache.
Converter Cache
The converter cache and its hit rate are also decisive for performance. The converter cache
contains the last read- or write-accessed pages of the system devspace. The converter cache is
shared by all simultaneously active users. For the converter cache, you should strive for hit rates
as close to 100% as possible.
Proc Code Cache
This structure contains the code of the last executed DB procedures, triggers, or DB functions.
The proc code cache is shared by all simultaneously active users.
Proc Data Cache
This cache exists for each active user (or for each database session). It contains the parameters
or variables belonging to the last executed DB procedures, triggers, and DB functions.
Catalog Cache
This cache exists for each active user (or for each database session). It contains the last catalog
objects used by a database session and the internal representation (application plans) of the last
exec commands. Displacements from the catalog cache first move the data into the data cache.
10
Adabas D: Control
Overview
Temp Cache
This cache exists for each active user (or for each database session). It contains the last database
objects (SELECT results, temporary tables) generated or temporarily used by a database session.
Applications that generate large join results or frequently work with temporary tables can
improve their performance by configuring a temp cache with an appropriate size. Displacements
from the temp cache first move the temporary data into the data cache.
Multiprocessor Configurations
For an optimal usage of multiprocessor configurations, Adabas supports an external/internal tasking that
can be configured. The aim hereby is to support as many database sessions as possible with a minimum
number of operating system processes. One operating system process is required for each CPU that resides
in the computer and is to be used by an Adabas serverdb.
The degree of the external/internal tasking is controlled by the two configuration parameters
MAXUSERTASKS and MAXCPU.
The parameter MAXUSERTASKS indicates the maximum number of simultaneously active users
(database sessions). Overconfiguration exceeding the actual requirements results in increased address
space (especially shared memory) requirements.
The parameter MAXCPU indicates the number of CPUs to be made available to the serverdb.
For example, if you want to use up to 800 simultaneously active database sessions on a 4-processor
computer, MAXUSERTASKS must be set to 800 and MAXCPU to 4. The serverdb can then utilize the
four processors by establishing four operating system processes each of which performs an internal
tasking for up to 200 users.
If the number of configured database sessions is exhausted, no other user can connect to the serverdb. The
number of active sessions is therefore a critical parameter of database operation and must be monitored.
Client Server
To open a serverdb for remote SQL client operation, only the remote SQL server must be started. It acts as
an agent for the remote clients.
To be able to use this connectivity built into Adabas via TCP/IP sockets, the corresponding TCP/IP entries
must have been previously configured. Information required for this purpose is contained in the "User
Manual Unix" or "User Manual Windows".
To connect to a serverdb, the name of the serverdb and the network name of the corresponding computer
or network node (servernode) must be specified in addition to a valid user name/password combination.
When connecting to a local serverdb, the servernode specification can be omitted.
Note:
Control can only be used on the local serverdb.
11
Overview
Adabas D: Control
Availability
The availability of a serverdb can be increased by using the corresponding hardware, operating system, or
database features.
For mission-critical applications, we recommend RAID-5 configurations as disk peripherals for data
devspaces. Then a failure and the exchange of a disk does not impair database operation. For performance
reasons, the log devspaces must not be created on RAID-5 systems but on special disks.
The same applies to operating system mirror disks. These, however, require double disk capacity.
Regardless of the hardware and operating system properties, Adabas provides a mirroring of the system
devspace and all data devspaces. (Independent of these mirrored devspaces, log mode DUAL can be used
to define mirrored archive log devspaces.) Mirroring the system devspace and the data devspaces is
controlled by the configuration parameter MIRRORED and requires the definition of a corresponding
number of mirrored devspaces. In a mirrored configuration, read operations alternate between the original
and the mirrored devspace; write operations concern both devspaces.
12
Adabas D: Control
Operating and Installation
Operating and Installation
This chapter covers the following topics:
Control Menu Structure and Help Texts
Calling Control
Installing a New Serverdb
Stepwise Serverdb Installation
Installing the Serverdb from an Existing Data Backup
The Additional Installation of Control
The Main Screen
Control Menu Structure and Help Texts
13
Operating and Installation
14
Adabas D: Control
Adabas D: Control
Operating and Installation
|
|
__________________________________________________________________________________________________
|
| Regions
|
| Operating
|_______________|
| Info ..
| Options ..
|
|
|
|
|
|
| Backup
| Diagnose
| Configuration
|
|
|
|____________|_______________|________________|_______________|_______________|__________________|
| Memory
|
|
| Colors
|
|
|
|_______________|
F2 | Activity
| Reset Counters | Save
|
|
| Op Messages
| Alter Parameters |
|
|
|
|____________|_______________|________________|_______________|_______________|__________________|
|
| Version
|
|
|
|
|
|
|
| Refresh..
|_______________|
| Configuration | Remote
| Restore
| Command
| Alter Config ..
|
|
|
|
|
| History
|
|
|
| SQL Server ..
| Help
|
|____________|_______________|________________|_______________|_______________|__________________|
|
|_______________|
|
|
|
|
|
|
| Restart
| Users
| Show History
| Inst Protocol | Load Systables
|
| Accounting..
|____________|_______________|________________|_______________|_______________|__________________|
|
|
|
|
| Access Mode..
| Show Protocol |
| Install Serverdb |
|____________|_______________|________________|_______________|
|__________________|
|
|
|
|
|
| Update
| I/O Accesses
| Kernel Trace.. | Media Manager |
| Clear Serverdb
|
|
|
|
| Shutdown.. | Caches
| Statistics |
|
|
|
|
|
|____________|_______________|________________|_______________|
|
| Exit
|
F3 | Locks
|
|
| Autosave Log.. | Generations
|
|
|__________________|
|
|
|____________|_______________|________________|_______________|
|
|
|
|
| Log
| Schedule..
| Schedule
|
|
|
| Manager
|
|_______________|________________|_______________|
|
|
| Processes
|
|_______________|
15
Operating and Installation
Adabas D: Control
The menu bar can be activated in different ways.
A menu bar item can be selected directly by pressing the highlighted letter (indicated by an
underscore in the illustrations) and the Control key at the same time. In most cases, selecting a menu
item will display a pulldown menu.
If the cursor is placed on an input field within the input screen, F12 can be used to enable the menu
bar. To reach the adjacent pulldown menu, use the left / right cursor keys.
A function of a displayed pulldown menu is activated either by positioning the cursor and pressing the
Enter key or by selecting the highlighted letter (in this case, it is not necessary to press the Control key at
the same time).
If a help function is available, it can be called using the F1 key. A help screen or a selection of values is
displayed. One of the displayed values can be selected. To obtain help on further subjects from within the
help screens, position the cursor on the corresponding catchword and press F1. F3 , End returns to the
previous screen.
If the release characters are not highlighted, the presentation of Control is not adapted to the definition of
the terminal. In this case, F2 can be used to change from within the Main Screen and all Installation
Screens to another presentation (color).
In the Main Screen, the function keys are set to the following functions:
F1
Help
F2
Colors
F3 , End
Cancel
F5 , Enter
Ok
F9
Refresh
In the Installation Screens, the function keys are set to the following functions:
F2
Colors
F3 , End
Cancel
F4
Print
F5 , Enter
Ok
F7 , Pgup
Prev
F8 , Pgdn
Next
In the Info Screens, the function keys are set to the following functions:
16
Adabas D: Control
Operating and Installation
F2
In Pages / In KB
F3 , End
Return
F4
Print
F5 , Enter
Ok
F6
Edit
F7 , Pgup
Prev
F8 , Pgdn
Next
F9
Refresh
In the Schedule Manager, the function keys are set to the following functions:
F1
- Help
F2
- Reset
F3 , End
- End, Quit, Cancel
If values have been modified, a warning is displayed.
F4
- Insert
F5 , Enter
- Ok, Update, Confirm
F6
- Delete
F7 , Pgup
- Prev, Scroll Up
F8 , Pgdn
- Next, Scroll Down
F9
- Search
Calling Control
Control can be called from the operating system level (Unix, Windows) using the following command:
xcontrol -d <serverdb name> -u <controluser name>,< password >
If Control has not yet been installed for the specified server database, the Installation Screen appears. If no
parameters have been specified, the Connect Screen appears.
In the Connect Screen, the Control user identification, the Control user password, and the name of the
serverdb must be entered.
Instructions for the usage of the user interface by means of pulldown menus, function keys, and buttons
are given in section Control Menu Structure and Help Texts.
17
Operating and Installation
Adabas D: Control
Installing a New Serverdb
If a non-existent serverdb is specified for the call of Control (i.e., no parameter file with the database
name exists), the following screen is displayed:
____________________________________________________________________________
|
|
|
Install Serverdb <serverdb> on <servernode>
|
|
___________________________________________________________________
|
|
|
|
CONTROL USER NAME..:
PASSWORD...:
SYSDBA NAME........:
PASSWORD...:
|
|
|
|
|
|
|
|
DOMAIN USER NAME...: DOMAIN
PASSWORD...:
|
|
|
|
_____________________________________________________________________
|
|
|
|
|
|
| If you want to create a new serverdb fill this form and press "Ok" |
|
|
|____________________________________________________________________|
|
Serverdb does not exist
|
|
|
________
|
|
|
| Next | | Prev |
| Color |
|
|______| |______|
|_______|
| |
_______
|
________
|
|
________
|
|
_________
|
|
|
|
| Print |
| Cancel |
|
|_______|
|________|
|
|____________________________________________________________________________|
Fig.: Installation Screen 1
Serverdb name is taken from the call option -d. SERVERNODE is the computer name within the network.
If the computer has no net card, the SERVERNODE name is "local".
Control knows four special users:
1. The Control USER has the right to perform all functions of Control. The Control USER can connect
several times to his serverdb, for example, to retrieve information about operating parameters while
performing long-time backups.
2. The SYSDBA USER is the system administrator. This user owns the system tables and has the
privilege to create other administrators. This user is especially needed for the installation.
3. The user DOMAIN is the owner of the catalog tables. This user is also needed for the installation.
4. The user OPERATOR is a database operator with restricted rights. This user may only perform save
functions.
In the Installation Screen, name and password are defined for the users Control and SYSDBA, whereas
the password is only defined for the user DOMAIN. First, the user OPERATOR has the password
OPERATOR. It can be modified using the Configuration / Alter Parameters / Sysuser menu item.
18
Adabas D: Control
Operating and Installation
The names and passwords have a maximum length of 18 characters. Passwords must be entered twice to
recognize input errors. When the specifications are complete, the screen must be acknowleged using either
the Enter key or Ok button, and a screen for the definition of the database parameters is displayed.
___________________________________________________________________________
|
|
|
Install Serverdb <serverdb> on <servernode>
|
|__________________________________________________________________________|
|
|
|
|
| MAXBACKUPDEVS
2
|
| MAXSERVERTASKS
4
|
| MAXUSERTASKS
50
|
| MAXCPU
1
|
| DATA_CACHE_PAGES
200
|
| PROC_DATA_PAGES
130
|
| PROC_CODE_PAGES
76
|
| TEMP_CACHE_PAGES
30
|
| CATALOG_CACHE_PAGS
816
|
| LOG_QUEUE_PAGES
50
|
| LOG_CACHE_PAGES
100
|
| CONV_CACHE_PAGES
100
|
|
|
|
_____________________________________________________________
|
|
|
|
|
|
| Maximum Number of backup devices (e.g. tape devices) used |
|
|
| in parallel for SAVE/RESTORE
|
|
|
|___________________________________________________________|
|
|
|
|
________
|
|
|
| Next | | Prev |
| Explain |
| Print |
| Cancel |
|
|
|______| |______|
|_________|
|_______|
|________|
|
| |
_______
|
__________
|
|
________
|
|
|
|
_________
|
|
|
|
|__________________________________________________________________________|
Fig. Installation Screen 2
All parameters are set to default values. In a window above the functional buttons, a description is output
for the parameter on which the cursor is placed. The parameters can be changed by overwriting them.
EXPLAIN can be used to display the computation formula of the numeric parameters and their
dependencies of the other parameters. To obtain the second parameter screen, use the Next button or the
Enter key.
Configuration Parameters
MAXBACKUPDEVS
Saving and restoring the database log can be accelerated with several tape devices used in
parallel. This parameter defines the maximum number of parallel tape devices.
MAXSERVERTASKS
Servertasks in a distributed configuration help to process SQL statements of other serverdbs.
Servertasks in a stand-alone configuration accelerate the save and restore operations.
MAXUSERTASKS
19
Operating and Installation
Adabas D: Control
This parameter restricts the number of simultaneously active user sessions on this serverdb.
MAXCPU
This parameter is only of interest for multi-CPU machines. The number of UKPs (UKTs)
reserved for user tasks is set by the system to one for each CPU made available here. These user
tasks use up far and away the most processing power taken up by the database.
UKPs/UKTs are the so-called "user kernel processes" (Unix) or "user kernel threads"
(Windows). There are also UKPs that do not contain user tasks (despite the name), and as these
demand far less CPU resources, they are not influenced by this parameter.
As these UKPs/UKTs are often quite aggressive in their usage of CPU resources, it can be very
useful to have some control over them, to reserve resources for other tasks running within and
outside of Adabas. For a four-CPU dedicated database server, a good choice would be to set
MAXCPU to three. If "foreign" important CPU-intensive tasks are to be run on the system as
well, it might be necessary to set MAXCPU to an even lower ratio, 50% or even 25%, e.g. 1 on
a dual-processor system.
For a single-processor computer MAXCPU must be set to 1.
DATA_CACHE_PAGES
This parameter defines the size of the data cache. The specification is made in 4 KB pages.
PROC_DATA_PAGES
This parameter defines the total size of the proc data cache. The specification is made in 4 KB
pages.
PROC_CODE_PAGES
This parameter defines the size of the dbproc code cache. The specification is made in 4 KB
pages.
TEMP_CACHE_PAGES
This parameter defines the size of the temp cache. The specification is made in 4 KB pages.
CATALOG_CACHE_PAGES
This parameter defines the size of the catalog cache. The specification is made in 4 KB pages.
LOG_QUEUE_PAGES
This parameter defines the size of the buffer for the write processes of the log. The specification
is made in 4 KB pages.
LOG_CACHE_PAGES
This parameter defines the window size for the last log written. The specification is made in 4
KB pages.
20
Adabas D: Control
Operating and Installation
CONV_CACHE_PAGES
This parameter defines the size of the converter cache. The specification is made in 4 KB pages.
Here you can continue"Install Serverdb from an Existing Data Backup" using the Restore button. How
this is done, is described in the next section.
___________________________________________________________________________
|
|
|
Install Serverdb <serverdb> on <servernode>
|
|__________________________________________________________________________|
|
|
| MAXLOCKS
2500
|
| PNOPOOLSIZE
10000
|
| RUNDIRECTORY
/u/rel10/usr/wrk/DBDEMO
|
| OPMSG1
/dev/syscon
|
| OPMSG2
/dev/null
|
| DIAGSIZE
100
|
| KERNELTRACESIZE
200
|
| DEFAULT CODE
ASCII
|
| DATE TIME FORMAT
INTERNAL
|
|
|
__________________________________________________________________
|
|
|
|
|
|
|
| Name of the destination to which priority 1 message will be sent |
|
|
|__________________________________________________________________|
|
|
|
|
________
|
|
|
| Next | | Prev |
| ReadConf |
| Print |
| Cancel |
|
|
|______| |______|
|__________|
|_______|
|________|
|
| |
_______
|
___________
|
|
________
|
|
|
_________
|
|
|
|
|
|
|
|__________________________________________________________________________|
Fig.: Installation Screen 3
MAXLOCKS
This parameter defines the maximum size of the lock list in which row and table locks held and
requested are recorded for all users.
PNOPOOLSIZE
This parameter defines the number of entries for the list of free data pages. This list is
administered in main memory.
RUNDIRECTORY
The log files of some Adabas tools are stored in the specified directory.
OPMSG1
To inform about exceptional situations, Adabas displays messages. Priority 1 messages are
displayed either on the specified terminal or output to the specified file.
OPMSG2
21
Operating and Installation
Adabas D: Control
To inform about exceptional situations, Adabas displays messages. Priority 2 messages are
displayed either on the specified terminal or output to the specified file.
DIAGSIZE
This parameter defines the size from which the kernel diagnose file will be overwritten. The
default directory of the kernel diagnose file which is called knldiag is the rundirectory. The
specification is made in 4 KB pages.
TRACESIZE
This parameter defines the size from which the kernel trace file will be overwritten. The default
directory of the kernel trace which is called knltrace is the rundirectory. The specification is
made in 4 KB pages.
DEFAULT CODE
The internal code defined here is used to store CHAR values. For open systems, this is usually
the ASCII code.
DATE TIME FORMAT
This parameter is used to define the default representation of DATE and TIME values.
In the next screen, the time values, the LOG, and the DEVSPACEs must be specified. And it must be
defined whether the serverdb is to be installed as a remote serverdb; i.e., whether it will operate with other
serverdbs in a distributed database configuration.
___________________________________________________________________________
|
|
|
Install Serverdb <serverdb> on <servernode>
|
|__________________________________________________________________________|
|
|
| TIMEOUTS
-----------------------------------------------|
|
SESSION
900
|
|
LOCK
360
|
|
REQUEST
180
|
|
DEVSPACES
-----------------------------------------------|
|
LOG MODE
NORMAL
|
|
LOG SEGMENT SIZE
1500
|
|
NO OF ARCHIVE LOGS
1
|
|
NO OF DATADEVSPACES
2
|
|
MIRRORED
(Y/N)
N
|
|
|
|
__________________________________________________________________
|
|
|
| |
|
| ROLLBACK RELEASE when the time between two SQL commands is
| |
|
| more than the SESSION TIMEOUT
| |
|
| ( 30 sec - 32400 sec or 0 = OFF )
| |
|
|__________________________________________________________________| |
|
|
|
________ _______
___________
________
_________
|
|
|
| |
| |
| |
| |
|
|
|
| Next | | Prev | | ReadConf | | Print | | Cancel |
|
|
|______| |______| |__________| |_______| |________|
|
|
|
|__________________________________________________________________________|
Fig.: Installation Screen 4
SESSION TIMEOUT
This parameter defines the maximum time of inactivity allowed for all database sessions. The
specification is made in seconds. If no SQL statement is issued within the specified time, the
database session concerned is implicitly terminated with ROLLBACK WORK RELEASE.
LOCK TIMEOUT
This parameter defines the maximum time of inactivity allowed for all database sessions holding
locks. The specification is made in seconds. If no SQL statement is issued within the specified
time and if there are other users waiting for the lock to be released, the transaction concerned is
22
Adabas D: Control
Operating and Installation
implicitly rolled back with ROLLBACK WORK.
REQUEST TIMEOUT
This parameter restricts the waiting time for a lock release for all database sessions. The
specification is made in seconds. If a lock request cannot be satisfied within the time thus
defined, a message is returned to the waiting database session.
DEVSPACES
The type (raw device or file), the size (in 4 KB pages), and a path name are specified here for
each devspace required for a configuration. 0 specified as size for raw devices has the effect that
the devspace size is implicitly determined.
LOG MODE
Here, you enter the log mode selected for this serverdb.
NORMAL:
This log mode is the recommended default mode. It requires one archive log
devspace in addition to the transaction log. The archive log must be located on
disks different from all the other devspaces (system devspace, transaction log
devspace, data devspaces). A minimum configuration for this log mode therefore
requires at least two (physical) disks. Recovery operations after a device failure
depend on which of the two devspaces was affected by the failure.
DUAL:
For a still higher degree of data protection, the archive log can be mirrored. The
minimum configuration comprises at least three disks: one for the transaction log,
one for the archive log, and one for the mirrored archive log. This configuration has
the following advantages: a failure of the transaction log devspace or of one of the
archive log devspaces does not interrupt database operation, and once the defective
devspace has been repaired, it can be updated while the database is operational.
SINGLE:
In this configuration, the archive log and the transaction log build a common log
devspace. This is useful for Adabas configurations with one disk. The log should be
saved in defined periods of time. If a device failure occurs, the contents of database
and of the log devspace are destroyed. The database can then be restored by using a
complete backup and further log backups (Restore / Data Restore / Log). In such a
case, only the contents of the log not yet saved and open transactions cannot be
recovered.
DEMO:
In this configuration, there is no archive log, and only the transaction log is written.
In contrast to log mode SINGLE, the transaction log is cyclically overwritten to
prevent it from being filled completely. Therefore, the log cannot be saved.
LOG SEGMENT SIZE
23
Operating and Installation
Adabas D: Control
Here, you define the size of a log segment. The specification is made in 4 KB pages.
NO OF ARCHIVE LOG DEVSPACES
Here, you define the number of archive log devspaces.
NO OF DATA DEVSPACES
Here, you define the number of data devspaces.
MIRRORED
Here, you determine whether or not the system devspace and the data devspaces are to be
mirrored.
Depending on the specification of the number of DEVSPACEs ("NO OF ARCHIVE LOGS"
and "NO OF DATADEVSPACES"), the following screen is initialized with the corresponding
number of lines. If MIRRORED was marked with Y, double the number of lines appears for the
system and data devspaces. In total, 64 DATADEVSPACEs and 7 ARCHIVE LOGs are
supported.
An R in the column TYPE indicates a raw device, an F indicates a file, and an L indicates a
symbolic link. For the device type F, Control itself creates the specified directories if they do not
exist.
The SIZE is specified in 4KB pages. For raw devices with the size specification 0, the total size
of the device is automatically determined. The size of the system devspace cannot be specified,
because it is dynamically adapted by the system to the number of data pages used.
___________________________________________________________________________
|
|
|
Install Serverdb <serverdb> on <servernode>
|
|
|
|
NAME
TYPE
SIZE
DEVSPACE PATH
|
|
_______________________________________________________________________|
|
SYSTEMDEV
F
/u/dev/SYS1
|
|
TRANS LOG
R
3000
/dev/log0DB1
|
|
ARCHLOG 1
R
3000
/dev/log1DB1
|
|
DATDEV 01
L
50000
/u/dat01DB1
|
|
DATDEV 02
R
50000
/dev/dat02DB1
|
|
|
|
__________________________________________________________________
|
|
|
| |
|
|Please enter a DEVSPACE name with absolute path
| |
|
|__________________________________________________________________| |
|
|
|
________ _______
_____
________
_________
|
|
|
| |
| |
| |
| |
|
|
|
| Next | | Prev | | Ok | | Print | | Cancel |
|
|
|______| |______| |____| |_______| |________|
|
|
|
|__________________________________________________________________________|
Fig.: Installation Screen 5
When this screen has been filled completely and confirmed with "Ok", the actual installation begins.
Control allows for a step-by-step installation or an uninterrupted installation without explicit confirmation.
For the first installation, it is recommended to choose the automatic variant without confirmation. The
step-by-step installation is useful if only a partial installation is to be performed first. This is described in
section Stepwise Serverdb Installation.
___________________________________________________________________________
|
|
|
***** START INSTALLATION *****
|
|
|
|
|
|
Press "Install" to run the whole installation without interrupts
|.
|
Press "Stepwise" for installation with interactive interrupts.
|
|
Press "Restore" to install the SERVERDB from an existing data save. |
|
Press "Cancel" to go back to parameter manipulation.
|
|
|
|
___________ ____________ ___________ ___________
|
|
|
| |
| |
| |
|
|
|
| Install | | Stepwise | | Restore | | Cancel |
|
|
|_________| |__________| |_________| |_________|
|
|
|
|__________________________________________________________________________|
24
Adabas D: Control
Operating and Installation
Fig.: Installation Start Screen
After selecting the Install button, the automatic installation begins without user dialog. The progress of the
installation can be seen from the position of the arrow and the status message ACTIVE. If an installation
step was terminated successfully, the status "Ok" is displayed and the next action becomes ACTIVE.
___________________________________________________________________________
|
|
|
Install Serverdb <serverdb> on <servernode>
|
|__________________________________________________________________________|
|
|
|
|
|
---> INSTALL PARAMETERS.............. ACTIVE
|
|
START SERVERDB COLD............. -|
|
INIT CONFIGURATION.............. -|
|
ACTIVATE SERVERDB............... -|
|
LOAD SYSTEM TABLES.............. -|
|
|
|
|
|__________________________________________________________________________|
Fig.: Status Screen 1
If the status changes to ERROR, an error occurred. Select the Protocol button to display the installation
log file. CANCEL can be used to return to Installation Screen 5. Use Next and Prev to alternate between
the Installation Screens to adjust the parameters so as to avoid the error situation when you restart the
installation.
If the installation was aborted completely, it can be repeated at a later point in time. For the next call of
Control, the message "INST NOT COMPLETE" is displayed in the Main Screen. Configuration / Install
Serverdb can be used to start a new installation for which the values previously entered are displayed.
When the installation has reached the point "LOAD SYSTEM TABLES" in the Status Screen 1, the
following screen displayed to output more detailed information about the installation procedure:
___________________________________________________________________________
|
|
|
Load System Tables for Complete Installation
|
|__________________________________________________________________________|
|
|
|
|
|
---> Create general systemtables...............
OK
|
|
Load messages and help infos..............
ACTIVE
|
|
Load SET defaults.........................
--
|
|
Load system tables for precompilers.......
--
|
|
Load system tables for QUERY..............
--
|
|
Load system tables for SQL-PL.............
--
|
|
Load SQL-PL WORKBENCH.....................
--
|
|
Load system tables for QueryPlus..........
--
|
|
Create system views.......................
--
|
|
Create ODBC tables........................
--
|
|
Load data dictionary META DATA............
--
|
|
Load system DB-PROCEDURES.....
|
|
|
|__________________________________________________________________________|
Fig.: Status Screen 2
If an error occurs, the installation is aborted and the status ERROR appears behind the action just
performed. Select the Protocol button to display the LOAD log file.
If all actions were performed free of errors, all lines end with "OK" and the display changes to the Control
Main Screen.
25
Operating and Installation
Adabas D: Control
Stepwise Serverdb Installation
If Stepwise is activated in the Installation Start Screen, a message is displayed for each executed item
contained in the Status Screen. This display allows you to interrupt the installation procedure.
Step 1: INSTALL PARAMETERS
After installing the serverdb kernel parameters (Install Parameters), the minimum values for the
configuration parameters of the operating system kernel are displayed for a check.
Example under Unix:
___________________________________________________________________________
|
|
|
INSTALL PARAMETERS Protocol
|
|
|
|__________________________________________________________________________|
|
|
|
NPROC
39
|
NREGION
|
117
|
|
NCALL
39
|
|
MAXUP
39
|
|
MSGMNI
1
|
|
SEMMNI
27
|
|
SEMMAP
27
|
|
SEMMNS
27
|
|
SHMMNI
7
|
|
SHMSEG
7
|
|
SHMMAX
4083974
|
|
SHMALL
4157702
|
|
Minimum size of real memory needed for the database kernel
|
|
to prevent swapping or paging. Memory needs of the OS
|
|
kernel or running applications are not considered.
|
|
RAMSIZE_MB
|
|
16
____________
_________
|
|
|
|
|
|
|
|
|Continue
|
| Cancel
|
|
|
|___________|
|_________|
|
|
|
|__________________________________________________________________________|
Fig.: Step Screen 1
The operating system kernel must be adapted to these requirements, if necessary. To do so, interrupt the
installation procedure at this point, change the operating system kernel, and repeat the installation (see
Section Configuration / Install Serverdb).
Step 2: START SERVERDB COLD & INIT
___________________________________________________________________________
|
|
|
|
|
|
|
Please press "Continue" for INIT CONFIGURATION
|
|
|
|
If you press "Cancel", the installation is not complete -
|
|
to complete the installation start Install Serverdb again.
|
|
|
|
____________
_________
|
|
|
|
|
|
|
|
| Continue
|
| Cancel
|
|
|
|___________|
|_________|
|
|
|
|__________________________________________________________________________|
26
Adabas D: Control
Operating and Installation
Fig.: Step Screen 2
The second step initializes the serverdb with the selected configuration after starting the serverdb into cold
mode.
Step 3: ACTIVATE SERVERDB
If the installation is continued using Continue, the following screen displayed after initializing the
configuration:
___________________________________________________________________________
|
|
|
|
|
|
|
Please press "Continue" for ACTIVATE SERVERDB
|
|
|
|
Press "Restore" to install the SERVERDB from an existing data save
|
|
If you press "Cancel", the installation is not complete -to complete
|
|
the installation start Configuration/Activate Serverdb or
|
|
Backup/Restore to install from an existing data save.
|
|
____________
___________
|
|
|
|
|
| Continue
|
|
|___________|
|
_________
|
|
|
|
| Restore |
| Cancel
|
|
|_________|
|_________|
|
|
|
|__________________________________________________________________________|
Fig.: Step Screen 3
At this point, the installation can be loaded from an existing data backup version using the Restore button
or the serverdb can be activated without loading data using the Continue button. Make sure that the data
backup to be loaded with restore is consistent. Afterwards, the serverdb is in COLD operating mode and
must be started into WARM operating mode.
Step 4: LOAD SYSTEM TABLES
If the installation is continued with Continue, Activate Serverdb is performed and after that, the question
is displayed whether the system tables are to be loaded. For a restore, it is not necessary to load the system
table.
___________________________________________________________________________
|
|
|
|
|
|
|
Please press "Continue" for LOAD SYSTEM TABLES
|
|
|
|
If you press "Cancel", the installation is not complete -
|
|
to complete the installation start Configuration/Load Systables.
|
|
____________
_________
|
|
|
|
|
|
|
|
| Continue
|
| Cancel
|
|
|
|___________|
|_________|
|
|
|
|__________________________________________________________________________|
Fig.: Step Screen 4
This is the last installation step.
27
Operating and Installation
Adabas D: Control
Installing the Serverdb from an Existing Data Backup
When installing the serverdb from an existing data backup, it must be ensured that the space requirements
of the data have been determined beforehand (e.g. by using the "SELECT maxdatapno FROM
SERVERDBSTATISTICS" issued in xquery or another tool). The space required must be ensured by the
configuration of the sizes of the data devspaces.
There are two ways to install a database from an existing data backup:
1. Using the Configuration and the Data of the Backup
By clicking on the ReadConf button in one of the Installation Screens and the Restore button in the
Start Screen. In this case, the configuration parameters can be modified, if required.
2. Using the Data only (not the Configuration) of the Backup.
By clicking on the Restore button in the Start Screen.
In both cases, the Media Manager is displayed to define the medium which contains the data backup.
Using the Configuration and the Data of the Backup
First, the procedure is identical to that of installing a new serverdb. Control is called with the new
serverdb name, user specifications are entered in the Installation Screen 1. After entering the kernel
parameters in the Screens 2 and 3, the Restore button which is only displayed in Screen 3 must be pressed.
___________________________________________________________________________
|
|
|
Install Serverdb <serverdb> on <servernode>
|
|
|
|__________________________________________________________________________|
|
|
|
OPMSG1
/dev/syscon
|
|
OPMSG2
/dev/null
|
|
DEFAULT CODE
ASCII
|
|
DATE TIME FORMAT
INTERNAL
|
|
|
|
____________________________________________________________________
|
|
|
|
|
|
Name of the destination to which priority 1 message will be sent |
|
|
|___________________________________________________________________|
|
|
|
|
|
|
|
________
|
|
|
| Next | | Prev |
| Restore |
|
|______| |______|
|_________|
| |
_______
|
__________
|
|
________
_________
|
|
|
| Print |
| Cancel |
|
|_______|
|________|
|
|
|
|
|
|
|
|
|__________________________________________________________________________|
28
Adabas D: Control
Operating and Installation
Fig.: Installation Screen 3
A Status Screen appears displaying the saving of the kernel parameters and the start of the serverdb.
___________________________________________________________________________
|
|
|
Init Config Restore <serverdb> on <servernode>
|
|__________________________________________________________________________|
|
|
|
|
|
---> INSTALL PARAMETERS..............
|
START SERVERDB COLD.............
ACTIVE
|
--
|
|
|
|__________________________________________________________________________|
Fig.: Status Screen for Init Config Restore
If the serverdb was started successfully and is in COLD mode, the Media Manager is displayed to define
the medium containing the data backup.
After selecting the defined medium, the configuration is read from the backup and displayed. Then the
configuration can be modified. After confirming the configuration, it is accepted, and the data is restored
from the backup. If the backup is read from a pipe, ensure that after restarting the serverdb, the pipe is
restarted.
The following procedure corresponds to that of Alter Config Restore. For Alter Config Restore, the
configuration of the current database (not that of the saved database) is displayed for change.
Using the Data only (not the Configuration) of the Backup
All Installation Screens must be filled completely. To do so, the required sizes of the saved serverdb
configuration must be known. The installation must be executed step by step so that the restore procedure
(see Section Stepwise Database Installation) can be performed after the "Initialize Configuration" step.
___________________________________________________________________________
|
|
|
***** START INIT CONFIG RESTORE *****
|
|
|
|__________________________________________________________________________|
|
|
|
Press "Normal" for quick restore from a 6.1 save.
|
|
Press "Migrate" for sequential restore from a 3.1.2 save.
|
|
Press "Cancel" to go back to parameter changes.
|
|
|
|
|
|
_________
_________
|
|
|
|
|
| Normal
|
|
|_________|
__________
|
|
|
|
|
| Migrate |
| Cancel
|
|
|_________|
|__________|
|
|
|
|
|
|__________________________________________________________________________|
Fig.: Start Screen for Init Config Restore
If you click on the Restore button in the Installation Start Screen, you can use a backup of Adabas version
3.1.2 for installation. When doing so, the media are loaded sequentially which will take more time than
the normal parallel restore operation.
29
Operating and Installation
Adabas D: Control
The Additional Installation of Control
If Control is called for the first time on a serverdb that was installed without Control, the Systemdba is
requested first because he holds the system tables. For the additional installation of Control, the existing
local serverdb must be in WARM mode.
___________________________________________________________________________
|
|
|
|
|
Type SYSDBA
|
|
|
|
___________________________________________________________________
|
|
|
|
Username:
Password:
|
|
|
|
|
|
_____
_________
|
|
|
|
|
|
|
|
| Ok
|
| Cancel
|
|
|
|_____|
|_________|
|
|
|
|__________________________________________________________________________|
Fig.: Input Screen for Systemdba Definition
After acknowledging the screen, the Control system files and system tables are created, and the Main
Screen of CONTROl is displayed.
Warning:
If you leave the screen with Cancel, the systemdba is unknown to
Control and the system tables cannot be created.
The Main Screen
After a successful connect, the Main Screen is displayed showing the most important round-the-clock
system activities of the Adabas server:
30
Adabas D: Control
Operating and Installation
Fig.: Main Screen of Control
The data fields in the Main Screen have the following meanings:
<Serverdb>
Name of the server database.
<Servernode>
Name of the computer within the network where the database server is installed.
<Date> <Time>
Date and time at which the displayed data was found out.
Usage Levels (in Bar Form)
Data
describes the current utilization level of the database. This measured value informs the operator
whether the physical disk space must be expanded soon. The Adabas server performs an
"emergency shutdown"; i.e., it shuts down automatically when the usage level of the database is
100%.
Log
describes the current utilization level of the log. The database server shuts down ("emergency
shutdown") when the usage level of the log is 100%.
The operator should therefore observe the log usage in order to start a manual backup of the log
or of a log segment, if this should become necessary.
After a save of a log segment, the utilization level of the log will be decreased accordingly.
Sessions
describes the percentage use of the configured database server connections. When the maximum
value is reached, no more connections can be established to the database server. Application
programs attempting to connect to the database server receive a corresponding error message.
This maximum value can be decreased or increased using the Configuration / Alter Parameters /
Kernel menu function, by modifying the system parameter MAXUSERTASKS (see Section
Installing a New Serverdb for "Configuration Parameters").
Other Information
Serverdb State
describes the current operating mode of the database server. The following table shows all
operating modes of the Adabas server and their meanings:
31
Operating and Installation
OFFLINE:
The Adabas server is not running. The database server kernel has
not been started yet. Usually, the operator starts the database system
directly in warm mode using theOperating / Restart menu function.
COLD:
The Adabas server has been started successfully. All system
parameters which were changed using the Configuration / Alter
Parameters menu function are effective. Database activities are not
possible. Only in this mode, some maintenance activities such as
restoring the database or log, or modifying certain system
parameters can be performed.
Adabas D: Control
WARM: This is the normal operating mode in which users can work with the
Adabas server.
Background
shows whether a backup, a verify devspaces, or an update statistics is active in background.
Log Segments
shows whether a log segment is full and thus ready for saving.
Autosave Log
shows whether the automatic log backup has been enabled.
Remote SQL
shows whether the remote SQL server has been started, thus allowing users to access the server
database from other computers.
Serverdb Monitoring
The following sizes refer to the start point of the serverdb or the last counter reset (see also
Section Options / Reset Counter).
SQL-Commands
shows the number of SQL statements issued since the last counter reset or serverdb start.
Logical Reads
shows the number of read accesses to the data cache performed since the last counter reset or
serverdb start.
Logical Writes
shows the number of write accesses to the data cache performed since the last counter reset or
serverdb start.
Data Cache Hit Rate
32
Adabas D: Control
Operating and Installation
shows the percentage hit rate of accesses to the data cache since the last counter reset or
serverdb start. The hit rate should be as close to 100% as possible. For an unfavourable hit rate (under
99%), you should search for the reasons.
Converter Cache Hit
shows the percentage hit rate of accesses to the converter cache. The converter cache hit rate
should be as close to 100% as possible. If necessary, the system parameter
CONV_CACHE_PAGES (see Section Installing a New Serverdb for "Configuration
Parameters") can be increased using the Configuration / Alter Parameters / Kernel menu
function.
33
Backup Concepts and Strategies
Adabas D: Control
Backup Concepts and Strategies
This chapter covers the following topics:
Concepts
Backup / Restore - a Practical Guide
Batch Mode: xbackup / xrestore
External Backup Tools
Concepts
Control supports the backup and restore procedures in a convenient way. These procedures can be
activated immediately; or they can be performed at fixed times based on a weekly timetable. If desired, a
segment of the archive log is automatically saved to a particular medium whenever the log segment has
been completed.
Ad-hoc Backups
In WARM and COLD database mode, Control provides the following kinds of interactive
backups under the Backup/Save menu item (see Section Backup / Save):
Data (physically complete),
Updated Pages (physically incremental),
Log (logically incremental),
Log Segment (logically incremental).
Automatic Backup of Log Segments
The oldest log segment can be automatically backed up in Control as soon as the log segment
has been completed. For this purpose, the automatic backup of the log can be enabled or
disabled in Control either under the Options / Autosave Log menu item or in the schedule using
the actions AUTOON and AUTOOFF. For the automatic backup of log segments, a separate
backup device must be used which must be accessible to the backup process at any time.
Backups in the Schedule Manager
The schedule under the Backup / Schedule Manager menu item can be used to plan the same
actions as for an ad-hoc backup:
SAVEDATA (physically complete),
SAVEPAGES (physically incremental),
34
Adabas D: Control
Backup Concepts and Strategies
SAVELOG (logically incremental),
SAVELOGSEG (logically incremental),
AUTOON and AUTOOFF.
Verification and Optimizer Support in the Schedule Manager
Verify and UPDSTAT (Update Statistics) must be performed from time to time to guarantee
secure database operation and good performance. See Sections Concepts, Consistency Check
and Optimizer Support, Backup / Save / Verify Devspaces, or Operating / Update Statistics.
Automatic backup of log segments as well as backup, verification, and optimizer support in the schedule
are performed in batch operation; i.e., the parameters must be defined before starting the action or when
defining them using the Schedule Manager.
Backup Media
One backup medium is assigned to each backup action. A backup medium can be a file, a tape, or a pipe.
A backup medium is defined in the Media Manager and receives a name that can be selected freely.
Media can be comprised to form a group of parallel mediaand be named. Parallel media are
simultaneously written or read by the database server. This increases data throughput - and thus the speed
of backup or restore. The name of a group of parallel media appears as an additional backup medium and
can be assigned to a backup action like an individual backup medium.
If the capacity of the tapes is sufficient for the backup, no intervention of an operator is required during
the backup. Control requests more tapes if the backup has not been terminated although the tape is full.
For this purpose, the Media Size must have been specified for the media definition or the tape device must
be able to recognize the end of tape. A backup can be done to one backup medium as a minimum.
Backups Performed Using Third-Party Backup Tools
Several external backup tools are supported, for example, ADSM (ADSTAR Distributed Storage
Manager). Special names must be used for a backup medium. A detailed description of the tools supported
is contained in Section External Backup Tools.
Control does not require any operator intervention during the backup. The sequence of the tapes for a
restore is defined by the backup tool of the manufacturer.
If the group of parallel media is denoted by a predefined name appropriate for the external backup tool
and if the individual media definitions contain the path of the pipe, then a "parallel" backup is also
possible to external backup tools.
Backup Generations
In practice, it can happen that structural or media failures are already contained in the backup of a
serverdb or tape. In such a case, as sometimes for organizational reasons, it is necessary to restart with a
previous state of the database.
This is possible if several backup generations are used. A backup generation consists of a complete
backup and any number of subsequent incremental physical and logical backups. The next complete
backup starts a new backup generation.
35
Backup Concepts and Strategies
Adabas D: Control
The administration of several backup generations provides several reentry positions for the recovery of a
serverdb thus increasing data protection.
The backup generations are denoted by letters; they are part of the label identifying a backup. The number
of backup generations can be defined under the Backup / Generations menu item.
Medium Label
Each backup version contains a label for its identification. The label is automatically provided by Control.
It specifies the type of backup (complete or incremental backup of data or log), the backup generation, the
sequence number of the last completed log segment, a version number, and a sequence number of each
tape.
The version number puts the backups in an order relevant for a restore. For Save / Log Segment, the
version number indicates the time when the log segment was completed; for all the other types of backup,
the version number is equivalent to the generation time of the backup.
The medium label uniquely identifies the backups done since the installation of the database. It must be
written down on the sticker of the tape or cassette after the backup terminates.
Example 1: Labels for the first backups after a first installation of the database
Example 2: Labels between the first two complete backups. The tape for the automatic
backup of log segments became full, and the backup was only restarted after the second
complete backup.
36
Adabas D: Control
Backup Concepts and Strategies
Exaqmple 3: Labels between two complete backups. To save the log between the complete
backups, the Save / Log menu function is used instead of the automatic backup of the log
segments.
37
Backup Concepts and Strategies
DATA_A0_A
First complete backup of the database (SAVEDATA), first generation
(A), first tape (A).
DATA_D0_A
Complete backup of the database (SAVEDATA) of the fourth
generation (D).
DATA_A1_A
Incremental backup of the data (SAVEPAGES), the first tape (A) of it.
When this backup is used for a recovery, a consistent database is
restored without having to load another backup of the log.
Adabas D: Control
LOG_A2_1 Backup of the log after a log segment was completed.
DATA_B0_B
Complete backup of the database of the second generation (B), the
second tape of it written simultaneously with or after the first tape.
LOG_B1_1 Backup of the log of the second generation (B); for a restore, it must be
loaded after the DATA_B0_A backup (and following: DATA_B0_B
...), unless there is a SAVEPAGES backup.
DATA_B2_A
SAVEPAGES backup of the second generation; for a restore, it can be
loaded after the DATA_B0_A backup (and following: DATA_B0_B
...) instead of the log.
For a backup started immediately, the label is displayed in the protocol file at the end of backup. When
restoring, the label is displayed for confirmation before the restore procedure starts; it is also included in
the protocol files where each save and restore action is recorded. Later, after concluding the backup, the
label can be read at any time by means of the Media Manager.
Before you start an immediate backup to tape, you should always read the label of the backup that could
already be on the tape. In this way, you can make sure that the backup is written to a tape belonging to the
same generation, which is recommended.
You should always use the same tape for each type of save and generation. After some time, the sticker of
a SAVEDATA backup written to the tape could look as follows:
Example:
Sticker of the first tape of a SAVEDATA backup of the first generation (A), after using the tape six times.
Of course, you must take care that the tapes and cassettes are not used more often than is recommended by
the manufacturers.
38
Adabas D: Control
Backup Concepts and Strategies
Rules for Medium Labels
1. Data backups (Save / Data or Save / Pages) are identified by "DATA"; log backups (Save / Log or
Save / Log Segment) by "LOG". The identification of the backup is part of the backup label.
2. Each backup belongs to a backup generation. The generation of the backup can be recognized by the
generation letter. All backups with the same letter belong to the same generation. The generation
letter is part of the backup label. A complete backup of the database starts the next backup
generation. The next letter is used.
3. Up to 26 backup generations can be defined (A, ... Z). For n generations defined, the (n+1)st "Save /
Data" is started again with the medium label DATA_A.
4. The log segments of a database are counted sequentially starting at the time of database installation.
A database without an explicitly defined log segment size is considered as a database with one log
segment. Each backup is assigned the number of the last completed log segment. The first log
segment has the number 1.
5. Data backups can be written to several tapes either in parallel or consecutively. Up to 32 backup
media can be operated in parallel. The tape devices accessed by the backup media can be supplied
with tapes several times. The sequence number of the tape is part of the backup label. Backups of the
log can only be written consecutively.
Formal Description of the Medium Labels
<medium label> ::= <save kind>_<generation>_<log>_<version>_<count>
<save kind> ::=DATA | LOG
<generation> ::=A .. Z
<version>::=0 .. 32676
<count>::=A..Z | 1..32
where A..Z for DATA and 1..32 for LOG
Examples of a Backup Scheme
Example 1
1. Four backup generations
2. One Save / Data per week
3. Regular or automatic backups of the log segments (Autosave Log, AUTOON) between the complete
backups (Save / Data). Note that Autosave Log requires a tape device of its own.
4. Save / Pages in special application situations only
39
Backup Concepts and Strategies
Sat
1st
Sun
_________
_______
week |DATA_A_| |
|...
Adabas D: Control
Mon
Tue
Wed
Thu
Fri
_______
______
_______
_______
_______
| |LOG_A_| |LOG_A_| |LOGA_A_| |LOG_A_| |LOG_A_|
| |
| |...
| |...
| |...
| |...
| |...
|
|_______| |_______| |______| |______| |_______| |______| |______|
________
2nd
_______
|DATA_B_| |
_______
week |...
_______
_______
_______
________
| |LOG_B_| |LOG_B_| |LOG_B_ | |LOG_B_| |LOG_B |
| |
| |...
| |...
| |...
| |...
| |...
|
|_______| |_______| |______| |______| |_______| |______| |______|
________
3rd
_______
|DATA_C_| |
_______
week |...
_______
_______
_______
________
| |LOG_C_| |LOG_C_| |LOG_C_ | |LOG_C_| |LOG_C |
| |
| |...
| |...
| |...
| |...
| |...
|
|_______| |_______| |______| |______| |_______| |______| |______|
________
4th
_______
|DATA_D_| |
_______
week |...
_______
_______
_______
________
| |LOG_D_| |LOG_D_| |LOG_D_ | |LOG_D_| |LOG_D |
| |
| |...
| |...
| |...
| |...
| |...
|
|_______| |_______| |______| |______| |_______| |______| |______|
________
5th
_______
|DATA_A_| |
week |...
| |
_______
_______
_______
_______
________
| |LOG_A_| |LOG_A_| |LOG_A_ | |LOG_A_| |LOG_A |
| |...
| |...
| |...
| |...
| |...
|
|_______| |_______| |______| |______| |_______| |______| |______|
The recommended backup scheme consists of one complete backup per week (on Saturdays) and one or
more log segment backups per work day. Each week, the complete backup starts a new generation of
backup tapes (next letter in the alphabet). The number of generations can be defined and determines the
number of weeks in this scheme to be fallen back upon in case of restore.
In Section Backup / Schedule Manager, the recommended backup scheme is represented in form of a
timetable.
Example 2
1. Four backup generations
40
Adabas D: Control
Backup Concepts and Strategies
2. One Save / Data per week
3. Automatic backups of the log segments (Autosave Log, AUTOON) between the complete backups
(Save / Data). Note that Autosave Log requires a tape device of its own.
4. Save / Pages daily - preferably at the end of a work day
Sat
1st
Sun
_________
_______
week |DATA_A_| |AUTO|...
Mon
Tue
Wed
Thu
Fri
_______
______
_______
_______
_______
| |ON
| |LOG_A_| |LOG_A_| |LOGA_A_| |LOG_A_| |LOG_A_|
| |20:00 | |20:00 | |20:00
| |20:00 | |20:00 |
|_______| |_______| |______| |______| |_______| |______| |______|
________
2nd
_______
|DATA_B_| |
_______
week |...
_______
_______
_______
________
| |LOG_B_| |LOG_B_| |LOG_B_ | |LOG_B_| |LOG_B |
| |
| |20:00 | |20:00 | |20:00
| |20:00 | |20:00 |
|_______| |_______| |______| |______| |_______| |______| |______|
________
3rd
_______
|DATA_C_| |
_______
week |...
_______
_______
_______
________
| |LOG_C_| |LOG_C_| |LOG_C_ | |LOG_C_| |LOG_C |
| |
| |20:00 | |20:00 | |20:00
| |20:00 | |20:00 |
|_______| |_______| |______| |______| |_______| |______| |______|
________
4th
_______
|DATA_D_| |
_______
week |...
_______
_______
_______
________
| |LOG_D_| |LOG_D_| |LOG_D_ | |LOG_D_| |LOG_D |
| |
| |20:00 | |20:00 | |20:00
| |20:00 | |20:00 |
|_______| |_______| |______| |______| |_______| |______| |______|
________
5th
_______
|DATA_A_| |
week |...
| |
_______
_______
_______
_______
________
| |LOG_A_| |LOG_A_| |LOG_A_ | |LOG_A_| |LOG_A |
| |20:00 | |20:00 | |20:00
| |20:00 | |20:00 |
|_______| |_______| |______| |______| |_______| |______| |______|
The recommended backup scheme consists of one complete backup per week (on Saturdays) and one save
pages per work day. Each week, the complete backup starts a new generation of backup tapes (next letter
in the alphabet). The automatic backup of log segments is entered once in this example in order to be
complete. As the automatic backup only takes place once, it can be enabled interactively or entered once
in the schedule (see Section Backup / Schedule Manager).
Save pages is recommended in addition to save log segment, because, in most cases, it ensures
considerably faster recovery times than save log segment.
41
Backup Concepts and Strategies
Adabas D: Control
Backup / Restore - a Practical Guide
Saving to One Medium
The simplest kind of saving is when only one medium is required, providing the medium’s capacity is
sufficient.
Interactive Procedure:
1. Select the save action.
2. Select the medium.
3. Check the entries.
4. Start the save operation.
1. Select the Save Action (Example: Backup / Save / Data)
Select one of the save actions "Data", "Updated Pages" up to "Log Segment" under the Backup / Save
menu item.
A list of the defined media appears. If no media have been defined so far, they must be defined now. This
can be done with the Media Manager.
Example of several defined media:
______________________
_____________________
|
Save Data : Medium Selection
|
|
|
|
|
|
|
|
DAT90
T
Y 500000
/dev/rmt0
(
)
|
|
EXAMPLE
T
Y
0
/dev/rmt0
(
)
|
|
FILE
F
N
0
/backup/dblog.save
(
)
|
|
NREWTAPE
N
Y 500000
/dev/nrmt/c0s1
(
)
|
|
REWTAPE
T
Y 500000
/dev/rmt/c0s0
(
)
|
|
|
|
|
|
_____________________________________________________________
|
|
|
|
|
|
|
Please select a backup medium from the list
|
|
|
|
Use Buttons or Keys to handle media - otherwise Return.
|
|
|
|___________________________________________________________|
|
|
|
|
________
| |
______
|
|
________
|
|
|
______
|
|
______
|
_______
|
|
|
|
_________
|
|
|
| | Select |
| Drop |
| Edit |
| New |
| Next |
| Prev |
| Cancel |
|
| |________|
|______|
|______|
|_____|
|______|
|______|
|________|
|
|__________________________________________________________________________|
2. Select the Medium
To select the medium from the list of defined media, place the cursor on the desired medium and click on
the Select button or press the Enter key.
We recommend a tape (Device Type "T" or "R") as medium. However, any other medium listed in the
example can also be used. Pipes should only be used along with backup tools (see Section External
Backup Tools) or for ad hoc backups. Version files (Overwrite="V") can only be used along with the
automatic backup of log segments.
42
Adabas D: Control
Backup Concepts and Strategies
___________________________________________________________________________
|
|
|
Save Data
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
Medium
.....: DAT90
|
Device Type.....: T
|
Path: /dev/rmt0
|
Path2:
Next Medium
:
|
Parallel
:
|
|
|
|
|
|
Overwrite(Y/N/V): Y
Media Size in Pages.: 500000
|
|
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
________
|
|
________
|
|
|
|
| Label |
| Cancel |
|
|_______|
|________|
|
|__________________________________________________________________________|
3. Check the Entries
The screen with the selected medium definition is displayed for security reasons. Before continuing, you
can check which backup is on the mounted tape by displaying the label of the backup (using the Label
button).
Confirm the medium definition with Ok or the Enter key. (The Cancel button can be used to cancel the
save operation.)
Data can still be modified, if required, (after pressing the F12 key). The Media Manager, however, does
not store these changes as permanent medium definition. For modifications of media definitions, the
interrelations within the Media Manager must be considered.
A screen displayed containing the data for the media and the backup label.
___________________________________________________________________________
|
|
|
|
|
|
|
Device:
/u/rmt0
|
|
Type:
T
|
|
Size:
500000
|
|
Label:
DATA_A0_A
|
|
|
|
|
|
_____
|
|
|
|
|
________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
4. Start the Save Operation
For tapes selected as media, you must now mount the tape to the tape device if this has not been done yet,
because otherwise the backup will fail. Then you can confirm the screen. To start the backup, click on the
Ok button (or press the Enter key).
When the backup terminates, the result protocol is displayed. As long as the backup is being performed,
no other backup can be started. Only after confirming the result protocol, you can start another backup.
43
Backup Concepts and Strategies
______________________________
|
Adabas D: Control
_____________________________
mydb on mynode
|
|
|
|
|
| Report of backup operations
2002-02-18 16:14:26
|
|
|
| ----- Control 12
2002-02-18 16:14:08
SAVE ------
|
| USE SERVERDB ’mydb’ on ’mynode’
|
| 16:14:09
|
| INSERT LABEL ’/dev/rmt0’,’A’
|
| 16:14:17
|
| SAVE DATA QUICK TO ’/dev/rmt0’ TAPE COUNT
500000 BLOCKSIZE 8
|
| 16:14:24
|
| Label: DATA_A0_A
|
| COMMIT WORK RELEASE
|
| SESSION END
|
|
|
|
________
| |
______
|
|
________
|
|
|
______
|
|
______
|
_______
|
|
|
|
_________
|
|
|
| | Select |
| Drop |
| Edit |
| New |
| Next |
| Prev |
| Cancel |
|
| |________|
|______|
|______|
|_____|
|______|
|______|
|________|
|
|__________________________________________________________________________|
44
Adabas D: Control
Backup Concepts and Strategies
Batch Call:
Syntax:
xbackup -a<action> -d<serverdb> -m<medium name>
Example:
xbackup -a SAVEDATA -d mydb -m DAT90
The complete description of the batch calls is included in Section Batch Mode: xbackup / xrestore.
To display the protocol file of the batch call, you can use the Backup / Show Protocol menu function.
Restoring from One Medium
The simplest kind of restoring is that from one medium only. The restore procedure corresponds to the
save procedure.
Interactive Procedure:
1. Select the restore action.
2. Select the medium.
3. Check the entries.
4. Start the restore operation.
1. Select the Restore Action (Example: Backup / Restore / Data)
Select one of the restore actions "Data", "Updated Pages" up to "Log Segment" from the Backup / Restore
menu item.
A list of the defined media appears.
Example of several defined media:
_______________________
|
_______________________
Save Data : Medium Selection
|
|
|
|
|
|
DAT90
T
Y 500000
/dev/rmt0
(
)
|
|
FILE
F
N
/backup/dblog.save
(
)
|
|
NREWTAPE
R
Y 500000
/dev/nrmt/c0s1
(
)
|
|
REWTAPE
T
Y 500000
/dev/rmt/c0s0
(
)
|
0
|
|
|
|
|
Please select a backup medium from the list
|
|
Use Buttons or Keys to handle media - otherwise Return.
|
|
|
| |
|
________
______
|
|
________
|
|
|
______
|
|
______
|
_______
|
|
|
|
_________
|
|
|
| | Select |
| Drop |
| Edit |
| New |
| Next |
| Prev |
| Cancel |
|
| |________|
|______|
|______|
|_____|
|______|
|______|
|________|
|
|__________________________________________________________________________|
45
Backup Concepts and Strategies
Adabas D: Control
2. Select the Medium
To select the medium from the list of defined media, place the cursor on the desired medium containing
the backup and click on the Select button or press the Enter key.
We recommend to select the same medium for the recovery that was used for the backup. In exceptional
situations, however, it can be necessary to restore from another medium. For example, the backup had
been done to a file that was meanwhile written to tape. In this case, you can restore directly from tape by
defining the corresponding tape device as the medium. (Or version files that had been generated for the
automatic backup of log segments were written to tape from which they can be restored directly.)
___________________________________________________________________________
|
|
|
Save Data
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
Medium Name.....: DAT90
Next Medium
:
|
|
Device Type.....: T
Parallel
:
|
|
Path: /dev/rmt0 Path2:
|
|
|
|
|
|
Overwrite(Y/N/V): Y
Media Size in Pages.: 500000
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
________
|
|
________
|
|
|
|
| Label |
| Cancel |
|
|_______|
|________|
|
|__________________________________________________________________________|
3. Check the Entries
The screen with the selected medium definition is displayed for security reasons. For tapes selected as
media, you must now mount the tape to the tape device if this has not been done yet, because otherwise
the backup will fail. Then you can confirm the media screen.
Confirm the medium definition with Ok or Enter. The Cancel button can be used to terminate the restore
operation.
Data can still be modified, if required, (after pressing the F12 key). The Media Manager, however, does
not store these changes as permanent medium definition.
Now a screen displayed showing the content of the label included on the medium to be restored to identify
the backup. The label (here "DATA_A0_A") is displayed for information and must be confirmed.
___________________________________________________________________________
|
|
|
|
|
|
|
created:
: 2002-02-22 12:10:12
|
|
version
: KERNEL 12
|
|
serverdb
: mydb
|
|
servernode: mynode.any.de
|
|
label:
|
: DATA_A0_A
|
|
|
|
|
_____
|
|
|
|
|
________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
46
Adabas D: Control
Backup Concepts and Strategies
4. Start the Restore Operation
Start the restore procedure by clicking on the Ok button (or by pressing the Enter key.
Control displays a bar to indicate the progress of the recovery. If the recovery terminates, the result
protocol is displayed.
______________________________
|
_____________________________
mydb on mynode
|
|
|
|
|
| Report of backup operations
2002-02-18 16:14:26
|
|
|
| ----- Control 12
2002-02-18
12:10:12
SAVE ------
|
| USE SERVERDB ’mydb’ on ’mynode’
|
| 12:10:12
|
| READ LABEL ’/dev/rmt0’
|
| created
: 2002-02-22 12:10:12
| version
: KERNEL 12
| serverdb
: mydb
|
DATE 2002-02-15
|
|
| servernode : mynode.any.de
|
| label
|
: DATA_A0_A
| 12:17:32
|
| RESTORE DATA QUICK FROM ’/dev/rmt0’ TAPE
|
|
|
200134 pages transferred
| 12:17:40
|
| COMMIT WORK RELEASE
|
| SESSION END
|
|
|
| |
|
________
______
|
|
________
|
|
|
______
|
|
______
|
_______
|
|
|
|
_________
|
|
|
| | Select |
| Drop |
| Edit |
| New |
| Next |
| Prev |
| Cancel |
|
| |________|
|______|
|______|
|_____|
|______|
|______|
|________|
|
|__________________________________________________________________________|
Batch Call:
Syntax:
xrestore -a<action> -d<serverdb> -m<medium name>
Example:
xrestore -a SAVEDATA -d mydb -m DAT90
The complete description of the batch calls is included in Section Batch Mode: xbackup / xrestore.
To display the protocol file of the batch call, you can use the Backup / Show Protocol menu function.
Saving to a Medium with Continuation Medium
Backups to media with continuation media are only useful if there is only one output device. Whenever
possible, the backup should always be done to several parallel media rather than to a medium with
continuation media.
Interactive Procedure:
1. Select the save action.
2. Select the medium.
3. Check the entries.
47
Backup Concepts and Strategies
Adabas D: Control
4. Start the save operation.
5. Mount the next volume and continue the save operation.
Steps 1 to 4 are the same as for saving to an individual medium.
If the medium is not large enough, the progress indicator stops before the medium is full, and a screen
appears requesting you to mount the next medium.
___________________________________________________________________________
|
|
|
CHANGE TAPE
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
End of volume reached. Please enter name of next volume.
|
|
Device:
/dev/rmt0
|
|
Type:
T
|
|
Size:
500000
|
|
Label:
DATA_A0_A
|
|
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
_________
|
|
________
|
|
|
|
| Ignore |
| Cancel |
|
|________|
|________|
|
|__________________________________________________________________________|
5. Mount the Next Medium and Continue the Save Operation
If the medium is a tape, simply mount the next tape and click on the Ok button or press the Enter key. If
the medium is a file, you can specify the path name of the next file (after pressing the F12 key). You can
change the capacity of the medium, and you can select another type for the continuation medium.
The save operation is continued with the Ok button. Before clicking on the Ok button, you should make
sure that the tape just written was placed in safety and the right tape has been mounted.
Step 5 must be repeated as often as is needed to terminate the backup or until it is canceled.
In the "Device", "Type", and "Size" fields, the screen shows the specifications valid for the previous
medium. After pressing the F12 key, these fields are updatable. The label that Control will write to the
next medium appears in the "Label" field which is write-protected.
We recommend to specify the exact capacity when defining the medium (in units of 4 KB pages).
However, more and more tape device drivers can be relied on when they inform about the end of tape.
When this is true, Control acts in the described manner even for a "Media Size = 0". If the end of tape is
not recognized correctly, the "Writing Error" message is displayed. In this case, too, you can continue as
described.
The Ignore button is meaningless in this case.
As long as the backup is being performed, no other backup can be started. Only after confirming the result
protocol, you can start another backup.
Restoring from a Medium with Continuation Media
48
Adabas D: Control
Backup Concepts and Strategies
Interactive Procedure:
1. Select the restore action.
2. Select the medium.
3. Check the entries.
4. Start the restore operation.
5. Mount the next medium and continue the restore operation.
Steps 1 to 4 are the same as for restoring from an individual medium.
If the medium does not contain the complete backup, the progress indicator stops before reaching 100%,
and a screen appears requesting you to mount the next medium.
___________________________________________________________________________
|
|
|
CHANGE TAPE
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
End of volume reached. Please enter name of next volume.
|
|
|
|
Device:
/dev/rmt0
|
|
Type:
T
|
|
Size:
|
Label:
|
DATA_A0_A
|
|
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
_________
|
|
________
|
|
|
|
| Ignore |
| Cancel |
|
|________|
|________|
|
|__________________________________________________________________________|
5. Mount the Next Medium and Continue the Restore Operation
If the medium is a tape, simply mount the next tape. If the medium is a file, you can specify the path name
of the next file. You can also select another type of medium for the next medium. The restore operation is
continued with the Ok button.
In the "Device", "Type, and "Label" fields, the screen shows the specifications valid for the previous
medium. After pressing the F12 key, the "Device" field is updatable.
The Ignore button is meaningless in this case.
After confirming the next medium with the Ok button, Control displays the label information read from
the specified medium. Only after clicking again on the Ok button, the restore operation is continued.
49
Backup Concepts and Strategies
Adabas D: Control
___________________________________________________________________________
|
|
|
|
|
|
|
created:
: 2002-02-22 12:12:13
|
|
version
: KERNEL 12
|
|
serverdb
: mydb
|
|
servernode: mynode
|
|
label:
|
: DATA_A0_A
|
|
|
|
|
_____
|
|
|
|
|
________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
Batch Call:
No batch call is provided for restoring from several media in succession. We recommend to use external
backup tools or autoloaders in this case.
50
Adabas D: Control
Backup Concepts and Strategies
Saving to Several Parallel Media without Continuation Medium
Interactive Procedure:
1. Select the save action.
2. Select the parallel medium.
3. Check the entries.
4. Start the save operation.
1. Select the Save Action (Example: Backup / Save / Data)
Select one of the save actions "Data", or "Updated Pages" from the Backup / Save menu item.
The list of the defined media appears.
_______________________
|
_____________________
Save Data : Medium Selection
|
|
|
|
|
| DAT90
T
Y 500000
/dev/rmt0
(
)
|
| FILE
F
N
/backup/dblog.save
(
)
|
| TAPE0
T
Y 400000
/dev/rmt0
( X )
|
| TAPE1
T
Y 400000
/dev/rmt1
( X )
|
| TAPE2
T
Y 400000
/dev/rmt2
( X )
|
| TAPE3
T
Y 400000
/dev/rmt3
( X )
|
| TAPES_4
T
Y
PARALLEL
(
|
0
0
)
|
|
|
Parallel-Id : TAPES_4
|
|
|
|
_________________________________________________________
|
|
|
|
|
|
| Please select a backup medium from the list
|
|
|
| Use Buttons or Keys to handle media - otherwise Return. |
|
|
|_________________________________________________________|
|
|
|
|
|
| |
|
________
______
|
|
________
|
|
|
______
|
|
______
|
_______
|
|
|
|
_________
|
|
|
| | Select |
| Drop |
| Edit |
| New |
| Next |
| Prev |
| Cancel |
|
| |________|
|______|
|______|
|_____|
|______|
|______|
|________|
|
|__________________________________________________________________________|
2. Select the Medium
The medium defined with the parallel-id ("TAPES_4" in the example) must be selected from the list of
defined media.
If no parallel group of media has been defined so far, you can do this now with the Media Manager.
We recommend to use tapes as parallel media (Device Type "T"; for Windows "T" or "R"). However,
parallel media can also be files or pipes. Pipes should only be used along with backup tools (see Section
External Backup Tools) or for immediate backups
The maximum number of media that can be defined parallel to each other is restricted by the kernel
parameter MAXBACKUPDEVS. Should it become necessary to change this parameter, the serverdb must
be stopped and restarted to bring the parameter into effect.
The list of parallel media is displayed again in a separate screen.
51
Backup Concepts and Strategies
Adabas D: Control
___________________________________________________________________________
|
|
|
|
|
Media
Path
|
|__________________________________________________________________________|
|
|
|
TAPE0
/dev/rmt0
|
|
TAPE1
/dev/rmt1
|
|
TAPE2
/dev/rmt2
|
|
TAPE3
/dev/rmt3
|
|
|
|
|
|
______________________________________________
|
|
|
|
|
|
| Number of volumes used for the last save:4 |
|
|
|____________________________________________|
|
|
|
|
|
|
_____
|
|
|
|
|
________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
3. Check the Entries
In addition to the list of media, the screen shows how many media were used for the preceding backup of
this kind. If the number of media is known to be sufficient, it is not necessary to change the parameter.
Confirm the medium definition with Ok or Enter. (The Cancel button can be used to end the save
operation.)
The parameter is only important when the number of parallel media is not sufficient for the backup.
Therefore, it is described in detail in Section Saving To Several Parallel Media With Continuation Media.
As for the backup to one medium, a screen displayed; this time for each medium, containing a short
description of the medium label that will be written to the medium to identify the backup.
Example of the fourth label screen:
___________________________________________________________________________
|
|
|
|
|
|
|
Device:
/u/rmt0
|
|
Type:
T
|
|
Size:
400000
|
|
Label:
DATA_A0_D
|
|
|
|
|
|
_____
|
|
|
|
|
________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
4. Start the Save Operation
For tapes selected as media, you must now mount the tape to the tape device if this has not been done yet,
because otherwise the backup will fail. Then you can confirm the label screens. To start the backup, click
on the Ok button (or press the Enter key). Each screen must be confirmed with the Ok button (or the Enter
key); otherwise Control cancels the save operation.
After confirming the last label screen, Control starts the backup displaying a bar to indicate the progress of
the backup. When the backup terminates, the result protocol is displayed.
As long as the backup is being performed, no other backup can be started. Only after confirming the result
protocol, you can start another backup.
52
Adabas D: Control
Backup Concepts and Strategies
______________________________
|
_____________________________
mydb on mynode
|
|
|
|
|
| Report of backup operations
2002-02-18 16:14:26
|
|
|
| ----- Control 12
2002-02-18
16:14:08
SAVE ------
|
| USE SERVERDB ’mydb’ on ’mynode’
|
| 16:14:09
|
| INSERT LABEL ’/dev/rmt0’,’DATA_A0_A’
|
| 16:14:10
|
| INSERT LABEL ’/dev/rmt1’,’DATA_A0_B’
|
| 16:14:11
|
| INSERT LABEL ’/dev/rmt2’,’DATA_A0_C’
|
| 16:14:12
|
| INSERT LABEL ’/dev/rmt3’,’DATA_A0_D’
|
| 16:14:17
|
| SAVE DATA QUICK TO ’/dev/rmt0’ TAPE COUNT 400000 ’/dev/rmt1’
| 400000 ’/dev/rmt2’ TAPE COUNT 400000 ’/dev/rmt3’
TAPE COUNT|
TAPE COUNT 400000
|
| BLOCKSIZE 8
|
|
|
360134 pages transferred
| 16:14:24
|
| COMMIT WORK RELEASE
|
| SESSION END
|
|
|
| |
|
________
______
|
|
________
|
|
|
______
|
|
______
|
_______
|
|
|
_________
|
|
|
|
| | Select |
| Drop |
| Edit |
| New |
| Next |
| Prev |
| Cancel |
|
| |________|
|______|
|______|
|_____|
|______|
|______|
|________|
|
|__________________________________________________________________________|
Batch Call:
Syntax:
xbackup -a<action> -d<serverdb> -m<medium name>
Example:
xbackup -a SAVEDATA -d mydb -m TAPES_4
The complete description of the batch calls is included in Section Batch Mode: xbackup / xrestore.
To display the protocol file of the batch call, you can use the Backup / Show Protocol menu function.
Restoring from Several Parallel Media without Continuation Media
Interactive Procedure:
1. Select the restore action.
2. Select the parallel medium.
3. Check the entries.
4. Start the restore operation.
1. Select the Restore Action (Example: Backup / Restore / Data)
Select one of the restore actions "Data", "Updated Pages" up to "Log" from the Backup / Restore menu
item.
The list of defined media appears.
53
Backup Concepts and Strategies
_______________________
|
Adabas D: Control
_____________________
Save Data : Medium Selection
|
|
|
|
|
| DAT90
T
Y 500000
/dev/rmt0
(
)
|
| FILE
F
N
/backup/dblog.save
(
)
|
| TAPE0
T
Y 400000
/dev/rmt0
( X )
|
| TAPE1
T
Y 400000
/dev/rmt1
( X )
|
| TAPE2
T
Y 400000
/dev/rmt2
( X )
|
| TAPE3
T
Y 400000
/dev/rmt3
( X )
|
| TAPES_4
T
Y
PARALLEL
(
|
0
0
)
|
|
|
Parallel-Id : TAPES_4
|
|
|
|
_________________________________________________________
|
|
|
|
|
|
| Please select a backup medium from the list
|
|
|
| Use Buttons or Keys to handle media - otherwise Return. |
|
|
|_________________________________________________________|
|
|
|
|
|
|
________
| |
______
|
|
________
|
|
|
______
|
|
______
|
_______
|
|
|
|
_________
|
|
|
| | Select |
| Drop |
| Edit |
| New |
| Next |
| Prev |
| Cancel |
|
| |________|
|______|
|______|
|_____|
|______|
|______|
|________|
|
|__________________________________________________________________________|
2. Select the Medium
The medium defined with the parallel-id ("TAPES_4" in the example) must be selected from the list of
defined media.
Usually, you will use the same media as for the save action. But it is also possible to restore a save in
parallel that was written to a medium with continuation media.
The maximum number of media that can be defined parallel to each other is restricted by the kernel
parameter MAXBACKUPDEVS. Should it become necessary to change this parameter, the serverdb must
be stopped and restarted to bring the parameter into effect.
For tapes selected as media, you must now mount the tape to the tape device if this has not been done yet,
because otherwise the recovery will fail. Then you can confirm the media screens.
The list of parallel media is displayed again in a separate screen.
___________________________________________________________________________
|
|
|
|
|
Media
Path
|
|__________________________________________________________________________|
|
|
|
TAPE0
/dev/rmt0
|
|
TAPE1
/dev/rmt1
|
|
TAPE2
/dev/rmt2
|
|
TAPE3
/dev/rmt3
|
|
|
|
|
|
______________________________________________
|
|
|
|
|
|
| Number of volumes used for the last save:4 |
|
|
|____________________________________________|
|
|
|
|
|
|
_____
|
|
|
|
|
________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
54
Adabas D: Control
Backup Concepts and Strategies
3. Check the Entries
In addition to the list of media, the screen shows how many tapes were used for the preceding backup of
this kind. Here, you should specify the number of tapes that make up the save to be restored.
The parameter is only important when the number of tapes is larger than the number of parallel media
available. Therefore, this parameter is described in detail in Section Restoring From Several Parallel
Media With Continuation Media.
Confirm the medium definition with Ok or Enter. To cancel the restore operation, use the Cancel button.
As for the backup for each medium, a screen appears containing the content of the label stored on the
medium. In the example, these labels are "DATA_A0_A", "DATA_A0_B", "DATA_A0_C", and
"DATA_A0_D".
___________________________________________________________________________
|
|
|
|
|
|
|
created:
: 2002-02-22 12:12:13
|
|
version
: KERNEL 12
|
|
serverdb
: mydb
|
|
servernode: mynode
|
|
label:
|
: DATA_A0_A
|
|
|
|
|
_____
|
|
|
|
________
|
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
4. Start the Restore Operation
Each screen must be confirmed with the Ok button (or the Enter key); otherwise Control cancels the
restore operation. To start the recovery, click on the Ok button (or press the Enter key) in the last label
screen. The result protocol is displayed after the recovery.
Example of the last page of the result protocol. Here, you can see the label of the fourth medium and the
restore operation with the specification of the four media.
______________________________
|
_____________________________
mydb on mynode
|
|
|
|
|
| Report of backup operations
2002-02-18 16:14:26
|
|
|
| ----- Control 12
2002-02-18
16:14:08
SAVE ------
|
| 14:09:40
|
| READ LABEL ’/dev/rmt3’
|
| created
: 2000-02-22 12:10:12
| version
: KERNEL 12
| serverdb
: mydb
|
DATE 2002-02-15
|
|
| servernode : mynode.any.de
|
| label
|
: DATA_A0_D
| 12:17:32
|
| RESTORE DATA QUICK FROM ’/dev/rmt0’ TAPE, ’/dev/rmt1’ TAPE,
|
| ’/dev/rmt2’
TAPE, ’/dev/rmt3’ TAPE
|
|
200134 pages transferred
|
| 12:17:40
|
| COMMIT WORK RELEASE
|
| SESSION END
|
|
|
| |
|
________
______
|
|
________
|
|
|
______
|
|
______
|
_______
|
|
|
|
_________
|
|
|
| | Select |
| Drop |
| Edit |
| New |
| Next |
| Prev |
| Cancel |
|
| |________|
|______|
|______|
|_____|
|______|
|______|
|________|
|
|__________________________________________________________________________|
55
Backup Concepts and Strategies
Adabas D: Control
Batch Call:
Syntax:
xrestore -a<action> -d<serverdb> -m<medium name>
Example:
xrestore -a SAVEDATA -d mydb -m TAPES_4
The complete description of the batch calls is included in Section Batch Mode: xbackup / xrestore.
To display the protocol file of the batch call, you can use the Backup / Show Protocol menu function.
Saving to Several Parallel Media with Continuation Media
Interactive Procedure:
1. Select the Save action.
2. Select the parallel medium.
3. Check the entries.
4. Start the save operation.
5. Mount the continuation media and continue the save operation.
Steps 1 to 4 are the same as for saving to several parallel media without continuation medium.
When the capacity of parallel media is not sufficient for the backup, saving is somewhat more
complicated than described in Section Saving To Several Media In Parallel Without Continuation
Medium. In contrast to the backup to one medium, all media defined as parallel media can have a
continuation medium. For this case, the "Number of volumes used for the last save" will be explained in
greater detail. Three examples follow in which one parameter is set to a different value for Step 3. It is
assumed for the three examples that six media are sufficient for the backup.
After selecting the medium named "TAPES_4" as the medium to be used for Save / Data, Control
displays the following screen:
___________________________________________________________________________
|
|
|
|
|
Media
Path
|
|__________________________________________________________________________|
|
|
|
TAPE0
/dev/rmt0
|
|
TAPE1
/dev/rmt1
|
|
TAPE2
/dev/rmt2
|
|
TAPE3
/dev/rmt3
|
|
|
|
|
|
______________________________________________
|
|
|
|
|
|
| Number of volumes used for the last save:4 |
|
|
|____________________________________________|
|
|
|
|
|
|
_____
|
|
|
|
|
________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
56
Adabas D: Control
Backup Concepts and Strategies
Example 1 As few media are to be used as possible. The default number of tapes; i.e., the number of
parallel media, is used as the number of tapes.
3. Check the Entries
The number of media is set to 4; in the example, this is also the maximum number of parallel media
(=MAXBACKUPDEVS). The parameter is important now because the first parallel media do not suffice.
If the data backup is called for the first time, the value of the MAXBACKUPDEVS parameter (4 in the
example) appears as the number of media used for the last save.
After clicking on the Ok button, Control displays, for each medium used, a short description and the
generation that will be written to the medium as part of the label. The letter of generation is the same for
the four tapes ("A").
___________________________________________________________________________
|
|
|
|
|
|
|
Device:
/dev/rmt0
|
|
Type:
T
|
|
Count:
400000
|
|
Label:
DATA_A0_A
|
|
|
|
|
|
_____
|
|
|
|
________
|
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
4. Start the Save Operation
For tapes selected as media, you must now mount the tape to the tape device if this has not been done yet,
because otherwise the backup will fail. Then start the backup by clicking on the Ok button (or the Enter
key). Each screen must be confirmed with the Ok button (or the Enter key); otherwise Control cancels the
save operation.
After confirming all the labels, Control starts the backup displaying an increasing bar to indicate the
progress of the backup.
As the four media do not suffice and the value of the parameter is 4, Control expects a continuation
medium for just one medium assuming that this is the last.
___________________________________________________________________________
|
|
|
CHANGE TAPE
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
End of volume reached. Please enter name of next volume.
|
|
|
|
Device:
/dev/rmt0
|
|
Type:
T
|
|
Size:
400000
|
|
Label:
DATA_A0_B
|
|
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
_________
|
|
________
|
|
|
|
| Ignore |
| Cancel |
|
|________|
|________|
|
|__________________________________________________________________________|
57
Backup Concepts and Strategies
Adabas D: Control
5. Mount the Continuation Media and Continue the Save Operation
If the medium is a tape, simply mount the next tape and click on the Ok button or press the Enter key. If
the medium is a file, you can specify the path name of the next file. You can also change the capacity of
the medium, or you can select another type for the next medium.
The save operation is continued with the Ok button.
Step 5 must be repeated as often as is needed to terminate the backup or until it is canceled.
In the "Device", "Type", and "Size" fields, the screen shows the specifications valid for the previous
medium. After pressing the F12 key, these fields are updatable. In the "Label" field, the label appears that
Control will write to the next medium. The "Label" field is write-protected.
The Ignore button is meaningless in this case.
As long as the backup is being performed, no other backup can be started. Only after confirming the result
protocol, you can start another backup.
Summary of Example 1
If less tapes have been specified than are required (e.g., 4), just one tape device that has become free
requests all the needed tapes in succession. This kind of backup takes the most time, but all the tapes
except the last one are written up to the end.
Example 2 The backup is to be done as fast as possible. The specified number of tapes
probably is too large.
The backup is to be done as fast as possible.
3. Check the Entries
The number of media is set to eight or more.
After clicking on the Ok button, Control displays, for each medium used, a short description and the
generation that will be written to the medium as part of the label.
58
Adabas D: Control
Backup Concepts and Strategies
4. Start the Save
As in example 1, confirm the screens to start the save operation.
As the four media do not suffice and the value of the parameter is 8, Control expects a continuation
medium for each of the four media.
___________________________________________________________________________
|
|
|
CHANGE TAPE
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
End of volume reached. Please enter name of next volume.
|
|
|
|
Device:
/dev/rmt0
|
|
Type:
T
|
|
Size:
400000
|
|
Label:
DATA_A0_E
|
|
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
_________
|
|
________
|
|
|
|
| Ignore |
| Cancel |
|
|________|
|________|
|
|__________________________________________________________________________|
5. Mount the Continuation Media and Continue the Save Operation
In this case, you must answer the request for a continuation medium four times. If the medium is a tape,
simply mount the next tape and click on the Ok button or press the Enter key. If the medium is a file, you
can specify the path name of the next file. You can change the capacity of the medium, or you can select
another type for the next medium.
The save operation is continued with the Ok button after each continuation medium. As six tapes are
sufficient for the backup in the example, Control does not request another continuation medium.
Here, the Ignore button has the effect that the tape device will be ignored and all the tapes to be mounted
are immediately expected from the remaining tape devices. This can be useful, for example, if you only
want to write the tapes on particular tape devices and no longer on all parallel devices defined.
Summary of Example 2
For eight specified tapes, the four tape devices request another tape as soon as they have become free. The
rest of the backup is speeded up because it is done simultaneously to four tapes instead of two.
59
Backup Concepts and Strategies
Adabas D: Control
Example 3 The backup is to be done as fast as possible to as many media as necessary. The
number of tapes probably needed is used as the number of tapes.
3. Check the Entries
The number of media is set to six.
4. Start the Save Operation
As in example 1.
As the four media do not suffice and the value of the parameter is 6, Control expects a continuation
medium for just two media.
5. Mount the Continuation Media and Continue the Save Operation
In this case, you must answer the request for a continuation medium twice. If the medium is a tape, simply
mount the next tape and click on the Ok button or press the Enter key. If the medium is a file, you can
specify the path name of the next file. You can also change the capacity of the medium, or you can select
another type of medium for the next medium.
The save operation is continued with the Ok button after each continuation medium. As six tapes are
sufficient for the backup in the example, Control does not request another continuation medium.
Here, the Ignore button has the effect that the tape device will be ignored and all the tapes to be mounted
are immediately expected from the remaining tape devices. This can be useful, for example, if you only
want to write the tapes on particular tape devices and no longer on all parallel devices defined.
Summary of Example 3
Control uses the number of media used last for this kind of save as the number of tapes (in the example,
6). After about an hour, the four tape devices are ready and request, one after the other, a new tape. In this
case, a tape is only requested for two of the four free tape devices; the other two tape devices are ignored
by Control.
60
Adabas D: Control
Backup Concepts and Strategies
Batch Call:
No batch call is provided for saving to parallel media with continuation media. We recommend to use
external backup tools or autoloaders in this case.
Restoring from Several Parallel Media with Continuation Media
Interactive Procedure:
1. Select the restore action.
2. Select the parallel medium.
3. Check the entries.
4. Start the restore operation.
5. Mount the continuation media and continue the restore operation.
Steps 1 to 4 are the same as for restoring from several parallel media without continuation media.
When the number of media to be loaded is larger than the number of parallel tape devices available,
restoring is somewhat more complicated than described in Section Restoring From Several Parallel Media
Without Continuation Media. In contrast to the backup, the number of media to be loaded is known for the
recovery. Therefore, you are not compelled to specify the correct number of media. But the handling of
the mounting of tapes will be easier if the correct number of media is specified.
After selecting the medium named "TAPES_4" as the medium to be used for Restore / Data, Control
displays the following screen:
___________________________________________________________________________
|
|
|
|
|
Media
Path
|
|__________________________________________________________________________|
|
|
|
TAPE0
/dev/rmt0
|
|
TAPE1
/dev/rmt1
|
|
TAPE2
/dev/rmt2
|
|
TAPE3
/dev/rmt3
|
|
|
|
|
|
______________________________________________
|
|
|
|
|
|
| Number of volumes used for the last save:6 |
|
|
|____________________________________________|
|
|
|
|
|
|
_____
|
________
|
|
|
|
|
|
|
| Ok |
| Cancel |
|
|
|____|
|________|
|
|__________________________________________________________________________|
3. Check the Entries
Enter the number of media to be loaded as the number of media. The parameter is important now, because
the number of parallel tape devices is not sufficient to simultaneously load all the media. For tapes
selected as media, you must now mount the tapes to the tape devices if this has not been done yet, because
otherwise the recovery will fail. Then confirm the list of media.
61
Backup Concepts and Strategies
Adabas D: Control
After clicking on the Ok button, Control displays the label information just loaded for each medium, for
security reasons. These labels (in the example, for the first four tapes: DATA_A0_A to DATA_A0_D)
should be identical to the text contained on the stickers of the tapes.
Example of the label information of the first tape:
___________________________________________________________________________
|
|
|
|
|
|
|
Device:
/dev/rmt0
|
|
Type:
T
|
|
Count:
400000
|
|
Label:
DATA_A0_A
|
|
|
|
|
|
_____
|
|
|
|
________
|
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
4. Start the Restore Operation
Confirm each screen with the Ok button (or the Enter key); otherwise Control cancels the restore action.
The restore operation is started by clicking on the Ok button (or by pressing the Enter key) in the last label
screen.
During the restore operation, Control displays an increasing bar to indicate the progress of the recovery.
As the number of parallel tape devices is not sufficient for the number of tapes to be loaded, Control
expects continuation media in this case.
___________________________________________________________________________
|
|
|
CHANGE TAPE
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
End of volume reached. Please enter name of next volume.
|
|
|
|
Device:
/dev/rmt0
|
|
Type:
T
|
|
Size:
|
Label:
|
DATA_A0_A
|
|
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
_________
|
|
________
|
|
|
|
| Ignore |
| Cancel |
|
|________|
|________|
|
|__________________________________________________________________________|
5. Mount the Continuation Media and Continue the Restore Operation
If the medium is a tape, simply mount the next tape. If the medium is a file, you can specify the path name
of the next file, after pressing the F12 key. You can also select another type for the next medium.
The restore operation is continued with the Ok button.
Step 5 must be repeated as often as is needed to terminate the recovery or until it is canceled.
In the "Device", "Type", and "Label" fields, the screen shows the specifications valid for the previous
medium. After pressing the F12 key, the "Device" and "Type" fields are updatable.
62
Adabas D: Control
Backup Concepts and Strategies
Here, the Ignore button has the effect that the tape device will be ignored and all the tapes to be mounted
are immediately expected from the remaining tape devices. This can be useful, for example, if you only
want to load the tapes from particular tape devices and no longer from all parallel devices defined.
Batch Call:
No batch call is provided for restoring from parallel media with continuation media. We recommend to
use external backup tools or autoloaders in this case.
Restoring from Version Files (Autosave)
As described for the automatic backup of log segments (see Section Options / Autosave Log), log
segments can be saved to single version files. The version files are automatically numbered in ascending
order. When restoring from version files, the same medium is used as for saving. A range of numbers
must be specified in addition.
Interactive Procedure:
1. Select the restore action Restore / Log.
2. Select the medium.
3. Check the entries.
4. Start the restore operation and specify a range of numbers.
5. Confirm the version file and continue the restore operation.
Steps 1 to 3 are the same as for restoring from one medium without continuation media.
___________________________________________________________________________
|
|
|
|
|
|
|
Device:
/autosave/logseg
|
From number: 121
|
|
|
to number:
128
|
|
Label:
DATA_A0_A
|
|
|
|
_____
|
|
|
|
|
________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
4. Start the Restore Operation and Specify a Range of Numbers
Click on the Ok button to start the restore operation and to display the first version file for confirmation.
____________________________
|
_________________________
/autosave/logseg.121
|
|
|
|
|
|
created.........: 24.01.2002
17:37:24
|
|
version/volume..: 24.01.2002
17:37:24/0
|
|
server
|
label/blocksize : LOG_B1_1 / 8
: db_first
|
|
|
|
|
UNTIL
20020130
00145205
|
|
|
|
_____
|
|
|
|
|
________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
63
Backup Concepts and Strategies
Adabas D: Control
5. Confirm the Version File and Continue the Restore Operation.
For security reasons, Control displays the label information of the next file to be restored. Here, you can
also specify an UNTIL point in time up to which the version files available are to be restored.
Batch Call:
No batch call is provided for restoring the log from version files. We recommend to use external backup
tools or autoloaders in this case.
Restoring Several Log Segments from Tape (AUTOSAVE)
As described for the automatic backup of log segments (see Section Options / Autosave Log), log
segments can be saved to one or more tapes in succession. Control supports the interactive recovery from
tapes.
Interactive Procedure:
1. Select the restore action Restore / Log.
2. Select the medium.
3. Check the entries.
4. Start the restore operation.
5. Confirm the restore operation and continue.
Steps 1 to 3 are the same as for restoring from one medium without continuation media.
4. Start the Restore Action
Click on the Ok button to start the restore operation and to display the label of the first log segment for
confirmation.
5. Confirm the Restore Operation and Continue
Control displays the result of this recovery step. The following three cases can occur:
a) When restoring several successive log segments from tape, it can happen that the first log segments do
not match the data version available in the serverdb. Simply ignore this action and continue the restore
operation by clicking on the Return button.
64
Adabas D: Control
Backup Concepts and Strategies
___________________________________________________________________________
|
|
|
CONTINUE
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
-8003 Log and Data must be compatible.
|
|
|
|
Device:
/dev/nrmt0
|
|
Type:
N
|
|
Size:
|
|
Label:
|
|
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
_________
|
|
________
|
|
|
|
| Ignore |
| Cancel |
|
|________|
|________|
|
|__________________________________________________________________________|
b) If the log segment could be restored successfully, Control automatically continues the restore operation
by loading and restoring the next log segment.
65
Backup Concepts and Strategies
Adabas D: Control
c) After restoring the last log segment of the tape, Control attempts once more to restore a log segment.
The database system does not recognize another log segment and ends the restore operation.
Batch Call:
No batch call is provided for restoring several log segments from tape.
Autoloader under Windows
In Windows, saving to tapes with continuation tapes can also be done without operator intervention using
an autoloader. To activate the autoloader, specify the medium "A" as "Device Type".
When reaching the end of tape, the autoloader is addressed which will use the next tape available. The
backup will only be successful if the number of tapes is sufficient for it.
The interactive procedure is the same as for saving to a medium without continuation media.
Example of the medium definition:
___________________________________________________________________________
|
|
|
Save Data
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
Medium
.....: AUTOL_NT
Next Medium
:
|
Device Type.....: A
|
Parallel
:
|
Path: \\:\tape 0
|
|
|
Path2:
|
|
|
|
Overwrite(Y/N/V): Y
Media Size in Pages.: 0
|
|
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
________
|
|
________
|
|
|
|
| Label |
| Cancel |
|
|_______|
|________|
|
|__________________________________________________________________________|
At the end of the backup, the tape device shows the number of tapes written. The labels displayed and
confirmed at the start of the backup (Step 3) should be put down on the stickers of the tapes.
Before backing up, it is strictly recommended to check the write protection of all tapes, because otherwise
the backup procedure will be aborted.
After inserting the tape cartridge in the autoloader, the first tape must be selected manually.
Batch Call:
Syntax:
xbackup -a<action> -d<serverdb> -m<medium name>
Example:
xbackup -a SAVEDATA -d mydb -m AUTOL_NT
The complete description of the batch calls is included in Section Batch Mode: xbackup / xrestore.
66
Adabas D: Control
Backup Concepts and Strategies
To display the protocol file of the batch call, you can use the Backup / Show Protocol menu function.
Restoring under Windows by means of the autoloader is done in the same way as saving. Simply use the
same medium definition as for saving and perform the restore operation as if restoring from one medium.
To ensure a successful restore, all tapes belonging to the save must have been mounted to the autoloader.
Use the xrestore command as batch call.
Other Autoloaders
Saving to tapes with continuation tapes can also be done in other operating systems without operator
intervention using an autoloader.
Control provides an option to formulate an explicit operating system command initiating the change of
tape. Specify an "L" as "Device Type" when defining the medium to be used. Then use the OsCmd button
to define the command that will initiate the change of tape.
The interactive procedure is the same as for saving to a medium without continuation media.
Example of the medium definition:
___________________________________________________________________________
|
|
|
Save Data
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
Medium
.....: AUTOL
Next Medium
:
|
Device Type.....: L
|
Parallel
:
|
Path: u/dev/rmt0
|
|
|
OS Cmd: mt -f /dev/rmt0 rewoffl
|
|
|
|
Overwrite(Y/N/V): Y
Media Size in Pages.: 0
|
|
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
________
|
|
________
|
|
|
|
| Label |
| Cancel |
|
|_______|
|________|
|
|__________________________________________________________________________|
At the end of the backup, the tape device shows the number of tapes written. The labels displayed and
confirmed at the start of the backup (Step 3) should be put down on the stickers of the tapes.
Batch Call:
Syntax:
xbackup -a<action> -d<serverdb> -m<medium name>
Example:
xbackup -a SAVEDATA -d mydb -m AUTOL
The complete description of the batch calls is included in Section Batch Mode: xbackup / xrestore.
To display the protocol file of the batch call, you can use the Backup / Show Protocol menu function.
67
Backup Concepts and Strategies
Adabas D: Control
Restoring by means of an autoloader is done in the same way as saving. Simply use the same medium
definition as for saving and perform the restore operation as if restoring from one medium. To ensure a
successful restore, all tapes belonging to the save must have been mounted to the autoloader.
Use the xrestore command as batch call.
Example of Backup / Restore
The following illustration shows a data backup cycle, where three points in time of disk failure
occurrences are marked for the following recovery examples. Examples of tape labels that Control uses to
identify the individual save actions are given in parentheses on the right.
__________________________________________________________________
|
|
|
|
SAVE DATA
(1)
(DATA_A0_A) |
Disk Failure A
|
|
SAVE LOG SEGMENT (1)
(LOG_A1_1)
|
|
SAVE LOG SEGMENT (2)
(LOG_A2_1)
|
|
SAVE LOG SEGMENT (2)
(LOG_A3_1)
|
|
SAVE PAGES
(1.1)
(DATA_A4_A) |
|
SAVE LOG SEGMENT (4)
(LOG_A5_1)
|
|
SAVE LOG SEGMENT (5)
(LOG_A6_1
|
|
SAVE LOG SEGMENT (6)
(LOG_A7_1)
|
|
SAVE PAGES
(1.2)
(DATA_A8_A) |
|
SAVE LOG SEGMENT (7)
(LOG_A9_1)
|
SAVE LOG SEGMENT (8)
(LOG_A10_1) |
|
Disk Failure B
|
|
|
|
SAVE LOG SEGMENT (9)
SAVE DATA
|
(2)
(LOG_A11_1) |
(DATA_B0_A) |
Disk Failure C
|
|
SAVE LOG SEGMENT (10) (LOG_B1_1)
|
|
SAVE LOG SEGMENT (11) (LOG_B2_1)
|
|
Disk Failure D
|
|_________________________________________________________________|
68
Adabas D: Control
Backup Concepts and Strategies
If the log is also damaged, the recovery procedures outlined in the following three examples require the
existence of at least one intact log devspace which can be used in log mode DUAL or NORMAL to
recover the defective log devspace (see Section Backup / Restore / Devspace).
Recovery After Disk Failure A
To recover the database after the disk failure A, only the first backup version of the data devspace must be
restored using Restore / Data. The subsequent restart completes the data devspace redoing the transactions
recorded in the log.
__________________________________________________________________
|
|
|
restore data (1) (DATA_A0_A)
|
|
restart
|
|________________________________________________________________|
Recovery After Disk Failure B
When disk failure B occurs, there are several ways of recovering the serverdb. The quickest method of
recovery consists of reloading the database using Restore / Data and subsequently reloading the modified
pages using Restore / Updated Pages. Finally, Restore / Log must be performed to restore the backups of
the log segments 7 and 8.
The correct choice of the log segments 7 and 8 after restoring the pages (1.2) corresponds to the ascending
serverdb version which can be found in the protocol of the corresponding data backup. A correct selection
prevents failures.
Since Restore / Log overwrites the log, the current log version, which is not contained in the log segments
saved so far, must be backed up to an external backup device or a host file using Save / Log (Cold). Then
the backups of the log segments can be restored using Restore / Log. In log mode DUAL or NORMAL,
the backup of a log segment is implicitly copied onto both log devspaces. Once the log segments 7 and 8
are restored, the copy of the current log that was backed up using Save / Log (Cold) must be restored
using Restore / Log. Restart completes the recovery.
First restore variant:
69
Backup Concepts and Strategies
Adabas D: Control
__________________________________________________________________
|
|
|
restore data
(1)
(DATA_A0_A)
|
|
restore pages
(1.1)
(DATA_A4_A)
|
|
restore pages
(1.2)
(DATA_A8_A)
|
|
save log cold
(current log)
|
restore log
(log segment 7)
(LOG_A9_1)
|
|
restore log
(log segment 8)
(LOG_A10_1)
|
|
restore log
(current log)
|
restart
|
|
|
|________________________________________________________________|
There is a choice of previous backups of the log segments which can be used for the recovery of the
serverdb.
Second restore variant:
__________________________________________________________________
|
|
|
restore data
(1)
(DATA_A0_A)
|
|
restore pages
(1.1)
(DATA_A4_A)
|
|
save log cold
(current log)
|
restore log
(log segment 4)
|
...
|
restore log
(log segment 8)
|
restore log
(current log)
|
restart
|
(LOG_A5_1)
|
|
(LOG_A10_1)
|
|
|
|________________________________________________________________|
Third restore variant:
70
Adabas D: Control
Backup Concepts and Strategies
__________________________________________________________________
|
|
|
restore data
(1)
(DATA_A0_A)
|
save log cold
(current log)
|
restore log
(log segment 1)
|
...
|
restore log
(log segment 8)
|
restore log
(current log)
|
restart
|
|
(LOG_A1_1)
|
|
(LOG_A10_1)
|
|
|
|________________________________________________________________|
Recovery After Disk Failure C
When disk failure C occurs, the serverdb can be recovered in the following way:
Only the last backup version of the data devspace needs to be restored. If this version is not readable for
some reason, older data backup versions can be restored which require that the corresponding log
segments are redone.
First restore variant:
__________________________________________________________________
|
|
|
restore data
|
restart
(2)
(DATA_B0_A)
|
|
|________________________________________________________________|
Second restore variant:
71
Backup Concepts and Strategies
Adabas D: Control
__________________________________________________________________
|
|
|
restore data
(1)
(DATA_A0_A)
|
|
restore pages
(1.1)
(DATA_A4_A)
|
|
restore pages
(1.2)
(DATA_A8_A)
|
|
save log cold
(current log)
|
restore log
(log segment 4)
|
...
|
restore log
(log segment 7)
(LOG_A9_1)
|
|
restore log
(log segment 8)
(LOG_A10_1)
|
|
restore log
(log segment 9)
(LOG_A11_1)
|
|
restore log
(current log)
|
restart
|
(LOG_A5_1)
|
|
|
|
|________________________________________________________________|
The same procedure must be used if organizational reasons require an older database state to be restored.
Restore / Log UNTIL can then be used to select the point in time of the desired database state.
Recovery After Disk Failure D
Exmple 1: Of a restored log segment that does not match the restored data save.
The most recent complete backup is to be used for the recovery before loading the backups of the log
segments. Usually, you proceed according to the backup protocol loading the log segments in the order of
creation.
__________________________________________________________________
|
|
|
restore data
(2)
|
save log cold
(current log)
|
restore log
(log segment 10)
|
|
(DATA_B0_A)
|
|
(LOG_B1_1)
|
--> "-8003 Log and Data must be compatible"|
restore log
(log segment 11)
(LOG_B2_1)
|
|________________________________________________________________|
72
Adabas D: Control
Backup Concepts and Strategies
For this restore variant, the version number 201 in the LOG_B1_1 label shows that log segment 11 was
completed before the complete DATA_B0_A save. Therefore, the error -8003 is returned when this log
segment is restored after the complete DATA_B0_A save. This error can be ignored and the next save of a
log segment (see the backup protocol file) LOG_B2_1 can be loaded.
Example 2: Of a restored log segment that does not match the restored data save.
First restore variant for disk failure B in this section:
__________________________________________________________________
|
|
|
restore data
(1)
(DATA_A0_A)
|
|
restore pages
(1.1)
(DATA_A4_A)
|
|
restore pages
(1.2)
(DATA_A8_A)
|
|
save log cold
(current log)
|
restore log
(log segment 1)
|
|
(LOG_A1_1)
|
--> "-8003 Log and Data must be compatible"|
|
restore log
(log segment 7)
(LOG_A9_1)
|
|
restore log
(log segment 8)
(LOG_A10_1)
|
|
restore log
(current log)
|
restart
|
|
|________________________________________________________________|
In this example, log segment 1, LOG_A1_1, is loaded erroneously instead of log segment 7. The version
numbers 178 and 131 within the labels show that DATA_A8_A cannot be followed by LOG_A1_1. The
error message "-8003 Log and Data must be compatible" is output. In this case, you only need to continue
with the correct log segment 7. The next log segment to be restored can be looked up in the backup
protocol file.
Batch Mode: xbackup / xrestore
In addition to the backup options described above (ad hoc, schedule, timetable), interfaces to batch
operations of Control are provided.
The xbackup and xrestore functions are mainly provided to combine the Control backup functions with
third-party backup tools. Two variants are possible:
1. xbackup and xrestore are called under control of the backup tool.
2. xbackup or xrestore call the external backup tool.
73
Backup Concepts and Strategies
Adabas D: Control
The xbackup and xrestore functions can also be used as genuine batch interfaces providing further options
in addition to the backup and recovery functions.
Functionality and Parameters
Call Syntax:
{xbackup | xrestore}
[-r <dbroot>] [-d <dbname>] [-a <savetype>] [-m<media name>]
[-f <device>] [-h] [-q] [-v] [-V]
xbackup and xrestore take the following parameters:
-a <Action>
The action to perform (see Section Actions)
Default: SAVEDATA.
-d <Database>
The name of the database to work on.
Default: Environment variable $SERVERDB
(former $DBNAME).
74
Adabas D: Control
-f
Backup Concepts and Strategies
Optional: The file (pipe, tape drive) name of the medium. If this
<FileName> parameter is given, the name is checked against the medium
definition. A mismatch is considered a fatal error. If the medium name
(parameter -m) starts with the string EXTERN, this parameter is
mandatory.
-h
"Help": Give usage information about the particular interface and
output the names of the special media, then terminate.
-m
<Medium
Name>
The medium name used (see Section External Backup Tools).
Default: none.
If only one medium is defined in Control, this is the default. If the
definition of another medium is added, there is no default.
-q
"Quiet": Reduce the output of routine messages.
-r
The directory in which the Adabas software is installed.
<Directory>
Default: Environment variable $DBROOT.
-R
Same as "-r".
<Directory>
-v
"Verbose": Give more progress messages.
-V
Give a version message of xbackup or xrestore. Give the names of the
special media in addition, then terminate.
If the environment variables $DBROOT and $SERVERDB are set properly, the database administrator
can do the standard "save the complete database contents to tape" by calling "xbackup -m TAPE"
(provided "TAPE" has been defined in the Media Manager with the "Medium Name" of the tape device,
e.g. /dev/rmt0).
In case of a disk failure, the administrator can switch the database to cold state, mount the tape written by
xbackup, and then perform "xrestore -m TAPE". This will restore the database contents valid when the
backup operation was started.
When restoring a save, xrestore identifies the target database from the parameter -d or the environenment
variable $DBNAME (or $SERVERDB). If the medium identifies an archiver tool, that tool will be asked
for a list of saves of the target database, and the list will be presented to choose the save wanted.
The tool xrestore has two new optional parameters which change this behavior if the medium designates
an external archiver tool holding saves from several databases:
-D dbname
identifies the database whose saves are to be asked for
(default: target database).
-N dbnode
identifies the machine on which that database was running
(default: current node).
75
Backup Concepts and Strategies
Adabas D: Control
So it is possible to take saves of database A on node B and to restore them into database X on node Y,
provided the size of the target database is sufficient. This holds for physical and logical saves.
This will load the target database with the contents of the save being restored (the previous content is
lost), but the target database will not be installed and set up - it must exist already.
A way to achieve that is by creating a new database using Control (Configuration / Install Serverdb),
setting the configuration and then choosing "Stepwise". The individual steps must then be executed up to
and including "Activate Serverdb", then terminated by Cancel. Then the database must be brought to cold
state. Now "xrestore TargetDatabase -D SourceDatabase -N SourceNode ...." can be called to transfer that
save of the source database into the target database.
Detailed information on the use of save and restore functions can be found in the Sections Backup / Save
and Backup / Restore.
The media names are arbitrary strings of up to eight characters. It is the user’s responsibility to choose
names that are appropriate for the files (devices) identified, e.g. "TAPE" for "/dev/ios0/rstape005h". If the
specified medium (-m parameter) is the name of a parallel group, all group members are used for the
operation (e.g.; group "ALLTAPES" with the members "TAPE0" and "TAPE1", device names /dev/rmt0
and /dev/rmt1). If the file name given in the medium definition does not exist when a backup is started,
Control and/or the database kernel will create that as an ordinary file. In Windows, however, a named pipe
is recognizable by its name; so, in this case, a pipe is created, not a file.
xbackup and xrestore write progress and error messages to their standard output. If all checks succeed,
they call Control (and possibly an archiving tool, see Section External Backup Tools) to perform the
backup or restore operation. When this is finished, they write a message giving the exit code(s) (see
Section xbackup / xrestore Exit Codes). xbackup and xrestore terminate with the Control exit code (or the
sum of Control and archiver exit codes) which will be zero in the success case and non-zero otherwise.
If a check performed by xbackup or xrestore fails (e.g., the database is not running, or the tool to be called
is not installed on the machine), they give a message and terminate with a non-zero exit code.
Actions
xbackup supports the following actions:
76
Adabas D: Control
Action
Needs
medium
("-m")
Backup Concepts and Strategies
Special medium Function is equivalent to menu
allowed (pipe) sequence
SAVEDATA y
y
Backup / Save / Data
SAVEPAGES y
y
Backup / Save / Updated Pages
SAVELOG
y
y
Backup / Save / Log
SAVELOGSEG
yj
y
Backup / Save / Log Segment
AUTOSAVLOG
y
n
Options / Autosave Log / Start
AUTOOFF n
./.
Options / Autosave Log / Stop
UPDSTAT
n
./.
Operating / Update Statistics / All
Tables
VERIFY
n
./.
Backup / Save / Verify Devspaces
CRONON
n
./.
Options / Schedule / On Backup /
Schedule Manager / Tools / Schedule /
On
CRONUPD n
./.
(Each modification of the schedule.)
CRONOFF n
./.
Options / Schedule / Off Backup /
Schedule Manager / Tools / Schedule /
Off
xrestore supports the following actions:
Action
Needs medium
("-m")
Special medium
allowed (pipe)
unction is equivalent to
menu sequence
SAVEDATA y
y
Backup / Restore / Data
SAVEPAGES y
y
Backup / Restore / Updated
Pages
SAVELOG
yj
y
Backup / Restore / Log
SAVELOGSEG
y
y
Backup / Restore / Log
CLEARLOG n
./.
Backup / Restore / Clear
Log
RESTOREDEV
./.
Backup / Restore / Devspace
n
If no -a parameter is given, the default value is "SAVEDATA".
Errors
xbackup and xrestore check for the following errors:
The tool was called with invalid syntax.
77
Backup Concepts and Strategies
Adabas D: Control
DBROOT is neither given as an -r or -R parameter nor set in the environment, or it does not point to
a valid Adabas installation directory.
SERVERDB (or DBNAME) are neither given as a -d parameter nor set in the environment, or they
do not identify a valid Adabas instance.
Adabas instance "SERVERDB" is not running.
Adabas instance "SERVERDB" is not running in cold mode for xrestore.
The utility task of the Adabas instance "SERVERDB" is busy and cannot accept a new session.
The tool is called by a user who does not have both read and write permission on the files needed by
Control.
The action parameter is not valid.
The action requires a medium, and none is given (and no default possible).
The medium given is not defined to Control.
The file name given as -f parameter does not agree with the Control medium definition.
The medium is a special medium (e.g., of kind EXTERN, ADSM or NSR), and the action is not
allowed for it.
The medium is of kind EXTERN, and there is no -f parameter.
The medium is of kind EXTERN, and the file name does not identify a named pipe.
The medium addresses a specific archiver tool (e.g., ADSM or NSR) (see Section External Backup
Tools), but the tool (or its client for Adabas) is not installed on the machine.
The medium addresses a specific archiver tool (see Section External Backup Tools), and (one of) the
pipe(s) is already in use or could not be created.
The medium addresses a specific archiver tool (see Section External Backup Tools) for a restore
operation, but the medium definition has a number of members different from that at backup time, or (one
of) the pipe name(s) is different from that at backup time.
The medium addresses a specific archiver tool (see Section External Backup Tools) for a restore
operation, but the tool has no save available, or not all parts of a save are available.
If an error is detected, an explanatory message is written to standard output. These errors are considered
fatal, the execution is aborted, and the exit code is non-zero.
Standard Input and Output
xbackup and xrestore both write progress messages to their standard output. The amount of information
can be influenced by the optional parameters -q and &#8209;v, but cannot be fully suppressed.
Any archiver tool is called with the same standard input, standard output, and standard error as xbackup or
xrestore, so any messages are included in the protocol.
78
Adabas D: Control
Backup Concepts and Strategies
If xrestore is called for a specific archiver tool (e.g. ADSM or NSR), it writes a numbered list of available
saves to standard output and then prompts the user to enter a selection which is a number read from
standard input.
xbackup / xrestore Exit Codes
xbackup and xrestore terminate with the sum of the exit codes of Control and any archiver tool processes
called.
The exit code of Control (between 20 and 30) makes reference to the following ranges of error codes in
the document "Messages and Codes":
20:
-20999..
-20000
System errors detected by Control.
21:
-9999..
+9999
System errors detected by the kernel.
22:
-16999..
-16000
System errors detected by the interpreter.
30:
Any other unclassified errors.
For the exit code of any archiver tool called, please see the documentation of that tool.
Files
xbackup and xrestore are in $DBROOT/bin (Windows : %DBROOT%\bin). This directory should
normally be included in the user’s command search path.
On Windows, %DBROOT%\misc\NetVault.txt contains a template for pre- and post-scripts.
External Backup Tools
External backup tools can be used to save to tapes and continuation tapes without operator intervention.
Control provides a connection to several external backup tools.
Currently, the following external backup tools are supported:
ADSM (IBM)
Networker (Legato)
NetVault (AT&T, NCR)
When proceeding according to the NetVault pattern (see the EXTERN medium name), any arbitrary
backup tools can be linked, because no adaptations are required for Control.
An interactive procedure is not provided. Backup/recovery with external backup tools is only possible in
batch mode (see Section Batch Mode: xbackup / xrestore).
External backup tools are addressed by special media names.
Example of the medium definition:
79
Backup Concepts and Strategies
Adabas D: Control
___________________________________________________________________________
|
|
|
Save Data
|
|
|
| _______________________________________________________________________
|
|
|
|
|
|
Medium
.....: ADSM
|
Device Type.....: P
|
Path: /tmp/adsm-pipe
|
Path2:
Next Medium
:
|
Parallel
:
|
|
|
|
|
|
Overwrite(Y/N/V): N
Media Size in Pages.: 0
|
|
|
|
|
|
_____
|
|
|
|
| Ok |
|
|____|
________
|
|
________
|
|
|
|
| Label |
| Cancel |
|
|_______|
|________|
|
|__________________________________________________________________________|
Media for the Usage of External Backup
The following strings as the start of a medium name will cause special treatment. In all these cases, data
transfer will be via named pipes, so the "Device Type" must be "P" and the "Media Size" 0:
EXTERN
The external backup tool has the control. xbackup or xrestore is called by an external archiver
tool . Data transfer is via a named pipe which must already be available. (The administrator of)
The archiver tool is responsible for the proper identification of the save and labelling of the tape
reel. This medium name must not be the name of a parallel group. The pipe name must be
passed as -f parameter, it is checked against the medium definition.
For Windows, the archiver tool NetVault (NCR) is used to store database saves. This tool calls
xbackup or xrestore using the "EXTERN" medium name (see also Section Notes on EXTERN
Medium).
ADSM, NSR
xbackup or xrestore has the control. xbackup or xrestore calls a specific archiver tool to take or
deliver the data. Data transfer is via named pipes which must not exist when xbackup or xrestore
is called.
The tool called is ADSM (IBM) or Networker (Legato), respectively. However, details may still
change for a specific tool. More tools can be added (see the current README file). See the
Sections Notes on EXTERN Medium, Notes on ADSM and Notes on NetWorker.
On backup, an identification is automatically generated (containing database name, date, time, type of
save, and machine name). This identification is used to identify the save in the archiver tool. On restore,
the user is shown (on standard output) a numbered list of all saves known to the tool whose strings match
machine and database name, and is prompted to choose the save wanted.
If the name is that of a parallel group, several instances of the archiver tool will be started in parallel. The
number of group members at restore must match that at backup.
To see the list of archiver tools valid for the current state of xbackup or xrestore, specify the parameters -h
(Help) or -V (Version) with the call of xbackup or xrestore.
80
Adabas D: Control
Backup Concepts and Strategies
Batch Call:
Syntax:
xbackup -a<action> -d<serverdb> -m<medium name>
Example:
xbackup -a SAVEDATA -d mydb -m ADSM
The complete description of the batch calls is included in Section Batch Mode: xbackup / xrestore.
Restoring with the aid of external backup tools is done like saving. One simply uses the same medium
definition as for the backup and performs the restore operation as from one medium.
Use the xrestore command as batch call.
If several databases (on one or more computers) are backed up using the same backup tool, then it is
possible to select the backup of another database for a restore ("database replication").
Notes on Timing
When Control starts a backup operation, the database kernel first generates a checkpoint and then delivers
all pages of the database in the state valid at that checkpoint. Any ongoing modifying activity does not
write to these pages, so a consistent save is produced without shutting down modifying activities.
However, this checkpoint can only be generated when all modifying transactions that are already running
have come to an end. The time needed cannot be determined beforehand as it depends on the transactions
running. When the archiver tool calls xbackup (EXTERN medium), this unknown delay may cause the
archiver tool involved to detect a timeout if such a feature is provided and the transactions running take
too long. When xbackup calls the archiver tool (e.g. "ADSM" medium type), the call is delayed for the
actions SAVEDATA and SAVEPAGES until the checkpoint has been completed. If this delay or the
timeout causes problems, the Adabas mechanisms to display lock manager information must be used to
identify the transaction(s) holding "exclusive" locks and thus causing the delay.
When Control starts a restore operation, the database kernel first accesses the devspaces involved and then
initializes a mapping of the database pages to disk blocks (the system devspace). This causes a delay
between reading the first pages (containing the configuration information) and the bulk of the data. The
time needed depends on the size of the database and on the speed of the machine. This delay may cause an
archiver tool involved to detect a timeout if such a feature is provided and it is configured too small.
Based on current customer information, a period of ten minutes should be sufficient.
Notes on "EXTERN" Medium
The EXTERN medium name serves to perform database backups under the administration of a backup
tool. xbackup writes the data to a named pipe. xrestore reads the data from a named pipe. An external
archiver tool must call xbackup or xrestore as a synchronous function to have the data transferred.
Some archiver tools, e.g. NetVault, do not provide for calling synchronous functions, they only support a
pre-function to initiate the data transfer and a post-function to terminate it. To connect xbackup or xrestore
to such a tool, there must be an interface that is started as a pre-function of the tool and then calls xbackup
or xrestore without waiting for termination. Then Control and the archiver run in parallel, and when
transfer is finished, the archiver calls a post-function.
81
Backup Concepts and Strategies
Adabas D: Control
The Adabas version for Windows contains a NetVault.txt file in the %DBROOT%\misc directory. This
file is a template for pre- and post-functions to interface between NetVault (or another similar archiver
tool) and xbackup or xrestore. It contains a description of the steps the user must perform to transfer this
template into the actual .bat files. For more information on this subject, see the "NetVault Reference
Information", Section "Using Named Pipes".
Notes on ADSM
The ADSM version 2.1 (or newer) including the "adint2" program is required. The ADSM installation
directory must be specified as $ADINT (%ADINT%) environment variable; on Unix platforms, /usr/adint
is the default directory.
The name of the ADSM configuration file must be specified as $ADA_OPT (%ADA_OPT%)
environment variable; otherwise init${SERVERDB}.opt (init%SERVERDB%.opt) in the ADSM
installation directory will be the default configuration file.
xbackup or xrestore determines the transfer size independently.
Notes on NetWorker
NetWorker media must be single media (neither a parallel group nor a member of one).
In the directory "/nsr/adabas" there must exist a file "env" (this path name can be overridden by an
environment variable "NSR_ENV") which contains lines with options (name, one or more blanks, value):
NSR_HOME
name of the directory with the NetWorker programs
save, nminfo and recover
NSR_HOST
node running the NetWorker backend
NSR_POOL
NetWorker tape pool to receive the save
NSR_EXPIRE
expiry period (do not protect blanks by quotation marks
or back slashes - they are not passed through a shell!).
The first two items are mandatory, the latter are optional and can be overridden by environment variables
with the respective name.
Due to NetWorker restrictions, restoring a save (of the same or another database) is only possible if the
absolute path name of the pipe is the same for both save and restore - NetWorker cannot change pipe
names or directories. If a takeover is to be possible, the same naming convention should be used on all
nodes - e.g. "/tmp/nsr_pipe".
Inside NetWorker, the various database saves are identified by their "SaveSet-ID". When the user has
selected the desired save to be restored, xrestore passes that value to the NetWorker program "recover".
Due to NetWorker restrictions, this is not allowed to arbitrary users, so the following administrative steps
are needed:
82
Adabas D: Control
1)
Backup Concepts and Strategies
The "recover" program (e.g. "/opt/networker/bin/recover") must de owned by the
user "root" and must have the "Set-User-ID"-Bit set, so
chown root /opt/networker/bin/recover
chmod u+s /opt/networker/bin/recover
2)
There must be a Unix group "operator", and the database user (performing
xrestore) must be a member of this group.
xrestore requires these items to be observed (with NetWorker version 5.5 - any possible changes in
NetWorker need to be considered).
Automatic Log Saves Using An Archiver Tool
xbackup can be called with the action SAVELOGSEG. This is only meaningful if a completed log
segment exists, because otherwise nothing can be saved.
xbackup therefore delays the start of an archiver program taking a logical save for about 30 seconds.
Control uses this time to check for the existence of a completed log segment. If none exists, Control
terminates with an error message, and the archiver tool is not started (or no tape is written).
"xbackup ... -a SAVELOGSEG" called periodically in a loop can be used to reach the effect of an
AUTOSAVE LOGSEGMENT to an archiver tool. (For reasons of process structure, the operation
AUTOSAVE LOGSEGMENT directly into an archiver tool is not provided for - as before). To do this,
the distance between two calls must be shorter than the time till completion of the next segment (because
each call saves only the oldest segment), but larger than the time to save a single segment (because two
parallel calls of Control are not provided for). On Unix systems, implementation could use "cron", a shell
script with a while loop and "sleep", or a shell script with a call to "at". However, such a log segment save
must not collide with another save, e.g. SAVEDATA.
The delay is a fixed time; should the machine be loaded so heavily that the check is not finished in time,
an "empty" save will still be produced.
83
Operating Menu Function
Adabas D: Control
Operating Menu Function
_______________
|
|
| Operating.. |
|
|
________|_____________
|
|
|____| Colors
|
| Refresh..
|
| Restart..
|
| Shutdown..
|
| Update Statistics..
|
| Exit
|
|______________________|
The Operating menu offers the following functions: refreshing the contents of the screen, starting and
shutting down the database server, and performing update statistics. Control can be left using the Exit
menu item.
This chapter covers the following topics:
Operating / Colors
Refresh
Operating / Restart
Operating / Shutdown
Operating / Update Statistics
Operating Exit
Operating / Colors
This menu function can be used to modify screen attributes and color settings. It displays several
presettings for selection: (Example: "DEFAULT", "AIX", "BLACK", "CYAN", "HP9_SUN", and
"WHITE"). On some terminals, the releasing letters of the individual menu items cannot be recognized
with the setting "DEFAULT". In this case, the setting "AIX" with inverse representation of the releasing
letters should be selected.
In the main screen and the installation screens, this function can also be called by using the function key
F2.
More color settings can be defined in warm serverdb mode using the Configuration / Alter Parameters /
Set Defaults function.
84
Adabas D: Control
Operating Menu Function
Refresh
_______________
|
|
| Operating.. |
|
|
________|____
|
|
|____| Refresh..
|
|
________|_____
|
|
|
|___| Now
|
| 10 sec
|
| 30 sec
|
|
2 min
|
| 10 min
|
|_____________|
This menu function updates the values of the main screen.
An automatic refresh can be started at intervals of 10 sec, 30 sec, 2 min, or 10 min. The function can be
cancelled with Ctrl-C.
Operating / Restart
_______________
|
|
| Operating.. |
|
|
________|____
|
|
|____| Restart..
|
|
|
________|_____
|
|
|___| Warm
|
| Cold
|
|_____________|
The Restart menu function starts the database server from OFFLINE or COLD operating mode into
WARM mode. If the WARM operating mode is not reached after activating the Restart menu function,
the possible error cause can be determined by using the Diagnose / Op Messages menu function.
If the serverdb belongs to a distributed database, the Warm Local function is provided in addition to
connect the serverdb to a distributed database.
Operating / Restart / Warm
Restart / Warm starts the serverdb; i.e., switches the serverdb into WARM mode.
In the event of a system crash, Restart / Warm ensures that all committed transactions are redone and that
all uncommitted transactions are rolled back.
The function can be executed in COLD or OFFLINE operating mode. In OFFLINE operating mode,
Control first switches the serverdb into COLD mode.
85
Operating Menu Function
Adabas D: Control
If the serverdb belongs to a distributed database, Restart / Warm is performed in two phases. In the first
phase, all committed transactions are redone and all uncommitted transactions are rolled back, and
EXCLUSIVE locks are set for all "pending" transactions. "LOCAL RESTART: Ready" displayed in
OPMSG2/3 (DIAGFILE) indicates successful termination of the first phase.
In the second RESTART phase, a connection is established to the network specified by the serverdb
entries contained in the system catalog. Depending on whether the starting serverdb or the network
represents the majority of replicated objects, the corresponding log entries are copied from or to the other
serverdbs and are redone. Moreover, pending transactions are resolved.
Although no connection to other serverdbs can be established, for example, because these have been
disconnected from the network by DISCONNECT or SHUTDOWN, the distributed RESTART terminates
successfully and the started serverdb is ready to receive.
"DISTRIBUTED RESTART: Ready" displayed in OPMSG2/3 (DIAGFILE) indicates successful
termination of the second phase.
Operating / Restart / Cold
Restart / Cold switches the serverdb from OFFLINE mode into COLD operating mode. In COLD mode,
Control only provides the operations allowed for this mode (example: restore of the serverdb). These
operations are valid for both a stand-alone serverdb and a serverdb belonging to a distributed database.
Operating / Restart / Restart Local
A normal Restart / Restart Local can influence distributed database operation if extensive modifying
operations on replicated objects must be redone in the serverdb after establishing a connection to the
network, because the objects are locked for other applications while being processed by the system.
Restart / Restart Local starts a serverdb without establishing a connection to the network. This
corresponds to the first phase of the Restart / Warm function. It is possible to include the started serverdb
in the network at a later time using the Restart / Reconnect function).
Operating / Restart / Restart Copy
The Restart / Restart Copy function is provided in COLD operating mode. Restart / Restart Copy gives
the same result as the Restart function. In contrast to the Restart function, the Restart / Restart Copy
function updates the distributed data of the database by copying instead of applying the log of the majority
serverdb. This function is useful, for example, if the log of the majority serverdb does no longer contain
the needed data. Before the global, distributed data is copied from the majority serverdb, it is deleted on
the local serverdb.
Operating / Restart / Reconnect
The Restart / Reconnect function can only be executed in a distributed database. It performs the second
phase of the Restart / Restart Local function. Before Restart / Reconnect can be executed, Restart /
Restart Local must have been performed. It can be useful for time and performance reasons to deliberately
execute the two phases of Restart / Restart Local in two steps.
86
Adabas D: Control
Operating Menu Function
Operating / Restart / Reconnect Copy
The Restart / Reconnect Copy function is used in a WARM database. This function is useful when the
Restart / Reconnect function function has failed, because the distributed data could not found out from the
log of the majority serverdb for the reconnect. For Restart / Reconnect Copy, the distributed data is
updated by copying as it is done for the Restart / Restart Copy function. Before the global, distributed data
is copied from the majority serverdb, it is deleted on the local serverdb. This function should only be used
in exceptional cases, because the copy procedure can take a very long time.
Restriction: The local serverdb must not be the majority serverdb.
Operating / Shutdown
_______________
|
|
| Operating.. |
|
|
________|_______
|
|
|____| Shutdown..
|
|
|
___________|_____
|
|___| Cold
| Offline
|
|
|
|________________|
The Shutdown menu functions switch the database server from WARM into COLD mode. This is
displayed as OFFLINE mode.
If Exit is used in COLD mode to leave Control, a window is displayed providing the STOP button. This
button can be used to completely shut down the database server, before terminating Control.
The Shutdown / Coldmenu function is only provided in WARM mode to switch the Adabas server into
COLD mode. A screen displayed which allows the user to cancel the function, perform a normal
Shutdown (all transactions can regularly be terminated), or perform a Shutdown Quickthat aborts any
existing connections and transactions.
The Shutdown / Offline menu function shuts down the Adabas server. In WARM mode, a screen is
displayed which allows the user to cancel the function, perform a normal Shutdown, or perform a
Shutdown Quick . Afterwards, the Adabas server is in OFFLINE mode.
For a serverdb belonging to a distributed database, Shutdown shuts down the local serverdb passing the
MAJORITY status to the serverdbs remaining in the network. Shutdown Quick disconnects a serverdb
from the network; in consequence, pending transactions can occur and the serverdb that shuts down does
not pass the MAJORITY status.
A normal Shutdown fails when the serverdb that shuts down was connected to the network and the
shutdown is done simultaneously with a connect or disconnect of other serverdbs.
87
Operating Menu Function
Adabas D: Control
Operating / Update Statistics
_______________________
|
|
| Update Statistics.. |
|
|
________________|_____
|
|
|____| All Tables
|
| Table
|
| Column
|
|______________________|
This function updates the statistical information of the database. This includes the number of table entries,
the size of tables and indexes, and the value distribution (distinct values) of indexes or columns; it stores
this information in the catalog.
The Adabas optimizer needs these specifications to find out the best processing strategy for complex SQL
statements. If the sizes or value assignments have considerably changed in the database, a new Update
Statistics is required. We recommend to perform an Update Statistics once a week.
If Adabas determines differences between the optimizer assumptions from the last Update Statistics and
the current state of a table, it attempts to perform an implicit Update Statistics. If there are conflicting
locks, this attempt might be aborted, so that the explicit Update Statistics is not replaced completely.
The operation can be applied to particular tables, particular columns or to all base tables of the database
server. In the Schedule Manager (see Section Backup / Schedule Manager), an Update Statistics is always
performed on the whole serverdb.
Operating Exit
This function is used to leave Control. If the database server is in COLD operating mode, the database can
be switched OFFLINE by selecting the STOP button. All active database processes are closed.
88
Adabas D: Control
Info Menu Function
Info Menu Function
_______________
|
|
| Info..
|
|
|
________|_____________
|
|
|____| Activity
|
| Configuration
|
| Distribution
|
| Users
|
| Caches
|
| I/O Accesses
|
| Locks
|
| Logs
|
| Processes
|
| Regions
|
| Memory
|
| Version
|
|______________________|
The functions of the Info menu can be used to retrieve information about caches, logical and physical I/O,
locking states of database objects, database connections, the state of the log and of the logging processes,
the states of database processes, conflicting shared memory segments, main memory usage, the command
or system profile as well as the version identification of Adabas.
In the display screen, it is possible to page down using the Next menu function and to page up using the
Previous menu function. The End menu function closes the display screen, returning to the main screen of
Control.
In some info screens, it is possible to display the sizes in the corresponding format by using the In Pages
or In KB menu function. This setting is then also valid for the main screen until it is reset by activating the
other menu function.
To interpret this information, an understanding of parts of the Adabas implementation is required. Such an
understanding may be obtained from the training program for Adabas Database Administration. A detailed
interpretation of these outputs is usually only needed for support purposes.
This chapter covers the following topics:
Info / Activity
Info / Configuration
Info / Distribution
Info / Users
Info / Caches
Info / I/O Accesses
89
Info Menu Function
Adabas D: Control
Info / Locks
Info / Logs
Info / Processes
Info / Regions
Info / Memory
Info / Version
Info / Activity
This menu function displays the most important events and activities of the Adabas server, showing
summarized information about the states of the data buffers, the number and type of the commands
processed by the Adabas server, the applied search strategies, the state of lock synchronization, and the
activities of the logging process.
Example:
___________________________________________________________________________
|
|
|
Cache activity
Size KB
Accesses
Hits
|
Hit rate %|
|
|--------------------------------------------------------------------------|
|
|
|
Data..................
800
349
349
100 |
|
|
Converter.............
987
421
418
99 |
Catalog...............
3264
130
104
|
80 |
Temporary.............
120
0
0
0 |
|
|
|
Command activity
|
|--------------------------------------------------------------------------|
|
SQL commands ........
32
Creates..........
4 |
|
Rollbacks............
4
Alters...........
0 |
|
Commits..............
3
Drops............
0 |
|
Prepares.............
11
|
Executes.............
22
Catalog scans....
7 |
|
|__________________________________________________________________________|
On the first page, the display contains the following information about the Adabas caches:
Total number of accesses, successful and unsuccessful accesses to the Adabas data cache as well as
the percentage of successful accesses(Data)
Accesses to the buffers (caches) are shown in the same way for
the Catalog
the converter
90
Adabas D: Control
Info Menu Function
the temporary data cache (Temporary)
The hit rate for the cache areas indicates whether the configured size of these areas is sufficient. The
data cache and the converter cache hit rate is especially important. It should be as close to 100% as
possible. Values under 70% are insufficient and a sign of bad performance.
In the following, information about the processed SQL statements is shown:
Number of SQL statements
(SQL Commands)
Number of ROLLBACKs
(Rollbacks)
Number of COMMITs
(Commits)
From the number of COMMITs and ROLLBACKs results the number of transactions.
Number of dynamic SQL statements
(Prepares)
Number of executions of dynamic SQL statements
(Executes)
Number of SQL statements for the creation of database objects
(Creates)
Number of SQL statements for the alteration of database objects
(Alters)
Number of SQL statements for the dropping of database objects
(Drops)
Number of sequential read commands through the catalog
(Catalog scans)
The next section shows the I/O activities:
91
Info Menu Function
Adabas D: Control
___________________________________________________________________________
|
|
|
I/O activity
|
|
|
|--------------------------------------------------------------------------|
|
|
|
Physical reads......
0
Logical reads......... 344 |
|
Physical writes.....
0
Logical writes........ 173 |
|
|
|
Locking activity
|
|--------------------------------------------------------------------------|
|
Entries available... 5100
Row locks............... 4 |
|
Max. used...
4
|
Avg. used...
0
|
|
Lock holder.........
0
Collisions.............. 0 |
|
Lock requester......
0
Escalations............. 0 |
|
|
Table locks............. 7 |
|
Logging activity
|
|--------------------------------------------------------------------------|
|
Logpages written....
0
Group commits........ .. 0 |
|
Waits for logwriter.
0
Log queue overflows..... 0 |
|
|
|
Scan and sort activity
|
|--------------------------------------------------------------------------|
|
Table scans.........
9
Cache sorts............. 9 |
|
Index scans.........
0
Row sorts............... 9 |
|__________________________________________________________________________|
92
Adabas D: Control
Info Menu Function
Number of physical reads
Physical
Number of physical writes
Physical
Number of logical reads
Logical
Number of logical writes
Logical
The following information about the locking activities is output:
Maximum number of lock entries available
Entries available
The maximum number of available lock entries can be specified using the MAXLOCKS system
parameter (see Section Installing a New Serverdb, "Configuration Parameters") of the Configuration
/ Alter Parameters / Kernel menu function.
Maximum number of entries used in the lock list
Entries, Max Used
Average number of entries used in the lock list
(Entries, Avg. Used)
Number of active lock holders
Lock holder
Number of current lock requests
Lock requester
Total number of row locks set
Row locks
Number of table locks set
Table locks
Number of lock collisions
(Collisions)
93
Info Menu Function
Adabas D: Control
Number of lock escalations
(Escalations)
The number of lock collisions and lock escalations in relation to the total number of locks shows whether
the chosen number of configured lock entries is sufficient for the database tasks.
In the next section, some essential information about the logging activities is output:
Number of log pages written(Logpages written)
The number of log pages written is an expression of the modifying activities on the database. In
normal database work, the log devspace is the most I/O intensive area.
Number of wait states for log write operationsWaits for logw
Number of group commitsGroup co
If a transaction is completed, then, before writing the actual commit, a check is made as to whether
other transactions have reached a commit as well. If so, the writing of the commits for the
transactions is done in a single I/O operation.
Number of log queue overflowsLog queue overflows
In the last section, statistics about successful scan and sort activities are output:
Number of sequential scans through the whole base table(Table Scans)
Sequential scans are the slowest search operations. Too frequent scanning can be a sign of poor
database design. The creation of additional indexes on the respective tables could be the remedy.
Number of scans for which an index was read sequentially without accessing base table rows(Index
Scans)
Number of sorts within the cache(Cache sorts)
Number of sorts within rows after an insert(Row sorts)
Info / Configuration
This menu function produces both the current values of the database management system configuration
and the current usage of storage space.
Example:
94
Adabas D: Control
Info Menu Function
95
Info Menu Function
Adabas D: Control
|
Used temporary space..............in %
1 |
___________________________________________________________________________
|
|
Free space.......................in KB
|
|
Free space........................in %
Serverdb Status
|
|
Last data page no
243124 |
|
12 |
|
49576 |
|
|__________________________________________________________________________|
|--------------------------------------------------------------------------|
|
|
|
Serverdb mode READ/WRITE is...........
ON |
|
Accounting is.........................
OFF |
|
Schedule is...........................
OFF |
|
Monitoring is.........................
ON |
|
Max. database users...................
15 |
|
Max. transaction......................
31 |
|
Max. server databases for distribution
1 |
|
Max. distribution tasks for serverdb..
10 |
|
Size of data cache...............in KB
6000 |
|
Size of procedure data cache.....in KB
80 |
|
Size of procedure code cache.....in KB
70 |
|
Size of temp cache...............in KB
120 |
|
Size of catalog cache. ..........in KB
1024 |
|
Size of converter cache..........in KB
400 |
|
Max lock entries......................
1500 |
|
Checkpoint wanted.....................
NO |
|
Vtrace
|
Termchar set..........................
|
|
NO |
IBM437_GER ASCII |
|
Serverdb Usage
|
|--------------------------------------------------------------------------|
|
Total data space.................in KB
1953736 |
|
Used space.......................in KB
1698612 |
|
Used space........................in %
87 |
|
Used temporary space.............in KB
12000 |
96
Adabas D: Control
Info Menu Function
___________________________________________________________________________
|
|
|
Serverdb Configuration
|
|
|
|--------------------------------------------------------------------------|
|
|
|
Default code..........................
ASCII |
|
Date/Time format......................
INTERNAL |
|
Session timeout.......................
900 |
|
Lock timeout..........................
360 |
|
Request timeout.......................
180 |
|
Log mode..............................
NORMAL |
|
Log segment size......................
20000 |
|
No of Archive Logs....................
1 |
|
No of Data Devspaces..................
1 |
|
Mirrored Devspaces....................
NO |
|
|
|
SYS DEVSPACE:
|
|--------------------------------------------------------------------------|
|
Devspace name ........................
/u/sys |
|
Devspace size ................... in KB
14 724 |
|
|
|
TRANSACTION LOG:
|
|--------------------------------------------------------------------------|
|
Devspace name ........................:
/u/tra |
|
Devspace size .................... in KB
120000 |
|
|
|
ARCHIVE LOG 1:
|
|--------------------------------------------------------------------------|
|
Devspace name ........................
|
Devspace size .....................in KB
|
|
/u/arc1 |
120000 |
|
DATA DEVSPACE 1:
|
|--------------------------------------------------------------------------|
|
Devspace name ........................
/u/dat1 |
|
Devspace size .....................in KB
1953736 |
|__________________________________________________________________________|
The displayed values are composed of the parameters for the data devspaces, the log devspaces, and the
cache areas. Should modifications to these values become necessary, these can be done using the
Configuration / Alter Parameters menu function.
Info / Distribution
SHOW SERVERDB displays the serverdbs connected to the local serverdb showing the "MAJORITY"
status in addition. If the local serverdb belongs to a network partition without the "MAJORITY" status,
then it is not possible to issue a statement of the "MAJORITY"status of the remaining serverdbs and
"UNDEF" is therefore displayed as the "MAJORITY" status.
Example:
97
Info Menu Function
Adabas D: Control
___________________________________________________________________________
|
|
|
Info Distribution
|
|
|
|--------------------------------------------------------------------------|
|
|
|
No
State
Majority
Serverdb
Servernode
|
|--------------------------------------------------------------------------|
|
0
UP
YES
DBDEMO
mynode
|
|
1
UP
YES
OTHERDB
wdnode
|
|
2
DOWN
NO
DBDEMO2
mynode
|
|__________________________________________________________________________|
Info / Users
This menu function shows all database users who are currently connected to a database.
Example:
___________________________________________________________________________
|
|
|
User ID
Term ID
|
MAYER
hst1tys3
|
|
SCHULZ1
hst1tys5
|
|
DEMO
hst3tys1
|
|
MAYER
hst1tys2
|
|
TEST02
hst2tys5
|
|
|
|
|__________________________________________________________________________|
98
Adabas D: Control
Info Menu Function
The following information is output:
USERID
The name of the connected user.
TERMID
A terminal identification which depends on the particular operating system.
Info / Caches
This menu function shows information about the effectiveness of the Adabas server’s data buffering
(caches). The Adabas server keeps statistics on the current number of both physical and buffered read and
write accesses.
Example:
___________________________________________________________________________
|
|
|
Cache
Accesses
Successful
Failed
Hit rate %|
|
|
|--------------------------------------------------------------------------|
|
|
|
Data..................
16299
15946
298
98 |
|
File Directory.........
1755
1522
233
84 |
|
FBM Cache..............
6
6
0
100 |
|
Converter..............
22
22
0
100 |
|
USM....................
0
0
0
0 |
|
Log....................
8
8
0
100 |
|
Catalog................
5941
4584
1357
77 |
|
Temporary..............
0
0
0
0 |
|__________________________________________________________________________|
The display contains the following information about the Adabas caches:
Total number of accesses (Accesses) as well as number of successful (Satisfied) and unsuccessful
(Failed) accesses to the Adabas data cache
Percentage of successful accesses to the database data cache(Hit rate %)
Analogous to the accesses to the Adabas data cache, the values for the following caches are displayed:
the file directory cache (File directory)
The database system uses this area for internal organization. For example, the page addresses of the
roots of the individual data trees are administered there.
the FBM cache (FBM Cache)
This area is used for the management of free disk blocks.
99
Info Menu Function
Adabas D: Control
the converter cache (Converter Cache)
the USM cache (USM Cache)
This area is used for the User Storage Management.
the log cache (Log)
During rollback, the log cache helps to accelerate the process.
the dictionary cache (Catalog)
Information from the data dictionary of the database provided in the dictionary cache is available fast
because no accesses to the disk are required. The hit rate for this area should therefore be more than 80%.
number of accesses to the temporary data cache (Temporary)
Temporary result sets are managed in the temporary cache. Such result sets are created, e.g., during
the execution of a SELECT statement with ORDER BY clause.
Info / I/O Accesses
This menu function shows statistics on the number of physical and logical accesses to the different data
devspaces of an Adabas database.
Example:
___________________________________________________________________________
|
|
|
Logical I/O
Physical I/O
Reads Writes
Reads Writes
|
|
|
|
Datapages
|
|
|
|--------------------------------------------------------------------------|
|
|
|
Catalog..............
256
0
1
0
|
|--------------------------------------------------------------------------|
|
Permanent............
1302
58
5
33
|
|
Temporary............
3907
1950
0
0
|
|--------------------------------------------------------------------------|
|
Leaf.................
4079
1941
6
32
|
|
Level 1..............
1344
67
0
1
|
|
Level 2..............
38
0
0
0
|
|
Level 3..............
4
0
0
0
|
|
* Summary *..........
5465
2008
6
33
|
|__________________________________________________________________________|
For each data devspace, the number of logical and physical read and write accesses is displayed:
Catalog
denotes the data devspace used by the data dictionary of the database system. Frequent writing
to this area is a sign of modifications made to the database design.
100
Adabas D: Control
Info Menu Function
Permanent
is the actual data devspace for permanent data.
Temporary
is a data devspace on disk used temporarily. It is required, e.g., for the generation of selected
datasets.
Leaf, Level 1, Level 2, Level 3
display information about the structure of the data trees. Adabas organizes the storage of data in
form of B* trees.
Info / Locks
This menu function informs about the current locks and lock requests of the Adabas server.
Example:
___________________________________________________________________________
|
|
|
Lock List Statistics --------------------------------------------------|
|
|
|
Avg. Entries.........
7 Max. Entries...........
196 |
|
Collisions...........
0 Escalations............
0 |
|
Row Locks............ 826 Table Locks............
261 |
|
|
|
Lock State ------------------------------------------------------------|
|
|
|
|
DBADM.SUPPLIERS 9 00FFFE000000000001
LOCK ROW excl (360s) 00.00000058.000008 DBADM
|
qlcptys4
012 |
|__________________________________________________________________________|
The upper part of the screen shows information about the average number of locks held and requested, the
maximum number of locks held and requested, the number of collisions and escalations that have
occurred, as well as the number of current row or table locks.
In the lower part of the screen, all current locks and lock requests are described in detail.
In addition to the table and row concerned, the kind of lock, the lock holder, and the lock holder’s terminal
are shown.
Share locks protect used data against modifications while being accessed. Other users can only
read-access data thus locked.
The displayed exclusive locks prevent other users from accessing the same data. Not even read-access is
possible. If exclusive locks are held for a longer time, they are disadvantageous for the user. In this
context, the parameters LOCK REQUEST TIMEOUT and LOCK INACTIVITY TIMEOUT are
interesting. These time values that can be configured (see Section Info / Configuration) serve to solve
blocking and deadlock situations.
101
Info Menu Function
Adabas D: Control
LOCK REQUEST TIMEOUT indicates the time a process may wait for the setting of a requested lock
before it will be aborted.
LOCK INACTIVITY TIMEOUT indicates the time a process may hold locks without activities, before it
will be rolled back automatically (ROLLBACK).
Info / Logs
This menu function displays the state and activity of the logging process.
The following information is output:
Maximum storage space available on the log devspace(Max. size)
Size of a segment(Segment size)
Segmentation of the log devspace is especially advantageous for the log mode Autosave. Completed
log segments are automatically saved while the database is operational. Afterwards, the saved
segment is available again for the logging mechanism.
Size of space reserved on the log devspace(Reserved size)
Mode in which the log is operated(Mode)
Size of used space(Used size)
Percentage of the devspace used(Used in %)
The utilization level of the log devspace should be monitored carefully. If the utilization level reaches
100%, the database is shut down automatically. Work can only be continued after the log devspace
has been saved and cleared. If the utilization level exceeds 60%, messages are output to the
diagnostic file of the database.
Space available(Free size)
Percentage of the devspace unused(Free size in %)
Example:
102
Adabas D: Control
Info Menu Function
___________________________________________________________________________
|
|
|
Log
|
|--------------------------------------------------------------------------|
|
Max. size in KB........ 159988 Reserved size in KB....
|
Segment size in KB.....
40000 Log mode...............
NORMAL |
|
Used size in KB........
17316 Used size in %.........
11 |
|
Free size in KB........ 142672 Free size in %.........
89 |
|
|
4 |
|
Since database restart
|
|--------------------------------------------------------------------------|
|
Physical writes........
41 Segments completed.....
|
|
0 |
|
Since last save of log
|
|--------------------------------------------------------------------------|
|
Savepoints written.....
|
KB per savepoint.......
31 Checkpoints written... .
558 KB per checkpoint......
|
|
1 |
17312 |
|
Queue
|
|--------------------------------------------------------------------------|
|
Queue size in KB.......
20 Group commits..........
0 |
|
Queue allocated in KB..
8 Waits for logwriter....
38 |
|
Queue entries..........
41 Max. waits.............
1 |
|
Queue overflows........
0 Avg. waits.............
1 |
|__________________________________________________________________________|
The next section displays the write and read activities (physical writes, physical reads), as well as the
number of completed segments (Segment completed) in the log devspace since the last restart of the
database system.
103
Info Menu Function
The next section displays statistical information about save and checkpoint activities:
Number of SAVEPOINTS written(Savepoints)
Number of CHECKPOINTS written(Checkpoints)
Average SAVEPOINT distance, measured in KB(KB per savepoint)
Average CHECKPOINT distance, measured in KB(KB per checkpoint)
The next section displays information about the log queue before the logging process:
Current size of the log queue(Queue size)
Number of group commits(Group commits)
Devspace currently allocated(Queue allocated)
Number of wait states for log write operations(Waits for logwriter)
Maximum size of log queue(Queue entries)
Maximum number of wait states per log page(Max. waits)
Number of log queue overflows (Overflows)
Average number of wait states per log page(Avg. waits)
Info / Processes
This menu function shows the states of all database processes that are currently active.
Example (of Unix):
104
Adabas D: Control
Adabas D: Control
Info Menu Function
___________________________________________________________________________
|
| ID
| pid
|
UNIX
TYPE
APPL
State
Timeout
pid
Region
Wait
cnt
idx
UKPsleep
|
sec
|
| T1
7888 Timer
-1
Vsleep
0
0
0
0
2670294 (s) |
| T2
7888 Logwr1
-1
Vsuspend
0
0
0
0
2670294 (s) |
| T3
7888 Logwr2
-1
Vsuspend
0
0
0
0
2670294 (s) |
| T4
7887 Bufwr.
-1
Vsuspend
0
0
0
0
590 (s) |
| T5
7888 Bufrd.
-1
Vsleep
0
0
0
0
2670294 (s) |
| T6
7888 Sender
-1
Vsuspend
0
0
0
0
2670294 (s) |
| T7
7888 Receiv.
-1
Vsuspend
0
0
0
0
2670294 (s) |
| T9
7888 Server
-1
Vsuspend
0
0
0
0
2670294 (s) |
| T10
7888 Server
-1
Vsuspend
0
0
0
0
2670294 (s) |
| T11
7888 Server
-1
Vsuspend
0
0
0
0
2670294 (s) |
| T12
7888 Server
-1
Vsuspend
0
0
0
0
2670294 (s) |
| T13
7888 Server
-1
Vsuspend
0
0
0
0
2670294 (s) |
| T14
7888 Server
-1
Vsuspend
0
0
0
0
2670294 (s) |
| T15
7888 User
26798
Command wait -1
0
0
0
2670294 (s) |
| T16
7888 User
26794
Command wait -1
0
0
0
2670294 (s) |
| T17
7888 User
26799
Command wait -1
0
0
0
2670294 (s) |
| T18
7888 User
26800
Command wait -1
0
0
0
2670294 (s) |
| T19
7888 User
26797
Command wait -1
0
0
0
2670294 (s) |
| T20
7888 User
26795
Command wait -1
0
0
0
2670294 (s) |
| T21
7888 User
26796
Command wait -1
0
0
0
2670294 (s) |
|
3 Tasks are in State ’Connect wait’
|
|__________________________________________________________________________|
The most important process states are the following:
105
Info Menu Function
Adabas D: Control
Command Wait
kernel waits for command
Vsuspend
wait state, e.g., for system resources
IOwait
process is waiting for I/O
Vsleep
process is not active for a short time
Vbegexcl
process is waiting for Critical Region (latch)
Running
process is running
Runnable
process is operable, but waits for CPU allocation
Vresume
prompting command
Info / Regions
This menu function shows the states of all shared memory segments to which access is synchronized via
semaphores. Especially interesting are the collision rates on certain shared memory segments. Collision
rates over 10% are critical.
Evaluation of this data requires an understanding of the internal structures of Adabas.
Example (of Unix):
106
Adabas D: Control
Info Menu Function
___________________________________________________________________________
|
|
| Index
Region
|
1
|
2
|
3
BUFWRTR
|
4
BUF2WRTR
|
5
CONFIG
|
6
|
7
|
8
|
9
|
Owner
Get-Cnt
Tas-Cnt
Coll.
Waits
BACKUP
0
0
0
0
BREAK
0
0
0
0
515823
76
3618
3
0
239
DATACACH
DIAGCACH
Excl.
Coll %
|
0
0.00 %
|
0
0.00 %
|
0
0
0.70 %
|
0
0
0
0.00 %
|
0
0
0
0
0.00 %
|
1032765
0
1
0
0
0.00 %
|
692
0
0
0
0
0.00 %
|
DRDA
0
0
0
0
0
0.00 %
|
ERRTXT
0
0
0
0
0
0.00 %
|
10
FLUSH
0
0
0
0
0
0.00 %
|
|
11
KEYMEM
|
12
LOCK
|
13
|
1
0
0
0
0
0.00 %
|
33442
0
32
0
0
0.10 %
|
LOG
3677
0
4
0
0
0.11 %
|
14
LOGWRITE
3805
0
0
0
0
0.00 %
|
|
15
NET
40
0
0
0
0
0.00 %
|
|
16
NETDOWN
3
0
0
0
0
0.00 %
|
|
17
NETSEND
0
0
0
0
0
0.00 %
|
|
18
PERMFDIR
21942
0
0
0
0
0.00 %
|
|
19
PSM
8938
0
2
0
0
0.02 %
|
|
20
SURROGAT
321
0
0
0
0
0.00 %
|
|
21
TEMPFDIR
206
0
3
0
0
1.46 %
|
|
22
TRACE
498504
0
25
0
0
0.01 %
|
|
23
TREE
188800
0
0
0
0
0.00 %
|
| Alone :
| Count : 45939
| Sleep Count : 38
|
|
Collisions : 2
|
|
|__________________________________________________________________________|
107
Info Menu Function
Adabas D: Control
Info / Memory
This menu function shows information about the database server’s address space requirements.
Example (of Unix):
___________________________________________________________________________
|
|
|
Size of code
KB 3216
|
|
Size of task stacks
KB 3874
|
|
Size of shared data
KB 19772
|
|
Unused shared dyn pool KB 27
|
|
Unused shared dyn data KB 12
|
|
Number of existing tasks 30
|
|__________________________________________________________________________|
Info / Version
This menu function displays the current version of the database kernel and of Control.
108
Adabas D: Control
Options Menu Function
Options Menu Function
_______________________
|
|
|
Options ..
|
|
|
________________|______
|
|____|
|
Reset Counter
|
|
Remote SQL Server .. |
|
Accounting ..
|
|
Access Mode ..
|
|
Kernel Trace ..
|
|
Autosave Log ..
|
|
Schedule ..
|
|_______________________|
This chapter covers the following topics:
Options / Reset Counter
Options / Remote SQL Server
Options / Accounting
Options / Access Mode
Options / Kernel Trace
Options / Autosave Log
Options / Schedule
Options / Reset Counter
This menu function resets the database activity counters to zero.
Options / Remote SQL Server
_______________________
|
|
|
Options ..
|
|
|
________________|______
|
|
|____|
Remote SQL Server .. |
|
___________________|______
|____|
|
| Start
|
| Stop
|
|________________________|
109
Options Menu Function
Adabas D: Control
This menu function starts and shuts down the Remote SQL Server that is required for a client/server
connection. If the Remote SQL Server is started, application processes running on another computer
(client) can directly connect to the Adabas server database and open database sessions there.
The Remote SQL Server / Startmenu function starts the remote SQL server. The Remote SQL Server /
Stopmenu function aborts all connections that users have established from other computers to this database
server.
Options / Accounting
_______________________
|
|
|
Options ..
|
|
|
________________|______
|
|____|
|
|
Accounting ..
|
___________________|______
|____|
|
| On
|
| Off
|
| Trigger
|
|________________________|
The Accounting / Onmenu function initializes the recording of statistical information about resources
used. This information is kept for a particular session. It is entered into the table SYSACCOUNT which
has the following structure:
110
Adabas D: Control
Options Menu Function
CREATE TABLE SYSACCOUNT
(
SERVERDBNO
FIXED
( 4) KEY,
SESSION
FIXED
(18)
KEY,
USERNAME
VARCHAR (18),
GROUPNAME
VARCHAR (18),
SENDERID
CHAR
DBANAME
VARCHAR (18),
CONNECTDATE
DATE,
CONNECTTIME
TIME,
RELEASEDATE
DATE,
RELEASETIME
TIME,
( 8),
COMMANDCOUNT FIXED
(10),
CPUTIME
FIXED
(10),
IOCOUNT
FIXED
(10),
SESSIONEND
CHAR
( 8),
DBPROGTYPE
VARCHAR ( 8),
DBPROGOWNER
VARCHAR (18),
DBPROGNAME
VARCHAR (18))
The data collected in the table SYSACCOUNT can be evaluated for a user-specific accounting. The data
is not implicitly deleted or overwritten.
For sessions that do not leave traces in the table SYSACCOUNT although they run for a very long time,
there is the Accounting / Trigger menu function. This function can be used to signal each user session to
enter a row of information into the table SYSACCOUNT. This signal is always checked before a new
SQL statement is executed. After processing the signal, it has become meaningless. This means that a new
entry can only be made using Accounting / Trigger again or at the end of the session.
Options / Access Mode
_______________________
|
|
|
Options ..
|
|
|
________________|______
|
|____|
|
|
Access Mode ..
|
___________________|______
|____|
|
|
Read/Write
|
|
Read Only
|
|
Nolog Off
|
|________________________|
111
Options Menu Function
Adabas D: Control
The Access Mode menu function enables or disables write access to the database. Usually, it is always
possible to write- and read-access the database. The Access Mode / Read Only menu function prevents the
database from being modified. Write transactions that are active while changing from READ/WRITE
mode to READ-ONLY mode can terminate their write operations in a regular way.
In exceptional cases, the Nolog Off menu function can be used to cancel write protection for tables loaded
with NOLOG. When backing up the serverdb, write protection is automatically cancelled.
Options / Kernel Trace
_______________________
|
|
|
Options ..
|
|
|
________________|______
|
|____|
|
|
Kernel Trace ..
|
___________________|______
|____|
|
|
On
|
|
Off
|
|
Flush
|
|________________________|
The Kernel Trace / Onmenu function enables an Adabas kernel trace for a particular command
(VTRACE).
The Kernel Trace / Offmenu function disables the tracing. The Kernel Trace / Flushmenu function is only
meaningful if the Adabas kernel trace has been previously enabled. Kernel Trace / Flush must be
performed to write the remaining buffered entries to the trace file. This file cannot be read directly. It can
only be interpreted by Adabas customer support.
The trace can be evaluated using Diagnose tools provided in Superuser mode of Control.
Options / Autosave Log
_______________________
|
|
|
|
Autosave Log ..
|
___________________|______
|____|
|
|
Start
|
|
Stop
|
|________________________|
The start option can be used to enable an automatic backup of log segments. The state of the automatic
backup of log segments is displayed in the main screen (Autosave: Enabled, Disabled or Active).
To be able to assign a medium to the backup, the media list as described in Section Backup / Save is
displayed for selection. Whenever a log segment has been completed, the backup is automatically
performed in background. If there is no log segment sufficiently filled to be saved, the system waits two
minutes before checking for another completed log segment.
We therefore recommend to use a separate backup device for the automatic backup of log segments.
112
Adabas D: Control
Options Menu Function
The automatic log segment backup must be terminated before a data backup is performed ad hoc or within
the Schedule Manager (see Section Backup / Schedule Manager). While the automatic log segment
backup is enabled, no other backup activity can be performed. If the automatic log segment backup is
interrupted and restarted, the tape used for the automatic log segment backup should be changed to avoid
that the already saved log segments are overwritten.
We recommend to use a log devspace that consists of at least two segments. Whenever a segment has
been completed, the backup and subsequent clearing of this segment is automatically initiated. This has
the advantage that a log overflow is almost impossible. The use of this mechanism is especially
recommended for intensive write operations and long-running modifying transactions. Thus, the
utilization level of the log devspace does not need to be monitored constantly.
It must be ensured that there is sufficient free space on the backup medium for the resulting data stream. If
the end of the tape has been reached and no media size has been specified for the medium, the backup
terminates with the error message NEXT VOLUME REQUIRED. In this case, only the tape must be
changed and Autosave Log must be restarted. With the next start of Autosave Log, the corresponding log
segment will be written completely to the new tape.
Options / Schedule
_______________________
|
|
|
Options ..
|
|
|
________________|______
|
|____|
|
|
Schedule ..
|
___________________|______
|____|
|
|
On
|
|
Off
|
|________________________|
This option can be used to control the execution of scheduled actions of the Schedule Manager. If the
Schedule option is enabled (On), all actions confirmed are executed. If the Schedule option is disabled
(Off), actions can be scheduled and confirmed in the Schedule Manager. These actions, however, will not
be started for execution.
113
Backup Menu Function
Adabas D: Control
Backup Menu Function
_______________________
|
|
|
|
Backup ..
|
___________________|______
|____|
|
|
Save ..
|
|
Restore ..
|
|
Show History
|
|
Show Protocol
|
|
Media Manager ..
|
|
Generations
|
|
Schedule Manager ..
|
|________________________|
This menu function allows you to save and restore either the complete database contents and log contents,
or only the modifications made since the last database log backup medium used for the backup can be a
tape, a file, or a pipe. The save or restore operations only apply to the addressed server database
(serverdb). Ad-hoc backups are performed interactively; i.e., Control expects that the required parameters
are entered in screens. Input can also be expected for started backups, e.g., if the capacity of the backup
medium is not sufficient for the backup. Incorrect entries or a timeout occurring due to delayed input can
have the effect that the backup is aborted.
This chapter covers the following topics:
Backup / Save
Backup / Restore
Backup / Show History
Backup / Show Protocol
Backup / Media Manager
Backup / Generations
Backup / Schedule Manager
Backup / Save
_______________________
|
|
|
|
Backup ..
|
___________________|______
|____|
|
|
|
Save ..
|
__________________|
|_____|
|
| Verify Devspace
|
| Data
|
| Updated Pages
|
| Log
|
| Log Segment
|
|__________________|
114
Adabas D: Control
Backup Menu Function
The following objects can be saved:
Data
saves the complete contents of database (Save / Data)
Updated Pages
saves all modifications made since the last backup (Save / Updated Pages)
Log
saves the complete log (Save / Log)
Log Segment
saves an individual log segment (Save / Log Segment)
Each backup is done to a backup medium that can be selected from the Media Manager. After selecting
the corresponding type of backup in the menu, the Media Manager appears to select or define the backup
medium. We recommend, however, to define the backup media in the Media Manager in advance.
After selecting, the backup expects a storage device in the specified backup medium. During the backup,
the storage device is provided with a label that indicates, e.g., the type of backup. The used label is
displayed and must be confirmed.
Backup / Save / Verify Devspaces
This menu function checks the consistency of the internal data structures in WARM or COLD operating
mode. If there are serious inconsistencies, the database must be restored in the same way as after a disk
failure.
In COLD operating mode, free storage pages wrongly recorded as used since an irregular end of database
operation are released to the free space management.
We recommend a Verify before performing a complete backup of the database.
Backup / Save / Data
The Save / Data menu function creates a backup version of the contents of the serverdb.
For backups in WARM mode, it must be taken into account that the database is saved with the state when
the backup operation was started. Modifications to the contents of the database made during the backup
operation are not saved.
Save / Data can also be executed in COLD mode. To be able to create a consistent database with the
generated backup version without having to restore more log devspaces during a subsequent Restore, the
database must be in a consistent state when saving. A database is in a consistent state, when it was
switched into COLD mode using the Operating / Shutdown / Cold Ok (not Quick) menu function.
It is necessary to perform a complete backup in adequate time intervals (e.g., at least weekly).
115
Backup Menu Function
Adabas D: Control
To ensure maximum data throughput, Save / Data can be used to simultaneously back up the serverdb to
several media. The maximum number of media to which simultaneous writing is possible can be set as
configuration parameter (see MAXBACKUPDEVS in Section Installing a New Serverdb under
"Configuration Parameters" and section Configuration / Alter Parameters / Kernel ). If a parallel backup
to several media is to be performed, a group of media must be defined as parallel media in the Media
Manager.
Control displays the following screen that must be confirmed:
___________________________________________________________________________
|
|
|
Media
Path
|
|
|
|__________________________________________________________________________|
|
|
|
Tape 1
/dev/rmt0
|
|
Tape 2
/dev/rmt1
|
|
Tape 3
/dev/rmt2
|
|
Tape 4
/dev/rmt3
|
|
|
|
_____________________________________________________________
|
|
|
|
|
|
|
|
|
|
|___________________________________________________________|
|
Number of volumes used for the last save:6
|
|
|
|
|
_____
|
|
|
|
|
_________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
The number of tapes required determines the behavior of Control during the save or restore operation.
Control saves or restores simultaneously until the number of required media has been reached. All the
media required beyond the specified number are sequentially written. Thus it can be controlled that either
as few media are used as possible or rather a maximum save or restore speed is obtained (then a large
number must be specified). The number of required media can be changed after pressing the F12 key.
The following schemes shall illustrate the reaction of Control. In the three example cases, six tapes are
needed for the data save and four tape devices are used in parallel. Writing a tape up to its end takes an
hour.
a) Control takes the last number of media used for this save as the number of tapes (six in the example).
After about an hour, the four tape devices are ready and request the next tape, one after the other. In
this case, only two of the four free tape devices request a tape; the other two tape devices are ignored
by Control.
116
Adabas D: Control
Backup Menu Function
b) With eight tapes provided, the four tape devices that have become free give notice one after the other
expecting another tape. The rest of the save can be done faster, because four tapes, instead of two, are
simultaneously written.
c) If less tapes are specified than needed (e.g. four), the last tape device that has become free gives
notice requesting all the tapes required one after the other. This variant of save takes the most time,
but all tapes, except the last one, are written up to their ends.
117
Backup Menu Function
Adabas D: Control
Backup / Save / Updated Pages
The Save / Updated Pages menu function creates an incremental backup version of the local serverdb’s
data devspace. This backup version contains all pages updated since the last Save / Data or Save / Updated
Pages.
For backups in WARM mode, it must be taken into account that the database is saved with the state when
the backup operation was started. Modifications to the contents of database made during the backup
operation are not saved.
Save / Updated Pages can also be executed in COLD mode. To be able to create a consistent database
with the generated backup version without having to restore more log devspaces during a subsequent
Restore, the database must be in a consistent state when saving. A database is in a consistent state, when it
was switched into COLD mode using the Operating / Shutdown / Cold Ok (not Quick) menu function.
Incremental backups are only advantageous when the database modifications concentrate on partial
database devspaces. As a rule, backup times are quite short with Save / Log, but recovery may take more
time.
As for the selected parallel media, Save / Updated Pages behaves like Save / Data.
Backup / Save / Log
The Save / Log menu function creates a backup of the whole log. After successful termination of the
backup operation, the log is cleared if the server database is in WARM operating mode. In COLD mode,
the log is not cleared after the backup.
Save / Log cannot be executed in log mode DEMO.
The log should always be saved in WARM mode. The log must be backed up in adequate time intervals
(e.g., daily), unless the backup is performed on log segments.
Note: Save / Log is also provided in COLD mode, but has another meaning there. A log saved in COLD
mode cannot be used for a restore within a sequence of log backups. A log saved in COLD mode can only
be used to save the last state before starting a restore operation. A log saved in COLD mode is always the
last log to be restored after all the other log or log segment backup versions have been restored.
Backup / Save / Log Segment
The Save / Log Segment menu function creates a backup version of the oldest completed log segment.
After successful termination of the backup operation, the log segment is cleared.
Log segments can be saved in WARM and in COLD mode. The backup of log segments must be
performed in adequate time intervals (e.g., daily). It is recommended to use Options / Autosave Log to
save a log segment automatically as soon as it has been completed.
For configurations without log segments, the Save / Log Segment menu function is only provided in
COLD mode. In this case, the whole log is saved as one segment and the log is cleared after successful
termination of the backup.
118
Adabas D: Control
Backup Menu Function
If a log should become full in an operative serverdb, the serverdb shuts down automatically. In this case,
Control can only reach the WARM mode after performing Save / Log Segment in COLD mode. Control
recognizes such a situation and automatically suggests this action.
Backup / Restore
_______________________
|
|
|
|
Backup ..
|
___________________|______
|____|
|
|
|
Restore
|
__________________|
|_____|
|
| Data
|
| Updated Pages
|
| Log
|
| Devspace
|
| Clear Log
|
|__________________|
The restore functions can only be used when the database system is in COLD operating mode (exception:
Restore / Devspace).
The following backups can be restored with Restore:
Data
restores a complete backup of the database (Restore / Data)
Updated Pages
restores an incremental backup (Restore / Updated Pages)
Log
restores the log devspace (Restore / Log (UNTIL) )
Devspace
restores a devspace from the mirrored devspace (Restore / Devspace)
After selecting the corresponding menu item, the Media Manager is displayed to select the restore
medium.
For restore, a storage device is expected in the specified backup medium label available on the tape is
displayed and must be confirmed.
Backup / Restore / Data
The Restore / Data menu function restores a backup version of the serverdb.
The configuration of the serverdb is not read from the backup version, but from the system devspace.
Therefore, the name of the configuration parameter SYSTEM DEVSPACE must be identical with that of
an intact system devspace.
119
Backup Menu Function
Adabas D: Control
The procedure for Restore / Data is similar to that for Save / Data.
Backup / Restore / Updated Pages
The Restore / Updated Pages menu function restores an incremental backup version of the data devspace.
Depending on the number of incremental backup versions, Restore / Updated Pages can be repeated in
succession as often as is necessary. In doing so, be careful to restore the incremental backup versions
exactly in the Save order.
Backup / Restore / Log (UNTIL)
The Restore / Log menu function restores a backup version of the log devspace, redoing the transactions
recorded there.
This function overwrites the existing log devspace. Therefore, the current contents of the log must be
saved with Save / Log (Cold) in cold mode to an external backup device or into an external file, before the
Restore / Log menu function can be executed for the first time.
Restore / Log allows for a "Point in Time Restore". After selecting the medium, the information
identifying the medium is displayed for confirmation. In this screen, the point in time can be defined up to
which the log entries are to be restored.
____________________________________________________________________________
|
|
|
created.........: 24.01.2002
17:37:24
|
|
version/volume..: 24.01.2002
17:37:24/0
|
|
server
|
label/blocksize : LOG_B1_1/1
: db_first
|
|
|
|
|
|
|
UNTIL
20000130
00145205
|
|
|
|
_____
|
|
|
|
|
_________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
Remark: The Restore / Log function can produce the error message "&#8209;8003 Log and Data must be
compatible" for the first log segments restored after a Restore / Data. This error message occurs if the
content of the restored log was generated before the restored save and therefore is irrelevant.
Backup / Restore / Devspace
Depending on the state and configuration of the database, Control performs the following functions:
COLD Mode (RESTORE LOG FROM DEVSPACE)
This function is used to recover a damaged log. In the event of a media failure in log mode DUAL or
NORMAL causing an "Emergency Shutdown", the defective log can be restored using Backup / Restore /
Devspace (once the media failure has been corrected).
120
Adabas D: Control
Backup Menu Function
In the following four cases, the devices are restored in COLD mode.
a)
Log Mode Normal
b)
Log Mode Dual
After restoring the transaction log in case b, the defective archive log can be restored in WARM mode
using Backup / Restore / Devspace.
c)
Log Mode Normal
d)
Log Mode Dual
If only the transaction log was intact (cases c and d), the archive log cannot completely be restored,
because only the transactions relevant for the Restart are copied from the transaction log to the archive
log. This means, the archive log cannot be used to restore the database using a former backup version of
the data devspace. Therefore a new backup of the data devspace is required which can only be performed
after putting the data devspace into a consistent state by Restart.
In log mode DUAL (case d), the transaction log is copied to the archive log and the mirrored archive log.
Control displays all log devices for the restore operation. If the defective log device is selected, the
function is executed as described. If an intact log device is selected, there is no effect.
121
Backup Menu Function
Adabas D: Control
WARM Mode (RESTORE FROM MIRRORED DEVSPACE
This function is used to recover a damaged mirrored devspace. In the event of a media failure in mirrored
devspace operation, the database continues working without this devspace, only accessing the intact
devspace of the pair of mirrored devspaces concerned. Once this devspace has been repaired, it can be
restored from the intact one using Backup / Restore / Devspace. Afterwards, both devspaces work in
normal mirrored devspace operation.
e)
Mirrored Devspaces
This function is only active if the database is in WARM mode and mirrored devspaces are configured.
In this sense, the log mode DUAL represents mirrored devspace operation. This means, in the event of a
media failure in the log (transaction log, archive log or mirrored archive log), the database disables the
defective devspace. Once the disabled devspace has been repaired, it can be re-integrated using Backup /
Restore / Devspace.
f)
122
Log Mode Dual
g)
Log Mode Dual
Adabas D: Control
Backup Menu Function
In the event of a second media failure in another log (e.g. transaction log failure when an archive log is
already defective) results in an "Emergency Shutdown". In this case, the log damaged last must be
restored first using Backup / Restore / Devspace in COLD operating mode (cases b and d).
Backup / Restore / Clear Log
This function is used to clear the complete log in order to resume work on an old database state that was
restored using a data backup reloaded with Restore / Data.
Backup / Show History
When selecting this menu item, the results of the backup operations performed so far are shown with the
backup identification, backup type, date and time of backup start and end, the backup device, and current
mode. This information is stored in the database in tabular format.
Backup / Show Protocol
The Show Protocol menu function shows the end of the backup protocol file, where information about the
last save or restore operation is recorded. It is possible to page up to the top of the file.
Backup / Media Manager
The MEDIA MANAGER can be used to create, update, or delete descriptions of the backup media.
Backup / Generations
The number of generations to be used for the backup can be defined under the Backup / Generations menu
item.
_______________________
|
|
|
|
Backup ..
|
___________________|______
|____|
|
|
Generations
|
|________________________|
For this purpose, the currently valid number of generations and the interval of letters resulting from this
setting are displayed. The new number of generations can be specified. When leaving the input field, the
corresponding interval of letters is automatically updated.
123
Backup Menu Function
Adabas D: Control
_____________________
|
_______________________
Number of Save Generations
|
|
|
|
|
current value
:
4
( A .. D )
|
|
|
|
|
|
|
new
value
:
12
( A .. L )
|
|
|
|
|
|
_____
|
|
|
|
|
_________
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|__________________________________________________________________________|
The default setting is four generations. The new value is valid at once and will be used as the new number
of backup generations for the next backup.
Backup / Schedule Manager
Under Unix, the Schedule Manager is based on the cron mechanism. Under Windows, the Schedule
Manager is not active.
The Schedule Manager
The Backup / Save menu function provides an option to perform immediate (ad hoc) backups. In addition,
Control offers a Schedule Manager for scheduling one-time and periodic (backup) operations. There is the
option to use the backup mechanism provided by the Schedule Manager in addition to ad hoc backups. All
activities - whether ad hoc or scheduled - use the same backup procedure and write log entries to a history
file, thus providing an overview of previous and future actions at any time.
124
Adabas D: Control
Backup Menu Function
The schedule can be prepared starting from the current week and continuing for up to one year. Up to 255
past log entries can be displayed.
Timetables or Named Schedules
In order to facilitate the scheduling of regularly recurring actions, the Control Schedule Manager allows
you to define timeables to be used as templates for scheduling. A number of timetables can be defined and
applied to specific weeks in the weekly schedule.
Using the Schedule Manager
The Schedule Manager can only be used when the database is in WARM mode. In another mode, the
Backup / Schedule Manager menu item cannot be called. Backups can then only be performed ad hoc.
Activating the Schedule Manager
The actions scheduled in the Schedule Manager are performed only if the Options / Schedule option is set
to On. You can activate and deactivate the schedule using the Options / Schedule / On and Options /
Schedule / Off menu items contained in the Control Main Screen (in WARM mode only). This option can
be changed using the Tools / Schedule / On or Tools / Schedule / Off menu item in the Schedule Manager
(see Section Backup / Schedule Manager / Tools).
Both the Schedule Manager screen or the value of the option in the Main Sreen indicate whether the
schedule is active or passive. You can deliberately deactivate the schedule in order to allow for times
when the database is shut down or for scheduling purposes. In the Schedule Manager, you can select and
display any week in the past and all weeks in the future for up to one year (see Section Backup / Schedule
Manager / Week).
Calling the Schedule Manager
Select the Backup / Schedule Manager menu item to branch to the Schedule Manager. The schedule for
the current week is displayed.
Examples of Weekly Schedules and Timetables
Example of a Weekly Schedule
Example of a weekly schedule where the selected day is Thursday, 11/28/2002 in week 48:
125
Backup Menu Function
126
Adabas D: Control
Adabas D: Control
Backup Menu Function
|__________________________________________________________________________|
___________________________________________________________________________
|
|
|
|
|
|
__________
|
| |
___________
__________
|
|
|
|
|
|
__________
|
|
|
|
|
|__________________________________________________________________________|
| | Week.. | | Action.. | | Tools.. | | Help.. |
|
| |_________|
|__________|
|_________|
|________|
|
|
|
|__________________________________________________________________________|
| Schedule : ON
Phase
: Present
Date : 30.10.2002
|
| Planned
Last at
: 11.01.2003
Time : 10.00.00
|
: 25
|
Week 48 2002
|_______________________________
|
|
|
|
|
|
_________________________________|
|
|
|
|
|
Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday
25.11 |
26.11 |
27.11 |
28.11 |
29.11 |
30.11 |
1.12
|
|
|_________|_________|___________|__________|________|__________|___________|
| SAVEDATA
SAVEPAGES
UPDSTAT
SAVE LOG
|
| 18.00.00
12.00.00
5.30.00
12.00.00
|
|
WAIT
INSERT
WAIT
|
SAVED
|__________________________________________________________________________|
|
SAVELOGSEG
SAVEPAGES
|
|
14.00.00.
10.00.00
|
|
WAIT
INSERT
|
|__________________________________________________________________________|
|
|
|
VERIFY
23.59.59
WAIT
|
|
|
|__________________________________________________________________________|
|
|
|
|
|
|
127
Backup Menu Function
Adabas D: Control
Fig.: Weekly Schedule
Example of a Timetable
___________________________________________________________________________
|
|
|
_______________
__________
|
___________
__________
|
|
|
| |
|
|
|
|
| | Timetable..
|
| Action.. |
| Tools.. |
|
| Help.. |
|
| |______________|
|__________|
|_________|
|________|
|
|
|
|__________________________________________________________________________|
| Timetable name : Timetab-1
Date : 30.10.2002 |
| Timetable with 6 action(s) and 2 change(s)
Time : 10.00.00
|
___________________________________________________________________________|
|
|
|
|
|
|
|
|
Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday
|
|
|_________|_________|___________|__________|________|__________|___________|
| SAVEDATA
SAVEPAGES
UPDSTAT
SAVE LOG
|
| 18.00.00
12.00.00
5.30.00
12.00.0018:00-
|
|__________________________________________________________________________|
|
SAVELOGSEG
|
14.00.00
SAVEPAGES
|
10.00.00
|
|__________________________________________________________________________|
|
|
|
|
|__________________________________________________________________________|
|
|
|
|
|__________________________________________________________________________|
Fig.: Named Schedule (Timetable)
The following two illustrations show two possibilities how the backup scheme recommended in Section
Examples of a Backup Scheme could be realized by a timetable.
First Example of a Backup Scheme
see the first example in Section Examples of a Backup Scheme
128
Adabas D: Control
Backup Menu Function
___________________________________________________________________________
|
|
|
_______________
__________
| |
|
|
|
| | Timetable..
|
| Action.. |
| |______________|
|__________|
___________
__________
|
|
|
|
|
| Tools.. |
| Help.. |
|
|_________|
|________|
|
|
|
|
|__________________________________________________________________________|
| Timetable name : Timetab-1
Date : ...
|
| Timetable with 6 action(s)
Time : 10.00.00
|
___________________________________________________________________________|
|
|
Monday
|
|
| Tuesday
| Wednesday | Thursday | Friday | Saturday | Sunday |
|
|
|
|
|
|___________|__________|___________|__________|________|__________|________|
|SAVELOGSEG SAVELOGSEG SAVELOGSEG
SAVELOGSEG SAVELOGSEG
SAVEDATA
|
| 18.00.00
18.00.00
01.00.00
|
18.00.00
18.00.00
18.00.00
|__________________________________________________________________________|
|
|
|
|
|__________________________________________________________________________|
For illustration purposes, the backup of log segments was scheduled explicitly in this example and was not
implicitly initiated by AUTOON when a log segment was completed. The timetable can be started on a
specific day, e.g., on a Saturday (see "Timetable/Apply" in Section Backup / Schedule Manager /
Timetable). Thus the timetable corresponds exactly to the scheme recommended in Section Examples of a
Backup Scheme. The first backup then is a complete backup. The automatic backup of log segments
(Autosave Log) must not be enabled in this timetable.
As an alternative, the timetable can be defined with an automatic backup of the log segments, as
recommended. In this case, the time of log segment backups is not known in advance, because the
segments are saved as soon as they have been completed.
129
Backup Menu Function
Adabas D: Control
Second Example of a Backup
see the second example in Section Examples of a Backup Scheme
___________________________________________________________________________
|
|
|
_______________
__________
|
___________
__________
|
|
|
| |
|
|
|
|
| | Timetable..
|
| Action.. |
| Tools.. |
|
| Help.. |
|
| |______________|
|__________|
|_________|
|________|
|
|
|
|__________________________________________________________________________|
| Timetable name : Timetab-1
Date : ...
|
| Timetable with 1 action(s)
Time : 10.00.00
|
|__________________________________________________________________________|
|
|
Monday
|
|
| Tuesday
| Wednesday | Thursday | Friday
|
|
|
|
|
| Saturday | Sunday|
|___________|__________|___________|__________|_________|__________|_______|
|SAVEPAGES
SAVEPAGES
SAVEPAGES
SAVEPAGES
SAVEPAGES
SAVEDATA
|
| 20.00.00
20.00.00
20.00.00
20.00.00
20.00.00
01.00.00
|
|__________________________________________________________________________|
|
|
|
|
|__________________________________________________________________________|
For this timetable, the automatic backup of log segments (Autosave Log, AUTOON) must be enabled
once. This can be scheduled using the weekly schedule. The automatic backup of log segments remains
active during the complete backup and the backup of pages. The database kernel performs the two
backups simultaneously, if required.
Example of an AUTOON action scheduled once for the 10th week in 2002:
130
Adabas D: Control
Backup Menu Function
___________________________________________________________________________
|
|
|
__________
__________
| |
|
|
|
| | Week..
|
| Action.. |
| |_________|
|__________|
___________
__________
|
|
|
|
|
| Tools.. |
| Help.. |
|
|_________|
|________|
|
|
|
|
|__________________________________________________________________________|
| Schedule : ON
Phase
: Future
Date : 05.03.2002 |
| Planned
Last at
: 01.03.2002
Time : 10.00.00
: 1
|
Week 10
|_______________________________
|
|
|
|
|
|
_________________________________|
|
|
|
|
|
Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday
04.03 |
05.03 |
|
06.03 |
07.03 |
08.03 |
09.03 |
10.03
|
|
|_________|_________|___________|__________|________|__________|
|
|
AUTO-ON
|
|
12.00.00
|
|
WAIT
|
|__________________________________________________________________________|
|
|
|
|
|
|
|__________________________________________________________________________|
How to Create Weekly Schedules and Timetables
131
Backup Menu Function
Adabas D: Control
Scheduling Actions
Actions can either be scheduled individually for a specific sta "Action/Confirm" in Backup / Schedule
Manager / Action. An action can only be confirmed if its start time is at least five minutes after the
confirmation time and within a year.
Saving the Schedule Status
When you exit the Schedule Manager, you are informed of any ations that have been sheduled but not
confirmed. You can exit the Schedule Manager without losing the schedule status and resume scheduling
ant any time in the future.
The Timetable Screen
Select the Week / Timetable menu item from the Schedule Manager (see "Week/ Timetable" in Section
Backup / Schedule Manager / Week) to branch to timetable editing. If no timetable or one timetable is
defined, the timetable screen is empty or displayed with a timetable. If only one timetable is defined, the
screen contains this timetable. If more than one timetable is defined, a list of the names of the timetables is
displayed from which you can make a selection.
The timetable screen has the same layout as the Schedule Manager screen. Their appearance, menu bars,
elements, and functions are shown and described in the following.
Schedule Manager Information lines are displayed below the action bar for the Schedule Manager and for
timetable editing.
Schedule Manager Information Lines:
___________________________________________________________________________
| Schedule : ON
| Planned
: 25
Phase
: Present
Last at
: 01.03.2002
|
Time : 10.00.00
Week 48 2002
|_______________________________
|
|
Date : 30.10.2002 |
|
|
|
_________________________________|
|
|
|
|
|
Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday
|
25.11 |
26.11 |
|
27.11 |
28.11 |
29.11 |
30.11 |
|_________|_________|___________|__________|________|__________|
|
01.12
|
13->
|
Timetable Information Lines:
____________________________________________________________________________
| Timetable name : Timetab-1
Date : 30.10.2002 |
| Timetable with 6 action(s) and 2 change(s)
Time : 10.00.00
|
|__________________________________________________________________________|
|
|
Monday
|
|
|
|
| Tuesday
| Wednesday | Thursday | Friday
|
|
|
| Saturday | Sunday|
|___________|__________|___________|__________|_________|__________|_______|
132
Adabas D: Control
Backup Menu Function
These information lines indicate whether the Schedule option is activated or deactivated (On/Off). Actions
that are scheduled and confirmed will be performed only if the Schedule option is activated. You can
change the status of this option using the Tools / Schedule menu item in the Schedule Manager (see
Section Backup / Schedule Manager / Tools) or the Options / Schedule menu item in the Control Main
Screen.
Displaying the Current Date and Time
The current date and the current time are displayed on the right-hand side in the information lines.
Displaying the Schedule Phase (Schedule Manager only)
In the middle, "Phase" specifies whether the selkected schedule is in the future (Future), past (History) or
present (Present).
Displaying the Scheduled Actions (Schedule only)
Below the schedule status, the number of scheduled (confirmed or unconfirmed) actions is displayed. Next
to it, the most future begin date is displayed ("Last at").
Displaying the Schedule Week (Schedule only)
The schedule week selected is specified above the day and date with the format "WW.YY" (WW =
number of the calendar week; YY = last two digits of the year). The current day is marked in the action
schedule’s date display by the symbols > and <. You can change the selected week or day using the Week
/ Any F2 menu function (see "Week/Any" in Section Backup / Schedule Manager / Week) .
Displaying Unconfirmed Actions (Schedule Manager only)
Unconfirmed actions are identified in the action scheduleb y the INSERT, UPDATE, or DELETE
status.The number of unconfirmed actions scheduled before and after the selected week is displayed on
the line below the date display, to the left and right, next to the symbols << and >>.Confirmed actions are
identified in the Schedule Manager by the WAIT status.
Displaying the Name (Timetables only)
For timetables, the name of the schedule is displayed.
Displaying the Actions and Changes (Timetables only)
For timetables, the number of actions and changes since the last save of the timetable are displayed.
Help Texts and Error Messages
Help texts and error messages are displayed on the last line of the screens.
The Action Schedule
Actions that have been or will be performed on a particular day are listed below the relevant day in the
order of their start times. The action schedule displays e name, start time, and status of each action.
133
Backup Menu Function
Adabas D: Control
SAVEPAGES
Action name
12.00.00
Start Time
WAIT
Status
Action Name
The following actions are possible:
Action
Description
SAVEDATA
saves the database completely
SAVEPAGES
saves the database pages incrementally
SAVELOG
saves the log incrementally
SAVELOGSEG
saves the oldest log segment incrementally
AUTOON
activates autosave
AUTOOFF
deactivates autosave
UPDSTAT
updates statistical data
VERIFY
checks the consistency of the database
Fig.: Action List
Start Time
For future actions, this field displays the scheduled start time; for past actions, it displays the
actual start time.
Status
Modified actions can have the INSERT, UPDATE, or DELETE status. Scheduled and
confirmed actions have the WAIT status (they are performed at the scheduled time if the
schedule option is set). The status of actions that have already been performed is determind by
the result of the backup operation.
In timetables, the status of an action is not displayed.
Actions in Timetables
If a timetable is applied to a period of time, each action is performed within the period of seven
days on the defined week day at the defined point in time. The actions in the individual calendar
week schedules are marked as WAIT and their creator name is the name of the schedule (see
"Displaying Actions" below in this section).
Actions in the Schedule Manager
Actions whose scheduled start times have expired are displayed with their actual start times and
results in form of protocol entries. You can display and edit the actions belonging to another
calendar week by selecting this week (see Section Backup / Schedule Manager / Week).
134
Adabas D: Control
Backup Menu Function
Moving the Cursor in the Action Schedule
You can move the cursor in the action schedule using the TABULATOR (="Tab"), Pgup, Pgdn
and cursor keys.
Scrolling in the Action Schedule
Using Pgup and Pgdn, you can display up to ten actions per day. Each time you press one of
these keys, you page through one action line (= four screen lines). The cursor continues to be
positioned on the action for as long as it remains visible.
If more than ten actions have been scheduled or performed on a given day, a message to this
effect is displayed at the tenth position in the action table.
Since the action screen also allows you to scroll through the actions of a selected week (see the
next paragraph "Displaying Actions"), you can use it to edit the actions that are not displayed.
Displaying Actions
Select the Action / Zoom menu item (see "Action/Zoom" in Section Backup / Schedule Manager
/ Action") or press Enter to display or modify an action. The action on which the cursor is
located is then displayed in the action screen. If the cursor is not located on an action but is,
instead, located on a future day or the current day, an empty action screen is displayed. For
actions that are represented by their log entries (i.e., past actions), a message is output indicating
that they must not be modified or deleted. However, it is possible to change their date and
reschedule them.
________________________________
__________________________________
|
Action
|
|
|
|
Action Name
: SAVEPAGES
Medium
: Tape1
|
|
Begin Date
: 30.11.2002
Begtime
: 12.00.00
|
|__________________________________________________________________________|
|
Status
: WAIT
Creator
|
Create Date
: 29.11.2002
Create Time : 14.03.26
: CONTROLDBA
|
|
|
End Date
:
End Time
:
|
|
Returncode
:
Generation
:
|
|
|
|
_________
_________
_________
________
_______
|
|
|
|
|
|
|
|Insert |
|Update |
|Delete |
|Reset |
|Prev |
|
|_______|
|_______|
|_______|
|______|
|_____|
|
|
|
|
|
______
________
|
|
|
|Mext |
|Cancel |
|
|_____|
|_______|
|
|
|
|
|__________________________________________________________________________|
Press F1 to call up the help function for the "Action Name", "Medium", "Begin Date" and
"Begin Time" input fields; you can then select the correct values. When you select Insert/F4,
Update/F5, and Delete/F6 to transfer the data, all input values are checked for correctness.
Control sets the "Creator", "Create Date"/"Create Time", "End Date"/" End Time" "Generation"
and "Returncfode" output fields when the action is scheduled, confirmed or performed.
135
Backup Menu Function
Adabas D: Control
The confirmation time must be at least "Action/Confirm" in Section Backup / Schedule Manager
/ Action") in order to allow sufficient time for the action to be stored.
If an action screen is empty, the day on which the cursor is located is displayed as the default
setting and can be overwritten. The default time is the current time plus half an hour. Input must be in the
selected SET format. Press F1 to display and accept the selected SET format, the default date or
the default time. The current date is used as the default setting for past actions that are to be modified.
Note:
Be sure to schedule a sufficient period of time between successive actions in order to avoid
situations where actions must wait. Save actions do not wait, i.e., they are aborted with an error if an
action is already running.
You must enter or select a medium for all actions requiring a medium. In such cases, you can
press F1 to display a list of media. No input is necessary for actions that do not use a medium.
In the case of scheduled actions, "Create Date"/"Create Time" indicate when the status was last
modified. For ad hoc actions these fields indicate the activation tieme. Depending on the hardware load
there may be a difference between the activation time and start time.
End Date"/"End Time", "Returncode" and "Generation" are used only when actions have
already been performed. They are not displayed in timetables.
Insert /F4, Update/F5, and Delete/F6 allow you to insert, update or delete the displayed action.
Select Reset/F2 to display the action that was originally selected by using Zoom/Enter. Prev
(=Previous)/F7 and Next/F8 serve to display the previous or next action in the selected week or
in the timetable. Select Cancel/F3 to exit the screen; if you have modified any values, a warning
screen is output.
History, Present, Future (Schedule only)
If the calendar week selected is entirely in the past, the action table contains only the log entries
for the actions that were performed; if the week is entirely in the future, it contains only those
actions that are scheduled. If the week seleted contains the current date and time, the log entries
up until the curent time are displayed along with the scheduled actions as of the current time.
Backup / Schedule Manager / Week
The scheduling unit in Control is one week. For this reason, the actions are displayed by the week (see
"The Action Schedule" in Section "How to Create Weekly Schedules and Timetables). The Week menu
function allows you to change to a different calendar week.
When you select the Week menu function, the following pull-down menu is displayed:
136
Adabas D: Control
Backup Menu Function
___________________________________________________________________________
|
|
|
__________
__________
__________
|
|
|
| |
|
|
|
|
| | Week..
|
| Action.. |
| Tools.. |
| Help.. |
|
| |_________|
|__________|
|_________|
|________|
|
|
|
___________
|
|
|__________________________________________________________________________|
_____________
|
|
| Prev
F7 |
|___________|
|
|
| Next
F8 |
|___________|
|
|
| Any
F2 |
|___________|
|
|
| Timetable |
|___________|
|
|
| Quit
F3 |
|___________|
Week/Prev F7
This menu item displays the schedule for the previous calendar week.
137
Backup Menu Function
Adabas D: Control
Week/Next F8
This menu item displays the schedule for the next calendar week.
Week/Any F2
When you select the Week / Any menu item, the date screen displayed in which you can enter
any calendar week or date and thus change to a different schedule week. You can enter either
the date or the calendar week in the relevant input field (Date or Week). The other input field
and the output fields will be adapted accordingly. Select Ok/Enter to transfer them to the
Schedule Manager.
________________________________
|
____________________________________
Date
|
|
|
|
Date
: 28.11.2000
Week
|
Day
: Wednesday
Monday: 25.11.2002
: 48.00
(WW.YY)
|
|
Phase : Present
Sunday: 02.12.2002
|
|
|
|
|
______
|
|
|
| Ok |
| Cancel |
| Date |
| Prev |
|
|____|
|________|
|______|
|______|
|______|
|
|
________
|
|
________
________
________
|
|
|
|
|
|
| Next |
|
|
|
|__________________________________________________________________________|
Select Date/F2 to set the current date. Select Prev/F7 or Next/F8 to obtain the week that
precedes or follows the date displayed; the day of the week itself remains the same. All date
information is expected in the selected SET format and the calendar week is expected in the
format "WW.YY".
Week/Timetable
The Week / Timetable menu item allows you to branch from the Schedule Manager to timetable
editing. If no timetables are defined, the timetable screen is empty. If only one timetable is
defined, the screen contains this timetable. If more than one timetable is stored, a list of the
names of the timetables is displayed from which you can make a selection.
Example of a list of names:
138
Adabas D: Control
Backup Menu Function
________________________________
_______________________________
|
Timetables
|
|
|
|
|
|
TIMETAB-1
|
|
WEEKLYSAVE
|
|
ALLDAYSAVE
|
|
SPECIAL-1
|
|
SPECIAL-2
|
|
|
|
|
|
1 -
5 of
12
|
|
|
|
______
_____
|
|
|
|
|
| New |
| Ok |
| Cancel|
|
|
|_____|
|____|
|_______|
|
|
|
|
________
|
|
|__________________________________________________________________________|
Use Ok/F5 to select the name on which the cursor is located; use New/F2 to open an empty
timetable screen.
In screens in the Schedule Manager where names must be specified in input fields, you can
press F1 to display such a kind of lists as help.
Week/Quit F3
Select this menu item to exit the Schedule Manager. If you have not confirmed all actions (see
"Action/Confirm" in SectionBackup / Schedule Manager / Action), a warning is output:
139
Backup Menu Function
Adabas D: Control
________________________________
|
_______________________________
Timetables
|
|
|
|
There are unconfirmed changes !
|
|
Do You Want to Quit ?
|
|
|
|
_____
|
|
|
|
________
|
|
|
|
|
| Ok |
| Cancel|
|
|____|
|_______|
|
|__________________________________________________________________________|
Unconfirmed actions in the Schedule Manager are kept as schedule status.
Backup / Schedule Manager / Action
When you select the Action menu function, the following pull-down menu is displayed in the Schedule
Manager (in the case of timetables, the Confirm, Search, and Apply items are omitted):
140
Adabas D: Control
Backup Menu Function
___________________________________________________________________________
|
|
|
__________
__________
|
___________
__________
|
|
|
| |
|
|
|
|
| | Week..
|
| Action.. |
| Tools.. |
| Help.. |
|
| |_________|
|__________|
|_________|
|
|________|
|
|
|
|
|__________________________________________________________________________|
_____________________
|
| Zoom
|
Enter
|
|___________________|
|
| Delete
|
F6
|
|___________________|
|
| Confirm
|
F5
|
|___________________|
|
| Search
|
F9
|
|___________________|
|
|
| Apply Timetable
|
|___________________|
|
|
| Save As Timetable |
|___________________|
141
Backup Menu Function
Adabas D: Control
The Zoom and Delete menu functions apply to the action in the action schedule on which the cursor is
currently located (see "The Action Schedule " in Section How to Create Weekly Schedules and
Timetables). Confirm applies to all actions that have not yet been confirmed and Search applies to a set of
actions to be retrieved (see "Action/Confirm" and "Action/ Search" below in this section).
Action/Zoom Enter
When you select the Zoom menu item, the action screen displayed allowing you to view, enter,
and modify the action. In the case of timetables, Zoom displays only the portion of the action
screen that is relevant here. If you select Zoom when the cursor is not located on a scheduled
action in the future, an empty action screen is opened.
Zoom can be used to modify the status that is displayed for an action (see under "Status" in
Section How to Create Weekly Schedules and Timetables).
Action/Delete F6
The Delete menu function allows you to delete an action from the schedule. The displayed status
is changed to DELETE. Deleted actions are not removed from the schedule until you select
Confirm, thus allowing you to continue to use an action marked with DELETE as a template for
other actions or to modify this action and change its status to UPDATE.
Action/Confirm F5
Confirm allows you to confirm the scheduled actions. All actions with the INSERT, UPDATE,
and DELETE status are displayed in an action list.
Example of an action list:
____________________________
|
____________________________
Actions to Confirm
|
|
|
|
|
|
Action
Begin Date & Time
Status
|
|__________________________________________________________________________|
|
UPDSTAT
01.12.2002 05.30.00 INSERT
|
|
SAVEPAGES
01.12.2002 10.00.00 INSERT
|
|
|
|
|
|
1 -
10 of
15
|
|
|
|
___________
|
|
|
| Confirm |
| Cancel |
|
|_________|
|________|
|
________
|
______
|
|
|
_________
|
|
|
|
| Top |
| Bottom |
|
|_____|
|________|
|
|__________________________________________________________________________|
Select Confirm or F5 to confirm the actions in the schedule (INSERT or UPDATE) or to delete
them from the schedule (DELETE). The status of confirmed actions changes to WAIT. A
warning is displayed if the Schedule option is not enabled and the confirmed actions become not
effective.
Select Top/F7 or Bottom/F8 to position the cursor at the beginning or end of the list. Use Pgup
and Pgdn to scroll through the contents of a screen.
Action/Search F9
When you select the Search menu function, the following selection screen is displayed:
_________________________________
|
_______________________________
Search
|
|
|
|
|
|
Begin Date
: 30.11.2002
Begtime
: 12.00.00
|
|__________________________________________________________________________|
|
Status
: WAIT
Creator
: CONTROLDBA
|
|
Create Date
: 29.11.200q
Create Time : 14.03.26
|
|
End Date
: *
End Time
: *
|
|
Returncode
: *
Generation
: *
|
|
|
|
________
|
|
|
| Show |
| Confirm |
| Delete |
|
|______|
|_________|
|________|
|
|
__________
|
|
_________
|
|
________
|
|
_________
|
|
|
|
| Reset |
| Cancel |
|
|_______|
|________|
|
|
|__________________________________________________________________________|
142
||
|
Action Name
: SAVEPAGES
Medium
: Tape1
|
Adabas D: Control
Backup Menu Function
The selection screen contains the same fields as the action screen; in this case, all the fields are
input fields. An asterisk ( * ) can be used to represent any number of characters. Pressing
Reset/F2 places an * in the field on which the cursor is located; pressing this key again places *
in all fields of the screen. The help key F1 allows you to display and, if desired, select correct
values.
When you select Show/Enter, Confirm/F5 or Delete/F6, the entered values are combined by
AND to form a query on all scheduled actions. All actions that match this query are displayed in an action
list and can be edited. If no action is found, a warning screen is output.
You can specify a start time in the "Begin Date" and "Begin Time" fields. The result then
includes all actions that are to be started after this start time. (The search does not find actions that have
already been performed.)
You can specify an end time in the "End Date" and "End Time" fields. The result then includes
all actions that should have been (!) started before this end time.
If you specify a "Creator", and particularly if you specify the name of a timetable, you can then
select all actions generated by the specified creator. Press F1 to display a list of the names of all
creators and timetables. You can specify a creation time in the "Create Date" and "Create Time" fields.
The result then includes all actions that were scheduled after this creation time.
An action list is generated from the values entered in the selection screen and then displayed.
This action list allows you to apply the selected function to the selected actions using the associated button
or Enter. The selected actions are all confirmed at the same time.
Action/Apply Timetable
You can use the Action / Apply Timetable menu item to apply timetables directly from the
Schedule Manager. If at least one timetable exists, the application screen described under
Timetable / Apply (see "Timetable/Apply" in Section Backup / Schedule Manager / Timetable) is
displayed; you can then apply a timetable to the specified calendar weeks. The actions thus
entered must still be confirmed in the Schedule Manager (with Confirm) before they can be
activated.
If no timetable has been defined, a warning is output.
Action/Save As Timetable
You can use the Action / Save As Timetable menu item to generate a timetable from the actions
of the displayed week. The procedure and the corresponding screen are equivalent to the
function described under "Timetable/Save As" in Section Backup / Schedule Manager /
Timetable).
Changes of Status
Actions that have been deleted (Status: DELETE), inserted (Status: INSERT) or updated
(Status: UPDATE) retain their status even after the end of a sessions (see "Week/Quit" in
Section Backup / Schedule Manager / Week) if they have not been confirmed (see
"Ation/Confirm" above in this section). Thus, the schedule status is retained for subsequent
sessions.)
143
Backup Menu Function
Adabas D: Control
Backup / Schedule Manager / Tools
When you select the Tools menu function, the following pull-down menu is displayed:
___________________________________________________________________________
|
|
|
__________
__________
| |
|
|
|
| | Week..
|
| Action.. |
| |_________|
|__________|
___________
__________
|
|
|
|
|
| Tools.. |
| Help.. |
|
|_________|
|________|
|
|
|
|
|__________________________________________________________________________|
_________________
|
|
| SET Parameter |
|_______________|
|
|
| Media Manager |
|_______________|
|
|
| Schedule
|
|_______________|
This menu item allows you call other tools from Control.
Tools/SET Parameter
Presently, this function cannot be activated.
Tools/Media Manager
Presently, this function cannot be activated.
Tools/Schedule
The option for the usage of the schedule can be changed. A menu allows you to activate the
corresponding state (On, Off). When enabling the schedule, all confirmed actions are accepted
for the schedule (Unix cron mechanism). When disabling the schedule, all actions entered by the
Schedule Manager are removed from the schedule.
Backup / Schedule Manager / Help
This menu item displays a help screen for the Schedule Manager. For the usage of help, see section
Control Menu Structure and Help Texts.
144
Adabas D: Control
Backup Menu Function
Backup / Schedule Manager / Timetable
When you select the Timetable menu function, the following pull-down menu is displayed in the timetable
screen:
___________________________________________________________________________
|
|
|
_____________
| |
__________
|
|
__________
|
|
|
|
|
| | Timetable.. |
| Action.. |
| Tools.. |
| Help.. |
|
| |_____________|
|__________|
|_________|
|________|
|
|
|
___________
|
|
|__________________________________________________________________________|
_______________
|
|
| Show
F9 |
|______________|
|
|
| New
F2 |
|______________|
|
|
| Delete
|
|______________|
|
|
| Save
|
|______________|
|
|
| Save As
|
|______________|
|
|
| Apply
F5 |
|______________|
|
|
| Quit
|
|______________|
For the Show, New, Apply, Delete, and Quit actions, a warning is output if you modify the schedule
displayed but do not save it ( Save , Save As) since otherwise your modifications would be lost.
Timetable/Show F9
This menu item displays a list of the names of timetables for your selection.
Timetable/New F2
145
Backup Menu Function
Adabas D: Control
This menu item displays an empty scree for a new timetable.
Timetable/Apply F5
This menu item applies the displayed timetable to the Schedule Manager.
The following application screen is displayed:
_________________________________
|
_______________________________
Apply
|
|
|
|
|
|
from
|
Week : 48.00
to Week : 51.00
|
|
Date : 29.11.2002
to Date : 21.12.2000
|
|
Day
Day
: Friday
: Saturday
|
Name : TIMETAB-1
|
|
|
|
|
|
||
|
|
__________
_____
|
|
|
|
|
| Reset
|
|
|_________|
_________
|
|
|
|
|
| Ok |
| Cancel |
|
|____|
|________|
|
|
|
|__________________________________________________________________________|
The name of the displayed timetable is used in the screen as a default setting. You can also enter
the name of any other timetable or select one using F1.
You can specify the calndar weeks to which the timetable is to be applied. The first and last
days of the week specified are then displayed in the fields beneath them. You also have the
option of specifying a date. The calendar week or the specified date must be within a year. The
timetable is applied witin the specified time interval exactly on the specified day.
Select Ok/Enter to check all input fields for correct syntax and semantics and to enter the actions
of the timetable in the specified weeks. The actions thus entered must still be confirmed in the
Schedule Manager (with Confirm) before they can be activated (see "Action/Confirm" in
Section Backup / Schedule Manager / Action).
Timetable/Save
If the displayed timetable is named, it is saved under this name. If it is not named, you are asked
to enter a name (see the next paragraph "Timetable/Save As").
Timetable/Save As
This menu item allows you to store the displayed timetable under a (different) name. You must
enter the name in the name screen:
_________________________________
|
_______________________________
Save As
|
|
|
|
|
|
|
|
|
|
_____
|
_________
|
|
Name : TIMETAB-2
|
|
|
|
|
|
| Ok |
| Cancel |
|
|
|____|
|________|
|
|
||
|
|__________________________________________________________________________|
Select Ok /Enter to store the displayed timetable under the specified name. A check is run to
determine whether the specified name already exists; if it does exist, a warning is output. You
then have the option of overwriting the existing timetable or specifying a different name. Press
F1 to display a list of the names that have already been assigned; this list must not contain the
new name.
Timetable/Delete
146
|
Adabas D: Control
Backup Menu Function
This menu item allows you to delete the displayed timetable. As a precaution, a warning screen
is output. Afterwards, this timetable can no longer be selected. Actions that have already been entered in
the Schedule Manager by a previous application (Apply) (see "Timetable/Apply" above in this
section) are not modified. Especially, the entry of the creator remains in the scheduled actions even if the
creating timetable has been deleted.
Timetable/Quit F3
This menu item exits timetable editing. If you have not saved the timetable displayed
(Timetable/Save, Timetable/Save As , see above in this section), a warning is output. If you exit
a timetable that you have not saved, your modifications are lost.
147
Diagnose Menu Function
Adabas D: Control
Diagnose Menu Function
_______________________
|
|
|
Diagnose ..
|
___________________|______
|
|____|
|
|
Op Messages
|
|
Command History
|
|
Inst Protocol
|
|________________________|
This chapter covers the following topics:
Diagnose / Op Messages
Diagnose / Command History
Diagnose / Inst Protocol
Diagnose / Op Messages
This menu function shows the console log file of the Adabas server. In the display screen, it is possible to
page down using the Next menu function and to page up using the Previous menu function. The End menu
function terminates the display screen and returns to the Main Screen of Control.
The console log file helps you to interpret the events that occurred during Adabas server operation. The
entries are made in chronological order. When it reaches a certain size, the console log file is overwritten
cyclically. A line with dashes denotes the current end of the console log file.
The console log file records events such as the following:
Starting and shutting down the Adabas server,
Information about the physical storage areas (DEVSPACEs)of the Adabas server,
Information about user processes which have established database sessions with the Adabas server,
Error messages of the Adabas server system embedding which may be the result of selected invalid
system parameter sizes,
System error messages, e.g., after device failures,
Error messages and warnings of the Adabas kernel as output, e.g., after an "Emergency Shutdown"
(see Section The Main Screen on the subject Usage Levels ) or for internal inconsistencies, etc.
Diagnose / Command History
This menu function shows all actions executed so far in Control. In addition, the results and errors which
might have occurred are displayed for the activities performed. The cursor is always positioned at the end
of the command history, because the most recent information is recorded there.
148
Adabas D: Control
Diagnose Menu Function
Diagnose / Inst Protocol
This menu function displays the console log resulting from the last installation or from loading the system
tables. The cursor is always positioned at the end of the installation log, because the result of the
installation and an overview of the errors occurred are recorded there.
149
Configuration Menu Function
Adabas D: Control
Configuration Menu Function
_______________________
|
|
|
Configuration ..
|
___________________|______
|
|____|
|
|
Alter Parameters ..
|
|
Alter Config ..
|
|
Load Systables
|
|
Install Serverdb
|
|
Clear Serverdb
|
|________________________|
This chapter covers the following topics:
Configuration / Alter Parameters
Configuration / Alter Config
Configuration / Load Systables
Configuration / Install Serverdb
Configuration / Clear Serverdb
Configuration / Alter Parameters
_______________________
|
|
|
Configuration ..
|
___________________|______
|
|____|
|
|
|
Alter Parameters ..
|
___________________|_______
|____|
|
|
Set Defaults
|
|
Termchar Set
|
|
Mapchar Set
|
|
Session
|
|
Kernel
|
|
Sysuser ..
|
|__________________________|
Configuration / Alter Parameters / Set Defaults
This menu function can be used to display and modify the default SET parameters of the SYSDBA. The
default SET parameters of the SYSDBA are inherited by any newly created user. A user-specific copy of
the SET parameters is only created when the default SET parameters are modified.
Note: The settings for Print Format, System Editor, and SQL-PL Presentation are used by Control and are
also valid in COLD and OFFLINE mode. The Set Defaults can only be changed in WARM serverdb
mode.
150
Adabas D: Control
Configuration Menu Function
After clicking on the Set Defaults menu function, the following screen containing the default settings of
the SET parameters is displayed:
___________________________________________________________________________
|
|
|
Control
..
SET
|
|
|
|
__________________________
_________________________
|
|
|
|
Language
ENG
|
|
Null String
?
|
|
Boolean
TRUE/FALSE
|
|
Decimal
//./
|
|
Date
INTERNAL
|
|
Time
INTERNAL
|
|
Timestamp
INTERNAL
|
|
Separator
STANDARD
|
|
Print Format
DEFAULT
|
|
Number of Copies
1
|
|
System Editor
vi
|
|
Load Presentation
DEFAULT
|
|
Load Protocol File
DEFAULT
|
|
Query Presentation
DEFAULT
|
|
Query Protocol File
DEFAULT
|
|
Autoprot
OFF
|
|
SQL-PL Presentation
DEFAULT
|
|
|
|
|
|
________________ <serverdb> : <user> _______________________________
|
|
|
|
|
|
3=Quit 4=Default 5=Save 10=Printer 11=Presen
Overwrite for new values and press function key
|
|
|
|__________________________________________________________________________|
The displayed values of the SET parameters can be modified by overwriting them. Outside the input
fields, the display form is write-protected.
The parameters from Language to System Editor are valid for all tools while the other parameter specific
to one tool.
The individual SET parameters have the following meanings:
1. Language defines the language for the output of the database messages: ENG stands for English,
DEU for German. A language can only be set if messages are actually available for it.
2. Null String defines the character string for the representation of NULL values from the database. This
string may have a maximum length of 20 characters.
3. Boolean defines the character strings for the representation of BOOLEAN values from the database.
The character strings may have a maximum length of 10 characters. In case of <true>/<false>, <true>
defines the character string for values that are true, and <false> defines the character string for values
that are false.
151
Configuration Menu Function
Adabas D: Control
4. Decimal defines the characters to be used for decimal numbers: in case of /<t>/<d>/, <t> defines the
character for the thousands separator and <d> the character for the decimal sign; <t> may be omitted.
5. Date defines the format in which DATE column values are represented in REPORTs or in the DATE
function and are accepted in SQL statements.
Note:
The name of a standard format or a user-defined format can be specified. If a standard representation
is chosen, this is automatically applied to date and time parameters. In SQL statements, user-defined
formats are treated as INTERNAL.
Standard formats are:
ISO
which corresponds to
YYYY-MM-DD,
USA
which corresponds to
MM/DD/YYYY,
EUR
which corresponds to
DD.MM.YYYY,
JIS
which corresponds to
YYYY-MM-DD,
INTERNAL
which corresponds to
YYYYMMDD.
Here D stands for D(ay), M for M(onth), and Y for Y(ear).
If three positions are specified for the month, then the name of the month will be output in its
common abbreviation (Oct for October). User-defined formats need not contain each of the three symbols
for the date portions.
6. Time defines the format in which TIME column values are represented in REPORTs or in the TIME
function and are accepted in SQL statements.
ISO
which corresponds to
HH.MM.SS,
USA
which corresponds to
HH:MM AM (PM),
EUR
which corresponds to
HH.MM.SS,
JIS
which corresponds to
HH:MM:SS,
INTERNAL
which corresponds to
HHHHMMSS.
Thereby H stands for H(our), M for M(inute), and S for S(econd).
7. Timestamp defines the format in which TIMESTAMP column values are to be input and output.
Standard formats are:
ISO
which corresponds to YYYY-MM-DD-HH.MM.SS.NNNNNN,
USA
which corresponds to ISO,
EUR
which corresponds to ISO,
JIS
which corresponds to ISO,
INTERNAL which corresponds to YYYYMMDDHHMMSSNNNNNN.
152
Adabas D: Control
Configuration Menu Function
Here N stands for milliseconds and microseconds; the other letters have the same meanings as
explained for date and time.
8. Separator defines the character string used to separate result table columns from each other. If this
string is to contain blanks at its end, it must be enclosed in single quotation marks. The string may have a
maximum length of 20 characters. The default value "STANDARD" corresponds to the string " | " with
the special feature that the column separations appear as a continuous line on the screen if the monitor is
capable of representing semigraphics.
9. Print Format defines the format of the printout. Here the user can specify either a print format
provided with the installation or a user-defined print format. Up to eight print formats can be defined - see
the description of the Printer key below in this section.
10. Number of Copies defines how many copies are to be made on printing.
11. For System Editor,the user can define an editor of his selection. The editor can be called with the
command SYSED.
12. LOAD Presentation allows setting the presentation of the SYSDBA that is to be valid in Load. The
presentation name designates a certain setting of screen colors and attributes. This setting can be modified
enabling you to adapt the aspect of LOAD according to your liking.
13. The structure of the LOAD Protocol File name depends on the operating system. If the name is
changed, Load closes the old file and opens a protocol file with the new name for execution of the next
statement. The character combinations &U, &D, &P, &T, and &N are position indicators for user name,
serverdb name, process-id, terminal-id, and terminal number. Within the names, they can be specified at
any place. They are meant to separate the protocol files of Load applications that are performed
simultaneously.
With the installation, several presentations are provided which are immediately available to every
user. These presentations can be paged through or redefined. Up to eight presentations can be defined see the description of the Presen key below in this section.
14. QUERY Presentation allows you to set the presentation of the SYSDBA that is to be valid in
QUERY (also see item 12, LOAD Presentation).
15. The structure of the QUERY Protocol File name depends on the operating system. If the name is
changed, Query closes the old file and opens a protocol file with the new name for the execution of the
next statement.
16. The parameter AUTOPROT only refers to the Query tool. If AUTOPROT ON is specified, then all
SQL statements you send from Query to the database will be recorded in the file defined with Query
protocol file.
17. SQL-PL Presentation allows you to set the presentation of the SYSDBA that is to be valid in
SQL&#8209;PL. This setting is also used to display the Control presentation. The presentation name
designates a certain setting of screen colors and attributes. This setting can be modified enabling you to
adapt the aspect of SQL&#8209;PL or Control according to your liking.
The Save key accepts the newly entered values and leaves the SET mode.
153
Configuration Menu Function
Adabas D: Control
The Quit key leaves the SET mode without having the modifications come into effect.
The Default key sets all displayed parameters to predefined default values.
The Printer and Presen keys branch to further forms. They are described in the following.
The PRINTER Key
The Printer key switches from SET mode to a menu where the print formats can be defined.
___________________________________________________________________________
|
|
|
Control
..
SET
|
|
|
|
__________________________
_________________________
|
|
|
|
Print Format Name
DEFAULT
|
|
|
|
Printer
|
Page Width
80
|
|
|
Page Length
68
|
|
Left Margin
10
|
|
Right Margin
5
|
|
Top Margin
5
|
|
Bottom Margin
5
|
|
New Page
OFF
|
|
|
|
________________ <serverdb> : <user> _______________________________
|
|
|
3=Quit
|
More entries via up/down
|
|
4=Default
5=Save
6=Delete
9=Copy
|
|
|
|__________________________________________________________________________|
At first the currently set print format is displayed. If more formats are defined, a message
informs you about it. You can switch from one format to the other using the scroll keys.
The settings can be modified by overwriting the entries. The following settings can be defined in
such a format:
1. For Printformat Name, that name is displayed which was given to the defined format.
2. Printer specifies the printer name that will be passed with the operating system specific
print command when printing (under Unix: lp). The default is an empty field.
3. Page Width defines the width of a print page. The value may be 254 at the most.
4. Page Length defines the complete length of a print page in number of lines.
5. Left and Right Margin define the number of blanks to be output to the left and to the right
of the text.
6. Top and Bottom Margin define the number of blank lines to be output above and below the
text.
154
Adabas D: Control
Configuration Menu Function
7. New Page defines whether (ON) or not (OFF) a form feed is to be performed for each
separate print job.
The Quit, Default, and Save keys have the same meanings as in the superior SET form. If you
return to the first form using Save , the last displayed format becomes the current format, i.e. its
name is displayed for Print Format.
Defined formats can be deleted using the Delete key.
The Copy key generates a new entry in which the format name is not yet assigned. The other
parameters are taken over from the setting previously displayed and can be modified at will.
The PRESEN Key
The Presen(tation) key switches from SET mode to a menu where the presentations can be
defined.
___________________________________________________________________________
|
|
|
Control
..
SET
|
|
|
|
__________________________
_________________________
|
|
|
|
Presentation Name
DEFAULT
|
|
Text normal
ATTR1
(
)
|
|
Text enhanced
ATTR2
(
)
|
|
Title
ATTR3
(
)
|
|
State
ATTR4
(
)
|
|
Info Message
ATTR5
(
)
|
|
Error Message
ATTR6
(
)
|
|
Graphic
ATTR7
(
)
|
|
|
|
|
|
|
|
________________ <serverdb> : <user> _______________________________
|
|
|
|
|
|
2=Mark
3=Quit
...
More entries via up/down
10=Backgr
11=Foregr
12=Attribute
|
|
|
|__________________________________________________________________________|
At first the currently set presentation is displayed. If more presentations are defined, a message
informs you about it. You can switch from one presentation to the other using the scroll keys.
In such a presentation, the different physical properties are assigned to the sixteen logical
attribute names. Control only uses the first seven logical attribute names. Each logical attribute
name (ATTR1 to ATTR16) is depicted in the menu together with the attributes and colors
assigned to it.
It depends on the used installation and system, what kinds of representation and colorings are
available. If colors cannot be set, the keys Backgr and Foregr are not displayed.
To change such an assignment, mark one or more attributes with an x and press the Attribute,
Foregr or Backgr key. Popup menus appear where the desired settings for the coloring and kind
of representation can be chosen by placing an x in the corresponding field.
155
Configuration Menu Function
Adabas D: Control
The toggle switch Mark has the effect that all attributes are marked with an x. If all attributes are
already marked with an x, this key removes them instead.
The Quit, Default, Save , Delete, and Copy keys have the same functions as in the other SET
forms.
Configuration / Alter Parameters / Termchar Set
A Termchar Set is a character set that maps terminal-specific codes to the ISO ASCII code. Termchar sets
are needed for the German language, for example, to map the terminal character codes for umlauts to the
internal ISO ASCII code.
This menu function can be used to create, display, alter, and delete termchar sets. Adabas is always
distributed with the termchar set IBM437_GER (that contains the most frequent representation of the
umlauts). To define a new termchar set, alter the CHAR SET NAME of an existing termchar set.
Afterwards, the Create button is provided instead of the Alter button. Up to 128 characters can be defined
for each termchar set.
The activated termchar set with the modified character definitions only becomes effective with the next
restart.
Example:
___________________________________________________________________________
|
|
|
Alter Parameters Termcharset
<Serverdb> on <Servernode>
|
____________________________________________________________________
|
|
|
|
CHAR SET NAME
IBM437_GER
|
ENABLE CHAR SET
Y
|
|
CHAR SET CODE
ASCII
|
|
____________________________________________________________________
|
|
CODE
1
C4 8E
A-umlaut
CODE
2
E4 84
a-umlaut
|
|
CODE
3
D6 99
O-umlaut
CODE
4
F6 94
o-umlaut
|
|
CODE
5
C4 8E
U-umlaut
CODE
6
FC 81
u-umlaut
|
|
CODE
7
C4 8E
sharp s
CODE
8
A7 15
paragraph
|
|
CODE
9
CODE
10
|
|
CODE
11
CODE
12
|
|
CODE
13
CODE
14
|
|
CODE
15
CODE
16
|
|
|
|
________________ <serverdb> : <user> _______________________________
|
|
|
|
________
|
|
|
| Next |
| Prev |
| Alter |
| Drop |
|
|______|
|______|
|_______|
|______|
|
_______
|
|
________
________
________
__________
|
|
|
|
|
|
|
| Print |
| Cancel |
|
|_______|
|________|
|
|
|
|
|__________________________________________________________________________|
Fig.: Termchar Set Screen
CHAR SET NAME
156
Adabas D: Control
Configuration Menu Function
the name of the termchar set. It can have a length of up to 18 bytes.
CHAR SET CODE
denotes the ISO ASCII or EBCDIC code underlying the character set. Valid codes are "ASCII"
and "EBCDIC".
ENABLE CHAR SET
specifies that the termchar set is to be activated on the local serverdb with the next restart. Valid
input values are "Y" and "N".
CODE nn
specifies a terminal-specific character to be converted.
Each one-byte character to be converted must be specified in its original form and then in its
terminal-specific form.
The input field is divided into three columns.
The original form in hexadecimal format (ISO-ASCII or EBCDIC) is to be entered in column 1.
The terminal-specific variant in hexadecimal form is to be entered in column 2. In column 3, the
code variant can be provided with a comment of up to eight bytes.
If column 2 is deleted from the input field, the character definition is removed from the termchar
set.
Configuration / Alter Parameters / Mapchar Set
A Mapchar Set is a character set that maps language-specific characters to alternative notations. The SQL
MAPCHAR function uses mapchar sets, for example, to sort fields that contain umlauts.
This menu function can be used to create, display, alter, and delete mapchar sets. Adabas is always
distributed with the mapchar set called "Defaultmap". To define a new mapchar set, alter the CHAR SET
NAME of an existing mapchar set. Afterwards, the Create button is provided instead of the Alter button.
Example:
157
Configuration Menu Function
Adabas D: Control
___________________________________________________________________________
|
|
|
Alter Parameters Mapcharset
<Serverdb> on <Servernode>
|
____________________________________________________________________
|
|
|
|
CHAR SET NAME
Defaultmap
CHAR SET CODE
ASCII
|
|
|
|
|
____________________________________________________________________
|
|
CODE
1
A1
!
CODE
2
BF
?
|
|
CODE
3
C0
A
CODE
4
C1
A
|
|
CODE
5
C2
A
CODE
6
C3
A
|
|
CODE
7
C4
Ae
CODE
8
C5
Aa
|
|
CODE
9
C6
Ae
CODE
10
C7
C
|
|
CODE
11
C8
E
CODE
12
C9
E
|
|
CODE
13
CA
E
CODE
14
CB
E
|
|
CODE
15
CC
I
CODE
16
CD
I
|
|
____________________________________________________________________
|
|
|
|
________
|
|
|
| Next |
| Prev |
| Alter |
| Drop |
|
|______|
|______|
|_______|
|______|
|
_______
|
|
________
________
________
__________
|
|
|
|
|
|
|
| Print |
| Cancel |
|
|_______|
|________|
|
|
|
|
|__________________________________________________________________________|
Fig.: Mapchar Set Screen
CHAR SET NAME
158
Adabas D: Control
Configuration Menu Function
is the name of the mapchar set. It can have a length of up to 18 bytes.
CHAR SET CODE
denotes the ISO ASCII or EBCDIC code underlying the character set. Valid codes are "ASCII"
and "EBCDIC".
CODE nn
specifies a language-specific character to be converted.
Each one-byte character to be converted must be specified in its original form and in the target
form with a maximum length of two bytes.
The input field is divided into three columns.
The original form in hexadecimal format (ISO ASCII or EBCDIC) is to be entered in column 1.
In the columns 2 or 3, the target form is to be defined. In column 2, it can be specified with
printable characters; in column 3, in hexadecimal format.
If the columns 2 and 3 are deleted from the input field, the character definition is removed from
the mapchar set.
Configuration / Alter Parameters / Session
This menu function can be used to alter the default code, the date and time format, and the time values.
The modifications become effective only with the next Restart. In the input screen, the parameters are set
to the last defined values.
Example:
___________________________________________________________________________
|
|
|
|
Alter Session Parameter
<Serverdb> on <Servernode>
____________________________________________________________________
|
|
|
|
|
DEFAULT CODE
ASCII
|
|
DATE TIME FORMAT
INTERNAL
|
|
SESSION TIMEOUT
900
|
|
LOCK
TIMEOUT
360
|
|
REQUEST TIMEOUT
180
|
|
____________________________________________________________________
|
|
|
|
_____
|
________
__________
|
|
|
|
|
|
|
|
|
| Ok |
| Print |
| Cancel |
|
|
|____|
|_______|
|________|
|
|__________________________________________________________________________|
Fig.: Session Parameter Screen
159
Configuration Menu Function
Adabas D: Control
Configuration / Alter Parameters / Kernel
This menu function can be used to display and modify the configuration parameters of the Adabas server.
In the lower part of the screen, the parameters are described briefly.
Example:
___________________________________________________________________________
|
|
|
|
Alter Kernel Parameter
<Serverdb> on <Servernode>
|
____________________________________________________________________
|
|
|
|
SYSDEVSPACE
/u/dev/SYS1
|
MIRR_SYSDEVSPACE
|
|
TRANSACTION_LOG
/dev/log0DB1
|
|
ARCHIVE_LOG
/dev/log1DB1
|
|
MIRR_ARCHIVE_LOG
|
MAXDEVSPACES
8
|
|
MAXDATADEVSPACES
3
|
|
MAXSERVERDB
1
|
|
MAXBACKUPDEVS
2
|
|
MAXSERVERTASK
6
|
|
MAXUSERTASK
50
|
|
MAXDATAPAGES
150000
|
|
MAXCPU
1
|
|
|
|
____________________________________________________________________
|
|
|
|
|
|
|
|
|
|
|__________________________________________________________________|
|
Logical name of the first SYSTEMDEVSPACE
|
|
|
________
________
______
___________
________
__________
|
|
|
|
|
|
|
|
|
|
|
| Next |
| Prev |
| Ok |
| Explain |
| Print |
| Cancel |
|
|
|______|
|______|
|____|
|_________|
|_______|
|________|
|
|
|
|
|
|
|__________________________________________________________________________|
Fig.: Kernel Parameter Screen 1
160
Adabas D: Control
Configuration Menu Function
___________________________________________________________________________
|
|
|
|
Alter Kernel Parameter
<Serverdb> on <Servernode>
|
____________________________________________________________________
|
|
|
|
DATA_CACHE_PAGES
3000
|
|
PROC_DATA_PAGES
100
|
|
PROC_CODE_PAGES
50
|
|
TEMP_CACHE_PAGES
50
|
|
CATALOG_CACHE_PAGS
96
|
|
CONV_CACHE_PAGES
100
|
|
MAXLOCKS
800
|
|
RUNDIRECTORY
/sqldb/E20/db/wrk/E20
|
|
OPMSG1
/dev/syscon
|
|
OPMSG2
/dev/null
|
|
|
|
____________________________________________________________________
|
|
|
|
|
|
|
Number of 4KB blocks to be allocated for the data cache
|
|
|
|
in main memory
|
|
|
|__________________________________________________________________|
|
|
|
|
________
________
______
___________
________
__________
|
|
|
|
|
|
|
|
|
|
|
| Next |
| Prev |
| Ok |
| Explain |
| Print |
| Cancel |
|
|
|______|
|______|
|____|
|_________|
|_______|
|________|
|
|
|
|
|
|
|__________________________________________________________________________|
161
Configuration Menu Function
Adabas D: Control
Fig.: Kernel Parameter Screen 2
The user has the possibility to modify the system parameters. When the parameters are confirmed with
Enter, all parameters are checked. If the modifications of the parameters lead to deviating computations
for related values, the user can choose between the entered and the computed value. Other errors are
shown in the displayed console log.
Finally, the minimum values required for the configuration parameters of the operating system kernel are
displayed, so you can check the settings. If this should be necessary, adapt the operating system kernel to
these requirements.
If parameters have been modified, they become effective only after a shutdown and subsequent restart of
the serverdb.
Configuration / Alter Parameters / Sysuser
Example:
___________________________________________________________________________
|
|
|
|
Alter CONTROLUSER
<Serverdb> on <Servernode>
____________________________________________________________________
|
|
|
|
|
|
Username:
Password:
|
____________________________________________________________________
|
|
|
|
_____
|
__________
|
|
|
|
|
|
|
| Ok |
| Cancel |
|
|
|____|
|________|
|
|__________________________________________________________________________|
Fig.: Alter Sysuser Screen
The password of the SYSDBA, DOMAIN, and OPERATOR, as well as the name and password of the
ControlUSER can be modified. The passwords of the SYSDBA and of the DOMAIN user can only be
modified in WARM mode. The password of the ControlUSER can only be modified if the mode is not
WARM. The OPERATOR password can be changed in any mode.
After entering the user name and password of the previous user definition, the system uses the user name
to determine the sysusertype to be modified. When entering the new definition, the password must be
specified twice for security reasons.
If the SYSDBA has been modified outside Control, the system recognizes during the logon to Control that
the definition is not identical to the profile data and requests the input of correct data for the SYSDBA.
Configuration / Alter Config
162
Adabas D: Control
Configuration Menu Function
_______________________
|
|
|
Configuration ..
|
___________________|______
|
|____|
|
|
|
Alter Config ..
|
___________________|_______
|____|
|
|
Add Devspace
|
|
Log Segment
|
|
Data Restore
|
|
Change Devspace
|
|
Alter Log
|
|__________________________|
All functions, except Add Devspace, can be executed only if the serverdb is in COLD mode.
Configuration / Alter Config /Add Devspace
The Add Devspace menu function expands the Adabas server by the specified new physical storage area.
Activating the Add Devspace menu function displays a popup window on the main screen into which the
size of the new physical storage area must be entered in 4 KB storage pages, along with the operating
system name of the physical storage area, e.g., Raw Device under Unix. Before the database server can be
expanded, the access rights of the Adabas server must be checked for the particular Raw Device.
163
Configuration Menu Function
Adabas D: Control
Control suggests the number of 4 KB pages remaining for data devices (the difference between the
defined configuration parameter MAXDATAPAGES and the sum of all data device sizes) as size of the
additional device. The computed remaining size must not be exceeded. Therefore it could be necessary to
change first the parameter MAXDATAPAGES using the Configuration / Alter Parameters / Kernel menu
function. After the installation, MAXDATAPAGES is defined in such a way that another devspace having
the size of the largest configured devspace can be added.
For the parameter MAXDEVSPACES, the default setting is that either up to one of the two devspaces of a
Mirrored Devspace or two normal devspaces can be added with the Add Devspace function without
having to increase the parameter.
These restrictions do not apply, if Add Devspace is performed in COLD mode.
Example:
___________________________________________________________________________
|
|
|
|
Add Devspace
<Serverdb> on <Servernode>
____________________________________________________________________
|
|
|
|
|
Size in pages:
Size in KB..:
|
|
|
|
|
|
Name.........:
|
|
Mirror Name..:
|
|
|
|
____________________________________________________________________
|
|
|
|
_____
|
________
__________
|
|
|
|
|
|
|
|
|
| Ok |
| Print |
| Cancel |
|
|
|____|
|_______|
|________|
|
|__________________________________________________________________________|
Fig.: Add Devspace Screen
The Mirror Name is only required if the configuration is set to mirrored devspace operation (MIRRORED
= Y).
Configuration / Alter Config / Log Segment
This menu function can be used to alter the maximum segment size for log backups. If the log segment
size is to be recuded, Save Log should be performed before Alter Log Segment, because otherwise the
restart could fail for a high usage level of the log.
Example:
164
Adabas D: Control
Configuration Menu Function
___________________________________________________________________________
|
|
|
|
Alter Log Segment
<Serverdb> on <Servernode>
____________________________________________________________________
|
|
|
|
Log Segment Size in 4 KB pages :
|
|
|
|
|
____________________________________________________________________
|
|
|
|
_____
|
__________
|
|
|
|
|
|
|
| Ok |
| Cancel |
|
|
|____|
|________|
|
|__________________________________________________________________________|
Fig.:Alter Log Segment Screen
The segment size, specified in KB, must not exceed the size of the archive log. The specification "0"
means that the size of the log segment is identical to that of the archive log. The segment size is preset to
the value valid so far and can only be modified in COLD mode.
Configuration / Alter Config / Data Restore
This menu function can be used to alter configuration of the data DEVSPACEs before restoring a backup
version of the data devspace.
The procedure of Alter Config / Data Restore is analogous to that of Alter Config / Config Restore.
165
Configuration Menu Function
Adabas D: Control
First, the name of the path where the backup is located must be specified. The backup version is displayed
and must be confirmed. Then the names, sizes, and number of data DEVSPACEs can be modified.
The log is kept.
Configuration / Alter Config / Change Devspace
This menu function can be used to rename the paths of the DEVSPACEs.
___________________________________________________________________________
|
|
|
Change Devspace
<Serverdb> on <Servernode>
|
|
|
|
|
NAME
TYPE
SIZE
DEVSPACE PATH
|
____________________________________________________________________
|
|
|
|
SYSTEMDEV
F
-
/u/dev/SYS1
|
|
TRANS LOG
R
3000
/dev/log0DB1
|
|
ARCHLOG 1
R
3000
/dev/log1DB1
|
|
DATDEV 01
R
50000
/dev/dat01DB1
|
|
DATDEV 02
R
50000
/dev/dat02DB1
|
|
|
|
_____
|
________
|
|
__________
|
|
|
|
|
|
|
| Ok |
| Print |
| Cancel |
|
|
|____|
|_______|
|________|
|
|__________________________________________________________________________|
Fig.: Input Screen for Rename Devspace
Prerequisite is that a copy of the original devspace has been written to the new path.
Configuration / Alter Config / Alter Log
This menu function can be used to alter the log mode, as well as the names and sizes of the log
DEVSPACEs.
___________________________________________________________________________
|
|
|
|
Alter Log
<Serverdb> on <Servernode>
|
____________________________________________________________________
|
|
|
|
LOG MODE
NORMAL
|
|
LOG SEGMENT SIZE
1500
|
|
NO OF ARCHIVE LOGS
1
|
|
NO OF DATADEVSPACES
2
|
|
MIRRORED
N
|
|
|
|
____________________________________________________________________
|
|
|
|
|
|
|
|
|
|
|__________________________________________________________________|
|
LOG MODE can be SINGLE, NORMAL, DUAL or DEMO
|
|
|
________
________
________
__________
|
|
|
|
|
|
|
|
|
| Next |
| Prev |
| Print |
| Cancel |
|
|
|______|
|______|
|_______|
|________|
|
|
|
|
|__________________________________________________________________________|
166
Adabas D: Control
Configuration Menu Function
Fig.: Input Screen 1 for Alter Log
___________________________________________________________________________
|
|
|
Alter Log
<Serverdb> on <Servernode>
|
|
|
|
|
|
|
NAME
TYPE
SIZE
DEVSPACE PATH
|
______________________________________________________________________
|
|
|
|
SYSTEMDEV
F
-
/u/dev/SYS1
|
|
TRANS LOG
R
3000
/dev/log0DB1
|
|
ARCHLOG 1
R
3000
/dev/log1DB1
|
|
DATDEV 01
R
50000
/dev/dat01DB1
|
|
DATDEV 02
R
50000
/dev/dat02DB1
|
|
|
|
|
|
________
________
______
_________
_________
|
|
|
|
|
|
|
|
|
|
| Next |
| Prev |
| Ok |
| Print |
| Cancel |
|
|
|______|
|______|
|____|
|_______|
|________|
|
|
|
|
|
|__________________________________________________________________________|
Fig.: Input Screen 2 for Alter Log
Configuration / Load Systables
For a new version, this function can be used to update the system tables.
167
Configuration Menu Function
Adabas D: Control
___________________________________________________________________________
|
|
|
Load System Tables for Update Installation
|
|__________________________________________________________________________|
|
|
|
---> Create general systemtables...............
ACTIVE
|
|
Load messages and help infos..............
--
|
|
Load SET defaults.........................
--
|
|
Load system tables for precompilers.......
--
|
|
Load system tables for QUERY..............
--
|
|
Load system tables for SQL-PL.............
--
|
|
Load SQL-PL WORKBENCH.....................
--
|
|
Load system tables for QueryPlus..........
--
|
|
Create system views.......................
--
|
|
Create ODBC tables........................
--
|
|
Create SQL catalog views..................
--
|
|
Load system DB PROCEDURES.................
--
|
|__________________________________________________________________________|
Fig.: Status Screen for Load System Tables
Configuration / Install Serverdb
This menu function can be used to recreate the existing serverdb. When doing so, the current data will be
lost. The procedure corresponds to that of a first installation (see Section Installing a New Serverdb),
whereby the values valid so far are provided. In any case, the system tables must be loaded after Install
Serverdb either by loading a DBEXTRACT using the component LOAD or by restoring a data backup
using the Control Backup / Restore / Data menu function or by loading the tables using the Configuration
/ Load Systables menu function.
WARNING: The old database contents will be lost thereafter.
This function can also be used to install a serverdb from a data backup either with or without the
configuration of the backup version. This is described in detail in Section Installing the Serverdb from an
Existing Data Backup.
168
Adabas D: Control
Configuration Menu Function
Configuration / Clear Serverdb
This menu function removes the current serverdb. When confirming this selection, the complete data of
this database will be lost. Any information about the server database and its contents will be deleted.
Afterwards, the server database name is available again.
169
Remote Control
Adabas D: Control
Remote Control
This chapter covers the following topics:
Call Syntax
Options
Starting the Application
The Navigator Tree
Remote Control Server
Environment Variables
Configuration of Control
Tcl Commands
Call Syntax
adcontrol
[-n <dbnode>] [-d <dbname>]
[-u < control user>,<passwd>] [-r batchfile]
[command ...]
Options
-n
database node (default=local);
-d
database name (default=$SERVERDB);
-u
name and password of the control user;
-r
name of a batch file containing tcl commands;
command
tcl command.
Starting the Application
When starting up the application, a window called "Adabas D Control" is displayed. It consists of four
parts, a menu at the top, a navigation tree to the left, an information window to the right, and a status line
at the bottom. The information displayed in the information window depends on the position of the cursor
in the tree to the left.
In the initial state, the cursor of the navigation tree is positioned on the name of the local computer and the
right window is showing a picture of a traffic light, each of its bulbs corresponding to a state of the
database server.
170
Adabas D: Control
Remote Control
RED
database server is offline.
YELLOW
database server is started (COLD).
GREEN
database server is in normal mode (WARM).
The current mode of the Adabas server is tested and the traffic light shows the corresponding color. Since
the user is not connected to any serverdb yet, no traffic light shines. After moving the cursor of the
navigator tree onto the name of a serverdb and entering the correct connect data into the fields of the
connect window, one bulb of the traffic light will be switched on.
The Navigator Tree
On the left side of the window, there is the navigator tree where the user can navigate through the
serverdbs of the local computer and all remote hosts which are configured to allow for remote database
administration.
The navigator tree consists of nodes representing a hierarchy of servernodes, serverdbs, backup media or
save operations, to name just a few. If a node has subitems, there is a little square to the left of the node
displaying a minus or plus sign. A minus sign signals an open node, i.e., the children of this node are
visible, a plus sign signals a closed node, i.e., the children of the node are invisible.
The user can modify the navigator tree by means of the cursor and/or the mouse pointer. A double-click
with the left mouse button over a closed node opens it (makes the children of this node visible), a
double-click over an already opened node closes it.
One node always has the cursor, i.e., the name of the node is highlighted. You can use the up and down
keys to move the cursor to the node above or below. The left or right key moves the cursor one node up or
down the hierarchy or opens or closes a node with children. If you click on a node, the cursor jumps to
171
Remote Control
Adabas D: Control
this node.
By clicking on a leaf of the navigator tree you can switch the contents of the right window. For example,
if you click on a medium name, the Media Manager shows the attributes of the selected medium on the
right side. If you move onto a leaf with the cursor keys, the right side automatically shows the
corresponding information after half a second.
There is a context sensitive popup menu available by clicking on a node with the right button. This menu
has at least a help entry, but there is a good chance that you can call additional functions by means of this
menu.
The following sections describe all the different kinds of nodes of the navigator tree.
Servernodes
The top level nodes of the navigator tree represent servernodes which export serverdbs you can connect
to.
You can add other servernodes with the Options/Servernodes menu function. A small window pops up
and asks you for the name of the servernode. If you press Add, the given servernode will be added to the
navigator tree.
You can delete servernodes from the navigator tree by means of the File/Forget servernode menu
function. A small window pops up where you can select a servernode with an option menu. If you press
Forget, the selected servernode will be removed from the navigator tree.
Which servernodes are displayed at the start of Control, will be remembered by the Remote Control
Server, if it is running. So you will see the same list of servernodes, when you start the program next time.
Serverdbs
All exported serverdbs of the host are displayed below a servernode. To the left of the serverdb name,
there is a tiny picture of a database device near a traffic light. One bulb of the light shines according to the
state of the serverdb (see Section Starting the Application).
Sometimes no bulb of the traffic light shines. This may be the case for a local serverdb, if the state cannot
be evaluated most probably due to version differences, or for remote serverdbs, if they are already
exported, but do not yet exist. See Section Install Serverdb.
If the cursor rests on a node representing a serverdb, the right window displays a picture with a full size
traffic light.
To interact with Control, the user can click on any of the bulbs or on the area (in the bottom right-hand
corner) where the word Help or Quit is displayed.
When clicking on a light, the database server changes its current state into the state which corresponds to
the clicked light. When clicking on Help, a window pops up, in which you can read this document. This
function is also made available by pressing F1. When clicking on Quit, Control terminates after asking the
user, if the database server should be stopped, too.
If the database server reports an error while changing its state from offline into cold mode, the error
messages are displayed in the top left corner of the window. If there is additional information in the kernel
diagnose file, a blinking word Diag appears above the Help word. A mouse click on the word brings up a
172
Adabas D: Control
Remote Control
window containing the kernel diagnose file. You can read this file at any time (even if no error occurred)
by means of the navigator tree (see Section Diagnose).
As you can see in picture "The Navigator Tree", the same list of nodes appears below all opened
serverdbs: InfoSheet, KernelParameter, Configuration, Diagnose, MediaManager and SaveOperations.
These nodes are described in the following sections.
Info Sheet
A click on the InfoSheet node creates a window on the right side displaying statistics about the serverdb.
There are three horizontal bars which show the usage levels of data pages, log pages, and user sessions.
Below these bars appear Serverdb parameters during database operation which are described in Section
The Main Screen.
If the state of the serverdb is COLD or WARM, you can open the InfoSheet node; below it there are nodes
to get information about processes, regions and memory. If the serverdb is warm, additional nodes with
information about activity, configuration, distribution, users, cache I/O accesses, locks and logs are
available. These functions are described in Section Info / Activity to Info / Memory.
The displayed values are updated once in a while (every 10 or 30 seconds, 2 or 10 minutes). The user can
adjust the time span by means of the cascade menu Refresh Info Sheet of the Options menu.
Kernel Parameter
A click on the KernelParameter node creates a window on the right side displaying a table of kernel
parameters. These are the parameters, which are used during startup of the database kernel to determine
the size of its internal tables and data structures.
The table columns: the left one shows the name of the parameter (or parameter group), the right displays a
folder icon for groups and the current value for parameters. It will contain a row for every parameter
group and for every parameter belonging to no group (like RUNDIRECTORY).
If you click into the row of a parameter group, the table will display the parameters for the group currently
displayed in this row.
If you click into a row containing a parameter, the right side will become a form displaying all
information available for this parameter.
In this form you can edit the value of this parameter, if it is mutable. You can type in the new value in the
"Value:" field or use the spin buttons or the default Set button, if they are enabled.
After editing some values, you have to confirm your changes by clicking on the Save kernel parameters
button. This way all parameters are checked. If the modifications of the parameters lead to deviating
computations for related values, you can choose between the entered and the computed value. Other errors
are shown in the displayed log.
Finally, the minimum values required for the configuration parameters of the operating system kernel are
displayed, so you can check the settings.
If parameters have been modified, they become effective only after a shutdown and subsequent restart of
the serverdb.
173
Remote Control
Adabas D: Control
Some more information about the parameters can be found in Section Installing a New Serverdb.
Configuration
A click on the Configuration node creates a window on the right side displaying a table of the four
configuration groups: Session, SysUsers, Log and Devices. These groups contain the parameters, which
have influence on a running instance of a database kernel.
If you click into the row for the configuration group Session or Log, the table will display the parameters
of the group. If you click there into a row containing a parameter, the right side will become a form
displaying all information available for this parameter.
In this form you can edit the value of this parameter, if the serverdb is in COLD state.
You can type in the new value in the "Value:" field or use the spin buttons, the choice button or the default
Set button, if they are available.
After editing some values, you have to confirm your changes by clicking on the Save configuration
button. The session configuration will simply be stored into the database kernel, and will become effective
with the next restart.
The change of a log configuration will take more steps (the serverdb will be shutdown and started again).
A status screen informing about every step is displayed during execution.
SysUsers
The password of the SYSDBA, DOMAIN as well as the name and password of the CONTROLUSER can
be modified. The passwords of the SYSDBA and of the DOMAIN user can only be modified in WARM
mode. The name and password of the CONTROLUSER can only be modified if the mode is NOT
WARM.
After entering the password of the previous user definition, you have to enter Return, when the cursor is in
the password field of the sysusertype to be modified. When entering the new definition, the password
must be specified twice for security reasons.
Devices
A click on the Devices node creates a window on the right side displaying a table of information about the
devices of the serverdb. For every device the name, type, size (in 4 KB pages) and the path are displayed.
At the bottom there are some buttons by which you can alter the device configuration. If the serverdb is in
WARM state, a button with the title Add Devspace is enabled, in COLD state the buttons Change
Devspace , Alter Log and Init Config are also enabled.
Add Devspace
After calling this function, the device table gets an additional row where you can specify the
configuration of the new device. To change the value of the Type field, simply enter an r
indicating a raw device, f indicating a file or 1 indicating a symbolic link (Unix only).
Change Devspace
174
Adabas D: Control
Remote Control
After calling this function, you can edit the Devspace Path field of the device table. After filling
in the values, click on the OK button to start the change of the configuration.
Prerequisite for raw devices is that a copy of the original devspace has been written to the new
path.
Alter Log
After calling this function, you can edit the Type, Size and Devspace Path fields of all log
devices. After filling in the values, click on the OK button to start the Alter Log function.
Init Config
After calling this function, you can edit the Type, Size and Devspace Path of all devices. After
filling in the values click on the OK button to start the recreation of the existing serverdb. When
doing so, the current data will be lost. The procedure corresponds to that of a first installation,
whereby the values existing so far are provided.
Warning:
The old database contents will be lost thereafter.
LoadSystem Tables
The last subnode of Configuration is called LoadSystemTables. By double clicking this node you can start
loading the system tables.
Diagnose
Below the Diagnose node there are nodes where you can browse through the diagnose files of the
serverdb. A click on one of these nodes creates a window on the right side displaying the operator
messages of the current instance of the serverdb, the operator messages of the last instance or the protocol
of the last installation. You can browse through the text with the attached scrollbars or by means of the
cursor keys.
Media Manager
A click on the MediaManager node creates a window on the right side where media for backup and
restore can be defined. If there is already defined at least one medium, a table with all defined media is
displayed, else an empty form where you can define a medium.
A double-click on the MediaManager (or a click on the plus sign at the left) opens the media node, i.e., all
media defined at the connected serverdb are listed as new nodes below the MediaManager. Clicking on
any medium displays its attributes in the form on the right side. If there is a group of parallel media
defined, it is displayed as first medium, and you can open it to see all media belonging to this group.
In the form you can change the attributes of a medium:
Next medium
If the end of the medium is reached, the save (or restore) will automatically continue to read
from this medium.
175
Remote Control
Adabas D: Control
Device type
With this option menu you can specify the device type of the medium: tape, file, norewind (also
a tape), pipe and autoloader.
Parallel
Here you can check, if this medium belongs to the parallel group or not.
Path
This is the path name of the device. You can use the browse button to look for the path name on
the file system.
Path2 | OS Cmd
Here you can specify an additional path or (for autoloader devices on Unix systems) an
operating system command, which will be invoked, if a medium reaches its end.
Overwrite
Here you can check, whether the file of this medium already exists, whether the file of this
medium can be overwritten, or whether it should be considered an error to overwrite it.
Media Size
If there is a maximum size of data, which should be written to this medium, you can specify it in
this entry. 0 stands for no upper limit.
Note:
Note that you have to click on the Save button (or press the Return key) to store your changes
permanently. The Clear button will wipe out all the data in the media form, and the Delete
button will delete the current medium.
If the current medium already contains a database save, you can look at the label of this medium
by clicking on the Read Label button. A small window pops up displaying information such as
the creation date of the save and its label name.
Save Operations
You start a backup on the current serverdb by clicking on one of the save operations. A window pops up
where you must specify a medium. You can also drag the wanted save operations onto a medium.
The progress of the save process can be watched in the window at the right side. If an error occurs, the
error message will be displayed in red. If everything works properly, the progress bar should display
100%.
Restore Operations
You start a restore on the current serverdb by clicking on one of the restore operations. A window pops up
where you must specify a medium. You can also drag the wanted save operations onto a medium.
176
Adabas D: Control
Remote Control
The progress of the restore process can be watched in the window at the right side. If an error occurs, the
error message will be displayed in red. If everything works properly, the progress bar should display
100%.
Install New Serverdb
If you want to install a new serverdb, use the function Install new... in the ServerDB menu. You can also
click on an icon of a serverdb which does not yet exist (what is only possible for serverdbs on remote
hosts).
You have to specify the name and password of the control user of the new serverdb in the form entries of
the connect window popping up. If it is a local serverdb or it matches the name and password of the
remote serverdb, you enter a dialog sequence consisting of four windows.
Installation (1): SysUsers
Here you have to specify the names and passwords of the SYSDBA, DOMAIN and the
CONTROLUSER. The password must be specified twice for security reasons.
Installation (2): KernelParameter
Here you have to specify the limits of the database kernel. See Section KernelParameter.
Installation (3): Configuration
Here you have to specify the configuration of the new serverdb. See Section Configuration. You
can also set the number of devices and if the data devspaces are mirrored.
Installation (4): Devices
Here you have to specify the device configuration of the new serverdb. See Section Devices.
At the bottom of the window there are the buttons Next and Prev. You can use these buttons to switch
between the four installation steps mentioned above. To navigate between the parameters of one
installation step (e.g. from kernel parameter MAXUSERTASKS to kernel parameter MAXLOCKS) you
can use the navigator tree at the left.
Remote Control Server
To enable remote administration of a serverdb, there must run a server which serves requests from clients
on remote hosts to do some administration tasks of a serverdb on this host. You can start or stop the
Remote Control Server on the local host by means of the Remote Control Server menu item in the File
menu. The corresponding button in the File menu indicates the status.
Which local serverdbs are exported (i.e. administration from remote hosts is enabled, as long as the
remote client gives the correct control user name and password), can be determined by means of the
Export ... function in the File menu.
If you click on the node RemoteControl in the tree of the local host, the right window will display the
configuration of the Remote Control Server. This window contains the following information:
177
Remote Control
Adabas D: Control
Exported serverdbs at hostname
A list for every exported serverdb containing its name (Serverdb), the information if it already
exists or if it is new, and its root directory (DBROOT).
Allow remote installation of any serverdb
If you want to install a new serverdb from a remote host, you first have to export this (right now
not yet existent) serverdb. These are the serverdbs displayed as new in the list above. Since you
have to give the name and password of the control user, when exporting a new serverdb, none
without knowledge about this data can create serverdbs on your host. If you trust all the people
in your network, you can enable this switch; then everybody can install new serverdbs, even
remote, without the need for you to export them first.
Put protocol into file
If you disable this switch, the remote control server will write its protocol to standard out.
Otherwise you can specify the name of the protocol here.
Remote Control Server, Start or Stop
Here you can start or stop the server.
Exported Serverdbs, Add...
After clicking on this button a window will pop up, where you can enter name and DBROOT of
the serverdb you want to control from remote hosts. If this serverdb does not yet exist, you have
to specify name and password of the control user, too.
Exported Serverdbs, Forget
By clicking on this button the highlighted serverdb will be deleted from the above list of
exported serverdbs.
Exported Serverdbs, Apply or Save
The configuration changes will be saved and a running server will be notified of the new
configuration.
The normal way to start or stop the server is to use the function Remote Control Server in the File menu.
On a Unix system you can use rcontrol & as a shell command to start the server and rcontrol stop to stop
it.
On a Windows system you can use the Control Panel/Services function of the Explorer. The server has the
name "Adabas D Remote Control Server".
Configuration File of the Remote Control Server
On Unix systems the name of the configuration file is located at
178
Adabas D: Control
Remote Control
/usr/spool/sql/adabasd.conf
On Windows the configuration is entered into the registry below the key
HKEY_LOCAL_MACHINE\Software\Software AG\Adabas D\Remote Control
Environment Variables
SERVERDB
The default Adabas D server name. If it is not set, the variable DBNAME is also inspected.
Configuration of Control
While starting on a Unix system, the X resource database is read, so that the behavior of Control can be
customized by the user. The resources can be set via the xrdb command (highest priority) or mentioned in
the files $HOME/.adabasrdb or $HOME/.Xdefaults.
On a Windows system, the registry is read during the startup phase. The options for the behavior of a
Control client are entered below the key
HKEY_CURRENT_USER\Software\Software AG\Adabas D\Control
If no assignment can be found, the default values can be seen in the following excerpt from a resource file.
*control.autostart:
True
*control.autostop:
True
*control.edition:
Database Server
*control.fontFamily:
courier
*control.fontOverstrike:
False
*control.fontSize:
12
*control.fontSlant:
roman
*control.fontUnderline:
False
*control.fontWeight:
normal
*control.netscapeHelp:
False
*control.fontWeight:
normal
*control.netscapeHelp:
False
*control.refresh:
10
*control.servernodes:
*control.splashScreen:
True
179
Remote Control
Adabas D: Control
Tcl Commands
You can use Control as extended Tcl interpreter. You specify the name of a file containing Tcl commands
by means of the -r option or you specify the Tcl command as additional parameters. Here a very simple
example, which will output the current state of the serverdb:
# adcontrol -d MYDB -u control,adabas state
warm
You can specify more complex Tcl commands, but remember to protect them against interpretation of the
shell by putting them in single quotation marks. Here another example, which starts a save, serverdb is in
warm state:
# adcontrol -d pc2:DB2 -u c,c ’if {[state] == "warm"}
{backup data MEDIUM1}’
If the commands get more complex than this, or if your prompt cannot escape the special characters of the
Tcl command (e.g. the DOS prompt), you should put the commands into a script file and call Control with
the -r option.
180
Adabas D: Control
Troubleshooting When Problems Occur
Troubleshooting When Problems Occur
This section is intended to help database administrators find the rigth strategy for correcting errors when
they occur. In order to do this,the errors must be precisely anaylzed on the basis of the Adabas error
Protocol files. When the cause of error isknown , the appropriate measures can be quickly taken for
returning the system to operation.
This chapter covers the following topics:
What to do When the System Crashes
The Log is Full
The Database is Full
A Log Disk is Defective
A System Error Has Occurred
What to do When the System Crashes
Saving the Protocol Files
When your system crashes, you must first of all save the protocol files located in the rundirectory before
any attempt is made to start the database so that Adabas Support can later analyze these files.
In the default configuration, the rundirectory is located in the
$DBROOT/wrk/$DBNAME (UNIX)
or
%DBROOT%\WRK\%DBNAME% (Windows) directory.
If the administrator does not know where to find the rundirectory, he or she can derive the path from the
value of the RUNDIRECTORY parameter, which is found with the aid of Control by means of the
Configuration / Alter Parameters / Kernel menu function.
The following protocol files are of particular importance in the event of a system crash.
knldiag
All database messages, regardless of their priority, are recorded here. knldiag is a readable
ASCII file that is wrapped around. When the database is started, this file is saved under the
name knldiag.old and a new file is created for the active database. Only one backup copy of this
file exists at any one time.
knltrace
181
Troubleshooting When Problems Occur
Adabas D: Control
The database trace is written to this file, which is also wrapped around. This file can be analyzed
using special database tools only. When the database is started, this area is reinitialized.
knldump
If the database crashes, a memory dump from the database is written to this file. knldump can be
analyzed using special database tools only. It is not initialized when the system is started up.
In addition, the operating system can generate another file.
Under Unix, the rundirectory then contains a core that can be analyzed usinng the appropriate debuggers
or the Adabas tool x_look.
Under Windows, a "Dr. Watson" message is generated in the drwtsn32.log file in the Windows directory.
All the files mentioned above should be saved to a separate directory before performing any additional
action.
The x_look Analysis Tool Under Unix
The x_look analysis tool is currently available for UNIX platforms only and is located in the
$DBROOT/bin directory. If no attempt has been made to restart the system since it crashed, all the
protocol files are retained so that you can enter the following command to call x_look as the database
administrator (UNIX) in the rundirectory without additional parameters:
x_look
This applies to those cases where the environment variables DBROOT and DBNAME are set correctly. If
these values are wrong (or missing), they must be passed via the parameters "-r" and "-d" (see below).
In the rundirectory, a protocol file diag.analyze is generated. It contains information about the operating
system and the database (version, parameters, current files, ...) as well as the first and the last entries from
the knldiag file.
Should the rundirectory contain a file core, x_look evaluates it automatically and writes the stack
backtrace to diag.analyze as well. For this action, x_look supports the debuggers "adb", "dbx", "gdb", and
"sdb" and selects the one typically installed on the respective platform, this choice can be overridden by
the parameter "-c".
If an attempt was already made to start the database before x_look was called, you must cal x_look wsith
specific parameters. Enter the folowing to display all the available parameters
x_look -h
The x_look options have the following meaning:
182
Adabas D: Control
-V
Displays the x_look program version.
-v
Verbose); displays the files that will be
-vv
isplays the individual steps run through by
-r / -R
xpects the path of DBROOT to be
-d
xpects the database name to be
-p
xpects the DB kernel program to be specified
-f
xpects the backup file name (e.g.
-c
Expects the namen of a debugger program.
-a
Expects call arguments for the debugger.
Troubleshooting When Problems Occur
Commands for currently unsupported debuggers
-q
uppresses some progress messages of
If applicable, the diag.analyze file should be made available to Adabas Support forfurther analysis.
Finding the cause of a System Crash
Using the knldiag file, database administrators can discover the cause of a system crash by themselves.
Duning database operation, the knldiag file is constantly filled with database messages and wrapped
aroun.
You can view the knldiag file directly from Control by means of the Diagnose / Op Messages menu
function provided that the database has not been restarted since the system crash. Control automatically
displays the current position and thus, in the event of a crash, the most recent entries.
If the system has meanwhile been restarted, you can view the copy of the file (knldiag.old) on the
operating system level with the aid of the usual editors. The current cursor position is indicated by a single
dashed line.
The following excerpt from the kn lediag file shows a successful startup of the runtime environment with
the database in cold mode:
02.25 15:42:54 9517 -11081 RTE 10.0.2.00 SV/386/R4 DATE 2002-02-24
02.25 15:42:54 9517 -11081 key for ipc resources 0x4400187e
02.25 15:42:54 9517 -11070 bw;2000*sv,br;l1;l2;sn,rc,ut;ti,30000*us;compress
02.25 15:42:54 9517 -11070 number of users: 5
02.25 15:42:54 9517 -11070 number of servers: 14
02.25 15:42:54 9517 -11070 number of tasks: 27
02.25 15:42:54 9517 -11070 number of ukps: 6
183
Troubleshooting When Problems Occur
02.25 15:42:54 9517 -11070 using dynamic KGS
02.25 15:42:54 9517 -11070 creating shared section size 24281088
02.25 15:42:54 9517 -11070 alignment gaps total size 2820
02.25 15:42:54 9517 -11070 attached shared section at 0xbe820000
02.25 15:42:54 9517 -11070 shared section ends at 0xbff48000
02.25 15:42:58 9517 -11081 INFO: KERNEL STARTING ++++++++++++++++
02.25 15:42:58 9517 -11081 INFO: KERNEL DBNAME ’db10’
02.25 15:42:58 9517 -11081 INFO: KERNEL DBNODE ’ns2’
02.25 15:42:58 9518 -11087 CONSOLE started
02.25-15:42:58 9523 -11088 UKP1 started
02.25-15:42:58 9524 -11088 UKP2 started
02.25-15:42:58 9525 -11088 UKP3 started
02.25-15:42:58 9526 -11088 UKP4 started
02.25-15:42:58 9527 -11088 UKP5 started
02.25-15:42:58 9528 -11088 UKP6 started
02.25-15:42:58 9521 -11084 REQUESTOR started
02.25-15:42:58 9519 -11082 DEATH started
02.25-15:42:58 9520 -11083 TIMER started
02.25-15:42:58 9528 -11088 area for task-stack-allocation is DATA
02.25-15:42:58 9528 -11088 allocated 1085440 bytes for static-stacks
02.25-15:42:58 9528 -11987 UKP6 attached big comseg at 0xbe814000
02.25-15:42:58 9528 -11987 UKP6 big comseg ends at 0xbe81e2a8
02.25-15:42:58 9523 -11088 area for task-stack-allocation is DATA
02.25-15:42:58 9523 -11088 allocated 12288 bytes for static-stacks
02.25-15:42:58 9524 -11088 area for task-stack-allocation is DATA
02.25-15:42:58 9525 -11088 area for task-stack-allocation is DATA
02.25-15:42:58 9525 -11088 allocated 12288 bytes for static-stacks
184
Adabas D: Control
Adabas D: Control
Troubleshooting When Problems Occur
02.25-15:42:58 9526 -11088 area for task-stack-allocation is DATA
02.25-15:42:58 9526 -11088 allocated 12288 bytes for static-stacks
02.25-15:42:58 9527 -11088 area for task-stack-allocation is DATA
02.25-15:42:58 9527 -11088 allocated 256000 bytes for static-stacks
02.25-15:42:58 9527 -11987 UKP5 attached big comseg at 0xbe81c000
02.25-15:42:58 9527 -11987 UKP5 big comseg ends at 0xbe81e088
02.25-15:42:59 9524 -11088 allocated 2928640 bytes for static-stacks
02.25-15:42:59 9522 -11054 DEV0 started
02.25-15:43:01 9528 -519 DYNPOOL==>AK51SIZES HEAD_LIST total: 24
02.25-15:43:01 9528 -519 DYNPOOL==>USER + 1: 6
02.25-15:43:01 9528 -519 DYNPOOL==>AK51SIZES HEAD_LIST element: 4
02.25-15:43:01 9528 -519 DYNPOOL==>AK51SIZES LIST total: 144
02.25-15:43:01 9528 -519 DYNPOOL==>USER + 1: 6
02.25-15:43:01 9528 -519 DYNPOOL==>AK51SIZES LIST element: 24
02.25-15:43:01 9528 -519 DATAPAGES to manage by each FBM-Page: 16320
02.25-15:43:01 9528 -519 DYNPOOL==>FBM_GLOBAL_STRUCT total: 68
02.25-15:43:01 9528 -519 DYNPOOL==>FBM_DEV_INFO total: 192
02.25-15:43:01 9528 -519 DYNPOOL==>MAXDATASPACES + FIRST_DEVNO 3
02.25-15:43:01 9528 -519 DYNPOOL==>FBM_DEV_INFO element: 64
02.25-15:43:01 9528 -519 DYNDATA==>FBM_CACHE_PAGES (4K): 3
02.25-15:43:01 9528 -519 DYNPOOL==>FBM_DIRTY_LIST total: 3
02.25-15:43:01 9528 -519 DYNPOOL==>MAX_FBM_PNO : 3
02.25-15:43:01 9528 -519 DYNPOOL==>FBM_DIRTY element (tsp_int1) 1
02.25-15:43:01 9528 -11051 KERNEL 6.1.16.00 DATE 1997-11-04
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_DESC_CACHE total: 880
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_DESC_CACHE (XPARAM) 22
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_DESC_CACHE element: 40
185
Troubleshooting When Problems Occur
Adabas D: Control
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_CMD_DESC total: 544
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_CMD_CACHE (XPARAM) 17
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_CMD_DESC element: 32
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_CMD_CACHE total: 140760
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_CMD_CACHE (XPARAM) 17
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_CMD_CACHE element: 8280
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_TASK_DESC total: 960
02.25-15:43:01 9524 -519 DYNPOOL==>(USER + SERVER + 2) / 0.7 30
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_TASK_DESC element: 32
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_SERVER_DESC total: 336
02.25-15:43:01 9524 -519 DYNPOOL==>MAXDISTRIBSERVER (XPARAM) 14
02.25-15:43:01 9524 -519 DYNPOOL==>DISTRIB_SERVER_DESC element: 24
02.25-15:43:02 9524 -519 DYNPOOL==>DISTRIB_SITE_DESC total: 120
02.25-15:43:02 9524 -519 DYNPOOL==>MAXSERVERDB (XPARAM) 1
02.25-15:43:02 9524 -519 DYNPOOL==>DISTRIB_SITE_DESC element: 120
02.25-15:43:02 9523 -11987 vdevsize: ’knltrace’, 200 requested
02.25-15:43:02 9523 -11987 vdevsize: ’knltrace’, 200 succeded
02.25-15:43:02 9523 -11054 attach ’knltrace’
02.25-15:43:02 9523 -519 DYNDATA==>TRACE BUFFER (4K): 2
02.25-15:43:02 9529 -11054 DEV started
===========================================================================
02.25-15:43:03 9520 -1 INFO: startup complete
02.25-15:43:04 9521 -11987 Connecting T8 apid 9451
02.25-15:43:04 9527 -11987 Connected T8 apid 9451 Bbe81c004
-----------------------------------------------------------------The information before the double line (system parameter setting) is retained until system shutdown; i.e.
this section is not wrapped around.
186
Adabas D: Control
Troubleshooting When Problems Occur
The "startup complete" message indicates that the database system’s rutime environment has been
successfully started.
In the following excerpt from the knldiag file, the "RESTART LOCAL: Ready" message indicates that the
database was successfully restarted. The system is now in warm mode:
02.25-17:32:03 9749 -1 INFO: startup complete
02.25-17:32:04 9750 -11987 Connecting T8 apid 9657
02.25-17:32:04 9756 -11987 Connected T8 apid 9657 Bbe81c004
02.25-17:32:05 9756 -519 DYNDATA==>B15CONFIG (4K): 3
02.25-17:32:05 9756 -11054 New devspace ’db10.sys’
02.25-17:32:05 9756 -11054 attach ’db10.sys’
02.25-17:32:05 9767 -11054 DEV started
02.25-17:32:05 9768 -11054 DEV started
02.25-17:32:05 9756 -11054 single I/O attach ’db10.sys’
02.25-17:32:05 9756 -11054 detach devno 1 ’db10.sys’
02.25-17:32:05 9767 -11054 DEV stopped
02.25-17:32:05 9768 -11054 DEV stopped
02.25-17:32:05 9756 -11054 attach ’db10.sys’
02.25-17:32:05 9769 -11054 DEV started
02.25-17:32:05 9756 -11054 single I/O attach ’db10.sys’
02.25-17:32:05 9756 -11987 vcurrdevsize: devno 1 is 166
02.25-17:32:05 9770 -11054 DEV started
02.25-17:32:05 9756 -11054 New devspace ’/db10’
02.25-17:32:05 9756 -11054 attach ’/db10’
02.25-17:32:05 9771 -11054 DEV started
02.25-17:32:05 9756 -11054 New devspace ’db10.log’
02.25-17:32:05 9756 -11054 attach ’db10.log’
02.25-17:32:05 9772 -11054 DEV started
02.25-17:32:05 9773 -11054 DEV started
187
Troubleshooting When Problems Occur
Adabas D: Control
02.25-17:32:05 9774 -11054 DEV started
02.25-17:32:05 9756 -519 DYNDATA==>RESTART RECORD (4K): 1
02.25-17:32:05 9756 -519 DYNDATA==>FROZEN RST REC (4K): 1
02.25-17:32:05 9756 -519 DYNPOOL==>FREE_PNO_POOL total: 43996
02.25-17:32:05 9756 -519 DYNPOOL==>PNOPOOLSIZE: 10999
02.25-17:32:05 9756 -519 DYNPOOL==>FREE_PNO_POOL element: 4
02.25-17:32:05 9756 -519 DYNPOOL==>USM_CACHE_CTRL total: 32
02.25-17:32:05 9756 -519 DYNPOOL==>USM_CACHE_PAGES (XPARAM): 4
02.25-17:32:05 9756 -519 DYNPOOL==>USM_CACHE_CTRL element: 8
02.25-17:32:05 9756 -519 DYNDATA==>UMS_CACHE_PAGES (4K): 4
02.25-17:32:05 9756 -519 DYNPOOL==>CONV_CACHE HEAD_LIST total: 32008
02.25-17:32:05 9756 -519 DYNPOOL==>CONV_HEAD_LIST_SIZE (XPARAM): 4001
02.25-17:32:05 9756 -519 DYNPOOL==>CONV_CACHE HEAD_LIST element: 8
02.25-17:32:05 9756 -519 DYNPOOL==>CONV_CACHE PID_QUEUE total: 432
02.25-17:32:05 9756 -519 DYNPOOL==>USER + SERVER + 8: 27
02.25-17:32:05 9756 -519 DYNPOOL==>CONV_CACHE PID_QUEUE element: 16
02.25-17:32:05 9756 -519 DYNDATA==>CONV_CACHE_PAGES (XPARAM, 4K): 163
02.25-17:32:05 9756 -519 DYNPOOL==>CONV_CACHE CB total: 6520
02.25-17:32:05 9756 -519 DYNPOOL==>CONV_CACHE_PAGES (XPARAM): 163
02.25-17:32:05 9756 -519 DYNPOOL==>CONV_CACHE CB element: 40
02.25-17:32:05 9756 -11054 single I/O attach ’/db10’
02.25-17:32:06 9756 -519 DYNPOOL==>TEMP_CACHE IO_CTRL total: 48
02.25-17:32:06 9756 -519 DYNPOOL==>USER + 1: 6
02.25-17:32:06 9756 -519 DYNPOOL==>TEMP_CACHE IO_CTRL element: 8
02.25-17:32:06 9756 -519 DYNDATA==>TEMP_CACHE_IO (4K): 6
02.25-17:32:06 9756 -519 DYNPOOL==>FREE PNO LIST total: 264000
02.25-17:32:06 9756 -519 DYNPOOL==>FREE PNO LIST element: 12
188
Adabas D: Control
Troubleshooting When Problems Occur
02.25-17:32:06 9756 -519 DYNPOOL==>FREE ROOT LIST total: 26400
02.25-17:32:06 9756 -519 DYNPOOL==>FREE ROOT LIST element: 12
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE IO_QUEUE total: 2000
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES DIV 10: 500
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE IO_QUEUE element: 4
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST total: 79784
02.25-17:32:06 9756 -519 DYNPOOL==>HEAD_LIST_SIZE (XPARAM): 9973
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST element: 8
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE total: 432
02.25-17:32:06 9756 -519 DYNPOOL==>USER + SERVER + 8: 27
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE element: 16
02.25-17:32:06 9756 -519 DYNDATA==>DATA_CACHE_PAGES (XPARAM, 4K): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB total: 39680
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES (XPARAM): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB element: 64
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST total: 79784
02.25-17:32:06 9756 -519 DYNPOOL==>HEAD_LIST_SIZE (XPARAM): 9973
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST element: 8
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE total: 432
02.25-17:32:06 9756 -519 DYNPOOL==>USER + SERVER + 8: 27
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE element: 16
02.25-17:32:06 9756 -519 DYNDATA==>DATA_CACHE_PAGES (XPARAM, 4K): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB total: 39680
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES (XPARAM): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB element: 64
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST total: 79784
02.25-17:32:06 9756 -519 DYNPOOL==>HEAD_LIST_SIZE (XPARAM): 9973
189
Troubleshooting When Problems Occur
Adabas D: Control
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST element: 8
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE total: 432
02.25-17:32:06 9756 -519 DYNPOOL==>USER + SERVER + 8: 27
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE element: 16
02.25-17:32:06 9756 -519 DYNDATA==>DATA_CACHE_PAGES (XPARAM, 4K): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB total: 39680
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES (XPARAM): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB element: 64
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST total: 79784
02.25-17:32:06 9756 -519 DYNPOOL==>HEAD_LIST_SIZE (XPARAM): 9973
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST element: 8
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE total: 432
02.25-17:32:06 9756 -519 DYNPOOL==>USER + SERVER + 8: 27
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE element: 16
02.25-17:32:06 9756 -519 DYNDATA==>DATA_CACHE_PAGES (XPARAM, 4K): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB total: 39680
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES (XPARAM): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB element: 64
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST total: 79784
02.25-17:32:06 9756 -519 DYNPOOL==>HEAD_LIST_SIZE (XPARAM): 9973
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST element: 8
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE total: 432
02.25-17:32:06 9756 -519 DYNPOOL==>USER + SERVER + 8: 27
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE element: 16
02.25-17:32:06 9756 -519 DYNDATA==>DATA_CACHE_PAGES (XPARAM, 4K): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB total: 39680
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES (XPARAM): 620
190
Adabas D: Control
Troubleshooting When Problems Occur
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB element: 64
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST total: 79784
02.25-17:32:06 9756 -519 DYNPOOL==>HEAD_LIST_SIZE (XPARAM): 9973
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST element: 8
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE total: 432
02.25-17:32:06 9756 -519 DYNPOOL==>USER + SERVER + 8: 27
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE element: 16
02.25-17:32:06 9756 -519 DYNDATA==>DATA_CACHE_PAGES (XPARAM, 4K): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB total: 39680
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES (XPARAM): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB element: 64
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST total: 79784
02.25-17:32:06 9756 -519 DYNPOOL==>HEAD_LIST_SIZE (XPARAM): 9973
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST element: 8
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE total: 432
02.25-17:32:06 9756 -519 DYNPOOL==>USER + SERVER + 8: 27
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE element: 16
02.25-17:32:06 9756 -519 DYNDATA==>DATA_CACHE_PAGES (XPARAM, 4K): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB total: 39680
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES (XPARAM): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB element: 64
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST total: 79784
02.25-17:32:06 9756 -519 DYNPOOL==>HEAD_LIST_SIZE (XPARAM): 9973
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE HEAD_LIST element: 8
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE total: 432
02.25-17:32:06 9756 -519 DYNPOOL==>USER + SERVER + 8: 27
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE PID_QUEUE element: 16
191
Troubleshooting When Problems Occur
Adabas D: Control
02.25-17:32:06 9756 -519 DYNDATA==>DATA_CACHE_PAGES (XPARAM, 4K): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB total: 39680
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES (XPARAM): 620
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE CB element: 64
02.25-17:32:06 9756 -519 DYNPOOL FOR BD LOCKLISTPARTITION NO: 0
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST total: 25028
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES * 10 / partit 6257
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST element: 4
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST total: 1848
02.25-17:32:06 9756 -519 DYNPOOL==>(USER + SERVER + 2) * 2: 42
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST element: 44
02.25-17:32:06 9756 -519 DYNPOOL FOR BD LOCKLISTPARTITION NO: 1
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST total: 25028
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES * 10 / partit 6257
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST element: 4
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST total: 1848
02.25-17:32:06 9756 -519 DYNPOOL==>(USER + SERVER + 2) * 2: 42
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST element: 44
02.25-17:32:06 9756 -519 DYNPOOL FOR BD LOCKLISTPARTITION NO: 2
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST total: 25028
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES * 10 / partit 6257
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST element: 4
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST total: 1848
02.25-17:32:06 9756 -519 DYNPOOL==>(USER + SERVER + 2) * 2: 42
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST element: 44
02.25-17:32:06 9756 -519 DYNPOOL FOR BD LOCKLISTPARTITION NO: 3
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST total: 25028
192
Adabas D: Control
Troubleshooting When Problems Occur
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES * 10 / partit 6257
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST element: 4
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST total: 1848
02.25-17:32:06 9756 -519 DYNPOOL==>(USER + SERVER + 2) * 2: 42
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST element: 44
02.25-17:32:06 9756 -519 DYNPOOL FOR BD LOCKLISTPARTITION NO: 4
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST total: 25028
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES * 10 / partit 6257
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST element: 4
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST total: 1848
02.25-17:32:06 9756 -519 DYNPOOL==>(USER + SERVER + 2) * 2: 42
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST element: 44
02.25-17:32:06 9756 -519 DYNPOOL FOR BD LOCKLISTPARTITION NO: 5
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST total: 25028
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES * 10 / partit 6257
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST element: 4
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST total: 1848
02.25-17:32:06 9756 -519 DYNPOOL==>(USER + SERVER + 2) * 2: 42
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST element: 44
02.25-17:32:06 9756 -519 DYNPOOL FOR BD LOCKLISTPARTITION NO: 6
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST total: 25028
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES * 10 / partit 6257
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST element: 4
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST total: 1848
02.25-17:32:06 9756 -519 DYNPOOL==>(USER + SERVER + 2) * 2: 42
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST element: 44
02.25-17:32:06 9756 -519 DYNPOOL FOR BD LOCKLISTPARTITION NO: 7
193
Troubleshooting When Problems Occur
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST total: 25028
02.25-17:32:06 9756 -519 DYNPOOL==>DATA_CACHE_PAGES * 10 / partit 6257
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_HEAD_LIST element: 4
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST total: 1848
02.25-17:32:06 9756 -519 DYNPOOL==>(USER + SERVER + 2) * 2: 42
02.25-17:32:06 9756 -519 DYNPOOL==>TREE_LOCK_LIST element: 44
02.25-17:32:07 9756 -514 CHECK FILE: 2 (ROOT)
02.25-17:32:07 9756 -11054 single I/O attach ’db10.log’
02.25-17:32:07 9756 -11054 detach devno 1 ’db10.sys’
02.25-17:32:07 9769 -11054 DEV stopped
02.25-17:32:07 9770 -11054 DEV stopped
02.25-17:32:07 9756 -11054 detach devno 2 ’/db10’
02.25-17:32:07 9771 -11054 DEV stopped
02.25-17:32:07 9772 -11054 DEV stopped
02.25-17:32:07 9756 -11054 detach devno 3 ’db10.log’
02.25-17:32:07 9773 -11054 DEV stopped
02.25-17:32:07 9774 -11054 DEV stopped
02.25-17:32:07 9756 -11987 Releasing T8
02.25-17:32:07 9750 -11987 Connecting T8 apid 9657
02.25-17:32:07 9756 -11987 Connected T8 apid 9657 Bbe81c004
02.25-17:32:07 9756 -11054 New devspace ’db10.sys’
02.25-17:32:07 9756 -11054 attach ’db10.sys’
02.25-17:32:07 9777 -11054 DEV started
02.25-17:32:07 9756 -11054 single I/O attach ’db10.sys’
02.25-17:32:07 9756 -11987 vcurrdevsize: devno 1 is 166
02.25-17:32:07 9756 -11054 New devspace ’/db10’
02.25-17:32:07 9756 -11054 attach ’/db10’
194
Adabas D: Control
Adabas D: Control
Troubleshooting When Problems Occur
02.25-17:32:07 9778 -11054 DEV started
02.25-17:32:07 9779 -11054 DEV started
02.25-17:32:07 9756 -11054 New devspace ’db10.log’
02.25-17:32:07 9756 -11054 attach ’db10.log’
02.25-17:32:07 9780 -11054 DEV started
02.25-17:32:07 9781 -11054 DEV started
02.25-17:32:07 9756 -11054 single I/O attach ’/db10’
02.25-17:32:07 9782 -11054 DEV started
02.25-17:32:08 9756 -514 CHECK FILE: 2 (ROOT)
02.25-17:32:08 9756 -519 DYNPOOL==>LOCK_LIST total: 280000
02.25-17:32:08 9756 -519 DYNPOOL==>MAXLOCKS (XPARAM): 5000
02.25-17:32:08 9756 -519 DYNPOOL==>LOCK_LIST element: 56
02.25-17:32:08 9756 -519 DYNPOOL==>LOCK_LIST TRANS_ENTR total: 2520
02.25-17:32:08 9756 -519 DYNPOOL==>MAXTRANS (XPARAM): 21
02.25-17:32:08 9756 -519 DYNPOOL==>LOCK_LIST TRANS_ENTR element: 120
02.25-17:32:08 9756 -519 DYNPOOL==>LOG_QUEUE PID_LIST total: 168
02.25-17:32:08 9756 -519 DYNPOOL==>USER + SERVER + 2: 21
02.25-17:32:08 9756 -519 DYNPOOL==>LOG QUEUE PID_LIST element: 8
02.25-17:32:08 9756 -519 DYNDATA==>LOG_QUEUE_PAGES (XPARAM, 4K): 50
02.25-17:32:08 9756 -519 DYNDATA==>LOG_CACHE_PAGES (4K): 20
02.25-17:32:08 9756 -11054 single I/O attach ’db10.log’
02.25-17:32:08 9756 -520 LOCAL RESTART: Ready
02.25-17:32:08 9756 -11987 Releasing T8
--------------------------------------------------------------------------The next excerpt from the knldiag file indicates that a database has been correctly shut down into cold
mode:
02.25-17:51:09 9750 -11987 Connecting T8 apid 9819
195
Troubleshooting When Problems Occur
02.25-17:51:09 9756 -11987 Connected T8 apid 9819 Bbe81c004
02.25-17:51:09 9753 -519 B20PREPARE_SVP
02.25-17:51:09 9753 -519 B12SAVEPOINT start(2) pid: 9
02.25-17:51:09 9753 -519 B12SAVEPOINT (2) pid: 9
02.25-17:51:09 9753 -519 B12SAVEPOINT (2) IO: 0
02.25-17:51:09 9753 -519 B12SVP_PART start cache_offset: 1
02.25-17:51:09 9753 -519 B12SVP_PART start (2) pid: 10
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) pid: 10
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) IO: 0
02.25-17:51:09 9753 -519 B12SVP_PART start cache_offset: 2
02.25-17:51:09 9753 -519 B12SVP_PART start (2) pid: 10
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) pid: 10
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) IO: 0
02.25-17:51:09 9753 -519 B12SVP_PART start cache_offset: 3
02.25-17:51:09 9753 -519 B12SVP_PART start (2) pid: 10
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) pid: 10
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) IO: 0
02.25-17:51:09 9753 -519 B12SVP_PART start cache_offset: 4
02.25-17:51:09 9753 -519 B12SVP_PART start (2) pid: 10
02.25-17:51:09 9753 -519 B12SVP_PART start cache_offset: 5
02.25-17:51:09 9753 -519 B12SVP_PART start (2) pid: 11
02.25-17:51:09 9753 -519 B12SVP_PART start cache_offset: 6
02.25-17:51:09 9753 -519 B12SVP_PART start (2) pid: 12
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) pid: 12
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) IO: 0
02.25-17:51:09 9753 -519 B12SVP_PART start cache_offset: 7
02.25-17:51:09 9753 -519 B12SVP_PART start (2) pid: 12
196
Adabas D: Control
Adabas D: Control
Troubleshooting When Problems Occur
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) pid: 12
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) IO: 0
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) pid: 11
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) IO: 1
02.25-17:51:09 9753 -11054 single I/O attach ’/db10’
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) pid: 10
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT(2) IO: 2
02.25-17:51:09 9753 -519 B12SAVEPOINT converter start(2) pid: 9
02.25-17:51:09 9753 -519 B12SVP_PART start cache_offset: 8
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT converter start pid: 10
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT converter pid: 10
02.25-17:51:09 9753 -519 B12SVP_PARTICIPANT converter IO: 0
02.25-17:51:09 9753 -519 B12SAVEPOINT converter(2) pid: 9
02.25-17:51:09 9753 -519 B12SAVEPOINT converter(2) IO: 1
02.25-17:51:09 9753 -11054 single I/O attach ’db10.sys’
02.25-17:51:09 9753 -11054 single I/O attach ’db10.log’
02.25-17:51:09 9753 -519 B20SVP_COMPLETED
02.25-17:51:09 9753 -11054 detach devno 1 ’db10.sys’
02.25-17:51:09 9777 -11054 DEV stopped
02.25-17:51:09 9778 -11054 DEV stopped
02.25-17:51:09 9753 -11054 detach devno 2 ’/db10’
02.25-17:51:09 9779 -11054 DEV stopped
02.25-17:51:09 9780 -11054 DEV stopped
02.25-17:51:09 9753 -11054 detach devno 3 ’db10.log’
02.25-17:51:09 9781 -11054 DEV stopped
02.25-17:51:09 9782 -11054 DEV stopped
02.25-17:51:09 9753 -521 SHUTDOWN
197
Troubleshooting When Problems Occur
Adabas D: Control
02.25-17:51:09 9756 -11051 Shutdown normal requested
02.25-17:51:10 9756 -11987 Releasing T8
--------------------------------------------------------------------------Before a database can be shut down correctly, a checkpoint must be written in order to guarantee database
consistency. When this checkpoint is written, it is recorded in the knldiag file with the "CHKPONT"
message. Once the checkpoint has been successfully written (B20SVP_COMPLETED), the database is
shut down. The "SHUTDOWN" and "Shutdown normal requested" messages indicate that the shutdown
was successful.
If a Shutdown Quick is performed, all open transactions are canceled. A checkpoint is then written and the
Shutdown Quick is recorded in the knldiag file as follows:
02.26-14:28:07 10698 -11987 Connecting T8 apid 10610
02.26-14:28:07 10704 -11987 Connected T8 apid 10610 Bbe81c004
02.26-14:28:08 10701 -519 B20PREPARE_SVP
02.26-14:28:08 10701 -519 B12SAVEPOINT start(2) pid: 9
02.26-14:28:08 10701 -519 B12SAVEPOINT (2) pid: 9
02.26-14:28:08 10701 -519 B12SAVEPOINT (2) IO: 0
02.26-14:28:08 10701 -519 B12SVP_PART start cache_offset: 1
02.26-14:28:08 10701 -519 B12SVP_PART start (2) pid: 10
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) pid: 10
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) IO: 0
02.26-14:28:08 10701 -519 B12SVP_PART start cache_offset: 2
02.26-14:28:08 10701 -519 B12SVP_PART start (2) pid: 10
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) pid: 10
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) IO: 0
02.26-14:28:08 10701 -519 B12SVP_PART start cache_offset: 3
02.26-14:28:08 10701 -519 B12SVP_PART start (2) pid: 10
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) pid: 10
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) IO: 0
02.26-14:28:08 10701 -519 B12SVP_PART start cache_offset: 4
198
Adabas D: Control
Troubleshooting When Problems Occur
02.26-14:28:08 10701 -519 B12SVP_PART start (2) pid: 10
02.26-14:28:08 10701 -519 B12SVP_PART start cache_offset: 5
02.26-14:28:08 10701 -519 B12SVP_PART start (2) pid: 11
02.26-14:28:08 10701 -519 B12SVP_PART start cache_offset: 6
02.26-14:28:08 10701 -519 B12SVP_PART start (2) pid: 12
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) pid: 12
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) IO: 0
02.26-14:28:08 10701 -519 B12SVP_PART start cache_offset: 7
02.26-14:28:08 10701 -519 B12SVP_PART start (2) pid: 12
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) pid: 12
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) IO: 0
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) pid: 11
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) IO: 1
02.26-14:28:08 10701 -11054 single I/O attach ’/db10’
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) pid: 10
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT(2) IO: 2
02.26-14:28:08 10701 -519 B12SAVEPOINT converter start(2) pid: 9
02.26-14:28:08 10701 -519 B12SVP_PART start cache_offset: 8
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT converter start pid: 10
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT converter pid: 10
02.26-14:28:08 10701 -519 B12SVP_PARTICIPANT converter IO: 0
02.26-14:28:08 10701 -519 B12SAVEPOINT converter(2) pid: 9
02.26-14:28:08 10701 -519 B12SAVEPOINT converter(2) IO: 1
02.26-14:28:08 10701 -11054 single I/O attach ’db10.sys’
02.26-14:28:08 10701 -11054 single I/O attach ’db10.log’
02.26-14:28:08 10701 -519 B20SVP_COMPLETED
02.26-14:28:08 10701 -11054 detach devno 1 ’db10.sys’
199
Troubleshooting When Problems Occur
Adabas D: Control
02.26-14:28:08 10725 -11054 DEV stopped
02.26-14:28:08 10726 -11054 DEV stopped
02.26-14:28:08 10701 -11054 detach devno 2 ’/db10’
02.26-14:28:08 10727 -11054 DEV stopped
02.26-14:28:08 10728 -11054 DEV stopped
02.26-14:28:08 10701 -11054 detach devno 3 ’db10.log’
02.26-14:28:08 10729 -11054 DEV stopped
02.26-14:28:08 10730 -11054 DEV stopped
02.26-14:28:08 10701 -521 SHUTDOWN quick
02.26-14:28:08 10704 -11051 Shutdown normal requested
--------------------------------------------------------------------------If no transactions were canceled by Shutdown Quick, only "Shutdown" is entered in the knldiag file.
If a database is taken OFFLINE, following the shutdown messages the runtime envrionment and database
kernel program are terminated, which is indicated by the "KERNEL STOPPED" messge:
02.26-16:33:27 15135 -521 SHUTDOWN
02.26-16:33:27 15138 -11051 Shutdown normal requested
02.26-16:33:28 15138 -11987 Releasing T8
02.26-16:33:28 15134 -11054 single I/O attach ’knltrace’
02.26-16:33:28 15135 -11987 UKP stopped
02.26-16:33:28 15136 -11987 UKP stopped
02.26-16:33:28 15137 -11987 UKP stopped
02.26-16:33:28 15134 -11051 Releasing Bufwriter
02.26-16:33:28 15134 -11051 UKP stopped
02.26-16:33:28 15128 -11045 Killing all database processes
02.26-16:33:28 15132 -11084 REQUESTOR stopped
02.26-16:33:28 15138 -11987 UKP stopped
02.26-16:33:28 15139 -11987 UKP stopped
200
Adabas D: Control
Troubleshooting When Problems Occur
02.26-16:33:29 15128 -11081 KERNEL STOPPED ---------------02.26 16:33:29 15129 -11087 CONSOLE stopped
--------------------------------------------------------------------------The knldiag file is analyzed from back to front, starting from the point of the crash. Sections Options to
Remote Control Server contain excerpts from the knldiag file for the particular error situation.
The Log is Full
All modifying transactions are recorded consecutively in the database’s log devspace.When the log is
saved regularly with the database in warm mode, the log devspace is released.
The log continues to fill up; from the moment it becomes 2/3 full, warnings are recorded in the knldiag
file. If the log is not saved in time, the database’s log devspace may become full, with the automatic result
that database operation is terminated. The database goes OFFLINE with an "Emergency Shutdown"
message. The following messages are contained in the knldiag file:
02.26-16:44:42 15306 -501 log used 95% (150 pages left)
02.26-16:44:53 15306 -501 log used 98% (48 pages left)
02.26-16:45:03 15302 -501 log used 99% (8 pages left)
02.26-16:45:03 15302 -501 log used 99% (7 pages left)
02.26-16:45:03 15302 -501 log used 99% (6 pages left)
02.26-16:45:03 15302 -501 log used 99% (5 pages left)
02.26-16:45:03 15302 -501 log used 99% (4 pages left)
02.26-16:45:03 15302 -501 log used 99% (3 pages left)
02.26-16:45:03 15302 -501 log used 99% (2 pages left)
02.26-16:45:03 15302 -501 log used 99% (1 pages left)
02.26-16:45:03 15302 -501 log used 100% (0 pages left)
02.26-16:45:03 15302 -11054 detach devno 1 ’db10.sys’
02.26-16:45:03 15455 -11054 DEV stopped
02.26-16:45:03 15456 -11054 DEV stopped
02.26-16:45:03 15302 -11054 detach devno 2 ’/db10’
02.26-16:45:03 15457 -11054 DEV stopped
02.26-16:45:04 15458 -11054 DEV stopped
201
Troubleshooting When Problems Occur
Adabas D: Control
02.26-16:45:04 15302 -11054 detach devno 3 ’db10.log’
02.26-16:45:04 15459 -11054 DEV stopped
02.26-16:45:04 15460 -11054 DEV stopped
02.26-16:45:04 15302 -901 EMERGENCY SHUTDOWN: log full
02.26-16:45:04 15302 -11051 Shutdown kill requested
02.26-16:45:04 15302 -11081 Resumed BUFWRITER
02.26-16:45:04 15302 -11987 UKP stopped
02.26-16:45:04 15301 -11054 single I/O attach ’knltrace’
02.26-16:45:04 15304 -11987 UKP stopped
02.26-16:45:04 15303 -11987 UKP stopped
02.26-16:45:04 15306 -11987 UKP stopped
02.26-16:45:04 15301 -11066 vfopen ’knldump’
02.26-16:45:04 15305 -11987 UKP stopped
02.26-16:45:14 15301 -11051 Releasing Bufwriter
02.26-16:45:14 15301 -11051 UKP stopped
02.26-16:45:14 15295 -11045 Killing all database processes
02.26-16:45:14 15299 -11084 REQUESTOR stopped
02.26-16:45:15 15295 -11987 ABEND: KERNEL DIED ================
02.26 16:45:15 15296 -11087 CONSOLE stopped
--------------------------------------------------------------------------A "LOG Full" message is also displayed in the Main Screen when calling Control.
The Database Administrator’s Action
The database is started by means of the Operating / Restart / Warm menu function, just as it would be if
no error had occurred. After the runtime environment is started up, the database is in cold mode. The
message "Log is Full, Please save log" is displayed and must be acknowledged by means of Ok. The
system automatically branches to the Save / Log Segment menu function, since this action must be
performed before the log devspace can be released after being saved with the database in cold mode. The
Media Manager displays all the available media. If no medium has been defined beforehand, one can now
be defined. The administrator selects a medium and the save operation begins.
202
Adabas D: Control
Troubleshooting When Problems Occur
If long-running transactions have caused the log to overflow without a log segment being completed,
Control issues the error message "Log Segment incomplete". The log devspace can then be released only
by means of Save / Log in warm mode. Control detects the cause of error and switches the database to
warm mode. The system then automatically branches to the Save menu (see Section 8.1). The log
devspace is saved using the same procedure as in cold mode.
The database is once again available to users.
The Database is Full
When there is no longer enough space available on the data devspaces for permanent data or temporary
result sets, the database goes OFFLINE by means of an "Emergency Shutdown". The "no more space"
message indicates that the database is full:
02.26-19:51:03 16512 -511 PAGES USED 95% (75 PAGES LEFT)
02.26-19:51:03 16512 -511 PAGES USED 96% (60 PAGES LEFT)
02.26-19:51:03 16512 -511 PAGES USED 97% (45 PAGES LEFT)
02.26-19:51:03 16512 -511 PAGES USED 98% (30 PAGES LEFT)
02.26-19:51:03 16512 -11054 detach devno 1 ’dbtest.sys’
02.26-19:51:03 16572 -11054 DEV stopped
02.26-19:51:03 16509 -11987 ABEND: vabort called
02.26-19:51:03 16573 -11054 DEV stopped
02.26-19:51:03 16512 -11054 detach devno 2 ’dbtest.dat’
ABEND: sqlabort called
02.26-19:51:03 16574 -11054 DEV stopped
02.26-19:51:03 16575 -11054 DEV stopped
02.26-19:51:03 16512 -11054 detach devno 3 ’dbtest.log’
02.26-19:51:03 16576 -11054 DEV stopped
02.26-19:51:03 16577 -11054 DEV stopped
02.26-19:51:03 16512 -900 EMERGENCY SHUTDOWN: no more space
02.26-19:51:03 16512 -11051 Shutdown kill requested
02.26-19:51:03 16508 -11987 UKP stopped
02.26-19:51:03 16510 -11987 UKP stopped
203
Troubleshooting When Problems Occur
Adabas D: Control
02.26-19:51:03 16511 -11987 UKP stopped
02.26-19:51:03 16507 -11054 single I/O attach ’knltrace’
02.26-19:51:03 16512 -11081 Resumed BUFWRITER
02.26-19:51:03 16512 -11987 Cancel task T23
02.26-19:51:03 16512 -11987 UKP stopped
02.26-19:51:03 16507 -11066 vfopen ’knldump’
02.26-19:51:06 16507 -11051 Releasing Bufwriter
02.26-19:51:06 16507 -11051 UKP stopped
02.26-19:51:06 16501 -11045 Killing all database processes
02.26-19:51:06 16505 -11084 REQUESTOR stopped
02.26-19:51:07 16501 -11987 ABEND: KERNEL DIED ================
02.26 19:51:07 16502 -11087 CONSOLE stopped
When the database’s data devspace is full, an indication is also displayed in the Main Screen of Control.
The database must be provided with new disk space in the form of data devspaces. When a restart is
attempted, Control automatically branches to the Add Devspace Screen. If a new devspace of the type "F"
(for file) is specified under Windows, Control automatically creates this file.
Under Unix, only raw devices should be used as data devspaces. These raw devices must have the 640
rights (or 660 if the group is also to have write access) and have the Unix database user assigned as their
owner.
The newly specified data devspace is configured and made known to the database. The database is then
restarted and the system is once again available to users.
A Log Disk is Defective
Adabas differentiates between two different log modes. The DUAL log mode comprises one transaction
log and two archive logs. The NORMAL log mode comprises one transaction log and one archive log.
A database always requires two intact log devspaces in order to be operable.
If one log devspace fails in DUAL log mode, the database continues to be operable. Database logging is
then done to the two intact log devspaces only.
If one log devspace fails in NORMAL log mode, the database switches to cold mode.
In either case, a BAD DEVSPACE causes the defective log devspace to be entered in the knldiag file. In
addition, Control displays the error message "BAD DEVSPACE" in the Main Screen.
204
Adabas D: Control
Troubleshooting When Problems Occur
The Database Administrator’s Action
NORMAL Log Mode
When one log devspace fails in NORMAL log mode, the database goes OFFLINE. When an attempt is
made to restart into warm mode, the defective devspace is recorded in the knldiag.
The defective disk must be replaced and the new disk provided with the correct rights under Unix. If the
devspaces are addressed via symbolic links (Unix), the link must be reset if the new disk is addressed
under a different raw device name.
The database can then be switched to cold mode. With the aid of the intact log devspace, the defective log
devspace must be restored in cold mode by means of the Backup / Restore / Devspace menu function.
Following a successful Restore / Devspace operation, the database can be returned to warm mode. If the
archive log was restored with the aid of the transaction log, the backup history no longer contains all the
log data for a complete backup of the log. For this reason, it is absolutely essential that a complete backup
of the database be initiated before the system is enabled for users.
DUAL Log Mode
If only one log devspace has failed in DUAL log mode, the database remains operable. Once the defective
disk has been replaced, the Backup / Restore / Devspace menu function must be used to restore the
defective log devspace with the aid of the intact archive log devspace and with the database in warm
mode.
If two log devspaces are defective, as in NORMAL log mode one log devspace must be restored with the
database in COLD mode and the other with the database in WARM mode. If one of the two defective log
devspaces is the transaction log, this log devspace must be restored in cold mode. The defective archive
log is then restored in warm mode. If both archive logs are defective, one of the archive logs is restored
with the aid of the transaction log in cold mode and the other is restored in warm mode. In this case, as in
NORMAL log mode, log information for the backup history is lost. For this reason, a Save / Data
operation must be performed after the log devspaces are restored.
A System Error Has Occurred
Adabas system error numbers are from -9000 to -9999. These error numbers refer to internal errors that
the administrator cannot correct without appropriate support. For this reason, they are not described in the
"Messages and Codes" manual but are recorded in the knldiag file.
The Database Administrator’s Action
If this type of error occurs, Adabas Support must be informed. Before the system can be restarted after a
system crash, the rundirectory must be saved and, if appropriate, the x_look tool (Unix) started.
In the standard configuration, Adabas provides various traces that support the activities of the database
administrator in the event of errors.
If the error can be reproduced, Adabas Support requires the so-called vtrace.
205
Troubleshooting When Problems Occur
Adabas D: Control
The vtrace documents all kernel actions performed that were started by means of a database statement.
This means that the vtrace can be used not only for tracing errors that occur while processing statements
but also for providing a more exact classification of inconsistencies caused, for example, by hardware
errors.
The trace is activated by means of the Options / Kernel Trace / On menu function. From this moment on,
every kernel activity is recorded in the knltrace file in the rundirectory. For this reason, as little load as
possible should be applied during the analysis; i.e. if possible, only those actions necessary for
reproducing the error should be performed.
If the effect to be analyzed has occurred, any information still contained in the database buffers must be
written to the hard disk by means of the Options / Kernel Trace / Flush menu function. The vtrace must
then be deactivated as soon as possible by means of Kernel Trace/ Off in order to avoid influencing
performance unnecessarily.
The data written from the kernel is contained in the knltrace file in a highly compressed form. The
knltrace file is wrapped around.
The knltrace file is unreadable. Control automatically edits the knltrace file in readable files (vtrace0x.dat)
by means of the Options / Kernel Trace / Flush menu function. If the vtrace flush was initiated by
QUERY rather than by Control, the knltrace file must be converted to readable "vtrace0x.dat" files as
follows:
Enter the following call on the operating system level:
x_vtrace <dbname>
This generates files with the nams "vtrace01.dat" to "vtrace0<n>.dat" in the current directory. The size
and number of files depends on the amount of data written and the size configured for the knltrace file.
Regardless of how the vtrace<n>.dat files were generated (with Control or x_vtrace), they must then be
edited using the Diagnose tool (Unix: x_diagnose, Windows: x_diag).
The Diagnose tool must be called from the directory containing the "vtrace01.dat, ..." files. After the
Diagnose tool is called, a file name must first be selected for the readable protocol to be generated. The
default name for the protocol file is diag.prt.
Important: If a diag.prt file already exists, it is not overwritten; instead, the new analysis is appended to
the existing protocol file. Therefore, you should either delete this file beforehand or select a different
protocol file name.
Now select the type of protocol to be generated. Normally, "1 KERNPROT" is sufficient for an initial
analysis. Next, select the file to be edited (INPUT FILENAME), e.g. vtrace01.dat. The Diagnose tool now
offers a number of analysis options from various points of view. Select the "1 ALL" menu option and
accept the default entry (akbn). Press F3 to return to the menu, in which you can specify another input file.
Repeat this procedure until all vtrace.dat files have been analyzed by means of the Diagnose tool and
transferred to the protocol file
Analyzing this protocol file requires specialized knowledge of databases and is a task reserved for Adabas
Support. Due to the size of the file, the information cannot be sent by fax. Therefore, a line (e.g. via
modem) must be made available to Adabas Support.
206
Adabas D: Control
Troubleshooting When Problems Occur
The files generated (diag.prt and vtrace<n>.dat) must not be deleted until they have been successfully
analyzed by Support.
207
Database Performance: Basics, Performance Analysis and Tuning
Adabas D: Control
Database Performance: Basics, Performance
Analysis and Tuning
This chapter covers the following topics:
Optimizer and Statistics
"updmaster" and "updslave" Programs
Searching Bottlenecks In The Kerneltrace (x_wizbit)
Analyzing Adabas Bottlenecks (x_wizard)
The Course of Measured Values (x_wiztrc)
Direct Search For Costly SQL Statements
Direct Search For Costly SQL Statements Using DIAGNOSE MONITOR
Optimizer and Statistics
SQL statements functionally describe WHAT is to be done. How these statements are physically executed
best depends on the amount of stored data, the value distribution of the data, and the available access
structures.
A special component within the Adabas kernel, the optimizer, examines all possible ways of processing
and selects the most advantageous variant.
To be able to make a correct selection, the optimizer needs information about
- the number of rows in the base tables,
- the size of B* trees of the base tables and indexes,
- the number of different values in the columns (join optimization).
If the database kernel maintained this information synchronously for each modification of the data, the
performance of applications would decrease considerably. Adabas therefore provides some SQL
statements (UPDATE STATISTICS ... etc.) which a user/database administrator can use to update the
statistical information at an appropriate point in time (at low load times and/or after major modifications).
Without such an update, the optimizer could select unfavorable ways of processing thus causing a drastic
loss of system performance. (Correct results, however, are always ensured.)
Updating the statistics always means a great effort (TABLE SCANs and building temporary B* trees) for
the I/O system or the CPU. Consequently there is a conflict between the effort for processing the
applications and that for updating the statistics.
208
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
For an update of statistics the following utility programs are distributed with Adabas:
UPDMASTER/UPDSLAVE, XPU/UPDCOL,
XCONTROL(Operating/Update Statistics)
These programs use the above mentioned Adabas SQL statements to maintain statistical information.
These programs differ from each other mainly with regard to
the completeness of the statistics maintained,
the occurring system load or the ways of load control,
the ways of selecting the objects to be processed,
the used Adabas SQL statements.
"updmaster" and "updslave" Programs
The "updmaster" program organizes the extent and procedure of updating the statistics of base tables and
snapshots within a database. It must be started by the special database user "SYSSTAT". The actual data
maintenance is done by calling "updslave".
Updmaster
[-L <KEY>] [-F <KEY>] [-C <KEY>]
[-T <No of seconds| timestamp>]
The most important options:
-L
The statistics are only to be updated for objects which are specified in the
<KEY> "SYS$VSTAT_EXPLICIT" table with OBJECTLIST_KEY = <KEY>.
Default: "ALL" (all objects of all database users)
The "ALL" selection is generated by the "updmaster" program and cannot
be modified by the user.
209
Database Performance: Basics, Performance Analysis and Tuning
-F <KEY>
Adabas D: Control
The statistics are only to be updated for objects which satisfy the
selection critera specified in the "SYS$STAT_FILTER" table with
FILTER_KEY = <KEY>.
The "DEFAULT" filter criterion can be modified by the user.
-C <KEY>
When updating the statistics, the runtime options for load
restriction specified with the CONF_KEY = <KEY> in the
"SYS$STAT_CONF" table are to be taken into account.
The "DEFAULT" load restrictions can be modified by ther user.
-T <No of
seconds|
timestamp>
The "updmaster" program and the "updslave" programs started by
the "updmaster" program should not run longer than <No of
seconds> or stop working before <timestamp>.
timestamp format: MM-DD-hh.mm or hh.mm
Default: unlimited
When it can be presumed that the time limits specified with -T will be sufficient, "updmaster" starts an
"updslave" task for all objects which satisfy all criteria of the -L and -F options considering the load
restrictions specified with -C.
The "updslave" program performs either the complete update of the statistics for a single object or only a
step of it. Usually it does not use the Adabas SQL statements "UPDATE STATISTICS ...", because these
can cause locking conflicts with simultaneously running productive applications or backup operations.
"updslave" is called by the "updmaster" program. It can also be started by the owner of an object to be
processed or by the database user "SYSSTAT".
updslave [-O <OWNER> ] -T <TABLE>
The most important options:
-O <OWNER>
Owner of the object to be processed
Default: the user connecting to the database
-T <TABLE>
Name of the base table or snapshot
As these programs are new programs, they are still subject to large modifications. The administration
tables and the database user "SYSSTAT" are not yet created with a database installation. Detailed
information about the installation and usage of these programs can be found in the Updmaster manual.
Searching Bottlenecks In The Kerneltrace (x_wizbit)
Call
x_wizbit
[-d] [-t time] [-r rel] [-p pages] [-s] [-l lines]
[-L line] Vtracefile
210
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
Description
x_wizbit searches for SQL statements in the Adabas kernel trace (the so-called vtrace) that could cause a
database bottleneck for the current application because of their runtime, an unfavorable search strategy, or
a great number of database pages read.
For each SQL statement, the following information is output: runtime, optimizer strategy, number of read
and qualified rows, virtual and physical page accesses.
Prerequisites
Adabas D from Version 12
The database monitoring must be active
The TIME vtrace must be active (xutil: DIAGNOSE VTRACE DEFAULT TIME ON)
Storage of the parsed statements must be active (xutil: DIAGNOSE PARSEID ON)
The CONNECT to the database is done using the DEFAULT key in xuser. If there is no xuser file,
the CONNECT parameters must be passed using the shell variable SQLOPT.
Options
-d
Searching critical statements in the internal Adabas table SYSPARSEID.
Only this option displays the SQL statement that belongs to the measured
values.
-t
Showing all SQL statements with a runtime greater than <time> seconds.
<time> Default: 1.
-r
<rel>
Showing all SQL statements for which the relation between read and
qualified (i.e., found) rows is greater than <rel>. Default: 10.
-p
Showing all SQL statements for the processing of which more than
<pages> <pages> pages had to be read virtually or physically. Default: 1000.
-s
Showing all table scans.
-l
No display of statements that wrote less than <lines> lines to the vtrace.
<lines>
-L
Showing vtrace output from line <line> up to the end of the statement. The
<line> option -L cannot be used together with the other options (it overrides
them, if necessary).
Remarks
The vtrace analysis using x_wizbit requires some preparatory steps. For example, the storage of SQL
statements in the database must be activated (xutil: DIAGNOSE PARSEID ON) before starting the
application program. At the end of the measuring, the storage should be disabled (DIAGNOSE PARSEID
OFF) because each stored statement needs up to 4 KB storage space in the database. In addition, the TIME
vtrace must be active. In productive systems, the vtrace should only be activated for the required
measuring period or for a selected session because vtrace writing can be very costly under high load. The
211
Database Performance: Basics, Performance Analysis and Tuning
Adabas D: Control
size of the vtrace area (xparam parameter KERNELTRACESIZE) should comprise at least 1000 pages.
Under Unix, use kernprot -dn $DBNAME akbt to create the vtrace.
Under Windows, you must proceed in the following way:
- x_vtrace <database
name>
- x_diag
- Activate (or change) the trace file name
- Select menu item 1: Kernprot
- Confirm Input Filename
- Select menu item 1: All
- Enter akbt for Select Char and confirm it with
Enter
- Leave x_diag
-t, -r, -s, and -p are additive options; i.e., output occurs if at least one of the output criteria is met. If only
the statements are to be output that satisfy exactly one criterion, maximum value specified for the other
options (example: show all statements with a relation of rows read / rows qual > 10: x_wizbit -d -r 10 -t
10000 -p 10000 E20.prt).
Long runtimes frequently only occur because statements were dispatched because of internal waits for
I/O, SQL locks, etc. To find out these non-critical statements, use the option -l. As a matter of experience,
no bottlenecks are caused by statements that create less than 50 lines of vtrace output.
Analyzing Adabas Bottlenecks (x_wizard)
Call
x_wizard
[-t interval] [-x] [-p|-a] [-d n][-b] [-s] [-D] [-L]
[-k|-K][-l Sprache]
Description
x_wizard attempts to analyze the bottlenecks of the current database run. The basis for this analysis are
database monitoring and the database console x_cons. Detected bottlenecks are output in text form to
rapidly provide database administrators with an overview of the possible causes of performance problems.
The analysis can be done either once or in regular intervals using the option -t.
x_wizard should be issued on the database server, because the database console x_cons cannot be used in
remote operation. Should only a remote call be possible, only the monitoring data can be analyzed. In this
case, the option -x must not be used.
212
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
Prerequisites
Adabas D from Version 12.
The database monitoring must be active (MONITOR ON; with option -t, it will be automatically
enabled; otherwise, it must be manually activated using "xquery -S Adabas").
The database CONNECT is done using the DEFAULT key in xuser. If there is no xuser file, the
CONNECT parameters must be passed using the shell variable SQLOPT.
Options
-t
Regular evaluation after <interval> seconds. The first x_wizard output
<interval> shows the analysis for the time past since starting the database
monitoring. Any other output refers to the preceding interval. The cache
hit rates are recomputed for each interval.
-x
Additional evaluation of the x_cons data. This option is only allowed
when calling x_wizard on the database server.
-p
Logging the results in the x_wizard.prt file.
-a
Logging the results in the x_wizard.prt file in append mode.
-b
Logging the measured data (binary format) in the x_wizard.bin file for
later evaluation by x_wiztrc.
-D
Creating the log file yyyymmdd.wiz (logging the warnings with option
-p) or yyyymmdd.wbi (data file to be used by x_wiztrc with option -b).
New files are created for each day. New entries are appended to existing
files.
-L
Creating a lock file x_wizard.lck in the Adabas rundirectory. Just one
x_wizard can be locked for one serverdb.
-k
Stopping x_wizard started by a lock file (without restart).
-K
Stopping x_wizard started by a lock file, restarting it with the other
options.
-s
No output to stdout.
-l
Displaying the warnings in the <language> language. Possible values for
<language> are: e (English), d (German, default).
<language>
Remarks
For a routine monitoring of database operation in productive systems, an interval of 15 minutes is
sufficient (-t 900). Logging (-p) should be enabled to provide Adabas support with an overview of the
database activities. To search directly for bottlenecks by using the tool x_wizbit, a measuring interval of
30 seconds is recommended.
The detected bottlenecks are classified according to their importance (I: Information, W1: minor
bottleneck warning, W2: moderate bottleneck warning, W3: major bottleneck warning). The classification
of warnings refers to running applications. As a rule, warnings displayed at a system’s start can be
ignored.
213
Database Performance: Basics, Performance Analysis and Tuning
Adabas D: Control
Not all x_wizard outputs must be necessarily caused by actual bottlenecks. For example, table scans can
be useful in certain situations, long runtimes of statements can automatically occur for large data sets, etc.
Especially, if bad search strategies (rows read/rows qual) are suspected, an exact vtrace analysis is
unavoidable (x_wizbit).
x_wizard Messages
Low data cache hit rate : <percentage> % <number of> accesses, <number> successful, <number> not
successful
Explanation
The hit rate is too low when accessing the database cache. The data cache hit rate for a running database
application should not be less than 99% because otherwise, too much data had to be read physically. For a
short time, lower hit rates may occur; e.g., when reading tables for the first time, or when the table does
not fit into 10% of the data cache for repeated table scans (with DEFAULT_LRU=YES only). For an
interval of 15 minutes, data cache hit rates less than 99% must be avoided.
User Action
In addition to enlarging the data cache (note the paging risk in the operating system), search the cause for
the high read activity. Frequently, single SQL statements cause a high percentage of the total logical and
physical read activities. Enlarging the cache only transfers the load from disk to CPU although an
additional index could transform a read-intensive table scan into a cheap direct access (see Section
Searching Bottlenecks In The Kerneltrace (x_wizbit)).
Low catalog cache hit rate : <percentage> % <number of> accesses, <number> successful,<number>
not successful
Explanation
The hit rate is too low when accessing the catalog cache in which the parsed SQL statements are
administered. The catalog cache hit rate for a running database application should be about 90%. For a
short time, the hit rate can decrease to very small values when new programs or parts of programs are
started. However, it should not be less than 85% for each interval of 15 minutes.
User Action
For each database session, the size of the catalog cache should be about 100 pages. This value should be
checked using the xparam parameters MAXUSERTASKS and CATALOG_CACHE_PAGES. The active
database sessions dynamically enlarge the catalog cache and clear it when a session is being released. To
find out the current cache sizes, use SHOW USER CONNECTED. If sessions need many more than 100
pages and there is sufficient storage space available the catalog cache should be enlarged.
Low converter cache hit rate : <percentage> % <number of> accesses, <number> successful,<number>
not successful
Explanation
The hit rate is too low when accessing the converter cache in which the assignments of logical to physical
data pages are administered. The converter cache hit rate for a running database application should be at
least 98%. When data pages are accessed that are not located in the data cache, their physical position on
the data devices must be searched in the converter cache. In consequence, frequent, additional I/O could
214
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
be necessary if a converter cache had been defined too small.
User Action
Enlarge the converter cache size using the xparam parameter CONV_CACHE_PAGES.
Cache swaps: <number of> pages/sec
Explanation
Modified pages are swapped from the data cache to disk because the data used by the applications cannot
be completely kept in the data cache. If the size of the data cache were sufficient, the physical write would
be delayed until the next SAVEPOINT and then be done asynchronously. Cache swapping results in
synchronous I/O and should be avoided, if possible. For long load operations (data import), however,
swapping occurs almost automatically because the volume of imported data usually exceeds the cache size
considerably.
User Action
Enlarge the data cache (and the converter cache, if necessary). Activate the so-called bufwriters for
regular asynchronous bufferflushs to be performed between the SAVEPOINTS, especially in case of large
data imports (xparam parameter NUM_BUFREADER, BR_SLEEPTIME, BR_IF_IOCNT_LT).
High read rate (physical ): <number of> pages per command, <number of> physical reads, <number of>
commands
Explanation
The application contains statements that issue many physical reads to the database because the requested
data cannot be found in the data cache. If a table is accessed for the first time or if it was not used for a
long time and had therefore been swapped from the data cache this behavior is not problematic.
User Action
If the read activity cannot be explained with the first access to a table, both the size of the data cache and
the data cache hit rate should be checked. You should also make sure that the SQL statements issued by
the application do not read much more data than is required for the actual processing (table scans or
unfavorable search strategies; evaluate the vtrace, if necessary). In case of table scans, note that with
DEFAULT_LRU=YES (xparam), only 10% of the cache is used for table buffering so that not the
complete table may be contained in the cache and must be physically reread with the next scan.
High read activity (physical), <number of> pages/sec
Explanation
Many physical reads are performed on the data devices because the data requested by the applications
cannot be found in the data cache. If tables are accessed for the first time or if they were not used for a
long time and had therefore been swapped from the data cache this behavior is not problematic.
User Action
215
Database Performance: Basics, Performance Analysis and Tuning
Adabas D: Control
If the read activity cannot be explained with the first access to tables, the data cache hit rate should be
checked and the data cache be enlarged, if necessary. You should also make sure that SQL statements
issued by the application do not read much more data than is required for the actual processing (table
scans or unfavorable search strategies; evaluate the vtrace, if necessary). In case of table scans, note that
with DEFAULT_LRU=YES (xparam), only 10% of the cache is used for table buffering so that not the
complete table may be contained in the cache and must be physically reread with the next scan.
High write activity (physical), <number of> pages/sec
Explanation
Many physical writes are performed on the data devices because the data used by the applications cannot
be completely kept in the data cache. Therefore, pages are swapped from the cache to disk. For long load
operations (data import), however, swapping occurs almost automatically because the volume of imported
data usually exceeds the cache size considerably.
The data cache is flushed at regular intervals (default: 10 minutes) at the so-called SAVEPOINTS; i.e., all
modified pages are written from cache to disk to generate a consistent database state on the devices. At
this time, the I/O activity increases considerably (workload on disk almost 100%) without producing a real
bottleneck. In normal operation, no important write activities should be measured outside the
SAVEPOINTS.
User Action
If high write activities are observed in normal operation make sure that no SAVEPOINT was active
during the (possibly too short) measuring interval. Otherwise, enlarge the data cache to prevent the
necessity of cache swapping.
High read rate (virtual) <number of> pages per command, <number of> virtual reads , <number of>
commands
Explanation
The application contains statements that lead to many logical reads on the database cache. To decide on
whether this represents a problem, the application profile must be known. For example, a great number of
virtual read operations occurs with an application containing numerous bulk selects with relatively
unspecific WHERE conditions.
User Action
Check whether the SQL statements issued by the application read much more data than is required for the
actual processing (table scans or unfavorable search strategies; evaluate the vtrace, if necessary, using
x_wizbit).
High parse activity, <number of> prepares per command, <number of> commands (executes), <number
of> prepares
Explanation
The number of parse operations in relation to the total number of executed statements is very large. Before
executing an SQL statement for the first time, the SQL command string is analyzed (parsed); when doing
so, Adabas determines the possible access strategies and stores the statement in compact form in the
database. For further executions, only this internal information is accessed and the statement is directly
216
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
executed. If static SQL and the Adabas precompiler were used to build the application, the Adabas
precompiler ensures that the parse operation is performed only once for each statement. If dynamic SQL
or the CALL Interface is used the developer is responsible for the administration of the parse and execute
requests. High parse activity in current operation can indicate that the implementation of a cursor cache is
missing. High parse activity for the first start of programs or part of programs is normal.
User Action
No specific action is possible from the database side.
Low hit rate for table scans : <percentage>% <number of> scans, <number of> rows read, <number
of> rows qual
Explanation
For table scans, the relation between read and qualified rows is bad. In almost all cases, this indicates a
bad search strategy caused either by the application (missing or insufficient indexes, etc.) or by a problem
occurring during cost-based SELECT optimization of the database kernel. Scanning large tables can
considerably deteriorate the performance of the whole system because of numerous negative effects (I/O,
overwriting the data cache, CPU load, etc.).
User Action
First, the attempt should be made whether the Adabas optimizer could find a better search strategy by
recreating the internal database statistics, thus avoiding table scans. A statistics update can be done either
by issuing UPDATE STAT * or UPDATE STAT <tablename> in xquery or by using the updcol tool from
the operating system command line. As the data sets to be checked can be very large, these statements can
take a very long time and should not be executed while applications are active (also because of possible
conflicting locks).
If this does not produce the desired result, search the statement initiating the table scan. This can be done
in two ways: either by applying the x_wizbit tool to the database trace or by enabling the appropriate
traces (precompiler trace using SQLOPT=-X) and subsequently searching for long-running statements to
check the search strategy applied by the optimizer; use the EXPLAIN statement for this check.
Low hit rate for optimizer strategy: <percentage> %
<number of> accesses, <number of> rows read, <number of> rows qual
Explanation
The relation between read and qualified rows is bad for a certain access strategy applied by the Adabas
optimizer. The explanation given for "Low hit rate for table scans" is true.
User Action
First, the attempt should be made whether the Adabas optimizer could find a better search strategy by
recreating the internal database statistics, thus avoiding table scans. A statistics update can be done either
by issuing UPDATE STAT * or UPDATE STAT <tablename> in xquery or by using the updcol tool from
the operating system command line. As the data sets to be checked can be very large, these statements can
take a very long time and should not be executed while applications are active (also because of possible
conflicting locks).
217
Database Performance: Basics, Performance Analysis and Tuning
Adabas D: Control
If this does not produce the desired result, search the statement initiating the unfavorable search strategy.
This can be done in two ways: either by applying the x_wizbit tool to the database trace or by enabling the
appropriate traces (precompiler trace using SQLOPT=-X) and subsequently searching for long-running
statements to check the search strategy applied by the optimizer; use the EXPLAIN statement for this
check.
Low hit rate on <deletes/updates>: <percentage> % <number of> rows read, <number of> rows qual
Explanation
For DELETES or UPDATES, the relation between read and updated rows is bad. Before rows can be
updated or deleted for UPDATES or DELETES, their positions in the corresponding table must be
determined. The same access strategies used for SELECT are applied for this purpose.
User Action
First, the attempt should be made whether the Adabas optimizer could find a better search strategy by
recreating the internal database statistics. A statistics update can be done either by issuing UPDATE
STAT * or UPDATE STAT <tablename> in xquery or by using the updcol tool from the operating system
command line. As the data sets to be checked can be very large, these statements can take a very long time
and should not be executed while applications are active (also because of possible conflicting locks).
If this does not produce the desired result, search the statement initiating the bad hit rate. This can be done
in two ways: either by applying the x_wizbit tool to the database trace or by enabling the appropriate
traces (precompiler trace using SQLOPT=-X) and subsequently searching for long-running
UPDATE/DELETE statements.
’Physical Temp Page Writes’ high : <pages> per command Creating big result tables
Explanation
When creating temporary database pages to build (temporary) result sets, e.g., for joins or ORDER BY
statements, the cache is not sufficient to receive the temp pages. Therefore, pages are swapped to disk.
Since these pages must be reread to further process the SQL statement, the physical writing of temporary
pages should be avoided. Result sets are frequently generated because of problems in the applications
design (missing indexes, etc.) or Adabas optimizer. The creation of large result sets can considerably
deteriorate the performance of the whole system because of numerous negative effects (I/O, overwriting
the data cache, CPU load, etc.).
User Action
First, the attempt should be made whether the Adabas optimizer could find a better search strategy by
recreating the internal database statistics, thus avoiding the creation of large result sets. A statistics update
can be done either by issuing UPDATE STAT * or UPDATE STAT <tablename> in xquery or by using
the updcol tool from the operating system command line. As the data sets to be checked can be very large,
these statements can take a very long time and should not be executed while the application is active (also
because of possible conflicting locks).
If this does not produce the desired result, search the statement initiating the creation of the result sets.
The easiest way to do this is to enable the appropriate traces (precompiler trace using SQLOPT=-X) and
subsequently search for long-running statements to check the search strategy applied by the optimizer,
using the EXPLAIN statement (Result is copied).
218
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
High collision rate on SQL locks, <average number> per write transaction
<number of> write transactions, <number of> SQL collisions
Explanation
For a high percentage of write transactions, locks are set on SQL objects (rows, tables). This causes a wait
state in the application until the locking application task releases the lock by a COMMIT. As a rule, this is
rather a problem in the applications design than of the database; but for a very large number of locks, a
CPU bottleneck can occur on the Adabas lock list. If locks are requested by other sessions (these are in
vwait then), Adabas attempts to execute the locking tasks in the database kernel with higher priority to
prevent queues before SQL lock objects.
User Action
Check whether the application is appropriate for isolation level 0 (dirty read) to avoid read locks. Then
check whether the period between setting the lock and writing the COMMIT could be reduced (do not
hold locks during dialog sessions). If high collision rates occur frequently in multi-user mode, the
parameter PRIO_TASK can be set to the value 203 (207 for MAXCPU > 1) in xparam; this gives
precedence to the committing transactions.
Another bottleneck can be produced by log writing, because the SQL locks of the corresponding
transaction can only be released after successful physical log I/O of the COMMIT. Therefore, the log
should be placed on the fastest devices available. The maximum length of the log queue (monitoring) can
be used to find out whether bottlenecks occur sometimes during log writing.
Long waiting times with SQL collisions: <duration> sec per Vwait (<number of> Vwaits)
Explanation
If collisions occur on SQL objects, the waiting time for the SQL lock release is very long. The locking
application releases an SQL lock by a COMMIT. Long waiting times are often caused by long
transactions in which the application holds an SQL lock for a very long time. Long waiting times also
occur when many applications want to lock the same object, because a queue may then occur before the
corresponding SQL lock. The queue is frequently reduced very slowly (especially in multi-CPU systems)
due to sequencing. If locks are requested by other sessions (these are in vwait then), Adabas attempts to
execute the locking tasks in the database kernel with higher priority to prevent queues before SQL lock
objects. To receive information about the current lock situation, use SHOW STATISTICS LOCK while
the database is operative.
User Action
Check whether the application is appropriate for isolation level 0 (dirty read) to avoid read locks. Then
check whether the period between setting the lock and writing the COMMIT could be reduced (do not
hold locks during dialog sessions). If queues occur before SQL objects, check in the application whether
splitting a table would prevent simultaneous locks on the same table row. In xparam, the parameter
PRIO_TASK can be set to the value 207, thus giving precedence to the committing transactions.
Queue on SQL collisions: coll/vwait = <relation> <number of> lock list collisions, <number of> vwaits
Explanation
219
Database Performance: Basics, Performance Analysis and Tuning
Adabas D: Control
There are queues before SQL locks; i.e., more than one task waits for the release of these locks. The
locking application releases an SQL lock by a COMMIT. Queues are often caused by long transactions in
which the application holds an SQL lock for a very long time. Queues are frequently reduced very slowly
(especially in multi-CPU systems) due to sequencing. If locks are requested by other sessions (these are in
vwait then), Adabas attempts to execute the locking tasks in the database kernel with higher priority to
prevent queues before SQL lock objects. To receive information about the current lock situation, use
SHOW STATISTICS LOCK while the database is operative.
User Action
Check whether the application is appropriate for isolation level 0 (dirty read) to avoid read locks. Then
check whether the period between setting the lock and writing the COMMIT could be reduced (do not
hold locks during dialog sessions). The applications logic should be changed in such a way that
simultaneous locks on the same row are avoided. In xparam, the parameter PRIO_TASK can be set to the
value 203 (207 for MAXCPU > 1), thus giving precedence to the committing transactions.
Lock escalations (<number of> table locks)
Explanation
The number of SQL row locks a transaction set on a table exceeded a threshold value; therefore, the single
row locks were transformed into a table lock. As a rule, SQL locks are set to single rows in a table. For
two reasons, Adabas attempts to lock the table exclusively for the corresponding transaction from a
threshold value that can be configured: first, because the administration of single row locks becomes more
expensive with an increasing number of row locks and second, because the database lock list can only
administer a restricted number of locks. The disadvantage of this procedure is that no other transactions
can lock a single row in this table up to a COMMIT.
User Action
The maximum number of single row locks that can be administered by the database can be configured
using the xparam parameter MAXLOCKS. An escalation is attempted as soon as a task holds more than
0.1*MAXLOCKS single row locks in a table. If undesired escalations occur frequently, the parameter
value should be increased (max. 2.3 mio.). To a great extent, it depends on each application whether lock
escalations represent a problem. When lock escalations occur, the application should be checked as to
whether modifying transactions holding many row locks could be relieved by several COMMITS.
Log queue overflows (<number>), parameter ’LOG_QUEUE_PAGES’ (<number of pages>) too small
Explanation
An overflow occurred in the queue receiving the log entries. Log entries written by modifying transactions
are buffered in a queue before the so-called logwriter writes them to the log device. As a rule, this queue
consists of one page. Especially with bulk statements (mass DELETES, array INSERTS, etc.), so many
log entries can be generated that they cannot be physically written to disk at the same time. If an overflow
occurs in the log queue, no more log requests can be accepted. This causes numerous database-internal
wait states (vsuspend) in a very short time. As transactions writing log entries hold SQL locks, they hinder
other transactions.
User Action
220
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
Increase the xparam parameter LOG_QUEUE_PAGES (max. 200). Check also whether the log devices
could be placed on faster disks to accelerate the physical log I/O.
’Log Queue Pages’ too small : total <pages> , max. used <pages>
Explanation
Probably, the queue receiving the log entries is too small. Log entries written by modifying transactions
are first buffered in a queue before the so-called logwriter writes them to the log device. As a rule, this
queue consists of one page. Especially with bulk statements (mass DELETES, array INSERTS, etc.), so
many log entries can be generated that they cannot be physically written to disk at the same time. If an
overflow occurs in the log queue, no more log requests can be accepted. This causes numerous
database-internal wait states (vsuspend) in a very short time. As transactions writing log entries hold SQL
locks, they hinder other transactions.
User Action
Although the log queue has not yet overflowed, the xparam parameter LOG_QUEUE_PAGES should be
increased. Check also whether the log devices could be placed on faster disks to accelerate the physical
log I/O.
High log activity, <pages> pages/sec
Explanation
The number of log pages written per unit of time is very large. Depending on the capacity of the current
log disks, physical log writing may cause a bottleneck. For each COMMIT, a 4KB log page must be
written to disk, even if the page is not full. So with many short modifying transactions a log page can be
physically written several times. In multi-user systems, Adabas attempts to combine the COMMITS of
several application tasks into so-called group commits.
User Action
If the measured I/O rate has reached the limit of the log disks’ capacity, you should think about changing
the log to faster disks. For application programs with many very short parallel write transactions, the
attempt can be made to increase the number of group commits using the xparam parameter
DELAY_LOGWRITER=YES.
Long write transactions: <number of> log pages per transaction <number of>write transactions,
<number of> log pages
Explanation
The write transactions issued by the application are very long and produce many physical write operations
on the log. This behavior is not problematic for batch-type applications. However, a long write transaction
can cause a bottleneck if other sessions must access SQL objects (rows, tables) locked by the long write
transaction. Very long transactions can also cause a delay in the so-called CHECKPOINT,because the
COMMIT of all open write transactions must be awaited at CHECKPOINT time. As no new write
transactions are admitted up to the end of the CHECKPOINT, it is almost impossible to avoid a temporary
standstill of the database (all tasks in vwait). To find out whether a CHECKPOINT is being written, issue
SHOW LOCK CONFIG in xquery (output: CHECKPOINT WANTED TRUE).
221
Database Performance: Basics, Performance Analysis and Tuning
Adabas D: Control
User Action
This cannot be influenced from the database side. If delays occur frequently because of CHECKPOINTS,
enlarge the log segments, because a CHECKPOINT is written for each concluded log segment. If
long-running transactions occur with interactive applications, check whether the long transaction can be
relieved by additional COMMITS.
High collision rate on <name> region: <percentage> % <number of> accesses (of a total of <number>),
<number of> collisions
Explanation
The collision rate is very large while accessing protected areas in the Adabas kernel storage space.
Accesses to critical zones in the Adabas kernel storage space commonly used by several tasks are
protected by so-called regions. Database tasks exclusively reserving a region prevent, e.g., a global
storage position from being manipulated by several database processes/ threads. If only one processor is
used for Adabas (xparam parameter MAXCPU=1), collisions on regions can almost never occur because
of the so-called internal tasking (exception: parallel CONNECTS, SAVEPOINT). If in multi-CPU
operation high collision rates occur on regions, there is the risk that the whole database operation is
sequenced. The usage of additional CPUs can deteriorate the performance because of additional
synchronization overhead.
User Action
Actions are required for collision rates of more than 10%. The probability of collisions generally increases
with an increase of the number of UKPs (xparam parameter MAXCPU). Check in multi-processor
systems whether the database can satisfy the requirements of the application with CPUs that are used to a
smaller extent.
If large collision rates occur on regions in multi-processor central systems, a check should be made
whether the machine is CPU-bound and the UKPs are therefore blocked by the application. In such a case,
UKPs containing user tasks should receive real time priority from the operating system. For HP, this can
be obtained by the xparam parameter REAL_TIME_PRIORITY=<0 ... 127>. Ensure that the value of
MAXCPU is at least one less than the number of actual CPUs.
Additional actions:
DATAn, TREEn region:
Data cache segmentation can be increased using the xparam parameters DATA_CACHE_REGIONS
and TREE_REGIONS, thus reducing the probability of collisions. At the same time, the data cache
(DATA_CACHE_PAGES) should (but need not) be enlarged to avoid that the subcaches become to
small. A very large collision rate only occurring on a subregion of the DATA or TREE structure
represents a special problem. In this case, several applications operate simultaneously on the same
page or on the same table (root page). This situation can only be improved by changing the
applications logic.
LOCK region:
The probability of collisions on the LOCK region increases with an increasing number of SQL lock
entries in the lock list. A decrease in the lock number usually results in a drastic reduction of region
collisions. Possible actions in the application: isolation level 0, short transactions, table locks instead
of row locks. Possible actions in xparam: parameter PRIO_TASK=203 for one UKP or
222
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
PRIO_TASK=207 for several UKPs (i.e., MAXCPU > 1).
TRACE-, BUFWRTR region:
Enable the vtrace only temporarily to localize a database problem.
High TAS collision rate, <number> per region accesses <number of> TAS collisions, <number of>
region accesses
Explanation
The collision rate is very large when accessing Adabas-internal semaphores for region accesses (see
above). With correct parameters, this phenomenon can only be observed with multi-CPU machines and
large CPU or UKP numbers (xparam parameter MAXCPU > 4).
User Action
The probability of TAS collisions increases with an increasing number of UKPs (xparam parameter
MAXCPU). In multi-processor systems, a check should be made whether the database can satisfy the
requirements of the application with CPUs that are used to a smaller extent.
If the database runs on a genuine database server (client server) and there are at least four CPUs, number
of UKPs should be at least one less than the number of CPUs. If TAS collisions continue to occur, the
xparam parameter REG_DIRTY_READ should be set to YES.
If many TAS collisions occur with less than four UKPs in multi-processor central systems, check whether
the machine is CPU-bound and the UKPs are therefore blocked by the application. In such a case, UKPs
containing user tasks should receive real time priority from the operating system. For HP, this can be
obtained by the xparam parameter REAL_TIME_PRIORITY=<0 ... 127>. Ensure that the value of
MAXCPU is at least one less than the number of actual CPUs.
Large number of timeconsuming commands (> 1 sec): <percentage> % <number of> long commands,
<number of> commands
Explanation
A large percentage of SQL statements has a runtime of more than a second in the Adabas kernel. It
depends on the structure of the application whether this is a real bottleneck. For example, bulk statements
in batch processing frequently cause long runtimes; or locks on SQL objects produce waiting times that
prolong the processing. Thus, the occurrence of long-running statements can only be a warning signal.
User Action
If there are no other instructions from x_wizard, check whether the database server is CPU-bound.
Long command runtime in DB kernel (receive/reply): <duration> sec
Explanation
The average processing time of SQL statements by the Adabas kernel exceeds 100 ms. It depends on the
structure of the application whether this is a real bottleneck. For example, bulk statements in batch
processing frequently cause long runtimes; or locks on SQL objects, physical I/O, dispatching due to
prioritization of other tasks, etc. produce kernel-internal waiting times that prolong the processing.
223
Database Performance: Basics, Performance Analysis and Tuning
Adabas D: Control
User Action
If there are no other instructions from x_wizard, check whether the database server is CPU-bound.
Large number of self suspends (dispatches): <number> per command
Explanation
The number of Adabas-internal task self suspends is very large. The processing of long-running
statements is interrupted after a certain runtime (xparam parameter REG_LOCK_SLICE) in order that
such a time-consuming statement does not block the database for other transactions (similar to timeslices
in operating systems). The applications profile must be known to decide whether this behavior represents
a problem. For example, complex searches in the data cache almost necessarily result in a drastic increase
of self suspends. In any case, a large number of self suspends indicates a high percentage of long-running
statements.
A task can also perform a self suspend, if another task with higher priority changes from waiting into
operative state (for xparam DYN_DISP_QUE_SRCH=YES only).
User Action
For batch-type applications, the number of self suspends can be decreased by increasing the xparam
parameter REG_LOCK_SLICE. This can improve throughput because of sequencing the statement to be
processed, but it will be detrimental to short-running statements (because of longer dialog response times).
If an analysis of the database application does not produce any hint that there are complex statements,
check whether the SQL statements read considerably more data than is needed for the actual processing
(e.g., by table scans or an unfavorable search strategy; evaluate the vtrace, if necessary, using x_wizbit).
Long vsuspend time (user tasks: <duration> sec per vsuspend (<number of> vsuspends)
Explanation
Adabas-internal wait states are very long. This does not mean collisions on SQL lock objects (these result
in the so-called vwait), but wait states for different events, such as writing a log entry, releasing a B* tree
after a structural change, etc.
User Action
None. An exact analysis can only be performed by Adabas support.
Large number of vsleeps (user tasks): <number> per command <number of> vsleeps, <number of>
commands
Explanation
The Adabas-internal wait state vsleep occurs very frequently.
User Action
None. An exact analysis can only be performed by Adabas support.
224
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
The Course of Measured Values (x_wiztrc)
Call
x_wiztrc
[-i Filename] [-P lines]
-o|-c|-t|-O|-C|-g|-s|-S|-l|-r| -R|-T|-d|-p
Description
x_wiztrc evaluates the data collected by x_wizard outputting it chronologically in tabular format. . The
measured values shown refer always to the interval between two measuring times.
Prerequisites
Adabas D from Version 12.
Previous start of x_wizard with the options "-t sec -b ..."
Options
-i
Input data file containing the measured values of x_wizard (Default:
<filename> x_wizard.bin).
-P <lines>
New heading after each <lines> lines.
-o
Overview. The most important measured values.
-c
Commands. Executed statements
(SELECT, UPDATE, DELETE...).
Remarks
225
Database Performance: Basics, Performance Analysis and Tuning
-t
Adabas D: Control
Transactions. Executed transactions
(COMMITS, ROLLBACKS ...).
-O I/O. I/O activities.
-C Caches. Database cache accesses and hit rates.
-g
Log. Logging activities.
-s
Strategy. Access strategies of the cost-based Adabas optimizer (1).
-S
Strategy. Access strategies of the cost-based Adabas optimizer (2).
-l
Lock. SQL locks.
-r
Regions. Accesses to and collisions on regions (1).
-R Regions. Accesses to and collisions on regions (2).
-T Temp. Activities on temp pages.
-d
Dispatching. Overview of the dispatcher activities.
-p
Prioritization. Task prioritization in the dispatcher.
x_wiztrc Output Tables
x_wiztrc is designed for Adabas support and development staff, not for the end user. Therefore, no
detailed explanation of the output parameters is included.
Overview
DaH
data cache hit rate [%]
CaH
catalog cache hit rate [%]
Exe
number of executes
Wtr
number of write transactions
PhR
number of physical reads
PhW
number of physical writes
LgW
number of physical log writes
WaC
number of SQL collisions (Vwait)
WaTm
average duration of an SQL collision [s]
SuC
number of Vsuspends
SuTm
average duration of a Vsuspend [s]
RRTm
average command processing time in the DB kernel [s]
LoC
number of command processing times > 1 second
Rcol
average collision rate on regions [%]
CSwp
number of cache swaps (physical writes)
226
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
Commands
SeA
number of selects
SeQ
number of selected rows
SeH
hit rate (found/read) for select [%]
InsA
number of inserts
InsQ
number of inserted rows
UpdA
number of updates
UpdQ
number of updated rows
UpdH
hit rate (found/read) for update [%]
DelA
number of altered deletes
DelQ
number of deleted rows
DelH
hit rate (deleted/read) for delete [%]
Transactions
Sql
number of SQL statements
Pre
number of prepares (parses)
Exe
number of executes
WTr
number of write transactions
Com
number of commits
Rol
number of rollbacks
I/O
PhR
number of physical reads
PhW
number of physical writes
USio
number of I/Os using a UKP (user task)
USioT
average I/O time using a UKP (user task)
UDio
number of I/Os using a DEV process (user task)
UDioT
average I/O time using a DEV process (user task)
SSio
number of I/Os using a UKP (server task)
SSioP
number of pages written using a UKP (server task)
SSioT
average I/O time using a UKP (server task)
SDio
number of I/Os using a DEV process (server task)
SDioP
number of pages written using a DEV process (server task)
SDioT
average I/O time using a DEV process (server task)
227
Database Performance: Basics, Performance Analysis and Tuning
Caches
DaA
number of accesses to the data cache
DaH
data cache hit rate [%]
CaA
number of accesses to the catalog cache
CaH
catalog cache hit rate [%]
CoA
number of accesses to the converter cache
CoH
converter cache hit rate [%]
DnRC
collision frequency on data cache regions [%]
CoRC
collision frequency on the converter cache region [%]
CSwp
number of cache swaps (physical writes)
Log
LgI
number of log queue inserts
Lov
number of log queue overflows
LgW
number of physical log writes
LgR
number of physical log reads
Sio
number of logwrite requests using a UKP (self I/O)
SioP
number of log pages written using a UKP (self I/O)
SioT
average I/O time of a log request using a UKP (self I/O) [s]
Dio
number of logwrite requests using a DEV process
DioP
number of log pages written using a DEV process
DioT
average I/O time of a log request using a DEV process [s]
Strategy (1)
228
Adabas D: Control
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
TscA
number of accesses using the strategy "table scan"
TscR
number of rows read for the strategy "table scan"
TscQ
number of qualified rows for the strategy "table scan"
KeyA
number of accesses using the strategy "key"
KeyR
number of rows read for the strategy "key"
KeyQ
number of qualified rows for the strategy "key"
KRaA
number of accesses using the strategy "key range"
KRaR
number of rows read for the strategy "key range"
KRaQ
number of qualified rows for the strategy "key range"
IndA
number of accesses using the strategy "index"
IndR
number of rows read for the strategy "index"
IndQ
number of qualified rows for the strategy "index"
Strategy (2)
IRaA
number of accesses using the strategy "index range"
IRaR
number of rows read for the strategy "index range"
IRaQ
number of qualified rows for the strategy "index range"
IsIA
number of accesses using the strategy "isolated index"
IsIR
number of rows read for the strategy "isolated index"
IsIQ
number of qualified rows for the strategy "isolated index"
IIRA
number of accesses using the strategy "isolated index range"
IIRR
number of rows read for the strategy "isolated index range"
IIRQ
number of qualified rows for the strategy "isolated index range"
IISA
number of accesses using the strategy "isolated index scan"
IISR
number of rows read for the strategy "isolated index scan"
IISQ
number of qualified rows for the strategy "isolated index scan"
Lock
229
Database Performance: Basics, Performance Analysis and Tuning
LocR
number of lock list entries (row)
LocT
number of lock list entries (table)
LoCol
number of lock list collisions
WaC
number of SQL lock collisions (Vwaits)
WaTm
average duration of a collision [s]
LcRG
number of accesses to the lock region
LcRC
collision rate on the lock region [%]
Kb05
number of KB05 requests
Regions (1)
CoRG
number of accesses to the CONVERT region
CoRC
collision rate on the CONVERT region [%]
LcRG
number of accesses to the LOCK region
LcRC
collision rate on the LOCK region [%]
DnRG
number of accesses to DATAn regions
DnRC
collision rate on DATAn regions [%]
TnRG
number of accesses to TREEn regions
TnRC
collision rate on TREEn regions [%]
SnRG
number of accesses to SPLITn regions
SnRC
collision rate on SPLITn regions [%]
Regions (2)
LoRG
number of accesses to the LOG region
LoRC
collision rate on the LOG region [%]
LwRG
number of accesses to the LOGWRITER region
LwRC
collision rate on the LOGWRITER region [%]
PdRG
number of accesses to the PERMFDIR region
PdRC
collision rate on the PERMFDIR region [%]
TdRG
number of accesses to the TEMPFDIR region
TdRC
collision rate on the TEMPFDIR region [%]
TrRG
number of accesses to the TRACE region
TrRC
collision rate on the TRACE region [%]
230
Adabas D: Control
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
Temp
TPR
number of physical temp page reads
TPW
number of physical temp page writes
TPVR
number of virtual temp page reads
TPVW
number of virtual temp page writes
Dispatching
ToDC
number of dispatcher calls
ToVwa
number of vwaits
ToSus
number of vsuspends
ToSle
numberof vsleeps
TRegA
number of accesses to regions
TReCo
number of collisions on regions
TReWa
number of region waits (sem queue)
TBgTC
number of TAS collisions in vbegexcl
TEnTC
number of TAS collisions in vendexcl
Prioritization
ToDC
number of dispatcher calls
ToTCo
number of commands
TotPr
number of task prioritizations
TPrFO
number of task prioritizations by other UKPs
TPrCQ
number of task prioritizations in the com queue
TPrRQ
number of task prioritizations in the rav queue
TPrCo
number of task prioritizations with commits
Direct Search For Costly SQL Statements
Stop the application, if any
xutil: DIAGNOSE VTRACE DEFAULT TIME ON
xutil: DIAGNOSE PARSEID ON
xquery (Adabas mode): MONITOR ON
231
Database Performance: Basics, Performance Analysis and Tuning
Adabas D: Control
Open a second window, if possible, and change to the Adabas rundirectory
In the first window, enter x_wizard -x -t 30 (after adapting the xuser entry or setting SQLOPT, if
necessary)
Start the application
When the message "Low hit rate for optimizer strategy: <percentage> ... " appears, create the vtrace
in the second window using "kernprot -dn $DBNAME akbt" under Unix or following the procedure
for Windows described above.
Evaluate the vtrace using "x_wizbit -l 50 -d $DBNAME.prt > wizbit.prt"
Analyze the long-running statements in the file wizbit.prt. To do so, check in xquery whether the
WHERE qualification could be processed using either the KEY or an index. If necessary, check the search
strategy with EXPLAIN in xquery.
Direct Search For Costly SQL Statements Using
DIAGNOSE MONITOR
Diagnose Monitor allows you to log commands automatically in tables when limiting values relative to
selectivity, read activity or runtime are exceeded while processing these commands.
Utility must be started in warm serverdb mode:
Call: xutil -d <serverdb> -u <controluser, controlpassword>
The following commands can be issued in the Utility command line:
DIAGNOSE MONITOR SELECTIVITY <no>
<no> is the ratio of ROWS_QUAL to ROWS_READ in permill.
DIAGNOSE MONITOR READ <reads>
<reads> specifies the maximum number of virtual reads.
DIAGNOSE MONITOR TIME <time>
<time> is the maximum time for SELECT and subsequent FETCH. The specification is made in
milliseconds.
DIAGNOSE MONITOR ROWNO<cnt>
<cnt> specifies the number of monitoring results that are to be stored in the target table.
DIAGNOSE MONITOR OFF
disables the monitoring functions.
The results are written to the table SYSMONITOR. To find out the corresponding command, a SELECT
containing the value of the "parseid" column can be issued on the table SYSPARSEID.
232
Adabas D: Control
Database Performance: Basics, Performance Analysis and Tuning
Table Statistics and Structural Checks (xpu)
Call
xpu -v|-s [-u] count
Description
xpu allows the following to be done in parallel:
generating table statistics for the cost-based optimizer.
checking the B* tree structure of tables.
Options
-v
Verify.
Checks the B* tree structure of all tables of a database user.
-s
Statistics update.
Updates the table statistics of a database user, if required.
-u
Unconditional statistics update.
New creation of the table statistics of all tables of a database user. Only
possible in connection with the -s option.
count
Number of database tasks working in parallel.
Output Files
While checking the B* tree structure with "xpu -v", the following two files are generated in the current
directory:
-
chtab.prt
containing a list of all tables checked.
-
chtab.err
containing the tables where errors occurred during verification.
Use the recorded error codes to check whether these errors are so serious
that a recovery is required.
While updating table statistics with "xpu -s", the updcol.prt file is generated in the current directory. This
file contains the following information: the tables for which the validity of the statistics for the cost-based
optimizer was checked and the tables for which an update of statistics was necessary.
Return Code
If table processing by xpu was free of errors and xpu was terminated regularly, the return code 0 (zero) is
output to the operating system; otherwise, a value different from 0.
233
Database Performance: Basics, Performance Analysis and Tuning
Adabas D: Control
Remarks
For large databases, checking tree structures and creating exact statistical information requires the
physical read of large amounts of data. xpu allows for parallel read operations by distributing the actions
to several tasks. The count parameter indicates how many database tasks are to operate in parallel. Ensure
that "count" is less than the Adabas kernel parameter MAXUSERTASKS. Preferably, xpu should be
started in low-load times.
The count parameter should be about double the disks used physically for data devspaces (e.g. 5
devspaces on 5 disks: count = 10; 1 devspace on RAID 5 with 6 physical disks: count = 12).
After special error situations; e.g., after reading inconsistent database pages by a defective disk controller
(error code -9026), tables are internally marked as defective and locked for further, modifying usage,
although the data on hard disk can be still intact. "xpu -v" can be used at a later time; for example, after
exchanging the controller, to check the internal structure of all tables (but of no indexes). Tables found out
to be correct are marked as such and can then be updated again.
xpu is started for the database user who is entered in the XUSER file as the default user (see the "User
Manual Unix" or "User Manual Windows"). For other users, the SQLOPT environment variable must be
set. Only the tables of the corresponding user are processed.
For amounts of data that increase dynamically, the optimizer statistics should be updated weekly (xpu -s).
A consistency check of the table structures (xpu -v) should be performed before each new backup
generation, even if no errors occurred in the meantime.
234
Adabas D: Control
Settings for NetTerm
Settings for NetTerm
For an optimum use of NetTerm on a PC, the following settings are recommended:
File / Phone Directory menu item:
- Emulation = VT100
- Keys = CIS
The following settings are required for a correct functioning of the Enter key:
Options / Setup / Keyboard Keys menu item:
- Click on the Enter key of the displayed keyboard.
- Select "^M" instead of "^J" in the text field.
- Click on the Change key beside the text field.
- Click on the Save key.
- Click on Ok to leave the menu.
After logging onto the Unix server, the following variables must be set:
DBHIF=NETTERM
DBTERM=vt100
TERM=vt100
TERMINFO=$DBROOT/terminfo
Use the F2 key to select the "NETTERM" color setting. This setting is also available in Query and Load
as one of several presentations that can be selected by means of the SET command.
235