Document revision date: 30 March 2001

## OpenVMS Record Management Utilities Reference Manual

Order Number: AA-PV6QD-TK

## April 2001

This manual describes the Record Management utilities, including the Analyze/RMS_File utility, the Convert utility, the Convert/Reclaim utility, the Create/FDL utility, and the Edit/FDL utility. The manual also describes the File Definition Language (FDL) facility and the File Definition Language.

Revision/Update Information: This manual supersedes the OpenVMS Record Management Utilities Reference Manual, OpenVMS Alpha Version 7.2 and OpenVMS VAX Version 7.2

Software Version: OpenVMS Alpha Version 7.3
OpenVMS VAX Version 7.3

Compaq Computer Corporation
Houston, Texas

© 2001 Compaq Computer Corporation

Compaq, AlphaServer, VAX, VMS, and the Compaq logo Registered in U.S.
Patent and Trademark Office.

Alpha, OpenVMS, PATHWORKS, DECnet, and DEC are trademarks of Compaq Information Technologies Group, L.P. in the United States and other countries.

UNIX and X/Open are trademarks of The Open Group in the United States and other countries.

All other product names mentioned herein may be the trademarks or registered trademarks of their respective companies.

Confidential computer software. Valid license from Compaq required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license.

Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is provided "as is" without warranty of any kind and is subject to change without notice. The warranties for Compaq products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty.

ZK6027

The Compaq OpenVMS documentation set is available on CD-ROM.

Contents | Index

## Preface

## Intended Audience

This manual is intended for all programmers who use OpenVMS RMS data files, including high-level language programmers who use only their language's input and output statements.

## Document Structure

Chapter 1 describes the Analyze/RMS_File utility (ANALYZE/RMS_FILE) and consists of five sections:

- Description---Provides a full description of the Analyze/RMS_File utility.
- Usage Summary---Outlines the following ANALYZE/RMS_FILE information:

  > --Invoking the utility
  > --Exiting from the utility
  > --Directing output
  > --Copying and analyzing shared files

- Qualifiers---Describes ANALYZE/RMS_FILE qualifiers, including format, parameters, and examples.
- Commands---Describes ANALYZE/RMS_FILE commands, including format, parameters, and examples.
- Examples---Provides additional ANALYZE/RMS_FILE examples.

Chapter 2 describes the Convert utility (CONVERT) and consists of four sections:

- Description---Provides a full description of the Convert utility.
- Usage Summary---Outlines the following CONVERT information:

  > --Invoking the utility
  > --Exiting from the utility
  > --Directing output
  > --Executing commands over a network

- Qualifiers---Describes the CONVERT qualifiers, including format, parameters, and examples.
- Examples---Provides additional CONVERT examples.

Chapter 3 describes the Convert/Reclaim utility (CONVERT/RECLAIM) and consists of four sections:

- Description---Provides a full description of the Convert/Reclaim utility.
- Usage Summary---Outlines the following CONVERT/RECLAIM information:

  > --Invoking the utility
  > --Exiting from the utility
  > --Directing output
  > --Executing commands over a network

- Qualifiers---Describes the CONVERT/RECLAIM qualifier, /STATISTICS.

Chapter 4 describes in detail the File Definition Language facility (FDL). This chapter provides an overview and detailed descriptions about the File Definition Language. It describes in detail each file section and associated file attributes.

Chapter 5 describes the Create/FDL utility (CREATE/FDL) and consists of four sections:

- Description---Provides a description of the utility.
- Usage Summary---Outlines the following information:

  > --Invoking the utility
  > --Exiting from the utility

- Qualifiers---Describes the sole CREATE/FDL qualifier, /STATISTICS.
- Examples---Provides additional examples of implementing CREATE/FDL.

Chapter 6 describes the Edit/FDL utility (EDIT/FDL) and consists of four sections:

- Description---Provides a description of the Edit/FDL utility.
- Usage Summary---Outlines the following EDIT/FDL information:

  > --Invoking the utility
  > --Exiting from the utility

- Qualifiers---Describes the EDIT/FDL commands and qualifiers, together with related examples.
- Examples---Provides additional examples of implementing EDIT/FDL.

## Related Documents

The following manuals contain information that relates to the information in this manual:

- Guide to OpenVMS File Applications
- OpenVMS Record Management Services Reference Manual
- RMS Journaling for OpenVMS Manual

For additional information about Compaq OpenVMS products and services, access the Compaq website at the following location:

    http://www.openvms.compaq.com/

## Reader's Comments

Compaq welcomes your comments on this manual. Please send comments to either of the following addresses:

Internet | openvmsdoc@compaq.com
Mail | Compaq Computer Corporation OSSG Documentation Group, ZKO3-4/U08 110 Spit Brook Rd. Nashua, NH 03062-2698

## How To Order Additional Documentation

Use the following World Wide Web address to order additional documentation:

    http://www.openvms.compaq.com/

If you need help deciding which documentation best meets your needs, call 800-282-6672.

## Conventions

The following conventions are used in this manual:

Ctrl/ x | A sequence such as Ctrl/ x indicates that you must hold down the key labeled Ctrl while you press another key or a pointing device button.
PF1 x | A sequence such as PF1 x indicates that you must first press and release the key labeled PF1 and then press and release another key or a pointing device button.
`[Return]` | In examples, a key name enclosed in a box indicates that you press a key on the keyboard. (In text, a key name is not enclosed in a box.) In the HTML version of this document, this convention appears as brackets, rather than a box.
... | A horizontal ellipsis in examples indicates one of the following possibilities: Additional optional arguments in a statement have been omitted. The preceding item or items can be repeated one or more times. Additional parameters, values, or other information can be entered.
. . . | A vertical ellipsis indicates the omission of items from a code example or command format; the items are omitted because they are not important to the topic being discussed.
( ) | In command format descriptions, parentheses indicate that you must enclose choices in parentheses if you specify more than one.
[ ] | In command format descriptions, brackets indicate optional choices. You can choose one or more items or no items. Do not type the brackets on the command line. However, you must include the brackets in the syntax for OpenVMS directory specifications and for a substring specification in an assignment statement.
| | In command format descriptions, vertical bars separate choices within brackets or braces. Within brackets, the choices are optional; within braces, at least one choice is required. Do not type the vertical bars on the command line.
{ } | In command format descriptions, braces indicate required choices; you must choose at least one of the items listed. Do not type the braces on the command line.
bold text | This typeface represents the introduction of a new term. It also represents the name of an argument, an attribute, or a reason.
italic text | Italic text indicates important information, complete titles of manuals, or variables. Variables include information that varies in system output (Internal error number), in command lines (/PRODUCER= name), and in command parameters in text (where dd represents the predefined code for the device type).
UPPERCASE TEXT | Uppercase text indicates a command, the name of a routine, the name of a file, or the abbreviation for a system privilege.
`Monospace text` | Monospace text indicates code examples and interactive screen displays. In the C programming language, monospace type in text identifies the following elements: keywords, the names of independently compiled external functions and files, syntax summaries, and references to variables or identifiers introduced in an example.
- | A hyphen at the end of a command format description, command line, or code line indicates that the command or statement continues on the following line.
numbers | All numbers in text are assumed to be decimal unless otherwise noted. Nondecimal radixes---binary, octal, or hexadecimal---are explicitly indicated.

## Chapter 1
Analyze/RMS_File Utility

The Analyze/RMS_File utility (ANALYZE/RMS_FILE) allows you to examine, either with or without an interactive terminal dialogue, the internal structure of a Record Management Services (RMS) file. The Analyze/RMS_File utility can check the structure of the file for errors, generate a statistical report on the structure and use of the file, or generate a File Definition Language (FDL) file from a data file.

The Analyze/RMS_File utility also provides information about RMS Journaling for OpenVMS (RMS journaling) files marked for after-image journaling, before-image journaling, and, where applicable, information about the state of recovery units affecting RMS journaling files.

The Analyze/RMS_File utility provides a set of commands that you may use to analyze a file interactively.

FDL files created with the Analyze/RMS_File utility have special sections that contain statistics about the structure of the specified data file. You can use FDL files created with the Analyze/RMS_File utility in conjunction with other Record Management utilities.

On Alpha systems, the Analyze/RMS_File utility and its qualifiers and commands contain capabilities that allow them to use the features provided by extended file specifications. Extended file specifications features offer extended file naming and handling capabilities that enable OpenVMS Alpha systems to store, manage, serve, and access files across OpenVMS and Windows NT systems in a PATHWORKS environment. Specifically, extended file specifications provide the following features:

- Support a Files-11 volume structure, On-Disk Structure Level 5 (ODS-5), that provides a volume structure for creating and storing files with expanded file names
- Support additional character sets for naming files from file names that use the 8-bit ISO Latin-1 character set to the 16-bit Unicode (UCS-2) character set
- Support extended file names with file specifications exceeding the traditional 39.39 character limit up to a maximum of 255 characters
- Support preserving the case of file specifications created with the ODS-5 attributes
- Support deep, multilevel directory structures up to a maximum of 512 characters

For more information, see the OpenVMS Guide to Extended File Specifications.

## 1.1 Analyzing RMS File Structure Interactively

One of the most useful features of the Analyze/RMS_File utility is its interactive mode. You enter the interactive mode by specifying the /INTERACTIVE qualifier to the ANALYZE/RMS_FILE command; you then begin an interactive session, during which you can examine the structure of an RMS file. Enter the HELP command at the ANALYZE> prompt for help about the various commands available to you for traversing the file.

The Analyze/RMS_File utility treats the internal RMS file as a multilevel entity. All RMS files are identical, relative to the first two levels. Level 1 contains the file header and level 2 contains the file attributes.

Files marked for RMS journaling, level 2, include information relative to before-image journaling and after-image journaling, where applicable.

Some differentiation occurs at level 3. For sequential files, level 3 is the lowest level and it contains data records (see Figure 1-1) that ANALYZE/RMS_FILE can display individually. For relative files and indexed files, level 3 contains the file prolog.

Figure 1-1 Structure of Sequential Files

For relative files, level 4 contains data buckets that are accessible individually (see Figure 1-2). Using the Analyze/RMS_File utility, you can view the contents of each individual data bucket.

Figure 1-2 Structure of Relative Files

For indexed files, the Analyze/RMS_File utility presents you with two options at level 4: you can proceed down the path that begins with a level of area descriptors (see Figure 1-3) or you can choose the path that begins with a level of key descriptors (see Figure 1-4).

Figure 1-3 AREA DESCRIPTOR Path

Level 5 is the final level in a relative file. This level contains the record cells that are accessible individually. For indexed files, the contents of level 5 depend on whether you have chosen the area descriptor path or the key descriptor path:

- If you select the area descriptor path, level 5 is the lowest level and it contains reclaimed data records---that is, records that are effectively empty and are available for storing new data.
- If you select the key descriptor path, the Analyze/RMS_File utility gives you the option of either viewing the index root bucket or the data bucket for the selected key, or traversing the level laterally and viewing another key.

Figure 1-4 KEY DESCRIPTOR Path

When you choose to view the index root bucket, the next level down contains the index record for the selected key. After you view the index record, the Analyze/RMS_File utility provides you with direct access to the first data bucket for the selected key.

At the data bucket level, you can either view the data record or traverse the data level laterally and select another data bucket for the selected key.

The structure of an indexed file is more complicated than that of sequential and relative files. From the PROLOG level, the structure branches to the AREA DESCRIPTORs and the KEY DESCRIPTORs. Each AREA DESCRIPTOR describes the attributes and the virtual block numbers for the different file areas. The KEY DESCRIPTOR path contains the primary index structures (and data records) as well as the alternate index structures.

There are two types of record structures: primary records and alternate records. If you follow the primary index structure (key = 0), you find the primary record structures, which contain the actual data records (see Figure 1-5). You can examine the actual bytes of data in the record. If the record has been moved to another bucket as a result of a bucket split, you can examine the bucket to which the record reference vector (RRV) points. An RRV is a forwarding pointer that a record leaves behind in its former bucket location when it moves to a new bucket.

Figure 1-5 Structure of Primary Records

If you follow any of the alternate index structures, you find the alternate record structures, which contain the secondary index data records (SIDRs). A SIDR consists of an alternate key value and one or more pointers to the actual data records in the primary index structure (see Figure 1-6).

Figure 1-6 Data Buckets in the Alternate Index Structures

## 1.2 Using the Analyze/RMS_File Utility with DECnet for OpenVMS

The ANALYZE/RMS_FILE command is supported only for the examination of files accessible to OpenVMS RMS or RMS--11.

You use the ANALYZE/RMS_FILE command over a network to analyze the internal structure of a remote file in exactly the same way that you use it to analyze the internal structure of a local file. For example, you can specify the /FDL qualifier to generate an FDL file from the data file. Using other qualifiers, you can check the file structure for errors, generate a statistical report on the file's structure and use, or enter interactive mode to explore the structure of the file. However, you can specify only one of these qualifiers in each command.

Note that you need the NETMBX privilege to execute the ANALYZE/RMS_FILE command over a network.

## 1.3 Handling Error Conditions

You handle the Analyze/RMS_File utility errors for two general error categories: nonjournaling errors and journaling errors. Even if you do not have RMS Journaling software, you may find that you have imported files marked for RMS Journaling from another system or from other nodes within an OpenVMS Cluster.

### 1.3.1 Nonjournaling Errors

If you receive any of the Analyze/RMS_File utility error messages while analyzing a file interactively, the file has been corrupted by a serious error. Note that the Analyze/RMS_File utility errors are not listed in the OpenVMS system messages documentation because in all cases the user response to errors signaled by the Analyze/RMS_File utility is identical, as described in the following paragraphs.

If the application program encounters errors during noninteractive analysis, the Analyze/RMS_File utility returns to the program, as exit status, the first occurrence of the most severe error it encounters. For example, if a warning (A) and two errors (B and C) are signaled, then the first error (B) is placed in the DCL symbol $STATUS at image exit.

If you have had a hardware problem (for example, a power or disk head failure), then the hardware most likely caused the corruption.

If you have no hardware problems, then a software error may have been introduced through either the user software or the system software. First, verify the user software and computer operations. Possibly, data files may have been corrupted by a process being stopped abnormally; for example, if a STOP/ID or DELETE/ENTRY occurs in the midst of data processing.

One test of whether the problem is in the system software is to note the situations where errors occur. For example, if a particular application uses an unusual I/O sequence that seems to result in file corruption, it may be that the problem is in the system software. In a situation like this, you should attempt to reproduce the problem and note precisely the I/O sequence. This information, together with appropriate supporting information, should be submitted with a Software Performance Report (SPR).

In either case, try to fix the problem with the Convert utility, using the same file specification for both the input file and the output file. If this procedure does not yield the result you want, use the Backup utility to restore a backup copy of the file.

### 1.3.2 Journaling Errors

If RMS Journaling software is not installed on your system and you attempt to write to a file marked for journaling, the system issues the following error message:

    %RMS-F-JNS, operation not supported by RMS Journaling

If RMS Journaling software is installed and you receive this message, you attempted an operation that is not supported by RMS Journaling. For more information on handling RMS Journaling errors, see the RMS Journaling for OpenVMS Manual.

To turn off journaling in either case, use the following DCL command:

    $ SET FILE/NOAI_JOURNAL/NOBI_JOURNAL/NORU_JOURNAL

Note that the SET FILE commands for turning off journaling are available to users who do not have RMS Journaling software as well as to users who do. Another error condition may occur if you import a file marked for recovery-unit journaling that has active recovery units. This can happen when a file is not recovered properly before the volume is moved to your system.

If you try to back up the file, RMS issues the following error message:

    %BACKUP-E-OPENIN, error opening DISK$DATA:[USER]FILE.DAT;1 as input
    -SYSTEM-F-RUCONFLICT, another facility has active recovery units on file

To turn off the active recovery units, use the following DCL command:

    $ SET FILE/RU_FACILITY=RMS/NORU_ACTIVE

Note that this may leave the file in an inconsistent state with respect to recovery units because active recovery units are not rolled back (aborted).

Next | Contents | Index

| privacy and legal statement |
6027PRO.HTML