Documente Academic
Documente Profesional
Documente Cultură
Notice
Contents
Preface
ix
1-1
1-1
1-6
1-6
1-7
1-9
1-9
1-9
1-9
2-1
2-2
2-2
2-3
2-3
2-3
2-3
2-4
2-5
2-7
2-7
2-7
2-9
3-1
3-1
3-1
3-2
3-2
Contents
iii
Contents
Manual Startup
Disk Boot and Tape Boot
The Steps in a Manual Startup from Disk or Tape
Link Boot
Link Boot Module Requirements
The Link Boot Source
The Link Boot Server
The Steps in a Link Boot
The Operating System Symbol Table
3-3
3-3
3-4
3-9
3-9
3-10
3-10
3-11
3-12
4-1
4-1
4-2
iv
6-1
6-1
6-1
6-3
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Contents
8. Command Overview
broadcast
patch_file
patch_index
recreate_index
shutdown
test_index
Current Session Requests
The help Request
The names Request
The quit Request
Requests That Establish a Current Index
The look_at Request
The use Request
Requests That Display Information
The check Request
The dump_node Request
The free Request
The status Request
Requests That Set Up, Display, and Alter Position
The backward_index Request
The convert_key Request
The convert_key_range Request
The forward_index Request
The locate_record Request
The position Request
7-1
7-1
7-2
7-3
7-3
7-4
7-5
7-6
7-6
7-7
7-8
7-8
7-9
8-1
8-2
8-4
8-7
8-10
8-20
8-26
8-28
8-28
8-29
8-30
8-31
8-31
8-33
8-35
8-35
8-40
8-47
8-48
8-49
8-49
8-51
8-53
8-56
8-58
8-59
Contents
Contents
8-61
8-61
8-63
8-64
8-65
8-66
8-67
8-68
8-69
8-70
8-71
8-72
8-73
8-74
8-86
A-1
A-1
A-4
A-4
A-5
Index
vi
Index-1
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Figures
Figures
vii
Tables
Table 5-1.
Table 5-2.
Table 5-3.
Table 5-4.
viii
5-2
5-4
5-9
5-10
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Preface
The manual VOS System Administration: Starting Up and Shutting Down a Module or
System (R282) documents the procedures for starting up and shutting down Stratus
modules. It covers VOS Release 14.0.0 information for the following hardware
platforms:
all Continuum-series modules
all XA/R-series modules
Manual Version
This manual is a revision. Change bars, which appear in the margin, note the specific
changes to text since the previous publication of this manual. Note, however, that
change bars are not used in new chapters or appendixes.
This revision incorporates the following changes.
three new commands that help to diagnose and repair corrupted file indexes:
verify_index
patch_file
patch_index
the test_index commands check requests three new arguments:
Preface
ix
Preface
Manual Organization
The manual contains eight chapters and one appendix.
Chapter 1 documents the Stratus system console found on Continuum-series
modules.
Chapter 2 documents the Stratus module control panels found on XA/R-series
modules.
Chapter 3 describes how to start up a module or system.
Chapter 4 briefly introduces the module startup command file.
Chapter 5 explains how to respond to problem lights on the control panels.
Chapter 6 explains how to shut down and power off a module or system.
Chapter 7 describes the procedures to follow when recovering from a crash.
Chapter 8 documents the commands that manage system availability and that
diagnose and repair file indexes.
Appendix A describes the control panel of the older 10-slot XA/R Model 20 Stratus
modules.
Related Manuals
Refer to the following Stratus manuals for related documentation.
Introduction to VOS (R001)
VOS Reference Manual (R002)
Site Planning Guide (R003)
VOS Commands Reference Manual (R098)
VOS System Administration manuals
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Preface
Notation Conventions
This manual uses the following notation conventions.
Italics introduces or defines new terms. For example:
The master disk is the name of the member disk from which the module was
booted.
Boldface emphasizes words in text. For example:
following example, the user must replace the monospace-italic term with a literal
value.
list_users -module module_name
Monospace bold represents user input in examples and figures that contain both
user input and system output (which appears in monospace). For example:
display_access_list system_default
%dev#m1>system>acl>system_default
w
*.*
xi
Preface
The following table lists several VOS functions and the keys to which they are mapped
on commonly used Stratus terminals and on an IBM PC or compatible PC that is
running the Stratus PC/Connect-2 software. (If your PC is running another type of
software to connect to a Stratus host computer, the key mappings may be different.)
For information about the key mappings for a terminal that is not listed in this table, refer
to the documentation for that terminal.
V103
ASCII
V103
EPC
IBM PC or
Compatible
PC
V105
PC/+ 106
V105
ANSI
CANCEL
<F18>
<5> or *
<F18>
CYCLE
<F17>
<F12>
<Alt>-<C>
<4>
<F17>
<Shift>-<F17>
<Shift>-<F12>
<Alt>-<B>
<7>
<Shift>-<F17>
<F19>
<6> or -
<F19> or
<Shift>-<Help>
HELP
<Shift>-<F8>
<Shift>-<F2>
<Shift>-<F2>
<Shift>-<F8>
<Help>
INSERT DEFAULT
<Shift>-<F11>
<Shift>-<F10>
<Shift>-<F10>
<Shift>-<F11>
<F11>
<F11>
<F10>
<F10>
<F11>
<Insert_Here>
INTERRUPT
<Shift>-<F20>
<Shift>-<Delete>
<Alt>-<I>
<1>
<Shift>-<F20>
NO PAUSE
<Shift>-<F18>
<Shift>- *
<Alt>-<P>
<8>
<Shift>-<F18>
VOS Function
CYCLE BACK
DISPLAY FORM
INSERT SAVED
Numeric-keypad key
xii
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Preface
add_disk
Privileged
Purpose
The add_disk command tells the operating system on the current
module to recognize the specified logical volume for the duration of
the current bootload.
Display Form
-------------------------- add_disk ------------------------disk_name:
module_name: current_module
Arguments
Required
disk_name
The name of the logical volume to be recognized for the current
bootload.
.
.
.
A name
The name of the command or request is at the top of the first page of the
description.
B Privileged
This notation appears after the name of a command or request that can be issued
only from a privileged process. (See the online glossary, which is located in the file
>system>doc>glossary.doc, for the definition of privileged process.)
C Purpose
Shows the form that is displayed when you type the command or request name
followed by -form or when you press the key that performs the DISPLAY FORM
function. Each field in the form represents a command or request argument. If an
Preface
xiii
Preface
argument has a default value, that value is displayed in the form. (See the online
glossary for the definition of default value.)
The following table explains the notation used in display forms.
The Notation Used in Display Forms
Notation
Meaning
Required field with no default value.
The cursor, which indicates the current position on the
screen. For example, the cursor may be positioned on the
first character of a value, as in a ll.
current_user
current_module
current_system
current_disk
E Command-Line Form
Shows the syntax of the command or request with its arguments. You can display
an online version of the command-line form of a command or request by typing the
command or request name followed by -usage.
The following table explains the notation used in command-line forms. In the table,
the term multiple values refers to explicitly stated separate values, such as two or
more object names. Specifying multiple values is not the same as specifying a star
name. (See the online glossary for the definition of star name.) When you specify
multiple values, you must separate each value with a space.
The Notation Used in Command-Line Forms
Notation
Meaning
argument_1
Required argument.
argument_1...
argument_1
argument_2
[argument_1]
[argument_1]...
xiv
Optional argument.
Optional argument for which you can specify multiple values.
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Preface
Notation
Meaning
argument_1
argument_2
Note: Dots, brackets, and braces are not literal characters; you should not type them.
Any list or set of arguments can contain more than two elements. Brackets and braces
are sometimes nested.
F Arguments
Describes the command or request arguments. The following table explains the
notation used in argument descriptions.
G The Notation Used in Argument Descriptions
Notation
Meaning
<CYCLE>
Required
(Privileged)
Preface
xv
Preface
Examples
Illustrates uses of the command or request.
Related Information
Refers you to related information (in this manual or other manuals), including
descriptions of commands, subroutines, and requests that you can use with or in
place of this command or request.
Online Documentation
Stratus provides the following types of online documentation.
The directory >system>doc provides supplemental online documentation. It
Ordering Manuals
You can order manuals in the following ways.
If your system is connected to the Remote Service Network (RSN), issue the
(CAC) at (800) 221-6588 or (800) 828-8513, 24 hours a day, 7 days a week. All
other customers can contact their nearest Stratus sales office, CAC office, or
distributor; see the file cac_phones.doc in the directory >system>doc for CAC
phone numbers outside the U.S.
Manual orders will be forwarded to Order Administration.
xvi
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Preface
complete the data-entry form that appears on your screen. When you have
completed the form, press <Enter>.
If your comments are lengthy, save them in a file before you issue the command.
Preface
xvii
Preface
xviii
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Chapter 1
The Continuum-Series
System Console
1-
A Continuum-series module does not have a control panel. Instead, a system console
command interface, accessed through a terminal, brings up the commands formerly
available only via the control panel buttons and switches on a Stratus modules front
panel.
The system console is one part of the console controller. The console controller
functions as the central controller for the system. It serves as the systems central
collection point for maintenance and diagnostic information, the information to the
Remote Service Network (RSN), and the control point for the systems power. The
console controller also provides the monitor terminal functionality.
This chapter describes the Stratus system console and includes the following main
topics.
Front Panel Commands
System Messages
Module Status Lights
For information on the modular control panel found on XA/R-series modules, see
Chapter 2, The XA/R-Series Modular Control Panel. For information about the control
panel that Stratus supported before the modular control panel, see Appendix A,
Control Panels.
1-1
The system console allows you to perform functions such as booting the module,
shutting down the module, killing power to the module, and reporting the state of all
system indicator lights. Online help is also available via the front panel help command.
To enter the system console front panel, press the <Ctrl> key and the key that performs
the BREAK function simultaneously. The console displays a list of commands. The
exact list of commands presented by the system console varies slightly between
Continuum models. See Figure 1-1 and Figure 1-2.
If the front panel receives no input for 20 seconds, it times out and reverts back to
displaying system messages (Panel goes to sleep... message). Press the <Ctrl>
key and the key that performs the BREAK function simultaneously once again to return
to the front panel display and prompt.
1-2
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
The following commands are available through the system console front panel.
* help
Displays a list of front panel commands.
* boot_auto
If the system power is off, boot_auto turns the power on and initiates an
autoboot. If the power is on, this command just sets the auto flag in the console
controller firmware so that the CPU prom will do an automatic boot the next time it
is asked to boot. No further input is required.
* boot_manual
If the system power is off, boot_manual turns the power on and initiates an
operator assisted module startup. If the power is already on, this command just
sets the manual flag in the console controller firmware so that the CPU prom will
perform an operator assisted manual boot the next time it is asked to boot.
* shutdown
This command sends a shutdown message to the operating system, causing it to
initiate an orderly shutdown. When the operating system completes its shutdown,
it sends a command to the console controller to turn off the system power. (The
console controller remains running on housekeeping power.)
* power_off
Immediately kills power to the module. This leaves the console controller running
on housekeeping power.
1-3
* reset_bus
This command sends a reset_bus command to the system. If there is an
unbroken CPU board in the system, reset_bus causes a reset to be sent to all
boards on the bus. What kind of reset will occur on each board depends on its
state. If the board is broken, it will force a cold reset. Otherwise, it will force a
warm reset. If there are no viable CPU boards, the command is a no-operation.
On Continuum-series modules using the PA-7100 processor, if reset_bus
succeeds, the caches are flushed so that a meaningful memory dump can be
taken.
On Continuum-series modules using the PA-8000 processor, if this command
succeeds, the caches are initialized and any dump contents are lost. (This cache
initialization is required as part of the PA-8000 chip initialization). Therefore, the
following warning has been added to the confirm message for this command.
1-4
PA-7100 systems
PA-8000 systems
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
* status
Reports the status of system indicator lights.
* history
Displays a history of the last n front panel commands (limited to the boot_auto,
boot_manual, shutdown, power_off, restart_cpu, reset_bus, and
hpmc_reset commands).
* quit, q
Exits from the system console front panel. As noted previously, the system console
front panel times out automatically if it receives no input for 20 seconds.
* .
When your system is having problems, the order in which you attempt these
commands (from mildest to severest: shutdown, restart_cpu, hpmc_reset, and
reset_bus,) can assist or inhibit the CACs ability to diagnose problems with your
system. Seek assistance from the CAC if you are in doubt as to the order in which you
should enter them.
For more information on using these system console commands within the context of
actually starting up or shutting down a system, see Chapter 3, Starting Up a Module
or System, Chapter 5, Responding to Status Lights, or Chapter 6, Shutting Down
and Powering Off.
System Messages
The following informational messages may appear when the module is running. These
messages do not require any operator input.
The Continuum-Series System Console
1-5
System Messages
* Booting release_number
Specifies the operating system release number being booted. It appears once
during a boot.
* Salvaging logical_volume_name
Specifies the logical volume being salvaged.
* Recovering disk_name
Specifies the disk that is recovering.
* module_start_up
Indicates the start of processing the module_start_up.cm file. While
module_start_up.cm is running, you will see many messages as it starts
individual system services.
* module_start_up complete
Indicates that the module_start_up.cm file has finished processing.
* PCP - command
Indicates that the PCP (Primitive Control Program) is capable of accepting
command input.
* Creating Symbols
Indicates that the OS symbol table creation is in progress.
* HH:MM module_name
Shows the current time and name of the module.
* slot_id message
Indicates that there are board or device errors. For slot_id, one of the following
is displayed:
the affected slot number of the chassis
1-6
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
System Messages
one of these component names: Bus, BusA, BusB, Battery, Fan, EvBulk,
or OddBulk
For message, one of the following is displayed:
broken: The board is marked as broken.
Failure: The board has a failure code.
missing: The board is marked as missing.
no devs: This board should have devices attached, but none are known.
dev err: Some device attached to the controller has an error, is broken, or is
missing.
1-7
the operating system and, if possible, generates a dump. The protocol and messages
are slightly different, depending upon the Continuum-series module in use.
A PA-7100-based Continuum system displays the following messages.
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
indicator (yellow), and the system no fault light (green). Each of these three lights is
either on or off; they do not blink. A brief description follows.
Yellow (first light on the left)There is a faulty component in the system.
Yellow (the light in the center)There is a faulty component in the main cabinet.
GreenAll system components are operating normally.
The lights cycle (repeatedly light one after the other) during system testing. If all
main-cabinet lights are off, there is a power failure.
1-9
1-10
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Chapter 2
The XA/R-Series
Modular Control Panel
2-
Stratus has adopted a standard, modular control panel for all XA/R-series modules.
This standard control panel is fault-isolating and comprises customer-replaceable
units. It is possible to configure the control panel to be fault tolerant, and you can attach
a terminal or modem directly to the control panel via a serial port. The control panel
supports a special set of query and control commands.
This chapter describes the modular control panel. For more information, see Module
Control Panel Guide: Operation and Replacement (R334). The chapter includes the
following main topics.
The Stratus Modular Control Panel
Control Panel Components
Module Control Unit (MCU)
Operator Interface Unit (OIU)
Other Control Panel Features
Status Display
OIU Query and Control Messages
System Messages
Module Status Lights
Unit Failure Lights
Control Panel Buttons
The Immediate Power Off Button
2-1
a terminal or modem
Figure 2-1 shows the modular control panel.
OPERATING
UNIT
FAILURE
UNIT
FAILURE
IMMEDIATE
POWER
OFF/ON
Operating Light
BATTERY
Battery Light
TEST/
PROBLEM
ENTER
CYCLE
Test/Problem Light
LCD
Enter Button
AD0494
The customer-replaceable components are the Module Control Unit (MCU) and the
Operator Interface Unit (OIU). System administrators can remove and replace these
2-2
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
units without special tools. Refer to Module Control Panel Guide: Operation and
Replacement (R334) for information about replacing these components.
chapter.
Status Display
The LCD on the OIU displays query and control messages. The LCD also displays
Primitive Control Program (PCP) messages. These two types of messages are
described in the following sections.
2-3
* BLANK
The LCD is blank when the OIU enters an idle state. Once the OIU is in an idle
state, either the date/time and module name or a CPU status message or
command are displayed by the LCD. From the idle state, you can use the CYCLE
button to cycle through the OIU commands and press the ENTER button to
execute one.
* AUTO BOOT
Press the ENTER button to instruct the MCU to boot the module without further
input.
* MANUAL BOOT
Press the ENTER button to instruct the MCU to boot the module manually.
* SHUTDOWN
Press the ENTER button to commence an orderly shutdown of the module. The
MCU will send a SHUTDOWN? query to the LCD. To verify that the shutdown should
be initiated, press the CYCLE button until the YES message appears on the LCD,
then press the ENTER button. If you do not press the ENTER button in response
to the YES message within approximately ten seconds, the MCU returns the control
panel to the idle state.
* RESTART
Press the ENTER button to commence a halt and restart of the module, equivalent
to the LEVEL-7 button on some Stratus modules. The MCU sends a HALT &
RESTART? query to the LCD. To verify that the halt and restart should be issued,
press the CYCLE button until the YES message appears on the LCD, then press
the ENTER button. If you do not press the ENTER button in response to YES within
approximately ten seconds, the MCU returns the control panel to the idle state.
Initiating a halt and restart may require issuing additional
recovery commands once the module has restarted. Files
open at the time of a halt may be left in an inconsistent
state. When possible, issue the shutdown operating
system command from a terminal, or the SHUTDOWN
control command from the control panel. Use the
RESTART command only if the module does not respond
to other commands, or if instructed to do so by the CAC.
* REV?
Press the ENTER button to display the current revisions of the MCU board and
PROM code in the control panel.
2-4
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
System Messages
* YES
* NO
Press the ENTER button to confirm the SHUTDOWN and HALT & RESTART?
commands from the MCU.
Press the ENTER button to terminate the SHUTDOWN and HALT & RESTART?
commands from the MCU.
When you press the CYCLE button, the query and control message appears on the
LCD for approximately five seconds. If you do not press the ENTER button within that
time, the OIU returns to the idle state. If the module sends a message to the OIU in the
middle of a cycle operation, the OIU retains the state currently appearing on the LCD
until you press the CYCLE button again, or until the time out has elapsed.
If you do not respond to the prompt for the SHUTDOWN or HALT & RESTART?
messages within approximately 10 seconds, the MCU treats the lack of response as a
NO.
System Messages
The informational messages appear when the module is running and do not require
any operator input. Following is a list of the system messages.
Booting release_number
Specifies the operating system release number being booted. It appears once
during a boot.
Salvaging logical_volume_name
Indicates that the system has booted as far as the manual boot command level.
2-5
System Messages
Shutdown request
Indicates that the SHUT DOWN button on the module has been pressed and the
module is being shut down.
PCP - dumping
Indicates that there are board or device errors. For slot_id, one of the following
is displayed:
2-6
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
* OPERATING
During module startup, this green light alternates with the amber TEST/PROBLEM
light. Once the module is operating, the green light remains lit.
* BATTERY
This yellow light comes on when power to the module is lost, indicating that the
module is not operating but is maintaining a restartable state on its emergency
batteries. The control panel will not operate when the battery light is on, except for
the IMMEDIATE POWER OFF/ON buttons.
* TEST/PROBLEM
This amber light comes on when a fault is detected during the modules operation.
It also alternates with the green OPERATING light approximately every four
seconds during module startup. If the power-on diagnostic detects a problem, the
TEST/PROBLEM light stays on.
However, behind the door labelled IMMEDIATE POWER OFF/ON are two additional
buttons labelled:
O (red power off)
2-7
UNIT
FAILURE
OPERATING
(Power Off
Red Button)
BATTERY
TEST/
PROBLEM
CYCLE
ENTER
(Power On
Green Button)
Cycle
Button
Enter
Button
AD0501
* CYCLE
Use this white button to display and cycle through the query and control messages.
* ENTER
Use this white button to instruct the MCU to perform the operation displayed on the
LCD. For example, if the AUTOBOOT command is on the status display when the
ENTER button is pressed, an automatic reboot of the module is initiated.
* O
* 1
2-8
This red power-off button is located behind the IMMEDIATE POWER OFF/ON
door. Pressing it will initiate an immediate loss of power to the module. Avoid
pressing this button; use the shutdown command whenever possible. Consult
with the CAC before pressing this button unless there is an emergency (such as a
fire) that requires an instantaneous power cut.
This green power-on button is located behind the IMMEDIATE POWER OFF/ON
door. Pressing it will initiate an automatic boot; however, if the disk label had the
-no_auto_boot flag set, a manual boot is initiated. Avoid pressing this button;
use the MANUAL BOOT or AUTO BOOT option instead. Consult the CAC before
pressing this button, unless there is an emergency.
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
2-9
2-10
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Chapter 3
Starting Up a Module or
System
3-
Startup is the procedure that powers on and boots a module. This chapter explains how
to perform automatic startup and manual startup, and explains what to do when a
module fails. It includes the following main topics.
Automatic Startup
Manual Startup
Link Boot
The Operating System Symbol Table
Automatic Startup
This section describes the automatic startup process.
3-1
Automatic Startup
The OPERATING light alternates with the TEST/PROBLEM light approximately every
four seconds until the operating system is started.
noting its absence to the system consoles monitor terminal and the current system
error log. It waits briefly to allow you to see the monitor terminal message, then
starts an interactive process at command level.
At this point, the operating system has terminated the automatic startup. You are
now at Step 6 of the manual startup procedure described later in this chapter.
Follow Step 6 to finish the startup.
If a configuration table or other file referenced in module_start_up.cm is
missing, the operating system sends messages noting the missing file to the
system consoles monitor terminal and the current system error log, and attempts
to complete the automatic startup. If it is able to finish, you must now perform a
manual startup and re-create the file, as described in VOS System Administration:
Configuring a System (R287).
If the operating system cannot complete the automatic startup successfully, ask the
CAC for assistance.
The automatic startup may also experience problems if module_start_up.cm or any
of the files it references is present, but defective, in >system. In this case, the
3-2
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Manual Startup
operating systems behavior and your response are the same as when a configuration
table is missing.
See VOS System Administration: Administering and Customizing a System (R281) for
further information about the system consoles monitor terminal functionality, and
system error logs.
Manual Startup
Manual startup allows you to load the operating system from tape or disk. The
procedure is interactive and therefore requires a monitor terminal. See VOS System
Administration: Administering and Customizing a System (R281) for more information
about the system consoles monitor terminal functions.
During a manual startup, the only functioning editing key
is <BACKSPACE>.
In a boot from tape, the operating system is loaded from a boot tape. This is a tape that
contains a copy of the operating system and a complete copy of the contents of the
master disk. A boot tape is created when the dump_disk command executes on a
master disk. See VOS System Administration: Backing Up and Restoring Data (R285)
for specific information. Always have a current boot tape available.
If you rename a boot disk, you must create a new boot tape. When you boot from tape,
the disk name on the boot tape must be the same as the boot disks name. If the names
are inconsistent, the operating system prompts you to rename the disk to its former
name (the name on the boot tape) so that the tape can reload the disk. See VOS
System Administration: Disk and Tape Administration (R284) for more information on
boot disks.
A boot from tape is a relatively standard task except when
a tape drive is not attached to the module that is to be
booted. If you have an XA/R-series module, you may
prefer to perform a link boot, a boot through the
3-3
Manual Startup
3-4
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Manual Startup
a. Disk. Because you specified either a disk controller or disk IOA connected to
an IOP in Step 3, the terminal displays the following question:
Boot from partition?
To load the operating system from the default boot partition, press <RETURN>
without entering a number. To load the operating system from a specific
partition, enter a valid boot partition number from 1 to 8; in this case, pressing
<RETURN> is not necessary.
The boot disk should always be a duplex disk, as described in VOS System
Administration: Disk and Tape Administration (R284). If the primary partner of
the boot disk is not functioning, press the STOP button and repeat Steps 1, 2,
and 3, using the slot number of the secondary partner of the boot disk.
This is the end of the disk description. Skip to Step 5.
b. Tape. Because you specified either a tape controller or a tape IOA connected
to an IOP in Step 3, the operating system asks you questions regarding
formatting, initializing, and reloading the master disk. See VOS System
Administration: Disk and Tape Administration (R284) for more information. You
can choose to reformat or initialize the master disk before you reload it, or you
can answer no to the formatting and initializing questions to go directly to the
reloading procedure.
i. The terminal displays the question on formatting first.
Do you want to format disk_name?
The disk_name argument above refers to the uninitialized disk name of
the master disk. The uninitialized disk name describes the disks physical
location within the module. Refer to VOS System Administration: Disk and
Tape Administration (R284) for more information about uninitialized disk
names.
If you answer yes and the master disk does not already have a valid label,
the master disk is formatted. If you answer yes and the master disk
already has a valid label, the operating system asks you to verify that you
want to destroy the master disks contents by formatting.
Are you sure? disk_name has a valid label now-If you answer yes to this question, the master disk is formatted.
If you formatted the master disk, go to Step iii.
Answering no to either the formatting question or the verification question
bypasses the formatting procedure and lets you choose initialization or
reloading instead.
3-5
Manual Startup
3-6
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Manual Startup
3-7
Manual Startup
3-8
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Link Boot
Link Boot
As noted in the previous section, you perform a tape boot when the master disk on the
module to be booted has enough unrecoverable errors to prevent a reliable disk boot
or when you want to physically reload the entire contents of the master disk. In most
cases, a tape boot is a straightforward task; however, if a tape drive is not physically
attached to the module to be booted, the operation can be complicated and time
consuming. If you have an XA/R-series module, you may want to perform a link boot in
this circumstance.
You cannot perform a link boot on Continuum-series
modules.
A link boot of a module is a boot of the module performed via the StrataLINK
communications network. A boot source, accessible to another module on the same
system, communicates with the module to be booted using a server process called a
link boot server (described later in this section) to provide the information needed for
the boot.
The performance of a link boot operation is slightly slower than that of a local boot, but
a link boot can be more convenient.
network.
The server module, the module to perform the boot. The server module must be on
the same system as the booting module, and must have access to the boot source.
The number of modules on a given system may affect the success of a link boot.
StrataLINK traffic density is directly proportional to the total number of modules on a
given system, so the likelihood of an error during a link boot increases as the number
of modules increases. Therefore, the maximum number of modules that can exist on a
system without interfering with a link boot is unique to each case.
1. If you initiate the link boot from a module that is
running VOS Release 11.1 or later, all I101-10 and
I101-11 Link Controllers in the module that was
booted are capable of transferring 32 bits of data at a
time on to and off of the StrataBUS.
2. If you initiate the link boot from a module that is
running a release of VOS earlier than 11.1, all I101-10
and I101-11 Link Controllers in the module that was
booted will transfer 16 bits of data at a time on to and
off of the StrataBUS.
Starting Up a Module or System
3-9
Link Boot
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Link Boot
b. The following prompts appear only in the boot from link procedure. The values
displayed in parentheses are default values for the booting module. To accept
a value, press <RETURN> at the prompt. To change a value, enter the new value
at the prompt followed by <RETURN>.
Enter
Enter
Enter
Enter
Enter
c. At the end of this step, the module is booted but the link boot may not be
complete. However, the link boot server is no longer needed; it will be
terminated automatically.
3-11
been created
These messages are returned to the .out file for that process and to the terminal if the
process is run from a terminal. If this occurs, delete the out-of-date symbol table by
typing delete_file (master_disk)>system>os.symtab and create an
updated version with the create_os_symtab command.
3-12
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Chapter 4
The Module Startup
Command File
4-
This chapter documents the module_start_up.cm file and includes an excerpt from
the file. It includes the following main topics.
The module_start_up.cm File
Tailoring the module_start_up.cm File
watchdog
Some commands, called system process commands, are used mostly in
module_start_up.cm files. For example, you would never issue the operating
system command overseer, and you probably would not use the commands
link_server or network_watchdog. The system process commands initiate
service processes for the module.
Every module must have a copy of module_start_up.cm. You cannot start up the
operating system properly without it. If it is missing, refer to VOS System
Administration: Configuring a System (R287) for instructions on re-creating it.
4-1
The sample module_start_up.cm file that is shipped with the installation software
is stored in the directory (master_disk)>system>release_dir.
the same change to copies on every module. You can make the change in one
copy and then copy that file to another location on the same module, but you
should check before copying the updated file to another module. The
module_start_up.cm file for each module probably has commands unique to its
own module, and executing it on another module may not work.
To have a complete picture of the systems startup configuration, you must look at
Example
The following excerpt from a module_start_up.cm file replaces several lines of the
installation file.
The first block of commands starts the spooler and the print queues on module #m1. It
replaces the lines in the installation file that initialize and start the spooler process. The
second block starts X.25 gateway processes on module #m2. (These processes allow
the system to be part of a wide area network.) It replaces the lines in the installation file
that start the X.25 gateway processes. The last four lines of the file contain labels for
use when additional modules are added to the system.
4-2
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
4-3
4-4
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Chapter 5
Responding to Status Lights
5-
This chapter describes what to do if a status light, or fault indicator light, is lit on a
controller board or cabinet. This chapter focuses on Continuum-series modules. On
older modules, the meaning of status-light states may be different. This chapter
includes the following main topics.
Module Status Lights
Fault Indicator Lights on Boards
System Problem Analysis
Proper Recovery
Recovery Procedures
Recovering from System Initialization Process Failure during a Boot
If you suspect that a module has stopped functioning, first check the system fault
indicator light. If it is on, check to see if a red light is lit on one of the controllers. The
system console will then indicate one of three conditions, which are outlined and
discussed in the section Recovery Procedures later in this chapter.
After you check the system console, call the CAC to report the failure. You probably will
not need assistance to recover from the failure. However, notify the CAC staff
immediately that the failure has occurred so that they can trace and correct its cause.
5-1
For more information on status lights, refer to the VOS Continuum 600 and 1200 Series
with PA-8000: Operation and Maintenance Guide (R445) and Continuum Operation
and Maintenance: 600 and 1200 Series (R396) manuals. (The latter manual is for
PA-7100 based processors.)
SYSTEM
FAULT
CABINET
FAULT
Main Cabinet
NO
FAULT
Expansion Cabinet
CABINET
FAULT
cm0046
5-2
Yellow
System
Fault Light
Yellow
Cabinet
Fault Light
Green
No Fault
Light
On
Off
Off
On
On
Off
Off
Off
On
Off
Off
Off
Meaning
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
K450,
K460
CPU/
or
Memory K600
600-Series
Main Chassis
Red
Amber
Green
Backpanel
Power Supply
Console
Controller
CPU/Memory
K450, K460
or K600
1200-Series
Main Chassis
Red
Amber
Green
Backpanel
Power Supply
CM0047
Console
Controller
cm0047
5-3
Red Light
Yellow
Light
Green
Light
Meaning
On
Off
Off
Off
On
On
Off
Off
On
Off
Off
Off
On
On
On
Blinking
On
Off
Blinking
Blinking
Off
For more information on status lights, refer to the VOS Continuum 600 and 1200 Series
with PA-8000: Operation and Maintenance Guide (R445) and Continuum Operation
and Maintenance: 600 and 1200 Series (R396) manuals.
A red light on a board indicates either that the board is being tested or that the board
has experienced a failure. This section discusses both of these conditions.
To determine the reason for a red light, check the following:
the system console
the boards and connectors themselves, to be sure they are in place
the list_boards and check_boards requests in the analyze_system
subsystem
the modules current syserr_log.date file
Board Testing
Board testing occurs at the following times:
5-4
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Staff at the CAC may also conduct board testing at other times. For example, the CAC
may test the boards in a module to determine which board is causing bus errors.
Board Failure
If a board fails a test or if the checking logic on a board detects erroneous data, the
operating system removes the board from service for further testing by a system
process called the diagnostic utility process. If this process finds that the boards
problem was transient, it restores the board to service. Otherwise, the board remains
out of service, its red light remains lit, and the fault indicator light on the cabinet is lit.
The reset_configuration command turns off the fault indicator light when a board
has been removed from service but has not yet been replaced or repaired. This frees
the light so that it can signal additional failures, if necessary. See VOS System
Administration: Configuring a System (R287) for information about the
reset_configuration command.
If your system is part of the Remote Service Network (RSN), the diagnostic process
sends notification of the failure to the RSNs hub, where the CAC attempts to diagnose
and correct the problem. If your system is not part of the RSN, call the CAC to report
the problem.
If the failed board is not duplex and is crucial to the modules operation, the module
fails. See the next section, System Problem Analysis, for information about how to
proceed.
5-5
Proper Recovery
such as .kp modules and (for batch processes) their .out files, and the source
files
Installing a different version of the operating system before the cause of the problem is
resolved destroys some information necessary for problem analysis. Therefore, before
any such installation during the one month period, save the following items as well:
a copy of the boot partition in use at the time of the dump. Use the copy_kernel
the dump
If you cannot save dump files on the master disk itself, copy the dump to another disk
and create a link in (master_disk)>Overseer>dumps that points to the dump in the
new location. Use the object name of the dump as the name of the link. Do not save
the hardware_log.(date) files.
To ensure that relevant information is saved, use the command
set_expiration_time to set an explicit expiration date before which the files
cannot be deleted.
Proper Recovery
This section describes what must occur in a proper recovery and then explains how to
respond to each of the conditions you may encounter after a failure.
For a module to recover properly from failure, the following must occur.
A dump image must be written to the dump partition of the master disk. A dump
image consists of all modified disk blocks of the operating system and selected disk
blocks of processes that were running at the time of the failure. A dump partition is
a region of a disk; see VOS System Administration: Disk and Tape
Administration (R284) for a full explanation.
The module must reboot by loading the operating system.
The operating system must execute the commands in the module_start_up.cm
file, including the copy_dump command, which copies the contents of the dump
partition to a file. The CAC can examine this file for information about the cause of
the failure.
5-6
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Recovery Procedures
Recovery Procedures
After a module failure, the modules system console indicates one of the following
conditions:
The module is automatically dumping and rebooting if the -auto_boot switch is
The rest of this chapter describes the recovery procedures to use for each of these
conditions.
5-7
Recovery Procedures
Continuum system
manual and automatic recovery of a Continuum system
manual recovery of an XA/R system.
4. Press <Enter>. A display form appears, confirming your choices and asking if you
want to continue.
5-8
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Recovery Procedures
power_boot: Yes
attempt_auto_recovery: Yes
shadow_console: no_shadow
Front panel timeout (recc_config.panel_timeout): 20000 ms
Successful completion of read.
7. Repeat the procedure for the second console controller, specifying slot number 37
in the device_id field in step 2.
Changing the attempt_auto_recovery Setting
Enabling automatic recovery attempts (that is, setting attempt_auto_recovery to
Yes) is not recommended, since the automatic recovery process can delete system
information the CAC needs to determine the cause of the system failure.
To change the setting of the attempt_auto_recovery variable in either case, call
the CAC.
Continuum-Series Manual Recovery
If your module hangs, you will receive the CC:Deadman timer expired; system
restart option not selected console controller message after five minutes of
module inactivity. Follow these steps to recover the module.
1. Press the <Ctrl> key and the key that performs the BREAK function simultaneously.
The console displays a list of commands. Try each of these commands in
succession until one succeeds in bringing up the module and operating system.
Table 5-3 shows the commands to use in the manual recovery process.
Table 5-3. Manual Recovery Command Sequence
PA-7100-Based Systems
PA-8000-Based Systems
restart_cpu
reset_bus
restart_cpu
hpmc_reset
reset_bus
5-9
Recovery Procedures
PA-8000-Based Systems
restart_cpu
reset_bus
power cycle
restart_cpu
hpmc_reset
reset_bus
power cycle
5-10
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
XA/R-Series Recovery
On an XA/R-series module with the modular control panel, perform the following steps.
1. Cycle to the RESTART command and press ENTER. This should begin either
automatic startup or execution of the Primitive Control Program (PCP).
2. Power down the module. Do this by pressing the red POWER OFF button located
behind the IMMEDIATE POWER ON/OFF door.
3. Cycle to the AUTO BOOT command on the LCD and press the ENTER button.
4. If powering up in automatic mode is unsuccessful, repeat Step 3 using the
boot_manual command and follow the steps for startup documented in The
Steps in a Manual Startup from Disk or Tape section of Chapter 3.
5-11
5-12
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Chapter 6
Shutting Down and
Powering Off
6-
This chapter outlines the steps in shutting down and powering off one or more modules,
and discusses emergency shutdowns. It includes the following main topics.
The module_shut_down.cm File
Planned Shutdowns
Emergency Shutdown
Planned Shutdowns
The shutdown command shuts down one or more modules. The -module argument
determines which modules are shut down. You can shut down:
only the current module by omitting the -module argument
one specified module by naming it in the -module argument
all modules in the system by giving the value * in the -module argument
6-1
Planned Shutdowns
some modules in the system by giving a star name that matches those modules in
6-2
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Emergency Shutdown
4. When you are satisfied that no users are logged in, give the shutdown command.
This tells TheOverseer to terminate all processes still logged in on the specified
module and to shut down the operating system on that module.
Entering the shutdown command on the system console
has the same effect on the module as invoking the VOS
shutdown command.
5. Wait for TheOverseer to display the following message on the monitor terminal:
overseer: Shutdown started by user.group
If the -auto_boot argument of the display_disk_label command is in force,
the module reboots automatically; otherwise, the module powers off. Powering off
a module in this way does not affect other modules in the system. The module can
also be powered up again without affecting other modules.
Emergency Shutdown
Emergency shutdown is a process called during a module interruption. For example, if
the CAC instructs you to enter the restart (XA/R-series) or restart_cpu
(Continuum-series) command from the system console, the operating system
automatically calls the emergency shutdown process.
When possible, use the shutdown command to shut the
module down before rebooting it. See the shutdown
command description in Chapter 8, Command
Overview.
Emergency shutdown performs the following tasks:
verifies in-memory structures for disks and files
saves a dump image of the operating system
writes out modified disk cache blocks to disk
writes out file partition bit maps to disk
6-3
Emergency Shutdown
You can follow the progress of an emergency shutdown by watching the monitor
terminal for messages about the shutdown these messages are not written out to the
syserr_log.date file. The output for emergency shutdown varies depending on
what forced the shutdown. The following example shows the output produced by
emergency shutdown after entering the RESTART (XA/R-series) or restart_cpu
(Continuum-series) command from the control panel.
Emergency Shutdown in progress...
Emergency Shutdown: The wired heap has verified.
Emergency Shutdown: No hardware problems have been detected.
Emergency Shutdown: Level 7 button pressed / 0000xxxx.
Emergency Shutdown: Scanning for idle disks.
Emergency Shutdown: No shared vm pages written.
Emergency
Emergency
Emergency
Emergency
Emergency
6-4
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Emergency Shutdown
the red power off button located behind the IMMEDIATE POWER ON/OFF door on
an XA/R modular control panel.
The module loses power, and the power is out longer than the batteries can retain
the contents of memory. Since memory is not preserved, there is no data for the
emergency shutdown process to use. The batteries will last about 20 minutes.
The system determines that an emergency shutdown cannot be successfully
6-5
Emergency Shutdown
6-6
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Chapter 7
Recovering from a Crash
7-
A module interruption, or crash, may occur due to an extended power failure, softwareor hardware-detected inconsistencies in system behavior, or the failure of multiple
hardware components. Stratus modules can recover automatically following a crash,
often without user intervention. This chapter documents what to do after a module
recovers from a crash, and describes the intervention you, as the system administrator,
need to perform if a module does not recover automatically. It also explains what can
happen to files during a crash and what you may need to do to recover files.
If you have any questions about the material presented
here, contact the CAC.
7-1
devices to service following a crash. A device may fail during a crash, and may require
intervention to return to service.
Normally, the operating system automatically sends in a trouble call to the CAC when
a device cannot be restored to service. CAC personnel then log in to the module to
diagnose the cause of failure, to assist in failure recovery, and to determine whether
part replacement is required.
However, you should perform a manual review of the hardware state, to determine
whether any hardware was not returned to service and how such failures may impact
applications on the module.
Here are the tasks you should perform for each module after it starts up.
Examine module boards, IOAs (I/O adapters), communication cards, and power
Make sure the firmware loads correctly in all communications boards and IOAs.
Typical failures can result from changes made during the prior bootload that do not
occur automatically when the module is rebooted. These types of changes include:
device attributes changed with the update_channel_info command, but
not changed in the devices.tin file, or changes to the devices.tin file
that have not been applied to the devices.table file
communications protocols added with the configure_comm_protocol
command, but not added to the module_start_up.cm file
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
the directory entry for the file. The disk salvager does not update file attributes
describing the contents of a file. The salvager ensures that data structures within each
directory are consistent. A logical volume is a grouping of up to ten member disks. The
disk salvager writes to one partner of each member of the logical volume being
salvaged. When salvaging completes, the logical disk is mounted with simplexed
members. Disk recovery copies the data from each salvaged member onto its partner.
disk 0500 f 10
4718 02 00000000 00000000 unable to
read valid label
salvage_disks: Partner expected but not found for disk
m1_d02.0-2.sec
m1_d02.0-2.sec state: DUPLEXED updated: 91-07-26
20:20:04
salvage_disks: Duplex disk m1_d02.0 is invalid.
Code = 3514
The syserr_log.date file identifies directory entries for file data, indexes, and
directories changed by the salvager.
17:55:46
17:55:57
17:55:57
7-3
17:55:57
17:56:10
17:56:10
17:58:32
17:58:38
17:59:51
18:01:16
Disk Recovery
To recover a duplex disk is to bring the less current partner of a duplex disk pair up to
date with its mounted partner. When recovery completes, the recovered partner is then
mounted. The disk pair is again operating as a duplexed pair, as indicated by the
display_disk_info command. See VOS Commands Reference Manual (R098) for
more information on this command.
The start_disk_recovery command checks all the duplex disks in a module for
recovery. It starts a disk recovery operation for each pair that is not fully duplexed. The
recover_disk command recovers the partner of a duplexed disk. At the end of a
recovery, the partnered disks are identical.
For more information on disk salvage and recovery, see VOS System Administration:
Disk and Tape Administration (R284). To improve performance of the disks, configure
the disks to write in parallel. For information on this, see VOS System Administration:
Disk and Tape Administration (R284).
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Before starting applications, check that all service processes required for the module
started correctly. Review the state of module service processes by performing the
following tasks.
Check the >Overseer>module_start_up.out file and the other .out files in
that directory to ensure that all service processes started up correctly. If any error
messages are found, correct the problems and restart the service process before
continuing.
Compare the .out and .out.old files to look for differences which indicate
failures. For example, compare module_start_up.out with
module_start_up.out.old.
If you use transaction protection, check the syserr_log.date file to ensure that
tp_overseer(11.11.01): Initializing.
tp_overseer(11.11.01): Processing transaction log
tlf.3-1.0000018077.91-09-07
tp_overseer(11.11.01): Reestablishing unfinished
transactions.
tp_overseer(11.11.01): Transaction log processing
completed.
tp_overseer(11.11.01): Transaction processing
started.
The following set of system messages show a failure of the TPOverseer process
to restart correctly.
19:08:48
19:08:51
19:08:51
19:08:51
19:08:51
tp_overseer(11.11.01): Initializing.
tp_overseer(11.11.01): Processing transaction log
tlf.3-1.0000018077.91-09-07
tp_overseer(11.11.01): Reestablishing unfinished
transactions.
tp_overseer(11.11.01): The specified disk volume is
not mounted. %s1#m1_d04>production>data>file_1
Record #3492 (TLF_MOD_PHASE_1_COMMIT) in log
tlf.3-1.0000018077.91-09-07
tp_overseer(11.11.01): Terminated.
7-5
the crash or during disk salvage. Contact the CAC for help
in recovering from a TPOverseer failure.
7-6
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
When a crash calls the emergency shutdown process, emergency shutdown writes
modified disk cache blocks to disk and updates the directory entry for modified files.
Thus, file data loss and inconsistencies are minimal when emergency shutdown
succeeds. Only records or keys being modified at the time of the crash are lost. See
Chapter 6, Shutting Down and Powering Off, for information on emergency
shutdown.
End-of-File Pointer
The file system keeps a record of file attributes, including information such as the
last_record_number value, in the directory entry for the file. This
last_record_number value is used differently by the various file types, but is
commonly called the end-of-file (EOF) pointer. It tells the operating system where to
begin when writing new records, and where to stop when reading file data. This value
is typically updated only at the time the file is closed or when the buffers are written out
(by a program calling s$control with the runout_opcode). Between updates, the
information is kept only in operating system memory. Data records can be lost when
the value of this field does not reflect the true end of file, and the data may not appear
to be on the disk.
After a reboot, the end-of-file pointer may not include records in blocks written to disk
since the last runout_opcode or file open operation. Thus, valid data records written
to disk before the crash might be on the disk but not logically accessible when the
module reboots. The salvager does not attempt to verify the last_record_number
value against the actual contents of a file as it does not examine a files contents.
Similarly, modified file index blocks may not be written to disk at the same time as the
data blocks containing modified records associated with the index. At crash time, if the
index block is written but the data block is not, then an index entry may point to a
nonexistent or invalid data record location, or to the wrong data record. If the data block
is written but the index block is not, then a data record may not be pointed to by any
index entry, or the wrong index entry may point to the record. As a result, file accesses
through the index will return incorrect data.
7-7
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
* test_index
The test_index command invokes the test index subsystem. The test index
subsystem provides a series of tools to display the structure of an index and
determine whether you will need to re-create it. The test_index command will
help you determine whether the index itself has become corruptedit checks the
index file for internal consistency. To discover whether the data file that the index
references has become inconsistent with its index, you must use the
verify_index command.
* verify_index
The verify_index command uses the index file to exhaustively access its
accompanying data file, thereby revealing any inconsistencies between the two
files that must be repaired. Because verify_index tests every key in the index
to reference the data file, it executes considerably more slowly than test_index.
It is, however, faster than recreate_index.
Both test_index and verify_index are described in detail in Chapter 8,
Command Overview.
Re-creating File Indexes
After a crash, index keys may no longer point to the file data records they should. The
verify_index command checks for this inconsistency. If it discovers
inconsistencies, the recreate_index command rebuilds embedded-key indexes
from the data records in the file, ensuring that keys and records are consistent. Use this
command if your application reports errors when referencing an index, or if it points to
the wrong record identified by a key, or if some records have no corresponding key.
When files have been adjusted by the
-update_directory argument of the
7-9
7-10
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Chapter 8
Command Overview
8-
>system>maint_library>test_index
add the following line to your start_up.cm file.
Command Overview
8-1
broadcast
broadcast
8-
Purpose
The broadcast command sends a message to all login terminals on one or more
modules or throughout a system.
Display Form
----------------------------------- broadcast ---------------------------------message:
-module: ''
Command-Line Form
broadcast message
[-module modules]
Arguments
* message
Required
The text of the message to be broadcast. The message must be no longer than a
single terminal display line. When you give the message in the command line form,
it must be enclosed in apostrophes if it contains any spaces.
* -module modules
Specifies a module name or star name. To broadcast the message throughout all
the modules in the current system use the value * for modules. If you omit this
value, the operating system broadcasts the message to users on the current
module.
Examples
The following command sends throughout the system the message that is enclosed in
apostrophes.
broadcast
8-2
-module *
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
broadcast
The following command sends to all login terminals on module m2 the message that is
enclosed in apostrophes.
broadcast
-module %s1#m2
Related Information
See the description of the send_message command in VOS Commands Reference
Manual (R098).
Command Overview
8-3
patch_file
patch_file
Privileged
Purpose
The patch_file command changes a file without regard to its organization or
content.
Use of this tool requires detailed knowledge of internal
VOS file formats. (See the VOS Reference
Manual (R002) for information about VOS file formats.) It
is a repair tool designed to be used by knowledgeable
customers or service personnel.
Display Form
----------------------------------- patch_file ---------------------------------file_path_name:
block_num:
offset:
value:
-check
-long:
no
Command-Line Form
patch_file file_path_name block_num offset value
[-check check_value]
[-long]
Arguments
* file_path_name
The name of the file to be patched.
Required
* block_num
Required
The zero-origin number of the 4096-byte file block to be patched. (Note that
dump_file uses one-origin record numbers.)
8-4
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
patch_file
* offset
Required
The zero-origin offset of the word or longword within the specified file block to be
patched.
* value
Required
The new value. It must be four or eight hexadecimal digits representing either two
or four bytes of data.
* -check check_value
An optional argument that specifies the old value of the word or longword to be
patched. It must be four or eight hexadecimal digits representing either two or four
bytes of data. If the check_value value does not equal the present value at the
specified offset, then the patch is not applied. The default is to accept any value.
* -long
<CYCLE>
An optional argument that specifies that a message recording the offset, old value,
and new value is to be displayed. The default is to display no message.
Explanation
The patch_file command opens a file for exclusive update access in block I/O
mode, which permits it to operate on any file type. Any indexes on the file are ignored;
any changes made to the records of the file will not be reflected in any of the indexes.
Use the accompanying patch_index command to change an index.
Use of the -check argument is recommended to ensure that the location you are
changing has the expected value.
Access Requirements
You must be logged in as privileged and have write permission to a file in order to patch
it.
Examples
The following example changes the first line of the default system abbreviations
file. Specifically, it replaces the line
all
CD
by
current_dir
CD
by
current_dir
Note that the character represents a blank character. 66697273 is firs, 616C6C20
is all , 7420 is t , and 2020 is
. The patch begins in block 0 at offset 2
because the first two bytes of the file is a record control word.
Command Overview
8-5
patch_file
Example:
!copy_file >system>abbreviations abbrev.test -delete
!patch_file abbrev.test 0 2 66697273 -check 616C6C20
!patch_file abbrev.test 0 6 7420
-check 2020
Related Information
See the VOS Reference Manual (R002) for information on the internal formats of files
and file indexes.
See the VOS Commands Reference Manual (R098) for a description of the
dump_file command. It produces a hexadecimal dump of a files data blocks.
See the patch_index, recreate_index, test_index, verify_end_of_file,
and verify_index command descriptions in this chapter. All provide tools to analyze
and fix file problems.
8-6
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
patch_index
Privileged
patch_index
Purpose
The patch_index command changes the data in an index block without regard to its
organization or content.
Use of this tool requires detailed knowledge of VOS file
formats. (See the VOS Reference Manual (R002) for
information about VOS file formats.) It is a repair tool
designed to be used by knowledgeable customers or
service personnel.
Display Form
----------------------------------- patch_index --------------------------------file_path_name:
index_name:
block_num:
offset:
value:
-check:
-root_block:
-numeric:
no
-long:
no
Command-Line Form
patch_index file_path_name index_name block_num offset value
[-check check_value]
[-numeric]
-root_block root_block_value
[-long]
Arguments
* file_path_name
The path name of the file whose index is to be patched.
Required
Command Overview
8-7
patch_index
* index_name
The name of the index to be patched.
Required
* block_num
Required
The zero-origin number of the 4096-byte index block to be patched.
* offset
Required
The zero-origin offset of the word or longword within the specified index block to be
patched.
* value
Required
The new value. It must be a hexadecimal value representing either 4 or 8 bytes of
data.
* -check check_value
An optional argument that specifies the old value of the word or longword to be
patched. It must be four or eight hexadecimal digits representing either two or four
bytes of data. If the check_value value does not equal the present value at the
specified offset, then the patch is not applied. The default is to accept any value.
* -root_block root_block_value
Required
Use extreme care in determining and specifying the root
block number. You can easily render the index unusable.
If you do happen to use the wrong root block value, simply
patch the location back to the previous value in order to
respecify the correct root block value.
Specifies the value of the root block number for this index. The value specified will
become the new root block number for the index. The test_index commands
status request will display the root block number.
You can obtain the value of the current root block number by using the
verify_index command.
* -numeric
<CYCLE>
An optional argument that specifies that this is a numeric index. The default is no,
meaning that an alphanumeric index is displayed. This argument is needed only to
produce a readable display of formatted output; it does not affect the patching
process.
* -long
<CYCLE>
An optional argument that specifies that a message recording the offset, old value,
and new value is to be displayed. The default is to display no message.
Explanation
The patch_index command opens a file for exclusive update access in block I/O
mode, which permits it to operate on any file type. Any changes made to any of the
8-8
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
patch_index
indexes are local to that index; any key changes will not be reflected back to the file.
Use the accompanying patch_file command to change the file contents.
Stratus recommends using the -check option to ensure that the location you are
changing has the expected value.
Access Requirements
You must be logged in as privileged and have write permission to a file index in order
to patch it.
Examples
The following example swaps the first two keys in the system dictionary, rendering
them out of order.
!copy_file >system>system_dictionary dict.bad -delete
!patch_index dict.bad primary 1 14 0FD6 -check 0FDC -root_block 3
!patch_index dict.bad primary 1 1A 0FDC -check 0FD6 -root_block 3
Related Information
See the VOS Reference Manual (R002) for information on the internal formats of files
and file indexes.
See the VOS Commands Reference Manual (R098) for a description of the
dump_file command. It produces a hexadecimal dump of a files contents.
See the patch_file, recreate_index, test_index, verify_end_of_file,
and verify_index command descriptions in this chapter. All provide tools to analyze
and fix file problems.
Command Overview
8-9
recreate_index
recreate_index
Purpose
The recreate_index command re-creates embedded-key indexes of files.
Display Form
----------------------------------- recreate_index -----------------------------pathnames:
-index_names:
*
-max_num_processes: 5
-work_dir:
-brief:
no
-ask:
yes
-duplicate_path:
-recovery_macro:
-syserr:
yes
8-10
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
8-
recreate_index
Command-Line Form
recreate_index pathnames ...
[-index_names index_names] ...
[-max_num_processes number_of_processes]
-work_dir [pathname]
[-brief]
[-no_ask]
-duplicate_path [pathname]
-recovery_macro [pathname]
[-syserr]
Arguments
* pathnames
Required
The path names of one or more files, any of which may be star names, with indexes
to be re-created.
* -index_names index_names
Required
One or more index names, any of which may be star names, associated with the
files named by pathnames. The default is *, which means all embedded-key
indexes of all the files specified in the pathnames argument will be re-created.
* -max_num_processes number_of_processes
Required
Specifies the number of index creation processes that may be run simultaneously.
The default value is 5.
* -work_dir pathname
Specifies that the temporary work files created when the indexes are re-created
reside in the specified directory. The directory can be on the same or another disk
of the current module. If you specify the -work_dir argument but do not specify
pathname, recreate_index uses the current directory. If you do not specify a
work directory, the command uses the process directory of the current process.
* -brief
Suppresses the display of non-error information.
<CYCLE>
Command Overview
8-11
recreate_index
* -no_ask
<CYCLE>
Processes the indexes without prompting the user for confirmation. Use this
argument when issuing the recreate_index command from a batch process.
* -duplicate_path pathname
Specifies that invalid duplicate keys found in records read from the file(s) should
not be inserted into the index. Instead, information should be logged in the file
specified by pathname.
If the -duplicate_path argument is not specified and invalid duplicate keys are
encountered, the command will terminate immediately.
The duplicate path log file in pathname will contain information about all of the
indexes that were re-created sufficiently to locate the records containing the invalid
duplicate keys, as well as information about the record that the key (already in the
index) locates.
If the file contains no duplicate keys, or the indexes allow duplicate keys, the
duplicate path log file in pathname will be deleted when the command completes.
See the Examples section later in this command description for sample output of
-duplicate_path.
* -recovery_macro pathname
Helps prevent the loss of an index if recreate_index cannot re-create the index.
If you specify this argument, recreate_index writes a command macro that
uses the create_index command to re-create all indexes that
recreate_index could not re-create.
If recreate_index cannot create one or more indexes, it writes a warning to the
system error log file, (master_disk)>system>syserr_log.date, that
instructs the user to correct the problem and run the command macro. If
recreate_index can create the indexes, the command macro is deleted.
Note that recreate_index does not append a .cm suffix to the command macro
name if one is not present. The command does not create the command macro if
you specify -recovery_macro without a path name.
The command macro deletes any existing indexes and uses the start_process
command to start subprocesses, each of which runs create_index on the target
file with the arguments needed to re-create an index. The command macro
creates, in the same directory as the target file, the output files used by these
subprocesses to hold the index information. These output files are named
target_file_name.index_name.out. You must examine the output files to
ensure that all create_index commands completed successfully.
8-12
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
recreate_index
* -syserr
<CYCLE>
Causes recreate_index to write the information needed to re-create the
indexes to the >system>syserr_log.date log file before starting to re-create
the indexes. The default is yes. This process allows you to recover this information
from the syserr_log.date log file if a system interruption occurs during the
re-creation. Note that the command writes this information only to the
syserr_log.date log file, not to the system console monitor terminal.
Explanation
The recreate_index command performs three functions in one command. The
command specifies correct index parameters, deletes the old index, and creates a new
index. It also allows for interactive selection of the files and indexes.
Index rebuilding can be delayed for several hours if there is a pressing need to restart
applications immediately. However, indexed access to nontransaction-protected files
adjusted by the verify_end_of_file command may result in accessing the wrong
record, or in displaying file system error codes diagnosing index or file format errors.
The recreate_index command attempts to predict when the creation of an index will
fail, and does not attempt to re-create the index if this validation fails. This is done to
prevent deletion of an index. The indexes are created in parallel.
Because the recreate_index command creates temporary files, you must be sure
that you have sufficient disk space. In many cases, you can estimate the amount of disk
space required by multiplying the total number of index blocks by 1.5. This disk space
must be available on the disk containing the work directory.
After executing the recreate_index command, always execute the command
display_line (command_status) to display the current value of
command_status. The command_status value for the process is affected by this
command. When the command terminates, the (command_status) command
Command Overview
8-13
recreate_index
function can be tested for the following values. Other nonzero values are possible if
errors occur.
Status
Code
Meaning
None
1099
e$bad_index_defined
1279
e$abort_output
8-14
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
recreate_index
The recreate_index command does not validate pipe, stream, or transaction files.
Transaction protection must be turned off before using this command; however, this
command should not be needed for transaction-protected files. Implicit locking must be
turned off, and the file whose index you are trying to re-create must not be open when
using this command. The safety switch must also be turned off.
You must have write access to the files, and modify access to the directory
containing the files before executing this command.
The recreate_index can only process embedded-key indexes. Reserved system
indexes, record indexes, deleted-record indexes, separate key, embedded-separate
key, and item indexes cannot be processed. The number of components of the index
must be greater than zero. An embedded index with zero components is an invalid
index.
Examples
In the following examples, file_a has one index, file_b has two indexes, and
file_c has no indexes. In the first example, the recreate_index command
processes all the files in the directory interactively.
recreate_index *
%s1#m2>Sales>D_Jones>file_a
file organization: sequential file
last used: 93-03-04 09:32:49 EST
last modified: 93-03-03 09:05:33 EST
last saved: never
time created: 93-03-03 09:05:33 EST
transaction file: no
implicit locking: no
safety switch: no
next byte: 220
blocks used: 1
num indexes: 1
allocation size: 1
mode: w
author: D_Jones.Sales
(Continued on next page)
Command Overview
8-15
recreate_index
Do you want to continue with this file? (yes, no, info) info
%s1#m2>Sales>D_Jones>file_a
file organization: sequential file
last used: 93-03-04 09:32:49 EST
last modified: 93-03-03 09:05:33 EST
last saved: never
time created: 93-03-03 09:05:33 EST
transaction file: no
implicit locking: no
safety switch: no
next byte: 220
blocks used: 1
num indexes: 1
allocation size: 1
mode: w
author: D_Jones.Sales
Do you want to continue with this file? (yes, no, info) y
index name: a.1
key components: 1,3
type: embedded_key
collation: ascii
data type: nonvarying string
ascending: yes
duplicates: yes
null keys: no
automatic update: yes
blocks: 2
Do you want to continue with this index? (yes, no, info) y
%s1#m2>Sales>D_Jones>file_b
file organization: sequential file
last used: 93-03-03 10:39:52 EST
last modified: 93-03-03 09:05:42 EST
last saved: never
time created: 93-03-03 09:05:33 EST
transaction file: no
implicit locking: no
safety switch: no
next byte: 220
blocks used: 1
num indexes: 2
allocation size: 1
mode: w
author: D_Jones.Sales
(Continued on next page)
8-16
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
recreate_index
Command Overview
8-17
recreate_index
Creating index(es)...
Deleting index "a.1"...
Deleting index "b.2"...
Deleting index "b.1"...
Creating index "a.1" on file
%s1#m2>Sales>D_Jones>file_a
Create index complete for index "a.1" on file
%s1#m2>Sales>D_Jones>file_a
Creating index "b.2" on file
%s1#m2>Sales>D_Jones>file_b
Create index complete for index "b.2" on file
%s1#m2>Sales>D_Jones>file_b
Creating index "b.1" on file
%s1#m2>Sales>D_Jones>file_b
Create index complete for index "b.1" on file
%s1#m2>Sales>D_Jones>file_b
3 index(es) processed.
2 file(s) processed.
In the following example, recreate_index processes the indexes in file_b without
asking for confirmation and without displaying non-error information.
recreate_index file_b -brief -no_ask
Creating index(es)...
Creating index "b.2" on file
%s1#m2>Sales>D_Jones>file_b
Create index complete for index "b.2" on file
%s1#m2>Sales>D_Jones>file_b
Creating index "b.1" on file
%s1#m2>Sales>D_Jones>file_b
Create index complete for index "b.1" on file
%s1#m2>Sales>D_Jones>file_b
2 index(es) processed.
1 file(s) processed.
8-18
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
recreate_index
The following example shows the output format of the duplicate path log file.
file: %68k#m5>dir_1>dir_2>dir_3>huge_seq
index: index_1
duplicate key:
00000000 494E4445 585F315F 4B45595F 37
|INDEX_1_KEY_7
ignored in record number 4417 [1141x] at position 4417 [1141x]
(block 2 [2x] offset 320 [140x]):
00000000
00000010
00000020
00000030
4B45595F 37202020
5F325F4B 45595F37
4E444558 5F335F4B
2020202
494E4445
20202049
20202020
45595F37
585F315F
4E444558
20202049
20202020
|INDEX_1_KEY_7
|
|
INDEX_2_KEY_7|
|
INDEX_3_K|
|EY_7
|
First, the file is identified, followed by the index. Then, each invalid duplicate key is
identified with the following information.
a dump of the duplicate key
the position of the record where the invalid duplicate key was found
a dump of the record that has the invalid duplicate key
the position of the record currently located by the key
a dump of the record currently located by the key
The information presented is sufficient for you to correct the situation. For example, you
could delete the records with duplicate keys, or you could rewrite the records with a
new and unique key.
Related Information
See Chapter 7, Recovering from a Crash, for information about re-creating indexes
after a module interruption.
See the create_index, delete_index, and display_file_status command
descriptions in theVOS Commands Reference Manual (R098); all provide information
useful for analyzing file problems.
See the patch_file, patch_index, recreate_index, test_index,
verify_end_of_file, and verify_index command descriptions in this chapter.
All provide tools to analyze and fix file problems.
Command Overview
8-19
shutdown
shutdown
8-
Purpose
The shutdown command shuts down one or more modules and indicates the reason
for the shutdown.
Display Form
-------------------------------------- shutdown ---------------------------------current_module
-module:
-ask:
yes
-reboot:
no
-manual:
no
-disruptive:
yes
-by_customer:
yes
-reason:
unspecified
-from_slot:
-ioa_slot:
-ioa_device:
-from_device:
-from_partition:
Command-Line Form
[-no_disruptive]
[-no_by_customer]
[-reason string]
[-from_slot slot_number]
[-ioa_slot ioa_slot]
[-ioa_device ioa_device]
[-from_device multilevel_device_ID]
8-20
[-from_partition partition_number]
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
shutdown
Arguments
* -module module_name
Specifies one or more modules to be shut down. The value for module_name can
be a single module or it can be a module star name (*). The value * shuts down
all modules in the current system. If you omit this argument, the operating system
shuts down the current module.
* -no_ask
<CYCLE>
Asks you before shutting down each of the designated modules. The default is yes,
which means you are asked before a module is shut down.
* -reboot
<CYCLE>
Starts up each designated module immediately after the shutdown. Use this
argument to change the version of the operating system by switching to a different
partition or to make the system recognize table files. The default is no, which
means the module does not immediately reboot after a shutdown.
* -manual
<CYCLE>
Manually starts up each designated module immediately after shutdown. Use this
argument to perform a manual boot without physically entering the boot_manual
command from the system console. If you give this argument, you cannot give the
-from_slot argument. The default is no, which means the module does not
perform a manual start up after a shut down.
* -no_disruptive
<CYCLE>
Indicates that the shutdown is not disruptive to the normal operation of business.
The default is yes, meaning the shutdown is disruptive.
* -no_by_customer
<CYCLE>
Indicates that the shutdown is not initiated by the customer. The default is yes,
meaning that the shutdown is initiated by the customer.
Command Overview
8-21
shutdown
* -reason
<CYCLE>
Specifies the reason for the shutdown. The possible values follow.
unspecified
other
application_problem
system_problem
environment
maintenance
testing
installing_hardware
installing_software
reconfiguring
* -from_slot slot_number
Specifies the disk controller or IOP in a main chassis slot to be used for a module
reboot. Valid slot numbers are 0 through the highest numbered slot in the module.
If an IOP is specified, the -ioa_slot argument must also be given with the
command. If this argument is not given, the disk controller or IOP in the lowest
numbered main cabinet slot will be used. If you give this argument, you cannot give
the -manual argument.
This argument is valid on XA/R-series modules only. For Continuum-series
modules, use the -from_device argument.
* -ioa_slot ioa_slot
Specifies the slot number in the IOA chassis in which the IOA is mounted, for use
in a module reboot. If this argument is not given, the disk IOA in the lowest
numbered IOA chassis slot will be used.
8-22
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
shutdown
* -ioa_device ioa_device
Specifies the device number of the boot device (tape, disk, or link) connected to the
IOA specified in the -ioa_slot argument. If this argument is not specified when
either the -reboot or -manual argument is given, the boot will be performed
using the default boot device attached to the IOA specified in the ioa_slot
argument. This argument allows you to specify a device other than the default.
This argument is valid on XA/R-series modules only. For Continuum-series
modules, use the -from_device argument instead.
* -from_device multilevel_device_ID
Specifies the boot device on which to find the boot partition. The format of the
multilevel device ID is cc/ss/ee/dd, where cc is the controller slot number, ss is
the SCSS port number, ee is the peripheral enclosure number, and dd is the device
number. See VOS System Administration: Disk and Tape Administration (R284) for
more information. There is no default for this argument; if you specify
-from_device, you must also give a multilevel device ID. However, if -reboot
was specified or a reboot is going to automatically occur and -from_device is
not specified, then the system will boot off the same device it used the last time it
rebooted.
On Continuum-series modules, use -from_device instead of -from_slot,
-ioa_device, and -ioa_slot.
* -from_partition partition_number
Specifies the boot partition on the master disk from which to perform the startup.
This lets you use a partition other than the default boot partition.
Explanation
The shutdown command sends to TheOverseer process of each specified module
a request to shut down. For the purpose of tracking system availability, the command
also indicates a reason for the shutdown in an output statement verifying that the
module is shutting down. For example, if a customer or field engineer types in just the
command shutdown, the following output statement is displayed.
The reason for the shutdown is unspecified and is disruptive
to normal business.
The Overseer then issues a request for verification of the shutdown with the following
statement.
Do you really want to shutdown %s#m13? (yes, no)
Command Overview
8-23
shutdown
After the customer or field engineer types y to verify the shutdown, TheOverseer
process executes the command. Each module then broadcasts the following message
to its local terminals.
From Overseer: Module name shutdown at date.time
The arguments -disruptive, -by_customer, and -reason are called availability
tracking arguments and can be used to modify the text of the output statement.
The arguments -reboot, -manual, -from_device, -from_slot, -ioa_slot,
-ioa_device, and -from_partition are known as the reboot arguments. Entering
any one of these arguments indicates that a reboot is to be performed. Note, however,
that you cannot specify both the -manual and -from_slot (XA/R-series) or
-from_device (Continuum-series) arguments.
1. When executing the shutdown command with the
batch command, you must supply the
-no_restart argument of the batch command.
Otherwise, the batch process restarts and shuts down
the specified modules again when the module which
the batch process was running is started up.
2. Do not confuse issuing the shutdown command with
the emergency shutdown process, described in
Chapter 6, Shutting Down and Powering Off. The
shutdown command halts all processes on the
module in an orderly manner, and writes all cache
blocks to disk, preventing data loss. Issuing the
shutdown command is not considered a module
interruption.
Examples
In the following examples, only the command and arguments are shown. The
verification statements are not shown for each command example.
The following command shuts down all modules in the system without asking. The
command indicates no reason for the shutdown, so by default, the shutdown is
recorded as being disruptive to normal business operation.
shutdown
8-24
-module *
-no_ask
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
shutdown
The following command shuts down the current module due to an environmental
problem and automatically reboots it using boot partition 3. The shutdown is recorded
as being disruptive to normal business operations.
shutdown -reboot -disruptive -reason environment
-from_partition 3
The following command shuts down the current module and then does a manual
startup. The reason for the shutdown is that hardware is being installed, and the
shutdown is recorded as not being disruptive to normal business operations.
shutdown
The following command shuts down the current (XA/R-series) module and then does
a startup using the IOA in IOA chassis slot 1 which is connected to the IOP in main
cabinet slot 19. Since the -ioa_device argument is not specified, the default boot
device attached to the specified IOA is used. The module is recorded as being shut
down due to an application problem.
shutdown -reason application_problem -from_slot 19
-ioa_slot 1
The following command shuts down the current (XA/R-series) module and then reboots
it automatically using device 0 connected to the IOA in IOA chassis slot 2, attached to
the IOP in main cabinet slot 3, and using boot partition 5. No reason for the shutdown
is given.
shutdown -reboot -from_slot 3 -ioa_slot 2 -ioa_device 0
-from_partition 5
The following command shuts down the current (Continuum-series module) and then
reboots it using the device located at multilevel device ID 4/1/1/2. The command
does not specify a reason for the shutdown, but records the shutdown as being
nondisruptive to normal business operations.
shutdown
The following command shuts down the current (Continuum-series module) and then
reboots it automatically using the device located at multilevel device ID 4/1/1/2 and
using boot partition 5. No reason for the shutdown is given.
shutdown
-reboot
Related Information
See Chapter 6, Shutting Down and Powering Off.
Command Overview
8-25
test_index
test_index
8-
Purpose
The test_index command invokes the test index subsystem, a diagnostic tool used
to display information about an index.
Display Form
-------------------------------------- test_index -------------------------------No arguments required. Press ENTER to continue.
Command-Line Form
test_index
Explanation
The test_index command invokes the test index subsystem. Once you have
invoked the command, test_index prompts you with ti: to enter a request. To exit
the subsystem and return to command level, give the request quit.
The following test_index requests are available:
backward_index
check
convert_key
convert_key_range
create_buffer
delete_buffer
display_buffer
dump_buffer
dump_node
fill_buffer
forward_index
free
help
list_buffers
8-26
locate_record
look_at
names
position
quit
set_buffer_byte
set_buffer_length
set_buffer_longword
set_buffer_text
set_buffer_word
status
use
use_buffer
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
The requests are documented in five functional groups. The first group of requests
deals with the current test_index session.
help
names
quit
The second group of requests establishes a current index.
look_at
use
The third group of requests displays information about the specified index.
check
dump_node
free
status
The fourth group of requests allows the user to set up and alter a position within an
index.
backward_index
convert_key
convert_key_range
forward_index
locate_record
position
The fifth group of requests creates and modifies buffers for test_index requests.
create_buffer
delete_buffer
display_buffer
dump_buffer
fill_buffer
list_buffers
set_buffer_byte
set_buffer_length
set_buffer_longword
set_buffer_text
set_buffer_word
use_buffer
Related Information
See the patch_file, patch_index, recreate_index, verify_end_of_file,
and verify_index command descriptions in this chapter. All provide tools to analyze
and fix file problems.
Command Overview
8-27
test_index
Display Form
-------------------------------------- help --------------------------------------match:
Command-Line Form
Arguments
* -match string
Displays all the requests of the test_index subsystem that contain string. If
you omit this argument, all test_index requests are displayed.
Example
The following example invokes the help request without the -match argument.
backward_index
check
convert_key
convert_key_range
create_buffer
delete_buffer
display_buffer
dump_buffer
dump_node
fill_buffer
forward_index
free
help
list_buffers
locate_record
look_at
names
position
quit
set_buffer_byte
set_buffer_length
set_buffer_longword
set_buffer_text
set_buffer_word
status
use
use_buffer
The following example invokes the help request with the -match argument.
ti: help -match convert
convert_key
convert_key_range
8-28
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
--------------------------------------- names -----------------------------------No arguments required. Press ENTER to continue.
Command-Line Form
names
Explanation
The names request displays the name of each file looked at followed by the indexes
that have been accessed for that file. Since there is always a current index (unless the
list is empty), the names request specifies the current index by placing an asterisk (*)
next to its name.
Example
The following example shows the list of files looked at during the current session of
test_index.
ti:
names
* file: %s1#m3>Sales>Vanessa_Smith>indexes>ggg
*
index: one
file: %s1#m3>Sales>Vanessa_Smith>indexes>fff
index: one
index: oo
Command Overview
8-29
test_index
Display Form
----------------------------------------- quit ----------------------------------No arguments required. Press ENTER to continue.
Command-Line Form
quit
8-30
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
---------------------------------------- look_at --------------------------------file:
index:
Command-Line Form
look_at file_name index_name
Arguments
* file_name
Specifies the file whose index is to be examined.
* index_name
Specifies the index to be examined.
Required
Required
Explanation
The look_at request defines a file and index to be examined in the current
test_index session. It creates the data structures needed for examining an index,
and opens the index for the user. The index specified becomes the current index. The
Command Overview
8-31
test_index
data structures for the new index are added to a list of files/indexes that have been
defined during this test_index session.
If there is already a current index when the look_at request is specified, that index is
closed, but its data structures are not deallocated. Since test_index keeps a list of
all files and indexes specified during one session, the user can re-examine a previously
looked at index with the use request.
This request should not be used on indexes that are being modified. Modifications
made to the index cannot be seen during the current session, and some information
may be inconsistent.
This request does not produce any output unless the request is unsuccessful. Here is
the output from a successful look_at request.
ti:
ti:
8-32
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
----------------------------------------- use -----------------------------------file:
index:
Command-Line Form
use file_name index_name
Arguments
* file_name
Specifies the file whose index is to be examined.
Required
* index_name
Specifies the index to be examined.
Required
Explanation
The use request recalls a file and index to be examined. These files and indexes must
have been previously defined by the look_at request. This request does not produce
any output unless the request is unsuccessful. Here is the output from a successful use
request.
ti:
ti:
Here is the output from an unsuccessful use request in which a nonexistent file was
referenced.
ti: use fff one
use: Object not found. Error in 'pathname'.
Command Overview
8-33
test_index
Here is the output from an unsuccessful use request in which a nonexistent index was
referenced.
ti: use ggg two
use: Object not found. Error in 'index_name'. Use "look_at"
command.
To list the files that have already been defined by the look_at request, execute the
names request.
8-34
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
----------------------------------------- check ----------------------------------brief:
y es
-verify_record: no
-verbose:
no
-repair:
no
Command-Line Form
check
[-no_brief]
[-verify_record]
[-verbose]
[-repair]
Arguments
* -no_brief
<CYCLE>
Displays output in the long form. The default is yes, which suppresses most output
unless errors are found in the index.
When you invoke -no_brief, test_index displays a header for each node or
block. For branch nodes, this header consists of the node number. For leaf nodes,
this header consists of the leaf node numbers and of its siblings. A description of
any errors discovered pertaining to a block will immediately follow the nodes
header.
* -verify_record
<CYCLE>
If this argument is set to yes, the request checks the validity of each entry in the
index and its associated data record. If the -verbose argument is set to no (the
default value), the check request does not generate any output unless it finds
corrupted entries in the index. If a check request finds corrupted entries, the
Command Overview
8-35
test_index
request generates output for those entries, along with a description of the error in
each entry.
* -verbose
<CYCLE>
If this argument is set to yes and if you have also specified the -verify_record
argument, -verbose displays the key values for each record. The default value for
this argument is no.
* -repair
<CYCLE>
Specifies whether corrupted entries should be repaired. This argument has three
values: no, query, and all. If you specify the value no (the default value) for this
argument, no entries are repaired. If you specify the value query, then for each
corrupted index, you will be asked to verify whether the request should remove the
key from the index. If you specify the value all, the check request removes from
the index the keys for all corrupted records and generates a list of those removed
keys.
Explanation
The check request starts at the root of the index and walks the tree, checking for
consistency. The items checked by the check request include:
valid sibling pointers
valid index version
valid index depth
valid duplicate information
valid key entries
valid string storage
This request may report errors on an index being modified even though the index is
correct.
8-36
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Examples
Example 1: -no_brief
The following example shows information displayed using check -no_brief.
ti:
check -no_brief
node:
3
leaf:
leaf:
leaf:
leaf:
leaf:
dup:
leaf:
leaf:
leaf:
leaf:
leaf:
leaf:
leaf:
Index is ok.
1
2
4
5
13
14
12
11
6
7
8
9
10
left:
left:
left:
left:
left:
left:
left:
left:
left:
left:
left:
left:
left:
-1
1
2
4
5
13
14
12
11
6
7
8
9
right:
right:
right:
right:
right:
right:
right:
right:
right:
right:
right:
right:
right:
2
4
5
13
14
12
11
6
7
8
9
10
-1
The following example shows the information displayed using check on the same
index as in the example above.
ti: check
Index is ok.
Example 2: An Index with Errors
The following example shows the information displayed using check on an index with
errors.
ti: check
leaf:
11
left:
10
right:
12
check: Invalid index block in indexed file. Key out of order.
Key #: 7
Key: 16055N7750987
check: Invalid index block in indexed file. Key out of order.
Key #: 8
Key: 14658N9929733
check: Invalid index block in indexed file. Key out of order.
Key #: 10
Key: 14737C4643766
(Continued on next page)
Command Overview
8-37
test_index
right:
-1
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
key: PD
key: STTP
key: TN
key: UN
key: UTTP
key: ad
key: ado
key: alp
key: am
key: ap
key: arc
key: as
key: dt
key: dtd
key: dtp
key: dtt
key: ebk
.
.
.
key: xt
key: xt66
key: quent
key: quent
record
record
record
record
record
record
record
record
record
record
record
record
record
record
record
record
record
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
1790
7936
5292
5330
8010
1826
2258
4752
5000
5724
6192
6568
7326
7638
7756
7852
730
record
record
record
record
:
:
:
:
7430
7550
2616
2648
Command Overview
8-39
test_index
Display Form
--------------------------------------- dump_node -------------------------------node:
-physical: no
-hex:
no
Command-Line Form
dump_node node
[-physical]
[-hex]
Arguments
* node
Required
Specifies the number of the node to be dumped. This is the physical block number
of the index node.
* -physical
<CYCLE>
Prints information after the index block header. The output is a list of keys and the
record numbers to which they point. The default value is no, meaning the logical
format is displayed.
* -hex
<CYCLE>
Prints the information about the node in hexadecimal. The default is no, meaning
the node information is displayed in ASCII.
Explanation
The dump_node request displays the information found in an index node. This request
may report errors on an index being modified even though the index is correct.
8-40
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Example
The following example shows the information stored in an index node, displayed in
logical format.
ti:
dump_node 5
Block Number:
Version:
Level Number:
Dup Block:
Dup on Left:
Dup on Right:
Root Block:
Long Value:
Squish String Area:
Storage Reserved:
MBZ:
Left:
Right:
Far Right:
Number of keys:
Bottom Key Area:
Top String Area:
Im Commit Id:
5
5
1
FALSE
FALSE
FALSE
FALSE
TRUE
TRUE
TRUE
FALSE
4
13
-1
9
54
3946
0000000000000000
Keys:
aaaaaaabbj
aaaaaaabbk
aaaaaaabbl
aaaaaaabbm
aaaaaaabbn
aaaaaaabbq
aaaaaaabbr
aaaaaaabbs
aaaaaaabbt
711
712
713
714
715
718
719
720
721
Command Overview
8-41
test_index
The following example shows the information stored in an index node displayed in
physical format. This is the same index node displayed previously in logical format.
ti:
dump_node 5 -physical
Block Number:
Version:
Level Number:
Dup Block:
Dup on Left:
Dup on Right:
Root Block:
Long Value:
Squish String Area:
Storage Reserved:
MBZ:
Left:
Right:
Far Right:
Number of keys:
Bottom Key Area:
Top String Area:
Im Commit Id:
5
5
1
FALSE
FALSE
FALSE
FALSE
TRUE
TRUE
TRUE
FALSE
4
13
-1
9
54
3946
0000000000000000
Key entries:
key
storage
block
key
entry
offset
offset
value
-------------------------------------1:
0FD8x
0FECx
711
2:
0FCDx
0FE1x
712
3:
0FC2x
0FD6x
713
4:
0FB7x
0FCBx
714
5:
0FACx
0FC0x
715
6:
0F8Bx
0F9Fx
718
7:
0F80x
0F94x
719
8:
0F75x
0F89x
720
9:
0F6Ax
0F7Ex
72
(Continued on next page)
8-42
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
String space:
storage
block
key
key
offset
offset
length
string
--------------------------------------------------0F6Ax
0F7Ex
10
aaaaaaabbt
0F75x
0F89x
10
aaaaaaabbs
0F80x
0F94x
10
aaaaaaabbr
0F8Bx
0F9Fx
10
aaaaaaabbq
0F96x
0FAAx
22
deleted space
0FACx
0FC0x
10
aaaaaaabbn
0FB7x
0FCBx
10
aaaaaaabbm
0FC2x
0FD6x
10
aaaaaaabbl
0FCDx
0FE1x
10
aaaaaaabbk
0FD8x
0FECx
10
aaaaaaabbj
0FE3x
0FF7x
8
0000000000000000
Command Overview
8-43
test_index
The following example shows the information stored in an index node displayed in
hexadecimal logical format. This example is not related to the previous examples.
ti:
dump_node 1
-hex
Block Number:
Version:
Level Number:
Dup Block:
Dup on Left:
Dup on Right:
Root Block:
Long Value:
Squish String Area:
Storage Reserved:
MBZ:
Left:
Right:
Far Right:
Number of keys:
Bottom Key Area:
Top String Area:
Im Commit Id:
1
5
1
FALSE
FALSE
FALSE
TRUE
TRUE
FALSE
TRUE
FALSE
-1
-1
-1
334
2004
2342
0000000000000000
Keys:
3139313932
3139343634
33303132
33303331
33333031
47882
48238
48594
48950
49484
.
.
.
8-44
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
The following example uses the same node displayed in the previous example, but
displayed in hexadecimal physical format.
ti:
Block Number:
Version:
Level Number:
Dup Block:
Dup on Left:
Dup on Right:
Root Block:
Long Value:
Squish String Area:
Storage Reserved:
MBZ:
Left:
Right:
Far Right:
Number of keys:
Bottom Key Area:
Top String Area:
Im Commit Id:
1
5
1
FALSE
FALSE
FALSE
TRUE
TRUE
FALSE
TRUE
FALSE
-1
-1
-1
334
2004
2342
0000000000000000
Key entries:
key
storage
block
key
entry
offset
offset
value
-------------------------------------1:
0A9Ax
0AAEx
47882
2:
0A8Dx
0AA1x
48238
3:
0A82x
0A96x
48594
4:
0A77x
0A8Bx
48950
5:
0A66x
0A7Ax
49484
.
.
.
(Continued on next page)
Command Overview
8-45
test_index
String space:
storage
block
key
key
offset
offset
length
string
--------------------------------------------------0926x
093Ax
4
54522D33
092Bx
093Fx
4
54522D32
0930x
0944x
4
54522D31
0935x
0949x
9
534C32332D30313832
093Fx
0953x
9
534C32332D30313536
.
.
.
8-46
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
----------------------------------------- free ----------------------------------No arguments required. Press ENTER to continue.
Command-Line Form
free
Explanation
The free request displays the number of each free index map block and the blocks
designated as free in that free index map block. The free index map block is always
block 0 of an index. If more than 32,753 blocks are in an index, then another map block
is initialized in block 32,753.
Example
The following example shows which blocks in the current index are free.
ti:
free
Command Overview
8-47
test_index
Display Form
----------------------------------- status -------------------------------------No arguments required. Press ENTER to continue.
Command-Line Form
status
Explanation
The status request displays the name of the current file and index, the root block
number, the number of the last block in the index, the current index depth, and the
status of various flags in the indexs internal data structures
(root_block_modified, empty_index, entered_in_order, and
empty_index_valid).
Example
The following example shows information about the current index.
ti:
status
Status:
File:
%s1#m3>Sales>Vanessa_Smith>indexes>fff
Index:
one
Root Block No:
3
Root Block Modified: FALSE
High Block Used::
10
Cur Index Depth:
2
Empty Index:
FALSE
Entered in Order:
FALSE
Empty Index Valid:
FALSE
8-48
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
A range of values is used when locating a specific record. The low and high key values
specify the upper and lower bounds of this range. They are updated with the
convert_key and convert_key_range requests.
The other values of the position status are updated by the backward_index,
forward_index, and locate_record requests. The position request displays
the position.
The backward_index Request
The backward_index request moves the current position in the index backward by
the number of keys specified.
Display Form
------------------------------------ backward_index -----------------------------num: 1
Command-Line Form
backward_index [num]
Arguments
* num
Specifies the number of keys by which to move the current position backward. The
default is 1.
Explanation
The backward_index request moves the current position in the index backward by
the specified number of keys and displays the resulting position. Before issuing the
Command Overview
8-49
test_index
backward_index request, issue the position request to locate the current position
in the index.
Example
The following example shows the position in the index after the user has requested a
position backward of 9, from a position in the middle of the index.
ti: backward_index 9
Key:
"aaaaaaaadm"
Key Value: 90
Bmex:
1
Blockp:
00E9875C
Time Stamp: 0
Block No:
1
Key No:
91
Key Offset: 1
Low Key:
"000000000000000000000000000000000000000
00000
+000000000000000000000000000000000000000
0000000000000
+0000000000000000000000000000000000"
High Key:
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
The next example shows the position in the index after a position backward of 9 was
requested, from a position at the beginning of the index. In this case, the request simply
leaves the position at the beginning of the file.
ti: backward_index 9
backward_index: Beginning of file.
8-50
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
------------------------------------- convert_key -------------------------------key:
Command-Line Form
convert_key key
Arguments
* key
Required
The key to be converted. If you use buffers, convert_key can use the buffer text
for the key; see the next section, Buffer Management Requests, for more
information.
Explanation
The convert_key request displays the converted key. The key you specify is
converted into a form consistent with the index. This value is stored in the current key,
low key, and high key values for the index. These low key and high key values are used
in any subsequent locate_record request.
If you specify a key that is longer than the key defined in the current index, the
convert_key request displays the following message:
convert_key: The specified key is too long. Error in 'key'.
Example
The following example converts a key.
ti: convert_key 90
Key: "90"
Command Overview
8-51
test_index
In the following example, the key 444 is inserted in the current buffer, and is used by
the convert_key request.
ti:
ti:
444
ti:
Key:
8-52
set_buffer_text 0 444
display_buffer
convert_key
"444"
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
----------------------------------- convert_key_range ---------------------------key:
relation: eq
Command-Line Form
convert_key_range key
[relation]
Arguments
* key
Required
The key to be used in setting up a key range. If you use buffers,
convert_key_range can use buffer text for the key; see the next section, Buffer
Management Requests, for more information.
* relation
<CYCLE>
The relation to be used in setting up a key range. The possible values are:
Value
Equivalent
eq
KEY_EQ
gteq
KEY_GTEQ
gt
KEY_GT
peg
KEY_PREFIX_EQ
pgteq
KEY_PREFIX_GTEQ
pgt
KEY_PREFIX_GT
Explanation
The convert_key_range request displays the low key and high key values specified
by key and relation. These low key and high key values will be used in any
subsequent locate_record request.
Command Overview
8-53
test_index
If you specify a key that is longer than the key defined in the current index, the
convert_key_range request displays the following message:
convert_key_range: The specified key is too long. Error in
'key'.
Example
The output of this series of requests shows the results of convert_key_range for an
alphabetic key.
ti: convert_key_range a eq
Low Key: "a"
High Key: "a"
ti: convert_key_range a gteq
Low Key: "a"
High Key:
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
ti: convert_key_range a gt
Low Key: "a
!"
High Key:
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
ti: convert_key_range a peq
Low Key:
"a00000000000000000000000000000000000000
000000
+000000000000000000000000000000000000000
0000000000000
+0000000000000000000000000000000000"
High Key:
"aFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
ti: convert_key_range a pgteq
(Continued on next page)
8-54
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Low Key:
"a00000000000000000000000000000000000000
000000
+000000000000000000000000000000000000000
0000000000000
+0000000000000000000000000000000000"
High Key:
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
ti: convert_key_range a pgt
Low Key:
"b00000000000000000000000000000000000000
000000
+000000000000000000000000000000000000000
0000000000000
+0000000000000000000000000000000000"
High Key:
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
In the following example, the key xx is inserted in the current buffer and is used by the
convert_key_range request.
ti: set_buffer_text 0 xx
ti: display_buffer
xx
ti: convert_key_range
Low Key: "xx"
High Key: "xx"
ti: display_buffer
xx
For more information on the buffer requests, see the next section, Buffer Management
Requests.
Command Overview
8-55
test_index
Display Form
------------------------------------ forward_index ------------------------------num: 1
Command-Line Form
forward_index [num]
Arguments
* num
Specifies the number of keys by which to move the current position forward. The
default is 1.
Explanation
The forward_index displays the resulting position after the operation has been
performed. Before issuing the forward_index request, issue the position request
to locate the current position in the index. The information displayed is listed previously
in the section Requests That Set Up, Display, and Alter Position.
Example
The following example shows the position in the index after the user has moved
forward seven keys.
ti: forward_index 7
Key:
"Murphy"
Key Value: 488
Bmex:
1
Blockp:
00E2D2A6
Time Stamp: 0
Block No:
1
Key No:
7
Key Offset: 1
Low Key:
"00000000000000000000000000000000000000+
000000
(Continued on next page)
8-56
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
+00000000000000000000000000000000000000+
00+000000000000
+0000000000000000000000000000000000"
High Key:
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF+
FF+FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF+
FF+FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
The following example shows the position in the index after the user has requested a
position forward of 30, and forward_index encounters the end of the index.
ti: forward_index 30
forward_index: Positioned at end of file.
Command Overview
8-57
test_index
Display Form
------------------------------------- locate_record -----------------------------key_value: - 1
Command-Line Form
locate_record [key_value]
Arguments
* key_value
The value of the key to be located. When the default value is used,
locate_record finds the first record within the range specified by the
convert_key_range request. The default value is -1.
Explanation
The locate_record request displays the position status of the current index after the
operation has taken place. The information displayed is listed previously in the section
Requests That Set Up, Display, and Alter Position.
Example
The following example uses the convert_key_range and locate_record
requests to display information about a record.
ti: convert_key_range Tucker
Low Key: "Tucker"
High Key: "Tucker"
ti:
locate_record
Key:
"Tucker"
Key Value: 444
Bmex:
1
Blockp:
00E2D2A6
Time Stamp: 0
Block No:
1
Key No:
9
Key Offset: 1
Low Key:
"Tucker"
High Key:
"Tucker"
8-58
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
-------------------------------------- position ---------------------------------No arguments required. Press ENTER to continue.
Command-Line Form
position
Explanation
The position request displays information about the position status in the file.
Position status consists of:
current key
key value
index into internal buffer array (bmex)
block pointer
time stamp
block number of the block in which the current key is located
key number and key offset within the block of the current key
current low and high key values
Example
The following example shows the position of an index immediately after that index is
initially opened (by the look_at request).
ti: position
Key:
"Clough"
Key Value: 90
Bmex:
1
Blockp:
00E2D2A6
Time Stamp: 0
Block No:
1
Key No:
3
Key Offset: 1
(Continued on next page)
Command Overview
8-59
test_index
Low Key:
"00000000000000000000000000000000000000+
000000
+00000000000000000000000000000000000000+
00000000000000
+0000000000000000000000000000000000"
High Key:
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF+
FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF+
FFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
8-60
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
---------------------------------- create_buffer --------------------------------buffer_name:
buffer_size: 66
-display:
yes
-dump:
no
-ebcdic:
no
Command-Line Form
create_buffer buffer_name
[buffer_size]
[-no_display]
[-dump]
[-ebcdic]
Arguments
* buffer_name
Names the buffer to be created.
Required
* buffer_size
Specifies the size of the buffer. The default is 66 bytes, the maximum length in
decimal of a key.
* -no_display
<CYCLE>
Suppresses the display of the buffers contents. The default displays the
characters.
* -dump
Dumps the contents of the buffer. The default is no.
<CYCLE>
Command Overview
8-61
test_index
* -ebcdic
<CYCLE>
Displays the contents of the buffer as EBCDIC characters. The default is no, so the
characters are displayed as ASCII characters.
Example
This example creates a buffer and represents buffer characters as EBCDIC characters.
ti:
8-62
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
---------------------------------- delete_buffer --------------------------------buffer_name: c urrent_buffer
Command-Line Form
delete_buffer [buffer_name]
Arguments
* buffer_name
Specifies the buffer to be deleted. The default is the current buffer.
Required
Example
The following example deletes a specified buffer.
ti:
delete_buffer parts
Command Overview
8-63
test_index
Display Form
---------------------------------- display_buffer --------------------------------dump:
no
-ebcdic:
no
Command-Line Form
display_buffer [-dump]
[-ebcdic]
Arguments
* -dump
Dumps the contents of the buffer. The default is no.
<CYCLE>
* -ebcdic
<CYCLE>
Displays the contents of the buffer as EBCDIC characters. The default is no, so the
characters are displayed as ASCII characters.
Examples
The following example fills the current buffer with the letter S and displays the buffer.
ti: fill_buffer 4 10 53
ti: display_buffer
Buffer length = 20
00000000 00000000 53535353 53535353 53535353 |....SSSSSSSSSSSS|
00000010 53535353
|SSSS
|
The following example displays the same buffer with EBCDIC characters.
ti: display_buffer -ebcdic
Buffer length = 20
00000000 00000000 ABABABAB ABABABAB ABABABAB |................|
00000010 ABABABAB
|....
|
8-64
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
------------------------------------ dump_buffer ---------------------------------ebcdic:
no
Command-Line Form
dump_buffer [-ebcdic]
Arguments
* -ebcdic
<CYCLE>
Displays the contents of the buffer as EBCDIC characters. The default is no, so the
contents are displayed as ASCII characters.
Example
The following example fills the current buffer, then dumps it to the screen.
ti: fill_buffer 6 6 5B
ti: dump_buffer
Buffer length = 12
00000000 00000000 00005B5B 5B5B5B5B
|......[[[[[[
|......******
Command Overview
8-65
test_index
Display Form
------------------------------------ fill_buffer -------------------------------displacement:
length:
fill:
20
Command-Line Form
fill_buffer displacement length fill
Arguments
* displacement
Required
The byte, in hexadecimal, at which to begin filling the buffer. Byte numbering starts
at 0. A displacement of 0 means that filling starts at the beginning of the buffer.
* length
The number of bytes, in hexadecimal, to fill.
Required
* fill
Required
A hexadecimal character with which to fill the buffer. The default is 20 hexadecimal,
the space character.
Example
The following example fills a buffer with the letter j.
ti: fill_buffer 2 8 6A
ti: display_buffer
Buffer length = 10
00000000 00006A6A 6A6A6A6A 6A6A
8-66
|..jjjjjjjj
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
------------------------------------ list_buffers -------------------------------No arguments required. Press ENTER to continue.
Command-Line Form
list_buffers
Example
The following example lists the buffers in the current test_index session.
ti:
*
list_buffers
66
0
66
0
foo
The asterisk (*) marks the current buffer. The unnamed buffer is the buffer
test_index uses by default.
Command Overview
8-67
test_index
Display Form
---------------------------------- set_buffer_byte -----------------------------displacement:
data:
Command-Line Form
set_buffer_byte displacement data
Arguments
* displacement
Required
The byte, in hexadecimal, at which to begin filling the buffer. Byte numbering starts
at 0. A displacement of 0 means that filling starts at the beginning of the buffer.
* data
A hexadecimal string.
Required
Example
ti: set_buffer_byte 0 2
disp
fm to
000000 00 02
8-68
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
--------------------------------- set_buffer_length------------------------------length:
Command-Line Form
set_buffer_length length
Arguments
* length
Required
Specifies the length of the buffer in hexadecimal. The maximum length is 66.
Example
In the following example, the length of the buffer is set at 40.
ti:
set_buffer_length 40
Command Overview
8-69
test_index
Display Form
------------------------------- set_buffer_longword------------------------------displacement:
data:
Command-Line Form
set_buffer_longword displacement data
Arguments
* displacement
Required
The byte, in hexadecimal, at which to begin filling the buffer. Longword numbering
starts at 0. A displacement of 0 means that filling starts at the beginning of the
buffer.
* data
A hexadecimal string.
Required
Example
ti: set_buffer_longword 3 3
disp
from
to
000003 00202020 00000003
8-70
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
---------------------------------- set_buffer_text -----------------------------displacement:
text:
Command-Line Form
set_buffer_text displacement text
Arguments
* displacement
Required
The byte, in hexadecimal, at which to begin filling the buffer. Byte numbering starts
at 0. A displacement of 0 means that filling starts at the beginning of the buffer.
* text
An ASCII string.
Required
Example
The following example inserts the string authors in the current buffer.
ti: set_buffer_text 10 authors
ti: dump_buffer
Buffer length = 21
00000000 00000000 00000007 00000000 00000000 |................|
00000010 6E616D65 73
|authors
|
This request inserts text at the beginning of the buffer, without clearing the buffer of
existing text. If after inserting the string authors, you then insert 000, dump_buffer
displays the following string.
ti: set_buffer_text 10 000
ti: dump_buffer
Buffer length = 21
00000000 00000000 00000007 00000000 00000000 |................|
00000010 30303065 73
|000hors
|
Command Overview
8-71
test_index
Display Form
---------------------------------- set_buffer_word -----------------------------displacement:
data:
Command-Line Form
set_buffer_word displacement data
Arguments
* displacement
Required
The byte, in hexadecimal, at which to begin filling the buffer. Word numbering starts
at 0. A displacement of 0 means that filling starts at the beginning of the buffer.
* data
A hexadecimal string.
Required
Example
ti: set_buffer_word 2 00
disp
from to
000002 3600 0000
8-72
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
test_index
Display Form
----------------------------------- use_buffer ----------------------------------buffer_name: c urrent_buffer
Command-Line Form
use_buffer buffer_name
Arguments
* buffer_name
Specifies the buffer to use. The default is the current buffer.
Required
Example
The following example selects the previously created buffer code as the current buffer.
ti:
use_buffer code
Command Overview
8-73
verify_end_of_file
verify_end_of_file
8-
Purpose
The verify_end_of_file command verifies the placement of the end-of-file pointer
and updates the directory entry for the file.
Display Form
---------------------------------- verify_end_of_file ---------------------------pathnames:
-brief:
no
-update_directory: no
-ask:
yes
Command-Line Form
verify_end_of_file pathnames
[-brief]
[-update_directory]
[-no_ask]
Arguments
* pathnames
Specifies one or more file or star names to be verified.
* -brief
Suppresses the display of non-error information.
Required
<CYCLE>
* -update_directory
<CYCLE>
Using this argument modifies directory information
without the usual file system internal checks. Do not
8-74
(Privileged)
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_end_of_file
* -no_ask
<CYCLE>
Updates the directory entry without prompting you for confirmation.
Explanation
The verify_end_of_file command verifies the placement of the end-of-file
pointer, and updates the directory entry for the file. The verify_end_of_file
command can be invoked interactively or from a batch process or command macro.
When trying to determine where the end-of-file pointer is located, this command makes
some assumptions and may not work properly if the file does not fit these assumptions.
One important assumption is that the end-of-file pointer initially points to a valid record.
If it does not, then verify_end_of_file will probably fail in its attempt to examine
records beyond this invalid record location. In such a case, the command will report
that the original end-of-file location is the most likely value, and that no records could
be recovered.
The operating system disk and file I/O routines implement the concept of the unwritten
block. When space is allocated for a disk block, the directory entry for that block is
marked. If any attempt is made to read the block before it has first been written, the
software returns a block containing all FFx bytes.
The unwritten block affects the different file types in different ways.
In a sequential file, the control word -1 (FFFFx) signals the end-of-file.
In a relative file, the control word -1 signals a deleted record.
In a fixed file, the bytes of FFx are treated as data (by definition, there is no such
8-75
verify_end_of_file
Sequential Files
In a sequential file, the end-of-file pointer for the file contains the byte offset to the first
byte beyond the last record, and is called next_byte.
If the file contains n blocks and the pointer is to the first byte of block n+1, then the file
is assumed to exactly fill the blocks, and the end of file is considered valid.
Otherwise, the pointer must be to a 2-byte value (on an even byte boundary) that
contains -1 (FFFFx) for the end-of-file pointer to be considered valid.
If the current end-of-file pointer is not truly at the end of the data this command
assumes that at one time it was a valid end-of-file pointer, and that the new end-of-file
pointer is located beyond it.
The command repeatedly moves the pointer toward the end of the file, advancing the
pointer by looking at the record length control words at the front of each record. For a
record to be considered valid, the control words at the front and back of the record must
be identical. Otherwise, the verify_end_of_file command stops looking and
reports the point at which it found the discrepancy as the probable end-of-file.
If, at any time, a valid end-of-file pointer is encountered, that position will be reported
as the correct end-of-file.
Relative Files
In a relative file, the end-of-file pointer is called the last_record_number. It contains
the (1-origin) count of the number of records in the file. The following formula is used
to calculate the byte offset within the file of the first record located beyond the
end-of-file.
last_record_number * (max_record_size + 2 +
mod(max_record_size,2))
If the file contains n blocks and the pointer is to the first byte of block n+1, then the file
is assumed to exactly fill the blocks, and the end of file is considered valid. Otherwise,
the pointer is positioned towards the end of the file, moving (max_record_size + 2
+ mod(max_record_size, 2)) bytes each time. If only deleted records (those with
a control word of -1) are encountered, then the end-of-file pointer in the directory is
considered valid. If any intervening non-deleted data records are encountered, then the
8-76
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_end_of_file
command continues from the directory-recorded position to the end of the data blocks
until it finds a record that either contains an invalid length (less than -1 or greater than
max_record_size) or until the current record extends beyond the end of allocated
blocks.
This process may result in the verify_end_of_file command including some
extraneous records in the file. The extraneous records occur in the following cases.
The file at one time contained many records, but the s$truncate_open_file
subroutine was used to set the end-of-file pointer to a record in the middle of a
block. The verify_end_of_file command will consider all records that fit in the
block as valid records.
The block(s) between the directory end-of-file and the end of the allocated space
for the file, contain at least one valid record that is then followed by records filled
with FFx bytes. The verify_end_of_file command considers the bytes of FFx
as deleted records and positions the end-of-file pointer beyond them.
Fixed Files
In a fixed file, the end-of-file pointer is called the last_record_number. It contains
the (1-origin) count of the number of records in the file. The following formula is used
to calculate the byte offset within the file.
last_record_number * (max_record_size +
mod(max_record_size,2))
If the file contains n blocks and the pointer is to the first byte of block n+1, then the file
is assumed to exactly fill the blocks and the end of file is considered valid.
Otherwise, the pointer is positioned towards the end of the file, moving
(max_record_size + mod(max_record_size,2)) bytes each time. If only
deleted records (whose first two bytes are -1) are encountered, then the end-of-file in
the directory is considered valid. If any intervening nondeleted data records are
encountered, then the command continues from the directory-recorded position to the
end of the data blocks until the current record extends beyond the end of allocated
blocks.
Command Overview
8-77
verify_end_of_file
subroutine was used to set the end-of-file to a record in the middle of a block. The
verify_end_of_file command considers all records that fit in the block as
valid records.
The block(s) between the directory end-of-file and the end of the allocated space
for the file, contain at least one valid record that is then followed by records filled
with FFx bytes. The verify_end_of_file command considers the bytes of FFx
as deleted records and positions the end-of-file pointer beyond them.
The verify_end_of_file command also cannot operate on file indexes. When the
end-of-file pointer is repositioned by the -update_directory argument, and the file
has indexes, a warning is issued that the indexes need to be re-created. See the
recreate_index command for information on re-creating indexes after crashes.
After executing the verify_end_of_file command, always execute
display_line (command_status) to display the current value of
command_status. When the command terminates, the (command_status)
command function can be tested for the following values. Other nonzero values are
possible if errors occur.
Status
Code
Meaning
None
Normal termination.
1279
e$abort_output
1665
e$file_format_error
3019
m$abort_output
8-78
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_end_of_file
Examples
This section contains four examples of typical verify_end_of_file sessions. The
first example shows a sequential file whose end-of-file pointer is earlier than the actual
end-of-file.
verify_end_of_file file_1
%s1#m1>sales>file_1
file type: sequential file
last used: 93-04-08 10:17:08 est
last modified: 93-04-08 10:13:55 est
last saved: never
time created: 93-04-08 10:13:54 est
transaction file: no
implicit locking: no
safety switch: no
next byte: 73054 (00011D5Ex)
blocks used: 19 (00000013x)
num indexes: 0
allocation size: 1
mode: w
author: Gary_Jones.Sales
(Continued on next page)
Command Overview
8-79
verify_end_of_file
8-80
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_end_of_file
Command Overview
8-81
verify_end_of_file
8-82
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_end_of_file
The following example shows verify_end_of_file with a large file (that is, the last
byte is at an offset greater than 2**31 - 1).
verify_end_of_file big_file
%s1#m1>Sales>big_file
file type: relative file
last used: 93-04-08 09:04:19 est
last modified: 92-11-10 12:51:54 est
last saved: never
time created: 92-11-09 09:45:23 est
transaction file: no
implicit locking: no
safety switch: no
record size: 1
last record: 569916416 (21F83C00x)
blocks used: 32807 (00008027x)
num indexes: 0
allocation size: 1
mode: w
author: Gary_Jones.Sales
End of file appears to be correct.
WARNING: Only the end-of-file has been verified, not the
consistency/integrity of the data.
1 file(s) processed.
All files verified.
Command Overview
8-83
verify_end_of_file
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_end_of_file
Related Information
See the patch_file, patch_index, recreate_index, test_index, and
verify_index command descriptions in this chapter. All provide tools to analyze and
fix file problems.
Command Overview
8-85
verify_index
verify_index
8-
Purpose
The verify_index command validates the structure and (in some cases) the
contents of one or more indexes of indexed files.
Display Form
----------------------------------- verify_index --------------------------------pathnames:
-index_names: *
-error_limit: 20
-all:
no
-brief:
no
-ask:
yes
-dirty_input: no
-dump:
yes
Command-Line Form
verify_index pathnames ...
[-index_names index_names ...]
[-error_limit number]
[-all]
[-brief]
[-no_ask]
[-dirty_input]
[-no_dump]
Arguments
* pathnames
Required
The path names of one or more file names, any of which can be star names, to be
processed. There is no default value; you must specify at least one value. The files
you specify must reside on the current module.
8-86
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_index
* -index_names index_names
Specifies one or more index names, any of which may be star names, associated
with the files named by pathnames. The default is *, which means that
verify_index will process all indexes associated with the specified file(s).
* -error_limit number
Specifies the number of errors to be reported before the command aborts the
processing of an index. The value can be between 1 and 32,767. The default value
is 20.
* -all
<CYCLE>
Specifies whether all types of indexes are to be processed. If you specify the value
no (the default), only embedded-key indexes are verified. If you specify the value
yes, embedded-key indexes are verified and embedded separate-key,
separate-key, and item indexes are scanned to confirm index-structure integrity
only.
* -brief
<CYCLE>
Specifies the level of detail displayed for each file and index. If you set this
argument to yes, the command provides only a minimal amount of information.
(Note that error and statistical information are always displayed.) The default value
is no.
* -ask
<CYCLE>
Asks you if the command should process a file and/or an index. For batch
processes, the default value is no. For interactive processes, the default value is
yes, except that you are not asked to confirm processing of a single file, and you
are not asked about the processing of indexes if no star names are provided for the
index name(s).
* -dirty_input
<CYCLE>
Specifies that the verify_index command use the DIRTY_INPUT type. The
default value is no. This argument is required if the file is locked (other than
implicitly locked) by another process or if the file is a transaction file. See the VOS
Reference Manual (R002) for more information about file locking.
If you specify this argument, false errors might be reported
when the index changes as it is being processed by
verify_index. You should confirm these errors by
reprocessing the file with the -no_dirty_input
argument.
* -dump
<CYCLE>
Dumps the record area whenever verify_index detects an error. The default
value is yes. When a file is being scanned (as opposed to verifying an embedded
index), the record that is dumped might be the last record successfully accessed
rather than the one that caused the error, depending on the type of error.
Command Overview
8-87
verify_index
Explanation
The verify_index command is a tool provided in the >system>maint_library
directory for the use of system administrators, as well as Stratus Customer Service and
Customer Assistance Center personnel. This command attempts to validate the
structure (and, in some cases, the contents) of one or more indexes of indexed files.
To thoroughly check an index, you should also use the verify_index command with
the test_index command.
See the VOS Reference Manual (R002) for more information about file indexes.
8-88
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_index
The verify_index command opens the file for indexed access and reads the
records in the file in the order in which they appear in the index. The key in the index is
not compared with the data in the record, since verify_index has no knowledge of
the algorithm used to form some of the keys and cannot determine which types of keys
are involved. The verify_index command can only scan, not verify, the index;
however, the command does validate the indexs sequence.
Item Indexes
An item index contains no data records; the index entry that normally contains a key
and a record number instead consists of a key and a 32-bit value.
The verify_index command opens the file for indexed access and repeatedly calls
the s$get_item subroutine for each item until all items have been scanned. The
verify_index command can only scan, not verify, the index; however, the command
does validate the indexs sequence.
System Indexes
The file system can maintain two other types of indexes: a deleted-record index and a
record index. Both are used to reclaim the space when records are deleted. The
verify_index command cannot process either type of system index, and it will
bypass them if it encounters them.
Record Counts
When a file contains multiple indexes, verify_index can report different values for
the number of records processed via each index. This is explained by the fact that
indexes can suppress null keys (that is, keys containing only spaces).
Command Status
The verify_index command sets the command_status system variable to the
error e$invalid_index (1712) if it fails to validate or scan an index. This is a
pseudoerror status set by the command, not by the file system. Thus, this message
might not indicate an invalid index block; you should consult earlier error messages to
determine the exact cause of failure. The command does not set command_status if
a file is not found, or if the command bypasses files or indexes because of ineligibility.
This property of the command can be used within a command macro to log a message
to the system error log, and/or to inhibit the starting of application processes if any
index appears to be corrupted. For example:
&
8-89
verify_index
&
!verify_index customer_db -brief -no_ask
&set cs (command_status)
&if &cs& ^= 0
&then !log_syserr_message(string Verify Failed (message &cs&))
&
Performance
The verify_index command might take significant time to execute, as it must read
every disk block of every index before reading the record associated with every key.
The execution time of verify_index is comparable to the time necessary to
re-create all of a files indexes.
To avoid burdening Open StrataLINK, StrataNET, and/or StrataLINK, this command
accesses only files on the current module. If you specify a file that resides on a different
module, verify_index returns the error e$wrong_module (1069) and bypasses
the file.
Error Messages
After executing the verify_index command, always execute display_line
(command_status) to display the current value of command_status. The
command_status value for the process is affected by this command. When the
command terminates, the (command_status) command function can be tested for
the values shown in the following table. Other nonzero values are possible if errors
occur.
(Page 1 of 2)
8-90
Error
Code
Meaning
1052
e$invalid_file_type
1160
e$fixedoverflow
1069
e$wrong_module
1093
e$no_star_match
1164
e$overflow
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_index
(Page 2 of 2)
Error
Code
Meaning
1446
e$key_not_same
1574
e$no_indexes
1712
e$invalid_index
2508
e$invalid_numeric_key
2607
e$reserved_index
2802
e$fault_limit_exceeded
2911
e$invalid_char_var_key
2927
e$invalid_transfile_op
3080
e$no_alloc_user_heap
3398
e$invalid_pipe_operation
3480
e$invalid_index_type
Examples
This section contains examples illustrating how to use the verify_index command.
Example 1: Processing a Single File
The following example illustrates how to process a single file.
verify_index test_file.fix -no_ask
%se#d01>Work>Brown>files>test_file.fix
Command Overview
8-91
verify_index
file organization:
last used:
last modified:
last saved:
time created:
transaction file:
log protected:
implicit locking:
safety switch:
record size:
last record:
blocks used:
num indexes:
allocation size:
mode:
author:
fixed file
95-10-20 10:37:10 EDT
95-10-20 09:52:29 EDT
never
95-10-20 09:52:19 EDT
no
no
no
no
79
60
2
2
1
w
Brown.Stratus
Processing
%se#d01>Work>Brown>files>test_file.fix, index line_no.
key components:
6,4
type:
embedded_key
collation:
numeric
data type:
nonvarying string
ascending:
yes
duplicates:
no
null keys:
no
extent index:
no
automatic update:
yes
blocks:
2
root block:
1
high block used:
1
Verified 60 records via embedded key index line_no for file
%se#d01>Work>Brown>files>test_file.fix
(Continued on next page)
8-92
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_index
Processing
%se#d01>Work>Brown>files>test_file.fix, index data_1.
key components:
11,10
type:
embedded_key
collation:
numeric
data type:
nonvarying string
ascending:
yes
duplicates:
yes
null keys:
no
extent index:
no
automatic update:
yes
blocks:
2
root block:
1
high block used:
1
Verified 60 records via embedded key index data_1 for file
%se#d01>Work>Brown>files>test_file.fix.
Index(es) processed:
Index(es) verified:
Index(es) scanned:
2
2
0
EDT
EDT
EDT
EDT
8-93
verify_index
safety switch:
next byte:
blocks used:
num indexes:
allocation size:
mode:
author:
Do you want to continue?
no
57672
15
1
1
r
John_Lee.SysAdmin
(yes, no, info) y
fixed file
80-01-01 00:00:00
94-12-28 15:44:14
95-10-03 11:09:11
94-12-28 15:44:13
no
no
no
no
38
21
1
0
1
EDT
EDT
EDT
EDT
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_index
mode:
r
author:
Janet_Smith.SysAdmin
verify_index: The file has no indexes.+
%se#m49>system>modules.table
Bypassed file %se#m49>system>modules.table
----- File Totals ----1 file(s) examined.
1 file(s) bypassed.
1 file(s) processed.
0 file(s) verified.
------ Index Totals ---1 index(es) processed.
1 index(es) verified.
0 index(es) scanned.
Example 3: Separate-Key Index
The following example illustrates what happens when you do not specify the -all
argument and the command encounters a separate-key index.
verify_index >system>error_codes.text -brief
verify_index: Invalid index type. A separate_key index will not
be scanned without -all. number index of
%se#m49>system>error_codes.text
verify_index: Invalid index type. A separate_key index will not
be scanned without -all. name index of
%se#m49>system>error_codes.text
verify_index: Invalid index type. A separate_key index will not
be scanned without -all. name_to_number index of
%se#m49>system>error_codes.text
verify_index: Invalid index type. A separate_key index will not
be scanned without -all. number_to_name index of
%se#m49>system>error_codes.text
Warning: Only 0 out of 4 index(es) verified or scanned for file
%se#m49>system>error_codes.text.
----- File Totals ----1 file(s) examined.
0 file(s) bypassed.
1 file(s) processed.
0 file(s) verified.
------ Index Totals ---0 index(es) processed.
0 index(es) verified.
0 index(es) scanned.
Command Overview
8-95
verify_index
The following example illustrates how the command processes the file when you
specify the -all argument.
verify_index >system>error_codes.text -brief -all
Processing %se#m49>system>error_codes.text, index number.
Do you want to continue? (yes, no, info) y
Scanned 6726 records via index number for file
%se#m49>system>error_codes.text.
Processing %se#m49>system>error_codes.text, index name.
Do you want to continue? (yes, no, info) info
Index name:
name
type:
separate_key
collation:
ascii
data type:
varying string
ascending:
yes
duplicates:
no
null keys:
no
extent index:
no
blocks:
74
root block:
3
high block used:
72
Do you want to continue? (yes, no, info) y
Scanned 6726 records via index name for file
%se#m49>system>error_codes.text.
Processing %se#m49>system>error_codes.text, index+
name_to_number.
Do you want to continue? (yes, no, info) n
Processing %se#m49>system>error_codes.text, index+
number_to_name.
Do you want to continue? (yes, no, info) n
Warning: Only 2 out of 4 index(es) verified or scanned for file
%se#m49>system>error_codes.text.
----- File Totals ----1 file(s) examined.
0 file(s) bypassed.
1 file(s) processed.
0 file(s) verified.
------ Index Totals ---2 index(es) processed.
0 index(es) verified.
2 index(es) scanned.
8-96
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_index
Command Overview
8-97
verify_index
8-98
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_index
8-99
verify_index
8-100
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
verify_index
In the following example, the command can access the file if you specify the
-dirty_input argument.
verify_index company_db -brief -no_ask -no_dump -dirty_input
WARNING: dirty_input I/O might cause false error reports
verify_index: The specified separate key is not the same as
the embedded key.
%se#m3_bug>test_db_dir>company_db [primary]
Current position: 637 (0000027Dx)
Current key (hex):
45534920 20202020 20202020 20202020
(alpha):
ESI
Index key
(hex):
455349
(alpha):
ESI
Embedded key(hex):
50524158 4953
(alpha):
PRAXIS
FAILURE: UNABLE TO VALIDATE INDEX primary for file
%se#m3_bug>test_db_dir>company_db.
verify_index: The specified separate key is not the same as
the embedded key.
%se#m3_bug>test_db_dir>company_db [time_updated]
Current position: 637 (0000027Dx)
Current key
(hex):
10B1E03
(alpha):
`10`B1`E0:
Index key
(hex):
10B1E03A
(alpha):
`10`B1`E0:
Embedded key (hex):
10B44181
(alpha):
`10`B4A`81
FAILURE: UNABLE TO VALIDATE INDEX time_updated for file
%se#m3_bug>test_db_dir>company_db.
Warning: Only 0 out of 2 index(es) verified or scanned for+
file
%se#m3_bug>test_db_dir>company_db.
----- File Totals ----1 file(s) examined.
0 file(s) bypassed.
1 file(s) processed.
0 file(s) verified.
------ Index Totals ---2 index(es) processed.
0 index(es) verified.
0 index(es) scanned.
2 index(es) FAILED validation
Command Overview
8-101
verify_index
Related Information
See Chapter 7, Recovering from a Crash, for information about re-creating indexes
after a module interruption.
See the create_index, delete_index, and display_file_status command
descriptions in theVOS Commands Reference Manual (R098); all provide information
useful for analyzing file problems.
See the patch_file, patch_index, recreate_index, test_index, and
verify_end_of_file command descriptions in this chapter. All provide tools to
analyze and fix file problems.
8-102
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Appendix A
Control Panels
A-
This appendix describes the lights, buttons, and switches on the older Stratus 10-slot
XA/R Model 20 module control panel.
To activate a button on a module control panel, you must
hold the button down for at least 10 seconds. It may take
up to 10 seconds before a response occurs.
MANUAL OVERRIDE
IMMEDIATE
MANUAL
HALT & POWER
START UP
RESTART
OFF
OPERATING
SHUT
AUTO
DOWN START UP
STATUS DISPLAY
BATTERY
TEST/
PROBLEM
LEVEL 7
OFF
ON
POWER
AD0020
Figure A-1. Control Panel for the 10-Slot XA/R Model 20 Module
Control Panels
A-1
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
* TEST/PROBLEM Light
This red light comes on when a fault is detected during the modules operation.
During module startup, this light alternates with the green OPERATING light. When
the process TheOverseer is successfully started from module_start_up.cm,
the red light goes off. However, if power-on diagnostic tests detect trouble, the
TEST/PROBLEM light stays on.
* STATUS DISPLAY Panel
This LCD panel displays various messages from the operating system. The
messages that may be shown on the status display panel and their meanings are
as follows:
Booting release_number
Specifies the operating system release number being booted. It appears once
during a boot.
Salvaging logical_volume_name
Indicates that the system has booted as far as the manual boot command
level.
Shutdown request
Indicates that the SHUT DOWN button on the module has been pressed and
the module is being shut down.
PCP - dumping
A-3
Indicates that there are board or device errors. For slot_id, one of the
following is displayed:
the affected slot number of the chassis
one of these component names: Bus, BusA, BusB, Battery, Fan,
EvBulk, or OddBulk
For message, one of the following is displayed:
broken: The board is marked as broken.
failure: The board has a failure code.
missing: The board is marked as missing.
no devs: This board should have devices attached, but none are known.
dev err: Some device attached to the controller has an error, is broken,
or is missing.
A-4
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Control Panels
A-5
A-6
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Index
Misc.
. (dot) Continuum system console
command, 1-5
10-slot XA/R Model 20 module. See XA/R Model
20 10-slot module
A
analyze_system command, 5-6
list_boards request, 5-4
Analyzing system problems, 5-5
attempt_auto_recovery variable
changing the setting of, 5-9
determining the setting of, 5-8
-auto_boot switch, 5-7
AUTO START UP button, A-2
Automatic dumps, 5-7
Automatic reboot, 7-1, 8-21
Automatic recovery (continuous), 5-9
Automatic startup, 3-2, 5-7
completion of, A-4
troubleshooting, 3-2
B
backward_index request, test_index
subsystem, 8-49
BATTERY lights
10-slot XA/R Model 20 module, A-3
Blocks
in the disk cache, 7-7
unwritten, 8-75
written to disk, 7-7
Boards
checking after a crash, 7-2
failure, 5-5
inserting, 5-5
removing from service, 5-5
testing, 5-5
Boot partition, 3-2
Boot source for a link boot, 3-10
Index-1
Index-
Index
XA/R-series
CYCLE, 2-7
ENTER, 2-7
Bytes in buffers, 8-68
C
CAC, 5-5
saving files for, 5-6
Cache, 7-7
Changing the attempt_auto_recovery
setting, 5-9
check request, test_index
subsystem, 8-31, 8-35
Checking
disk salvage and recovery, 7-3
file recovery, 7-8
indexes for validity, 8-35
module hardware, 7-2
service processes, 7-5
Command macros
module_shut_down.cm, 6-1
module_start_up.cm, 4-1
Commands
analyze_system, 5-6
broadcast, 8-2
copy_kernel, 5-6
create_os_symtab, 3-12
dump, 5-7
dump_disk, 3-3
dump_file, 7-11
link_boot_server, 3-10
patch_file, 7-11, 8-4
patch_index, 7-11, 8-7
recover_disk, 7-4
recreate_index, 7-10, 8-10
reset_configuration, 5-5
salvage_disk, 7-3
shutdown, 6-1, 8-20
spooler_admin, 4-3
start_disk_recovery, 7-4
start_logging, 3-8
system console, 1-1
system process, 4-1
test_index, 7-9, 8-26
verify_end_of_file, 7-9, 8-74
verify_index, 7-9, 8-86
x25, 4-3
Index-2
Completion of startup
automatic, 5-7
manual, 5-7
Configuration tables
modifying, 3-8
Console controller, 1-1
Continuum module status lights, 1-9
Continuum system console, 1-1
. (dot) command, 1-5
boot_auto command, 1-3
boot_manual command, 1-3
commands, 1-1
help command, 1-3
history command, 1-5
hpmc_reset command, 1-5
hung system automatic recovery, 5-10
hung system manual recovery, 5-9
messages, 1-6
power_off command, 1-3
quit command, 1-5
reset_bus command, 1-4
restart_cpu command, 1-4
shutdown command, 1-3
status command, 1-5
Control panels
for 10-slot XA/R Model 20 modules, A-1
for Continuum-series modules, 1-1
for XA/R-series modules, 2-1
convert_key request, test_index
subsystem, 8-51
convert_key_range request, test_index
subsystem, 8-53
Converting
keys to strings in indexes, 8-51
string representations of keys, 8-53
copy_kernel command, 5-6
Crash, 7-1
checking boards after, 7-2
checking files after, 7-9
checking service processes after, 7-5
checking syserr_log.date file
after, 7-2
file recovery after, 7-6
hardware recovery after, 7-2
reboot, 7-1
create_buffer request, test_index
subsystem, 8-61
create_os_symtab command, 3-12
CYCLE button, 2-7
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Index
e$cant_open_os_symtab error
message, 3-12
e$corrupted_os_symtab error
message, 3-12
e$wrong_os_symtab error message, 3-12
eeprom_admin command, 5-8
Emergency shutdown, 6-3
End-of-file, 7-9
End-of-file pointer, 7-7, 7-9, 8-75
ENTER button, 2-7
Errors
messages
caused by uncreated symbol
tables, 3-12
spurious, 3-11
notification
signalling the hub, 5-5
writing to the hardware_log.date
file, 5-4
Evaluating the (command_status) command
function
after recreate_index, 8-14
after verify_end_of_file, 8-78
after verify_index, 8-90
Executing module_start_up.cm, 3-9
Expiration time
setting, 5-6
F
File recovery, 7-8
Files
advantages of transaction protection
for, 7-7
checking after a crash, 7-9
end-of-file pointer, 7-7, 7-9
fixed
verifying the end-of-file, 8-77
indexes of
patching, 7-11, 8-7
re-creating, 7-10, 8-10
testing, 7-10, 8-26
verifying, 7-10, 8-86
patching binary versions, 7-11, 8-4
recovery of, 7-6
relative
verifying the end-of-file, 8-76
Index-3
Index
sequential
verifying the end-of-file, 8-76
transaction-protected
checking after crash, 7-8
verifying end-of-file pointer, 8-74
verifying the end of, 7-9
fill_buffer request, test_index
subsystem, 8-66
Filling buffers, 8-66
Fixed files
verifying the end-of-file, 8-77
forward_index request, test_index
subsystem, 8-56
free request, test_index subsystem, 8-47
H
HALT/RESTART button, A-2
Hardware checks after a crash, 7-2
Hardware requirements
for link boots, 3-9
hardware_log.date file, 5-4
help Continuum system console
command, 1-3
Help for index testing, 8-28
help request, test_index subsystem, 8-28
HH:MM module_name status message, 1-7,
2-6, A-4
history Continuum system console
command, 1-5
hpmc_reset Continuum system console
command, 1-5
Hung system, 5-8
Continuum-series
manual recovery, 5-9
XA/R-series module recovery, 5-11
I
IMMEDIATE POWER OFF button, 2-9, A-2
Indexes, 7-6
buffers for testing, 8-61
checking structure for validity, 8-35, 8-48
converting
keys to strings, 8-51
string representations of keys, 8-53
current position in, 8-59
listing all free blocks, 8-47
listing index node information, 8-40
locating records in, 8-58
Index-4
patching, 7-11
patching binary versions, 8-7
positioning in, 8-49, 8-56
re-creating, 7-10, 8-10
testing, 7-10, 8-26
verifying, 7-10, 8-86
Initializing the master disk, 3-6
L
last_record_number value, 7-9, 8-75
Length of buffers, 8-69
LEVEL-7 interrupt button
on Continuum-series, 1-4
on XA/R Model 20, A-4
on XA/R-series, 2-4
Lights
Continuum-series
board lights, 5-3
module status lights, 5-1
overview, 1-9
XA/R Model 20
BATTERY, A-3
OPERATING, A-3
TEST/PROBLEM, A-3
XA/R-series
BATTERY, 2-7
OPERATING, 2-7
TEST/PROBLEM, 2-7
unit failure lights, 2-7
Link boots, 3-4, 3-9
boot source, 3-10
hardware requirements for, 3-9
link boot server, 3-10
servers
invoking, 3-11
link_boot_server command, 3-10
list_buffers request, test_index
subsystem, 8-67
Listing
buffers, 8-67
index free blocks, 8-47
index node information, 8-40
information on current index, 8-48
Loading the operating system
from a link boot, 3-11
from the boot tape, 3-7
from the master disk, 3-2
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Index
locate_record request, test_index
subsystem, 8-58
Longwords in buffers, 8-70
M
manual boot ready status message, 1-6,
2-6, A-3
MANUAL START UP button, A-2
Manual startup, 3-3, 5-7, 8-21
completion of, 5-7
Master disks, 3-3, 3-5
labels
-auto_boot switch, 5-7
Master startup procedure, A-4
Messages
console controller, 1-7
error
caused by uncreated symbol
tables, 3-12
e$cant_open_os_symtab, 3-12
e$corrupted_os_symtab, 3-12
e$wrong_os_symtab, 3-12
spurious, 3-11
sending to all users, 8-2
status
Booting release_number, 1-6,
2-5
HH:MM module_name, 1-7, 2-6, A-4
manual boot ready, 1-6, 2-6, A-3
module_start_up, 1-6, 2-5
module_start_up complete, 1-6,
2-5
module_start_up.cm, A-3
overseer: Shutdown
started, 1-6
PCP - command, A-4
PCP - dumping, 1-6, 2-6, A-3
Recovering disk_name, 1-6, 2-5,
A-3
Salvaging
logical_volume_name, 1
-6, 2-5, A-3
Shutdown request, 1-6, 2-6, A-3
slot_id message, 1-7, 2-6, A-4
system console, 1-6
Modifying the module_start_up.cm file, 3-8,
4-2
Module interruption
rebuilding indexes after, 8-13
updating directory entries after, 8-75
Module status lights
Continuum, 1-9
module_shut_down.cm file, 6-1
module_start_up status message, A-3
module_start_up.cm file, 3-9, 4-1
editing, 4-2
executing, 3-9
for multimodule systems, 4-2
missing from >system, 3-2
modifying, 3-8
module_start_up.out file, 3-8
Modules
booting
from disk, 3-3
from tape, 3-3
over StrataLINK, 3-9
Continuum
control panel for, 1-1
control panels of, 1-1
10-slot XA/R Model 20, A-1
Continuum-series, 1-1
XA/R-series, 2-1
manual startup of, 5-7
number of slots in, A-1
powering off, 5-9, A-5
recovering from a crash, 5-6
sending messages to, 8-2
server, 3-9
shutting down, 6-1, 8-21
starting up, 3-1
multiple, A-4
Monitor terminals. See System console
Moving
position in index, 8-49
N
names request, test_index subsystem, 8-29
Naming boot tapes, 3-3
notify_hardware_error command, 5-4
Index-5
Index
P
Partitions
dump, 5-6
Partner disks
recovering, 7-4
patch_file command, 7-11, 8-4
patch_index command, 7-11, 8-7
Patching files and indexes, 7-11
PCP - command status message, A-4
PCP - dumping status message, 1-6, 2-6, A-3
PCP process, 5-7
Planned shutdown, 6-1, 7-7
position request, test_index
subsystem, 8-59
power_off Continuum system console
command, 1-3
Powering off modules, 5-9, A-5
Primitive Control Program, 5-7
Problem analysis
system, 5-5
Processes
diagnostic utility, 5-5
Overseer, 3-8, 7-5
service, 4-1
checking, 7-5
starting, 4-1, 4-3
Q
quit Continuum system console
command, 1-5
quit request, test_index subsystem, 8-30
Index-6
S
salvage_disk command, 7-3
Salvager
errors from, 7-3
Salvaging disks, 7-3
Salvaging logical_volume_name status
message, 1-6, 2-5, A-3
Saving
dump files, 5-6
files for the CAC, 5-6
Selecting buffers for test_index, 8-73
Sending messages to all users, 8-2
Sequential files
verifying the end-of-file, 8-76
Server module for link boot, 3-9
Server process for link boot, 3-10
Service processes, 4-1
checking after a crash, 7-5
starting, 4-3
set_buffer_byte request, test_index
subsystem, 8-68
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)
Index
set_buffer_length request, test_index
subsystem, 8-69
set_buffer_longword request,
test_index subsystem, 8-70
set_buffer_text request, test_index
subsystem, 8-71
set_buffer_word request, test_index
subsystem, 8-72
Setting expiration time, 5-6
SHUT DOWN button, A-2
Shutdown
command macro used during, 6-1
disruptive, 8-21
emergency, 6-3
initiated by administrator, 8-20
module, 6-1
planned, 6-1, 7-7
warning users of impending, 6-2
shutdown command, 6-1, 8-20
and the disk cache, 7-7
invoking from batch, 6-2
status message, 1-6
shutdown Continuum system console
command, 1-3
Shutdown request status message, 1-6,
2-6, A-3
slot_id message status message, 1-7, 2-6,
A-4
spooler_admin command
in module_start_up.cm, 4-3
start_disk_recovery command, 7-4
start_logging command, 3-9
Starting
service processes, 4-3
Startup, 3-1
after a crash, 5-6
automatic, 3-2, 5-7, 8-21
command macro used during, 4-1
completing, 3-9
manual, 3-3, 5-7, 8-21
completion of, 5-7
missing files during, 3-2
multiple module, A-4
over StrataLINK, 3-9
reading table files, 4-1
starting system service processes, 4-1
system initialization process failure
during, 5-11
Index-7
Index
T
Table files, 4-1
Tapes
booting from, 3-3
TEST/PROBLEM light, 3-2, 5-1
TEST/PROBLEM light (XA/R Model 20), A-3
test_index command, 8-26
backward_index request, 8-49
check request, 8-35
convert_key request, 8-51
convert_key_range request, 8-53
create_buffer request, 8-61
delete_buffer request, 8-63
display_buffer request, 8-64
dump_buffer request, 8-65
dump_node request, 8-40
fill_buffer request, 8-66
forward_index request, 8-56
free request, 8-47
help request, 8-28
list_buffers request, 8-67
locate_record request, 8-58
look_at request, 8-31
names request, 8-29
position request, 8-59
quit request, 8-30
set_buffer_byte request, 8-68
set_buffer_length request, 8-69
set_buffer_longword request, 8-70
set_buffer_text request, 8-71
set_buffer_word request, 8-72
status request, 8-48
use request, 8-33
use_buffer request, 8-73
Testing boards, 5-5
Testing file indexes, 7-10, 8-26
Text strings in buffers, 8-71
Transaction-protected files
and service recovery, 7-7
checking after crash, 7-8
Troubleshooting
a crash, 7-1
boards, 5-5
bus errors, 5-5
during automatic startup, 3-2, 3-3
file indexes, 8-10, 8-86
Index-8
link boots
limitations, 3-10
number of modules in a system, 3-9
manual boots from an IOP-based
device, 3-8
operating lights, 3-2
red lights, 5-4
system problems, 5-5
U
Unwritten blocks, 8-75
Updating directory entries, 8-75
use request, test_index subsystem, 8-33
use_buffer request, test_index
subsystem, 8-73
Users and messages, 8-2
V
Variables
attempt_auto_recovery, 5-8, 5-9
verify_end_of_file command, 7-9, 8-74
Verifying file indexes, 7-10, 8-86
Verifying the end of a file, 7-9
W
Words in buffers, 8-72
X
x25 command
in module_start_up.cm, 4-3
XA/R Model 20 10-slot module
AUTO START UP button, A-2
BATTERY light, A-3
control panel for, A-1
HALT/RESTART button, A-2
IMMEDIATE POWER OFF button, A-2
MANUAL START UP button, A-2
OPERATING light, A-3
SHUT DOWN button, A-2
TEST/PROBLEM light, A-3
XA/R-series module
control panel, 2-1
hung system recovery, 5-11
VOS System Administration: Starting Up and Shutting Down a Module or System (R282)