Backup and Recovery
Backup and Recovery
iSeries
Backup and Recovery
Version 5
SC41-5304-05
iSeries
Backup and Recovery
Version 5
SC41-5304-05
Note
Before using this information and the product it supports, be sure to read the information in
“Appendix I. Notices” on page 893.
Contents v
Restoring Journals . . . . . . . . . . . 248 Task 3–Determining Whether You Need to Apply
Steps before Deleting a Journal . . . . . . 249 Journaled Changes . . . . . . . . . . . 282
Restoring Journal Receivers. . . . . . . . 250 Task 4–Determining What Journal Receivers to Use 282
Steps before Deleting a Journal Receiver . . . 251 Task 5–Applying Journaled Changes for User
How the System Restores Programs . . . . . . 252 Journals . . . . . . . . . . . . . . . 284
Restoring Programs to a Different Release . . . 253 Task 6–Applying Journaled Changes for the
Restoring OPM Program Objects . . . . . . . 254 QAOSDIAJRN Journal . . . . . . . . . . 286
Restoring Save File Data. . . . . . . . . . 255 Task 7–Restoring Changed Documents and Folders 287
Restoring Spooled Output Files . . . . . . . 255
Restoring Licensed Programs . . . . . . . . 255 Chapter 12. Mirrored Protection
Restoring Documents and Folders . . . . . . 255 Recovery Actions . . . . . . . . . 289
RSTDLO Command Options . . . . . . . 255
System Actions for Permanent Errors . . . . . 289
Using Multiple Concurrent DLO commands . . 256
Suspending Mirrored Units. . . . . . . . . 290
Output from the RSTDLO Command . . . . 256
Resuming Mirrored Units . . . . . . . . . 291
Considerations and Restrictions . . . . . . 256
Replacing a Mirrored Unit . . . . . . . . . 292
Restoring Folders . . . . . . . . . . . 258
Using Spare Nonconfigured Units for
Renaming Documents When Restoring . . . . 258
Replacement. . . . . . . . . . . . . 294
Restoring OfficeVision/400 Mail and
Mirrored Protection Recovery Actions
Distribution Objects . . . . . . . . . . 258
Performed by the Service Representative . . . 296
How the System Restores Descriptive
Other Recovery Considerations for Mirrored
Information for DLOs . . . . . . . . . 259
Protection . . . . . . . . . . . . . 297
How the System Restores Authority and
Mirrored Protection Disk-Error Handling . . . 297
Ownership for DLOs . . . . . . . . . . 259
Missing Disk Units . . . . . . . . . . 298
When to Run the Rename Directory
Saving a Unit . . . . . . . . . . . . 299
(RNMDIRE) Command . . . . . . . . . 260
Restoring a Unit . . . . . . . . . . . 299
When to Run the Rename Document Library
Active Mirrored Load Source Failure . . . . 299
Object (RNMDLO) Command . . . . . . . 260
Unknown Unit 1 Status . . . . . . . . . 301
Recovery of Text Index Files for Text Search
Display Incorrect Licensed Internal Code Install 302
Services . . . . . . . . . . . . . . . 260
Restoring Objects in Directories . . . . . . . 261
Completing Recovery for the iSeries Integration for Chapter 13. How to Restore Your
Windows Server Product . . . . . . . . . 263 System Using Operational Assistant
Recovery for save performed with Integrated Tapes . . . . . . . . . . . . . . . 305
xSeries Server varied off . . . . . . . . . 263 How to Restore Your Libraries. . . . . . . . 306
Recovery for save performed with Integrated How to Restore Libraries That You Saved by Using
xSeries Server varied on . . . . . . . . . 264 a Backup List . . . . . . . . . . . . . 307
| Recovering Linux in a Partition . . . . . . 264 How to Restore Changed Objects That You Saved
Recovery Steps for OS/400 Enhanced by Using Operational Assistant . . . . . . . 308
Integration for Novell NetWare . . . . . . 264
Recovering a Domino™ Server. . . . . . . . 265 Chapter 14. How to Restore the
Recovering an entire Domino server . . . . . 265
System from the Save Storage Media . 311
Recovering Domino mail . . . . . . . . 266
Task 1–Powering Down the System and Loading
Recovering specific Domino databases . . . . 267
the Licensed Internal Code . . . . . . . . . 311
Restoring changed objects to a Domino server 267
Task 2–Restoring the Save Storage Tapes . . . . 312
Restoring a Windows server . . . . . . . . 270
Task 3–Responding to Messages . . . . . . . 314
Restoring the NWSD and disk drives for
Task 4–Completing the Restore Storage Operation 315
Windows server on iSeries . . . . . . . . 270
Task 5–Restoring Additional Information . . . . 318
Recovering Windows server files . . . . . . 273
Task 6–Restoring Program Temporary Fixes (PTFs) 318
Examples: How to address parts of Windows
How to Resume the Restore Storage Operation . . 318
server . . . . . . . . . . . . . . . 274
Restrictions When Using the Restore Command 275
How to Restore Program Temporary Fixes. . . . 278 Part 4. Release-to-Release Support 321
Contents vii
Exit Program for Receiving Journal Entries . . 433 Auxiliary Storage Considerations . . . . . . . 494
Using the Retrieve Journal Entry Command . . . 436 Main Storage Considerations . . . . . . . . 494
Using the Retrieve Journal Entries Example Remote Journal Function Environments 494
(QjoRetrieveJournalEntries) API . . . . . . . 437 Data Replication Environment . . . . . . . 494
Working With Pointers in Journal Entries . . . . 437 Hot-Backup Environment . . . . . . . . 497
| Working with entries which contain minimized Displaying Remote Journal Function Information 499
| entry-specific data . . . . . . . . . . . . 438 Managing the Remote Journal Function . . . . 499
| Data Area Considerations . . . . . . . . 439 Keeping Records of Your Remote Journal
| Database Physical File Considerations . . . . 439 Network . . . . . . . . . . . . . . 499
Using Journaling to Provide an Audit Trail . . . 439 Evaluating How System Changes Affect Your
Comparing Journal Images . . . . . . . . . 440 Remote Journal Network . . . . . . . . 499
Journal Receiver Chains . . . . . . . . . . 440 Maintaining Journal Receivers . . . . . . . 500
Using the Work with Journal Attributes Command 442 Save and Restore Considerations . . . . . . 500
Working with the Receiver Directory . . . . 442 Working with Journal Entries and the Remote
Inoperable Journal Receivers . . . . . . . 444 Journal Function . . . . . . . . . . . . 505
Applying and Removing Journaled Changes . . . 444 Retrieving Journal Entries from a Remote
How Applying and Removing Journaled Journal with Library Redirection . . . . . . 506
Changes Works with Referential Constraints . . 445 System Dependent Information . . . . . . 506
How Applying and Removing Journaled Retrieving Journal Entries from a Remote
Changes Works with Trigger Programs . . . . 446 Journal During the Catch-up Phase . . . . . 506
Applying Journaled Changes . . . . . . . 446 Retrieving Journal Entries with Commitment
Apply Journaled Changes (APYJRNCHG) Control Considerations . . . . . . . . . 507
Command Examples . . . . . . . . . . 448 Confirmed and Unconfirmed Journal Entries 508
Removing Journaled Changes . . . . . . . 450 IPL Considerations . . . . . . . . . . . 509
Remove Journaled Changes (RMVJRNCHG) Main Storage Considerations during IPL . . . 510
Command Examples . . . . . . . . . . 451 Journal Receiver ASP Considerations . . . . . 511
Actions of the APYJRNCHG or RMVJRNCHG Example: Remote Journal Function Recovery . . . 511
Command by Journal Code. . . . . . . . 452 Example Scenario Description . . . . . . . 513
Work with Journal (WRKJRN) Command Options 455
Recovery Options . . . . . . . . . . . 456 Chapter 22. Commitment Control . . . 525
Recovery of a Journaled Object Using Journaled Commitment Control Introduction . . . . . . 525
Changes . . . . . . . . . . . . . . 462 Terms Used with Commitment Control . . . . . 526
Recovery after Abnormal System End . . . . 462 Commitment Control Startup . . . . . . . . 527
Recovering When a Journal Is Damaged . . . 464 Lock-Level Parameter . . . . . . . . . 527
Recovering When a Journal Receiver Is Notify Object Parameter . . . . . . . . . 530
Damaged . . . . . . . . . . . . . . 465 Commit Scope Parameter . . . . . . . . 533
Commit Text Parameter . . . . . . . . . 539
Chapter 21. Remote Journal Function 467 Default Journal Parameter . . . . . . . . 539
Introduction to the Remote Journal Function . . . 467 Omit Journal Entries Parameter . . . . . . 540
Benefits of the Remote Journal Function . . . 467 Two-Phase Commit–Overview. . . . . . . . 540
Remote Journal Function Configuration Placing Resources Under Commitment Control . . 541
Examples . . . . . . . . . . . . . . 468 Types of Committable Resources . . . . . . 541
Supported Communications Protocols . . . . 470 Location of Committable Resources . . . . . 543
Release to Release Considerations . . . . . 471 The Commit Protocol of a Committable
Planning for the Remote Journal Function . . . . 472 Resource . . . . . . . . . . . . . . 544
Determining Which Journals are Good The Access Intent of a Committable Resource 544
Candidates for Remote Journals . . . . . . 472 Files Being Journaled under Commitment Control 545
Determining Which Communications Protocol Sequence of Journal Entries Under Commitment
and Delivery Mode to Use . . . . . . . . 472 Control . . . . . . . . . . . . . . . 545
How Do the Journal Attributes Affect the Commit Cycle Identifier . . . . . . . . . . 547
Remote Journal Function? . . . . . . . . 473 Commit and Rollback Operations . . . . . . 547
Setting up the Remote Journal Function . . . . 473 Roles in Commit Processing . . . . . . . 548
Preparing to use Remote Journal Function . . . 473 How the System Performs a Commit Operation 549
Adding a Remote Journal . . . . . . . . 474 How the System Performs a Rollback Operation 550
Activating and Inactivating a Remote Journal 479 Flow of Commit Processing . . . . . . . 551
Activating and Inactivating a Local Journal . . 487 Errors During Commit Processing . . . . . 554
Summary of the Journal Type, Delivery Mode, Changing the Commitment Definition to Not
and Journal State Interactions . . . . . . . 488 Wait for Outcome . . . . . . . . . . . 554
Removing a Remote Journal . . . . . . . 490 Changing the Commitment Definition to Not
Troubleshooting Errors . . . . . . . . . 491 Select a Last Agent . . . . . . . . . . 557
Performance Considerations . . . . . . . . 492
Contents ix
How to Change the Storage Threshold for the What the System Does When You Start Mirrored
System Auxiliary Storage Pool. . . . . . . . 673 Protection . . . . . . . . . . . . . 722
How to Move a Disk Unit to a Different Auxiliary Mirrored Protection Configuration Errors . . . . 722
Storage Pool . . . . . . . . . . . . . . 676 How to Stop Mirrored Protection . . . . . . . 723
How to Remove a Disk Unit from an Auxiliary
Storage Pool . . . . . . . . . . . . . . 678 Chapter 28. Working with Disk
How to Delete an Auxiliary Storage Pool . . . . 680 Compression . . . . . . . . . . . 725
How to Calculate Space Requirements for an
Introduction to Disk Compression . . . . . . 725
Auxiliary Storage Pool . . . . . . . . . . 681
Restrictions and Considerations . . . . . . 725
Task 1–Calculating the Current Storage Used 682
Disk Compression and Capacity . . . . . . 726
Task 2–Calculating Storage Needed . . . . . 683
Disk Unit Full Considerations . . . . . . . 728
How to Display the Objects in a User ASP . . . 684
How The System Responds to Disk Unit Full 728
Balancing an Auxiliary Storage Pool . . . . . . 685
SRC Code A6xx 0277 . . . . . . . . . . . 729
Capacity Balancing . . . . . . . . . . 685
User Action 1 . . . . . . . . . . . . 730
Usage Balancing . . . . . . . . . . . 685
User Action 2 . . . . . . . . . . . . 731
Hierarchical Storage Management (HSM)
User Action 3 . . . . . . . . . . . . 731
Balancing. . . . . . . . . . . . . . 685
User Action 4 . . . . . . . . . . . . 731
Transferring Objects between Auxiliary Storage
Examples of A6xx 0277 . . . . . . . . . 732
Pools . . . . . . . . . . . . . . . . 686
How to Start Disk Compression . . . . . . . 732
How to Move Authorities to a Different ASP 686
How to Stop Disk Compression . . . . . . . 735
How to Transfer a Library to a Different ASP 687
Procedural Sequences for Configuring Disks and
How to Transfer a Folder to a Different ASP . . 687
Protection . . . . . . . . . . . . . . 737
How to Transfer Journals and Objects to a
Adding a New I/O Compression-Capable
Different ASP . . . . . . . . . . . . 687
Storage Controller . . . . . . . . . . . 737
How to Create Objects in a Library User ASP 688
Adding Disk Units to an Existing
How to Place Journal Receivers in a User ASP 689
Compression-Capable Storage Controller . . . 738
How to Move Journal Receivers From an
Moving Disk Units from the System ASP to a
Overflowed User ASP . . . . . . . . . 690
User ASP . . . . . . . . . . . . . . 739
How to Reset a Journal with a Status of
Recovering from Error Codes . . . . . . . . 740
Overflowed . . . . . . . . . . . . . 691
Recovering from SRC 6xxx 7051 . . . . . . 740
How to Work with Nonlibrary User ASPs . . . . 692
Recovering from SRC 6xxx 7052 . . . . . . 741
Creating Objects in a Nonlibrary User ASP . . 692
Transferring an Object to a Nonlibrary User ASP 693
Transferring a Journal to a Nonlibrary User ASP 693 Chapter 29. Managing Auxiliary
Storage Pools . . . . . . . . . . . 743
Chapter 26. Working with Device Working with ASP Trace and ASP Balance. . . . 743
Capacity Balance . . . . . . . . . . . 744
Parity Protection . . . . . . . . . . 695
Hierarchical Storage Management (HSM)
Starting Device Parity Protection . . . . . . . 695
Balance . . . . . . . . . . . . . . 745
How to Start Device Parity Protection for a 9337
Usage Balance . . . . . . . . . . . . 745
Disk Array Subsystem . . . . . . . . . 695
ASP Trace . . . . . . . . . . . . . 746
How to Start Device Parity Protection for an
Determining adequate disk storage . . . . . . 746
Input/Output Processor . . . . . . . . . 699
Stopping Device Parity Protection . . . . . . 701
How to Stop Device Parity Protection for a 9337 Chapter 30. Creating Logical
Disk Array Subsystem . . . . . . . . . 701 Partitions . . . . . . . . . . . . . 747
How to Stop Device Parity Protection on an Preparing for Logical Partitions . . . . . . . 747
Input/Output Processor . . . . . . . . . 704 Hardware and Software Requirements for
How to Include a Disk Unit in Device Parity Logical Partitions . . . . . . . . . . . 747
Protection . . . . . . . . . . . . . . 705 Before You Partition Your System. . . . . . . 748
How to Exclude a Disk Unit from Device Parity Creating a Logical Partition. . . . . . . . . 749
Protection . . . . . . . . . . . . . . 707
How to Display Device Parity Status . . . . . 708 Part 9. Backup and Recovery
How to Enable Disk Units Attached to the MFIOP
to Use Device Parity Protection . . . . . . . 710 Tools and Techniques . . . . . . 757
Contents xi
xii OS/400 Backup and Recovery V5R1
Figures
1. Operations Navigator Display . . . . . . xx | 39. Hot-Backup Environment with Remote
2. Save commands and menu options . . . . 16 | Journal Function, and Application-Code
3. Save Menu–First Display . . . . . . . . 17 | Based Apply . . . . . . . . . . . . 468
4. ObjectConnect Job Flow . . . . . . . . 31 40. Broadcast and Cascade Remote Journal
5. Restore Procedures . . . . . . . . . . 40 Configurations . . . . . . . . . . . 469
6. Save procedures and restore procedures for file | 41. Typical Data Replication Environment with
systems . . . . . . . . . . . . . . 41 | Remote Journal Function. . . . . . . . 495
7. User ASP Configuration Before Failure 181 42. Typical Hot-Backup Environment with
8. User ASP Configuration After Restoring Remote Journal Function. . . . . . . . 498
Operating System . . . . . . . . . . 183 43. Journal Receiver Restore Characteristics and
9. User ASP Configuration After Reclaiming Remote Journal Types. . . . . . . . . 502
Storage . . . . . . . . . . . . . 184 44. Example Remote Journal Environment for
10. User ASP Configuration After Recovering Hot-Backup Recovery . . . . . . . . . 512
Isolated Journal Receiver. . . . . . . . 186 45. More unconfirmed journal entries present in
11. Restore Menu–First Display . . . . . . . 207 BJ1 than known in PJ1. . . . . . . . . 514
12. Sample Job Log for RSTAUT on a System in a 46. Switch-over processing. System S2 is now
Restricted State . . . . . . . . . . . 222 ready to allow applications to run. . . . . 516
13. Expanded Text for Message CPF3736 222 47. System S2 has assumed the role of the
14. Expanded Text for Message CPF3845 223 primary, and DB’ is now being updated. IPL
15. Sample Job Log for RSTAUT on a System in a processing has completed on system S1. . . 518
Non-restricted State . . . . . . . . . 223 48. State of the journals and databases just before
16. Expanded Text for Message CPF3845 224 starting to replay the changes back to the
| 17. Example: Restoring a Journaled Object to a original data, DB. . . . . . . . . . . 520
| Different Library . . . . . . . . . . 236 49. Preparing to let S1 again assume the role of
18. Example of a Database File with Two the primary system. . . . . . . . . . 522
Members . . . . . . . . . . . . . 237 50. Preparing to let S1 again assume the role of
19. Restoring a Copy of a File . . . . . . . 238 the primary system (continued). . . . . . 523
20. Restoring Database Files with Different 51. Overview of Commitment Control Process 527
Creation Dates . . . . . . . . . . . 239 52. Using multiple commitment definitions in a
21. Restoring Database Files with Different job . . . . . . . . . . . . . . . 538
Creation Dates . . . . . . . . . . . 240 53. Roles in Two-Phase Commit
22. Restoring Access Paths . . . . . . . . 244 Processing–Single-Level Tree . . . . . . 548
23. Restoring a Referential Constraint Network 246 54. Roles in Two-Phase Commit
24. An Object with Hard Links–Example 262 Processing–Multi-Level Tree. . . . . . . 549
25. An Object with a Symbolic Link–Example 263 55. Flow of Commit Processing without Any
26. Sample Recovery Time Line. . . . . . . 279 Optimization. . . . . . . . . . . . 552
27. Receiver Directory–Saving Attached Receivers 283 56. Flow of Commit Processing with Last Agent
28. Receiver Directory–Saving Detached Optimization. . . . . . . . . . . . 553
Receivers . . . . . . . . . . . . . 283 57. Wait for Outcome–Yes . . . . . . . . 556
29. How the System Is Saved with Operational 58. Wait for Outcome–No. . . . . . . . . 557
Assistant Backup . . . . . . . . . . 306 59. Flow of Commit Processing without Last
30. Recovery steps for restoring previous release Agent Optimization when agent votes OK to
user data to a new system . . . . . . . 333 leave out . . . . . . . . . . . . . 559
31. Overview of Synchronization Process 352 60. Flow of Commit Processing without Last
32. Edit Recovery for Access Paths Display 378 Agent Optimization when agent votes read
| 33. Journaling Overview . . . . . . . . . 385 only . . . . . . . . . . . . . . 561
34. First Parameter of RCVJRNE 61. Flow of Commit Processing with Vote
Command–Single-Entry Mode . . . . . . 435 Reliable optimization . . . . . . . . . 563
35. First Parameter of RCVJRNE 62. Routing Steps with Files under Commitment
Command–Block Mode . . . . . . . . 435 Control . . . . . . . . . . . . . 600
36. Creating a Journal Receiver . . . . . . . 441 63. Journal Entries for Transfer of Funds from
37. Work with Receiver Directory . . . . . . 443 Savings to Checking . . . . . . . . . 601
| 38. Hot-Backup Environment without Remote 64. Journal Entries for a System That Ended
| Journal Function, and Application-Code Abnormally . . . . . . . . . . . . 601
| Based Apply . . . . . . . . . . . . 468 65. Journal Entries for Rollback Changes 602
66. DDS for Physical File PRDMSTP . . . . . 603
Tables xvii
xviii OS/400 Backup and Recovery V5R1
About Backup and Recovery, SC41-5304-05
This book provides general information about recovery and availability options for
the IBM iSeries server. It describes the options available on the system, compares
and contrasts them, and tells where to find more information about them.
This book release contains minimal information about how to back up your server.
Look for comprehensive information about backing up your server on the iSeries
Information Center at the following Web site:
http://www.ibm.com/eserver/iseries/infocenter.
This new interface has been designed to make you more productive and is the
only user interface to new, advanced features of OS/400. Therefore, IBM
recommends that you useOperations Navigator, which has online help to guide
you. While this interface is being developed, you may still need to use a traditional
emulator such as PC5250 to do some of your tasks.
To select the subcomponents that you want to install, select the Custom installation
option. (After Operations Navigator has been installed, you can add
subcomponents by using Client Access Selective Setup.)
1. Display the list of currently installed subcomponents in the Component
Selection window of Custom installation or Selective Setup.
2. SelectOperations Navigator.
3. Select any additional subcomponents that you want to install and continue with
Custom installation or Selective Setup.
Operations Console
Many of the newer iSeries and AS/400e models do not have a Twinaxial
Workstation Controller, but are configured to use Operations Console instead.
Operations Console allows you to use a PC to access and control the system
console and the system control panel. If a system is configured to use Operations
Console, and that system undergoes a backup and recovery cycle, you will have to
perform the following steps:
1. Perform an initial program load (IPL) in Manual mode.
2. Use dedicated service tools (DST) to reconfigure the system so that it will
detect the PC console when you perform an IPL in Normal mode.
Detailed instructions on setting up Operations Console are in the document
Operations Console Setup.
Changes to this publication include, but are not limited to, support for the
following:
| v Expanded journaling that includes
| – data areas
| – data queues
| – IFS objects
| – additional journal attributes
| v Save and restore for digitally signed objects
| v Support for independent auxiliary storage pools
| v Support for save and restore of secondary partitions with Linux
Look for performance information that was included in previous versions of this
book in the Performance Capabilities Reference, SC41-0607 book. Access this book on
the Internet at this uniform resource locator (URL) address:
http://www.ibm.com/eserver/iseries/infocenter
You can download a printable Portable Document Format (PDF) version of each
topic in this section.
The iSeries Information Center contains the following topics for backing up your
system:
v Planning a backup and recovery strategy
v Setting up disk protection for your data
v Controlling system shutdown using a power-handling program.
v Getting your media ready to save your system
v Before you save anything...
v Saving your system with the GO SAVE command (also in “Saving your server
with the GO SAVE command” on page 15).
v Manually saving parts of your system
| v Saving your system while it is active
| v Saving to multiple devices to reduce your save window
Note:
IBM iSeries and AS/400e servers offer a wide range of recovery and availability
options. Your hardware or software includes some of the options. Others are
ordered separately. They are intended to help you do the following:
v Make your save operations faster and more efficient.
v Keep your system available for your users.
v Plan and manage your backup and recovery.
This chapter provides an overview of the options. The iSeries Information Center
provides comparisons of the options. Use this information to decide what other
options beyond the basics might be useful, affordable, and practical for your
situation. The overview of each option tells you where you can find more
information if that option appeals to you.
You can use commands and menu options to save individual objects and groups of
objects. You can use some save and restore operations while your system is active.
Other save and restore operations require that no other activity is occurring on the
system.
You can save and restore objects by using diskette, magnetic tape, optical media, or
a save file. You can also use communications capabilities or an optical connection
to save and restore objects with another system.
If your system is busy most of the time, you can use the save-while-active function
to reduce the time period that the system is unavailable while you are performing
save operations.
Tape Units–Overview
The iSeries and AS/400e servers offer many different types of tape units to meet a
variety of requirements for performance, capacity, and cost. In many cases, you can
attach enough tape drives with sufficient media capacity to save your entire system
without operator intervention. This allows a complete unattended save operation.
For more information about the tape units that are available to attach to your
system, call 1-800-IBM-CALL (1-800-426-2255). You can read about tape
performance in the Performance Capabilities Reference, ZC41–0607.
You can read more about using automated tape library systems with the iSeries
and AS/400e servers in the Automated Tape Library Planning and Management book
or point your browser to the following URL:
| http://www.ibm.com/eserver/iseries/service/brms.htm
|
|
Alternate Installation Device-Overview
Alternate Installation Device support allows you to perform installation and
recovery procedures using a combination of devices. Previously, these types of
activities could only be performed using devices attached to the first system bus.
Now, you can use a combination of devices that are attached on the first system
bus and on additional buses. The alternate installation device is not attached to the
first system bus.
If you use this function, the system uses existing support (a device on the first
system bus) to install or recover enough of the Licensed Internal Code required to
perform an IPL with IPL-type D. Then, using the new alternate installation device
support, the system continues the operation using media in the alternate
installation device. This new function supports installation and recovery from tape
media, such as SAVSYS tapes or distribution tapes which you created, that contains
Licensed Internal Code and may contain the operating system, licensed programs,
and data.
Some models, typically with 3590 tape devices attached, may see a performance
improvement when using an alternate installation device for save operations.
| You use a journal to define what objects you want to protect with journal
| management. This is often referred to as journaling an object. A journal receiver
| contains the entries (called journal entries) that the system adds when events
| occur that are journaled, such as changes to database files, changes to other
| journaled objects, or security-relevant events. See “Chapter 19. Planning and
| Setting Up Journaling” on page 383 for a list of object types that can be journaled.
You can use the remote journal function to set up journals and journal receivers on
a remote iSeries or AS/400eserver. These journals and journal receivers are
associated with journals and journal receivers on the source system. The remote
journal function allows you to replicate journal entries from the source system to
the remote system.
The main purpose of journal management is to assist in recovery. You can also use
the information that is stored in journal receivers for other purposes, such as:
| v An audit trail of activity that occurs for various objects on the system.
v Assistance in testing application programs. You can use journal entries to see the
changes made by a particular program.
You can read more about planning and setting up journal management in
“Chapter 19. Planning and Setting Up Journaling” on page 383. Information about
the remote journal function is provided in “Chapter 21. Remote Journal Function”
on page 467.
Access-Path Protection–Overview
An access path describes the order in which records in a database file are
processed. A file can have multiple access paths, if different programs need to see
the records in different sequences. If your system ends abnormally when access
paths are in use, the system may have to rebuild the access paths before you can
use the files again. This is a time-consuming process. To perform an IPL on a large,
busy iSeries or AS/400e server that has ended abnormally can take many hours.
You can use journal management to keep a record of changes to access paths. This
greatly reduces the amount of time it takes the system to perform an IPL after it
ends abnormally.
You can read more about SMAPP in “Chapter 18. Protecting Access Paths Using
System-Managed Access-Path Protection” on page 375.
You can use a combination of SMAPP and explicit journaling of access paths. The
system evaluates the protected and unprotected access paths to develop its strategy
for meeting your recovery targets for access paths.
“Chapter 19. Planning and Setting Up Journaling” on page 383 describes explicit
journaling of access paths.
Commitment Control–Overview
Commitment control is an extension of journal management that assists you in
keeping your database files synchronized. A single transaction on your system may
update more than one database file. If your system is in a network, a single
transaction may update files on more than one system.
You can read more about commitment control in “Chapter 22. Commitment
Control” on page 525.
ASPs allow you to isolate objects on one or more specific disk units. This may
reduce the loss of data due to a disk media failure. In most cases, only data that is
stored on disk units in the affected ASP is lost. However, when a disk unit fails,
the entire system is unusable until the disk unit is repaired, unless the failed unit
is protected by device parity protection or mirrored protection.
| You can read more about ASPs in “Chapter 25. Working with Auxiliary Storage
Pools” on page 669.
Mirrored Protection–Overview
If a disk failure occurs, mirrored protection is intended to prevent data from being
lost. Mirrored protection is a software function that uses duplicates of disk-related
hardware components to keep your system available if one of the components
fails. It can be used on any model of the iSeries or AS/400e server and is a part of
the Licensed Internal Code.
The system remains available during the failure if a failing component and the
hardware components that are attached to it are duplicated.
You can read more about mirrored protection in “Chapter 27. Working with
Mirrored Protection” on page 719.
Device parity protection is a hardware function that is available for some disk unit
subsystems and input/output processor features. This includes the 6502, 6512,
6751, and 6532 Input/Output Processors and the 9337 Disk Array Subsystem.
The models with device parity protection use a data redundancy technique to
protect the data. To improve performance the parity information in the disk unit
subsystems with device parity protection is spread across multiple units.
When a failure occurs on a disk unit subsystem that has device parity protection,
the data is reconstructed. The disk subsystem controller automatically reconstructs
the data from the active units in the disk unit subsystem. The system continues to
run while the data is being reconstructed.
When a failure occurs on a disk unit subsystem that does not have device parity
protection or mirrored protection, you cannot use the system until the disk unit is
repaired or replaced.
If possible, you should protect all the disk units on your system with either device
parity protection or mirrored protection. This prevents the loss of information
when a disk failure occurs. In many cases, you can also keep your system running
while a disk unit is being repaired or replaced.
You can read more about device parity protection in “Chapter 26. Working with
Device Parity Protection” on page 695.
Bus No Yes2 No
IOP No Yes2 No
Controller No Yes2 No
Power supply Yes1 Yes2 No
Disk drive Yes Yes No
1
Only on the 9337 Disk Array Subsystem.
2
Mirrored protection protects this component if your system has sufficient redundant hardware.
3
Checksum protection is no longer available, beginning with V3R6 of the OS/400 licensed program. It is
included for comparison purposes.
Normally, an uninterruptible power supply does not provide power to all work
stations.You should design your interactive applications to handle the loss of
communications with a workstation. Otherwise, system resources are used to
attempt to do error recovery for workstations that have lost power.
The programming language reference manuals provide examples of how to use the
error feedback areas to handle workstations that are no longer communicating with
the application. The Information Center describes how to develop programs to
handle an orderly shutdown of the system when the uninterruptible power supply
unit takes over.
Look for this information in the Backup, Recovery, and Availability topics at the
following Web site: http://www.ibm.com/eserver/iseries/infocenter.
Dual Systems–Overview
Installations with very high availability requirements use a dual-systems approach.
Some or all data is maintained on two systems. The secondary system can take
over critical application programs if the primary system fails.
| The most common method for maintaining data on the secondary system is
| through the use of journaling. Journal entries from the primary system are
| transmitted to the secondary system. A user-written program on the secondary
| system receives the journal entries and uses them to update journaled objects.
| A third method is to copy journal receivers to tape regularly. The journal receivers
| are then restored to the secondary system. A user-written program uses the journal
| entries to update the objects on the secondary system.
ObjectConnect–Overview
The ObjectConnect function provides the ability to move entire objects between
systems using an optical connection, a communications line, or a local area
network (LAN). The ObjectConnect function provides a set of save and restore
(SAVRSTxxx) commands. For example, you can use the SAVRSTLIB command to
save one or more libraries, send the libraries over an optical connection to a
specified system, and restore the libraries.
| Starting with V5R1, Backup Recovery and Media Services provides a graphical
| user interface for backup and recovery that is integrated into Operations
| Navigator. You can use Backup Recovery and Media Services to simplify and
| automate your backups and to manage your media.
Backup Recovery and Media Services keeps track of what you have saved, when
you saved it, and where it is saved. When you need to do a recovery, Backup
You can read more about Backup Recovery and Media Services in the Backup
Recovery and Media Services for iSeries, SC41-5345-02 book or on the Backup
Recovery and Media Services website at the following URL:
http://www.ibm.com/eserver/iseries/service/brms.htm
Administer the Tivoli Storage Manager from a client workstation that is attached to
an iSeries server. It can back up data from a variety of workstation platforms. You
can use the Backup Recovery and Media Services (BRMS/400) program to back up
user data to any Tivoli Storage Manager when the server in a client/server
environment. You can use Backup Recovery and Media Services for iSeries to
manage the data that you save on the Tivoli Storage Manager and to manage the
backup of the system data to local media.
You can read more about the Tivoli Storage Manager at the following Web site:
http://www.tivoli.com/support/storage_mgr/ad4serv.htm.
| BCRS recovery centers are equipped with the latest iSeries and AS/400e server
| technologies. They are staffed with technical experts to assist you in testing your
| recovery plan and performing a recovery in the event of a disaster.
| For more information about Business Continuity and Recovery Services, please call
| 1-800-599-9950, extension 206.
SYSMIG is a service offering to migrate your data from one iSeries server to
another iSeries server.
For more information about GIGMIG and SYSMIG, please call 1-800-IBM-4YOU
(1-800-426-4968).
If this is your first experience with your iSeries server, use the following
instructions to save all of the information on your iSeries server. Do this with the
GO SAVE menu options. The instructions in the book are the same as the
instructions in the Information Center.
You can browse the Information Center, or print out a copy of the information on
how to backup your entire iSeries server.
Note: To avoid data loss, if you have either of these products installed on your
system, please read this notice before upgrading to OS/400® Version 4,
Release 5 or later releases:
v 5769SA3 - OS/400 Integration for Novell NetWare
v 5769XZ1 - OS/2® Warpserver for AS/400
Once you install OS/400 Version 4, Release 5 or later releases, these
products will no longer work. You cannot use Restore License Programs to
load a previous release of these products onto a server with V4R5 or later
version of the operating system. To avoid losing data that depends on these
products, migrate that data from your server to an accessible location before
upgrading to Version 4, Release 5.
v For assistance in migrating your data to AS/400 Netserver, see the
redbook Advantage AS/400 NetServer, SG24-5196.
v For additional information, read the redpiece: Migration Options for:
OS/2 Warp Server for AS/400 and OS/400 Integration for Novell
NetWare.
v For alternative ideas to help migrate your data, see information APAR
II11689.
r
Menu option 21 of the GO SAVE command is the basis for all save strategies. This
option allows you to perform a complete save of all the data on your server. Once
you have used menu option 21, you can use other menu options to save parts of
the server, or to use a manual save process.
The following figure illustrates the commands and menu options you can use to
save the parts of the server and the entire server.
SAVE Save
Save Data
1. Files
2. Libraries
3. Documents and folders
4. Programs
5. Other objects
6. Changed objects only
7. Licensed programs
8. Security data
++ 9. Storage
10. Configuration
11. Objects in directories
The following topics describe how to use the menu options of the GO SAVE
command:
v “Change Save menu defaults with GO SAVE: Option 20” explains how to
customize the default GO SAVE command menu options.
v “Save your whole server with GO SAVE: Option 21” explains how to use menu
option 21 when performing a full system save.
v “Save system data with GO SAVE: Option 22” on page 19 explains how to save
your system data only after you perform a full save.
v “Save user data with GO SAVE: Option 23” on page 19 explains how to save
your user data only after you perform a full save.
v “Saving parts of your server with other GO SAVE command menu options” on
page 20 explains other automated GO SAVE command menu options.
v “Using GO SAVE: Options 21, 22, and 23” on page 20 provides you with
step-by-step instructions on how to use the GO SAVE command menu options.
| In order to change the defaults, you must have *CHANGE authority for both the
| QUSRSYS library and the QSRDFLTS data area in the QUSRSYS library.
When you enter the GO SAVE command, then select menu option 20, the server
displays the default parameter values for menu options 21, 22, and 23. If this is the
first time you have used option 20 from the Save menu, the server displays the
IBM-supplied default parameter values. You can change any or all of the parameter
values to suit your needs. For example, you can specify additional tape devices or
change the message queue delivery default. The server saves the new default
values in data area QSRDFLTS in library QUSRSYS. The server creates the
QSRDFLTS data area only after you change the IBM-supplied default values.
Once you define new values, you no longer need to worry about which, if any,
options to change on subsequent save operations. You can simply review your new
default options and then press Enter to start the save with the new default
parameters.
If you have multiple, distributed servers with the same save parameters on each
server, this option provides an additional benefit. You can simply define the
parameters from the Save menu, using option 20 on one server. Then, save the
QSRDFLTS data area, distribute the saved data area to the other servers, and
restore it.
Option 21 puts your server into a restricted state. This means that no users can
access your server and the backup is the only thing that is running on your server.
It is best to run this option overnight for a small server or during the weekend for
larger servers.
| Note: If you are saving information on independent disk pools, make sure that
| you have varied on the independent disk pools before using Option 21.
“Using GO SAVE: Options 21, 22, and 23” on page 20 provides you with
step-by-step instructions on how to save your entire server with menu option 21 of
the GO SAVE command.
“Using GO SAVE: Options 21, 22, and 23” on page 20 provides you with
step-by-step instructions on how to save your system data with menu option 22 of
the GO SAVE command.
“Using GO SAVE: Options 21, 22, and 23” provides you with step-by-step
instructions on how to save your user data with menu option 23 of the GO SAVE
command.
| Note: You can also set up a default so that whenever you select menu options
21, 22, or 23, the server will always use the reply list. To set up the
default, select menu option 20 from the Save menu. Specify Yes on the
Use system reply list option.
8. Select the option (21, 22, or 23) from the Save menu and press the Enter key.
A prompt display describes the function of the menu option that you selected.
9. After reading the prompt display, press the Enter key to continue. You are
shown the Specify Command Defaults display:
10. Type your choices for the Devices prompt. You can specify as many as four
tape media device names. If you specify more than one device, the server
automatically switches to the next tape device when the current tape is full.
You may select only one DVD-RAM optical media device.
The first device for options 21 and 22 should be your alternate IPL device. If
you are creating media to install on another server, the device must be
compatible with the alternate IPL device for that server. This ensures that the
server can read the SAVSYS media if you need to restore your Licensed
Internal Code and the operating system.
11. Type your choice for the Prompt for commands prompt. Specify N (No) if you
want to run an unattended save. Specify Y (Yes) if you want to change the
defaults on the SAVxxx commands.
Note: If you use DVD-RAM optical media for your save, the server sends
inquiry messages to the QSYSOPR message queue when it encounters
identical active files. The server sends the inquiry message for each
identical active file that it finds. See How optical media is different
Note: After the save operation completes, the server will not attempt to
remount the file systems.
Specify N (No) if you do not want all dynamically mounted file systems to be
unmounted. If you specify N, and you have mounted UDFSs, you will receive
a CPFA09E message for each mounted UDFS. The objects in the mounted UDFS
will be saved as if they belong to the mounted over file system.
17. Type your choice for the Print system information prompt. Specify Y (Yes) if you
want to print the system information. The system information may be useful
for disaster recovery. “Printing system information” on page 26 explains how
to print your system information manually without using the automatic GO
SAVE command menu option function.
18. Type your choice for the Use system reply list prompt. Specify Y (Yes) if you
want to use the system reply list when the server sends an inquiry message.
19. Press the Enter key. If you chose a later start time, your display shows
message CPI3716. The message tells when the save operation was requested
and when it will start. You cannot use the display until the save operation
completes. The input-inhibited indicator should appear. You have completed
the steps for setting up the save operation.
If you did not choose a later start time, continue with step 20. If the value for
QSYSOPR message queue delivery is *BREAK with a severity level of 60 or
lower, you must respond to the ENDSBS messages. This is true even if you
plan to run an unattended save operation specifying a start time of
*CURRENT.
20. If you responded Y to the system prompt, Prompt for commands, the End
Subsystem display appears. Type any changes and press the Enter key. While
the server is ending subsystems, you see the following messages. You must
respond to them if the QSYSOPR message queue is set to *BREAK with a
severity level of 60 or lower. Each message appears at least twice. Press the
Enter key to respond to each message.
a. CPF0994 ENDSBS SBS(*ALL) command being processed
If you responded N to the Prompt for commands prompt, skip to step 22.
21. When the server is ready to perform each major step in the save operation,
you are shown the prompt display for that step. The time between prompt
displays may be quite long.
For option 21 (Entire system) these prompt displays appear:
ENDSBS SBS(*ALL) OPTION(*IMMED)
SAVSYS
SAVLIB LIB(*NONSYS) ACCPTH(*YES)
SAVDLO DLO(*ALL) FLR(*ANY)
SAV DEV('/QSYS.LIB/media-device-name.DEVD') +
OBJ(('/*') ('/QSYS.LIB' *OMIT) +
('/QDLS' *OMIT)) +
UPDHST(*YES)
STRSBS SBSD(controlling-subsystem)
Type your changes at each prompt display and press the Enter key.
22. When the server sends a message that asks you to load the next volume, load
the next media and respond to the message. For example, if the message is the
following, load the next volume and then enter R (C cancels the operation):
Device was not ready or next volume was
not loaded (C R)
23. After the save completes, you should unmount user-defined file systems at
this point if you mounted them for the save operations.
Or
SIGNOFF *LIST
You have completed the save operation. Make sure that you mark all of your
media and store it in a safe, accessible place.
Look at the list to verify that you saved all copies of the log that you may
need later.
Note: The history (QHST) log contains information such as date created,
and the last change date and time. To get more information about the
history (QHST) log, select option 8 (Display file description) on the
Work with Files display.
c. To prevent confusion about the date of the log, select the Delete option on
the Work with Files display. Delete all but the current copies of the system
log. This step improves the performance of the SAVSYS command.
5. Print the system information. You can do this by two different methods:
a. Using the GO SAVE command, on the Specify Command Defaults display,
select Y at the Print system information prompt.
b. Use the PRTSYSINF command.
The following table describes the spooled files that the server creates. The
PRTSYSINF command does not create empty spooled files. If some objects or
types of information do not exist on your server, you may not have all of the
files listed below.
Table 2. Spooled Files Created by the server
Spooled File User Data Description of Contents
Name
QPEZBCKUP DSPBCKUPL List of all user libraries
QPEZBCKUP DSPBCKUPL List of all folders
QSYSPRT DSPSYSVAL Current settings for all system values
QDSPNET DSPNETA Current settings for all network attributes
QSYSPRT DSPCFGL Configuration lists
1
On your server, this spooled file might be in the QEZJOBLOG output queue.
When you use an ObjectConnect command, the system moves the object directly to
the target system without using save files or distribution queues. ObjectConnect
provides better performance than other methods for moving objects between
systems, and ObjectConnect does not require additional disk space to store an
intermediate copy of the object that is being moved.
Component Description
If you are using a fiber-optic bus, see the OptiConnect for OS/400 book.
Do These Things Before You Run ObjectConnect Commands: Whenever you start
your system, you must also start the ObjectConnect environment. You can include
these tasks in your startup procedures, or you can perform them manually.
If your systems are connected with OptiConnect/400, continue with ″How the
System Runs an ObjectConnect Command″.
You can view the ObjectConnect job by working with the subsystem. Type
WRKACTJOB SBS(QCMN) if your systems are linked with communications support.
Type WRKACTJOB SBS(QSOC) if your systems are linked with OptiConnect/400. You
are shown the Work with Active Jobs display:
Work with Active Jobs AS009
03/31/95
CPU % .0 Elapsed time: 00:00:00 Active Jobs 60
You can use the Work with Configuration Status (WRKCFGSTS) command to see
the activity on the communications or LAN link:
Work with Configuration Status AS009
03/31/95
Position to . . . . . __________ Starting characters
When you copy your configuration by using the SAVRSTCFG command, the
system saves and restores the following object types:
Note: Look for comprehensive information about how to save your iSeries server
on the Information Center. “Prerequisite and related information” on
page xix explains how to access the Information Center.
Compare these figures with the save information on the Information Center to see
the relationship between how things are saved and how they are restored. Use
them to gain a general understanding of what you need to restore and how you
might do it. Use the information in Chapter 4. Selecting the Right Recovery
Strategy to plan the correct recovery strategy for your situation.
┌───────────────────────────────┐W──────────────────────────────┐
│ OS/400 Objects in QSYS │ IPL or Install the System Menu│
└───────────────────────────────┘W──────────────────────────────┘
┌─┬─┬─S┌───────────────────────────────┐W──────────────────────────────┐
│ │ │ │ User Profiles │ RSTUSRPRF │
│ │ │ └───────────────────────────────┘W──────────────────────────────┘
│ │ 23
│ │ │ ┌───────────────────────────────┐W──────────────────────────────┐
│ │ │ │ Configuration Objects │ RSTCFG │
│ │ └─S└───────────────────────────────┘W──────────────────────────────┘
│ 22
│ │ ┌───────────────────────────────┐W───────────┐
│ │ │ IBM-supplied directories │ RST │
│ │ └───────────────────────────────┘W───────────┘
│ │
│ │ ┌───────────────────────────────┐W───────────┐W─────────────────┐
│ │ │ OS/400 Optional Libraries │ │ │
│ │ │ QHLPSYS QUSRTOOL │ RSTLIB │ │
│ │ ├───────────────────────────────┤ *IBM │ │
│ │ │ Licensed Program Libraries │ │ │
│ │ │ QRPG QCBL Qxxxxx │ │ RSTLIB │
│ └───S└───────────────────────────────┘W───────────┘ *NONSYS │
21 │
│ ┌─S┌───────────────────────────────┐W───────────┐ │
│ │ │ IBM Libraries with User Data │ │ │
│ │ │ QGPL QUSRSYS QS36F #LIBRARY │ RSTLIB │ │
│ │ ├───────────────────────────────┤ *ALLUSR │ │
│ │ │ User Libraries │ │ │
│ │ │ LIBA LIBB LIBC LIBxxx │ │ │
│ │ └───────────────────────────────┘W───────────┘W─────────────────┘
│ 23
│ │ ┌───────────────────────────────┐W──────────────────────────────┐
│ │ │ Filed Documents and Folders │ RSTDLO │
│ │ │ Distribution Objects │ │
│ │ └───────────────────────────────┘W──────────────────────────────┘
│ │
│ │ ┌───────────────────────────────┐W──────────────────────────────┐
│ │ │ User Objects in Directories │ RST │
└───┴─S└───────────────────────────────┘W──────────────────────────────┘
┌───────────────────────────────┐W──────────────────────────────┐
│ Saved Changes in Libraries, │ RSTLIB, RSTOBJ, RSTDLO, RST │
│ Documents, and Directories │ │
└───────────────────────────────┘W──────────────────────────────┘
┌───────────────────────────────┐W──────────────────────────────┐
│ Journaled Changes │ APYJRNCHG │
└───────────────────────────────┘W──────────────────────────────┘
┌─────S┌───────────────────────────────┐W──────────────────────────────┐
│ All │ Private Authorities │ RSTAUT │
└─────S└───────────────────────────────┘W──────────────────────────────┘
Note: RSTOBJ can also be used where RSTLIB is shown to restore objects.
Note: For comprehensive information on saving your server, refer to the Backing
up your system topic on the Information Center at the following Web site:
http://www.ibm.com/eserver/iseries/infocenter
SAVOBJ RSTOBJ
RST
SAV RST
SAVLIB LIB(*NONSYS) RSTLIB SAVLIB(*NONSYS)
RSTLIB SAVLIB(*IBM)
RSTLIB SAVLIB(*ALLUSR)
RSTLIB SAVLIB(library-name)
RST
SAVLIB LIB(*ALLUSR) RSTLIB SAVLIB(*ALLUSR)
RSTLIB SAVLIB(library-name)
RST
SAVLIB LIB(*IBM) RSTLIB SAVLIB(*IBM)
RSTLIB SAVLIB(library-name)
RST
SAVLIB LIB(library-name) RSTLIB SAVLIB(library-name)
RST
SAVSECDTA RSTUSRPRF
RSTAUT1
SAVCFG RSTCFG
SAVSYS Restore Licensed Internal Code. (See
Chapter 5.)
Restore operating system. (See Chapter 6.)
RSTUSRPRF
RSTCFG
RSTAUT1
SAVDLO RSTDLO
RST
1
The RSTUSRPRF command restores authority information to temporary tables. The
RSTAUT command regrants private authorities using tables that are built as a part
of the RSTUSRPRF command.
When you restore an object, the system takes different actions depending on the
following:
v Whether the object to be restored already exists.
v The allow object differences (ALWOBJDIF) parameter on the restore command.
v Whether the object was saved on a different system (serial number of the
processor).
With a few exceptions that relate to security, the contents of the object are always
restored. If the object exists, the system compares the object description
information on the system copy and the media copy and then makes decisions. For
The default value for the ALWOBJDIF parameter is *NONE. This means that if
important differences exist between the media version and the system version of
an object, you want the system to take special action. Normally, you should use the
default value. However, when you are restoring your information to a different
system, such as during a disaster recovery, you should specify ALWOBJDIF(*ALL).
Table 5 shows examples of the effect of the ALWOBJDIF parameter:
Table 5. Restoring Objects with ALWOBJDIF. Effect of ALWOBJDIF parameter when the
value on the media and on the system are different.
Value for Object after Restore Operation
| Object owner Object is not restored Existing value1 Object is not restored
| Object primary group Object is not restored Existing value3 Object is not restored
| Object auditing Existing value Existing value Existing value
Authorization list, restore over existing object:
| Object on media is Object is not restored Object is restored and Object is not restored
secured by an is secured by
authorization list and authorization list of
object on system is object on system2
not secured by an
authorization list
| Object on media is Object is restored and Object is restored and Object is restored and
| not secured by an is secured by is secured by is secured by
| authorization list and authorization list of authorization list of authorization list of
| object on system is object on system object on system2 object on system
secured by an
authorization list
| Object on media is Object is not restored Object is restored and Object is not restored
secured by an is secured by
authorization list and authorization list of
object on system is object on system;
secured by a different message is sent to
authorization list user2
Authorization list, new object restored:
| Object is restored Object is restored and Object is restored and Object is restored and
| onto different system is not secured by an is secured by the is not secured by an
| than it was saved authorization list same authorization authorization list
from list that secured the
object when it was
saved, if the
authorization list
exists2
Database files:
| Creation date for file File is not restored File is renamed on Logical file is not
| the system; copy is restored. System
| restored from media attempts to restore
| with media creation physical file data4
date; message is sent
to user.
| Creation date for Member is not Member is renamed Logical member is
| member restored on the system; copy not restored. System
| is restored from attempts to restore
| media with media physical member
| creation date; data4
message is sent to
user.
| Physical file data
| Level identifier for Physical file data is Physical file data is System attempts to
| file not restored not restored restore physical file
| data4
| Level identifier for Physical file data is Physical file data is System attempts to
| member not restored not restored restore physical
| member data4
Validation values:
| Validation value, with Program object is Program object is Program object is
| system value restored with restored without any restored with
| QSECURITY at 40 or authority changes authority changes authority changes
higher
| Validation value, with Object is restored Object is restored Object is restored
system value
QSECURITY lower
than 40
Program object without validation value, with system value QSECURITY
at 40 or higher:
| Program object Program object Program object
| restored with restored without restored with
| retranslation retranslation retranslation
1
Also applies to RST command with ALWOBJDIF(*OWNER)
2
Also applies to RST command with ALWOBJDIF(*AUTL)
3
Also applies to RST command with ALWOBJDIF(*PGP)
4
| Only applies to RSTLIB and RSTOBJ commands with
| ALWOBJDIF(*FILELVL)
The following topics provide more information about the effect of the ALWOBJDIF
parameter:
v “How the System Establishes Ownership for Restored Objects” on page 218
v “How the System Establishes the Authorization List for a Restored Object” on
page 218
v “Comparing File Attributes during a Restore Operation” on page 238
v “How the System Restores Programs” on page 252
Use the End Subsystem (ENDSBS) command to put your systemin a restricted
state. You specify how you want the subsystems to end:
Note: Even if you have no activity on the system, jobs may be running under a
few system-provided subsystems, such as the QSYSWRK (subsystem
monitor) subsystem and the QCALSRV (calendar server) subsystem. You can
endall subsystems immediately without first ending these jobs. You will
receive messages that these subsystems ended abnormally.
Note: For the delay parameter, specify a number of seconds that allows your
system time to bring most jobs to a normal end. On a large, busy system,
you may need a longer delay.
A message is sent that indicates that the procedure for ending subsystems is in
progress. A final message is sent when the system is in a restricted state.
Reclaiming Storage
Use the reclaim storage procedure (RCLSTG command) to recover the
addressability of lost or damaged objects. This allows you to identify and then
restore those objects that were damaged. If an authorization list is found damaged
during reclaim storage, the objects secured by the damaged authorization are
associated with the system authorization list QRCLAUTL. To find out how to
recover from damaged authorization lists, look under the Programming topic on
the Information Center at the following Web
site:http://www.ibm.com/eserver/iseries/infocenter.
| The RCLSTG command has three parameters, SELECT, OMIT, and ASP. These
| parameters allow you to perform reclaim functions in one of the following ways:
v All reclaim functions are performed
v The database cross-reference table reclaim function is performed
v All reclaim functions are performed, except for the database cross-reference table
reclaim function
| v Reclaim the system ASP and all basic ASPs.The system ASP has an ASP number
| of 1. Basic ASPs have ASP numbers of 2 through 32.
| v Relcaim a specific independent ASP. Independent ASPs have a number greater
| than 32.
Note: The RCLSTG procedure requires auxiliary storage. If you are already using a
very high percentage of auxiliary storage, the RCLSTG procedure may not
complete successfully.
6. Use the CHGSYSVAL command to set the QALWUSRDMN system value back
to its original setting. (You wrote the setting in step 2.)
7. When the reclaim storage procedure finishes, start the controlling subsystem by
typing the following:
STRSBS SBSD(controlling-subsystem)
What Happens When You Reclaim Storage: The purpose of the RCLSTG command
is to ensure the following:
v Objects that reside permanently in auxiliary storage can be accessed.
v All auxiliary storage either is used properly or is available for use.
The system checks every object that resides permanently in auxiliary storage for
loss or damage. It does the following:
v If an object does not address a library or directory,it is placed in an
IBM-supplied library or directory based on the object type. The system may not
be able to retrieve description information for the object, such as:
– Program temporary fix (PTF) status.
– Save and restore information.
– Object attributes and text description.
v For objects that normally reside in libraries (the QSYS.LIB file system), the
system does the following:
– If a lost object with the same name and object type is alreadyin the Recovery
(QRCL) library, the system gives the object that it has just encountered a new
name. The name has the format QRCLnnnnnn, where nnnnnn is a unique
number. The original object name is placed in the text description for the
object in the QRCL library.
Note: You cannot rename journals and journal receivers. If the system
encounters two journals (or journal receivers) with the same name and
they both need to be placed in the QRCL library, the system renames
one of them. You cannot rename that journal or journal receiver back to
its original name. You must restore a previous version with the correct
name or re-create the journal or journal receiver. For this reason, you
should use a naming convention for journals and journal receivers that
is unique for the entire system, not just for a library.
– If data exists for a lost physical file, thesystem attempts to rebuild the file and
place it in the QRCL library. The text description for the object in the QRCL
library indicates that it has been rebuilt.
What To Do After Running the RCLSTG Procedure: Table 6 describes both where to
look for problems that the RCLSTG procedure detects and how to correct the
problems:
Table 6. Resolving Problems Detected by the RCLSTG Procedure
Where to Look for Problems How to Fix the Problem
Type DSPMSG QSYSOPR to display the QSYSOPR message Type DSPLOG QHST to display the history log. Look for
queue. Look for messages about damaged objects. messages about either damaged objects or rebuilt files.
1. Delete unusable objects by using the appropriate
DLTxxx command. Restore them by using the Restore
Object (RSTOBJ) command.
2. Copy data from rebuilt files to new files by using the
Copy File (CPYF) command.
Note: You may see a message indicating that objects
were deleted by the reclaim storage procedure. These are
internal system objects that are no longer needed.
You can use QALWOBJRST to prevent anyone from restoring a system-state object
or an object that adopts authority. The QALWOBJRST system value affects
programs, service programs, modules, and SQL packages.
When your system is shipped, the QALWOBJRST system value is *ALL. This value
is necessary to install your system successfully.
Attention!
It is important to set the QALWOBJRST value to *ALL before performing
some system activities, such as:
v Installing a new release of the OS/400 licensed program.
v Installing new licensed programs.
v Recovering your system.
These activities may fail if the QALWOBJRST value is not *ALL.
To ensure system security, return the QALWOBJRST value to your normal setting
after completing the system activity. Make sure the entire restore operation has
completed before changing the QALWOBJRST system value, or some objects may
not restore successfully.
You may specify multiple values for the QALWOBJRST system value, unless you
specify *ALL or *NONE.
| You can add digital signatures to objects so that users can verify the object’s
| integrity and origin. The objects affected by the QVFYOBJRST system value are as
| follows:
| v *PGM
| v *SRVPGM
| v *SQLPKG
| v *MODULE
| v *STMF objects with attached Java programs
If you restore an Original Program Model (OPM) program that is running, the
program may end abnormally.
Note: The system does not restore files to libraries QGPL and QUSRSYS if the file
names begin with QAPZ.No diagnostic message is sent indicating that these
files are not restored.
Using the Job Log: The restore commands send these messages:
CPC3703
Sent for each library that is restored.
CPF3773
Tells the number of objects that are restored and are not restored.
CPF3839
Completion message for RST command from media.
CPF383E
Completion message for RST command from a save file.
CPF9003
Completion message for RSTDLO command from media.
CPF909B
Completion message for RSTDLO command from a save file.
These messages tell the number of objects that are restored and the number of
objects that are not restored. An object is counted only if it fits the selection values
you specified. For example, assume that library LIB1 has 75 objects. The names of
74 of those objects begin with the characters ORD. You specify RSTOBJ OBJ(ORD*)
OBJTYPE(*ALL) SAVLIB(LIB1). If all objects restored successfully, the completion
message would say that 74 objects were restored to library LIB1. You would not be
notified that 1 object was not restored.
Using An Output File: Most restore commands create output that shows what was
restored. You can direct this output to a printer (OUTPUT(*PRINT)), a database file
(OUTPUT(*OUTFILE)), a stream file, or a user space. The default for restore
commands is not to create output. You must request it each time you run the
restore command. Or you can change the default for the OUTPUT parameter for
restore commands by using the Change Command Default (CHGCMDDFT)
command.
You can print the output and save it. Or you can create a program to analyze and
report on the information in the output file.
The RST command places output in a stream file or a user space, rather than an
output file. “Appendix E. How to Create and Use Output from the Save and
Restore Commands” on page 857 provides the layouts. The RSTLIB, RSTOBJ, and
RST commands have an information type (INFTYPE) parameter to specify how
much detail you want in the output file.
Note: The output file you specify is in use throughout the restore operation.
Therefore, the system cannot restore it as part of the operation. Depending
on how you perform your restore operation, you may see a CPF379D
message in the joblog for the output file. If you want to restore the output
file after your restore operation completes, use the RSTOBJ command.
Restore Operation Error Is Not Recoverable: If the error is not recoverable, the
following occurs:
v Diagnostic messages are sent to the job log for each object.
v The save and restore status information for each object is not updated.
v A diagnostic message that identifies the error condition is sent to the user.
v The restore command ends immediately. No other objects are restored.
If an error stops the restore operation, you can correct the error condition and then
start the restore operation where it ended. For example, if the maximum storage is
exceeded, you can increase the MAXSTG parameter in the user profile.
You can use the STRLIB parameter on the RSTLIB command to restart the restore
operation. The STRLIB parameter is valid only when *NONSYS, *ALLUSR, or
*IBM is specified for the restore operation,
Note: Consider eliminating the media volume with the media error from the
next save.
If an error occurs that stops the restore operation, you can correct the error
condition and then start the restore operation where it ended. For example, if the
maximum storage is exceeded, you can increase the MAXSTG parameter in the
user profile.
Recovering Mail
To recover, do one of the following:
v If you have daily save (SAVDLO DLO(*CHG or *MAIL)) media to restore later,
the system restores your mail during the restore process from this save media.
Run this command so that the mail that was restored is usable. The system may
not have restored some of your mail.
If you need to restore the documents and folders from this set of save media,
continue with “Recovering Documents and Folders”.
Note: If the failure occurred during the restore of mail, you need to restore all
documents and folders.
2. Find the first folder after the folder that failed to restore. Use the list that was
created during the last SAVDLO OUTPUT(*PRINT or *OUTFILE) operation or
use the DSPTAP DATA(*SAVRST) command to determine which first-level
folder is next. To find the first-level folders, find the object type *FLR. Look at
the Document or Folder Information column. The name of a first-level folder does
not contain a forward slash (/).
3. Load the first media volume of the SAVDLO DLO(*ALL) save media.
Note: You must always start with the first volume of the SAVDLO media for
each set of 300 first-level folders. You must load each volume in the set
of SAVDLO save media in sequence.
4. For each first-level folder, type the following and press the Enter key:
RSTDLO DLO(*ALL) SAVFLR(folder-name-list)
DEV(media-device-name)
Where the folder-name-list has the names of the first-level folders identified from
the list described in step 2. You can specify a limit of 300 first-level folders.
It is possible to restore from a parallel save if you are using fewer devices than the
save operation used. However, IBM does not recommend this, due to the amount
of volume switching that you will need to do. IBM also does not recommend this
due to performance reasons. Restore operations that use fewer drives should only
be used occasionally to restore individual objects. Restore operations that use fewer
drives should never be used as part of a system recovery strategy, or to restore
large amounts of data. Whenever possible, the same number of devices that were
used during the save operation should be used during a restore operation.
A Display Tape (DSPTAP) command displays the list of objects that the system
saves across all media files. You only need one media file to display all of the
objects that the system saved during a parallel save operation. This list also
displays the number of media files that you need to restore data. However, you
need all of the media files to restore any of the objects that the system saved. This
may include multiple volumes.
IBM recommends that you use the same media definition object when saving and
restoring the same objects. If you use a different media definition object when
restoring, make sure that the same number of media files are defined within that
media definition object. If the number of media file definitions is different from the
number that exists on the storage media, you will receive an error message.
Term Definition
Abnormal end (abend) A system failure or operator action that causes the system to
end without being able to end all jobs and close all files. Your
system may end abnormally because of a power failure or a
problem with certain hardware or software components.
Auxiliary storage pool A group of units defined from all the disk units that make up
auxiliary storage. Auxiliary storage pools (ASPs) allow you to
isolate objects on one or more specific disk units. This may
reduce the loss of data due to a disk media failure. In most
cases, only data stored on disk units in the affected ASP is lost.
Basic ASP A user auxiliary storage pool created by grouping together a
physical set of disk units and assigning them a number
between 2 and 32..
Dedicated service tools A set of tools to work with the system when the operating
(DST) system is not available or not working.
Disk configuration An internal system table that tells how the physical disk units
are arranged on your system. The disk configuration is used to
assign units to an auxiliary storage pool. The disk configuration
is stored on the load source unit.
Disk pump A commonly used term for the procedure used by a service
representative to attempt to copy data from a disk unit that has
failed.
| Independent ASP A user auxiliary storage pool that can be made available
| (varied on) and made unavailable (varied off) without
| restarting the system. An independent ASP can be either
| switchable among multiple systems in a clustering environment
| or privately connected to a single system.
| Library user ASP A user ASP that contains libraries, directories, and folders and
| all the objects associated with them.
Licensed Internal Code The layer of iSeries architecture just above the hardware. You
must have the Licensed Internal Code on your machine before
you can restore the operating system.
Load source unit The first unit (unit 1) in the system ASP. It contains the
Licensed Internal Code and the disk configuration for your
system.
Nonlibrary user ASP A user ASP that may contain journals, journal receivers, and
save files. The libraries associated with these objects are in the
system ASP. A nonlibrary user ASP is sometimes called an
old-style ASP, because it was the only type of user ASP
available before Version 1 Release 3 of the OS/400 licensed
program.
System ASP An auxiliary storage pool that is created by the system and
always configured. The system ASP (ASP 1) contains the
Licensed Internal Code, licensed programs, and system
libraries. The system ASP may also contain user libraries,
folders, and directories. The system ASP contains all configured
disk units that are not assigned to a user ASP.
System service tools (SST) A subset of the DST tools. The tools available through SST,
such as displaying the disk configuration, can be used while
the operating system is running and other users are on the
system.
| User ASP A basic or independent auxiliary storage pool created by
| grouping together a physical set of disk units. You can assign a
| basic ASP a number between 2 and 32. The system assigns an
| independent ASP a number between 33 and 99. ASP 1 is
| always reserved as the system ASP.
If the service representative replaced a disk unit, use the information in “Choosing
the Recovery Procedure for a Disk Failure or Disk Errors” to determine the correct
recovery procedure.
If you are restoring an object that does not exist on the system, private authorities
for the object are not restored with it. You can do one of the following:
v Reconstruct the private authorities manually, using the Edit Object Authority
(EDTOBJAUT) display.
v Restore private authorities by using this procedure:
1. Restore all user profiles from your most recent SAVSYS or SAVSECDTA tape.
Type: RSTUSRPRF. Restoring user profiles requires a restricted state.
2. Restore the objects you need to recover.
3. Restore authorities. Type: RSTAUT. Only one RSTAUT command can run on
the system at any given time.
Attention
When a system reference code (SRC) appears on your system unit, use the
iSeries Licensed Internal Code Diagnostic Aids - Volume 1 to determine what the
code means. If you receive an SRC code that indicates a DASD problem, do
not perform an IPL before your service representative arrives. If you perform
an IPL, your service representative may not be able to recover data from the
damaged disk unit.
This topic describes the actions that you take if you are recovering because a disk
unit failed or was damaged. The steps you follow to recover from a disk failure
depend on:
v What unit failed.
v Whether disk protection, such as device parity protection or mirrored protection
is active.
v Whether you have user ASPs configured.
Use Table 8 to determine what recovery procedure you should follow, based on the
failure that has occurred on your system. To find your situation on the chart, ask
your service representative whether data was copied successfully (the results of the
disk pump):
Recovery for Disk Errors That Do Not Require Disk Replacement: Some types of
disk units automatically recover from errors without needing to be replaced. In
some cases, however, sectors are damaged before the disk unit reassigns them and
some object damage occurs. If you receive a message indicating that object damage
has occurred and disk sectors have been reassigned, consider this to be the value
Some for the column Data Loss on the Failed Unit in Table 8.
If you are recovering from disk errors but you did not need a service
representative to replace the disk unit, you may need to perform tasks that are
normally performed by a service representative. Make a copy of the appropriate
checklist and mark it as follows:
1. Begin at the task immediately following “Attach the new disk unit”.
2. If the checklist contains a task called, “Restore the disk unit data”, skip that
task.
Table 8. Choosing the Correct Recovery Procedure for Disk Media Failure
Availability
Type of Unit That Data Loss on Protection on Failed User ASPs
Failed Failed Unit Unit Configured? Procedure to Follow
1
Load source unit None None N/A Checklist 1 on page 65
2 1
Load source unit Some None N/A Checklist 2 on page 66
Load source unit All None No Checklist 3 on page 67
Load source unit. No All None Yes Checklist 4 on page 68
user ASPs in
overflowed status3
Load source unit. One All None Yes Checklist 5 on page 72
or more user ASPs in
overflowed status3.
Non-load source unit None None N/A 1 Checklist 6 on page 76
in system ASP4
Non-load source unit Some2 None N/A 1 Checklist 7 on page 77
in system ASP4
Non-load source unit All None No Checklist 8 on page 78
in system ASP4
1
The recovery procedure is the same whether or not user ASPs are configured.
2
If the service representative was partially successful in saving data from a failed disk unit, you should
consider treating the situation as a complete data loss on the failed unit.
3
If a unit in your system ASP fails and a replacement is not immediately available, you can use the procedure
in Checklist 16 on page 92. This procedure allows you to return your system to operation. You will have less
disk storage and you will need to recover all the data in the system ASP.
4
Step 4 on page 192 describes how to determine whether a user ASP is in overflowed status.
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 9. Recovery Checklist for Disk Failure–Checklist 1
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
___ Task 1 Save the disk unit data.
___ Task 2 Attach the new disk unit.
___ Task 3 Install the Licensed Internal Code using “How to Prepare for Loading the
option 4 (Install Licensed Internal Code and Licensed Internal Code” on page 122
Restore Disk Unit Data)1. and “How to Load the Licensed
Internal Code” on page 130.
___ Task 4 Restore the disk unit data.
Actions to Be Performed by the User
___ Task 5 You must perform an IPL at this time. Chapter 7. Starting the System After It
Follow the procedure for starting the system Ends Abnormally, task 1 through task
after it ends abnormally. 4.
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in Task 3.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 10. Recovery Checklist for Disk Failure–Checklist 2
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
Task 1 Save the disk unit data.
Task 2 Attach the new disk unit.
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in Task 3.
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must
disable it before restoring the Licensed Internal Code. See “Disabling and
Enabling the High-Speed Feature on the 2440 Tape Unit” on page 145 for
instructions. You may enable the feature again after you complete all the steps in
Task 3.
Attention!
When you replace a disk unit in your system ASP, the system loses
addressability to the objects in your user ASPs. Recovering object ownership
for objects other than DLOs will require manually assigning ownership for
every object in every user ASP. You may want to treat this situation as a total
recovery and restore all your information from your save media if the
following conditions are true:
1. You have a large number of objects in your user ASPs
2. You have thoroughly backed up your system
If you choose to do this, perform the steps that are described in “Recovering
your entire system after a complete system loss–Checklist 20” on page 96 to
recover your system.
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
This checklist provides an important record of your recovery actions. It may help
you to diagnose any problems that occur after the recovery. It may also be useful
in evaluating your backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 11. Recovery Checklist for Disk Failure–Checklist 4
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
Task 1 Attach the new disk unit.
Task 2 Prepare to load the Licensed Internal Code. “How to Prepare for Loading the
Licensed Internal Code” on page 122.
Task 3 Install the Licensed Internal Code using “How to Load the Licensed Internal
option 3 (Install Licensed Internal Code and Code” on page 130.
Recover Configuration)1.
Task 4 Recover the disk configuration (assignment “How to Recover Your Disk
of disks to ASPs and protection). Configuration” on page 142.
Actions to Be Performed by the User
Task 5 Restore the operating system, beginning with Chapter 6. Restoring the Operating
“Task 1–Starting to Restore the Operating System, task 1 through task 6.
System” on page 150. You are performing a
complete restore operation.
or a
DSPJOBLOG * *PRINT
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in 69.
2
You may receive one of the following messages:
CPD377A: Object not restored, /QNTC.
CPD377A: Object not restored, /QNetWare.
These objects cannot be restored until their file systems have been mounted during the IPL. You may
ignore these messages. The additional recovery tasks will guide you through the steps to restore these
objects.
Note: Since the OS/400 Enhanced Integration for Novell NetWare software resides on a remote server, you
do not have to restore your Netware data when you restore your server. Previously, the OS/400 Integration
for Novell NetWare product ran on a Integrated xSeries Server and you had to restore the Novell product
if you completely restored your server.
or a
DSPJOBLOG * *PRINT
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in Task 3.
2
You may receive one of the following messages:
CPD377A: Object not restored, /QNTC.
CPD377A: Object not restored, /QNetWare.
These objects cannot be restored until their file systems have been mounted during the IPL. The additional
recovery tasks will guide you through the steps to restore these objects.
Note: Since the OS/400 Enhanced Integration for Novell NetWare software resides on a remote server, you
do not have to restore your Netware data when you restore your. Previously, the OS/400 Integration for
Novell NetWare product ran on a Integrated xSeries Server and you had to restore the Novell product if
you completely restored your.
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
This checklist provides an important record of your recovery actions. It may help
you to diagnose any problems that occur after the recovery. It may also be useful
in evaluating your backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 13. Recovery Checklist for Disk Failure–Checklist 6
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
Task 1 Save the disk unit data.
Task 2 Attach a new disk unit.
Task 3 Restore data to the new disk unit.
Actions to Be Performed by the User
Task 4 Perform an IPL. Follow the procedure for Chapter 7. Starting the System After It
starting the system after it ends abnormally. Ends Abnormally, task 1 through task
4.
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
This checklist provides an important record of your recovery actions. It may help
you to diagnose any problems that occur after the recovery. It may also be useful
in evaluating your backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 14. Recovery Checklist for Disk Failure–Checklist 7
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
Task 1 Save the disk unit data.
Task 2 Attach the new disk unit.
Task 3 Restore the disk unit data.
Actions to Be Performed by the User
Task 4 Restore the operating system, beginning with Chapter 6. Restoring the Operating
“Task 1–Starting to Restore the Operating System, task 1 through task 6.
System” on page 150. You are performing a
complete restore operation.
Task 5 If you restored the operating system using “Recovering System Information” on
distribution media, some system information, page 213.
such as access path recovery times and the
system reply list, may have been reset to
default values. Verify these values and
correct them if necessary.
Task 6 Reclaim storage. “Reclaiming Storage” on page 46.
Task 7 Evaluate the extent of the damage. “Task 4–Recovering from Damaged
Determine whether you will attempt to Objects and Unreadable Sectors” on
recover damaged objects or restore the entire page 174.
system. Do not skip this step.
Task 8 If you have decided to do a complete restore
operation, use Table 31 on page 107 to
determine the correct procedure for
recovering user information.
Task 9 If you have decided to attempt to recover
damaged objects, perform the tasks in “Task
4–Recovering from Damaged Objects and
Unreadable Sectors” on page 174.
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 15. Recovery Checklist for Disk Failure–Checklist 8
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
Task 1 Attach the new disk unit.
Task 2 Delete the ASP data.
Task 3 Restore the Licensed Internal Code using “How to Prepare for Loading the
option 1 (Restore Licensed Internal Code)1. If Licensed Internal Code” on page 122
user ASPs are configured, they remain intact. and “How to Load the Licensed
Internal Code” on page 130.
Actions to Be Performed by the User
Task 4 Restore the operating system, beginning with Chapter 6. Restoring the Operating
“Task 1–Starting to Restore the Operating System, task 1 through task 6.
System” on page 150. You are performing a
complete restore operation.
Task 5 If you restored the operating system using “Recovering System Information” on
distribution media, some system information, page 213.
such as access path recovery times and the
system reply list, may have been reset to
default values. Verify these values and
correct them if necessary.
Task 6 Reclaim storage. “Reclaiming Storage” on page 46.
Task 7 Use Table 31 on page 107 to determine the
correct procedure for recovering user
information.
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in Task 3.
Attention!
When you replace a disk unit in your system ASP, the system loses
addressability to the objects in your user ASPs. Recovering object ownership
for objects other than DLOs will require manually assigning ownership for
every object in every user ASP. You may want to treat this situation as a total
recovery and restore all your information from your save media if the
following conditions are true:
1. You have a large number of objects in your user ASPs
2. You have thoroughly backed up your system
If you choose to do this, perform the steps that are described in “Recovering
your entire system after a complete system loss–Checklist 20” on page 96 to
recover your system.
or a
DSPJOBLOG * *PRINT
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in Task 4.
2
You may receive one of the following messages:
CPD377A: Object not restored, /QNTC.
CPD377A: Object not restored, /QNetWare.
These objects cannot be restored until their file systems have been mounted during the IPL. You may
ignore these messages. The additional recovery tasks will guide you through the steps to restore these
objects.
Note: Since the OS/400 Enhanced Integration for Novell NetWare software resides on a remote server, you
do not have to restore your Netware data when you restore your. Previously, the OS/400 Integration for
Novell NetWare product ran on a Integrated xSeries Server and you had to restore the Novell product if
you completely restored your.
Attention!
When you replace a disk unit in your system ASP, the system loses
addressability to the objects in your user ASPs. Recovering object ownership
for objects other than DLOs will require manually assigning ownership for
every object in every user ASP. You may want to treat this situation as a total
recovery and restore all your information from your save media if the
following conditions are true:
1. You have a large number of objects in your user ASPs
2. You have thoroughly backed up your system
If you choose to do this, perform the steps that are described in “Recovering
your entire system after a complete system loss–Checklist 20” on page 96 to
recover your system.
or a
DSPJOBLOG * *PRINT
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in Task 4.
2
You may receive one of the following messages:
CPD377A: Object not restored, /QNTC.
CPD377A: Object not restored, /QNetWare.
These objects cannot be restored until their file systems have been mounted during the IPL. You may
ignore these messages. The additional recovery tasks will guide you through the steps to restore these
objects.
Note: Since the OS/400 Enhanced Integration for Novell NetWare software resides on a remote server, you
do not have to restore your Netware data when you restore your server. Previously, the OS/400 Integration
for Novell NetWare product ran on a Integrated xSeries Server and you had to restore the Novell product
if you completely restored your server.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 18. Recovery Checklist for Disk Failure–Checklist 11
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
Task 1 Save the disk unit.
Task 2 Attach the new disk unit.
Task 3 Restore the disk unit data.
Actions to Be Performed by the User
Task 4 You must perform an IPL at this time. Chapter 7. Starting the System After It
Follow the procedure for starting the system Ends Abnormally, task 1 through task
after it ends abnormally. 4.
Task 5 Reclaim storage. “Reclaiming Storage” on page 46.
Task 6 Evaluate the extent of the damage. “Task 4–Recovering from Damaged
Determine whether you will attempt to Objects and Unreadable Sectors” on
recover damaged objects or restore the entire page 174.
system. Do not skip this step.
Task 7 If you have decided to do a complete restore
operation, use Table 31 on page 107 to
determine the correct procedure for
recovering user information.
Task 8 If you have decided to attempt to recover
damaged objects, perform the tasks in “Task
4–Recovering from Damaged Objects and
Unreadable Sectors” on page 174.
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
This checklist provides an important record of your recovery actions. It may help
you to diagnose any problems that occur after the recovery. It may also be useful
in evaluating your backup strategy.
or a
DSPJOBLOG * *PRINT
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 20. Recovery Checklist for Disk Failure–Checklist 13
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
Task 1 Physically remove the failed disk unit from
the system.
Task 2 Delete the data in the ASP that contains the
failed unit.
Task 3 Install the replacement disk unit.
Task 4 Configure the replacement disk unit by
selecting the ’Replace configured unit’
function on the Work with Disk Units
display.
Actions to Be Performed by the User
Task 5 You must perform an IPL at this time. “Chapter 7. Starting the System After It
Follow the procedure for starting the system Ends Abnormally” on page 167.
after it ends abnormally.
Task 6 Reclaim storage. “Reclaiming Storage” on page 46.
Task 7 Delete the overflowed objects. “How to Delete Overflowed Objects
during Recovery” on page 196.
Task 8 If necessary, change the QALWOBJRST “Controlling Restoration of
system value. Write the old value here: Security-Sensitive Objects” on page 50.
______________
| Task 9 If necessary, change the QVFYOBJRST “Controlling Restoration of
| system value. Write the old value here: Security-Sensitive Objects” on page 50.
| ______________
Task 10 If necessary, change the system value that The System Values subtopic of the
controls whether the job log wraps when it is System Management topic in the
full. Use the Work with System Values iSeries Information Center.
command: WRKSYSVAL QJOBMSGQFL.
Write down the current value here:
______________. Then change the value to
*PRTWRAP.
Task 11 After changing the system values, sign off by
using the command SIGNOFF *LIST. Then,
using a newly created password, sign back
on as QSECOFR for the new values to take
effect.
Task 12 Recover the objects in the user ASP. “How to Recover a Damaged User
Auxiliary Storage Pool” on page 196,
task 1 through task 9.
or a
DSPJOBLOG * *PRINT
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
This checklist provides an important record of your recovery actions. It may help
you to diagnose any problems that occur after the recovery. It may also be useful
in evaluating your backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Note: For many failures, the system does not have to stopped and started again.
The service representative can repair the failed component while the system
continues to run. See “Chapter 12. Mirrored Protection Recovery Actions” on
page 289.
Table 21. Recovery Checklist for Disk Failure–Checklist 14
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
Task 1 Replace the failed disk unit.
Task 2 Resume mirrored protection.
Actions to Be Performed by the User
Task 3 Ensure that disk configuration is correct. Chapter 27, “Working with Mirrored
Protection”.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Note: For many failures, the system does not have to stopped and started again.
The service representative can repair the failed component while the system
continues to run. See “Chapter 26. Working with Device Parity Protection”
on page 695.
Table 22. Recovery Checklist for Disk Failure–Checklist 15
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
Task 1 Attach the new disk unit.
Task 2 Rebuild the failed device parity disk unit
data.
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
This checklist provides an important record of your recovery actions. It may help
you to diagnose any problems that occur after the recovery. It may also be useful
in evaluating your backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 23. Recovery Checklist for Disk Failure–Checklist 16
Task What To Do Where To Read More About It
Actions to Be Performed by the User
Task 1 Remove the failed disk unit from the “How to Remove a Disk Unit from
configuration. an Auxiliary Storage Pool” on
page 678.
Task 2 Restore the Licensed Internal Code “How to Prepare for Loading the
using option 1 (Restore Licensed Licensed Internal Code” on page 122
Internal Code)1. and “How to Load the Licensed
Internal Code” on page 130
Task 3 Restore the operating system, Chapter 6. Restoring the Operating
beginning with “Task 1–Starting to System, task 1 through task 6.
Restore the Operating System” on
page 150. You are performing a
complete restore operation.
Task 4 If you restored the operating system “Recovering System Information” on
using distribution media, some page 213.
system information, such as access
path recovery times and the system
reply list, may have been reset to
default values. Verify these values
and correct them if necessary.
Task 5 Use Table 31 on page 107 to
determine the correct procedure for
recovering user information.
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in Task 2.
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
This checklist provides an important record of your recovery actions. It may help
you to diagnose any problems that occur after the recovery. It may also be useful
in evaluating your backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 24. Recovery Checklist for Disk Failure–Checklist 17
Task What To Do Where To Read More About It
Actions to Be Performed by the Service Representative
Task 1 Save the disk unit data.
Task 2 Attach a new disk unit.
Task 3 Restore data to the new disk unit.
Actions to Be Performed by the User
Task 4 Vary on the independent ASP. Use the VRYCFG command or the
Operations Navigator interface to vary
on the independent ASP.
| Before you begin your recovery, make a copy of this checklist. Fill in the
| appropriate areas as you and the service representative perform the recovery steps.
| This checklist provides an important record of your recovery actions. It may help
| you to diagnose any problems that occur after the recovery. It may also be useful
| in evaluating your backup strategy.
| Most steps in the checklist include references to other topics in this book. Refer to
| these topics if you need more information about how to perform a particular step.
| You may not need to perform some steps, such as restoring changed objects, if they
| do not apply in your situation.
| Table 26. Recovery Checklist for Disk Failure–Checklist 19
| Task What To Do Where To Read More About It
| Actions to Be Performed by the Service Representative
| or a
| DSPJOBLOG * *PRINT
Note: If the system you must recover contains an independent ASP, refer to
“Recovering your entire system after a complete system loss including
independent ASPs–Checklist 21” on page 98 or “Recovering your entire
system after a complete system loss including independent ASPs, when
Service Tools Network Interface is configured–Checklist 22” on page 102.
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
This checklist provides an important record of your recovery actions. It may help
you to diagnose any problems that occur after the recovery. It may also be useful
in evaluating your backup strategy.
or a
DSPJOBLOG * *PRINT
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in Task 2.
| Note: If you are restoring a clustered system with independent ASPs, refer to the
| Clustering topic in the Information Center at
| www.ibm.com/eserver/iseries/infocenter, along with this checklist.
| Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
This checklist provides an important record of your recovery actions. It may help
you to diagnose any problems that occur after the recovery. It may also be useful
in evaluating your backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 28. Recovery Checklist for Complete System Loss–Checklist 21
Task What To Do Where To Read More About It
Actions to Be Performed by the User
Task 1 Prepare to load the Licensed Internal “How to Prepare for Loading the
Code1. Licensed Internal Code” on page 122.
Task 2 Install the Licensed Internal Code “How to Prepare for Loading the
using option 2 (Install Licensed Licensed Internal Code” on page 122
Internal Code and Initialize System)1. and “How to Load the Licensed
Internal Code” on page 130
Task 3 Configure the disk units (assign to “Chapter 24. Procedures for
ASP and set up disk protection). If Configuring Disks and Disk
you saved any User-Defined File Protection” on page 643 and
Systems (UDFS), you must configure “Chapter 25. Working with Auxiliary
your user ASPs or the UDFS will not Storage Pools” on page 669.
restore.
Note: You will configure and restore
independent ASPs in a later step.
Task 4 Restore the operating system, “How to Restore the OS/400
beginning with “Task 1–Starting to Licensed Program” on page 149.
Restore the Operating System” on
page 150. You are performing a
complete restore operation.
Task 5 If you restored the operating system “Recovering System Information” on
using distribution media, some page 213.
system information, such as access
path recovery times and the system
reply list may have been reset to
default values. Verify these values
and correct them if necessary.
or a
DSPJOBLOG * *PRINT
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in Task 2.
| Note: If you are restoring a clustered system with independent ASPs, refer to the
| Clustering topic in the Information Center at
| www.ibm.com/eserver/iseries/infocenter, along with this checklist.
| Before you begin your recovery, make a copy of this checklist. Fill in the
| appropriate areas as you and the service representative perform the recovery steps.
| This checklist provides an important record of your recovery actions. It may help
| you to diagnose any problems that occur after the recovery. It may also be useful
| in evaluating your backup strategy.
| Most steps in the checklist include references to other topics in this book. Refer to
| these topics if you need more information about how to perform a particular step.
| You may not need to perform some steps, such as restoring changed objects, if they
| do not apply in your situation.
| Table 29. Recovery Checklist for Complete System Loss–Checklist 22
| Task What To Do Where To Read More About It
| Actions to Be Performed by the User
| Task 1 Prepare to load the Licensed Internal “How to Prepare for Loading the
| Code1. Licensed Internal Code” on page 122.
| Task 2 Install the Licensed Internal Code “How to Prepare for Loading the
| using option 2 (Install Licensed Licensed Internal Code” on page 122
| Internal Code and Initialize System)1. and “How to Load the Licensed
| Internal Code” on page 130
| Task 3 You may need to configure the Tips for Managing and Monitoring
| Service Tools Server in order to Authority chapter of Tips and Tools for
| access disk management functions at Securing Your iSeries.
| DST.
| or a
| DSPJOBLOG * *PRINT
1
| If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
| Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
| page 145 for instructions. You may enable the feature again after you complete all the steps in Task 2.
|
|
Before you begin your recovery, make a copy of this checklist. Fill in the
appropriate areas as you and the service representative perform the recovery steps.
This checklist provides an important record of your recovery actions. It may help
you to diagnose any problems that occur after the recovery. It may also be useful
in evaluating your backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects, if they
do not apply in your situation.
Table 30. Recovery Checklist for Complete System Loss–Checklist 23
Task What To Do Where To Read More About It
Actions to Be Performed by the User
Task 1 Prepare to load the Licensed Internal “How to Prepare for Loading the
Code1. Licensed Internal Code” on page 122.
Task 2 Install the Licensed Internal Code “How to Prepare for Loading the
using option 3 (Install Licensed Licensed Internal Code” on page 122
Internal Code and Recover and “How to Load the Licensed
Configuration)1. Internal Code” on page 130
Task 3 Configure the disk units (assign to “Chapter 24. Procedures for
ASP and set up disk protection). If Configuring Disks and Disk
you saved any User-Defined File Protection” on page 643 and
Systems (UDFS), you must configure “Chapter 25. Working with Auxiliary
your user ASPs or the UDFS will not Storage Pools” on page 669.
restore.
Task 4 Restore the operating system, “How to Restore the OS/400
beginning with “Task 1–Starting to Licensed Program” on page 149.
Restore the Operating System” on
page 150. You are performing a
complete restore operation.
Task 5 If you restored the operating system “Recovering System Information” on
using distribution media, some page 213.
system information, such as access
path recovery times and the system
reply list may have been reset to
default values. Verify these values
and correct them if necessary.
Task 6 Recover user information from your “Choosing the Procedure to Recover
save media. Restore changed objects User Information” on page 107.
and apply journal entries. If you are
restoring to a different system, or a
different logical partition, you must
specify ALWOBJDIF(*ALL) on the
RSTxxx commands.
or a
DSPJOBLOG * *PRINT
1
If you have a 2440 Tape Unit with the high-speed feature enabled, you must disable it before restoring the
Licensed Internal Code. See “Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit” on
page 145 for instructions. You may enable the feature again after you complete all the steps in Task 2.
When your system is running normally, you are ready to recover user information.
Use Table 31 to determine the procedure you should follow. In the table, N/A in a
column means that the recovery procedure is the same, whether you respond yes
or no.
Table 31. Choosing the Correct Recovery Procedure for User Information
Do You Have Do You Want to
Are You Save SAVCHGOBJs or Use Menu
Recovering All Procedure Journals to Options to
ASPs? Used Apply? Recover? Recovery Procedure to Follow
Yes Commands N/A See note 1. “Recovering User Information Using
Commands–Checklist 24” on page 108
Yes Save menu No Yes “Using Option 21 from the Restore
option 21 Menu–Checklist 25” on page 112
Yes Save menu Yes N/A “Recovering User Information Using
option 21 Commands–Checklist 24” on page 108
Yes Save menu No No “Recovering User Information Using
option 21 Commands–Checklist 24” on page 108
Yes Save menu No Yes “Using Options 22 and 23 from the Restore
option 22 Menu–Checklist 26” on page 114
Save menu
option 23
Yes Save menu Yes N/A “Recovering User Information Using
option 22 Commands–Checklist 24” on page 108
Save menu
option 23
Yes Save menu No No “Recovering User Information Using
option 22 Commands–Checklist 24” on page 108
Save menu
option 23
Yes Save menu No Yes “Using Options 22 and 23 from the Restore
option 21 Menu–Checklist 26” on page 114
Save menu
option 23
Save menu
option 23
Yes Save menu No No “Recovering User Information Using
option 21 Commands–Checklist 24”
Save menu
option 23
Yes Operational N/A N/A “Recovering User Information Using Tapes
Assistant from Operational Assistant
Backup2 Backup–Checklist 27” on page 117
No Any N/A N/A “Recovering User Information Using
Commands–Checklist 24”
1
If you save using commands rather than menu options, you should recover using commands.
2
You have saved using either the RUNBCKUP command or the Run Backup menu.
Before you begin recovering user information, make a copy of this checklist. Fill
in the appropriate areas as you perform the recovery steps. This checklist provides
an important record of your recovery actions. It may help you diagnose any
problems that occur after the recovery. It may also be useful in evaluating your
backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects and
applying journal changes, if they do not apply in your situation.
When you are restoring from tape, you tell the system whether or not to rewind the tape. If you are using tape in
the tasks that follow, specify ENDOPT(*LEAVE) when you have additional steps. Specify ENDOPT(*REWIND) for your last
step.
Task 8 Restore user profiles: RSTUSRPRF DEV(TAP01) “Restoring User Profiles” on page 214.
USRPRF(*ALL)
Task 9 Restore device configuration: RSTCFG “How to Restore Configuration
OBJ(*ALL) OBJTYPE(*ALL) DEV(TAP01) Objects” on page 227.
Task 10 If you configured an independent ASP Use the vary configuration (VRYCFG)
through Operations Navigator at DST, you command or the Operations Navigator
need to verify the RESOURCE and vary on interface to vary off the independent
the independent ASP now. This will create a ASP.
directory for the independent ASP and
automatically mount the UDFS to that
directory.
Task 11 Once you vary on the independent ASP, you You can display where UDFS are
need to unmount ’/dev/iasp- mounted with the DSPUDFS
name/QDEFAULT.UDFS’ because you saved command. Then use the UNMOUNT
the independent ASP when it was varied off. command.
or a
DSPJOBLOG * *PRINT
1
Your system must be in a restricted state to restore user profiles. Other steps in the recovery may not
require a restricted state. However, to ensure the success of your recovery and better performance when
you are restoring information, a restricted state is recommended.
2
For the delay parameter, specify a number of seconds that allows your system time to bring most jobs to a
normal end. On a large, busy system, you may need a longer delay.
3
You may receive one of the following messages:
CPD377A: Object not restored, /QNTC.
CPD377A: Object not restored, /QNetWare.
These objects cannot be restored until their file systems have been mounted during the IPL. The additional
recovery tasks will guide you through the steps to restore these objects.
Note: Since the OS/400 Enhanced Integration for Novell NetWare resides on a remote server, you do not
have to restore your Netware data when you restore your server. Previously, the OS/400 Integration for
Novell NetWare product ran on a Integrated xSeries Server and you had to restore the Novell product if
you completely restored your server.
Before you begin recovering user information, make a copy of this checklist. Fill
in the appropriate areas as you perform the recovery steps. This checklist provides
an important record of your recovery actions. It may help you diagnose any
problems that occur after the recovery. It may also be useful in evaluating your
backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects and
applying journal changes, if they do not apply in your situation.
Note: An option is available on the restore menu that indicates that you are
restoring to a different system. If you selected this option, the system
automatically specifies the first two items that are listed above. You
should also specify this option if you are restoring to a different logical
partition.
1
You may receive one of the following messages:
CPD377A: Object not restored, /QNTC.
CPD377A: Object not restored, /QNetWare.
These objects cannot be restored until their file systems have been mounted during the IPL. The additional
recovery tasks will guide you through the steps to restore these objects.
Note: Since the OS/400 Enhanced Integration for Novell NetWare resides on a remote server, you do not
have to restore your Netware data when you restore your server. Previously, the OS/400 Integration for
Novell NetWare product ran on a Integrated xSeries Server and you had to restore the Novell product if
you completely restored your server.
Before you begin recovering user information, make a copy of this checklist. Fill
in the appropriate areas as you perform the recovery steps. This checklist provides
an important record of your recovery actions. It may help you diagnose any
problems that occur after the recovery. It may also be useful in evaluating your
backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects and
applying journal changes, if they do not apply in your situation.
Table 34. Checklist for Recovering User Information Using Options 22 and 23
Task What To Do Where To Read More About It
Task 1 If necessary, change the QALWOBJRST “Controlling Restoration of
system value back to its original value by Security-Sensitive Objects” on page 50.
using the WRKSYSVAL command. Write the
old value here: ______________
| Task 2 If necessary, change the QVFYOBJRST “Controlling Restoration of
| system value back to its original value by Security-Sensitive Objects” on page 50.
| using the WRKSYSVAL command. Write the
| old value here: ______________
or a
DSPJOBLOG * *PRINT
1
You may receive one of the following messages:
CPD377A: Object not restored, /QNTC.
CPD377A: Object not restored, /QNetWare.
These objects cannot be restored until their file systems have been mounted during the IPL. The additional
recovery tasks will guide you through the steps to restore these objects.
Note: Since the OS/400 Enhanced Integration for Novell NetWare resides on a remote server, you do not
have to restore your Netware data when you restore your server. Previously, the OS/400 Integration for
Novell NetWare product ran on a Integrated xSeries Server and you had to restore the Novell product if
you completely restored your server.
Before you begin recovering user information, make a copy of this checklist. Fill
in the appropriate areas as you perform the recovery steps. This checklist provides
an important record of your recovery actions. It may help you diagnose any
problems that occur after the recovery. It may also be useful in evaluating your
backup strategy.
Most steps in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular step.
You may not need to perform some steps, such as restoring changed objects and
applying journal changes, if they do not apply in your situation.
Table 35. Checklist for Recovering User Information Using Operational Assistant Backup Tapes
Task What To Do Where To Read More About It
Task 1 If your system is operational and the
QUSRSYS library is on the system, print the
Backup Status and the Backup History by
typing: DSPBCKSTS OUTPUT(*PRINT).
or a
DSPJOBLOG * *PRINT
1
Your system must be in a restricted state to restore user profiles. Other steps in the recovery may not
require a restricted state. However, to ensure the success of your recovery and better performance when
you are restoring information, a restricted state is recommended.
2
For the delay parameter, specify a number of seconds that allows your system time to bring most jobs to a
normal end. On a large, busy system, you may need a longer delay.
3
You may receive one of the following messages:
CPD377A: Object not restored, /QNTC.
CPD377A: Object not restored, /QNetWare.
These objects cannot be restored until their file systems have been mounted during the IPL. The additional
recovery tasks will guide you through the steps to restore these objects.
Note: Since the OS/400 Enhanced Integration for Novell NetWare resides on a remote server, you do not
have to restore your Netware data when you restore your server. Previously, the OS/400 Integration for
Novell NetWare product ran on a Integrated xSeries Server and you had to restore the Novell product if
you completely restored your server.
The Install Licensed Internal Code (LIC) menu provides several methods for
loading the Licensed Internal Code to your system. Table 36 describes the options
and how they are used:
Table 36. Options from the Install the Licensed Internal Code (LIC) Menu
Option Number Description Purpose
1 Restore Licensed Internal Restores the Licensed Internal Code without removing other
Code information that is on the system. Option 1 is similar to Function
Code 23 on earlier versions of the iSeries or AS/400e server.
Option 1 is normally used in the following situations:
v You are encountering problems with the operating system, such
as damaged objects. You sometimes need to restore the
Licensed Internal Code before restoring the operating system.
v The software support center recommends it.
v You have replaced a failed disk unit other than unit 1 in the
system ASP.
v You are updating your system to a new release. See the Software
Installation book for the procedures to install a new release of
the iSeries server.
2 Install the Licensed Internal Installs the Licensed Internal Code and removes all data from all
Code and Initialize system disk units. Option 2 is similar to Function Code 24 on earlier
versions of the iSeries or AS/400e server. Option 2 is normally
used in the following situations:
v You are doing a restore operation using the SAVSTG media.
v You are restoring to another system to recover from a complete
system loss.
v You are recovering with SAVSYS media that is at a previous
release than what is currently installed on the system.
The recovery checklists in Chapter 4 specify which procedures in this chapter are
required for your situation.
Attention!
Make sure you use the correct procedure for your situation. Some of the
procedures in this chapter will remove all data from your system.
v If you enabled your device as an alternate installation device, you will need the
Licensed Internal Code CD-ROM. (An alternate installation device is an alternate
IPL device that is connected to a bus other than the system bus (bus 1).) Refer to
“Chapter 23. Using an Alternate Installation Device” on page 635 for more
information.
v If you do not have current SAVSYS media or they are damaged, you need the
following:
– The distribution media (optical media or tape) that is supplied by IBM.
– All the optical media for program temporary fixes you have applied. Use the
distribution media only if you do not have SAVSYS media. If you use the
distribution media to restore the Licensed Internal Code, you will lose some
of your system information, such as the program temporary fixes you have
applied.
v The list of all the program temporary fixes (PTFs) applied to your system at the
time you saved the entire system. This list should be attached to your backup
log or found with your SAVSYS media.
v The keystick for the system if it is not already inserted in the control panel.
v The manual for the tape or optical device that is your alternate IPL device. It
describes other SRC codes you might see.
Attention: If you are loading the Licensed Internal Code in a secondary partition,
you do not need to power down the system.
Note: Specify a number of seconds for the delay parameter that is long enough
for your system to bring most jobs to a normal end. On a large, busy
system, you may need more time.
Note: When the Power On light goes off, continue with the next task.
Do the following:
1. If your system unit has a lock on the control panel, use the key or keystick to
unlock the control panel.
2. Place the system in Manual mode.
3. Press the Function Select switch (or buttons) to display 02 (IPL) in the Function
display.
4. Press the Enter button on the control panel.
5. Press the Function Select switch (or buttons) to display D (IPL from tape, optical
media, or CD-ROM) in the Data display.
6. Press the Enter button on the control panel.
7. Ensure that any switches for the alternate IPL device and for all disk units are
in the On position.
2. Place the media volume in the device that you use for the IPL, or place the
optical media in the optical disk unit. When you start the IPL, the system
searches the alternate IPL devices for the correct media. For more information
on loading the tape or optical media, see the setup manual for the device.
Notes:
a. If you cannot load your alternate IPL device when the power is off,
continue with the next step. The system prompts you later with an SRC
code for the tape device or optical device.
b. If you use a tape device that you enabled as an alternate installation
device, you must load both the Licensed Internal Code CD-ROM and your
tape media. (An alternate installation device is an alternate IPL device that
is connected to a bus other than the system bus (bus 1).) Refer to
“Chapter 23. Using an Alternate Installation Device” on page 635 for more
information.
3. Turn on the power to the system.
4. If you could not load your media volume in step 2, load the first media
volume into the device that you use for IPL. Make the device ready and then
continue with the next step.
Note: If you did not power down your system after ending the subsystems,
do the following:
a. Press the Function Select switch (or buttons) to display 03 (continue
the IPL) in the Function display on the control panel.
b. Press the Enter button on the control panel.
5. Ensure that the tape device or optical device is online or ready. No action is
required for devices that perform this step automatically (such as the tape
cartridge unit).
6. Ensure that the console display is turned on. After a delay, you should see the
Install Licensed Internal Code menu. The length of the delay varies,
depending on your system configuration and the speed of your alternate IPL
device. The delay is usually between 5 minutes and 30 minutes. When you see
this menu, continue with step 7 on page 128.
If the system attention light appears and one of the SRC codes that are shown
in Table 37 is displayed in the Data display, complete the instructions for that
SRC code.
Note: If you are using logical partitions, the SRC codes will be shown from
the primary partition on the Work with Partition Status or the Monitor
Partition Status displays.
Table 37. SRC Codes When Loading the Licensed Internal Code
SRC Code Why It Appears What You Do
A1xx 1933 The device for the alternate IPL is not Make sure that you loaded the
A12x 1933 ready. correct media volume. Make the
(’x’ is any device unit ready. Wait for the
character) System Attention light to go off.
Then continue with the next step.
If the Sytem Attention light stays
on for more than 5 minutes, check
to see if you have the correct tape
loaded in the device for the
alternate IPL and make the device
ready. Then continue with the next
step.
If the System Attention light is lit and no SRC code appears on the control
panel, do the following:
a. Press the Function Select switch (or buttons) to display 03 (continue the
IPL) in the Function display on the control panel.
b. Press the Enter button on the control panel.
Then continue with the next step.
7. You are shown the Install Licensed Internal Code (LIC) display.
If you have an alternate installation device attached to the system, perform
Install Licensed Internal Code
steps 8 through 10. If you do not have an alternate installation device attached
to the system, type a 1 and press the Enter key.
currently defined. You can use the F2 key to deselect the current bus and then
use option 1 to select another. All buses that exist on the system are displayed.
After pressing the Enter key, there will be a brief delay (up to 10 minutes)
while the bus is initialized. Following this delay, the Select Alternate
Installation Device screen appears.
Select Alternate Installation Device
System: YOURSYS
Type option, press Enter.
1=Select 5=Details
Resource Serial
Option Name Type Model Number Selected
_ TAP01 6380 001 00-1017187
_ TAP08 3287 030 32-234333
_ TAP02 6380 001 00-2017187
_ TAP05 3287 030 72-234333 *
_ TAP09 6380 001 00-1015187
_ TAP16 3287 030 22-234633
Type a 1 in the Option field to select the device you wish to use, and press the
Enter key.
Note: When installing from an alternate installation device, be sure that only
one device contains valid install media. This will prevent the wrong
version of the Licensed Internal Code from being installed.
Stop!
You are now ready to recover your Licensed Internal Code. Consult your
recovery checklist before continuing. The checklist tells you the correct option
to select from the Install Licensed Internal Code (LIC) display.
If you are using an alternate installation device and you receive an error
screen, it may be due to one of the following conditions:
v You are trying to install from CD-ROM when an alternate installation
device is enabled.
v You are trying to use an alternate installation device which is not enabled.
Review “How to Set Up an Alternate Installation Device” on page 635 and
“How to Disable an Alternate Installation Device” on page 638 and perform
the appropriate procedure.
Note: You may find that the address information is not available, or that the
system configuration has changed so that the address information is
not correct. If this occurs, you must determine the address information
by a physical inspection of your system configuration. This inspection
can be difficult and may vary depending on your system model and
the specific configuration of your IO buses. For this reason, IBM
recommends that you call your next level of support for assistance in
determining the addresses you need for the alternate installation
device. A service agreement may be required for this type of assistance.
To complete the procedure for loading the Licensed Internal Code to your system
during a recovery, do the following:
1. You should see the Install Licensed Internal Code (LIC) display:
Attention!
Be sure you consult the correct recovery checklist before selecting an
option from the Install Licensed Internal Code (LIC) display. Some options
remove all data from your system.
Warning:
All data on this system will be destroyed and the Licensed
Internal Code will be written to the selected disk if you
choose to continue the initialize and install.
Warning:
All data on the selected disk will be destroyed and the Licensed
Internal Code will be written to this disk if you choose to
continue the install. When the install is complete, an IPL
will be done and you will be prompted to continue the recovery
of the DASD configuration.
Warning:
All data on the selected disk will be destroyed and the Licensed
Internal Code will be written to this disk if you choose to
continue the install. When the install is complete, an IPL
will be done and you will be prompted to restore the disk unit
data that you previously saved.
Warning:
All data on the selected disk will be destroyed and the Licensed
Internal Code will be written to this disk if you choose to
continue the install. When the install is complete, an IPL
will be done and you will be prompted to complete the upgrade.
4. You are shown the Install Licensed Internal Code–Status display. You do not
need to respond to this display. The system shows this display for
approximately 30 minutes.
+-----------------------------------------+
Percent complete | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
+-----------------------------------------+
0 20 40 60 100
Please wait.
______________________________________________________________________
Stop!
You have finished loading your Licensed Internal Code.
If you are using logical partitions, and you have installed the Licensed Internal
Code to the primary partition, you will receive the following message on the Disk
Configuration Error Report display:
This message indicates that the partitioning configuration should be recovered.
Disk Configuration Error Report
OPT Warning
___ Unit has incorrect logical partition configuration
Perform the steps that are listed below in How to Recover Your Logical Partition
Configuration.
7. Review the information for the displayed disk unit. Ensure that the Last
Updated and System Serial Number fields contain reasonable information. Type
a 1 to select the disk, and press the Enter key.
8. Press Enter to accept the recovery.
The system automatically copies the configuration data to the primary
partition’s load source, and performs an IPL to DST.
If you are restoring one partition with a previously mirrored load source, you may
continue to receive an error message after the IPL to DST. The message text is
″Unit has incorrect logical partition configuration″.
If you receive this message, you must clear this obsolete configuration by
performing the following steps:
1. After receiving the error message, use option 5 to determine which disk unit
has the obsolete partition configuration.
2. Exit the configuration error by pressing F3 to go to the DST menu.
3. From the Use Dedicated Service Tools menu, select option 11, Work with
system partitions.
4. Select option 4 (Recover configuration data).
5. Select option 3 (Clear non-configured disk unit configuration data).
6. Select the disk unit that was originally reported for the partition configuration
error.
7. Press F3 to return to the DST menu.
8. Select option 7, Start a service tool.
9. At the Start a Service Tool display, select option 7, Operator panel functions.
10. At the Operator Panel Functions display, press F8 to restart.
Stop!
You have completed recovering your logical partition configuration. Select
from the following options:
v If you are loading the Licensed Internal Code as part of the steps of
“Chapter 14. How to Restore the System from the Save Storage Media” on
page 311 you will see the Disk Configuration Attention Report displayed.
Select F3=Exit to Dedicated Service Tools (DST). Return to Chapter 14
and continue the Restore Storage procedures.
v If you selected option 2 from the Install Licensed Internal Code display,
continue with “How to Recover Your Disk Configuration After Installing
the Licensed Internal Code and Initializing the System”.
v If you selected option 3 from the Install Licensed Internal Code display,
continue with “How to Recover Your Disk Configuration” on page 142.
v If you selected option 4 from the Install Licensed Internal Code display,
continue with the recovery steps to restore disk unit data to the new load
source disk unit.
v If you selected option 5 from the Install Licensed Internal Code display,
continue with the recovery steps to upgrade the load source disk unit from
an IMPI-based system to a PowerPC-based system.
v If you do not need to restore the operating system, continue with “How to
Start Your System After Restoring Licensed Internal Code” on page 145.
OPT Warning
___ New disk configuration
2. If you type a 5 in the option column (OPT), you are shown the following
display:
3. Press F10 or enter to accept the new disk configuration and continue.
4. Perform the following steps:
a. Create all logical partitions. Refer to “Chapter 30. Creating Logical
Partitions” on page 747 for information on creating logical partitions.
b. Initialize all of the non-load source disk units on your system.
c. Define which ASP each disk unit is configured in.
d. Determine which ASPs to start mirrored protection on.
Stop!
You have now completed installing your Licensed Internal Code.
Continue with the next step on your recovery checklist, which is
restoring the operating system.
5. Press F3 (Exit to Use Dedicated Service Tools (DST) menu). The Use Dedicated
Service Tools (DST) menu display is shown:
DST user . . . . . . . . . .
DST password . . . . . . . .
6. From the Use Dedicated Service Tools (DST) menu, select option 4 (Work with
disk units).
7. From the Work with Disk Units menu, select option 2 (Work with disk unit
recovery).
8. From the Work with Disk Unit Recovery menu, select option 5 (Recover disk
configuration).
Press F10 to ignore problems and continue.
Problem Report
Note: Some action for the problems listed below may need to
be taken. Please select a problem to display more detailed
information about the problem and to see what possible
action may be taken to correct the problem.
OPT Problem
_ Load Source has been re-built
_ ASPs will be cleared
Stop!
You have now completed installing your Licensed Internal Code. Continue
with the next step on your recovery checklist, which is restoring the operating
system.
| These steps allow you to use the dedicated service tools (DST) debug mode to
| access disk management functions in Operations Navigator where you can
| configure disk units in system, basic, and independent auxiliary storage pools
| Note: You must have configured the Service Tools Network Interface in order to
| do these steps.
| 1. You may have received a Disk Configuration Attention Report like the one
| below after you loaded the Licensed Internal Code. If so, press F10 to accept
| the problems and continue.
| DISK CONFIGURATION ATTENTION REPORT
|
| TYPE OPTION, PRESS ENTER.
| 5=DISPLAY DETAILED REPORT
|
| PRESS F10 TO ACCEPT ALL THE FOLLOWING PROBLEMS AND CONTINUE.
| THE SYSTEM WILL ATTEMPT TO CORRECT THEM.
|
| OPT PROBLEM
| NEW DISK CONFIGURATION
|
|
| 2. From the IPL or Install the System menu, select option 3 (Use Dedicated
| Service Tools (DST).
| IPL or Install the System
|
| Select one of the following:
| 1. Perform an IPL
| 2. Install the operating system
| 3. Use Dedicated Service Tools (DST)
| 4. Perform automatic installation of the operating system
| 5. Save Licensed Internal Code
||
| 3. On the Dedicated Service Tools (DST) Sign On display, sign on as QSECOFR /
| QSECOFR.
| Dedicated Service Tools (DST) Sign On
|
| Type choices, press Enter.
|
| Service tools user . . . . . . . . . . . QSECOFR
| Service tools password . . . . . . . . . _
|
|
|
| 4. Change the password for the QSECOFR user profile on the resulting screen, as
| the password is expired after the first use.
| Change Service Tools User Password
|
| Service tools user profile name . . . . . : QSECOFR
| Password last changed . . . . . . . . . . : 02/05/01
|
| Type choices, press Enter.
| Current password . . . . . . . . . . . . _
|
| New password . . . . . . . . . . . . . .
|
| New password (to verify) . . . . . . . .
|
||
| 5. On the Use Dedicated Service Tools (DST) menu, select option 6, Select DST
| console mode.
| Stop!
| You have now completed installing your Licensed Internal Code. Continue
| with the next step on your recovery checklist, which is restoring the operating
| system.
|
|
|
How to Recover Your Disk Configuration
When you install the Licensed Internal Code by using option 3 from the Install
Licensed Internal Code (LIC) menu, the system does the following:
v Clears disk unit 1. Disk unit 1 contains information about how all the other disk
units on your system are configured.
v Prepares to delete all data in the system ASP. The system ASP is not actually
cleared until you perform the IPL after installing the Licensed Internal Code.
Every disk unit on your system contains information about how it is configured.
Dedicated services tools (DST) provides an option to recover the disk configuration
on your system by using this information. The system reads every disk, assigns it
to the correct auxiliary storage pool (ASP), and rebuilds the disk configuration
information on unit 1.
In many cases, you can recover your disk configuration and avoid having to reload
all your user ASPs. To recover your disk configuration, do the following:
1. When you complete installing the Licensed Internal Code, you are shown the
Disk Configuration Error Report display on the A or B mode IPL:
OPT Error
___ Missing disk configuration
DST user . . . . . . . . . .
DST password . . . . . . . .
3. Sign on to Dedicated Service Tools. The system displays the Use Dedicated
Service Tools menu. If you are using logical partitions, and you wish to recover
the primary partition, continue with the following steps. If you are not using
logical partitions, continue with step 4.
4. From the Use Dedicated Service Tools (DST) menu, select option 4 (Work with
disk units).
5. From the Work with Disk Units menu, select option 2 (Work with disk unit
recovery).
6. From the Work with Disk Unit Recovery menu, select option 5 (Recover disk
configuration).
Note: Some action for the problems listed below may need to
be taken. Please select a problem to display more detailed
information about the problem and to see what possible
action may be taken to correct the problem.
OPT Problem
_ Load Source has been re-built
_ ASPs will be cleared
Serial Resource
ASP Unit Number Type Model Name Status
__ ____ __________ ____ ___ _____________ ______________________
__ ____ __________ ____ ___ _____________ ______________________
__ ____ __________ ____ ___ _____________ ______________________
__ ____ __________ ____ ___ _____________ ______________________
__ ____ __________ ____ ___ _____________ ______________________
__ ____ __________ ____ ___ _____________ ______________________
More...
7. Check the configuration of disk units on the display. The display shows the
disk units that are assigned to each user ASP and to the system ASP (ASP 1).
The warning on the display means that the system will clear all data on disk
units in the system ASP.
If this configuration is not correct, contact a service representative or software
support for assistance. Do not proceed further without getting help.
If the configuration that is shown is correct, press F10 to confirm the
configuration. The system builds the configuration information and returns to
the DST menu.
8. Press F12 to cancel the DST menu. You are shown the IPL or Install the System
menu.
Stop!
You have now completed installing your Licensed Internal Code. Continue
with the next step on your recovery checklist, which is restoring the operating
system.
Do the following:
1. Select option 1 (Perform an IPL) on the IPL or Install the System menu. When
the IPL completes, the Sign On display is shown.
2. If your operator panel has a keylock switch, turn the key in the keylock switch
to the normal position.
3. Sign on the system as QSECOFR.
4. If the Select Product to Work with PTFs display appears, press F3 (Exit) to
continue the IPL.
5. Press the Enter key in response to any messages that are displayed.
6. When you are shown the IPL options display, type your choices and press the
Enter key.
IPL Options
System date . . . . . . . . . . . . . . 07 / 26 / 88
System time . . . . . . . . . . . . . . 12 : 00 : 00
Clear job queues . . . . . . . . . . . . N
Clear output queues . . . . . . . . . . N
Clear incomplete job logs . . . . . . . N
Start print writers . . . . . . . . . . Y
Start system to restricted state . . . . N
Stop!
You have now completed starting your system after recovering the Licensed
Internal Code. Consult your recovery checklist to determine the next step in
your recovery process.
Disabling and Enabling the High-Speed Feature on the 2440 Tape Unit
If you have a 2440 Tape Unit with the high-speed feature enabled, it must be
disabled before you can install or restore the Licensed Internal Code. After the
restore operation, you can enable the high speed again. The high-speed feature is
disabled or enabled from the control panel on the 2440 Tape Unit.
A B C
1 2 3
D E F
4 5 6
CMD
7 8 9
CLR
0 EXEC
RV2W422-0
Disabling the High-Speed Feature: To disable the high-speed feature before the
restore operation, do the following from the control panel:
1. Press the arrow key and then the CMD 7 key.
2. Press the 9 key and then the 2 key.
3. Press the EXEC key.
4. Press the arrow key and then the CMD 7 key.
5. Press the 9 key and then the 3 key.
6. Press the EXEC key.
7. Press the arrow key and then the CMD 7 key.
8. Press the 6 key twice.
9. Press the EXEC key.
10. Press the 1 key.
11. Press the EXEC key.
Enabling the High-Speed Feature: To enable the high-speed feature after the restore
operation, do the following from the control panel:
1. Press the arrow key and then the CMD 7 key.
2. Press the 9 key and then the 2 key.
3. Press the EXEC key.
4. Press the arrow key and then the CMD 7 key.
5. Press the 9 key and then the 3 key.
6. Press the EXEC key.
7. Press the arrow key and then the CMD 7 key.
8. Press the 6 key twice.
9. Press the EXEC key.
10. Press the CLR 0 key.
11. Press the EXEC key.
Why You Restore the Operating System: You might need to restore the operating
system for several reasons, such as:
v You are encountering problems with the operating system, such as damaged
objects.
v The software support center recommends it.
v You have replaced a disk unit in the system ASP.
v You are updating your system to a new release. See the following books for
procedures to install a new release of the iSeries server:
– Software Installation
– AS/400 Road Map for Changing to PowerPC Technology
– iSeries 940x RISC-to-RISC Road Map
Attention!
DO NOT use a media volume that you created through DST by using
option 5=Save Licensed Internal Code from the IPL or Install the System
menu unless Software Services instructs you to do so. This process creates
a media volume that does not contain the Licensed Internal Code PTF
Inventory information or the OS/400 Operating System. If you perform the
recovery process using this media volume, you will have to re-install the
Licensed Internal Code from either a SAVSYS media volume or from your
distribution media before you can load any PTFs onto your system.
v If you do not have current SAVSYS media or they are damaged, you need the
following:
– The distribution media that is supplied by IBM
– All the media for program temporary fixes (PTFs) that you have applied.
v The list of all the PTFs applied to your system at the time you saved the entire
system. You should attach this list to your backup log or keep it with your
SAVSYS media.
v The key or keystick for the system.
v The DST password, if you have set up your system with the installation of the
operating system secured.
v The QSECOFR password that is associated with the SAVSYS media that you are
using.
Use the recovery checklist that you selected in Chapter 4 to determine the correct
procedure for your situation. You also need to know whether you are restoring
from SAVSYS media or the IBM-supplied distribution media. Use the distribution
media only if you do not have usable SAVSYS media.
Attention!
DO NOT use media that was created through DST by using option
5=Save Licensed Internal Code from the IPL or Install the System menu
unless you have been instructed to do so by Software Services. Media
created through this process does not contain the Licensed Internal Code
PTF Inventory information or the OS/400 Operating System. If you
perform the recovery process using this media, you will have to re-install
the Licensed Internal Code from either SAVSYS media or from your
distribution media before you can load any PTFs onto the system.
| Note: If you had to replace the load-source disk unit in the primary
| partition, you must use the directly attached console, option 2,
| to perform the restore operation.
| __ 7. Press F3 or F12 to get back to the IPL or Install the System screen.
Attention!
DO NOT use media that you created through DST by using option
5=Save Licensed Internal Code from the IPL or Install the System menu
unless you have been instructed to do so by Software Services. Media
created through this process does not contain the Licensed Internal Code
PTF Inventory information or the OS/400 Operating System. If you
perform the recovery process using this media, you will have to re-install
the Licensed Internal Code from either SAVSYS media or from your
distribution media before you can load any PTFs onto the system.
2. From the IPL or Install the System display, select option 2 (Install the
operating system).
Press Enter to confirm your choice to install the operating system. Press
F1 to return and cancel your choice to install the operating system.
4. Press the Enter key. If you see the Dedicated Service Tools (DST) Sign On
display, continue with step 5. If you see the Select a Language Group display,
skip to step 6.
5. If your system is set up to prevent unauthorized installation of the operating
system, you are shown the following display:
Dedicated Service Tools (DST) Sign On
Type the DST user and the DST password and press the Enter key. You see the
Select a Language Group display.
Notes:
| a. The DST user and DST password are case sensitive. Type QSECOFR, the
| default user and password, in all capital letters.
b. The DST user is the same as the shipped value for the password at the
DST level. The DST user for security level DST is QSECOFR.
c. If your current DST password does not work, the password may have
been reset to the shipped value. Try QSECOFR as the DST password.
d. For more information about preventing unauthorized installation of the
operating system, see the iSeries Security Reference book.
6. You are shown the Select a Language Group display:
Select a Language Group
Note: The language feature shown is the language feature installed on the
system.
Attention: To keep the same primary language, ensure that the media you use
for installing the operating system matches the language feature shown.
If the operating system media does not match what is shown, the
installation process will attempt to install the operating system in a
different language feature than Licensed Internal Code.
This is undesirable. Type choice, press Enter.
This display shows the primary language currently on the save media that
you are restoring.
This value should match the value that is already on your system. If it does
not, check to ensure that you have the correct save media. If you change the
value on the display, you will be prompted to insert different media to load a
different language feature. Press the Enter key. You are shown the Confirm
Language Feature Selection display.
Note: If you have to change your system’s primary language, see the Software
Installation book for more information.
If you see the Add All Disk Units to the System display, continue with step 8.
If you see an IPL status message display, skip to step 10 on page 153.
8. This display is shown only if disk units are in nonconfigured status:
9.
Add All Disk Units to the System
After selecting option 3, you receive an Attention Report display. Take the
directed action for more detailed information, if necessary. Otherwise, press
F10 to accept the problems and continue.
The following list shows some of the IPL steps that are shown on the IPL Step
in Progress display:
v Authority Recovery
v Journal Recovery
v Database Recovery
v Journal Synchronization
v Start the Operating System
While the system is performing the IPL, system reference codes (SRCs) are
displayed on the control panel of the system unit to indicate what step is in
progress. The iSeries Service Functions book describes these SRCs. If the same
SRC is displayed for a long time in solid (not flickering) lights, your system
may have a problem completing the IPL. Look up the SRC in the iSeries
Licensed Internal Code Diagnostic Aids - Volume 1 book or contact software
support.
The system may prompt you for additional volumes of your SAVSYS media or
the distribution media. Follow the instructions on the display.
After the IPL steps complete, the Install the Operating System menu appears:
Install the Operating System
Install
option . . . . __ 1=Take defaults (No other
options are displayed)
2=Change install options
Date:
Year . . . . . __ 00-99
Month . . . . __ 01-12
Day . . . . . __ 01-31
Time:
Hour . . . . . __ 00-23
Minute . . . . __ 00-59
Second . . . . __ 00-59
Note: If you are doing a complete restore operation and restoring a primary
language other than English or if you have changed the shipped
value of the QDATFMT system value, you must select option 2
(Change install options). This ensures the language-dependent system
values are restored correctly.
Distribute OS/400 on
available disk units __ 1=Yes, 2=No
4. Type your choice for the Restore option prompt based on the following:
Note: Consult the Software Installation book if you want to change the
primary language. You should avoid changing the primary
language during a recovery.
5. Type your choice for the Clear Job and Output Queues prompt based on the
following:
1 = Clear
If you do not want to keep any spooled files or entries on job queues
after the installation or if you know they are damaged, select this
option. The system removes all jobs on job queues and spooled files. It
re-creates any internal objects associated with them. You should select
8. Type your choice for the System information prompt based on the following:
Note: For more information about system values, see the Work Management
book. For more information about access path recovery times, see
Chapter 18.
9. Type your choice for the Edit descriptions prompt based on the following:
1 = Restore
The system restores the edit descriptions from media. Select this
option if:
v The edit descriptions are damaged.
v You want to restore them to their values from your last save
operation.
v You installed the Licensed Internal Code by using option 2 or
option 3 from the Install Licensed Internal Code (LIC) display.
2 = Do not restore
The edit descriptions currently on the system are not changed.
10. Type your choice for the Message Reply List prompt based on the following:
1 = Restore
The system restores the reply list from media. Select this option if:
v The message reply list is damaged.
v You want to restore it to its values from your last save operation.
v You installed the Licensed Internal Code by using option 2 or
option 3 from the Install Licensed Internal Code (LIC) display.
2=Do not restore
The message reply list currently on the system is not changed.
The default for these options is 2 if the operating system is loaded on the
system. The default is 1 if the operating system is not already loaded.
11. Type your choice for the Job descriptions prompt based on the following:
1 = Restore
The system restores the job descriptions from media.
3 = Keep customization
The system restores the objects from media and customizes them with
the values from the same objects that are already on the system.
12. Type your choice for the Subsystem descriptions prompt based on the following:
1 = Restore
The system restores the subsystem descriptions from media.
3 = Keep customization
The system restores the objects from media and customizes them with
the values from the same objects that are already on the system.
15. Continue loading media in sequence when messages are shown that ask you
to load additional media. The system searches through the media and loads
the necessary programs and language information. After processing all the
system save media or distribution media, the system may display the
following message at the bottom of a blank display:
Operating system has been installed. IPL in progress.
When the IPL is complete, the IPL Sign On display is shown and the system
in ready to complete the IPL. Continue with the next task.
Note: If you do not know the QSECOFR password, you can use DST to reset
the password to its shipped value of QSECOFR.
Product
Opt Product Option Release
_ 5769999 *BASE V4R5M0
_ 5769SS1 *BASE V4R3M0
IPL Options
System date . . . . . . . . . . . . . . 07 / 26 / 88
System time . . . . . . . . . . . . . . 12 : 00 : 00
Clear job queues . . . . . . . . . . . . N
Clear output queues . . . . . . . . . . N
Clear incomplete job logs . . . . . . . N
Start print writers . . . . . . . . . . Y
Start system to restricted state . . . . N
The values that appear as defaults depend on the recovery steps you have
performed.
5. If the system date and system time are not correct, type the correct values. If
you installed the Licensed Internal Code using option 2 or option 3, the date
and time may be blank. The system date must have a year value in the range
of 87 to 99, or 00 to 22.
6. Type your choice for the Start print writers prompt based on the following:
N = No
Select this value if you are going to restore user profiles, device
configuration objects, user libraries, and authorities.
Y = Yes
Select this value if you have completed your recovery.
Attention!
If you are restoring to a system with a different processor or memory, you
must ensure that the QMCHPOOL, QBASPOOL, and QPFRADJ system
values are correct.
As a general rule, if the main storage size is 64M or larger, change the
QMCHPOOL system value to be 15 percent of the main storage size. If the
main storage size is less than 64M, change the QMCHPOOL system value
to be 20 percent of the main storage size. For a more precise setting of the
QMCHPOOL system value, refer to the Work Management book.
The QBASPOOL system value should be equal to the size of all the
unallocated storage.
a. From the Define or Change the System at IPL menu, select option 3 (System
value commands) and press the Enter key.
b. Select option 3 (Work with system values) and press the Enter key.
c. Type a 2 in the column next to the QALWOBJRST, QJOBMSGQFL, and any
other system values that you want to change and press the Enter key.
d. Change the QALWOBJRST system value to *ALL, and change the
QJOBMSGQFL system value to *PRTWRAP. Change any other system
values that you want to change and press the Enter key.
e. Press F12 to return to the Define or Change the System
Note: Some system values cannot be changed at this time. You will need to
change these values later in the recovery process. After the IPL
completes, you should check to ensure that the system values you
changed in 3 are correct.
If you are restoring to the same system from your SAVSYS media, skip to 5 on
page 162.
4. If you are restoring to a different system with a different serial number, and
you selected install option 1 (Take defaults) on the Install the Operating
System menu, the following network attributes are reset to the shipped values.
If you are restoring from distribution media and have previously changed the
network attributes from the IBM-supplied defaults, you need to reset them. Do
the following:
a. From the Define or Change the System at IPL menu, select option 4
(Network attributes commands) and press the Enter key.
b. Select option 2 (Change network attributes). Press the Enter key to display a
list of network attributes.
c. Change the values to the correct network attributes and press the Enter key.
d. Press F12 (Cancel) to return to the Define or Change the System at IPL
menu.
5. If you are partially restoring (only some libraries), continue with step 6.
Otherwise, skip to step 7.
6. If you are partially restoring, you need to make sure that all libraries specified
in the QSYSLIBL and QUSRLIBL system values are on the system. Do the
following:
a. From the Define or Change the System at IPL menu, select option 3 (System
value commands). Press the Enter key.
b. Select option 3 (Work with system values) and press the Enter key.
c. Type a 2 in the Option column next to the system values you want to
change and press the Enter key.
d. Change the values to the correct values and press the Enter key.
e. Press F12 to return to the Define or Change the System at IPL menu.
7. Continue with “Task 6–Completing the IPL”.
“Task 2–Using the Edit Rebuild of Access Paths Display” on page 171
describes how to interpret and update this display.
A status message is sent to notify the user that the system is performing
access path recovery.
3. Make any changes and press the Enter key. If you have made changes, the
Edit Rebuild of Access Paths display is shown again confirming your changes
or showing your error messages. Repeat this step until the Display Access
Path Status display is shown or the IPL continues.
4. The Display Access Path Status display is updated every 5 seconds while the
system is rebuilding access paths:
IPL Threshold . . . . . . : 50
If you want to make changes, press F12 (Cancel) to return to the Edit Rebuild
of Access Paths display. If all access paths are rebuilt or you no longer want to
see the display, press F3 (Exit and continue IPL).
IPL Threshold . . . . . . : 50
If you want to make changes, press F12 (Cancel) to return to the Edit Check
Pending Constraints display. Press F3 (Exit and continue IPL) if all constraints
are verified or you no longer want to see the display.
8. Press the Enter key if QSYSOPR messages are displayed.
9. Press the Enter key to continue. If you restore the operating system from
distribution media, you may have a problem with sending messages or
creating documents if you have OfficeVision. To prevent errors, enter the
following command:
MRGMSGF QOFC/QZOFCMSG QSYS/QOFCMSG
10. You may receive A900 2000 on the control panel or message CPF0975, Console
did not vary on, on the console display. This occurs if your system
configuration was lost and you have disabled automatic configuration. The
system has created device description QCONSOLE to allow you to continue
the restore operation. You may also receive SRC A900 2000 if you perform an
IPL when the QIPLTYPE system value is set to 2. Do not create a user-defined
device description for the console display. This can cause unpredictable
results.
If you receive this message, perform the steps that are described in
“Recovering from SRC A900 2000” before continuing.
11. If you restored from the distribution media by using a 1/4-inch cartridge tape
drive, the light on the tape drive may still be on. After the system has finished
restoring the operating system, you may remove the tape while the light is on.
Stop!
When the Sign On display appears, you have completed restoring the
operating system. Consult your recovery checklist for the next step in your
recovery process.
Note: The following steps do not apply to the 3490 Models E and F. For these
models refer to “Creating a Configuration for Other Tape Units” on
page 166.
1. Use the Work with Hardware Resource (WRKHDWRSC) command to
determine the location of the tape controller.
WRKHDWRSC TYPE(*STG)
2. Create the controller description for the tape controller by doing the following:
a. Locate the resource name for the tape controller on the Work with Storage
Resources display. The value 34xx is displayed in the Type column.
b. Write down the name of the resource.
c. Type a 9 (Work with resource) in the OPT column next to name of the tape
controller and press the Enter key. You see the Work with Storage Resources
display.
d. Type 5 (Work with controller descriptions) in the option column in front of
the tape controller. You see the Work with Controller Descriptions display.
e. Type 1 (Create) in the option column on the top line.
f. Type the controller name (such as TAPCTL01) in the description field and
press the Enter key. You see the Create Controller Description display.
g. If necessary, type additional information on the display. Then press the
Enter key. You return to the Work with Controller Descriptions display.
h. If the controller description that you created does not appear, press F5
(Refresh).
3. To create device descriptions for the tape units that are attached to the
controller, do the following:
a. On the Work with Controller Descriptions display, press F23 (More options).
The list of options changes.
b. Type 9 (Work with associated descriptions) in the option column in front of
the tape controller. You see the Work with Associated Descriptions display.
c. Locate the resource for the tape unit. Because no device description exists,
the description says *NONE.
d. Write down the name of the tape resource.
e. Type a 1 (Create) in the Opt column next to the description of *NONE and
press the Enter key. You see the Create Device Desc (Tape) (CRTDEVTAP)
screen.
f. In the Device description field, type a name such as TAP01.
g. In the Resource name prompt, type the name that you wrote down in step
3d. (If you did not write it down, press F12 to return to the display. Repeat
steps 3d through 3g.)
h. Press the Enter key.
i. Additional parameters appear on the display.
j. If necessary, type additional information on the display. Then press the Enter
key. You return to the Work with Associated Descriptions display.
k. Press F5 (Refresh). The name of the description that you created should now
be associated with the resource.
SRC A900 2000 remains displayed on the control panel throughout the remaining
restore operations. When the final IPL of the system is complete, SRC A900 2000
disappears. The user-defined device description for the console display will be
restored when the Restore Configuration (RSTCFG) command is run later in the
recovery.
Stop!
When the Sign On display appears, you have completed restoring the
operating system. Consult your recovery checklist for the next step in your
recovery process.
OPT Error
_ Missing disk units in the configuration
Following a temporary power outage, you may see this display because power has
been restored to the processor but not to the peripheral devices. Wait to respond to
the display until power is restored to all the disk units. The system’s ability to
access all the disk units when the system is starting is important for a successful
recovery. If disk units are not available, the system may not be able to recover
changed pages of memory. This can lengthen the time it takes to perform the IPL.
Function 11 . . . . . : A1D03000
Function 12 . . . . . : 69B0015F
Function 13 . . . . . : 0000308F
Function 14 . . . . . : 3FFFDE00
Function 15 . . . . . : 0C211008
Function 16 . . . . . : 00000000
Function 17 . . . . . : 00000000
Function 18 . . . . . : 00D5A400
Function 19 . . . . . : 00CDA400
Type/Model/Feature . . : 9401 150 2270
Warning: The Main Storage Dump (MSD) must be copied for service.
Failure to copy the Main Storage Dump will limit
the ability to diagnose the failure.
Press Enter to copy the MSD for service or view the MSD.
F3=Exit F12=Cancel
Note: Some systems may display Word instead of Function in the Main Storage
Dump Manager Occurred screen.
Follow the instructions of your service provider in responding to this display. In
most cases, you should make a copy of the main storage dump. Save it either to
save media or to auxiliary storage (disk), to assist with diagnosing the problem.
If you want the system to determine when to rebuild and verify, perform a normal
(automatic) IPL to restart your system. If you want to view and change the
schedules for rebuilding access paths and verifying referential constraints, follow
the steps in this chapter:
Note: Your service representative may have started the IPL already. If so, skip to
the step in this task for the display that is currently shown on your system.
To perform an attended initial program load (IPL), you must use the control panel
on the system unit. The steps vary slightly based on the type of system unit that
| you have. Click on Getting started with iSeries under the System planning and
| installation topic in the Information Center if you are unsure of the procedures for
| your system. You can find the Information Center at the following Web site:
http://www.ibm.com/eserver/iseries/infocenter/
| Do the following:
1. If your system unit has a lock on the control panel, use the key or keystick to
unlock the control panel.
2. Place the system in Manual mode.
3. Ensure that any switches for all disk units are in the On position.
4. If your system is currently running, ensure that all users are signed off and all
jobs are ended.
Then type:
PWRDWNSYS OPTION(*CNTRLD) DELAY(600) RESTART(*YES)
Note: For the delay parameter, specify a number of seconds that allows your
system time to bring most jobs to a normal end. On a large, busy
system, you may need a longer delay.
5. If your system is not running, power on your system.
The following list shows some of the IPL steps that are shown on the IPL Step
in Progress display:
v Authority Recovery
v Journal Recovery
v Database Recovery
v Journal Synchronization
v Start the Operating System
While the system is performing the IPL, system reference codes (SRCs) are
displayed on the control panel of the system unit to indicate what step is in
progress. The iSeries Service Functions book describes these SRCs. If the same
SRC is displayed for a long time in solid (not flickering) lights, your system
may have a problem completing the IPL. Look up the SRC in the iSeries
Licensed Internal Code Diagnostic Aids - Volume 1 book or contact software
support.
7. Press the Enter key. Informational messages are displayed.
8. If the Select Product to Work with PTFs display appears, press F3 (Exit) to
continue.
Select Product to Work with PTFs
Product
Opt Product Option Release
_ 5769999 *BASE V4R5M0
_ 5769SS1 *BASE V4R3M0
System date . . . . . . . . . . . . . . 07 / 26 / 88
System time . . . . . . . . . . . . . . 12 : 00 : 00
Clear job queues . . . . . . . . . . . . N
Clear output queues . . . . . . . . . . N
Clear incomplete job logs . . . . . . . N
Start print writers . . . . . . . . . . Y
Start system to restricted state . . . . N
The values that appear as defaults depend on the recovery steps you have
performed.
10. If the system date and system time are not correct, type the correct values. If
you installed the Licensed Internal Code using option 2 or option 3, the date
and time may be blank. The system date must have a year value in the range
of 87 to 99, or 00 to 22.
11. Specify these responses for the prompts on the display:
While you are working with this display, the system is rebuilding access paths. You
can use this display to:
v Change the sequence in which access paths are rebuilt.
v Delay rebuilding some access paths until after the IPL.
1. If you do not want to make changes to this display, press the Enter key. Skip to
step 5. If you want to make changes, continue with step 2.
2. You may change the value of the IPL threshold. All access paths with a
sequence (SEQ) less than or equal to the threshold are rebuilt during the IPL.
Access paths with a greater sequence number are rebuilt after the IPL
completes. The default threshold is 50.
3. You may change the sequence (SEQ) column on the display for specific access
paths. Initially, the sequence numbers are set this way:
25 Files with MAINT(*IMMED) and RECOV(*IPL)
75 Files with MAINT(*IMMED) and RECOV(*AFTIPL)
*OPN Files with MAINT(*DLY)
Within a group (same sequence numbers), the system rebuilds access paths
according to rebuild time, starting with the longest rebuild time.
Rebuild time is an estimate, based on the file size and key length. For journaled
access paths (status JRN) and access paths protected by system-managed
access-path protection (status SMAPP), the rebuild time shows as 0. The system
uses the journal entries to recover these access paths rather than rebuilding
them. The time that is required is minimal.
The estimate for rebuild time assumes that the rebuild job is not contending for
resources. If an access path is rebuilt after the IPL, the rebuild will probably
take longer.
4. Type your changes and press the Enter key. You are shown the Edit Rebuild of
Access Paths display again. You see error messages if the system could not
make some of the changes you requested. For example, you may have tried to
change the sequence number for an access path that the system rebuilt while
you were using the display.
If you have errors, return to step 2.
5. When you have finished the display, press the Enter key without making
changes. You are shown the Display Access Path Status display:
This display is updated every 5 seconds while the system is rebuilding access
Display Access Path Status
IPL Threshold . . . . . . : 50
paths.
If database constraints are marked for verification, you are shown the following
display:
Edit Check Pending Constraints SYSTEMA
03/30/94 10:09:27
IPL threshold . . . . . . . . . . . . . 50_ 0-99
IPL Threshold . . . . . . : 50
constraints.
6. If you want to make changes to the IPL threshold or the sequence for verifying
constraints, press F12 (Cancel) to return to the Edit Check Pending Constraints
display. Repeat steps 2 through 5.
If you do not want to make changes, you can allow the Display Constraint
Status display to continue updating or you can press F3 (Exit and continue
IPL). In either case, the system completes verifying constraints before
continuing to the next step of the IPL.
7. When the IPL completes, continue with “Task 4–Recovering from Damaged
Objects and Unreadable Sectors”.
Note: Some damage, such as damage to the contents of a database file, may not be
detected until the object is used. If you suspect that a large number of
objects on your system have been damaged, contact your service
representative for advice on how to recover.
Operating system object in Contact software support for assistance. You may need to
QSYS library install the operating system again.
IBM-supplied user profile Perform an abbreviated installation of the operating system.
Job description that is If no other workstation entries exist for the controlling
specified on the workstation subsystem, the system is not usable. Contact software
entry for the console in the support for assistance.
controlling subsystem
Job queue Perform an IPL. Restore or re-create the damaged job queue.
All entries are lost.
Output queue Perform an IPL. If the output queue is the default output
queue for a printer, it is re-created and its entries are rebuilt.
Other output queues must be restored or re-created. Their
entries are not recovered.
Damaged file whose name Delete the file. Restore it from a backup copy. Run the
starts with QAOSS RCLDLO DLO(*DOCDTL) command.
Database file See “Recovering Damaged Database Files” on page 176
9. Watch for additional indications that objects have been damaged. Some
indications are:
v You cannot start the system because auxiliary storage is full.
v The system has ended abnormally several times since the last time you ran
the Reclaim Storage (RCLSTG) procedure.
v You see objects on the Work with Objects by Owner display that have no
library associated with them.
v The system status display shows an unexpectedly high percentage of
auxiliary storage that is used.
v You cannot access the data in a database file because a member is damaged.
Message CPF8113 indicates this.
v You cannot access objects because a damaged authorization list or authority
holder secures them.
If you see these indications on your system, run the RCLSTG procedure.
Running the procedure is described in “Reclaiming Storage” on page 46.
If you see these indications after a disk unit was replaced and the data was
restored from a partial pump, you should recover the entire ASP that contained
the failed disk unit. See the appropriate checklist.
If you are experiencing problems with database files, you can display the Licensed
Internal Code log to determine whether a special IPL may resolve the problems.
Note: You must have *SERVICE special authority to perform the tasks that are
described in this topic.
Do the following:
1. Type STRSST and press the Enter key. You are shown the System Service Tools
(SST) menu menu.
2. Select option 1 (Start a service tool). You are shown the Start a Service Tool
display.
3. Select option 5 (Licensed Internal Code log). You are shown the Licensed
Internal Code Log display.
4. Select option 1 (Select entries from the Licensed Internal Code log). You are
shown the Specify Licensed Internal Code Log Selection Values display.
Note ID:
Starting . . . . . . . . . . . FFFFFFFF 00000000-FFFFFFFF
Entry type:
Major code . . . . . . . . . . 0600 0000-FFFF
Minor code . . . . . . . . . . 145F 0000-FFFF
Starting:
Date. . . . . . . . . . . . . . 00/00/00 MM/DD/YY
Time. . . . . . . . . . . . . . 00:00:00 HH:MM:SS
Ending:
Date. . . . . . . . . . . . . . 00/00/00 MM/DD/YY
Time. . . . . . . . . . . . . . 00:00:00 HH:MM:SS
F3=Exit F12=Cancel
If you have log entries that suggest a special IPL, you need to schedule a time for
this IPL. It may take many hours for the system to analyze all the disk segments.
As a rough estimate, the analysis phase of the IPL will take approximately 1
second for each object on your system.
7. Type 000000000E 000000 for the address and press the Enter key. You are
shown the Display Storage display:
8. On the third data line (offset 0020), type 8 in the first character. Press F11
(Alter storage) to make the change take affect.
9. Press F3 until you return to the Exit System Service Tools display.
10. Press the Enter key (continue ending SST).
11. On the command line, type
PWRDWNSYS OPTION(*IMMED) RESTART(*YES)
Do the following:
1. Type WRKJRN.
2. On the prompt display, type the name of the journal. You are shown the Work
with Journals display:
Do the following:
1. Type WRKJRN.
2. On the prompt display, type the name of the journal that is associated with the
damaged journal receiver. You are shown the Work with Journals display:
Note: If the damaged object is in the QSYS library, you may need to restore the
operating system. Contact software support for assistance.
2. Delete the object.
3. Load the save media and restore the object. Type
RSTOBJ OBJ(object-name)
OBJTYPE(object-type)
SAVLIB(library-name)
DEV(media-device-name)
System ASP 1
┌───────────────────────────────────────────────────────────────────────┐
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ QSYS Library │ │
│ │ │ │
│ └────┬─────────┬─────────┬─────────┬─────────────┬────────────┬─────┘ │
│ N │ N │ N N │
│ ┌─────────┐ │ ┌──────────┐ │ ┌─────────┐ ┌─────────┐ │
│ │ CUSTLIB │ │ │ ITEMLIB │ │ │ SAVFLIB │ │ $JRNLA │ │
│ │ │ │ │ │ │ │ │ │ JRNA │ │
│ └─────────┘ │ └──────────┘ │ └───────┬─┘ └────┬────┘ │
└────────────────┼───────────────────┼────────────────┼─────────┼───────┘
│ │ │ │
┌─────────────┐ │ ┌─────────────┐ │ ┌────────────┐ │ ┌──────N───────┐
│ ┌─────────┐ │ │ │ ┌─────────┐ │ │ │ ┌─────────┐│ │ │ ┌───────────┐│
│ │ ORDLIB │W┼──┤ │ │Documents│ │ │ │ │$RCVRB ││ │ │ │ RCVA0003 ││
│ └─────────┘ │ ├───┼S│Folders │ │ └─┼S│RCVB0004 ││ │ │ │ *JRNRCV ││
│ ┌─────────┐ │ │ │ │(QDOC0003│ │ │ │ *JRNRCV ││ │ │ └───────────┘│
│ │ TRANLIB │W┼──┤ │ │ library)│ │ │ └─────────┘│ │ │ ┌───────────┐│
│ └─────────┘ │ │ │ └─────────┘ │ │ │ └──┼S│ ORDSAV ││
│ ┌─────────┐ │ │ │ │ │ │ │ │ *SAVF ││
│ │ $JRNLB │W┼──┘ │ │ │ │ │ └───────────┘│
│ │ JRNB │ │ │ │ │ │ │ │
│ └─────────┘ │ │ │ │ │ │ │
└─────────────┘ └─────────────┘ └────────────┘ └──────────────┘
User ASP 2 User ASP 3 User ASP 4 User ASP 5
In the example:
v ASP 2 is a library user ASP. It contains these libraries: ORDLIB, TRANLIB, and
$JRNLB.
Before the failure, the receiver directory for the JRNA journal looks like this:
Attach Save
Opt Receiver Library Number Date Status Date
_ RCVA0001 $JRNLA 00001 06/08/9x SAVED 06/08/9x
_ RCVA0002 $JRNLA 00002 06/09/9x SAVED 06/09/9x
_ RCVA0003 $JRNLA 00003 06/09/9x ATTACHED 00/00/00
When you replace a unit in your system ASP, the system loses addressability to the
objects in your user ASPs. The system in the example would look like this after the
operating system has been restored:
The libraries and objects in the user ASPs are not known to the system.
You can use the procedures described in this topic to recover the objects in your
user ASPs. However, the system cannot recover ownership to the objects other than
document library objects (DLO) in the user ASPs because the addresses for all user
profiles are changed when you restore them. All object types except DLOs use the
address of the user profile to identify the owner.
Recovering object ownership for objects other than DLOs requires manually
assigning ownership for every object in every user ASP.
After the reclaim storage procedure, the example system looks like this:
System ASP 1
┌───────────────────────────────────────────────────────────────────────┐
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ QSYS Library │ │
│ │ │ │
│ └─────────────┬───────────────────┬────────────────────┬───────────┘ │
│ │ │ N │
│ │ │ ┌─────────┐ │
│ │ │ │ QRCL │ │
│ │ │ └───┬─────┘ │
└────────────────┼───────────────────┼────────────────────┼─────────────┘
│ │ ┌───┴─────┐
│ │ │ │
│ │ │ N
┌─────────────┐ │ ┌─────────────┐ │ ┌────────────┐ │ ┌──────────────┐
│ ┌─────────┐ │ │ │ ┌─────────┐ │ │ │ ┌─────────┐│ │ │ ┌───────────┐│
│ │ ORDLIB │W┼──┤ │ │Documents│ │ │ │ │$RCVRB ││ │ │ │ RCVA0003 ││
│ └─────────┘ │ ├───┼S│Folders │ │ └─┼S│RCVB0004 ││ │ │ │ *JRNRCV ││
│ ┌─────────┐ │ │ │ │(QDOC0003│ │ │ │ *JRNRCV ││ │ │ └───────────┘│
│ │ TRANLIB │W┼──┤ │ │ library)│ │ │ └─────────┘│ │ │ ┌───────────┐│
│ └─────────┘ │ │ │ └─────────┘ │ │ │ └──┼S│ ORDSAV ││
│ ┌─────────┐ │ │ │ │ │ │ │ │ *SAVF ││
│ │ $JRNLB │W┼──┘ │ │ │ │ │ └───────────┘│
│ │ JRNB │ │ │ │ │ │ │ │
│ └─────────┘ │ │ │ │ │ │ │
└─────────────┘ └─────────────┘ └────────────┘ └──────────────┘
User ASP 2 User ASP 3 User ASP 4 User ASP 5
The system recovers addressability to the objects in ASP 5, but it cannot recover
their original library assignments. They are placed in the QRCL (Recovery) library.
The objects in all user ASPs are owned by the QDFTOWN (Default Owner) user
profile.
The time that this takes can vary significantly. “What Happens When You Restore
User Profiles” on page 215 describes what the system does when you restore user
profiles.
Note: If the QRCL library contains save files, you will recover them in “Task
9–Recovering Save Files from the QRCL Library” on page 188. When you
recover them, you will use the media volume that you created in step 3.
System ASP 1
┌───────────────────────────────────────────────────────────────────────┐
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ QSYS Library │ │
│ │ │ │
│ └─────────────┬───────────────────┬────────────────────────────────┘ │
│ │ │ ┌─────────┐ │
│ │ │ │ $JRNLA │ │
│ │ │ │ │ │
│ │ │ └────┬────┘ │
└────────────────┼───────────────────┼──────────────────────────┼───────┘
│ │ │
│ │ │
│ │ N
┌─────────────┐ │ ┌─────────────┐ │ ┌────────────┐ ┌──────────────┐
│ ┌─────────┐ │ │ │ ┌─────────┐ │ │ │ ┌─────────┐│ │ ┌───────────┐│
│ │ ORDLIB │W┼──┤ │ │Documents│ │ │ │ │$RCVRB ││ │ │ RCVA0003 ││
│ └─────────┘ │ ├───┼S│Folders │ │ └─┼S│RCVB0004 ││ │ │ *JRNRCV ││
│ ┌─────────┐ │ │ │ │(QDOC0003│ │ │ │ *JRNRCV ││ │ └───────────┘│
│ │ TRANLIB │W┼──┤ │ │ library)│ │ │ └─────────┘│ │ │
│ └─────────┘ │ │ │ └─────────┘ │ │ │ │ │
│ ┌─────────┐ │ │ │ │ │ │ │ │
│ │ $JRNLB │W┼──┘ │ │ │ │ │ │
│ │ JRNB │ │ │ │ │ │ │ │
│ └─────────┘ │ │ │ │ │ │ │
└─────────────┘ └─────────────┘ └────────────┘ └──────────────┘
User ASP 2 User ASP 3 User ASP 4 User ASP 5
Figure 10. User ASP Configuration After Recovering Isolated Journal Receiver
Note: When you install the operating system, the system creates the QGPL
library and the QUSRSYS library. You should still restore these libraries
to restore the data from your saved copy.
2. Plan your restore sequence. If you restore in the wrong sequence, your
journaling environment may not be started again or some objects may not
restore successfully.
| For example, journals must be restored before the journaled objects. If journals
| and objects are in the same library, the system restores them in the correct
| order. If they are in different libraries, or the objects are integrated file system
| objects, you must restore them in the correct order. Similarly, physical files
must be restored before their associated logical files. Read “Sequence for
Restoring Related Objects” on page 45 for more information.
3. Choose the commands or menu options you will use. You can restore libraries
by name or in a group, such as *NONSYS. See “The Relationship Between Save
and Restore Commands” on page 41 for more information.
If you restore libraries in a group, omit the libraries in your user ASPs.
Choose one of the three methods below based on the way in which your
User-Defined File Systems (UDFS) were saved.
Note: If you were instructed to refer to these steps from another checklist,
return to that checklist now.
4. Restore the UDFS by using the following command:
RST OBJ(('/directory_mounted_over'))
Attention!
This method is not recommended for recovery of UDFS. It is listed only as a
means of recovery if the data is already restored. The previous method,
“Recovery Steps for Mounted User-Defined File Systems (UDFS) if Data is not
Restored” on page 187, is the recommended method.
The UDFS information is not saved or restored if the UDFS were saved mounted.
You will need to recreate this information in step 1.
1. Create the UDFS exactly as they were before the recovery by using the
CRTUDFS command.
2. Create a temporary directory to use as a mount point, using the CRTDIR
command.
3. Mount the UDFS over the temporary directory, using the MOUNT command.
This now becomes your UDFS in the user ASP.
4. Create the directories that are currently in the restored mounted UDFS in the
UDFS that you created in the previous three steps. This tree structure must
exist in order to move or copy the objects.
5. Move or copy the objects in the new UDFS, using the MOV or CPY commands.
6. Unmount the UDFS, using the UNMOUNT command.
This procedure rebuilds the association between the DLOs in the user ASP and the
search index records. It also attempts to assign the DLOs to the correct owner.
Note: You displayed the QRCL library in “Task 4–Recovering Journals and Journal
Receivers in the QRCL Library” on page 185.
Whenever you do a recovery involving journals and journal receivers, you should
ensure that your journal receivers are associated with the journal. This topic
provides basic information about how to associate your journals and journal
receivers.
Based on the steps performed so far, the receiver directory for journal JRNA in the
example would look like this:
Attach Save
Opt Receiver Library Number Date Status Date
_ RCVA0003 $JRNLA 00001 06/08/9x ONLINE 00/00/00
_ RCVA1002 $JRNLA 01001 06/09/9x ATTACHED 00/00/00
Notice that when JRNA was restored, the system created a new journal receiver
called RCVA1002 and attached it. The receiver name is based on the name of the
journal receiver that was attached when the journal was saved.
If any of the journal receivers in the user ASP were created before V3R1, using
option 9 from the Work with Journals display might not associate them in the
correct sequence. If you have journal receivers from a prior release or if any of the
journal receivers you need are not online, do this:
1. Save the journal receivers that are on the system to a scratch media volume:
At this point the receiver directory for JRNA looks like this:
Work with Receiver Directory
Attach Save
Opt Receiver Library Number Date Status Date
_ RCVA0001 $JRNLA 00001 06/08/9x SAVED 06/08/9x
_ RCVA0002 $JRNLA 00002 06/09/9x SAVED 06/09/9x
_ RCVA0003 $JRNLA 00003 06/08/9x ONLINE 00/00/00
_ RCVA1002 $JRNLA 01002 06/09/9x ATTACHED 00/00/00
Note: If you see document library objects on this list (type *DOC or *FLR), one
of the following has occurred:
v You forgot to run RCLDLO. See “Task 8–Reclaiming Document Library
Objects” on page 188.
v The user profile that owns the DLO has not been restored. Restore the
user profile. Then run the RCLDLO command.
v The DLO was owned by the QDFTOWN profile when it was saved.
Determine the correct owner for the DLO and transfer ownership.
2. To transfer ownership of objects individually:
a. Type a 9 in the Opt column for the object and press the Enter key. The
Change Object Owner display is shown.
b. Type the name of the correct owner in the New owner prompt and press the
Enter key.
c. Repeat steps 2a and 2b for each object on the display.
3. To transfer ownership of multiple objects that should have the same owner, use
the technique shown in the display:
a. Type 9 in the Opt column.
b. Type NEWOWN(owner-name) on the parameter line at the bottom of the
display.
c. Press the Enter key. The system transfers ownership of each object you
specified to the new owner.
Stop!
You have completed the recovery of information in your user auxiliary
storage pools. Consult your recovery checklist for the next step in your
recovery process.
Note: To simplify future overflow recovery operations, you can enable automatic
overflow recovery for basic user ASPs with the Operations Navigator disk
management function. For more information, refer to the Information Center
at http://www.ibm.com/eserver/iseries/infocenter.
4. Ensure that the ASP is no longer in overflowed status. You should have
received a message in the QSYSOPR message queue that the overflow
condition has been recovered. You can also use System Service Tools (SST) to
check:
--Protected-- --Unprotected--
ASP Unit Type Model Threshold Overflow Size %Used Size %Used
1 90% No 0 0.00% 1400 8.22%
1 9332 400 0 0.00% 200 17.97%
.. 2 9332 400 0 0.00% 200 6.60%
.
2 Yes 0 0.00% 200 99.99%
8 9332 200 90% 0 0.00% 200 99.99%
If the user ASP is still overflowed, follow the procedure described in “Resetting
An Overflowed User Auxiliary Storage Pool during an IPL”.
5. Before you can restore the overflowed objects from a media volume, you must
make additional space available in the user ASP. Do one or more of the
following:
v Delete objects from the ASP if you no longer need them.
v Move one or more libraries to a different ASP.
Note: You cannot use the MOVOBJ command to do this. You must save the
library, delete it, and restore it to a different ASP.
v Move one or more folders to a different ASP by saving the folder, deleting it,
and restoring it to a different ASP.
v Add additional disk units to the ASP.
6. After you have made additional space available in the ASP, restore the objects
you saved in step 2 on page 192.
7. Check to make sure the user ASP has sufficient space and is not overflowed.
Repeat the procedure described in step 4 on page 192.
--Protected-- --Unprotected--
ASP Unit Type Model Threshold Overflow Size %Used Size %Used
1 90% No 0 0.00% 1400 8.22%
1 9332 400 0 0.00% 200 17.97%
.. 2 9332 400 0 0.00% 200 6.60%
.
f. If the amount in the To Capacity field is greater than zero, the ASP will still
be overflowed when the recovery completes. There is not enough free space
in the user ASP to contain the overflowed data.
g. If you do not have enough space, repeat the instructions in step 5 on
page 193 to free more space.
2. Do the following to put your system in a restricted state:
a. Before putting your system in a restricted state, ensure that all users are
signed off and all jobs are ended.
b. To receive notification that the subsystems have ended, type the following
and press the Enter key:
CHGMSGQ MSGQ(QSYSOPR) DLVRY(*BREAK)
SEV(60)
c. To end all subsystems, type the following:
ENDSBS SBS(*ALL) OPTION(*CNTRLD)
DELAY(600)
Note: For the delay parameter, specify a number of seconds that allows
your system time to bring most jobs to a normal end. On a large,
busy system, you may need a longer delay.
A message is sent that indicates that the procedure for ending subsystems is in
progress. A final message is sent when the system is in a restricted state.
3. Perform a manual IPL and access DST:
Use this procedure to start DST. If the IPL or Install the System menu is already
displayed, start with step 5 on page 202.
a. Ensure the keystick is in the system unit control panel.
b. Place the system in manual mode.
c. Power down the system:
PWRDWNSYS OPTION(*CNTRLD) DELAY(600)
RESTART(*YES) IPLSRC(B)
Note: If you are sure that no jobs are running on your system, you can
specify OPTION(*IMMED) when you power down the system.
Otherwise, specify a delay time that is sufficient to allow jobs to end
normally.
d. When the IPL completes, the IPL or Install the System menu appears.
4. Select option 1 (Perform an IPL). You are shown the Disk Configuration
Attention Report:
If you type 5 in the Option field, the following screen is displayed, listing the
Disk Configuration Attention Report
Opt Problem
Overflowed ASPs
ASP
2
3
5. Press the F10 key to request recovery of the overflowed user ASPs. The
recovery takes place during the storage management recovery phase of the IPL.
The operation takes from several minutes to a few hours, depending on the
number of objects on the system and the amount of data to be recovered.
6. When the IPL of the system is complete, the Sign On display is shown.
7. Sign on and verify the results by checking the messages in the QSYSOPR
message queue.
If you are not sure what was on the user ASP, do this:
1. Sign on with a user profile that has *ALLOBJ special authority so that your
listings show all libraries.
2. Print a list of the libraries that are on the lost user ASP by doing the following:
a. Create a list of all the libraries in an output file:
DSPOBJD OBJ(QSYS/*ALL) OBJTYPE(*LIB) OUTPUT(*PRINT)
DETAIL(*FULL) OUTPUT(*OUTFILE)
OUTFILE(library-name/file-name)
b. Use a program or a query tool to display or print the output file. Select all
entries that have an ASP field that matches the ASP that is lost.
Notes:
1) When you lose a user ASP, you lose the contents of any libraries in the
ASP, not the libraries themselves. The library objects are in the QSYS
library, which is in the system ASP.
2) If you had documents in the user ASP, you should have a library on
your listing for the ASP. The library name is QDOCnnnn, where nnnn is
the number of the ASP.
3. If you have determined what must be recovered, continue with “Task
3–Determining Tasks to Restore Objects”. If you have not found any libraries to
recover, continue with step 4.
4. If you did not find any libraries to recover in step 2, the ASP was probably a
nonlibrary user ASP. A nonlibrary user ASP can contain only save files,
journals, and journal receivers.
Determining the objects that were in a nonlibrary user ASP can be very time
consuming. The following steps are one method. This method works only if
you have not yet run RCLSTG after losing the user ASP.
a. Type the following:
DSPOBJD OBJ(*ALL/*ALL)
OBJTYPE(*LIB *FILE *JRN *JRNRCV)
OUTPUT(*OUTFILE)
OUTFILE(library-name/file-name)
b. Use a program or query tool to list all the objects in the output file that are
in the ASP that is damaged.
5. When you have determined the objects that need to be recovered, continue
with “Task 3–Determining Tasks to Restore Objects”.
Library User ASP Libraries “Task 4–Restoring Libraries to the User Auxiliary
Storage Pool”
Nonlibrary User Journals “Task 5–Restoring Journals to the User Auxiliary
ASP Storage Pool”
Library User ASP Documents “Task 6–Restoring Documents to the User Auxiliary
Storage Pool” on page 200
| Library User ASP User-defined file “Task 7–Restoring User-Defined File Systems to the
| systems User Auxiliary Storage Pool” on page 200
Nonlibrary User Journal receivers “Task 8–Restoring Journal Receivers to the User
ASP Auxiliary Storage Pool” on page 201
Nonlibrary User Save files “Task 9–Restore Save Files to the User Auxiliary
ASP Storage Pool” on page 201
Note: You should restore changed objects and apply journaled changes for all
the ASPs included in your recovery at the same time. These steps appear
on the recovery checklist at the appropriate point.
4. Continue with the next task shown in Table 41. If you have completed all the
appropriate tasks in the table, continue with the next task in the recovery
checklist from Chapter 4.
When you restore the journal, the system automatically creates and attaches a
new journal receiver. “Chapter 19. Planning and Setting Up Journaling” on
page 383 describes how the system names the journal receiver that is created
when you restore a journal.
3. Establish your journaling environment again. Do this:
a. For each database physical file that was journaled to the restored journal,
type:
STRJRNPF FILE(library-name/file-name)
JRN(library-name/journal-name)
| Note: To determine what options you specified for the file when you last
| journaled it, you can use the Display File Description (DSPFD) or
| Display Object Description (DSPOBJD) commands for the file to find
| out.
b. For each access path that was journaled to the restored journal, type:
| Note: To determine what options you specified for the object when you last
| journaled it, you can use the Display Link (DSPLNK) command.
| d. For all other object types that were journaled, type one of the following:
| STRJRNOBJ OBJ(library-name/object-name)
| OBJTYPE(object-type)
| JRN(library-name/journal-name)
| Note: To determine what options you specified for the object when you last
| journaled it, you can use the Display Object Description (DSPOBJD)
| command.
| e. Save each object that you started journaling.
4. If you need to restore journal receivers for the journals, skip to “Task
8–Restoring Journal Receivers to the User Auxiliary Storage Pool” on page 201.
5. Associate journal receivers with the journals you restored. Do the following:
a. Type WRKJRN on a command line and press the Enter key.
b. On the prompt display, type the name of the journal and the library name.
c. On the Work with Journals display, type a 9 (Associate receivers with
journal) in the Opt column next to the journal that you want to work with.
d. Press the Enter key.
The receivers are reassociated with the journal.
If any of the journal receivers in the user ASP were created before V3R1, using
option 9 from the Work with Journals display might not associate them in the
correct sequence. If you have journal receivers from a prior release or if any of
the journal receivers you need are not online, do this:
a. Save the journal receivers that are on the system to a scratch media volume:
SAVOBJ OBJ(*ALL) LIB(library-name)
DEV(media-device-name) OBJTYPE(*JRNRCV)
VOL(*MOUNTED) ENDOPT(*UNLOAD)
b. After you ensure that the receivers were saved successfully, delete the
journal receivers from the library:
1) Type WRKLIB library-name and press the Enter key. You are shown the
work with library display.
2) Type a 12 (Work with Objects) in the Opt column.
3) Type a 4 (Delete) in the Opt for each journal receiver you want to delete.
4) Press the Enter key.
c. Restore the journal receivers that you need from both the scratch media
volume and from your save media volumes. Restore them from newest to
oldest by typing the following command for each journal receiver:
RSTOBJ OBJ(receiver-name)
LIB(library-name) DEV(media-device-name)
OBJTYPE(*JRNRCV) VOL(*MOUNTED)
ENDOPT(*UNLOAD)
This restores the documents and makes any changes necessary to the search
index database files.
4. Use the Query Document Library (QRYDOCLIB) to locate any documents that
were created on the user ASP since the last save operation. Query by ASP
number and creation date. Inform your users that these documents were lost
and develop a plan to re-create them.
5. Continue with the next task in the recovery checklist from Chapter 4.
Note: If you were instructed to refer to these steps from another checklist,
return to that checklist now.
4. Restore the UDFS by using the following command:
RST OBJ(('/directory_mounted_over'))
Attention!
This method is not recommended for recovery of UDFS. It is listed only as a
means of recovery if the data is already restored. The previous method,
“Recovery Steps for Mounted User-Defined File Systems (UDFS) if Data is not
Restored” on page 187, is the recommended method.
The UDFS information is not saved or restored if the UDFS were saved mounted.
You will need to recreate this information in step 1.
1. Create the UDFS exactly as they were before the recovery by using the
CRTUDFS command.
2. Create a temporary directory to use as a mount point, using the CRTDIR
command.
3. Mount the UDFS over the temporary directory, using the MOUNT command.
This now becomes your UDFS in the user ASP.
4. Create the directories that are currently in the restored mounted UDFS in the
UDFS that you created in the previous three steps. This tree structure must
exist in order to move or copy the objects.
5. Move or copy the objects in the new UDFS, using the MOV or CPY commands.
6. Unmount the UDFS, using the UNMOUNT command.
Note: For journal receivers created before V3R1, restore the journal receivers
from newest to oldest to ensure that they are associated with the journal
in the correct sequence. If all the journal receivers were created on V3R1
or later, you can restore them in any sequence.
3. Continue with the next task shown in Table 41 on page 198. If you have
completed all the appropriate tasks in the table, continue with the next task in
the recovery checklist from Chapter 4.
Note: This command restores the description of the save file and its contents, if
you specified SAVFDTA(*YES) when you saved the save file. If you
specified SAVFDTA(*NO) when you saved the save file, this command
restores only the save file description.
After performing this procedure, your system will have less disk capacity. You may
not be able to restore all user information until you have installed and configured
a replacement disk unit.
Before you perform this procedure, ensure that the remaining 2800-001 storage
units in your system ASP are large enough for a main storage dump. Consult
software support or refer to “Chapter 25. Working with Auxiliary Storage Pools” on
page 669.
Note: If you are sure that no jobs are running on your system, you can specify
OPTION(*IMMED) when you power down the system. Otherwise, specify a
delay time that is sufficient to allow jobs to end normally.
4. When the IPL completes, the IPL or Install the System menu appears.
5. Select option 3 (Use Dedicated Service Tools (DST)) and press the Enter key.
The Dedicated Service Tools (DST) Sign On display is shown.
6. In the DST user field, type QSECOFR. In the DST password field, type your DST
security-level or full-level password. On a new system, the password is
QSECOFR. The password is case sensitive; type in all capital letters. You should
change this password after you complete your installation procedures. The
iSeries Security Reference book has more information about DST passwords.
The Use Dedicated Service Tools (DST) menu is shown.
2. Select option 4 (Delete ASP data) on the Work with ASP Configuration display.
Note: Selecting this option deletes all data in the system ASP. Do not use this
procedure unless you have a failed disk unit and there is no immediate
replacement for the disk unit.
3. Type a 4 in the Option column to select the ASP that you want to delete the
data from and press the Enter key. The following display is shown.
--Protected-- --Unprotected--
Option ASP Threshold Overflow Size %Used Size %Used
4 1 90% No 0 0.00 1200 *
4. Press F10 (Confirm) to confirm your choice to delete the ASP data.
5. When the delete of the ASP data is complete, you return to the Use Dedicated
Service Tools (DST) menu.
Task 3–Remove the Disk Unit from the Auxiliary Storage Pool
Configuration
To remove the disk unit from the ASP, do the following:
1. If you are not already using DST, perform a manual IPL to start DST. See “How
to Start Dedicated Service Tools (DST)” on page 660.
2. From the Use Dedicated Service Tools (DST) menu, do the following:
Serial Resource
OPT Unit ASP Number Type Model Name Status
2 1 10-00A7529 9332 400 DD010 Configured
3 1 10-00A4936 9332 400 DD012 Configured
4 1 10-00A4936 9332 400 DD014 Configured
4 5 1 10-00A7498 9332 400 DD015 Configured
4 6 1 10-00A7498 9332 400 DD017 Configured
7 1 10-00A7530 9332 400 DD018 Configured
8 1 10-00A7530 9332 400 DD021 Configured
4. Type a 4 (Remove unit from configuration) in the OPT column for each unit that
you want to remove and press the Enter key. If the remove operation would
leave the ASP with insufficient storage, you receive an error message.
If you see the Confirm Remove Disk Units display, skip to 6.
The Confirm Continuation display may be shown before the Confirm Remove
Disk Units display if the storage management directories are not usable.
Confirm Continuation
5. Determine whether you want to cancel the procedure or continue. If you want
to continue, press the Enter key.
6. The Confirm Remove Disk Units display is shown:
Press F9 (Capacity information to display the resulting capacity.
Confirm Remove Disk Units
Serial Resource
OPT Unit ASP Number Type Model Name Status
4 5 1 10-00A7498 9332 400 DD010 Configured
4 6 1 10-00A7498 9332 400 DD012 Configured
7. Press the Enter key to return to the Confirm Remove Disk Units display.
8. Press the Enter key on the Confirm Remove Disk Units display to remove the
selected units. The system moves the data off the units selected to be removed
to the remaining units in the source ASP. The remove can take several minutes
or several hours during which the system appears inactive.
Notes:
a. The time it takes to remove a unit depends on the disk unit type and
model.
b. If the data on the unit being removed is severely fragmented and the
amount of storage used is high, the remove operation could take several
hours.
9. When the remove operation is complete, you return to the Work with ASP
Configuration display.
Press F3 until you return to the Use Dedicated Service Tools (DST) display.
RESTORE Restore
Restore Data
1. Files
2. Libraries
3. Documents and folders
4. Programs
5. Other objects
6. Licensed programs
7. Configuration
+ 8. User profiles
9. Objects in directories
You can page down on the Restore menu to see additional options:
1. Sign on the system using a user profile with sufficient authority to do the
restore operation (such as QSECOFR).
For option 22 (System data only) you are shown these displays:
v ENDSBS SBS(*ALL) OPTION(*IMMED)
v RSTUSRPRF USRPRF(*ALL)
v RSTCFG
For option 23 (All user data) you are shown these displays:
v ENDSBS SBS(*ALL) OPTION(*IMMED)
v RSTUSRPRF USRPRF(*ALL)
v RSTCFG
v RSTLIB SAVLIB(*ALLUSR)
v RSTDLO DLO(*ALL) SAVFLR(*ANY)
v RST DEV('/QSYS.LIB/media-device-name.DEVD') OBJ(('/*')
('/QSYS.LIB' *OMIT) ('QDLS' *OMIT) ('/QIBM/ProdData'
*OMIT) ('/QOpenSys/QIBM/ProdData' *OMIT))
v RSTAUT
v STRSBS SBSD(controlling-subsystem)
Type your changes, if any, when the display is shown and press the Enter key.
Note: The RSTAUT command will run immediately after the RST commands
when you use option 21 or option 23. If you use option 22 only, you
must run the RSTAUT command. You are not shown the display for
the RSTAUT command because it has no parameters. You cannot
prevent it from running when your restore using the menu options. If
you have additional restore operations to run, you may need to restore
security data and restore authority again after those restore operations.
15. When the system sends a message asking you to load the next volume, load
the next media volume and respond to the message.
16. If you used the distribution media to restore the operating system, some
information was not restored. If you are restoring to a different system, the
network attributes may have been reset to the IBM-supplied defaults. You
must create or change this information again. You should have lists of this
information that were created at the time you performed your save operation.
The following may need to be created or changed:
v Configuration lists
v Network attributes
v Edit descriptions
v Reply list entries
v IBM-supplied subsystem descriptions
a. For the configuration lists, do the following:
The passwords from your save media are now the current passwords. If the
password expiration is active for the QSECOFR user profile, you will see the
expiration date on the Date password expired field. If the date is the current
system date or prior, change the password for the QSECOFR user profile.
19. Check the job log to ensure all objects were restored.
The job log contains information about the restore operation. To verify that all
objects were restored, you should spool the job log for printing, along with
the job’s remaining spooled output, if any.
DSPJOBLOG * *PRINT
Or
SIGNOFF *LIST
Message CPC3703 is sent to the job log for each library that was successfully
restored. Message CPF3773 is sent to tell you how many objects were restored.
It also tells you how many objects were not restored. Objects are not restored
for various reasons. Check for any error messages, correct the errors, and then
restore those objects from the media.
If you have SAVSYS media and need to restore system information, follow the
procedure that is described in Chapter 6. Restoring the Operating System. Do an
abbreviated installation of the operating system.
If you have restored your operating system from distribution media, you need to
reconstruct system information. “Printing system information” on page 26 describes
how to print the system information. Find the most recent listings you have.
Table 42 shows the commands for changing the system information to the correct
values:
Table 42. Commands for Changing System Information
Information Type Command
1
Access path recovery times EDTRCYAP
Configuration lists WRKCFGL
Edit descriptions WRKEDTD
IBM-supplied subsystem descriptions WRKSBSD
Network attributes CHGNETA
Reply list entries ADDRPYLE
Service attributes CHGSRVA
System values WRKSYSVAL
1
When you reset your access path recovery times, ensure that the ASP configuration
matches the configuration at the time that you printed the recovery times. If it does
not, make a note to reset your access path recovery times after recovering your ASP
configuration.
| You can also use the (*NEW) value with the USRPRF parameter to restore only
| user profiles that are new to your system. Also, when you are restoring individual
| user profiles, you can specify SECDTA(*PWDGRP) to restore passwords and group
| connections. These values are useful if you are merging user profiles from multiple
| systems onto a single system.
| The OMITUSRPRF parameter allows you to limit the number of user profiles you
| restore. You can specify a list of up to 300 specific or generic user profile values
| that will not be restored. This value is helpful if you are restoring a subset of user
| profiles.
Note: You cannot delete an IBM-supplied user profile if it is damaged. You must
restore the operating system again to recover a damaged IBM-supplied user
profile.
Table 43. How User Profiles Are Restored
Method Restricted State?
1,3
| RSTUSRPRF command No
| Restore menu option 8 1,3 No
Restore menu option 21 1,2 Yes
Restore menu option 22 1,2 Yes
Restore menu option 23 1,2 Yes
1
You must have *SAVSYS special authority. You must have *ALLOBJ special
authority to specify ALWOBJDIF(*ALL).
2
These menu options restore all user profiles.
3
| You need to put the system in a restricted state if you specify USRPRF(*ALL).
Restoring All Profiles: When you restore all profiles, the system does not first
delete all profiles, authorization lists, and authority holders on the system.
Therefore, the result is both of the following:
Restoring all profiles is the only way to restore authorization lists and authority
holders. However, if an authorization list secures an object in library QSYS, the
association between the authorization list and the object is not restored
automatically. This is because the objects in QSYS library are restored before the
authorization lists. In other words, the object stores the name of the authorization
list it is associated with, and the authorization lists are stored with the user
profiles. Since QSYS is restored before the RSTUSRPRF command executes, the
authorization list is not on the system at the time the object in QSYS is restored.
The IBM publication, An Implementation Guide for iSeries Security and Auditing,
contains sample programs (ALLAUTL and FIXAUTL) that can be used to attach
authorization lists to the objects in library QSYS when the authorization lists are
restored. ALLAUTL must be run before the operating system is restored or
reinstalled in order to create a database of the objects secured by authorization
lists. FIXAUTL must run afterwards to re-establish the links. These programs may
need to be modified to meet your own requirements.
Security Note
If the IBM-supplied user profiles have the default passwords on your save
media, they will again have default passwords after you restore. This is a
security exposure. After a restore operation, verify that the IBM-supplied user
profiles do not have the default passwords.
The systems keeps *ALLOBJ special authority for the following system user
profiles:
v QSYS
v QSECOFR
v QLPAUTO
v QLPINSTALL
Moving Users to Another System: To transfer user profiles and their authorities to
another system, do the following:
1. Save the user profiles and authorities by using the SAVSECDTA command.
2. Save the owned objects.
3. Restore the user profiles by using RSTUSRPRF USRPRF(*ALL)
ALWOBJDIF(*ALL).
When you restore an object, the system determines what profile owns the restored
object by using the following rules:
v Ownership is restored to that profile if the profile that owns the object is on the
system.
v If the owner profile does not exist on the system, ownership of the object is
given to the QDFTOWN (default owner) user profile.
v If the object exists on the system and the owner on the system is different from
the owner on the save media, the object is not restored unless
ALWOBJDIF(*ALL) is specified. In that case, the object is restored and the owner
on the system is used.
v See “How the System Restores Programs” on page 252 for additional
considerations when restoring programs.
RSTAUT command 1 No
1
Restore menu option 21 Yes
1
Restore menu option 22 Yes
1
Restore menu option 23 Yes
1
You must have *SAVSYS special authority.
When you run RSTAUT USRPRF(*ALL), you will receive status message CPI3821
informing you of the current number of user profiles for which restore authority is
complete after each authority reference table is processed.
You may run the RSTAUT command regardless of whether or not a system is in a
restricted state. However, there are differences between running RSTAUT on
systems in a restricted state and running RSTAUT on systems in a non-restricted
state. These differences include system performance, job log appearance, and object
availability. More information is provided below.
Note: The system saves and restores authorities differently for objects in the QNTC
and QNetWare file systems. The system saves and restores all authorities,
including private authorities, with the object. “Completing Recovery for the
iSeries Integration for Windows Server Product” on page 263 provides more
information.
Restoring authorities should be the last thing you do before performing an IPL, in
a recovery.
You can also restore authority for a specific profile or a list of profiles. For
example, if you have restored a single user profile to the system because it was
damaged, you can also use the RSTAUT command and specify that profile name.
There are also some limitations to running the RSTAUT command on a system in a
non-restricted state. These limitations include the following:
v Because the system is not in a restricted state, all objects must be locked by
RSTAUT. This means that several objects could be in use during the processing
of any authority reference table. If the RSTAUT command is unable to lock an
object, a diagnostic message of CPF3736 or CPD3776 will be sent to the job log
of the prestarted job for each object that could not have authority granted. This
is most likely to occur when the object is a user profile or a message queue.
Since private authorities that are not granted are kept in the authority reference
table, the RSTAUT command my be run again before the next IPL to grant
authorities to objects that were in use.
v If you are running RSTAUT for a large group of user profiles that have private
authorities to the same few objects, it is recommended that you put the system
in a restricted state before running the RSTAUT command. This will minimize
the number of objects in use and consequently minimize the number of objects
that are found locked by the RSTAUT command.
v Only one RSTAUT command may be run on a system at a time.
Subsystem QSYSWRK must be started in order for the prestarted jobs to start. The
RSTAUT command will start several prestarted jobs at once, and assign the restore
of authorities for one or more user profiles to each of the prestarted jobs. During
the RSTAUT command, when the prestarted jobs are running, an entry will appear
for each prestarted job on the Work with Active Jobs screen.
Work with Active Jobs MYSYSTEM
05/01/97 16:02:05
CPU %: 26.5 Elapsed time: 00:00:31 Active jobs: 94
If subsystem QSYSWRK is active but the prestarted jobs cannot be started for any
reason, you should receive messages in your job log, including escape message
CPF386D, stating why the prestarted jobs could not be started.
You may encounter a situation where job logs that contain diagnostic messages
from prestarted jobs that ran during the RSTAUT get deleted. If this occurs, you
Figures 12 through 14 show a sample job log and message information for a
RSTAUT USRPRF(QPGMR) command run on a system in a restricted state.
>RSTAUT USRPRF(QPGMR)
Authority not restored for user QPGMR.
Some authorities not restored for user profile QPGMR.
Not all user profiles had all authorities restored.
Figure 12. Sample Job Log for RSTAUT on a System in a Restricted State
job log. When the name of the prestarted job that is used in message CPF3845 is
*N, then no prestarted job was used.
Figures 15 and 16 show a sample job log message information for a RSTAUT
USRPRF(QPGMR) command run on a system in a non-restricted state.
>RSTAUT USRPRF(QPGMR)
Start of prestart jobs in progress.
Some authorities not restored for user profile QPGMR.
Start of prestart jobs in progress.
Not all user profiles had all authorities restored.
Figure 15. Sample Job Log for RSTAUT on a System in a Non-restricted State
In figure 16, the name of the prestarted job used is 010648/QUSER/QSRRATBL, and it
appears in the CPF3845 message. The CPF3736 message for the data area
DTAARA1 in library QGPL whose authority was not restored, does not appear in
the user’s main job log. Instead, all messages that are related to restoring of
individual private authorities are in the job log for the prestarted job. To view
these messages, you would run the command DSPJOB JOB(010648/QUSER/QSRRATBL),
and then select option 4 to view the job log for the prestarted job. The expanded
message text for CPF3736 appears in that job log.
You should pay special attention to any CPF3845 message that states that *N
authorities were not restored. This may indicate a problem such as damaged
objects or a function check. Any CPF3845 message with *N authorities that are not
restored should be investigated further by checking the job log of the prestarted
job that is named.
The order of CPC3706 and CPF3845 messages depends on whether you run the
RSTAUT command on a system that is in a restricted or non-restricted state. These
messages are for user profiles with restored private authorities. The order of these
messages is as follows:
Restricted state system
The order will generally be alphanumeric because only one authority table is
being restored at a time, in alphanumeric order
Non-restricted state system
The order will generally be that these messages will appear first for the user
profiles with fewer private authorities, then later for the user profiles with
many private authorities. This is because multiple authority reference tables are
being restored at once and the smaller authority reference tables usually
complete first.
When processing is complete for an authority reference table, the table is deleted
regardless of whether all private authorities were successfully restored or not.
Object
User Group Authority
OWNCP *ALL
DPTSM *CHANGE
DPTMG *CHANGE
WILSONJ *USE
*PUBLIC *EXCLUDE
Note: Your display looks different when your user profile has a user option setting
of *EXPERT.
After you save security information, you grant and revoke several authorities to
the PRICES file. Just before the restore operation, the authority looks like this:
Object
User Group Authority
OWNCP *ALL
DPTSM *USE
DPTMG *CHANGE
WILSONJ *EXCLUDE
ANDERSP *USE
*PUBLIC *EXCLUDE
If authority is restored for all users, the authority to the PRICES file looks like this:
Object
User Group Authority
OWNCP *ALL
DPTSM *CHANGE
DPTMG *CHANGE
WILSONJ *USE
ANDERSP *USE
*PUBLIC *EXCLUDE
Authorities for DPTSM and WILSONJ are restored to the values they have on the
save media. The authority for ANDERSP remains, even though it did not exist on
the save media.
How the System Restores Authority–Example 2: Assume that the authority for the
PRICES file looks like this just before the restore operation:
Object
User Group Authority
OWNCP *ALL
DPTMG *CHANGE
WILSONJ *CHANGE
*PUBLIC *USE
If authority is restored for all users, the authority to the PRICES file looks like this:
Object
User Group Authority
OWNCP *ALL
DPTSM *CHANGE
DPTMG *CHANGE
WILSONJ *CHANGE
*PUBLIC *USE
Notice that WILSONJ still has *CHANGE authority. The authority from the save
media (*USE) is granted to WILSONJ, but the authority WILSONJ already has is
not revoked. *USE authority is added to *CHANGE authority, so WILSONJ has
*CHANGE authority.
Authority is restored to the object with the same name in the same library. In some
cases, this could result in restoring authority to a different object.
Assume that you delete program PGMA in library CUSTLIB. You create a new
program with the same name but different function. If you restore authority, users
who were authorized to the original PGMA are now authorized to the new PGMA.
See “How the System Restores Programs” on page 252 for more information.
A configuration object must be varied off before you can restore it.
RSTCFG command 1 No
Restore menu option 7 No
Restore menu option 21 Yes
Restore menu option 22 Yes
Restore menu option 23 Yes
1
You must have *ALLOBJ special authority to specify ALWOBJDIF(*ALL)
If you have restored the SRM information and the hardware configuration does not
match, use the following procedure to correct the SRM information:
1. Type STRSST and press the Enter key to access System Service Tools.
2. Select Option 1 (Start a service tool) from the System Service Tools menu and
press Enter.
3. Select Option 7 (Hardware service manager) from the Start a Service Tool menu
and press Enter.
4. Select Option 2 (Logical hardware resources) from the Hardware Service
Manager menu and press Enter.
5. Select Option 1 (System bus resources) from the Logical Hardware Resources
menu and press Enter.
6. Select F10 (Non-reporting resources) to display any non-reporting resources.
Any hardware resources that did not report during the last IPL or that were
created during the last Restore configuration (RSTCFG) will be displayed.
7. Type a 4 (Remove) in the Option column to delete any entry you are certain is
not valid for this system’s configuration.
To correct the problem for a tape unit or a tape controller, do the following:
1. Type WRKHDWRSC TYPE(*STG). You are shown the Work with Storage Resources
display.
Note: If you want to use the name that you had on your old system, you must
first delete the device configuration name and then re-create it.
5. Use the CRTDEVDSP command to create a device description for the console.
This object contains the System/36 environment names for the workstation, printer,
tape and diskette units on the system, and default System/36 environment values
used for all users. This object may have been modified by the Change S/36
Environment Configuration (CHGS36) command to customize the System/36
environment.
When the first subsystem is started on the system after the installation process is
complete, a new #LIBRARY and a new QS36ENV object in #LIBRARY are created
with the system defaults. In addition to creating the new objects, each subsystem
holds a lock on the QS36ENV configuration object to ensure that it is not deleted.
This lock will not allow the saved QS36ENV configuration object to be restored.
If the QS36ENV configuration object did not restore, start with step 1 on page 231.
If the configuration object did restore but you are experiencing problems with the
System/36 environment configuration, go to step 5 on page 231.
See the topic on configuring the System/36 environment in the Concepts and
Programmer’s Guide for the System/36 Environment for more information about
configuring the System/36 environment.
Keep the following things in mind when you recover your system and user data:
1. Recover your primary partition first.
2. Recover each partition as if it is a stand-alone system.
| For more information about logical partitions, refer to the Information Center Web
| site at the following url:
| http://www.ibm.com/eserver/iseries/infocenter
|
Restoring Libraries
Restoring entire libraries is a common way to recover user information. Use the
Restore Library (RSTLIB) command to restore a single saved library or a group of
libraries. The RSTLIB command restores the entire library, including the library
description, object descriptions (only descriptions are restored for logical files, job
queues, message queues, output queues, user queues, and data queues), and the
When you use the RSTLIB command, you can use the OPTION parameter to
specify which objects in a library are restored:
*ALL Old objects are replaced and new objects are added to a library.
*ALL is the default.
*OLD Only old objects that already exist on the system are replaced in a
library.
*NEW Only objects not found on the system are added to a library. The
old objects are not replaced.
*FREE Only those objects that have their storage freed on the system are
restored.
Figure 5 on page 40 shows which libraries are saved and restored in these groups.
If you are restoring the QGPL library or the QUSRSYS library, you must restore
them before restoring any other user libraries. If you use the special values
(*ALLUSR or *NONSYS), the system restores these libraries in the correct
sequence.
When you restore a group of libraries (*ALLUSR, *NONSYS, or *IBM), you can
omit up to 300 libraries by using the OMITLIB parameter. The libraries you omit
are not restored from the save media.
When you use a media definition to restore libraries that were saved in parallel
with one of the following groups specified, *ALLUSR, *IBM, *NONSYS, or a
generic value such as X*, you may have to perform some involved recovery
operations. You must first load each drive with the volume that contains the QFILE
so that the system can verify that each library resulted from the same save
Attention!
| If you have related objects, such as physical and logical files or journals and
| journaled objects, in different libraries, you must ensure that you restore them
| in the correct sequence. Read “Sequence for Restoring Related Objects” on
| page 45.
5. Fill in your choices for other parameters, such as device and whether to rewind
the tape in a tape device. Press the Enter key.
6. If you receive messages to load a media volume, load the correct media volume
and respond to the messages.
7. When the restore operation completes, check your job log to see which libraries
were restored and whether any objects were not restored.
5. Fill in your choices for other parameters, such as device and whether you want
to rewind the tape in a tape device or not. Press the Enter key.
6. If you receive messages to load a media volume, load the correct media volume
and respond to the messages.
7. When the restore operation completes, check your job log to see which libraries
were restored and whether any objects were not restored.
Attention!
Do not use RSTOBJ to restore licensed programs to library QSYS.
Unpredictable results can occur.
| When you restore an object that was being journaled at the time of the save
| operation, an entry is written to the journal to indicate that it was restored.
| When you restore access paths that were being journaled at the time of the save
| operation, no journal entry is written to the journal to indicate that it was restored.
| If the journal is not on the system at the time a journaled object is being restored,
| the restore operation for the object causes a warning message to be sent and
| journaling is not resumed. This warning message causes a diagnostic message to
| be sent at the end of the restore operation. (See the topic “How to Verify That
| Objects Are Restored Successfully” on page 54.)
| All the journal entries associated with the media copy of the object have the
| original JID. You cannot apply these journal entries to the object that was restored
| to a different library or directory because it has a different JID. For this reason, you
| should avoid restoring a journaled object to a different library or directory.
| For example, in Figure 17 on page 236, the original object FILEA in LIBX library
| has an internal journal identifier of Z that is recorded with every journal entry
| associated with FILEA in LIBX. When FILEA is restored from the media to LIBC
| library, it is assigned the journal identifier of Y because FILEA still exists in LIBX
| and continues to be journaled.
|
| Any journal operation that references an object by name and involves using journal
| entries requires that the journal identifier of the object and the journal identifier
| recorded in the journal entries be the same. Because FILEA in LIBC has journal
| identifier Y, journal entries with journal identifier Z are not associated with the
| restored FILEA in LIBC. As a result, journal changes that are recorded for FILEA in
| LIBX cannot be applied to FILEA in LIBC. For the same reason, if you are
| referencing FILEA in LIBC on the Display Journal (DSPJRN), Receive Journal Entry
| (RCVJRNE), or Retrieve Journal Entry (RTVJRNE) commands, or on the Retrieve
| Journal Entries (QjoRetrieveJournalEntries) API, the entries for FILEA in LIBX are
| not returned.
If FILEA exists on the system and you restore it, the system restores the data and
access paths for FILEA’s two members. The attributes for the file and its members
are not changed on the system.
If you want to restore the file attributes as they existed at the time of the save
operation, delete the file, then restore it. If you want to restore the member
attributes, remove the member (RMVM) and then restore it, specifying
MBROPT(*NEW).
When you restore a database file, the system uses information that is stored with
the file and the parameters you specify to make decisions. The topics that follow
describe special considerations when restoring database files and members.
file can be used during the restore operation, even through logical files. The file is
exclusively locked during the restore operation.
If you specify ALWOBJDIF(*NONE) on the restore command, the system does not
restore the file or member if the creation dates do not match. A message is sent to
the user to indicate that the file or member could not be restored from the media.
ALWOBJDIF(*NONE) is the default.
The creation dates on the system and media might be different because:
v A file or member was deleted and created again after the save operation.
v The file or member on the media was created on another system, but it has the
same name as an existing file or member.
If you really want to restore a file or member whose creation date differs from the
system version, you have three choices:
v Delete the file or member from the system. Then restore.
| v Specify ALWOBJDIF (*FILELVL) on the restore command. This value lets you
| attempt to restore physical file data even though its creation date is different
| than the system copy creation date.
v Specify ALWOBJDIF(*ALL) on the restore command. However, this can cause
problems. You should be aware of what the system does when you specify
ALWOBJDIF(*ALL).
The file on the system is renamed. The media version is restored. A message is sent
to the user.
Figure 21 on page 240 shows what the system does when the creation date for one
of the members in the file is different:
The member on the system is renamed. All members from the media are restored.
A message is sent to the user.
When you specify ALWOBJDIF(*ALL) and additional members are created during
a restore operation, the system ignores the MAXMBRS (maximum members)
parameter for the file. After the restore operation, you may have more than the
allowed members in the file.
If a logical file is associated with a file or member that is renamed, the logical file
is still associated with the renamed file or member, not the restored member.
Note: The ALWOBJDIF parameter determines what the system does if creation
dates on the members do not match. See “Comparing File Attributes during
a Restore Operation” on page 238.
The default value *ALL causes all file members of files specified with the OBJ
parameter to be restored.
You can restore a logical file to a library different than the library for the associated
physical file. However, the associated physical file must remain in or be restored to
its original library location.
If you try to restore a logical file to a library in which it does not exist, the restore
operation fails if any of the associated physical files have had their storage freed.
When a logical file is restored, it must be dependent on the same physical files as
it was when it was saved.
v The logical file is created over the physical files in the library where they are
being restored if any of the following occur:
– The logical file and the associated physical files existed in the same library at
the time of the save operation.
– The logical file and the associated physical files are present in the library
where the files are being restored.
– The logical file and the associated physical files are being restored to the same
library.
v If the files are not present in the restore library, then the logical files are created
over the physical files in the original saved library.
v If the correct physical files are not found in either library, then the restore
operation of the logical file fails. To correct the problem, run the RSTOBJ
command again and specify OBJ(*NEW). If the restore operation is successful, an
informational message (CPF3291) is sent to indicate which library was used for
associated physical files.
The creation dates of the physical files must not have changed since the logical file
was saved. If the date has changed, an informational message (CPF3293) is sent
indicating that the physical file has been changed since the save operation, but the
restore operation continues.
Restore physical or logical files with dependent logical files before the dependent
logical files, unless the physical and logical files already exist on the system. The
following considerations apply to restoring logical files:
v If the dependent physical or logical files are in the same library, the system
provides the proper sequencing.
v If the files are in different libraries, you must restore the libraries in order, so
that the physical or logical files that have logical files built on them are restored
first.
v If the depended-on physical or logical files are not restored before you attempt
to restore the logical files, restoring the logical files fails.
v This sequencing also applies to other requirements between files, such as shared
formats. You can restore those logical files that failed by using the RSTOBJ
command.
When you restore a file, the system either restores the access path with the file or
rebuilds the access path based on the information in the file description. The
process of rebuilding the access path for a large database file can take a long time.
This topic describes when the system restores access paths and when it cannot. If
possible, you should plan your save operations to avoid having to rebuild access
paths during a restore operation.
The system always restores the access path for a keyed physical file of type *DATA
unless the access path was not saved. The access path for a keyed physical file is
always saved, unless the access path is not valid at the time of the save.
Normally, source physical files are not keyed. The default for the CRTSRCPF is to
create a non-keyed file. When you restore a keyed source physical file, the access
path is rebuilt after the restore operation.
Access paths that are owned by logical files are restored if all of the following
conditions are true:
v The system saved the access path. Although this seems obvious, the system only
saves access paths if the certain conditions are met. For more information, see
the Backing up your system topic on the Information Center at the following
Web site:
http://www.ibm.com/eserver/iseries/infocenter
v All based-on physical files are in the same library and are being restored at the
same time on the same restore command.
v If the logical file exists on the system, it does not specify MAINT(*REBLD).
v The logical file owned the access path at the time it was saved.
v If the logical file is created again by the restore operation and it shares an access
path that already exists, the key length for the access path must be equal to the
maximum key length of the logical file or you receive an error.
If you meet these conditions, you minimize the rebuilding of access paths.
However, during the restore operation, the system checks the integrity of each
access path. If it detects any discrepancy, the access path is rebuilt.
In a few cases, the system may decide to rebuild access paths even though they
were saved. For example, you may have defined a new logical file that specified
the same key as the physical file but also specified UNIQUE. The based-on
physical file was in use at the time that the logical file was created. Therefore, the
system had to create a new access path for the logical file. Assume that you save
these two files with a single command. If you restore them with a single
command, the system will determine that they can share a single access path.
Instead of restoring the two access paths, it builds a new, shared access path for
the two files.
The save media volume contains all three files (FILEA, FILEB, and FILEC) and
three access paths, each owned by a different file. Table 49 shows what the system
does when you restore these libraries by using different methods. These examples
assume that none of the files are on the system when the system restores them:
Table 49. Restoring a File Network
Sequence of Restore Commands What the System Does
Example 1: Results of Example 1:
1. RSTLIB SAVLIB(LIB1) 1. FILEA and FILEB are restored. The access paths owned by
2. RSTLIB SAVLIB(LIB2) FILEA and FILEB are restored.
2. FILEC is restored. The access path owned by FILEC is
rebuilt.
Example 2: Results of Example 2.
1. RSTLIB SAVLIB(LIB2) 1. FILEC is not restored because FILEA is not on the system.
2. RSTLIB SAVLIB(LIB1) 2. FILEA and FILEB are restored. The access paths owned by
FILEA and FILEB are restored.
These examples highlight the problems that can occur when logical files and
based-on physical files are in different libraries. Access paths are restored when
physical files are restored because they are built over data that is contained in the
physical file. In the first example, FILEC owned the access path but FILEC was not
The search for restoring the shared format starts in the library to which the
restored file is directed and continues in the library from which the restored file
was saved. Following are the results of the search:
v If the sharing file is found and has not been changed (level check) since the
save, then no new format is created for the restored file.
v If the sharing file is not found, or it is found but fails the level check, then a
new format for the restored file is created with the same definition as the one it
initially shared.
v If a format sharing file has been renamed, deleted, or moved to a library other
than the save or restore library, a new format is created for the dependent file
when the dependent file is restored.
A referential constraint is defined, stored, and saved with the dependent file. Each
referential constraint has a name, which must be unique for the library that
contains the dependent file. When you restore a file that has a referential constraint
name that already exists in the library, the system generates a new name for the
referential constraint that is being restored.
When you restore a database file that does not exist, you should ensure that any
referential constraints that were not on the saved copy are reestablished.
Otherwise, you lose the data integrity checking that was on your system before a
failure occurred.
Files that are related by referential constraints form a database network similar to
the network formed by logical files and the based-on physical files. You should try
to save an entire referential constraint network in one operation. If this is not
possible, you should at least save the files with consecutive operations where no
activity occurs in between. This ensures that the files are synchronized.
If you journal database files, you should journal all physical files that are part of a
referential constraint network. This ensures that your referential constraints remain
valid after you have applied journaled changes. “Chapter 19. Planning and Setting
Up Journaling” on page 383 provides more information about journaling and
referential constraints.
You can restore the files in this network in any sequence. When you restore the
files, the system reestablishes the relationships and attempts to determine whether
the constraints are still valid.
For example, if you restore both the ITEM file and the INVENTORY file, the
system checks the internal information stored with the files to determine whether
the indexes for the two files are synchronized.
If you restore one of the files, the system again attempts to validate the constraint.
If you use a program to update the information, you must use the Edit Check
Pending Constraints (EDTCPCST) command to force the system to revalidate the
constraint. The topic “Task 3–Using the Edit Check Pending Constraints Display”
on page 173 describes how to determine the status of files that have referential
constraints.
Look in the Information Center under the Database and File System topics for
more information about using referential constraints.
When you restore a database file that already exists, the system does not restore
any trigger program definitions from the save media. When you restore a database
file that does not exist, you should ensure that any definitions for trigger programs
that were not on the saved copy are reestablished. Otherwise, you lose the data
integrity checking that was on your system before a failure occurred.
The system does not stop restoring a database file if its trigger programs cannot be
found. Therefore, you must ensure that files and trigger programs are saved and
restored correctly. Otherwise, an error may occur.
Table 50 shows examples of actions the system takes when you restore the physical
file FILEA and the trigger program PGMA:
Table 50. Restoring Files That Have Trigger Programs
How the Trigger Program Is
Save Procedure That Is Restore Procedure That Is Defined after the Restore
Used Used Operation
FILEA is saved from LIBX. PGMA is restored to LIBY. The trigger is defined as
PGMA is saved from FILEA is restored to LIBX. LIBX/PGMA. When an event
LIBX. The trigger is occurs that causes this trigger, the
defined as LIBX/PGMA. program will not be found.
FILEA is saved from LIBX. PGMA is restored to LIBY. The trigger is defined as
PGMA is saved from FILEA is restored to LIBY. LIBY/PGMA.
LIBX. The trigger is
defined as LIBX/PGMA.
FILEA is saved from LIBX. PGMA is restored to LIBZ. The trigger is defined as
PGMA is saved from LIBY. FILEA is restored to LIBZ. LIBY/PGMA. When an event
The trigger is defined as occurs that causes this trigger, the
LIBY/PGMA. program will not be found.
After you have recovered the physical file, restore all the dependent files.
You can restore journals or journal receivers only to the same library from which
they were saved. Use the RSTOBJ and RSTLIB commands to restore journals and
journal receivers. When you are restoring multiple objects with one of these
commands, journals and journaled objects are restored before the journal receivers.
When you use several commands to restore several objects, restore the objects in
this order:
1. Journals
| 2. Based-on physical files
| 3. Other journaled objects associated with those journals
4. Dependent logical files
5. Journal receivers
| Note: Journal receivers can be restored at any time after the journals. They do
| not have to be restored after the journaled objects.
If you have journal receivers that were created before V3R1, you must restore them
in the order of newest to the oldest to establish the receiver chain correctly.
Restoring Journals
When you restore a journal, the system creates a new journal receiver and attaches
it. The characteristics of the new journal receiver are based on the journal receiver
that was attached when the journal was saved:
v The system creates a name that is not likely to conflict with other journal
receivers that may be on the system. The topic “Naming Journal Receivers” on
page 399 describes how the system generates a name.
Note: At the time a new journal receiver is created and attached, private
authorities have not been restored on the system. Therefore, private
authorities will not be assumed by the new journal receiver. After the
Restore Authority (RSTAUT) command is run, users will receive private
authority to the receiver that was attached before the restore operation.
Users will not receive private authority to the new receiver. Users must be
manually granted private authority to the new receiver.
| You cannot restore a journal to a library that contains the same journal. If a journal
must be restored (because of damage) to a library, the existing journal must be
deleted first.
You use the Delete Journal (DLTJRN) command to delete a journal. Before deleting
a journal, try to do the following steps. You may not be able to perform these steps
successfully if the journal is damaged.
1. Type
WRKJRNA JRN(library-name/journal-name)
OUTPUT(*PRINT)
| and press the Enter key. You receive a listing that shows all the objects that are
| currently being journaled.
2. End journaling for all the access paths assigned to the journal by typing:
ENDJRNAP FILE(*ALL)
JRN(library-name/journal-name)
3. End journaling for all the physical files assigned to the journal by typing:
ENDJRNPF FILE(*ALL)
JRN(library-name/journal-name)
| 4. End journaling for all the integrated file system objects assigned to the journal
| by typing:
| ENDJRN OBJ(*ALL)
| JRN(/QSYS.LIB/library-name.LIB/journal-name.JRN)
| 5. End journaling for all other object types assigned to the journal by typing:
| ENDJRNOBJ OBJ(*ALL) OBJTYPE(*ALL)
| JRN(library-name/journal-name)
| 6. Deactivate any remote journals that are associated with the journal by using the
Change Journal State (QjoChangeJournalState) API or the CHGRMTJRN
command.
When you try to delete the journal, you may receive message CPF7021 indicating
that the journal is being used for commitment control. If this occurs, end the jobs
that are using commitment control and then try to delete the journal again. You
| After you restore the journal or create it again, you must start journaling again for
| each object. Use the following commands to begin journaling for each object type
| listed below:
| v Database physical files — STRJRNPF
| v Access paths — STRJRNAP
| v IFS objects — STRJRN
| v All other object types — STRJRNOBJ
You should save the objects after you start journaling, in case the system assigned
a new journal identifier (JID) to an object. If you previously had any remote
journals associated with the journal, add them again by using the Add Remote
Journal (ADDRMTJRN) command or the Add Remote Journal
(QjoAddRemoteJournal) API. If you added any remote journals, you should save
the journal in order to preserve that information.
The system will not restore a journal receiver over the journal receiver that is
currently attached. The system will not restore a journal receiver over an existing
journal receiver that contains more entries. If you use the SAVCHGOBJ command
to save journal receivers, this is likely to occur. The journal receiver that is attached
at the time of the save operation is a changed object and is saved by the command.
When you restore, you receive message CPF3706 and the system continues with
the next journal receiver.
If your save procedure saves the currently attached journal receiver, you may try
to restore a journal receiver with fewer entries than the journal receiver on the
system. For example, assume that you save your journal receivers when receiver
RCVR0006 is attached. RCVR0006 has 1500 entries. Later, you use the CHGJRN
command to create and attach a new receiver. Now receiver RCVR0007 is attached.
Receiver RCVR0006 is still on the system and has 4300 entries. If you attempt to
restore receiver RCVR0006 from your save media volume, the operation fails
because the saved copy has only 1500 entries.
If the library you specify on the restore command for a journal receiver does not
exist, the system restores the journal receiver to the library that contains the
journal. If you specify RSTASP(*SAVASP) and the ASP does not exist, the system
usually restores the journal receiver to the same ASP as the library that contains
the journal.
Placing Journal Receivers in the Correct Auxiliary Storage Pool: If the attached
journal receiver is not in the desired ASP after the restore operation, do the
following:
1. Create a journal receiver in the desired ASP. Follow your existing naming
convention and use the same journal receiver attributes.
2. Use the CHGJRN command to attach the new journal receiver to the journal.
Do the following:
1. Type WRKJRNA JRN(library-name/journal-name) and press the Enter key.
2. From the Work with Journal Attributes display, press F15 (Work with receiver
directory). You are shown the Work with Receiver Directory display.
3. If the receiver directory is not correct, do the following:
a. Type WRKJRN and press the Enter key.
b. On the prompt display, enter the name of the journal.
c. On the Work with Journals display, type a 9 (Associate receivers with
journal) in the option column in front of the journal. The system establishes
the receiver chain for the journal.
Note: If some of the journal receivers were created prior to Version 3 Release 1,
you may need to restore all the journal receivers, from newest to oldest, to
establish the receiver chain correctly.
You cannot delete a journal receiver that is currently attached to a local journal.
You also cannot delete a journal receiver if later journal receivers in the receiver
chain are still on the system, unless one of the following conditions exists:
v The receiver being deleted is damaged
v The journal is a remote journal
v The journal is system-managed
| The system stores a validation value for all programs. When a program is restored,
| the system calculates the validation value and compares it to the value on the
| media. If they are different, but the QALWOBJRST system value allows objects
| with validation errors to be restored, the system creates the program again from
| the program object. The system contains all the information necessary to re-create
| an AS/400 or iSeries program. Starting with V5R1 the object does not have to have
| program observability in order to be restored. If a program validation error exists
| at the time the program is restored, the program will be recreated in order to
| correct the program validation error.
Table 51 shows what the system does when restoring programs. The iSeries Security
Reference book has more information about protecting your system from programs
that might circumvent security.
Table 51. System Actions When Restoring Programs
Audit Version of Private and
Journal Program Public
Situation Description Entry Message Owner Restored Authorities
Program created before V1R3; security level less None None Unchanged Original Unchanged
than 40
Program created before V1R3; security level 40 or None None Unchanged Original Unchanged
higher; ALWOBJDIF(*ALL)
Program created before V1R3; security level 40 or None None Unchanged Re-created Unchanged
higher; ALWOBJDIF(*NONE); retranslation
successful
Program created before V1R3; security level 40 or Yes CPF375B QDFTOWN Original Revoked
higher; ALWOBJDIF(*NONE); retranslation not
successful
Program created on V1R3 or later; validation None None Unchanged Original Unchanged
value is valid
Program created on V1R3 or later; validation Yes CPF375C Unchanged Re-created Unchanged
value is not valid, retranslation successful
Program created on V1R3 or later; validation Yes CPF375A Unchanged Original Unchanged
value is not valid; retranslation is not successful;
security level less than 40
Program created on V1R3 or later; validation Yes CPF375D Unchanged Original Unchanged
value is not valid; retranslation is not successful;
security level 40 or greater; ALWOBJDIF(*ALL)
Program created on V1R3 or later; validation Yes CPF375B QDFTOWN Original Revoked
value is not valid; retranslation is not successful;
security level 40 or greater; ALWOBJDIF(*NONE)
Following are the possible values for the QFRCCVNRST system value. The default
value is 0.
*SYSVAL The value specified for the QFRCCVNRST system value is used.
*NO Objects are not converted when they are restored.
*YES *RQD A restored object is converted if the object is not already in the format required by the target
system. If a program does not have the necessary creation data, it is restored but not
converted. A message is sent.
*YES *ALL A restored object is converted even if it is already in the format required by the target
system. If a program does not have the necessary creation data, it is not restored. You might
choose this option after your new system is operational if you have high security
requirements.
The AS/400 Road Map for Changing to PowerPC Technology has more information
about moving from an IMPI system to a system with a PowerPC AS processor.
This conversion can take significant time, depending on the model and size of the
system on which the objects are restored. OPM programs that are saved with a
PowerPC AS target release, do not require conversion when restored to a PowerPC
AS system. For these reasons, we recommend that you do not specify an IMPI
target release for routine backups from a system with a PowerPC AS processor.
If you are creating a single distribution medium for both IMPI and PowerPC AS
systems, you might want to place two separate save files on the same distribution
medium. The first save file would contain OPM programs that were saved with
the IMPI target release. The second save file would contain the OPM files that
were saved with the PowerPC AS target release. Files with the IMPI target release
will still require conversion, but the files with the PowerPC AS target release can
be restored to PowerPC AS systems without conversion. To avoid conversions for
both IMPI and PowerPC AS restore operations, create the IMPI save file on an
IMPI system and the PowerPC AS save file on a PowerPC AS system.
Notes:
1. These conversions are required because of significant differences between OPM
objects on PowerPC AS systems and IMPI systems.
2. ILE objects that are saved on a PowerPC AS system require no conversion
when restored on a PowerPC AS system, even if they were saved with an IMPI
target release.
You can save file data to tape, optical media, or diskette by using the SAVLIB,
SAVOBJ, or SAVCHGOBJ commands. If you specified SAVFDTA(*YES) on the save
command, you must restore the save file before you can restore the objects in the
save file.
Note: When you use RSTDLO DLO(*ALL), this includes the folders that are
used by IBM-supplied programs, such as Client Access. Ensure that you
saved these folders from the current release, or you may need to install
the licensed programs again.
v 1 to 300 documents from the same media file by specifying the names of the
documents or the system object names.
v 1 to 300 folders from the same media file.
No two of the following commands may be run on one system at the same time:
v RCLDLO DLO(*ALL)
v RCLDLO DLO(*DOCDTL)
v RCLDLO DLO(*INT)
v DLTDLO DLO(*ALL)
v RNMDIRE
An attempt to run these commands at the same time results in the message
CPF8A47: Internal system objects are in use. An attempt to run a SAVDLO or
RSTDLO operation while one of these commands is running will also result in
MSGCPF8A47 and no objects will be saved or restored.
For more information about character identifiers (CHRID), see the Printer Device
Programming book.
If you use an output file, the system uses the file format
QSYS/QAOJRSTO.OJRDLO. The file layout is described in the Office Services
Concepts and Programmer’s Guide book.
Moving Documents
When you restore documents, you can rename them, restore them to a different
folder, or have the system assign new system object names. The folder for a
document determines its ASP location. You can move a document to a different
ASP by doing the following:
1. Save the document.
2. Delete it with the DLTDLO command.
Note: The message tells you if the RCLDLO procedure is necessary. Use RCLDLO
only if you are instructed by a message or by the recovery checklist you are
using.
If the existing document is damaged, some of the security information may be lost.
The restore operation continues and a message is sent informing you that the
document is damaged and some of the security information is lost.
Restoring Folders
To restore a folder object, the entire folder (the folder object plus all document and
folder objects within it) must also be restored. However, if the specific folder being
restored was stored in other folders at the time it was saved, those higher level
folders do not have to be restored to restore the specific folder.
When you restore a folder, the fully qualified folder path name you are restoring
must exist unless you are restoring a first-level folder. For example, if you save
folder A and then delete it, you can enter RSTDLO DLO(*ALL) SAVFLR(A) and
restore folder A in addition to all the documents and folders in it. However, if you
want to restore folder A/B/C/D, you must create folder A, then folder B in folder
A, then folder C in folder A/B, before you can restore folder D in folder C. You
only have to create the folders that comprise the A/B/C path, and you do not
have to create folder D in folder A/B/C before you can restore it.
If you try to restore a folder that is in use, the system bypasses restoring the folder
and all the DLOs in it.
If you try to restore into an existing folder but the folder is damaged and cannot
be reclaimed, you receive a message informing you that the folder is damaged and
not restored. The folder and all documents and folders in it are not restored.
You can specify more than one value for the RENAME parameter. The system
matches the RENAME values with the DLO values until it runs out of values for
one or the other. Assume that you specify:
RSTDLO DLO(A B C D) SAVFLR(X) RENAME(J K L) RSTFLR(Y)
Mail log references are updated for all existing local recipients of a restored
document. Mail log references on remote systems for remote recipients are not
restored. If a document being restored still exists in a mail log at the time it is
restored, then the contents of the document are restored and the status of the
document in the mail log is not changed. If the document being restored has been
deleted from a mail log, then the status of the restored document is either filed for
a filed document or opened for a distribution document.
OV/400 mail log references are restored for a local sender of a document if there
was an entry in the sender’s mail log at the time the distributions were saved.
Entries in the OV/400 mail logs of remote senders are not saved or restored.
If the rename operation is performed just before saving the mail and the directory,
the changed information is saved and the information will be the same as what is
on the system. If the information on the media does not match the information on
the system, the mail will not be restored during the restore operation.
If you rename a document library object after a save operation, the document
library object name on the system is different than the name on the media.
However, the system object names remain the same. The restore operation fails
because the system thinks that the document library object already exists. Message
CPF90A3 or CPF909C is sent indicating that the document or folder already exists.
The text index database files are saved when library QUSRSYS is saved. A list of
the files that are saved when library QUSRSYS is saved is shown in a table in the
Office Services Concepts and Programmer’s Guide book.
If you are restoring the text index files, then all of the files must be restored
together from the same backup media. If they are not restored from the same
media, their association to each other is lost. The loss of the association to each
other can cause unpredictable results. If you do not have saved copies of the files,
you must delete the files and then restore them from your distribution media.
If the scheduling queue (file QABBIQTB) is damaged and there are documents on
the system, you can restore the scheduling queue and can get back some of the
requests that were lost if the saved scheduling queue is a very recent copy.
Retaining the requests on the restored scheduling queue may not be a benefit if it
is not a recent copy.
If you recover all text index search files, and documents from the same set of save
media, you should not have problems. If you recover your system in pieces,
consult Appendix F. Procedures for Recovering the Text Index for possible
problems and their solutions.
For more information about Text Search Services, see the Office Services Concepts
and Programmer’s Guide.
Attention!
| If you have related objects, such as journals and journaled objects, you must
| ensure that you restore them in the correct sequence. Read “Sequence for
| Restoring Related Objects” on page 45.
You can also restore the items in the preceding list by using the QsrRestore API.
For more information, look in the Information Center under the Programming
topic at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
For example, to restore all objects (or changed objects) in directories, use the
following:
RST DEV('/QSYS.LIB/media-device-name.DEVD')
OBJ(('/*') ('/QSYS.LIB' *OMIT) ('/QDLS' *OMIT))
The OBJ parameter on the RST command supports the use of wildcard characters
and the directory hierarchy. For more information about how to specify object
names when you use integrated file system commands, look at the Information
Center at the following Web site:
http://www.ibm.com/eserver/iseries/infocenter.
Some file systems allow you to name the same physical object different ways by
using aliases and links. For examples of objects with links and how those objects
are saved, go to the Backing up your system topic on the Information Center.
In the example of Figure 24, FILEA in the JCHDIR directory and FILEB in the
DRHDIR directory are both hard links to the same file. They point to the same
object. They can have the same name or different names for the objects.
┌──────────────┐
│ Root │
└──────┬───────┘
N
┌──────────────┐
│ UserDir │
└──────┬───────┘
│
┌──────────────┴──────────────┐
N N
┌──────────────┐ ┌──────────────┐
│ JCHDIR │ │ DRHDIR │
└─────┬────────┘ └──────┬───────┘
│ │
N N
┌──────────────┐ ┌──────────────┐
│ FILEA │ │ FILEB │
└──────────────┘ └──────────────┘
│ │
┌──────────────┐
└ ─ ─ ─S│ Object A │W─ ─ ─┘
└──────────────┘
Table 52 shows several examples of how the system restores these objects. These
examples assume that you use this SAV command: SAV OBJ('/UserDir/*'). The
media volume contains OBJECT A and both hard links that point to the object.
Table 52. Restoring Objects That Have Hard Links
Objects That Are on the
System before the RST
Object Parameter on RST Command Command Objects after the RST Command
Figure 25 shows the symbolic link called customer that points in the CUSTLIB
library.
If you restore the customer object (RST OBJ('/customer')), you are restoring only
the fact that it points to the CUSTMAS file, not the file itself. If the CUSTMAS file
does not exist, the restore operation succeeds. However, if you try to use the
customer object, you receive an error message. If you restore the CUSTMAS file or
create it again, the symbolic link between customer and the CUSTMAS file is
re-established.
| Note: If you saved the Server Storage space beneath QFPNWSSTG (by using the
| command SAV OBJ('/QFPNWSSTG/Server_Storage'), you must create the
| QFPNWSSTG first. Create /QFPNWSSTG by performing the following
| steps:
| 1. Create the server storage by using the CRTNWSSTG command.
| 2. RST OBJ(’/QFPNWSSTG/Server_Storage’)
| 3. Add the storage link by using the ADDNWSSTGL command.
| 4. Vary on the NWSD for Linux by typing WRKCFGSTS *NWS and selecting
| option 1 to vary on.
Since the new OS/400 Enhanced Integration for Novell NetWare product does not
store any data on your server, you have two backup options. First, you can easily
backup the /QNetWare subdirectory and restore the /QNetWare subdirectory with
your server in a restricted state or a non-restricted state.
Your second option is to restore your server to the point that you can start your
network descriptions and save the data from your remote Netware server through
/QNetWare. This is very slow, however.
You might need to recover Domino for a variety of reasons, for example:
v Damage to your server, such as fire or flooding
v Hardware problems, such as a disk failure
v User or operator error, such as deleting a database or running a month-end
procedure twice.
Sometimes, you must recover your entire server. Other times, you must restore a
specific directory. The following topics provide general information about recovery
procedures for Domino.
v “Recovering an entire Domino server”
v “Recovering Domino mail” on page 266
v “Recovering specific Domino databases” on page 267
v “Restoring changed objects to a Domino server” on page 267
Example
1. Start an iSeries session with a user profile that has *JOBCTL and *SAVSYS
special authorities.
2. To ensure that no one is using the server that you plan to restore, stop the
server. Use the End Domino Server (ENDDOMSVR) command.
3. Mount the media volume that has the most recent backup copy of the
directories for the server.
4. Type the appropriate restore (RST) command for your Domino directory. For
example, if your Domino directory is /NOTES/DATA, type the following
command:
RST DEV('/QSYS.LIB/media-device-name.DEVD')
OBJ('/NOTES/DATA/*')
Note: Consult your Domino documentation for any special recovery activities that
you might need to perform after you have restored the directories.
Examples
v The name of a user’s mail database is usually the user’s ID (short name) with
the .NSF extension. (The Domino administrator has the option to use different
names for mail database files.) To restore a specific user’s mail database, such as
the mail database for user GNELSON, use the following command:
RST DEV('/QSYS.LIB/media-device-name.DEVD')
OBJ('/NOTES/DATA/MAIL/GNELSON.NSF')
v You can specify more than one file on the restore command. To restore mail
databases for GNELSON, LSMITH, and JPETERS, use the following command:
RST DEV('/QSYS.LIB/media-device-name.DEVD')
OBJ(('/NOTES/DATA/MAIL/GNELSON.NSF')
('/NOTES/DATA/MAIL/LSMITH.NSF')
('/NOTES/DATA/MAIL/JPETERS.NSF'))
Notes about the examples:
1. All of the examples assume that the directory for your Domino server is
/NOTES/DATA.
Examples
v To restore a specific database that is named HRINFO to the HRDPT subdirectory
(folder), type the following:
RST DEV('/QSYS.LIB/media-device-name.DEVD')
OBJ('/NOTES/DATA/HRDPT/HRINFO.NSF')
v To restore all the Domino databases to the CUSTSVC subdirectory, type the
following:
RST DEV('/QSYS.LIB/media-device-name.DEVD')
OBJ('/NOTES/DATA/CUSTSVC/*.NSF')
v To restore all the Domino databases whose name begins with INV to the main
directory for your server, type the following:
RST DEV('/QSYS.LIB/media-device-name.DEVD')
OBJ('/NOTES/DATA/INV*.NSF')
Notes about the examples:
1. All of the examples assume that the directory for your Domino server is
/NOTES/DATA.
2. You cannot restore over a database that is in use. All users must close the
database before you can restore a backup copy.
3. Consult your Domino documentation for any special recovery activities that
you might need to perform after you have restored a Domino database.
5. Locate your most recent save media (from saving changed objects).
6. To restore all the objects on the save media (everything that has changed since
your full backup), type the following:
RST DEV('/QSYS.LIB/media-device-name.DEVD')
OBJ('/NOTES/DATA/*')
Notes about the example:
1. All of the examples assume that the directory for your Domino server is
/NOTES/DATA.
2. You cannot restore over a database that is in use. All users must close the
database before you can restore a backup copy.
3. Consult your Domino documentation for any special recovery activities that
you might need to perform after you have restored a Domino database.
5. Locate your first save media volume (from saving changed objects). For
example, if you save everything on Saturday night, locate your save media
from Sunday night.
7. Repeat steps 5 on page 268 and 6 for each nightly save media until your
directory is current. For example, if you are restoring on Thursday, you will
need to use the media volumes for Monday, Tuesday, and Wednesday nights.
Notes about the example:
1. All of the examples assume that the directory for your Domino server is
/NOTES/DATA.
2. You cannot restore over a database that is in use. All users must close the
database before you can restore a backup copy.
3. Consult your Domino documentation for any special recovery activities that
you might need to perform after you have restored a Domino database.
5. If your incremental backup media volumes are cumulative, mount your most
recent incremental backup media volume. Use the same restore command (step
4) to restore the changes.
Otherwise, if your backup media volumes are nightly, repeat step 4 for each
incremental backup media volume. Start with the oldest volume and work
forward.
Notes about the example:
1. All of the examples assume that the directory for your Domino server is
/NOTES/DATA.
2. You cannot restore over a database that is in use. All users must close the
database before you can restore a backup copy.
3. Consult your Domino documentation for any special recovery activities that
you might need to perform after you have restored a Domino database.
When you restore saved objects from OS/400, you need to be aware of these
considerations:
Notes:
1. Treat a network server description (NWSD) of type *WINDOWSNT, its
predefined disk drives, and any user-defined disk drives that are linked to it as
a unit. Restore them at the same time. Otherwise, Windows server may not be
able to re-establish items such as Windows server File System permissions.
2. To have OS/400 automatically relink restored disk drives in the integrated file
system to the appropriate NWSD, restore the NWSD after you restore the disk
drives.
3. If you restore an NWSD of type *WINDOWSNT before restoring the predefined
and user-defined disk drives in the integrated file system, you need to relink
those disk drives. You can do this by using the Add Network Server Storage
Link (ADDNWSSTGL) command for each disk drive that is associated with the
NWSD:
ADDNWSSTGL NWSSTG(Storage_Name) NWSD(NWSD_Name)
4. When you restore a domain controller, ensure that the domain database held on
the server is synchronized with the other domain controllers. Follow normal
Windows server procedures to do this and refer to documentation from
Microsoft as necessary.
To restore server storage spaces, you use the Restore Object (RSTOBJ) command:
1. On the OS/400 command line, type RSTOBJ and press F4.
2. If you are restoring from save media, ensure that you have mounted your
media.
Note: To restore the .UDFS object to an independent ASP, the ASP device must
be varied on.
5. Specify values for any other parameters that you want and press Enter to
restore the storage space.
6. You also need to restore any predefined disk drives that are associated with the
server and restore the NWSD. When you are done restoring the NWSD and all
its associated disk drives, vary on the Windows server.
Note: When you restore a NWSD, you must also restore any line, controller, and
device description objects that are associated with the NWSD.
Release V4R5 of iSeries Integration for Windows Server supports file-level backup
and recovery of your Windows server files. Now you can recover a particular file
from your OS/400 backup without restoring the entire disk drive. Before using this
method, however, consider the amount of data you need to restore. For large
amounts of data, restoring an entire disk drive object is much faster than restoring
all the individual files in the disk drive. To restore a smaller amount of data, this
method works great.
You should restore the directory first, then files, then the registry, then reboot
Windows server for new registry entries to take effect. To restore files that you
saved by this method, use the RST command:
1. Ensure that the Windows server and TCP/IP are running.
2. On the OS/400 command line, type RST and press F4.
3. In the Device field, specify the device on which the data is available. (For
example, 'QSYS.LIB/TAP01.DEVD' restores the data from tape.)
Note: When you save a directory that has shares defined over it, OS/400
saves the share information with the directory. If you specify a new
object name when you restore the directory, OS/400 does not recreate
these shares.
8. Use the Directory subtree field to specify whether you want to restore
subtrees under a directory. The default is to restore all directories.
9. To specify that you want to restore files that were saved during a particular
period, specify starting and ending dates and times in the Change period field.
10. Provide any other information on the screen that you want OS/400 to use to
restore the files and press Enter.
11. When the files are restored, reboot Windows server for new registry entries to
take effect.
Restrictions When Restoring Objects to Multiple File Systems: When you use the
RST command to restore objects to more than one file system at the same time and
the file systems include the QSYS.LIB file system or the QDLS file system, the
following restrictions apply:
v Different file systems support different types of objects and different methods of
naming objects. Therefore, when you restore objects from more than one file
system with the same command, you cannot specify object names or object
types. You can restore all objects from all file systems, or you can omit some file
systems. These combinations are valid:
– Restoring all objects on the system: OBJ('/*')
Note: Using this command is not the same as using option 21 from the
Restore menu. Following are the differences between SAV OBJ(’/*’) and
option 21:
- RST OBJ(’/*’) does not put the system in a restricted state.
- RST OBJ(’/*’) does not start the controlling subsystem when it finishes.
- RST OBJ(’/*’) does not provide prompting to change default options.
– Restoring all objects in all file systems except the QSYS.LIB file system and
the QDLS file system: OBJ(('/*') ('/QSYS.LIB' *OMIT) ('/QDLS' *OMIT))
– Restoring all objects in all file systems except the QSYS.LIB file system, the
QDLS file system, and one or more other file systems: OBJ(('/*')
('/QSYS.LIB' *OMIT) ('/QDLS' *OMIT) ('/other values' *OMIT))
v Values for other parameters of the RST command are supported only for some
file systems. You must choose values that are supported by all file systems.
Specify the following parameters and values:
OPTION
*ALL
ALWOBJDIF
*NONE or *ALL
LABEL
*SEARCH
OUTPUT
*NONE
Note: RST OBJ(’/*’) is not the recommended method for restoring the entire
system. Chapter 4. Selecting the Right Recovery Strategy describes how to
determine the recovery procedure for your situation.
Restrictions When Restoring Objects to the QSYS.LIB File System: When you
use the RST command to restore objects to the QSYS.LIB (library) file system, the
following restrictions apply:
v The OBJ parameter must have only one name.
v You specify objects in the same way that you specify them on the RSTOBJ
command and the RSTLIB command. Table 53 shows the valid options for the
Object (OBJ) parameter when restoring objects to the QSYS.LIB file system and
the equivalent RSTOBJ or RSTLIB command:
Table 53. Using the RST Command for QSYS.LIB Objects
Object Parameter on RST Command Equivalent RSTxxx Command
v You can specify only object types that are allowed on the RSTOBJ command. For
example, you cannot use the RST command to restore user profiles because
OBJTYPE(*USRPRF) is not allowed on the RSTOBJ command.
v Some libraries in the QSYS.LIB file system cannot be restored with the RSTLIB
command because of the type of information they contain. Following are
examples:
– The QDOC library, because it contains documents.
v You can use the new-name element of the object parameter to rename an object
in a directory, restore an object to a different directory, or restore an object to a
different library. Table 54 shows some examples:
Table 54. New Name Options on the RST Command–Examples
Object Parameter on RST Command Results
OBJ(('/DBSDIR/FILEB' *INCLUDE '/DBSDIR/FILEX')) FILEX is created in the DBSDIR directory. The data
that was saved with FILEB is restored to FILEX. If
FILEB still exists on the system, it is not changed.
OBJ(('/DBSDIR/FILE*' *INCLUDE LMSDIR)) Restores all objects from the DBSDIR whose names
begin with FILE to the LMSDIR directory.
OBJ(('/QSYS.LIB/LIB1.LIB' *INCLUDE '/QSYS.LIB/LIB2.LIB')) Library LIB1 (and all objects) are restored as library
LIB2.
OBJ(('/QSYS.LIB/LIB1.LIB/*' *INCLUDE All the objects of library LIB1 are restored into
'/QSYS.LIB/LIB2.LIB')) library LIB2.
OBJ(('/QSYS.LIB/LIB1.LIB/*.type' All objects of type ’type’ from library LIB1 are
*INCLUDE '/QSYS.LIB/LIB2.LIB')) restored into library LIB2.
v For database file members, OPTION(*NEW) restores members for new files only.
v Other parameters must have these values:
SUBTREE
*ALL
SYSTEM
*LCL
OUTPUT
*NONE
ALWOBJDIF
*ALL or *NONE
v You can only rename the library, you cannot rename the object. The new name
must be *SAME or
/QSYS.LIB/libname.LIB
Restrictions When Restoring Objects to the QDLS File System: When you use
the RST command to restore objects to the QDLS (document library services) file
system, the following restrictions apply:
v The OBJ parameter must have only one name.
v The OBJ and SUBTREE parameters must be one of the following:
– OBJ('/QDLS/path/folder-name') SUBTREE(*ALL)
– OBJ('/QDLS/path/document-name') SUBTREE(*OBJ)
v Other parameters must have these values:
Note: If you do not have the PTFs you need, order them and apply them later.
Continue with your recovery checklist.
4. You can use option 8 (Install program temporary fix package) on the Program
Temporary Fix menu. All of the PTFs in the cumulative PTF package will be
installed for the licensed programs you have installed on your system. Refer to
the iSeries System PTF Shipping Information Letter for special instructions that are
required.
If you want to restore individual PTFs, see the System Operation book for more
information about applying individual PTFs.
Point 1
─────────────────────────────S
Known point (last save) ┌───────────────────┐
│ Activity occurs │
│ on system │
Point 2 └───────────────────┘
─────────────────────────────S
Failure occurs ┌───────────────────┐
│ Hardware repair │
│ or IPL │
Point 3 └───────────────────┘
─────────────────────────────S
Hardware is available ┌───────────────────┐
│ Information is │
│ restored from │
│ backup │
Point 4 └───────────────────┘
─────────────────────────────S
System is recovered to ┌───────────────────┐
known point 1 │ Transactions from │
│ point 1 to │
│ point 2 are │
│ recovered │
Point 5 └───────────────────┘
─────────────────────────────S
System is recovered to ┌───────────────────┐
failure point 2 │ Business activity │
│ from failure │
│ point 2 to │
│ recovery point 5 │
│ is recovered │
│ │
Point 6 └───────────────────┘
─────────────────────────────S
System is current
This chapter describes two procedures that are available to reach point 5 in the
time line:
v Restoring changed objects
v Applying journal changes
These procedures are designed to recover activity that has occurred since the last
complete save operation.
| Note: The SAVCHGOBJ command does not apply to objects in directories. If you are
| restoring changed objects in directories, go to “Task 2–Restoring Changed Objects in
| Directories” on page 281 for restore instructions from both the cumulative and not
| cumulative save methods.
Cumulative You save all changes since the last “Restoring Changed
complete save operation. Objects by Library”
Not cumulative You save changes since the last “Restoring Changed
SAVCHGOBJ operation. Objects Individually”
If you save journal receivers using the SAVCHGOBJ command, read “Restoring
Journal Receivers” on page 250 for special considerations that may apply when
restoring them.
Attention!
If you have changed objects that do not restore because of creation date
mismatches for files or members, please refer to “Comparing File
Attributes during a Restore Operation” on page 238.
If you want to restore each set of SAVCHGOBJ save media completely, follow the
procedure described in “Restoring Changed Objects by Library” on page 280 for
each set of save media. If you want to restore each object only once, follow this
procedure:
1. Load each SAVCHGOBJ media volume.
2. Type DSPTAP DEV(media-device-name) OUTPUT(*PRINT) and press the Enter key.
3. Compare the listings and find the most recent saved copy of each object.
4. For each object, load the correct media volume and type:
RSTOBJ OBJ(object-name)DEV(media-device-name)
SAVLIB(library-name) OBJTYPE(*ALL)
ENDOPT(*LEAVE) MBROPT(*ALL)
If you use a cumulative method when you saved changed objects from directories
(your save media contain all objects that have changed since the last complete save
operation), do the following:
1. Mount your most recent save media from saving changed objects in directories.
2. Type:
RST DEV('/QSYS.LIB/media-device-name.DEVD')
OBJ(('/*') ('/QSYS.LIB' *OMIT) ('/QDLS' *OMIT))
3. If you have journaled changes to apply, continue with “Task 4–Determining
What Journal Receivers to Use” on page 282. If you do not need to apply
journaled changes, skip to “Task 7–Restoring Changed Documents and Folders”
on page 287. If you are not sure whether you need to apply journaled changes,
continue with “Task 3–Determining Whether You Need to Apply Journaled
Changes” on page 282.
If your save media from saving changed objects in directories is not cumulative,
repeat the following steps for each set of save media since your last complete save
operation. Start with the oldest save media volumes and end with the most recent
volumes.
1. Mount the media volume.
2. Type:
RST DEV('/QSYS.LIB/media-device-name.DEVD')
OBJ(('/*') ('/QSYS.LIB' *OMIT) ('/QDLS' *OMIT))
3. If you have journaled changes to apply, continue with “Task 4–Determining
What Journal Receivers to Use” on page 282. If you do not need to apply
Chapter 11. How to Restore Changed Objects and Apply Journaled Changes 281
journaled changes, skip to “Task 7–Restoring Changed Documents and Folders”
on page 287. If you are not sure whether you need to apply journaled changes,
continue with “Task 3–Determining Whether You Need to Apply Journaled
Changes”.
If you know you have journaled changes to apply, continue with “Task
4–Determining What Journal Receivers to Use”. If you are not sure, do the
following:
1. Type DSPOBJD OBJ(*ALL/*ALL) OBJTYPE(*JRN) OUTPUT(*PRINT) and press the
Enter key. This command prints a list of all the journals on your system.
2. For each journal on the list, do the following:
a. Type: WRKJRNA JRN(library-name/journal-name). You are shown the Work
with Journal Attributes display.
| b. Press F19 to display the objects being journaled.
c. Press F12 to return to the Work with Journal Attributes display.
| d. Press F15 to display the receiver directory. Note the attach and detach times
| for the journal receivers in relation to your journaled objects change dates.
| Additionally, you can use option 8 to display specifics about each journal
| receiver.
e. Press F12 to return to the Work with Journal Attributes display.
| f. From the information you have seen, you should be able to determine
| whether any objects are being journaled and whether any journal entries
| exist that are more recent than your most recent saved copies of the objects.
| You can also determine which receivers are on the system for the journal.
| Repeat these steps for each additional journal.
3. If you need to apply journaled changes, continue with “Task 4–Determining
What Journal Receivers to Use”. If you do not need to apply journaled changes,
skip to “Task 7–Restoring Changed Documents and Folders” on page 287.
Receiver Directory
Total size of receivers (in kilobytes). . . . . . : 1507
Attach Save Size
Number Receiver Library Date Date Status (K)
00001 RCVA0001 DSTJRN 06/08/9x 06/08/9x SAVED 42
00002 RCVA0002 DSTJRN 06/09/9x 06/09/9x SAVED 900
00003 RCVA0003 DSTJRN 06/09/9x 06/09/9x PARTIAL 92
01001 RCVA1003 DSTJRN 06/10/9x 00/00/00 ATTACHED 473
If you save only detached journal receivers, your receiver directory should
look similar to Figure 28:
Receiver Directory
Total size of receivers (in kilobytes). . . . . . : 1507
Attach Save Size
Number Receiver Library Date Date Status (K)
00001 RCVA0001 DSTJRN 06/08/9x 06/08/9x SAVED 42
00002 RCVA0002 DSTJRN 06/09/9x 06/09/9x SAVED 900
00003 RCVA0003 DSTJRN 06/09/9x 06/09/9x SAVED 92
01001 RCVA1003 DSTJRN 06/10/9x 00/00/00 ATTACHED 473
4. On the listing, mark the name of the last receiver with a status of SAVED or
PARTIAL.
5. Determine the chain of receivers to be used in the APYJRNCHG command
| from the Work with Receiver Directory listing. Mark the first and last receiver
| that you need, based on the date that you saved the objects being recovered.
Notice that the first and last receiver are the same if only one journal receiver
was restored.
Note: While looking at the receiver directory, you should also look for any
receiver chain breaks. You can determine a chain break by looking at
the first two digits in the Number column on the Work with Receiver
Directory display. You cannot apply journaled changes across receiver
chain breaks. Therefore, you must write down the beginning and
ending receiver names for each receiver chain. Then you need to run a
series of apply journaled changes operations, one for each chain using
these receivers. A chain break may mean that you are missing all or
part of a journal receiver. (It was on the system and was not saved
before the failure occurred.) You should evaluate how applying
journaled changes across a change break may affect the integrity of
your data. “Journal Receiver Chains” on page 440 has more information
about receiver chain breaks.
6. If the ending receiver has a status of PARTIAL (saved-while-attached),
determine the last entry to be applied for the last receiver:
Chapter 11. How to Restore Changed Objects and Apply Journaled Changes 283
a. Type 8 (Display attributes) in the Opt field next to the receiver name.
b. Write down the value for the Last Sequence Number field.
| 7. Look at the part of the listing that shows what objects are currently being
| journaled. (You printed the listing in step 3a on page 283.) Compare it to your
| records of what objects should be journaled. Follow the procedures in
“Printing system information” on page 26 before you save your system.
8. For each physical file that should be journaled and does not appear on the
current listing, type:
STRJRNPF FILE(library-name/file-name)
JRN(library-name/journal-name)
9. For each access path that should be journaled and does not appear on the
current listing, type:
STRJRNAP FILE(library-name/file-name)
JRN(library-name/journal-name)
| 10. For each integrated file system object that should be journaled and does not
| appear on the current listing, type:
| STRJRN OBJ('object-path-name')
| JRN('journal-path-name')
| 11. For all other object types that should be journaled and do not appear on the
| current listing, type the following:
| STRJRNOBJ OBJ(library-name/object-name)
| OBJTYPE(object-type)
| JRN(library-name/journal-name)
| 12. The journal receiver that is currently attached may not match your naming
conventions. Usually this is because the journal receiver was created when
you restored the journal. If this is the case, create a new receiver that follows
the same naming convention and receiver attributes as the last receiver but
assign it a number of one greater. In the example shown on the Work with
Receiver Directory display, you would type:
CRTJRNRCV JRNRCV(DSTJRN/RCVA0004)
13. Use the CHGJRN command to detach the current receiver and attach the
journal receiver you just created. In the example, you would type:
CHGJRN JRN($JRNLA/JRNA)
JRNRCV(DSTJRN/RCVA0004)
| Note: If you want to apply journaled changes to library and directory objects
in the same command invocation, you can use both the OBJ and
OBJPATH parameters in one APYJRNCHG command invocation.
If you have a single receiver chain for the journal entries that you need to
| apply and the status of the last receiver you are using is PARTIAL, do one of the
following:
a. For objects in libraries type the following:
| APYJRNCHG JRN(library-name/journal-name)
| OBJ((library-name/*ALL object-type))
| RCVRNG(lib-name/first-receiver
| lib-name/last-receiver)
| FROMENT(*LASTSAVE) TOENT(last-sequence-number)
| b. For objects in directories type the following:
| APYJRNCHG JRN(jrnlib/jrnname)
| OBJPATH('object-path-name')
| RCVRNG(lib-name/first-receiver
| lib-name/last-receiver)
| FROMENT(*LASTSAVE) TOENT(last-sequence-number)
Note: If you want to apply journaled changes to library and directory objects
in the same command invocation, you can use both the OBJ and
OBJPATH parameters in one APYJRNCHG command invocation.
2. If you have determined that this journal had receiver chain breaks, you must
decide whether you are actually missing journal receivers and necessary journal
entries or whether the chain breaks were caused by something else. You should
evaluate how applying journaled changes across a chain break may affect the
integrity of your data. “Journal Receiver Chains” on page 440 provides more
information about receiver chain breaks.
If you decide to apply journal entries across chain breaks, you must use a
APYJRNCHG command for each chain. Type the APYJRNCHG command and
use these values in place of the values shown in step 1 on page 284.
For the first (earliest) receiver chain:
RCVRNG
First and last receivers in this chain
FROMENT
*LASTSAVE
TOENT
*LAST
Chapter 11. How to Restore Changed Objects and Apply Journaled Changes 285
TOENT
*LAST
You cannot apply all journaled changes in the QAOSDIAJRN journal in library
QUSRSYS. You must specify individual files on the FILE parameter instead of
*ALL. Do not apply journal changes to the document and folder search index
database files (QAOSSS10 through QAOSSS15, QAOSSS17, and QAOSSS18) for
journal QAOSDIAJRN in library QUSRSYS.
1. Display the receiver chain for the QAOSDIAJRN journal by doing the
following:
a. Type: WRKJRNA JRN(QUSRSYS/QAOSDIAJRN) and press the Enter key.
b. From the Work with Journal Attributes display, press F15 (Work with
receiver directory). Examine the receiver directory to determine whether any
chain breaks exist. (See the note on page 5 on page 283.)
c. Type 8 (Display attributes) in the Opt field next to the receiver name of the
last receiver that is not attached.
d. On the Display Journal Receiver Attributes display, write down the value
for the Last Sequence Number field.
e. Press F12 three times to return to a command line.
2. If no chain breaks exist, type the following to apply journaled changes for the
QAOSDIAJRN journal to individual files:
APYJRNCHG JRN(QUSRSYS/QAOSDIAJRN)
FILE((QUSRSYS/QAOKPLCA) (QUSRSYS/QAOSAY05)
(QUSRSYS/QAOKPX4A) (QUSRSYS/QAOSAY07)
(QUSRSYS/QAOKP01A) (QUSRSYS/QAOKP02A)
(QUSRSYS/QAOKP03A) (QUSRSYS/QAOKP04A)
(QUSRSYS/QAOKP05A) (QUSRSYS/QAOKP06A)
(QUSRSYS/QAOKP08A) (QUSRSYS/QAOKP09A))
RCVRNG(lib-name/first-receiver
lib-name/last-receiver)
FROMENT(*LASTSAVE)
TOENT(last-sequence-number)
Do the following:
1. If your procedure for saving changed DLOs is cumulative, load the last daily
SAVDLO media volume. If your procedure is not cumulative, start with your
earliest daily save volume and repeat these steps for each set of SAVDLO save
media.
2. If you have documents in user ASPs, display the save media volumes to find
the sequence numbers for each ASP. Type DSPTAP DEV(media-device-name)
OUTPUT(*PRINT) for tapes. Mark the names and sequence numbers of the files
on the listing. They will be named QDOC for the system ASP and QDOCnnnn
for each user ASP that contains DLOs, where nnnn is the number of the ASP.
3. To restore the DLOs to a single ASP, type:
RSTDLO DLO(*ALL) DEV(media-device-name) SAVFLR(*ANY)
SAVASP(ASP-number) RSTASP(*SAVASP)
4. To restore the DLOs to all ASPs, type:
RSTDLO DLO(*ALL) DEV(media-device-name) SAVFLR(*ANY)
SAVASP(*ANY) RSTASP(*SAVASP)
Chapter 11. How to Restore Changed Objects and Apply Journaled Changes 287
288 OS/400 Backup and Recovery V5R1
Chapter 12. Mirrored Protection Recovery Actions
In considering aspects of recovery, you need to distinguish between errors and
failures in the disk subsystem.
A disk error refers to an unexpected event during an I/O operation which can
cause the loss or corruption of the data that is being transferred. Most disk errors
are caused by a failure in some part of the component chain from the I/O
processor to the disk surface. Environmental effects such as power abnormalities or
severe electrostatic discharges can also cause disk errors. Included in the definition
of disk errors is a failure of the Licensed Internal Code that controls the disk
subsystem.
When the system detects an error, generally the occurrence is logged and the
operation is attempted again. Temporary errors are those from which the system
can recover and complete the I/O operation successfully. When the error is so
severe that the I/O operation cannot succeed, it is a permanent error.
On a system with mirrored protection, errors and failures have different effects.
When a failure occurs on a system with mirrored protection, the recovery
procedure is affected by the level of protection that is configured.
Device Error: If the system detects a device, I/O processor or bus failure on a
mirrored unit, it does the following:
1. The system disables the failing unit and suspends mirroring for the pair. If the
other unit in the pair is also failing or is already suspended, the first unit is
considered unprotected.
2. The system sends a message that identifies the failing unit and indicates that
mirroring has been suspended. You can use problem analysis on this message
for more information.
3. When a disk unit is suspended following an error, the system records all
updates that are performed on the active unit of the mirrored pair. If the
suspended disk unit becomes usable within a short period of time, the system
automatically synchronizes the data between the mirrored units.
4. After the failed unit is replaced, the system synchronizes the pair and resumes
mirrored protection. The system sends a message that indicates that mirrored
protection has been resumed.
Connection Failure: If the system cannot communicate with a device, it does the
following:
1. The system attempts to recover from the communications error. Any job
requesting the disk unit waits during the period that the system is attempting
recovery.
2. If the recovery is successful, normal system operations continues.
3. If the system cannot recover within the time limit for the reset command, the
unit is considered to have a device error. The system performs the steps that
are described in 289.
Load Source Unit Failure: If an error occurs on the load source unit before the
Storage Management Recovery portion of the IPL, the system does the following:
1. The system determines if the other mirrored unit in the load source mirrored
pair is usable. If not, the system fails.
2. If the system is able to continue, it starts an IPL from the remaining usable unit
in the load source mirrored pair.
3. Select option 3 (Suspend mirrored protection) on the Work with Disk Unit
Recovery display and press the Enter key.
Serial Resource
OPT Unit ASP Number Type Model Name Status
_ 1 1 00-31297 6109 030 DD002 Resuming
_ 3 1 00-0184097 6602 050 DD011 Active
_ 3 1 00-0125986 6602 050 DD005 Active
4. Type a 1 (Suspend Mirrored Protection) in the Option column for each unit that
you want to suspend mirrored protection. You can suspend protection only on
units that have both units in an Active or Resuming status. If one of the units is
in Resuming status, then it is the only unit that can be selected to suspend. It
takes several minutes to suspend a resuming unit that is using SST.
If you suspend a mirrored unit that is using SST, the system starts to keep a list of
disk pages that are changed. If you resume mirrored protection on the suspended
mirrored unit before this list becomes full, the system uses this list to copy data
from only those disk pages that were changed instead of copying an entire disk.
3. Select option 4 (Resume mirrored protection) on the Work with Disk Unit
Recovery display and press the Enter key.
You can replace mirrored units by using the Replace Disk Unit option in either
DST or SST. To do this, you need to have a spare storage unit that can be paired
with the mirrored unit of the storage unit that is being replaced. The storage unit
being replaced can have a status of active or suspended. However, one of the
storage units in the pair must be suspended. The results of the replace operation is
different for each status. Replacing a suspended storage unit causes that storage
unit to go to a status of resuming after the replace operation. Replacing an active
unit causes data in the ASP to be lost, so you must first delete the data in ASP
(using the DST ’Delete ASP Data’ option). The storage unit being replaced can also
be missing or not missing. To replace a unit with a status of resuming, you must
suspend it. If the status of unit 1 is unknown, replace operations are not allowed
until the status of the mirrored units for unit 1 is known. The unit selected to
replace another mirrored unit must satisfy all of the mirrored protection
configuration rules and restrictions when it is paired with the remaining unit in the
mirrored pair. (See “Mirrored Protection–Configuration Rules” on page 719.)
If a storage unit fails, and if the same storage unit that failed has been repaired, it
is not necessary to replace it. The failed disk should have a status of suspended
and can be resumed after the repair is complete.
If the storage unit that is being replaced is active, it can only be replaced at DST
before the IPL to the OS/400 licensed program. It should never be necessary to
replace an active unit unless both units of the mirrored pair have failed. If this
situation does occur, the service representative should first try to recover the data
from the failed units using the Save Disk Unit Data option on the Work with Disk
Unit Recovery display. When an active unit is replaced, the last good copy of the
data has been lost. The data in the ASP that contains the unit being replaced must
be deleted using the DST ’Delete ASP Data’ option before an active unit is allowed
to be replaced.
Replacing unit 1 requires special handling. If the system ASP has mirrored
protection, one of the units in the mirrored pair for unit 1 is selected as the IPL
device. It is the only unit that is used until the system performs an IPL to the
OS/400 licensed program. Until then, it cannot be replaced or even suspended.
However, its mirrored unit can be both suspended and replaced. After the IPL to
the OS/400 licensed program, the IPL device can be suspended and then replaced.
Replacing a unit may cause the level of protection for a mirrored pair to change. If
a lower level of protection results from a replacement operation, it displays a
warning screen. At certain times, especially when missing units are involved in the
replace operation, the system may not be able to accurately calculate the level of
protection and the same warning display is shown.
3. Select option 1 (Replace configured unit) on the Work with Disk Unit Recovery
display and press the Enter key.
The Select Configured Unit to Replace display is shown.
4. Type a 1 in the Option column on the Select Configured Unit to Replace display
and press the Enter key.
Serial
Resource Option Number Type Model Name Status
_ 00-0330477 6602 030 DD005 Non-configured
1 00-0323200 6602 030 DD033 Non-configured
5. Type a 1 in the Option column on the Select Replacement Unit display and
press the Enter key.
Call your service representative. You may be directed to examine the Service
Action Log for information that is concerning the failure. Use the Display Disk
Configuration Status option by using SST or the Work with Disk Status
(WRKDSKSTS) command to determine which units are suspended. If all disk units
under an I/O processor are suspended, the I/O processor probably has failed. If
you have enough spare units of the right type and model, and if the spare units
are not on the I/O processor that has failed, you may be able to use the spare
nonconfigured units to resume mirrored protection.
After your service representative repairs a failed storage unit, you may want to use
it instead of the spare to restore the previous level of protection. To use the
repaired unit, do the following:
1. Suspend the active storage unit that was previously used as the spare by
typing the following on a command line and pressing the Enter key.
STRSST
2. From the System Service Tools (SST) menu, do the following:
8. Type a 1 in the Option column on the Select Replacement Unit display and
press the Enter key.
When suspended units exist, the system sends a message every hour to the
QSYSOPR message queue as a reminder.
You should have a method of bringing these messages to the attention of the
system administrator. If the interactive job at the console allocates the QSYSMSG
message queue and places it in break mode, it notifies you of any problems. For
more information on QSYSMSG, see the CL Programmer’s Guide.
Time-out:
Disk-related failure of unit 1 before the IPL to the Operating System/400: See
“Mirrored Protection–Configuration Rules” on page 719 for restrictions that apply.
If the failing unit has mirrored protection and its mirrored unit is active, the
following display is shown.
Disk Configuration Warning Report
Press F10 to accept all the warnings and continue the IPL.
The system will attempt to correct the warnings.
OPT Warning
5 Missing mirror protected units in the configuration
The following disk units are missing from the disk configuration:
Serial
Resource Reference ASP Unit Type Model Number Name Code
1 2 6602 030 00-0190494 DD036 1713
You can suspend mirrored protection on the affected units and continue the IPL.
An entry is written in the problem log. You can run problem analysis on the failing
unit at a later time. The type and reference code fields can be used with the unit
reference code guide to determine the cause of the problem. If the keylock switch
is not in the Manual position, a system reference code is displayed on the control
panel. If the affected units do not report to the system within six minutes, the
system automatically suspends mirrored protection on the affected units and
continues the IPL.
Saving a Unit
The system allows you to save data from storage units that use the DST Save Disk
Unit Data option.
The following rules apply to saving units on a system with mirrored protection:
v Only configured units can be saved.
v The save operation is not allowed when both mirrored units of a mirrored pair
are active. Only one of the mirrored units can be saved. Therefore, one mirrored
unit must be suspended.
v Only the active unit of a mirrored pair can be saved because the active unit
contains the current data.
v If multiple failures cause the state of unit 1 to be unknown, saving of any
storage unit is not allowed.
Restoring a Unit
In the mirrored environment, the system allows you to restore data to storage
units.
The following rules apply to restoring units on a system with mirrored protection:
v The restore is possible only for an active device.
v This option can restore to either a configured or nonconfigured disk unit.
v The restore operation requires that the unit restored to is as large as or larger
than the unit saved.
v The restore operation is not permitted if the state of a unit is unknown. You can
restore unit 1 only to the IPL device.
v After a unit is restored, the system performs an IPL to DST.
v The unit being restored must satisfy all mirrored protection configuration rules
and restrictions.
If the system has not been able to IPL on an active mirrored load source, it is
presumed to be broken in some way, and the following screens are displayed.
OPT Error
5 Load source failure
The system could not use the load source disk unit that
contains correct data.
Disk unit:
Type . . . . . . . . . . . . . . . . . . : 6603
Model . . . . . . . . . . . . . . . . . : 030
Serial number . . . . . . . . . . . . . : 00-0193825
Resource name . . . . . . . . . . . . . : DD001
Press F10 to accept all the warnings and continue the IPL.
The system will attempt to correct the warnings.
OPT Warning
5 Missing mirror protected units in the configuration
v If the remaining storage unit of the load source mirrored pair does not contain
current data (it is suspended or resuming), it is treated as if the system cannot
find an active mirrored load source for IPL, as described earlier. The IPL is not
allowed to continue past DST until the active load source is found or repaired.
Press F10 to accept all the warnings and continue the IPL.
The system will attempt to correct the warnings.
OPT Warning
5 Bad load source configuration
OPT Error
5 Unknown load source status
The system can not determine which disk unit of the load
source mirrored pair contains the correct level of data.
Disk unit:
Type . . . . . . . . . . . . . . . . . . : 6603
Model . . . . . . . . . . . . . . . . . : 030
Serial number . . . . . . . . . . . . . : 00-0193825
Resource name . . . . . . . . . . . . . : DD001
If the keylock switch is not in the Manual position, the control panel displays a
system reference code .
The missing unit must be repaired or the state of the unknown load source
recovered. If the missing unit can be repaired without losing the data on the unit,
then the state of the load source will become known when the system is IPLed. If
the missing unit cannot be repaired or if the data on it is lost, then you can
possibly recover the state of the unknown load source and avoid restoring the
entire system.
You should only attempt to recover the state of the unknown load source when
you know its mirrored unit state was active before the failures that caused the state
to become unknown. Since the state is unknown, the system cannot verify that
your choice is correct. If you recover the state of the unknown load source when
the actual state of the disk unit used to IPL was not active, you will cause data loss
or damaged objects on your system.
If you cannot recover the state of the unknown load source and if the missing unit
cannot be repaired, you must install the Licensed Internal Code and restore the
entire system.
Disk unit:
Type . . . . . . . . . . . . . . . . . : 6602
Model . . . . . . . . . . . . . . . . : 030
Serial number. . . . . . . . . . . . . . : 00-0163477_
Resource name . . . . . . . . . . . . . : DD019
Figure 29 on page 306 shows the parts of your system and how they are saved with
Operational Assistant. Refer to it in the topics that follow.
Figure 29. How the System Is Saved with Operational Assistant Backup
If you are not sure which tapes have your user libraries on them, do the
following for each possible tape:
a. Mount the tape.
b. Type DSPTAP DEV(media-device-name)
c. Page through the displays, looking for the file called QFILE.
d. When you find the tape with the QFILE file on it, write down the sequence
number for that file on the tape.
e. Leave the tape in the tape unit and type: DSPTAP DEV(media-device-name)
LABEL(QFILE) SEQNBR(sequence-number) DATA(*SAVRST) OUTPUT(*PRINT).
f. If the listing contains user libraries, it was created by either the
SAVLIB(*NONSYS) command or the SAVLIB(*ALLUSR) command. The
libraries from the tape can be restored using the RSTLIB SAVLIB(*ALLUSR)
command.
2. Mount the first tape that has user libraries and type: RSTLIB SAVLIB(*ALLUSR)
DEV(media-device-name). Press the Enter key.
You have now restored all the libraries on your system to the point where they
were all saved completely. Return to “Recovering User Information Using Tapes
from Operational Assistant Backup–Checklist 27” on page 117.
Chapter 13. How to Restore Your System Using Operational Assistant Tapes 307
If you have both a weekly and a daily backup that meet these conditions, do the
following:
v If your daily backup and weekly backup both save exactly the same libraries
from the backup list, perform steps 2 through 4 once, using your most recent set
of tapes (daily or weekly).
v If your daily backup saves fewer libraries than your weekly backup, do the
following:
– If your most recent backup is a weekly backup, perform steps 2 through 4
once, using your most recent set of weekly tapes.
– If your most recent backup is a daily backup, perform steps 2 through 4 once,
using your most recent set of weekly tapes. Repeat step 2 through 4, using
your most recent set of daily tapes.
1. Mount the first tape.
2. Find the printed copy of the backup list associated with the save tapes. If you
have the list, skip to step 4
3. If you do not have the list, display the contents of the save tapes by typing:
DSPTAP DEV(media-device-name) OUTPUT(*PRINT) DATA(*SAVRST).
4. Use the listing from step 2 or step 3. For each library that was saved, do the
following:
a. Type: RSTLIB SAVLIB(library-name) DEV(media-device-name).
b. Check off the library name on the list.
Note: Restore the user libraries to each user ASP that you are recovering. If
you are restoring the QGPL library and the QUSRSYS library and doing
partial recovery, restore these libraries before any other libraries. When
recovering the entire system, there is no need to restore QGPL and
QUSRSYS libraries first.
Do the following:
1. Mount the first tape from your most recent backup of changed objects.
2. Determine if any objects are on the tape for libraries that do not exist on the
system:
a. Print a list of libraries on the system by typing: DSPBCKUPL OUTPUT(*PRINT).
b. Print the contents of the tape by typing: DSPTAP DEV(media-device-name)
OUTPUT(*PRINT) DATA(*SAVRST).
c. Compare the two lists. Mark any libraries on the DSPTAP listing (from step
2b) that do not appear on the DSPBCKUPL listing (from step 2a).
d. For any libraries you marked in step 2c, type the following: CRTLIB
LIB(library-name).
3. Restore the changed objects from the tapes. For each library that appears on the
DSPTAP listing (from step 2b), type:
Chapter 13. How to Restore Your System Using Operational Assistant Tapes 309
310 OS/400 Backup and Recovery V5R1
Chapter 14. How to Restore the System from the Save
Storage Media
When you recover your system from the Save Storage (SAVSTG) media, you reset
your system to the point when the SAVSTG procedure was run. Your system will
not be available for use until the restore process completes successfully.
The disk configuration of the restoring system must be the same as the disk
configuration of the saving system. There must be at least as many disk units on
the restoring system as there were on the saving system. Each disk unit capacity
on the restoring system must be equal to or greater than the capacity of the disk
unit on the saving system. Serial numbers and physical addresses do not have to
be the same. All disk units that were saved are required for the restore operation.
If your system has mirrored protection now, when the restore storage procedure
runs, your system will not have mirrored protection on any Auxiliary Storage Pool
(ASP).
Task 1–Powering Down the System and Loading the Licensed Internal
Code
1. Ensure that all users are off the system.
2. Type the following to power down the system:
PWRDWNSYS OPTION(*IMMED)
3. Load the first SAVSTG tape in the tape unit that is your alternative IPL device.
4. Install the Licensed Internal Code by using the procedure that is described in
“Task 2–Powering Down the System” on page 123 through “How to Load the
Licensed Internal Code” on page 130. Select option 2 (Install Licensed Internal
2. Select option 3 (Use Dedicated Service Tools (DST)) and press the Enter key.
The Dedicated Service Tools (DST) Sign On display is shown.
3. Sign on DST with the DST security-level or full-level password. The iSeries
Security Reference book has more information about DST passwords.
The Use Dedicated Service Tools (DST) menu is shown.
1. Perform an IPL
2. Install the operating system
3. Work with licensed internal code
4. Work with disk units
5. Work with DST environment
6. Select DST console mode
7. Start a service tool
8. Perform automatic installation of the operating system
9. Work with save storage and restore storage
10. Work with remote DST support
Note: If you are able to use logical partitions on your system, the Use
Dedicated Service Tools screen will include option 11, Work with
system partitions.
4. If you are using logical partitioning, and you are restoring to the primary
partition, you must restore your partition configuration before you restore
storage. For secondary partitions, you will not restore the partition
configuration — this step is only for primary partitions. Refer to “How to
Recover Your Logical Partition Configuration” on page 134 for instructions on
restoring your partition configuration. Then return here and continue with the
next step.
7. Type the volume name in the Volume Identifier prompt. The volume name is
SAVEDS. This is the volume that is currently loaded. You will be shown one
of the following displays. Continue with the step that is indicated:
8. If the Select Tape Unit display appears, select the proper unit and press the
Enter key.
Continue with step 12 on page 314.
Select Tape Unit
Serial
Option Type Model Number Resource Name
_ ____ ____ __________ _____________
_. ____ ____ __________ _____________
..
10. Type the name of the correct volume or file, and press the Enter key. The
following display is shown:
Chapter 14. How to Restore the System from the Save Storage Media 313
Device Intervention Required
13. Press F10 (Confirm restore) to confirm. The restore status display on the
console continually displays the progress of the restore operation.
Function Status
51% Complete
12 pages not readable
The display indicates what percent of the total system sectors have been
restored. However, this is an estimate and cannot be used to predict how long
the entire restore procedure will take.
14. If no errors occur, the system performs a programmed IPL when the restore
storage process completes, go to “Task 4–Completing the Restore Storage
Operation” on page 315 otherwise, continue to “Task 3–Responding to
Messages”.
End of tape encountered. Load next volume. Load the next tape volume. Select option 3 (Continue), and
press the Enter key.
Tape unit not ready Make the tape unit ready, select option 3 (Continue), and press
the Enter key.
Wrong volume loaded Remove the tape. Load the correct tape. Selection option 3
(Retry) and press the Enter key.
If the tape can not be read because of a media error, the following display is
shown:
Restore Storage
If this is the first time the restore storage has ended because
a media error occurred on this tape, do the following:
1. Remove the tape from the tape device.
2. Clean the tape path using the cleaning procedure
described in the tape device operator's guide.
3. Press Enter, F3, or F12 to continue. The system will
perform an IPL, an then display either the IPL or Install
the System menu or the Missing Disk Units display.
4. Select the option to use Dedicated Service Tools (DST)
5. Select the option to Work with Save Storage and Restore
Storage.
6. Select the option Resume restore storage.
7. Insert the tape which had the media error into the tape
device.
8. Make the tape device ready, if necessary.
Chapter 14. How to Restore the System from the Save Storage Media 315
3. If the following display is shown, disk units have been attached to the system
and are in nonconfigured status.
Select option 3 (Add all disk units to the system auxiliary storage pool) and
Add All Disk Units to the System
Select one of the following:
1. Keep the current disk configuration
2. Perform disk configuration using DST
3. Add all units to the system auxiliary storage pool (ASP)
4. Add all units to the system ASP and balance data
As the disk units are being configured, the following display is shown:
..
.
Function status
Adding disk units takes several minutes. The time it takes depends on the
size of each unit and the number of units to be added.
4. The Sign On display appears. Sign on as QSECOFR.
Note: It is important that the following steps are performed so that the device
resource names are updated correctly.
5. At the IPL Options display, set the Start system to restricted state option
to Y (yes).
Note: As the IPL continues, SRC A900-2000 may appear. See “Recovering
from SRC A900 2000” on page 164. This section describes how to create
a tape device descriptor so that the system hardware configuration can
be restored in a later step of this procedure.
6. When the IPL is complete, ensure that the system is in a restricted state. See
“Putting Your System in a Restricted State” on page 45.
7. You have to restore the configuration of your system. Use the most recent
media volume that has your saved configuration. If you performed the
Restore Storage on the same system that you did the Save Storage (SAVSTG)
on, you were instructed to create a SAVCFG media volume before the
SAVSTG ran. If your system configuration has changed since the Save Storage
was performed, use the most recent SAVCFG or SAVSYS media volume. If
you performed the Restore Storage on a system different than the system the
Save Storage (SAVSTG) ran on, use the most recent SAVCFG or SAVSYS
media volume from the system you restored to. The file on the tape is called
QFILEIOC.
| Before you perform the RSTCFG command, you need to vary off all
| unnecessary configuration objects. Do not vary off the workstation and media
| drive that you are using to perform the resotre operation.
With the SAVSYS or SAVCFG media volume loaded, type:
RSTCFG OBJ(*ALL) DEV(media-device-name) OBJTYPE(*ALL)
Use the list of Network Attributes to enter the values on the input fields.
10. Change the system value for QAUTOCFG to allow automatic configuration to
run. Type:
CHGSYSVAL QAUTOCFG '1'
11. Do a PWRDWNSYS *IMMED RESTART(*YES).
If you have a problem with your devices, such as not being able to vary on a
device, see “Recovering Devices That Will Not Vary On” on page 228.
Chapter 14. How to Restore the System from the Save Storage Media 317
Task 5–Restoring Additional Information
If you are restoring changed objects, changed DLOs, or changed objects in
directories, you must first restore user profiles. This builds the authority
information for any new objects that you restore. If you are applying only
journaled changes, start with step 4.
1. Sign on as QSECOFR.
2. Put your system in a restricted state. See “Putting Your System in a Restricted
State” on page 45.
3. Restore user profiles. See “Restoring User Profiles” on page 214.
4. Restore changed objects and apply journaled changes. Follow the instructions
in “Chapter 11. How to Restore Changed Objects and Apply Journaled
Changes” on page 279.
5. Restore authority by typing: RSTAUT.
Stop!
You have now completed restoring your system from SAVSTG media.
Do the following:
Note:
If the restore storage was interrupted because of a media
error on a tape, you may want to resume the restore
storage on the tape following the failing tape. If you
resume the restore storage on that tape, the system will
have damaged objects, and the system might not be able to
perform and IPL to OS/400 when the restore storage is complete.
4. If the wrong volume is loaded, the Device Intervention Required display with a
message at the bottom is shown. Type the name of the correct volume or file,
and press the Enter key.
5. The restore storage operation starts again.
If the restore storage operation continues to fail on the same tape with a tape
media failure, you have three options:
v Use a previous copy of your save storage tapes to completely restore storage.
v Resume the restore storage operation by using the tape following the tape with
the media error. If the tape that has the media error is the last tape to restore in
the set, option 3 (Force end of an interrupted restore storage) on the Restore
Storage menu should be selected.
Attention!
Some disk unit data is not restored. There may also be many objects that
are damaged on the system when the restore operation completes. An
initial program load of the operating system may not be successful. You
should restore the operating system again.
v Initialize your system and then begin a restore of your system from the tapes
that were created using SAVSYS and SAVLIB commands or options from the
Save menu.
Chapter 14. How to Restore the System from the Save Storage Media 319
320 OS/400 Backup and Recovery V5R1
Part 4. Release-to-Release Support
Chapter 15. Release-to-Release Support . . . 323
Current Release-to-Previous Release Support . . . 323
Creating the Object for the Previous Release . . 324
Saving the Object for the Previous Release . . 325
Testing the Object on the Current Release . . . 330
Restoring and Using the Object on the Previous
Release . . . . . . . . . . . . . . 331
Restrictions for Current Release-to-Previous
Release Support . . . . . . . . . . . 331
Previous Release-to-Current Release Support . . . 331
Considerations when Moving System
Customization Information . . . . . . . . 332
Restoring previous release user data to a new
system . . . . . . . . . . . . . . 332
Prerequisites for the recovery... . . . . . 333
Restoring previous release user data to a new
system: Step-by-step instructions . . . . . 334
Saving spooled files . . . . . . . . . 347
Restrictions when going from previous release
to current release . . . . . . . . . . . 348
You can enable current release-to-previous release support by using the target
release (TGTRLS) parameter on create or save commands.
Table 57 illustrates the TGTRLS parameter and values available for the current and
previous releases. The values in the table are used throughout this chapter. Refer to
this table to determine the valid values for the release currently on your system.
| Table 57. Values for TGTRLS Parameter
| Current OS/400
| Release *CURRENT *PRV Other Valid Values
| V5R1M0 V5R1M0 V4R5M0 V4R4M0
| V4R3M0 V4R2M0
| V4R5M0 V4R5M0 V4R4M0 V3R2M0
| V4R4M0 V4R4M0 V4R3M0 V4R2M0 V3R2M0
|
The following sections describe how to create and save objects on the current
release, and how to restore and use them on the previous release.
The following object types must be created specifically for a target release:
v Program (*PGM)
v Service program (*SRVPGM)
v Module (*MODULE)
v C locale description (*CLD)
v SQL package (*SQLPKG)
Create the object on the current release by using the appropriate create command
with the TGTRLS parameter. All other object types can skip this step. If the object
was created on, or is restored from, the previous release, and is not created again
on the current release, you can skip this step. To determine what release the object
was created on, use the DSPOBJD command and specify DETAIL(*SERVICE) to
display the System-level value.
Table 58 shows the languages and commands that support the TGTRLS parameter:
Table 58. Language Support for the Target Release Parameter
Language Command
ILE C CRTBNDC
CRTCMOD
CRTCLD
CICS® CRTCICSC
CRTCICSCBL
CRTCICSGRP
CRTCICSMAP
SQL CRTSQLCI
CRTSQLCBL
CRTSQLCBLI
CRTSQLCPPI
CRTSQLPLI
CRTSQLRPG
CRTSQLRPGI
Other CRTPGM
CRTSRVPGM
| The following compilers are not available for V5R1M0 and later or do not support
| the TGTRLS parameter:
v BASIC
v CL (S/38 Environment)
v COBOL/74 (S/38 Environment)
v FORTRAN/400
v AS/400 Pascal
v AS/400 PL/I
v RM/COBOL-85
v RPG/III (S/38 Environment)
Use communication lines or removable storage media (tape, optical media volume,
or diskette to move the objects from the current-release system).
The System Manager licensed program uses the previous-release support provided
by the SAVLICPGM command. It provides the capability to package software for
multiple releases from the same system.
Object compatibility is provided for most object types that are supported on both
levels as long as the object only uses the previous-release function.
| Table 59 shows what object types can and cannot be specifically created or saved
| for a previous release. IBM does not support saving IBM-supplied objects (such as
| system commands and programs) from the current release and restoring them on a
| previous-release system. Refer to Table 57 on page 323 for a list of supported
| TGTRLS values.
|| v ILE C All
|| v ILE CL All
|| v ILE C All
|| v ILE CL All
|| v PASCAL *CURRENT
|| v PL/I *CURRENT
| *PNLGRP All
| *PRDAVL *CURRENT
| *PRDDFN All
| *PRDLOD All
| *PSFCFG V3R2M0
| *QMFORM All
| *QMQRY All
| *QRYDFN All
| *RCT *CURRENT
| *SBSD All
| *SCHIDX All
| *SOCKET None
| *SPADCT All
| *SQLPKG All
| *SQLUDT V4R4M0
1, 3
| *SRVPGM
|| v ILE C All
|| v ILE CL All
| *SSND All
4
| *STMF All
| *SVRSTG V3R2M0
| *SYMLNK All
| *S36 *CURRENT
| *TBL All
| *USRIDX All
1
| To move a program, module, or service program from a system that is running a PowerPC based release
| (Version 3 Release 6 Modification 0 or later) to a system that is running a non-PowerPC based release
| (V3R2 or earlier), the object must have observability. You can use the following commands to determine
| whether the observable information is stored with the object or has been removed:
| v Display Program (DSPPGM)
| v Display Module (DSPMOD)
| v Display Service Program (DSPSRVPGM)
2
| For ILE programs (a *PGM object created by binding one or more *MODULE objects together), the target
| release is determined by examining the target release value for each input *MODULE. If the target release
| values are different, the most recent target release value is used. An ILE program can be created from
| *MODULE objects created by different ILE compilers. The entries in this table for ILE languages under the
| *PGM object type state which target release values are supported by the ILE compiler when creating a
| *MODULE object. The *MODULE object can be used in turn to create an ILE program by using the
| CRTPGM command.
3
| For ILE service programs (a *SRVPGM object created by binding one or more *MODULE objects together),
| the target release is determined by examining the target release value for each input *MODULE. If the
| target release values are different, the most recent target release value is used. An ILE service program can
| be created from *MODULE objects created by different ILE compilers. The entries in this table for ILE
| languages under the *SRVPGM object type state which target release values are supported by the ILE
| compiler when creating a *MODULE object. The *MODULE object can be used in turn to create an ILE
| service program by using the CRTSRVPGM command.
4
| In V4R3, support was added for *STMF sizes up to 4gigabyte - 1byte. A *STMF larger than 2gigabyte - 1
| byte cannot be saved to releases prior to V4R3. In V4R4, support was added for *STMF sizes greater than
| 4gigabyte - 1byte. A *STMF larger than 4gigabyte - 1byte cannot be saved to releases prior to V4R4.
5
| If a journal receiver was attached to a journal when RCVSIZOPT(*MAXOPT1) was in effect, then it cannot
| be saved or restored to a release prior to V4R5M0. Also, it cannot be replicated to any remote journals on
| any systems at release prior to V4R5M0. If a journal receiver was attached to a journal when
| RCVSIZOPT(*MAXOPT2) was in effect, then it cannot be saved or restored to a release prior to V5R1M0.
| Also, it cannot be replicated to any remote journals on any systems at releases prior to V5R1M0. If a
| journal receiver was attached to a journal when any MINENTDTA options were in effect, then it cannot be
| saved or restored to a release prior to V5R1M0. Also, it cannot be replicated to any remote journals an any
| system prior to V5R1M0.
6
| V4R5M0 is the earliest release for *DTAQ if the SIZE and AUTORCL parameters on CRTDTAQ did not
| contain the default values when the data queue was created.
7
| V4R5M0 is the earliest release if *UBIN or *BIN 8 is specified for the format of a message description
| within the message file.
|
|
Generally, the system to which you are restoring objects must be at the same or a
higher release level than the system from which the objects were saved, unless you
specified a target release value when you saved. When moving data to a higher
level release, you should only move user data. This may include user libraries,
user directories, user profiles, user objects in IBM-supplied libraries, DLOs, and
The restore procedure involves two save steps, and four recovery steps. The save
steps include printing your system information and completely backing up your
old, source system.
The recovery steps on the new, target system involve the following four steps:
1. Install Licensed Internal Code and OS/400 on the target system using new
release distribution media.
2. Restore system and user data to target system using the option 21 save of the
source system.
3. Update the system information on the target system.
4. Install QGPL, QUSRSYS, Base options, and LPPs using new release distribution
media on target system.
This converts restored source data to new target release.
You must perform the following prerequisite steps before you start the recovery
portion of these instructions:
v If available on your system, you run the RTVSYSINF command on the source
system. Some releases of OS/400 do not support the RTVSYSINF command.
When you run the RTVSYSINF command, the system asks you what library to
use. Typically, you should specify the QUPGRADE library.
v If this is available on your system, you print system information with the
PRTSYSINF command on the source system. Some releases of OS/400 do not
support the PRTSYSINF command. If your release does not support it, refer to
the Backup and Recovery book for the release of your OS/400 for instructions
on how to print the system information.
v If necessary, you save spooled files. For step-by-step instructions on how to save
spooled files, see “Saving spooled files” on page 347.
Note: Job scheduler entries will not be restored. If necessary, make a note of
your current job scheduler entries and recreate them manually on the new
system.
Selection
2
__ 3. On the Install LIC and Initialize System - Confirmation screen, press F10 to
confirm the initialization and to continue the install.
Warning:
OPT Problem
_ New disk configuration
__ 5. On the IPL or Install the System screen, select 3, Use Dedicated Service Tools
(DST).
1. Perform an IPL
2. Install the operating system
3. Use Dedicated Service Tools (DST)
4. Perform automatic installation of the operating system
5. Save Licensed Internal Code
Selection
3
__ 6. Sign on to DST as DST user, QSECOFR, with the password QSECOFR. The
password is case sensitive; use all capital letters.
Problem Report
Note: Some action for the problems listed below may need to
be taken. Please select a problem to display more detailed
information about the problem and to see what possible
action may be taken to correct the problem.
OPT Problem
_ Unit possibly configured for Power PC AS
__ 9. On the Confirm Add Units screen, press Enter to confirm the selected units.
Add will take several minutes for each unit. The system will
have the displayed protection after the unit(s) are added.
Serial Resource
ASP Unit Number Type Model Name Protection
1 Unprotected
1 00-0103706 6602 030 DD031 Unprotected
2 00-1000341 9337 211 DD012 Unprotected
3 00-5000341 9337 211 DD015 Unprotected
4 00-7000341 9337 211 DD011 Unprotected
5 00-3000341 9337 211 DD014 Device Parity
6 00-2000341 9337 211 DD013 Device Parity
7 00-61300 6603 074 DD006 Device Parity
8 00-52262 6606 074 DD008 Device Parity
9 00-86978 6606 050 DD009 Device Parity
2 Unprotected
10 00-95744 6603 074 DD005 Device Parity
11 00-47657 6606 074 DD007 Device Parity
1. Perform an IPL
2. Install the Operating System
3. Use Dedicated Service Tools (DST)
4. Perform automatic installation of the Operating System
5. Save Licensed Internal Code
Selection
2
Selection
1
Note: This screen does not appear if you selected all disk units that are
known to the system on Step 7 on page 336.
__ 13. The IPL Step in Progress screen displays the IPL progress.
Authority Recovery
Journal Recovery
Database Recovery
Journal Synchronization
Start Operating System
__ 14. On the Install the Operating System screen, select option 1, Take defaults.
Make sure that the values for Date and Time are correct. Press Enter to
continue.
Install
option . . . . . 1 1=Take defaults (No other
options are displayed)
2=Change install options
Date
Year . . . . . . 99 00-99
Month. . . . . . 08 01-12
Day. . . . . . . 22 01-31
Time
Hour . . . . . . 16 00-23
Minute . . . . . 45 00-59
Second . . . . . 00 00-59
__ 15. The OS/400 Installation Status screen displays the installation status of the
required OS/400 Installation Profiles and Libraries.
+---------------------------------------------------------------------------------+
Stage 1 |xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+---------------------------------------------------------------------------------+
0 20 40 60 80 100
Installation Objects
Stage Completed Restored
+---------------------------------------------------------------------------------+
Stage 1 |xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+---------------------------------------------------------------------------------+
0 20 40 60 80 100
Installation Objects
Stage Completed Restored
__ 17. On the Sign On screen, logon as user QSECOFR. You do not need to enter a
password at this time.
__ 18. On the IPL options screen, enter correct values for Date and Time. Only the
following options should be set to Y:
v Start system to restricted state
v Set major system options
v Define or change the system at IPL
IPL Options
Change Password
__ 21.
| __ a. To configure 3422, 3430, 3480, or 3490 tape units, follow these
| instructions. If you have a 3490 Model E or F or to configure other
| types of tape units, go to step 21b on page 344.
1) Use the Work with Hardware Resource (WRKHDWRSC)
command to determine the location of the tape controller.
WRKHDWRSC TYPE(*STG)
1. User tasks
2. Office tasks
3. General system tasks
4. Files, libraries, and folders
5. Programming
6. Communications
7. Define or change the system
8. Problem handling
9. Display a menu
11. Client Access/400 tasks
90. Sign off
Selection or command
=>
__ 22. Use the save media of the option 21 save from the source system to
perform the following steps to restore the user data and related system
data, and user data to the target system:
__ a. ENDSBS SBS(*ALL) OPTION(*IMMED)
__ b. RSTUSRPRF ALWOBJDIF(*ALL) ENDOPT(*LEAVE)
__ c. RSTCFG OBJTYPE(*ALL) SRM(*NONE) ALWOBJDIF(*ALL) ENDOPT(*LEAVE)
| __ d. RSTLIB SAVLIB(*NONSYS) OPTION(*NEW) ALWOBJDIF(*ALL)
| MBROPT(*ALL) FRCOBJCVN(*NO) ENDOPT(*LEAVE)
Note: If you have DLOs in any of your user ASPs, you need to use
the following command to restore DLOs to each user ASP:
RSTDLO DLO(*AL) ALWOBJDIF(*ALL) SAVASP(ASP-number)
RSTASP(ASP-number)
| __ g. RST DEV('/QSYS.LIB/media-device-name.DEVD') OBJ(('/*')
| ('/QSYS.LIB' *OMIT) ('/QDLS' *OMIT)) ALWOBJDIF(*ALL)
__ h. To restore spooled files that you saved on your source system, do
the following:
__ 1) In “Saving spooled files” on page 347, you saved spooled files
to database files in a library. If that library has not yet been
restored to your upgraded system, restore it now by using the
RSTLIB command.
Note: Use the RSTLIB command only if you used the SAVLIB
command to save the objects. If you used the SAVOBJ
command, you must use the RSTOBJ command.
__ 2) For each spooled file that you need to restore, do the
following:
__ a) On the printout that you used when you saved the
spooled files, locate the name of the printer file that
was used to create the spooled file. It appears in the
File column on the left side of the printout.
Note: If you do not have special output queues that are designated for
critical spooled files, type WRKOUTQ OUTQ(*ALL)
__ 3. Print out and retrieve the listing of the spooled files that you need to save.
__ 4. On the printout, mark the spooled files that you need to save.
__ 5. For each spooled file, do the following:
__ a. Choose a name (8 characters or less) for the spooled file that will help
you to identify it. Each file should have a unique name.
__ b. Create a database file to hold the contents of the spooled file by
typing the following: CRTPF FILE(LIBSPLF/file-name) RCDLEN(133)
Notes:
1) For file-name, substitute the name that you assigned in step 5a.
2) Use an appropriate record length for the spooled file that you are
copying. The record length must be at least 1 character larger than
the spooled data to allow for the control character.
3) If you are copying a large spooled file, specify SIZE(*NOMAX)
when you create the database file.
Note: For spooled-file, substitute the value from the File column on
the listing that you created in step 2 on page 347.
__ d. You may receive message CPA3312 if the spooled file contains special
attributes. Respond with G (GO) to continue saving the contents of
the spooled file.
If you need to save special attributes associated with spooled files
(such as advanced function attributes), see the ’AS/400 Road Map for
Changing to PowerPC Technology’ for more information. You receive
a confirmation message that the data has been copied.
__ 6. Repeat step 5 on page 347, steps 5a on page 347 through step 5d, for each
spooled file that you need to save.
__ 7. If you have additional output queues to process, return to 2 on page 347.
__ 8. Use the SAVLIB command to save the library that contains the copies of
your spooled files.
You can perform system synchronization only if one the following is true:
v The new system and the existing system are at the same release. You have fully
reloaded the new system from the existing system either using “Recovering your
entire system after a complete system loss–Checklist 20” on page 96.
v The new system is at a newer release than the existing system. You have fully
reloaded the new system from the source system using one of the procedures in
“Chapter 15. Release-to-Release Support” on page 323.
The method that you use to synchronize the two systems is the side-by-side
method. The underlying principal of the side-by-side method is that you will run
your existing system and your new system in parallel for a test period. During that
test period, you will periodically perform activities to synchronize the data on your
new system with the data on your existing system. At the end of the test period,
you will perform final synchronization activities before moving your production
work to your new system. When you complete your final synchronization, the
software environment on the two systems should be identical.
The topics that follow discuss several different approaches that you can take for
performing synchronization. In all cases, synchronization requires careful planning
and monitoring. It also requires a good understanding of your applications and the
library structure on your system. Running two systems in parallel also requires
strong change-control practices. This chapter focuses primarily on synchronizing
data.
If possible, during the synchronization period you should carefully limit other
changes on your existing system, such as adding or changing user profiles or
changing the system distribution directory. When this type of change to system
customization occurs on your existing system, you need to manually perform the
same updates on your new system.
You might find the security auditing function helpful for keeping track of changes
to system information on your existing system. If you are not familiar with
security auditing see the iSeries Security Reference book. It describes how to set up
security auditing and which values to choose to get the entries that you need.
While you read and plan, consider how the options for synchronization relate to
your current procedures (such as regular save procedures and change control
procedures). By using your existing procedures as a starting point, you can reduce
the level of disruption and build on your existing base of knowledge. For example,
if you currently use object journaling, then object journaling might be a logical part
of your synchronization strategy. If no one in your organization has experience
with object journaling, then it might not be the best solution for you.
Note: If you are using the SAVCHGOBJ method in conjunction with applying
journaled changes, specify OBJJRN(*NO).
5. If you have user libraries whose names begin with Q, save the changed
objects in those libraries. Repeat step 4 and substitute the name of your Q
library in place of *ALLUSR.
Note: The online information for the LIB parameter tells which Q libraries are
included when you specify *ALLUSR.
6. To save document library objects that have changed since your last
synchronization point, use the Save Document Library Object (SAVDLO)
command:
SAVDLO DLO(*SEARCH) DEV(tape-device)
REFCHGDATE('07/27/xx') REFCHGTIME(180000)
SRCHTYPE(*ALL) OWNER(*ALL)
7. You cannot just save changed mail. You must save all mail, if necessary. To
save mail, use the Save Document Library Object (SAVDLO) command as
follows:
SAVDLO DLO(*MAIL)
8. To save objects in directories that have changed since your last
synchronization point, do the following:
It also assumes that after you build your initial new system, you will not
restore programs from the existing system to the new system during
synchronization (because those programs are already converted on your new
system).
To restore the changed objects that you saved, perform these steps on your test
system:
For more information about restoring changed objects, refer to “What Happens
When You Restore Objects” on page 42.
1. To avoid any problems with inadequate authority, sign on as the security
officer (QSECOFR).
2. Place your system in a restricted state.
3. To restore the saved user profiles, use the Restore User Profile (RSTUSRPRF)
command:
RSTUSRPRF USRPRF(*ALL) DEV(tape-device)
ENDOPT(*LEAVE)
4. If your new release is V4R3M0 or a newer release, you can omit this step. If
your test machine has a different serial number, use the Change User Profile
(CHGUSRPRF) command to add *ALLOBJ special authority to user profiles, if
necessary.
5. Locate the printout of the job log from your save operation. Use it to
determine which libraries the system saved. If you do not have the job log,
you can use the Display Tape (DSPTAP) command to display the contents of
the save tapes:
DSPTAP DATA(*SAVRST) OUTPUT(*PRINT)
Review it carefully. Whenever you restore changed objects, you are likely to
encounter situations that you will need to recover manually. If you plan to
synchronize your system several times, you might find it useful to create a log
that describes synchronization problems and their resolutions. This will help
to reduce your synchronization time in the future.
Note: You should wait to restore authority until after you resolve any
problems because some problem resolution steps might require you to
restore new objects.
12. Restart the controlling subsystem and make the system available for more
testing.
In most environments, you do not need the information that is in the journal
receivers on your new system. Use the Change Journal (CHGJRN) command to
create and attach a new journal receiver with a unique name. Then you can simply
save and delete the journal receivers that you do not need (on your new system).
Note: This strategy applies when you are using a change-object synchronization
method. If you plan to apply journaled changes to synchronize systems, you
need to devise a method for naming and changing journal receivers that
allows you to successfully restore journal receivers.
For more information about the rules to name, attach, and restore journal
receivers, see “Chapter 19. Planning and Setting Up Journaling” on page 383.
Following are several options for handling this problem. Choose the correct option
for your situation. Base your decision on your synchronization requirements and
your application architecture. Always make sure that you have a good backup of
your new system.
Recovery Option 1–Restore entire library: A simple solution is to restore the entire
library from your existing system to your new system. To do this, you will need to
first clear the library on your new system. To use this option, you might need to
change your save strategy. For libraries where you regularly delete and re-create
database files or members, you might not be able to use the SAVCHGOBJ
approach.
Note: Specify member only when you need to delete individual members
instead of the whole file.
4. If no database dependencies exist, continue with step 7.
5. On the test system, use the Copy File (CPYF) command to copy dependent
files from the original libraries to the temporary library.
6. Delete the dependent files from the original libraries.
7. Delete the physical files from the original libraries.
8. Copy the physical files from the temporary library to the original libraries.
9. If the temporary library contains any dependent files, copy them to the
original libraries.
10. Use the Delete Library (DLTLIB) command to delete the temporary library.
Note: If you restore a library that contains Structured Query Language (SQL)
collections that contain *DTADCT objects, for each of these libraries use
the Delete Library (DLTLIB) command. (Use DLTLIB rather than Clear
Library (CLRLIB). SQL collections that contain *DTADCT objects will
fail during the Restore Library (RSTLIB) operation unless you first
delete the library.
9. To restore the saved user profiles, use the RSTUSRPRF command:
RSTUSRPRF USRPRF(*ALL) DEV(tape-device) ENDOPT(*LEAVE)
10. If your new release is V4R3M0 or a newer release, you can omit this step. If
your test machine has a different serial number, use the Change User Profile
(CHGUSRPRF) command to add *ALLOBJ special authority to user profiles, if
necessary.
11. For each library that you saved, use the Restore Library (RSTLIB) command:
RSTLIB SAVLIB(library-name) DEV(tape-device) MBROPT(*NEW)
ENDOPT(*LEAVE) OPTION(*NEW) ALWOBJDIF(*ALL)
Notes:
a. If you have a different ASP organization on your new system, you might
need to specify the SAVASP and RSTASP parameters.
b. You specify ALWOBJDIF(*ALL) because you may be restoring to a system
with a different serial number. ALWOBJDIF(*ALL) links the authorization
lists back with the objects. You should only specify ALWOBJDIF(*ALL)
when you are restoring to an empty library or the library does not exist on
the system.
c. When you restore the last library, specify ENDOPT(*REWIND) unless you have
additional objects to restore from the tape.
The advantage of this method is that you save and restore only the changes that
occur to a journaled object, not the entire object. The disadvantage of this method
is its complexity. See “Chapter 19. Planning and Setting Up Journaling” on
page 383 and “Chapter 20. Working with Journal Entries, Journals, and Journal
Receivers” on page 427 for more information about journaling.
For first-receiver, use the name of the first receiver after the most recent
checkpoint.
Note: If you are journaling IFS objects, and your directories are not using
the inherit journaling attribute, look for new IFS objects by adding B
to the JRNCDE parameter, and JT to the ENTTYP parameter.
d. Write the new object names on a list. (You will need to save them later.)
e. If you have other journals on your system, repeat step 1a through step 1c
for each additional journal.
f. For each journal on your system, use the CHGJRN command to detach the
current journal receivers and attach new journal receivers.
g. Use the SAVOBJ command or SAV command to save any newly journaled
objects that you listed in step 1d and step 1c. If the new objects are new file
members, be sure to save only the new members, not the entire files.
Note: The system needs an exclusive lock on an object to save it. You might
need to stop certain application activity on your system to be able to
save the newly journaled objects.
h. Use the SAVOBJ command to save the journal receivers that you listed in
step 1b.
i. If you do not have a current copy of your user profiles on tape, use the
SAVSECDTA command to save them to tape.
j. You have completed establishing a new checkpoint (such as Point 2) on your
existing system.
2. To synchronize the journaled objects on your new system with the existing
versions, do the following:
a. Place your new system in a restricted state.
b. On the new system, use the RSTUSRPRF command:
RSTUSRPRF USRPRF(*ALL) DEV(tape-device)
ENDOPT(*LEAVE)
Note: The preceding list is a conceptual view of the sequence. Use the checklists
for the complete list of steps.
Before refreshing your new system, be sure to save the work that you have already
performed on your new system. In particular, save any program objects that you
have converted. After you have rebuilt the new system, restore these converted
objects.
Note: Option 34 from the Save menu runs the same command.
2. On your new system, use the Restore Calendar (RSTCAL) command:
RSTCAL CAL(*ALL *ALL) DEV(tape-device)
SAVLIB(QTEMP) LABEL(QCAL*ALL*ALL)
Note: Option 33 from the Restore menu runs the same command.
Following are the steps for moving mail from your existing system to your new
system:
1. On your existing system, use the SAVDLO command:
SAVDLO DLO(*MAIL) DEV(tape-device)
2. On your new system, use the RSTDLO command:
RSTDLO DLO(*MAIL) DEV(tape-device)
v To synchronize the BRMS licensed program, do the following:
Note: Use the following tip only for BRMS installations that do not share media
information with other systems.
1. On your existing system, stop all activity that might place locks on objects in
the BRMS libraries. If you have scheduled jobs that use BRMS, you need to
hold them.
2. Mount a tape that is compatible with the tape unit on your new system.
3. Type the following:
Note: If you want, you can use save files and transfer the libraries
electronically.
4. On the new system, do the following:
a. Stop all activity that might place locks on objects in the BRMS libraries. If
you have scheduled jobs that use BRMS, you need to hold them.
b. Save a copy of the current BRMS product; enter the following command:
SAVLICPGM LICPGM(57nnBR1) DEV(tape-device)
Determine which system to restore all of these objects from and restore that system
first. If you have a production system and a development system, restore the
production system first, then follow the guidelines below to restore the information
from the development system.
Note: Be sure to omit any IBM-supplied libraries such as QGPL and QUSRSYS.
If there are libraries that are the same on both systems, you should consider
using the OPTION(*NEW) parameter to restore only the new objects:
RSTLIB SAVLIB(User library) OPTION(*NEW)
Then determine which objects you want from each system and restore those
objects individually. If there are objects in QGPL or QUSRSYS that are unique
to either system, those objects should be restored individually as well.
5. Documents and folders may be restored with the RSTDLO command. When
saving documents and folders to be restored, any IBM-supplied folders should
be omitted when using the SAVDLO command:
SAVDLO DLO(*ALL) OMITFLR(Q*)
An access path describes the order in which records in a database file are
processed. A file can have multiple access paths, if different programs need to see
the records in different sequences.
You can specify the target time for rebuilding access paths after the system ends
abnormally. The target time is a goal that the system does its best to achieve. The
actual recovery time for access paths after a specific failure may be somewhat more
or less than this target.
The target recovery time for access paths can be specified for the entire system or
for individual auxiliary storage pools. The system dynamically selects which access
paths to protect to meet this target. It periodically estimates how long it will take
to recover access paths that are open for change.
Benefits of SMAPP
| SMAPP can greatly reduce the amount of time it takes to perform an IPL, or to
| vary on an independent ASP, after an abnormal end. It is an automatic function
that runs without attention. SMAPP determines which access paths to protect
without any intervention by the user. It adjusts to changes in the environment,
such as the addition of new applications or new hardware.
SMAPP does not require any setup. You do not have to change your applications.
You do not have to journal any physical files or even use journaling at all. You
simply need to determine your policy for access path recovery:
| v How long you can afford to spend rebuilding access paths during an IPL, or
| during the vary on of an independent ASP, after a failure.
v How to balance access path protection with other demands on system resources.
v Whether to have different target times for recovering access paths for different
ASPs.
You may need to experiment with different target recovery times for access paths
to achieve the correct balance for your system. If you configure additional user
ASPs, you should also evaluate your access path recovery times.
SMAPP creates and manages its own internal journals and journal receivers. You
cannot use these journals and journal receivers for any other journaling functions.
They do not appear on the Work with Journals display. You do not need to, nor
can you, save them to save media.
SMAPP requires some additional auxiliary storage for journal receivers. However,
SMAPP is designed to keep the additional disk usage to a minimum. SMAPP
manages journal receivers and removes them from the system as soon as they are
no longer needed.
The reason for choosing to journal an access path explicitly is that you consider the
access path (and the underlying files) absolutely critical. You want to make sure
that the files are available as soon as possible when the system is started after an
abnormal end.
Under SMAPP, the system looks at all access paths to determine how it can meet
the specified target times for recovering access paths. It may not choose to protect
an access path that you consider critical.
SMAPP causes increased disk activity, which increases the load on disk
input/output processors. Because the disk write operations for SMAPP are
asynchronous, they do not directly affect the response time for a specific
transaction. However, overall response time may be affected because of the
increased disk activity.
Specify target recovery times for access paths either for the entire system or for
individual ASPs, but not for both. If you specify both, the system does extra work
by balancing the overall target with the individual targets.
| The journal receivers that SMAPP uses take additional auxiliary storage. The
| system creates an internal journal and journal receiver for each ASP on your
| system. If the target recovery time for access paths for an ASP is set to *NONE, the
| journal receiver has no entries. The internal journal receivers are spread across all
| the arms in an ASP, up to a maximum of 100 arms.
The system manages the journal receivers automatically to minimize the impact as
much as possible. It regularly discards internal journal receivers that are no longer
needed for recovery and recovers the disk space. The internal journal receivers that
are used by SMAPP require less auxiliary storage than the journal receivers for
explicit journaling of access paths. Internal journal receivers are more condensed
because they are used only for SMAPP entries.
Chapter 18. Protecting Access Paths Using System-Managed Access-Path Protection 377
If you have already set up journaling for a physical file, the system uses the same
journal to protect any access paths that are associated with that physical file. If the
system chooses to protect additional access paths, your journal receivers will grow
larger more quickly. You will need to change journal receivers more often.
To deal with the increased size of your journal receivers, consider specifying
RCVSIZOPT(*RMVINTENT) on the Create Journal (CRTJRN) or Change Journal
(CHGJRN) command for your journals. If you specify this, the system periodically
removes internal entries from user journal receivers when it no longer needs them
to recover access paths. This prevents your journal receivers from growing
excessively large because of SMAPP. “Specifying Receiver Size Options” on
page 407 provides more information about this option.
The displays for working with recovery for access paths show the current disk
usage for SMAPP. See Figure 32.
If your system cannot support dedicating resources to SMAPP, you can specify
*OFF for the system target recovery time. Before choosing this option, consider
setting the recovery time to *NONE for a normal business cycle, perhaps a week.
During that time, periodically display the estimated recovery time for access paths.
Evaluate whether those times are acceptable or whether you need to dedicate some
system resources to protecting access paths.
If you turn SMAPP off, any disk storage that has already been used will be
recovered shortly thereafter. If you set the SMAPP values to *NONE, any disk
storage that has already been used will be recovered after the next IPL.
The top part of the display shows the values for the entire system. The bottom part
| of the display shows the values for individual ASPs on the system. If you do not
| have user ASPs that are active, the bottom part of the display says No user ASP
| configured or information not available.
This topic describes some of the information on the display and how to use it. Use
the online help function to get additional information.
If you have user ASPs, the estimated recovery time for access paths for the entire
system (System access path recovery time field) may not equal the total estimated
recovery time for the ASPs (Access Path Recovery Time–Estimated (Minutes)). During
an IPL, or during the vary on of an independent ASP, the system overlaps
processing when recovering access paths to reduce the total time that is required.
The Disk Storage Used field on the display includes only internal system journals
and journal receivers. It does not include any additional space in user-managed
journal receivers for protecting access paths whose underlying physical files are
already journaled.
On the display, you can change the System access path recovery time field or the
Target (Minutes) access path recovery time field for individual ASPs. If you use user
ASPs to separate objects that have different recovery and availability requirements,
you may also want to specify different recovery times for access paths in those
user ASPs.
For example, if you have a large history file that changes infrequently, you may
want to put that file in a separate ASP. You may want to set the access path
| recovery time for that ASP to *NONE. Or, if you have an independent ASP, and
| you want the recovery time to move with the ASP when it is switched to another
| system, you may want to specify a specific time for that ASP.
Note: To change the access path recovery time from *OFF to another value, either
for the entire system or for a specific ASP, your system must be in a
restricted state.
Chapter 18. Protecting Access Paths Using System-Managed Access-Path Protection 379
Possible Values for the Access Path Recovery Time:
*OFF No implicit journaling of access paths takes place. The system does
not monitor exposures. System performance is not impacted. The
Recovery for Access Paths displays will not show estimated times.
You can specify *OFF only for the entire system, not for individual
ASPs.
target- recovery- time Specify a value between 10 and 1440 minutes. The system rounds
the value up to the nearest 10-minute boundary. If you specify a
value that is less than the system has calculated is the minimum,
the system protects to the minimum time possible.
You can use two other commands to work with access path recovery:
v Use the Display Recovery for Access Paths (DSPRCYAP) command to display or
print the estimated recovery times and disk usage.
v Use the Change Recovery for Access Paths (CHGRCYAP) command to change
the target recovery times without using an edit display.
The system performance monitor also provides information about access path
recovery times. The Work Management book and the Performance Tools for iSeries
book provide more information about monitoring performance and about what
SMAPP information is available through the tools.
When you perform an IPL, the system checks to see if your ASP configuration has
changed. The system does the following:
v If any disk units have been added or removed from an existing ASP, the system
may change either the size of the SMAPP receiver or the placement of the
receiver.
v If any new ASPs are in the configuration and do not have any access path
recovery times assigned for SMAPP, the system assigns a recovery time of
*NONE for that ASP. If you remove an ASP from your configuration and later
add it back, the access path for that ASP is set to *NONE, even if that ASP
previously had a recovery time for access paths.
v If all user ASPs have been removed from your configuration so that you have
only the system ASP, the system access path recovery time is set to the lower of
the following values:
– The existing system access path recovery time.
– The current access path recovery time for ASP 1. If the current access path
recovery time for ASP 1 is *NONE, the system access path recovery time is
not changed.
| When you vary on an independent ASP, the system checks to see if any disk units
| have been added or removed from the independent ASP. The system may change
| either the size of the SMAPP receiver or the placement of the receiver based on the
| change to the disk units. If this is the first time the independent ASP is varied on,
| then the system assigns a recovery time of *NONE for that independent ASP.
When you create a new user ASP while your system is active, you should add all
of the planned disks to the ASP at the same time. The system uses the initial size
| of the new ASP to make storage decisions for SMAPP. If you later add more disk
| units to the ASP, those disk units are not considered until the next IPL or vary on
| of the independent ASP. When you create a new user ASP, the access path recovery
time for that ASP is set to *NONE. You can use the EDTRCYAP command to set a
target recovery time for the new ASP, if desired.
Chapter 18. Protecting Access Paths Using System-Managed Access-Path Protection 381
382 OS/400 Backup and Recovery V5R1
Chapter 19. Planning and Setting Up Journaling
| The main purpose of journal management is to enable you to recover the changes
| to an object that have occurred since the object was last saved. You can also use
| journal management for:
| v An audit trail of activity that occurs for objects on the system.
| v Generate user defined journal entries to record activity, even for objects that do
| not allow journaling.
v Quicker recovery of access paths if your system ends abnormally.
v Quicker recovery when restoring from save-while-active media.
v Assistance in testing application programs.
| You use a journal to define what objects you want to protect with journal
| management. You may have more than one journal on your system. A journal may
| define protection for more than one object.
| The system keeps a record of changes you make to objects that are journaled and
| of other events that occur on the system. These records are called journal entries.
| For example, some journal entries identify activity for a specific database record
| (added, updated 1 or deleted) and for a save, open, or close operation for an object.
| Journal entries can also identify other events that occur, such as security-relevant
| events on the system or changes made by dynamic performance tuning.
| “Appendix D. Journal Entry Information” on page 805 describes all the possible
| journal entry types and their contents.
Each journal entry includes additional control information that identifies the source
| of the activity, including, for example, the user, job, program, time, and date. The
| entries deposited for journaled objects reflect the changes made to that journaled
| object. For example, the entries for changes to database records include the entire
| image of the database record, not just the changed information.
| Journal entries are written to an object called a journal receiver. You can also write
| journal entries for events that you want to record or for objects other than the
| object that you want to protect with journaling. The system sends entries for all the
| objects a particular journal is protecting to the same journal receiver.
Journal receivers are attached to a journal by using the Create Journal (CRTJRN)
and Change Journal (CHGJRN) commands. The system adds journal entries to the
attached receiver. Journal receivers that have been attached to a journal and are
1. If the updated object image after the update is the same as the image before the update, then journal entries are not deposited for
that update.
| The system adds an entry to the attached journal receiver when an event occurs to
| a journaled object. Each entry is sequentially numbered. For example, it adds an
| entry when you change a record in a journaled database file member and contains
| information that identifies:
v Type of change
v Record that has been changed
v Change that has been made to the record
v Information about the change (such as the job being run and the time of the
change)
| When you are journaling objects, changes to the objects are added to the journal
| receiver. The system does not journal data that you retrieved but did not change. If
| the logical file record format of a database file does not contain all the fields that
| are in the dependent physical file record format, the journal entry still contains all
| the fields of the physical file record format. In addition, if you are journaling access
| paths, entries for those access paths are added to the journal. If the updated
| physical file image after the update is the same as the image before the update,
| and if the file has no variable length fields, then journal entries are not deposited
| for that update. If the updated data area image after the update is the same as the
| image before the update, then journal entries are not deposited for that update.
| Figure 33 on page 385 shows journal processing. Objects A and B are being
| journaled; object C is not. Programs PGMX and PGMY use object B. When you
| make a change to object A or B, the following occurs:
| v The change is added to the attached journal receiver.
| v The journal receiver is written to auxiliary storage.
| v The changes are written to the main storage copy of the object.
| Object C changes are written directly to the main storage copy of the object
| because it is not being journaled. Only the entries added to the journal receiver are
| written immediately to auxiliary storage. Changes against the object may stay in
| main storage until the object is closed.
|
| Figure 33. Journaling Overview
If you have V4R2M0 or a later release installed on your system, you can take
advantage of the remote journal function. The remote journal function allows you
to associate a journal on a remote system with a journal on a local system. Journal
entries on the local system are replicated to the remote journal receiver.
“Chapter 21. Remote Journal Function” on page 467 provides further information.
| Note: For more information about these commands and APIs, click the Programming topic in the Information Center
| at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
| Add Remote Journal Establishes and associates a remote journal on a target system with a
| (QjoAddRemoteJournal) API or Add journal on a source system. Refer to “Adding a Remote Journal” on
| Remote Journal (ADDRMTJRN) page 474 for more information.
Change Journal (CHGJRN) Changes the attributes of a journal and attaches new journal receivers
to the journal. See “Changing Journal Receivers” on page 416.
Change Journal State Changes the journal state for local and remote journals. Refer to
(QjoChangeJournalState) API or Change “Activating and Inactivating a Remote Journal” on page 479 and
Remote Journal (CHGRMTJRN) “Activating and Inactivating a Local Journal” on page 487 for more
information.
Create Journal (CRTJRN) Creates a journal. See “How Journals Are Created” on page 402.
Delete Journal (DLTJRN) Deletes a journal. See “Deleting a Journal” on page 419.
Remove Remote Journal Disassociates a remote journal on a target system from a journal on a
(QjoRemoveRemoteJournal) API or Remove source system. Refer to “Removing a Remote Journal” on page 490 for
Remote Journal (RMVRMTJRN) more information.
| Retrieve Journal Information Retrieves the attributes of a journal including the receiver directory,
| (QjoRetrieveJournalInformation) API journaled objects, and remote journals.
| Work with Journals (WRKJRN) Displays a Work menu for user-selected journals from which the user
| can perform system-assisted recovery of journaled objects, journals, and
| journal receivers. See “Work with Journal (WRKJRN) Command
| Options” on page 455.
| Work with Journal Attributes (WRKJRNA) Displays the attributes of a journal, including the receiver directory,
| journaled objects, and remote journals. See “Using the Work with
| Journal Attributes Command” on page 442.
|
| Note: For more information about these commands and APIs, click the Programming topic in the Information Center
| at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
Create Journal Receiver (CRTJRNRCV) Creates a journal receiver. See “How Journal Receivers Are Created” on
page 399.
Delete Journal Receiver (DLTJRNRCV) Deletes a journal receiver. See “Deleting Journal Receivers” on page 418.
Display Journal Receiver (DSPJRNRCVA) Displays the attributes of a journal receiver. The online information for
the display describes its contents.
Retrieve Journal Receiver Information Retrieves the attributes of a journal receiver.
(QjoRtvJrnReceiverInformation) API
| Note: For more information about these commands and APIs, click the Programming topic in the Information Center
| at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
Compare Journal Images (CMPJRNIMG) Compares and lists the difference between the before-image and
after-image of a record or between the current after-image of a record
and the previous after-image of the record. See “Comparing Journal
Images” on page 440 for more information.
Delete Pointer Handle Deletes the specified pointer handle that was generated by the Retrieve
(QjoDeletePointerHandle) API Journal Entries (QjoRetrieveJournalEntries) API, or by the RCVJRNE
command with ENTTYP(*TYPEPTR).
Display Journal (DSPJRN) Displays or prints the journal entries that are in the journal receivers
associated with the specified journal. Writes the journal entries to a
database output file for processing or analysis. See “Displaying and
Printing Journal Entries” on page 429.
| Get Path Name of Object from Its File ID Determines an absolute path name of the object identified by fileid. The
| (Qp0lGetPathFromFileID()) API components of the returned path name are not symbolic links.
Receive Journal Entry (RCVJRNE) Allows a specified user program to continuously receive journal entries.
Entries can be received one at a time or in a block. Can be used to help
provide backup on another system. See “Using the Receive Journal
Entry Command” on page 432.
Retrieve Journal Entry (RTVJRNE) Retrieves a journal entry and places it in CL program variables. See
“Using the Retrieve Journal Entry Command” on page 436.
Retrieve Journal Entries Retrieves journal entries into a receiver variable.
(QjoRetrieveJournalEntries) API
Retrieve Journal Identifier Information Retrieves the name of the object that has the JID you specify.
(QJORJIDI) API
| Send Data Queue (QSNDDTAQ) API Sends data to the specified data queue. You can use parameter group
| three to indicate whether the data, in parameter four, came from a
| journal entry.
Send Journal Entry (SNDJRNE) command Adds user entries to a journal receiver. You can use them to record
or Send Journal Entry (QJOSJRNE) API specific events (application checkpoints) that may be important for
| recovery. You can create user entries to perform user-managed
| journaling of object types the system does not journal. See “Sending
Your Own Journal Entries” on page 429.
| Note: For more information about these commands and APIs, click the Programming topic in the Information Center
| at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
| End Journal (ENDJRN) or End Journal End journaling for IFS objects, data areas, and data queues. See
| (QjoEndJournal) API “Ending Journaling” on page 423.
End Journaling Access Path (ENDJRNAP) Ends journaling access paths. See “Ending Journaling” on page 423.
| End Journal Object (ENDJRNOBJ) End journaling for data areas and data queues. See “Ending Journaling”
on page 423.
| End Journal Physical File (ENDJRNPF) Ends journaling for the database physical files. See “Ending Journaling”
on page 423.
| Start Journal (STRJRN) or Start Journal Start journaling for IFS objects, data areas, and data queues. See “How
| (QjoStartJournal) API to Start Journaling for IFS objects” on page 413 and “How to Start
Journaling for Data Areas and Data Queues” on page 414.
Start Journal Access Path (STRJRNAP) Starts journaling access paths. For more information on journaling
access paths, see the topics “Should You Use Access Path Journaling?”
on page 391 and “How to Start Journaling for Access Paths” on
page 412.
| Start Journal Object (STRJRNOBJ) Start journaling for data areas and data queues. See “How to Start
Journaling for Data Areas and Data Queues” on page 414.
Start Journal Physical File (STRJRNPF) Starts journaling for the database physical files. See “How to Start
Journaling for Physical Files” on page 411.
| Note: For more information about these commands and APIs, click the Programming topic in the Information Center
| at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
| Display File Description (DSPFD) Shows one or more types of information retrieved from the file
| descriptions of one or more database and/or device files.
| Display Object Description (DSPOBJD) Shows the names and attributes of specified objects in the specified
| library or in the libraries of the job’s library list.
| Display Object Links (DSPLNK) Shows a list of names of specified objects in directories and options to
| display information about the objects. You can use the Display attributes
| option to get information about journaled objects.
| Get Attributes (Qp0lGetAttr()) API Gets one or more attributes, on a single call, for the object that is
| referred to by the input Path_Name.
| List Objects (QUSLOBJ) API Allows you to generate information about a list of objects. You can use
| this API to find journaling information about those objects.
| Open List of Objects (QGYOLOBJ) API Allows you to generate information about a list of objects. You can use
| this API to find journaling information about those objects.
| Retrieve Object Description (QUSROBJD) Allows you to retrieve information about a specific object. You can use
| API this API to find journaling information about the objects and its
| journaling information.
| Retrieve Object Description (RTVOBJD) Used in a CL program or REXX procedure to retrieve the description of
| a specific object including its journal information.
| Work with Object Links (WRKLNK) Shows a list of names of specified objects in directories and options to
| work with the objects. You can use the Display attributes option to get
| information about journaled objects.
|
Finally, you need to balance the benefits of journaling with the impact it may have
on your system performance and auxiliary storage requirements.
| For more information about referential constraints and trigger programs, click the
| Database and file systems topic in the Information Center at the following Web
| site: http://www.ibm.com/eserver/iseries/infocenter.
| System objects
You can use the Send Journal Entry (SNDJRNE) command or the Send Journal
| Entry (QJOSJRNE) API to write journal entries for these resources. See “Sending
| Your Own Journal Entries” on page 429. If you need to do recovery, you can use a
program to retrieve these journal entries and make sure these application objects
are synchronized with the objects you are journaling.
If you are using commitment control, you can use APIs to register these objects as
committable resources. Chapter 22 provides general information about using APIs
| with commitment control. For information on how to use APIs to send journal
| entries and to register committable resources click the Programming topic in the
| Information Center at the following Web site:
| http://www.ibm.com/eserver/iseries/infocenter.
If you journal access paths, the system can use the journal entries to recover access
paths instead of rebuilding them completely. This reduces the time it takes to IPL
after the system ends abnormally. Access path journaling is strictly for the purpose
of system recovery during an IPL. You do not use access path journal entries when
you are applying journal changes to recover a file.
You can allow the system to determine what access paths to protect in order to
meet a target time for recovering access paths. This support, called
system-managed access-path protection, is described in “System-Managed
Access-Path Protection” on page 5.
You can choose to journal some access paths yourself. This is called explicit access
path journaling. For example, if certain access paths and their underlying files are
critical to your operation, you want to ensure that these files are available as soon
as possible after the system ends abnormally. You cannot control which access
paths the system chooses to journal under system-managed access-path protection
(SMAPP). The system may not need to journal the access path that you consider
critical to meet your target recovery times for access paths. In this case, explicitly
journaling an access path is an appropriate decision.
When deciding how many journals you should use and how to assign objects to
journals, consider the following:
v Using one journal (and journal receiver) is the simplest method for managing
both daily operations and recovery.
| v If using a single journal receiver causes a performance bottleneck, you can
| alleviate this by placing the journal receiver in a separate user ASP from the
| objects that you are journaling.
| v To simplify recovery, objects that are used together in the same application
| should be assigned to the same journal.
| v If you are journaling database files, all the physical files underlying a logical file
| should be assigned to the same journal.
v If you have Version 2 Release 3 Modification 0 or earlier of the OS/400 licensed
program, all files opened under the same commitment definition within a job
must be journaled to the same journal. If you have Version 3 Release 1 or later,
this restriction no longer applies in most situations. In commitment control, each
journal is considered a local location. Table 75 on page 544 describes what
conditions are required for more than one local location (journal) to be allowed.
| v If your major applications have completely separate objects and backup
| schedules, separate journals for the applications may simplify operating
| procedures and recovery.
| v If you journal different objects for different reasons; such as recovery, auditing,
| or transferring transactions to another system; you may want to separate these
| functions into separate journals. However, you can assign an object to only one
| journal.
| v If the security of certain objects requires that you exclude their backup and
| recovery procedures from the procedures for other objects, assign them to a
| separate journal, if possible.
v If you have user ASPs with libraries (library user ASP), all objects assigned to a
journal must be in the same user ASP as the journal. The journal receiver may
be in a different ASP. If you place a journal in a user ASP without libraries
(nonlibrary user ASP), objects being journaled must be in the system ASP. The
journal receiver may be in either the system ASP or the nonlibrary user ASP
with the journal. See “Should Your Journal Receivers Be in a User ASP?” on
page 393 for more information about the types of ASPs.
| v If you have independent ASPs and place IFS objects on those independent ASPs,
| then these objects cannot be journaled. All objects assigned to a journal must be
| in the same ASP as the journal and journals cannot be created on independent
| ASPs
| Access path journaling also requires before-images for the system to use for IPL
| recovery. When you journal access paths, or the system journals an access path to
| provide System-Managed Access-Path Protection, the system will automatically
| journal both before and after-images. If you normally journal only after-images, the
| system also writes before-images if you are journaling the access path.
If you need to do a recovery, you can restore objects from the save-while-active
media. Then you can apply journal changes to an application boundary.
| For more information about the save-while-active function, click the Backup,
| recovery, and availability topic under Systems Management in the Information
| Center at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
As the number of objects you are journaling increases, the general performance of
the system may be slower. The time it takes to perform an IPL on your system
may also increase, particularly if your system ends abnormally.
| The system also spreads journal receivers across multiple disk units to improve
| performance. The journal receiver may be placed on up to ten disk units in an ASP.
| If you specify the RCVSIZOPT(*MAXOPT1) or RCVSIZOPT(*MAXOPT2) journal
| option, then the system may place the journal receiver on up to 100 disk units in
| an ASP. Journal entries are written using a “round robin” technique with these
| arms.
You can take measures to minimize the impact of journaling on your system
performance:
v Do not set the force-write ratio (FRCRATIO) parameter for physical files that are
being journaled. You can let the system manage when to write records for the
physical file to disk because the journal receiver has a force-write ratio of 1.
The maximum size for a single journal receiver varies. It depends on how the
system allocates the journal receiver across multiple disk arms. The maximum size
ranges from approximately 1.9 GB to 1.0 TB depending on what value you
specified for the associated journal’s Receiver Size Option.
| To avoid possible problems with a journal receiver exceeding the maximum size
| allowed on the system, specify a threshold for the receiver of no more than
| 900 000 000KB if you specified RCVSIZOPT(*MAXOPT1) or
| RCVSIZOPT(*MAXOPT2) for the associated journal. Otherwise, specify a threshold
| of no more than 1 441 000KB. See “Specifying a Threshold for a Journal Receiver”
| on page 401.
Notes:
1. You cannot save or restore any journal receivers that you attach to journals
with RCVSIZOPT(*MAXOPT1) specified to any releases prior to V4R5M0. You
also cannot replicate these receivers to any remote journals on any systems at
releases prior to V4R5M0.
| The actual auxiliary storage used will be somewhat larger because the system
| writes additional entries for such actions as opening and closing objects unless you
| specified OMTJRNE(*OPNCLO) when starting journaling for the database physical
| files or you specified OMTJRNE(*OPNCLOSYN) when starting journaling for
| directories or stream files.
For example:
1. The average record length for journaled files is 115 bytes.
2. The average record length for a journal entry is 270 bytes (115 + 155). In this
example, RCVSIZOPT(*MINFIXLEN) is not specified.
3. The number of journaled transactions per day is 10 000. The total bytes needed
to journal after-images for a day is 2 700 000 (270 x 10 000).
If you are already using journaling, skip steps 1 and 2 below. Instead, issue a
Display Journal Receiver Attributes (DSPJRNRCVA) command before the time
period so you can compare sizes from the beginning of the period to the end.
This method assumes that the same receiver is used during the whole test. If there
is a change journal to attach a new journal receiver during the test, you must
include the sizes of all the receivers.
1. Set up journaling by creating the receiver and journal.
2. Start journaling for all the objects that you plan to journal.
3. Choose a time period (1 hour) with typical transaction rates.
4. After one hour, use the Display Journal Receiver Attributes (DSPJRNRCVA)
command to display the size of the receiver.
5. Multiple the size by the number of hours that your system is active in a day.
| You can select to journal both before-images and after-images. The system uses
| more storage if you select both before-images and after-images, although storage
| use is not necessarily doubled. If you journal access-paths, the before-images and
| after-images are written to the journal receiver when a database file is updated or a
| data area is changed2. Only after-images are written when an object is added
| (write operation) or deleted.
The system requires additional space to journal access paths. The space required
depends on:
v How many access paths are journaled.
| v How often you change the access paths. When you update a record in a
| database file, you cause an access path journal entry only if you update a field
| included in the access path.
v The method used to update access paths. More journal entries are written if you
update access paths randomly than if you update them in ascending or
descending sequence. Doing a mass change to an access path field, such as a
date change, causes the fewest journal entries.
Note: If you have target recovery times for access paths specified (SMAPP) and
you journal database files, the system uses the same journal receiver to
protect access paths for that file. This increases the size of your journal
receivers.
2. Neither the before-image nor after-image is deposited into the journal if the after-image is exactly the same as the before-image.
Note: Moving journal receivers off-line increases your recovery time because
receivers have to be restored before journal changes can be applied.
v Specify RCVSIZOPT(*RMVINTENT) for journals. This causes the system to
periodically remove internal entries that it no longer needs, such as access path
entries.
v Specify RCVSIZOPT(*MINFIXLEN) for journals. This causes the system to no
longer deposit the job, program, or user profile information in the journal entry,
thus reducing the size of the entries. However, if you require this journal entry
information for audit or other uses, you cannot use this storage saving
mechanism. Additionally, it reduces the options available as selection criteria
used on the DSPJRN, RCVJRNE, RTVJRNE, CMPJRNIMG, APYJRNCHG, and
| RMVJRNCHG commands, or the QjoRetrieveJournalEntries API. See “Using
| RCVSIZOPT(*MINFIXLEN)” on page 408 for more information.
| v Specify the minimize entry-specific data (MINENTDTA) parameter for journals.
| This allows the system to write data to the journal entries in a minimized
| format. See“Specifying Minimized Entry-Specific Data” on page 409 for more
| information.
Setting Up Journaling
After you have decided how you will use journaling, follow these steps to set up
journaling on your system. If you have decided to use more than one journal,
work through all the steps for one journal at a time. Then repeat the steps for the
next journal.
The topics that follow this list of steps describe the steps in more detail.
1. Create the journal receiver using the CRTJRNRCV command.
2. Create the journal using the CRTJRN command.
| 3. Start journaling for each object that you plan to journal:
| v Use the Start Journaling Physical File (STRJRNPF) command for database
| files. Start journaling for only the files that are assigned to the journal that
| you are currently setting up.
| v Use the Start Journal (STRJRN) command for IFS objects. Start journaling for
| only the objects that are assigned to the journal that you are currently setting
| up.
| v Use the Start Journal Object (STRJRNOBJ) command for all other object
| types. Start journaling for only the objects that are assigned to the journal
| that you are currently setting up.
| 4. Start journaling access paths, if you plan to do so, using the STRJRNAP
| command. Start access path journaling for only the access paths that are
| assigned to the journal that you are currently setting up.
| 5. After journaling begins for the object, save the journaled object to preserve its
| journal attribute information. Also, you must save the object because, for
Note: If you are journaling distributed physical files, you have to do steps 1, 2, 4,
and 5 on each system in the node group. The system handles distribution of
the start of journaling (step 3, (STRJRNPF command)).
If you plan to have more than one journal on your system, use a naming
convention that links each journal with its associated receiver.
To simplify recovery and avoid confusion, make each journal receiver name unique
for your entire system, not unique within a library. If you have two journal
receivers with the same name in different libraries and they both become damaged,
the reclaim storage operation renames both journal receivers when they are placed
in the QRCL library. When you use the Rename Object (RNMOBJ) command for a
journal or journal receiver in the QRCL library, you can change the name of the
library back to the original name. You cannot change the name of the journal or
the journal receiver.
When you detach the receiver from the journal and attach a new one, you can
have the system generate the name for the new receiver by incrementing the
previous receiver name. If you use system change-journal management, by
specifying MNGRCV(*SYSTEM) for the journal, the system also generates a new
receiver name when it changes journal receivers.
Table 61 shows the rules the system uses to generate a new receiver name. It
applies these rules in the sequence shown in the table:
Table 61. System-Generated Receiver Names. How the System Generates Journal Receiver
Names When Changing Journal Receivers
Current Name System Action Example
Last 4 characters are numeric. Adds 1 DSTR0001 to DSTR0002
Last character is not numeric. Truncates the name to 6 DSTRCVR to DSTRCV0001
characters, if necessary, and
concatenates 0001
Last character is numeric. Adds 1 DSTR01 to DSTR02
Last non-numeric character is
in position 5 or less.
Last character is numeric. Truncates to 6 characters, if DSTRCVR01 to DSTRCV0001
Last non-numeric character is necessary. Concatenates 0001.
in position 6 or higher.
If the name generated by the system is the same as the name of a journal receiver
already on the system, the system adds 1 to the name until it creates a name that is
not a duplicate. For example, assume a journal receiver named RCV1 was attached
when the journal was saved. When the journal is restored, the system attempts to
create a new journal receiver named RCV1001. If that name already exists, the
system tries the name RCV1002.
Table 63 shows examples of how the system generates new receiver names:
Table 63. System-Created Journal Receiver Names
Journal Receiver Name
Last Journal Receiver Created by Restoring
Known to the System1 Created by Change Journal2 Journal
A A0001 A1000
ABCDEF ABCDEF0001 ABCDEF1000
ABCDEFG ABCDEF0001 3 ABCDEF1000 3
ABCDEF1234 ABCDEF1235 ABCDEF2234
A0001 A0002 A1001
A1 A2 A1001
A9 A10 A1009
ABCDEF7 ABCDEF0001 3 ABCDEF1007 3
ABCDEF9999 Error 4 ABCDEF0999
A1B15 A1B16 A1B1015
1
If the journal exists on the system, the last journal receiver known to the system is
the journal receiver that is currently attached. If the journal does not exist, the last
journal receiver known to the system is the journal receiver that was attached when
the journal was saved.
2
Either when a user issues the CHGJRN command with JRNRCV(*GEN) or when
the journal is changed by system change-journal management.
3
The last character of the current name is dropped because it exceeds 6 characters.
4
If the journal is set up as MNGRCV(*SYSTEM), the receiver name wraps around to
0’s (ABCDEF0000). If the journal is set up as MNGRCV(*USER), an error occurs
because adding 1 to 9999 causes an overflow condition.
Note: The UNIT parameter is no longer supported for the CRTJRNRCV command.
It is still available for compatibility with earlier releases of the OS/400
licensed program.
In specifying a storage threshold, you need to balance the amount of space that
you have available with the system overhead associated with changing journal
receivers frequently. Consider these options:
v Base the size on your available auxiliary storage:
1. Calculate the amount of auxiliary storage space that you have available in
the user ASP for the journal receiver.
2. Assign a receiver threshold that is 75 to 80 percent of that space.
v Base the size on how often you want to change journal receivers:
1. Use the method described in “How to Estimate the Size of a Journal
Receiver” on page 396 to calculate how large your receiver would be for a
day.
2. Determine how many times a day you should detach and save the journal
receiver.
| Do not make the journal receiver size too small, or the system will spend too much
| resource changing journal receivers or sending threshold messages. To avoid
| possible problems with a journal receiver exceeding the maximum size allowed on
| the system, specify a threshold for the receiver of no more than 900 000 000KB if
| you specified RCVSIZOPT(*MAXOPT1) or RCVSIZOPT(*MAXOPT2) for the
| associated journal. Otherwise, specify a threshold of no more than 1 441 000KB.
| Journal receivers contain copies of changes from all objects being journaled.
| Someone with access to the journal receiver could display confidential data. The
| authority to a journal receiver should be as strict as the authority for the most
| confidential object that is being journaled.
You do not need any authority to the journal or to the journal receiver to use an
object that is journaled. Authority to the journal receiver is checked only when
using commands that operate directly on the receiver. The authority you set for the
journal receiver has no effect on the people using the journaled objects. The iSeries
Security Reference book has more information about the authority required to access
objects and perform commands that use journals and journal receivers.
Naming Journals
When you create a journal by using the CRTJRN command, you assign a name to
it. If you plan to have more than one journal on your system, use a naming
convention that links each journal with its associated receiver.
To simplify recovery and avoid confusion, make each journal name unique for
your entire system, not unique within a library. If you have two journals with the
same name in different libraries and they both become damaged, the reclaim
storage operation renames both journals when they are placed in the QRCL library.
When you use the RNMOBJ command for a journal in the QRCL library, you can
change the name of the library back to the original library name. You cannot
change the name of the journal itself. In this case, you would not be able to
recovery your journal from QRCL since its name has been changed.
When the journals and associated objects are in different libraries, you must ensure
| that the objects are restored in the correct order. You can name the libraries for the
| journals, objects, and journal receivers to ensure that the objects are restored in the
| correct order. For example, starting the name of the library for the journal with a
| special character, such as #, $, or @, ensures that the library for the journal is
| restored before the library for the objects. In the normal sort sequence, special
characters appear ahead of alphabetic characters.
| Since IFS objects do not exist in a library, your restore processing must ensure the
| objects are restored in the correct order. That is, you must restore your libraries
| which contain the journals before restoring the IFS objects that were journaled to
| that journal.
| If you want to place the journal in a nonlibrary user ASP, you must first create the
| library for the journal in the system ASP. If the journal is in a nonlibrary user ASP,
| all the objects being journaled to it must be in the system ASP.
Messages that are related to the remote journal function will also be sent to this
message queue. For more information, refer to “Troubleshooting Errors” on
page 491.
A common use for this message queue is to handle threshold messages. When you
create a journal receiver, you can specify a storage threshold. (See “Specifying a
Threshold for a Journal Receiver” on page 401.) The manage receiver (MNGRCV)
parameter for the journal determines what the system does when an attached
receiver reaches its storage threshold.
If you choose to change journal receivers yourself, you can specify where the
system sends messages when the journal receiver exceeds its storage threshold.
You might create a special message queue for this purpose and create a program to
monitor the message queue for the message (CPF7099). When the message is
received, the program can, for example, detach the receiver (CHGJRN) and save it.
If you specify MNGRCV(*SYSTEM) for the journal, the system does not send a
threshold message. Instead, the journal receiver is changed by the system. The
system sends a message (CPF7020), which indicates that the journal receiver for the
journal was successfully detached. The manage receiver (MNGRCV) parameter is
described in “Specifying How Journal Receivers for the Journal Are Changed” on
page 405.
| There are other messages which are sent to this journal message queue related to
| processing for the DLTRCV option. See “Deleting Journal Receivers” on page 418
| for more information.
If you use system change-journal management support, you must ensure that your
environment is suitable and that you regularly check the QSYSOPR message queue
and the message queues assigned to your journals.
v If the system cannot complete the CHGJRN command because it cannot obtain
the necessary locks, it retries every 10 minutes. It sends messages (CPI70E5) to
the journal’s message queue and to the QSYSOPR message queue. If this occurs,
you may want to determine why the operation cannot be performed and either
correct the condition or run the CHGJRN command.
v If the system cannot complete the CHGJRN command for any reason other than
lock conflicts, it temporarily discontinues system change-journal management for
that journal and sends a message (CPI70E3) to the message queue assigned to
the journal or to the QSYSOPR message queue. This might occur because a
journal receiver already exists with the name that it would generate. Look at the
messages in the QHST job log to determine the problem. After you correct the
problem, use the CHGJRN command to do the following:
– Detach the current receiver
– Create and attach a new journal receiver
– The system then resumes system change-journal management.
v System change-journal management requires that the storage threshold for the
journal receiver be at least 5000KB.
Notes:
1. The value should be at least 5000. Using a value less than 5000 may cause
operational problems.
| 2. If you plan to use MNGRCV(*SYSTEM), the threshold must be a minimum
| of 100 000 KB if the receiver will be attached to a journal with
| RCVSIZOPT(*MAXOPT1) or RCVSIZOPT(*MAXOPT2) specified, otherwise,
| it must be a minimum of 5 000 KB.
| 3. If you plan to attach this journal receiver to a journal that does not have
| RCVSIZOPT(*MAXOPT1) or RCVSIZOPT(*MAXOPT2) specified, the
| maximum you can specify is 1 919 999 KB.
The system cannot delete the journal receiver (even if DLTRCV (*YES) is used) if
any of the following conditions is true:
v An exit program that is registered for the Delete Journal Receiver (DLTJRNRCV)
exit point (QIBM_QJO_DLT_JRNRCV) indicates that the receiver is not eligible
for deletion.
v A journal has remote journals associated with it, and one or more of the
associated remote journals does not have a full copy of this receiver.
v The system could not get the appropriate locks that are required to complete the
operation.
v The exit program registration facility was not available to determine if any exit
programs were registered.
Do not select to have the detached journal receiver deleted if you may need it for
recovery or if you want to save it before it is deleted. The system does not save the
journal receiver before deleting it. The system does not issue the warning message
(CPA7025) that it sends if a user tries to delete a receiver that has not been saved.
Note: You can specify this parameter only if you specify MNGRCV(*SYSTEM) or if
the journal is a remote journal.
You can use the RCVSIZOPT parameter for the journal to have the system
periodically remove internal journal entries from the attached journal receiver
| when it no longer needs them to recover. Specifying RCVSIZOPT(*RMVINTENT)
| may have a very slight impact on system performance, because the system has to
| manage these internal entries separately and periodically remove them. Specifying
RCVSIZOPT(*RMVINTENT) has these benefits:
v It reduces the impact that SMAPP may have on journal receivers for user-created
journals.
v It reduces the size of journal receivers that are on the system.
v It reduces the amount of time and media required to save journal receivers,
because unnecessary entries are not saved.
v It reduces the time that it takes to apply journal entries, because the system does
not have to evaluate unnecessary entries.
| v It reduces the communications overhead if the remote journal function is being
| used because unnecessary entries are not sent.
| Entries will only be minimized if the minimized entry is smaller in size than a
| complete journal entry deposit would be. Therefore, even if this option is specified,
| not all entries that are deposited will be minimized. An indicator is provided on
| the DSPJRN, RCVJRNE, RTVJRNE commands and QjoRetrieveJournalEntries API
| outputs to indicate whether the entry is actually minimized or not. See
| “Appendix D. Journal Entry Information” on page 805 to see which entries are
| eligible for minimization. See “Working with entries which contain minimized
| entry-specific data” on page 438 for more information and considerations when
| using these entries.
| You cannot save or restore a journal receiver with minimized journal entries to any
| release prior to V5R1M0, nor can they be replicated to any remote journal on a
| system at a release prior to V5R1M0.
Library . . . . . . . . . . . . . . . . . : $DSTJRN
Type . . . . . . . . . . . . . . . . . . . : PROD
ASP of library . . . . . . . . . . . . . . : 1
Create authority . . . . . . . . . . . . . : *EXCLUDE
Text description . . . . . . . . . . . . . : Dist Journal Lib
Journal and Receiver in System ASP: The following command creates journal
receiver RCVDST1 in the $DSTJRN library:
CRTJRNRCV JRNRCV($DSTJRN/RCVDST1) THRESHOLD(10000)
TEXT('RECEIVER FOR $DSTJRN JOURNAL')
The journal receiver is placed in the system ASP with the library because *LIBASP
is the default value for the ASP parameter on the CRTJRNRCV command.
Public authority for the journal receiver is *EXCLUDE because the Create authority
value for the library is *EXCLUDE and the default for the authority (AUT)
parameter is *LIBCRTAUT.
The journal is placed in the system ASP with the journal receiver. The system
automatically changes journal receivers when the receiver exceeds 10 240 000 bytes
of storage (the threshold size for the RCVDST1 receiver). The detached receiver is
not deleted.
Journal Receiver in Nonlibrary User ASP: This command creates journal receiver
RCVDST2 in a nonlibrary user ASP:
CRTJRNRCV JRNRCV($DSTJRN/RCVDST2) THRESHOLD(10000)
ASP(2) TEXT('RECEIVER FOR $DSTJRN JOURNAL')
When the receiver RCVDST2 exceeds 10 240 000 bytes of storage, a message
(CPF7099) is sent to the JRNLBMSG message queue in the $DSTJRN library.
Journal and Journal Receiver in User ASPs: Assume the ARLIBR library is in a
user ASP:
Display Library Description
Library . . . . . . . . . . . . . . . . . : ARLIBR
Type . . . . . . . . . . . . . . . . . . . : PROD
ASP of library . . . . . . . . . . . . . . : 3
Create authority . . . . . . . . . . . . . : *USE
Text description . . . . . . . . . . . . . : A/R Receiver Lib
The following command creates journal receiver RCVDST3 in the library user ASP:
CRTJRNRCV JRNRCV(ARLIBR/RCVDST3) THRESHOLD(10000)
TEXT('RECEIVER FOR ARJRN JOURNAL')
Because public authority is not specified, the public authority is set to *USE (the
Create authority value for the ARLIBR library).
Library . . . . . . . . . . . . . . . . . : ARLIB
Type . . . . . . . . . . . . . . . . . . . : PROD
ASP of library . . . . . . . . . . . . . . : 4
Create authority . . . . . . . . . . . . . : *USE
Text description . . . . . . . . . . . . . : A/R Library
This command creates the local journal that is associated with the RCVDST3
journal receiver:
CRTJRN JRN(ARLIB/ARJRN) JRNRCV(ARLIBR/DSTRCV3)
When the RCVDST3 journal receiver exceeds 10 240 000 bytes of storage, a message
is sent to the QSYSOPR message queue (the default).
Starting Journaling
| After you have created the journal, use the appropriate start journal command for
| each object that you want to journal. When journaling has been started for an
| object, the system writes journal entries for all changes to the object.
| The start journal command must obtain an exclusive lock on the object. However,
| for database physical files and integrated file system objects, you can start
| journaling even if an object is open. The recommended procedure for starting
| journaling is:
| 1. Start journaling the object.
| 2. Save the object. If the object is open for changing, this will be a
| save-while-active type save.
| It is highly recommended that you update the history for the object when you
| save it so that APYJRNCHG and RMVJRNCHG processing will have the best
| information for verification. If you saved the object using the SAV command,
| the default value is to not preserve the update history. Therefore, you should
| change the UPDHST value to something other than *NO. For the other save
| related commands, the default value is to preserve the update history.
To reduce the number of journal entries, you can omit entries for open operations
and close operations for the file. Specify OMTJRNE(*OPNCLO) on the STRJRNPF
command to do this. If you choose to omit open journal entries and close journal
entries, be aware that:
v You cannot use the journal to audit who has accessed the file.
v You cannot apply or remove journal changes to open boundaries and close
boundaries using the TOJOBO and TOJOBC parameters.
Another way to reduce the number of journal entries for the file is to specify
SHARE(*YES) for the file. You can do this using the Create Physical File (CRTPF)
command or the Change Physical File (CHGPF) command. The system writes a
single open and close entry regardless of how often the shared open data path
(ODP) is opened or closed within a routing step.
For more information on database files, click the Database and file systems topic
in the Information Center at the following web site:
http://www.ibm.com/eserver/iseries/infocenter.
The journal has to exist with the same name on all systems in the node group. The
journal itself is not distributed, only the STRJRNPF command.
The journal and its receiver are associated only with the changes made to the file
on the one system. If you have two systems in the node group and a file is
updated on both systems, the update on system A is only in system A’s journal
and receiver and the update on system B is only in system B’s journal and receiver.
The journal identifier (JID) will be different on each piece of the distributed file.
Each system piece will have it own JID. This means that the journal entries
deposited on one system cannot be used to APYJRNCHG or RMVJRNCHG those
entries to a different piece of the file on another system.
All underlying physical files must be journaled to the same journal before you can
start journaling for an access path. The entries created when you journal an access
path are used to recover the access path after the system ends abnormally. They
are not used when you apply or remove journal entries. You can specify
RCVSIZOPT(*RMVINTENT) for the journal to have the system remove these
entries when they are no longer needed for recovery. This reduces the disk storage
requirements for the journal receiver.
You cannot start journaling for an access path that is in use. The STRJRNAP
command must obtain an *EXCL lock on the logical file.
Note: If you have target recovery times for access paths set up on your system,
you may not need to set up explicit journaling for access paths. See
“Chapter 18. Protecting Access Paths Using System-Managed Access-Path
Protection” on page 375 for more information.
| For more information on IFS objects, click the Database and file systems topic in
| the Information Center at the following web site:
| http://www.ibm.com/eserver/iseries/infocenter.
| When you use the SAV command to save an IFS object, the default is to not update
| the history information for the object. If you plan to use the APYJRNCHG
| command for the objects you are journaling, you should specify to preserve the
| update history information on the SAV command.
| If you are journaling *DIR or *STMF objects, you can reduce the number of journal
| entries in the journal receiver. If you specify OMTJRNE(*OPNCLOSYN) on the STRJRN
| command you can omit entries for open operations, close operations, and force
| entries for the object. If specify OMTJRNE(*OPNCLOSYN) be aware that:
| v You cannot use the journal to audit who has accessed the object.
| v You cannot apply journal changes to open boundaries and close boundaries
| using the TOJOBO and TOJOBC parameters.
| v The value *OPNCLOSYN is only valid for *DIR and *STMF objects.
| If you are journaling symbolic links, the system does not follow the symbolic link
| to determine what to journal. That is, the system only journals the actual symbolic
| link. If you want to the journal the end object, you must journal the end object
| directly.
| If there are object types in the subtree that are not supported for journaling when
| SUBTREE(*ALL) is specified, the unsupported object types are skipped over so that
| only object types that are supported for journaling get journaled.
| When you start journaling a data area, you specify whether you want after-images
| saved, or both before-images and after-images. See “Should You Journal
| Before-Images?” on page 392.
| For more information on data queues, see CL Programming. For more information
| on data areas see Work Management.
| When you start journaling an object, the system assigns a unique journal identifier
| (JID) to that object. If the object is a physical database file, each member is also
| assigned a unique JID. The JID is part of every journal entry added to the journal
| receiver for a given object. The system uses the JID to associate the journal entry
| with the corresponding journaled object. The copy of the object on the save media
| that was saved before it was journaled does not have the journal identifier saved
| with it. Therefore, if this copy of the object is restored to the system, the journal
| entries cannot be associated with the object and cannot be applied. This is why it is
| critical to save the journaled object after journaling is started. Additionally, if the
| object is a physical file, you should save it every time a member has been added to
| it. This ensures that the journal identifiers are saved with the new file members.
| You should also save an IFS object whenever it is added to a directory and the
| object is automatically journaled because the directory has the inherit journaling
| option on.
| Notes:
| 1. The *TYPE4 format for the DSPJRN, RCVJRNE, or RTVJRNE command
| includes the JID for the object. The JID is also included with the *TYPEPTR
| format for the RCVJRNE command, as well as the QjoRetrieveJournalEntries
| API.
| 2. You can use the Retrieve JID Information (QJORJIDI) API to retrieve an object’s
| name (for a non-IFS object) or the file identifier (FID) (for an IFS object), if you
| know its JID. For more information about this API, click the Programming
| topic in the Information Center at the following Web site:
| http://www.ibm.com/eserver/iseries/infocenter.
| 3. If you start journaling on a distributed file, the piece on each system has its
| own unique JID.
Attention:
| Update the history for the object when you save it so that APYJRNCHG and
| RMVJRNCHG processing will have the best information for verification. If
| you save the object using the SAV command, change the UPDHST value to
| something other than *NO. The default value for the SAV command is to not
| preserve the update history. For the other Save related commands, the default
| value is to preserve the update history.
| IFS objects
| v The Save (SAV) command
Save a physical file or a logical file after you start journaling access paths for the
file. This ensures that when you restore the file, journaling access paths is started
automatically.
If you are using distributed files, you must remember to save your file separately
on the systems in the node group after starting journaling for the distributed file.
| When you add new applications, evaluate whether the objects should be journaled.
If you use SMAPP, the system automatically considers new access paths when
deciding how to meet your target recovery times for access paths.
Journaling places some limits on what changes you can make. For example:
v You cannot protect a logical file, either explicitly or with SMAPP, if the
underlying physical files are journaled to different journals.
| v You cannot move an object to a different ASP from the ASP of the library that
| contains its journal.
Protect your journal receivers by regularly detaching them and saving them; or
you can have the system take over the job of changing journal receivers by
specifying MNGRCV(*SYSTEM) for the journal.
If disk utilization is a problem on your system, you can free storage for journal
receivers when you save them. Freeing storage is preferable to deleting journal
receivers. Journal receivers whose storage has been freed still appear in the receiver
| directory for the journal. If disk utilization is not a problem, leave the journal
| receivers on the system until you have saved all the journaled objects.
When you use JRNRCV(*GEN) on the Change Journal (CHGJRN) command, the
system creates the new receiver with the same attributes as the currently attached
receiver, and in the same library. These attributes include the owner, private
authorities, public authority, object auditing, ASP identifier, threshold, and text.
Resetting the Sequence Number for the Journal: Normally, when you change
journal receivers, you continue the sequence number for journal entries by
specifying SEQOPT(*CONT), which is the default. When the sequence number
becomes very large, you can specify SEQOPT(*RESET) on the CHGJRN command
to start the numbering at 1. You can reset the sequence number only when all
changes are forced to auxiliary storage for all journaled objects and commitment
control is not active for the journal. Resetting the sequence number has no effect
on how the new journal receiver is named.
Some conditions prevent you from resetting the sequence number, such as an
active commit cycle. If the system cannot reset the sequence number, you receive
the message CPF7018. If you attempt to use the CHGJRN command with the same
journal receiver name and SEQOPT(*CONT), you may receive the message
CPF701A. To recover, delete the journal receiver and use the CHGJRN command
again.
| The system sends a warning message (CPI70E7) to the journal’s message queue
| when the sequence number exceeds 2 147 000 000. If you specified
| RCVSIZOPT(*MAXOPT1) or RCVSIZOPT(*MAXOPT2) for the journal that you
| attached the receiver to, the system sends the warning message when the sequence
| number exceeds 9 900 000 000. If you use system change-journal management
| support (MNGRCV(*SYSTEM)) for the journal, the system attempts to change the
| journal and reset the sequence number one time. The message is sent only if the
| attempt is not successful.
When a journal receiver has been detached, it cannot be reattached to any journal.
You can do these things with a detached journal receiver:
v Save or restore it.
v Display entries.
v Retrieve entries.
You can also change the journal state of a remote journal to inactivate the
replication of journal entries to that remote journal. Refer to “Inactivating the
Replication of Journal Entries to a Remote Journal” on page 485 for more
information.
If you have space on your system, wait to delete journal receivers until they are
| unlikely to be needed for a recovery. (The journaled objects have been saved.)
Restoring journal receivers before applying or removing journaled changes may
significantly increase your recovery time.
If you are journaling only for access path protection or for commitment control and
do not need the journal receivers to recover journaled changes, you can have the
system delete journal receivers that are no longer needed. Specify
MNGRCV(*SYSTEM) and DLTRCV(*YES) for the journal.
You cannot delete a journal receiver that is attached to a local journal. Journal
receivers must be deleted in the same order they were attached to a journal except
that a damaged or inoperable receiver can be deleted regardless of this restriction.
If an attached receiver is damaged, you must detach it (CHGJRN command) before
you delete it. You can also delete a journal receiver in the middle of a receiver
directory chain if one of the following conditions are true:
v The journal has DLTRCV(*YES) specified
v The journal is a remote journal
If you need the journal receivers for a recovery, you should ensure that they are
not deleted without first being saved. Display the journal receiver directory using
the WRKJRNA command and pressing F15 from the Work with Journal Attributes
display. The receiver directory shows which receivers have been saved. A date of
00/00/00 in the Save date column indicates that a journal receiver has not been
saved.
If you attempt to delete a receiver that has not been saved, the system sends the
inquiry message CPA7025. If the reply to the message is ignore (I), the journal
receiver is deleted. If the reply is cancel (C), the operation is not completed. You
can use the system reply list to specify the reply that the system sends for a
particular job.
If you attempt to delete a receiver that is attached to a remote journal, the system
sends the inquiry message CPA705E. The results of the reply to the message are the
same as those that occur with message CPA7025. You cannot delete a journal
receiver that is attached to a remote journal if the remote journal has a journal state
of *ACTIVE. Refer to “Chapter 21. Remote Journal Function” on page 467 for more
information.
An exit point is available for the Delete Journal Receiver (DLTJRNRCV) command
for systems that are running V4R2M0 or a later release. One example of using this
exit point is a situation where your application is using the data in the journal
receiver. The application is dependent on the journal receiver being present until
your application processing is complete. By registering an exit program with the
QIBM_QJO_DLT_JRNRCV exit point, the program will be called every time a
journal receiver is deleted from the system. If your program determines that your
application is not yet done with the receiver, it can indicate that the journal
receiver is not eligible for deletion.
If you must delete the receiver regardless of what an exit program indicates, you
can specify *IGNEXITPGM for the DLTOPT parameter on the DLTJRNRCV
command. This parameter value requests that any user exit programs that are
registered for QIBM_QJO_DLT_JRNRCV exit point be ignored.
You can also use the following values for the DLTOPT parameter:
*IGNTGTRCV
Ignore target receiver. If you specify this value, the system does not verify
that all remote journals that are associated with this journal, and are
immediately downstream on a target system, have full copies of this
journal receiver. The delete operation will continue, even if a remote
journal does not have a full copy.
*IGNINQMSG
Ignore inquiry message. Inquiry message CPA7025 will not be presented,
even if this receiver has not been fully saved. Also, inquiry message
CPA705E is not presented to the user even if the receiver is attached to a
remote journal. The delete operation continues.
Deleting a Journal
Each journal on the system causes additional time and resource to be used at each
IPL after an abnormal end. If you no longer need a journal, you should delete it
using the Delete Journal (DLTJRN) command. The system does not allow a journal
to be deleted if any of the following conditions exist:
| v You are journaling objects to it.
v Commitment control is active, and the journal is associated with a commitment
definition.
Note: If you have certain types of referential constraints defined, the system
starts commitment control if it is not already started. For example, if you
have defined a cascaded delete constraint for an object, the system starts
commitment control if you open the object for a delete operation. The
default commitment definition that is created is active until the job ends.
v Any of the associated remote journals have a journal state *ACTIVE.
Then restore all the needed receivers before using the APYJRNCHG or
RMVJRNCHG command to apply or remove changes with that journal. You can
use an option on the Work with Journals display to reassociate any journal
receivers that are still on the system (if they were created on Version 3 Release 1 or
later). Use the Work with Journals (WRKJRN) command. If the receivers were
created on earlier versions, you must restore them from newest to oldest. See
“Journal Receiver Chains” on page 440.
If you no longer need a journal and its associated receivers, perform the following
steps:
1. If commitment control is active and the journal is associated with it, end
commitment control with the ENDCMTCTL command.
2. End journaling of all logical files associated with the journal using the
ENDJRNAP command.
| 3. End journaling of all database files associated with the journal using the
| ENDJRNPF command.
| 4. End journaling of all IFS objects associated with the journal using the ENDJRN
| command.
| 5. End journaling of all other object types associated with the journal using the
| ENDJRNOBJ command.
6. If any commitment definitions are active that use this journal as the default
journal, use the ENDJOB command to end the jobs that are using the
commitment definitions. This includes commitment control that is started
because of a referential constraint.
7. If any remote journals have a journal state of *ACTIVE, deactivate them by
using the Change Journal State (QjoChangeJournalState) API or the Change
Remote Journal (CHGRMTJRN) command. Refer to “Inactivating the
Replication of Journal Entries to a Remote Journal” on page 485 for more
information.
8. Delete the journal using the DLTJRN command.
9. Delete the journal receiver using the DLTJRNRCV command.
You can save a journal receiver when it is attached to the journal. You should save
the journal receiver again when it is no longer attached, so that you have all the
journal entries saved.
When you save a journal receiver that is no longer attached, you can free storage.
However, a journal receiver whose storage has been freed must be restored before
it can be used for recovery.
Following are several examples of approaches you might take in detaching and
saving journal receivers.
This saves all journal receivers that have any new entries since the entire library
was saved. The advantage to this method is that you can completely automate the
saving of journal receivers. You can leave a save media volume mounted and
schedule a job to run periodically. If you are managing journal receivers yourself,
the job can run the CHGJRN command for each journal and then run the
SAVCHGOBJ command. If you are using system change-journal management, the
job needs to run only the SAVCHGOBJ command.
Also, you can specify a threshold for the journal receiver and message queue for
the journal. If you have specified MNGRCV(*USER) for the journal, you can create
a CL program to do the following:
1. Monitor the journal message queue for the message (CPF7099).
2. When the message is received, run the CHGJRN command.
3. Run the SAVCHGOBJ command to save all journal receivers that have changed
since the entire library was saved.
The advantage to using this technique is that each journal receiver is saved only
once. You will not have problems with duplicate names and partial receivers if you
need to restore. The disadvantage to this technique is that it requires manual effort
to determine the names of the journal receivers to be saved.
| Keeping Records of Your Journal Receivers: Choose the method for saving
| journal receivers that works best for your organization. Then be sure to keep track
| of what you do. Label your save media so that you know which journal receiver
| media volumes are required to apply journal changes to the last complete saved
| copy of the journaled objects.
Think through possible recovery scenarios. For example, assume this is your save
procedure:
v You save all user libraries on Sunday evening.
| v You save changed objects every evening.
v You save journal receivers every 2 hours during normal business hours.
| What are your recovery steps if you lose a journaled object at 3 p.m. on Thursday?
Note: The journal receivers can actually be restored at any point after the journals
are restored. They do not have to be restored after the journaled objects.
When these objects are in the same library, the system restores them in the correct
| sequence. When these objects are in different libraries or directories, you must
| restore them in the correct sequence, or you must manually reestablish your
| journaling environment after the restore operation.
If all of the journal receivers were created on V3R1 or later, you can restore them
in any sequence. After restoring them, use option 9 (Associate receivers with
journal) from the Work with Journal (WRKJRN) command display to build the
receiver chain in the correct sequence. Option 9 can also be used to build the
receiver chain if you restore the journal after the journal receivers.
If any journal receivers were created before V3R1, you must restore the journal
receivers from newest to oldest to build the receiver chain correctly. The journal
must be on the system for the receiver chain to be built. See “Journal Receiver
Chains” on page 440 for more information.
| If you restore journaled objects before restoring the journal, you must use one of
| the commands to start journaling again:
| v The Start Journal Physical File (STRJRNPF) command
| v The Start Journal Access Path (STRJRNAP) command
| v The Start Journal (STRJRN) command
| v The Start Journal Object (STRJRNOBJ) command
Ending Journaling
You may need to end journaling for several reasons:
v If a journal is damaged and you need to delete it, you must first end journaling
for all objects assigned to the journal.
v In some situations, you may want to end journaling before running a large batch
application, if that application has exclusive use of the object. This is done either
to improve the speed of the batch application or to reduce the auxiliary storage
needed for the journal receiver. If you do this, use this method:
| 1. End journaling for the objects.
2. If journaling physical files save them specifying ACCPTH(*YES).
| 3. If journaling other object types, save them.
4. Run the batch application.
| 5. Start journaling for the objects.
| 6. Save the physical files, specifying ACCPTH(*YES).
| 7. Save the other journaled objects.
| You must end journaling for any access paths based on a physical file or data area
| before you can end journaling for the physical file.
In general, you should use the Change Journal (CHGJRN) command to detach the
journal receiver and create and attach a new receiver on a regular basis. You may
need to save detached receivers before deleting them, or you may be able to delete
them without saving them. This depends on how the journal receivers are being
used and whether the journal is defined as MNGRCV(*SYSTEM).
In some cases, you can use the automatic cleanup function of Operational Assistant
to remove detached journal receivers that are no longer needed. The System
Operation book describes using the automatic cleanup function.
| The system also places entries in the journal that are not for a particular journaled
| object. These entries contain information about the operation of the system and the
| control of the journal receivers.
Each journal entry is sequentially numbered without any missing numbers until
| the Change Journal (CHGJRN) command resets the sequence number. However,
| sequence numbers may be missing when journal entries are converted and shown
| to the user because the system uses some entries only internally.
| When the system exceeds the largest sequence number, a message is sent to the
| system operator identifying the condition and requesting action. No other journal
| entries can be added to the journal until the journal receivers are changed and the
| sequence number is reset. “Changing Journal Receivers” on page 416 provides
| more information about what the system does when you approach the maximum
| sequence number and how to reset it.
| To help identify your entries, you can associate each entry with a particular
| journaled object. If you use the QJOSJRNE API, you can include the commit cycle
| identifier with the journal entry and send a larger amount of entry-specific data.
You may add entries to the journal to identify significant events (such as a
checkpoint) or to help in the recovery of your applications. On the SNDJRNE
command, the data specified on the ENTDTA parameter becomes the Entry-Specific
Data field in the journal entry, and the TYPE parameter value becomes the entry
type field. On the QJOSJRNE API, you use the entry data parameter to specify the
entry-specific data and the journal entry type parameter to specify the entry type.
For both the command and API deposits, the entries journal code is ’U’.
For more information about using the QJOSJRNE API, click the Programming topic
in the the Information Center at the following Web site:
http://www.ibm.com/eserver/iseries/infocenter.
Often, to prepare for a recovery, you display or print the journal entries first.
“Appendix D. Journal Entry Information” on page 805 lists all the possible journal
entry types. Use this list to help you analyze the journal entries and to do the
following:
| v Prepare for the recovery of a particular object. The list contains the information
| you need to specify the starting and ending points for applying and removing
| journaled changes.
| v Determine the functions that have been performed on the objects that are being
| journaled (such as save and restore, clear, reorganize).
v Determine the functions that have been performed on the journal (such as
attaching new journal receivers).
v Determine the functions that have been performed on the associated journal
receivers (such as save and restore).
| v Review the activity that has occurred on an object.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 429
v Analyze journal entries for debugging or problem analysis.
v Analyze journal entries for an audit trail.
The DSPJRN command either can selectively list journal entries for a particular
member of a file or list the entries for all files within a particular library. You can
further identify journal entries by specifying other selection criteria such as:
v Journal entries for specific entry types or journal codes, such as U (user-created
entries)
v Journal entries for a particular job, program, or file
v Commit cycle identifier
v Date and time
| v Dependent entries (referential integrity, triggers, and entries that will be ignored
| during an Apply Journaled Changes (APYJRNCHG) or Remove Journaled
| Changes (RMVJRNCHG) operation)
v Any combination of these:
The online help describes all the parameters for the DSPJRN command. To view
the help, type DSPJRN on a command line and press F1.
You can display entries that have specific journal codes, such as all
file-member-level entries (F), all record-level entries (R), or all security entries (T).
You specify journal codes in paired values. The first value in the pair is the journal
code. The second value indicates whether the file selections you have specified
should apply when deciding to display entries with the journal code.
Following is an example:
DSPJRN JRN($JRNLIB/JRNA) FILE(CUSTLIB/FILEA)
JRNCDE((F *ALLSLT) (R *ALLSLT)
(U *IGNFLSLT))...
In this example, entries for the FILEA file with journal codes F and R are displayed
if the entries meet all other selection criteria, such as date and time. Entries with
journal code U are displayed regardless of whether they are for file FILEA, because
ignore file selection (*IGNFLSLT) is specified for journal code U. Entries with
journal code U must meet all other selection criteria, such as date and time, to be
displayed. See Table 110 on page 807 for a list of the possible valid journal codes.
Note: The attached journal receiver in receiver range refers to the journal receiver
that was currently attached when the DSPJRN command was first issued.
That journal receiver could be detached while you are looking at the data
on-line. If that occurs, paging down does not display any entries added after
that receiver was detached.
Each journal entry occupies one record in the output file. Each has a fixed length
portion for standard files. Before-images and after-images occupy separate records.
The ENTDTALEN parameter controls the length of the field that is used to contain
the record image. The ENTDTALEN parameter also controls whether the field is a
fixed or variable length field. If the journal entry is smaller than the output file
record, the journal entry is padded with blanks. If the journal entry is larger than
the output file record, the remainder of the journal entry is truncated, and the
system issues a warning message. To avoid truncation, specify the maximum
record length in your files for the ENTDTALEN parameter on the DSPJRN
command or specify *CALC for the ENTDTALEN parameter to allow the system
to calculate the length of the specific data field so no entry is truncated.
If you write journal entries to a database output file, you can write application
programs that will process the data to:
v Write your own apply program.
v Correct data that has been incorrectly updated.
v Remove or review all changes that were made by a particular program.
However, if you remove all changes that were made by a particular program,
| you could remove some valid updates. For example, assume that two work
| station users are using the same program to update an object, and one user
| enters some data that is not valid. If you remove all invalid data changes that
are made by that program, you also remove the valid data that is entered by the
other work station user.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 431
correspond to the record image in the journal entry. “Variable-Length
Portion of a Journal Entry” on page 821 describes the null value indicator.
See Table 113 on page 819.
*TYPE4
The system uses the QJORDJE4 format in the model output file QADSPJR4
to create the output file for the converted journal entries. In addition to all
the fields that are included in the *TYPE3 format, this format includes
information about referential constraints and trigger programs. This format
includes the journal identifier (JID) that is associated with the entry, if there
| is one. This format also has a field that indicates whether or not the journal
| entry will be ignored by the execution of APYJRNCHG or RMVJRNCHG
| commands. See Table 114 on page 820.
You can create an output file to hold the output from the DSPJRN command, but
the format has to match the format of one of the IBM-supplied output files.
“Appendix D. Journal Entry Information” on page 805 provides information about
these output files.
The RCVJRNE command supports the same selection criteria as the DSPJRN
command. You can specify which entries go to the exit program.
For example, you can choose not to receive journal entries that are generated by
the action of trigger programs or referential constraints. If you have a user-written
program that updates the files on a second system with the journal entries, you
You can specify DELAY(*NEXTENT) to have journal entries sent to your program
as soon as they are written to the journal receiver. You can also specify a time
interval. When that interval ends, the exit program is called. Either new entries are
sent or an indicator is sent that there are no new entries.
The system and the exit program use the second parameter to communicate about
status changes, such as requesting block mode or ending the RCVJRNE command.
The second parameter is a character field that is three bytes long. Following are the
possible values for the first byte of the second parameter:
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 433
Possible Values for the Second Byte of the Second Parameter:
N This value is passed from the system to the exit program. Additional journal
entries are not currently available to be passed after this call of the exit
program, or the RCVJRNE command will end after this call of the exit
program.
Y This value is passed from the system to the exit program. Additional journal
entries are currently available to be passed after this call of the exit program.
Any information that is passed from the exit program to the system in the second
byte or third byte is ignored.
The second byte of the second exit program parameter is provided whether journal
entries are being processed as a single journal entry per call of the exit program, or
as a block of journal entries per call.
Note: When an N is passed to the exit program in the second byte of the second
parameter indicated that no additional journal entries are currently
available, it does not necessarily mean that when the exit program returns,
that the RCVJRNE command will have to wait for additional journal entries
to be deposited into the journal. By the time the exit program returns,
additional journal entries may already be available and depending upon
what was specified on the DELAY parameter, may or may not be
immediately passed to the exit program. If DELAY(N) was specified the
If you request block mode and the system is already using block mode, your
request is ignored. You cannot change the size of the block from the size you
specified when you first requested block mode.
Format of the First Parameter: If the specified entry format is not *TYPEPTR, and
if you are using single-entry mode, the format of the first parameter looks like
Figure 34:
│W─LnA─S │
│W─────────A─────────────S│W00000S│
The first 5 bytes contains the length of the entry. The last 5 bytes contains all
zeroes. The length of the entry does not include the 5 bytes of zeroes at the end of
the record.
If the specified entry format is not *TYPEPTR, and if you are using block mode,
the format of the first parameter looks like Figure 35:
LnBLK
│W─────S│
│W─LnA─S │
│W───────────A───────────────S│
│W─LnB─S │
│W───────────B─────────────────────S│
│W─LnC─S │
│W───────────C───────────────────S│W00000S│
The first 5 bytes contains the total length of the block. This length includes the 5
bytes for the total block length, the 5 bytes of the End of Record field at the end of
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 435
the block, and all of the length and data fields in between. If no entry is being
passed, this Block Length field contains zeroes. The block always ends with a
5-byte End of Record field containing zeroes.
The system fills the block with as many complete entries as it can fit within the
block size that you specified. The system does not send a partial entry to fill the
block size. If the specified entry format is not *TYPEPTR, the maximum number of
bytes that are available for the journal entries is 99989 bytes. 10 bytes in each block
are reserved for the Block Length field and for the End of Record field. If the
specified entry format is *TYPEPTR, the maximum number of bytes that are
available is 99999 bytes.
If you specify a block size that is not valid, the system begins block mode but it
sends only one journal entry per block. The system sends message CPD7095 to
indicate that you have specified a block size that is not valid. If you specify a block
size that is not valid or too small for a single journal entry, the system still returns
at least one journal entry to the exit program. If the specified entry format is
*TYPEPTR, the block size must be at least 13 bytes to be considered valid.
When the System Sends a Record: When block mode is in effect, the system uses
the following rules to determine when to call the exit program:
v If the block does not contain any entries but the next entry would exceed the
maximum size for the block, then the entry is placed into the block. The exit
program is called. The system always passes at least one complete journal entry
to the exit program.
v If the next entry to be put into the block would exceed the maximum size for
the block and the current block has entries in it, then the current block of entries
is passed to the exit program.
v If the current block has one or more entries in it and no additional entries in the
journal meet the selection criteria, the current block of entries is passed to the
exit program.
When in block mode, the specification for the DELAY parameter is used only when
the current block is empty and no entries are currently available to be returned to
the exit program.
When you specify *TYPEPTR, the journal entry data may have pointers that will
point to additional entry-specific data. See “Working With Pointers in Journal
Entries” on page 437 for more information.
You can use this method to create programs to automate recovery. “Appendix D.
Journal Entry Information” on page 805 provides the layout of the fixed-length
portion and the variable-length portion of the journal entry. For the format of the
| record for the RTVJRNE command, click the Programming topic in the Information
| Center at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
“Using the Retrieve Journal Entry (RTVJRNE) Command in a Program” on
page 766 shows an example program.
For further details, including the layout of the information that is returned, look in
the Information Center under the Programming topic at the following Web site:
http://www.ibm.com/eserver/iseries/infocenter.
These pointers can only be used with the V4R4M0 and later versions of the
following languages:
v ILE/COBOL
v ILE/RPG
v ILE/C if the TERASPACE parameter is used when compiling the program. See
ILE C/400® Programmer’s Guide, SC09–2069, for more information.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 437
There are some considerations you need to be aware of when using the pointer
data:
v The pointer can only be used by the process or job which retrieved or received
the journal entry which contained the pointer. The pointer cannot be passed on
to another job, nor can it be stored to use at a later date by a different job or
process.
v The pointer will only give you read access to the additional data. Write
operations to that pointer are not allowed.
v The data that is being pointed to actually resides in the journal receiver.
Therefore, you should ensure that you protect the journal receiver from deletion
until you use the data. To prevent a journal receiver from being deleted before
the data is used, you can register an exit point for the DLTJRNRCV command.
For more information, refer to “Deleting Journal Receivers” on page 418.
v For files with fields of data type BLOB (binary large object), CLOB (character), or
DBCLOB (double-byte character large object), use SQL to update the files. For
more information on the layout of the database records when LOB fields are
included, refer to the Information Center under the Database and File Systems
category.
| If you are using this journal for replication purposes, the journal entry can be
| used with the appropriate corresponding database operations if they are done
| using the ILE/C language. Contact your service representative for access to the
| information on how to activate this support.
If any journal entries are returned with pointers, the journal entry will also contain
a pointer handle. This pointer handle must be used to free up any allocations
associated with the pointer data once the pointer data has been used. The
considerations for this pointer handle are as follows:
v Using the pointer data means any of the following:
– Addressing the information and copying the addressed data to another object
– Using the journal entry-specific data directly to modify another object. For
example, using the data to update a database file with the journal entry
which represents a database record update for a file which included LOBs.
– Ignoring the additional data that is pointed to
v If you used the QjoRetrieveJournalEntries API, use the Delete Pointer Handle
(QjoDeletePointerHandle) API to delete the pointer handle when you are done
using it. For further information on the QjoDeletePointerHandle API,
http://www.ibm.com/eserver/iser
v If you used the RCVJRNE command, you must use the associated pointer prior
to returning control from the exit program. The system will delete all pointer
handles after the return from the exit program call. There is no problem if the
exit program were to also use the QjoDeletePointerHandle API to delete the
pointer handle prior to returning control from the exit program.
| If you are using this journal for replication purposes, the journal entry can be used
| with the appropriate corresponding database operations if they are done using the
| ILE/C language. Contact you service provider for access to the information on
| how to activate this support.
Journal management can be used to provide an audit trail because of the following
reasons:
v The security officer can not even remove or change the journal entries.
v The journal entries represent a chronological sequence of events.
v Each journal entry in the system is sequentially numbered without gaps until the
CHGJRN command resets the sequence number. A journal entry is written if the
sequence number is reset. When you display the journal entries, there can be
gaps in the sequence numbers because some journal entries are only used
| internally by the system. These gaps occur if you are using commitment control,
| database file journaling, or access-path journaling.
v The journal contains entries that indicate when each journal receiver was
changed and the name of the next journal receiver in the chain.
| v Whenever journaling for an object is ended or whenever an object is restored an
| entry is written.
Remember that the date and time recorded in the journal entries depends on the
date and time entered during an IPL and therefore, may not represent the actual
date and time. Also, if you use shared files, the program name that appears in the
journal entry is the name of the program that first opened the shared file.
A special journal, that is called the audit (QAUDJRN) journal, can provide a record
of many security-relevant events that occur on the system. The iSeries Security
Reference book provides more information about using the QAUDJRN journal.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 439
For a complete audit trail, you should not specify RCVSIZOPT(*MINFIXLEN). If
this parameter is specified, the job, program, and user profile information are not
journaled.
| You can only use the CMPJRNIMG command for journaled physical database files.
You cannot use the CMPJRNIMG command for journal entries that have
minimized entry-specific data. If you specified the MINENTDTA parameter on the
CRTJRN or CHGJRN commands, the journal entries have minimized entry-specific
| data.
If the journaled files have null-capable fields, the null value indicators
corresponding to the fields in the before-image of the record are compared with
the null value indicators corresponding to the fields in the after-image of the
record. A field-by-field basis does this.
The printed output from the CMPJRNIMG command shows the before-images and
after-images of a record followed by a line that indicates (with asterisks) the
specific change in the record on a character-by-character basis. If you compare the
after-images, the output shows the previous after-image of the record and the
current after-image of the record, followed by a line indicating the changes.
Note: If this command is used to compare journal images for a file that contains
any fields of data type BLOB (binary large object), CLOB (character large
object), or DBCLOB (double-byte character large object), these fields are not
included in the comparison. All other fields in the file are compared.
The online help provides more information about using the CMPJRNIMG
command. To view the help, type CMPJRNIMG on a command line, and press F1.
Figure 36 illustrates the process by which journal receiver chains are created. If you
leave the previously attached receivers RCVA7 through RCVA9 on-line, you can
use them to apply changes, to remove changes, or to display journal entries
without restoring them first.
A set of receivers for a journal that has one or more receiver chain breaks has
multiple receiver chains. Receiver chain breaks result from the following:
v You restored an old journal receiver and its next receiver is not on the system.
v A journal receiver was saved while it was attached, a partial receiver is restored,
and no complete copy of the receiver is on the system or restored.
v A receiver that has not had its storage freed by a save operation is restored, and
the next receiver has had its storage freed by a save operation.
v The journal is restored. All journal receivers associated with the previous copy of
the journal (before the journal was deleted and restored) will not be in the same
receiver chain as the currently attached journal receiver.
v The user or the system deleted a damaged or destroyed journal receiver from
the middle of a chain.
v A journal receiver from another system is restored. The journal receiver will be
associated with a journal at restore time if the associated library and journal on
the source system had the same library name and journal name as the library
and journal on the target system.
v You chose to replicate specific receivers instead of all receivers in the receiver
directory chain. This occurred while replicating journal receivers from a source
system to a target system. For more information, refer to “Chapter 21. Remote
Journal Function” on page 467.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 441
The APYJRNCHG, RMVJRNCHG, RCVJRNE, DSPJRN, RTVJRNE, and
CMPJRNIMG commands, and the QjoRetrieveJournalEntries API, cannot be used
across multiple receiver chains. If multiple receiver chains exist, you need to
determine:
v Whether any journal entries are missing.
v Whether your data will be valid if you use more than one receiver chain.
If you decide to proceed, you must run a separate command for each receiver
chain.
You can use the Work with Journal Attributes (WRKJRNA) command to display
the receiver chain (F15) and work with journal receivers. See “Using the Work with
Journal Attributes Command”.
Attach Save
Opt Receiver Library Number Date Status Date
_ RCVDST1 $DSTJRN 00001 05/18/9x SAVED 05/19/9x
_ RCVA0001 $DSTJRNA 00002 05/19/9x SAVED 05/20/9x
_ RCVA0002 $DSTJRNA 00003 05/20/9x PARTIAL 05/21/9x
_ RCVA1002 $DSTJRNA 01001 05/21/9x ATTACHED 00/00/00
Bottom
Parameters or command
===>____________________________________________________________________________
F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display size
F12=Cancel
The partial status of a journal receiver on this display indicates the following:
v A journal receiver was saved while it was attached to the journal. This means
that additional entries will be recorded in the journal that is attached to this
receiver after the save operation has occurred. The receiver was later restored,
and no complete version is available.
v The journal receiver is associated with a remote journal. It does not contain all
the journal entries that are in the associated journal receiver that is attached to
the source journal.
v A partial receiver does not contain all the entries that are recorded in the journal
while this receiver was attached. It does contain entries that are recorded up to
the last save operation.
| You can use partial receivers to apply or remove changes from an object. If you
| attempt to restore a saved receiver while a more current version of the receiver is
| on the system, an escape message is sent to prevent you from restoring the
| receiver. The system makes sure that the most complete version is preserved.
You can use a partial receiver as the last receiver in the receiver chain for an
APYJRNCHG command only if you specify a sequence number for the TOENT
parameter. You can use a partial receiver as the first receiver in the receiver chain
for a RMVJRNCHG command only if you specify a sequence number for the
FROMENT parameter.
The system does not allow you to delete a journal receiver from the middle of the
receiver chain unless one of the following conditions exists:
v The journal has DLTRCV(*YES) specified
v The journal is a remote journal
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 443
This ensures logical recovery. However, if a journal receiver is damaged, you can
delete it from the middle of the chain. If an attached journal receiver is damaged,
you must detach the damaged receiver (CHGJRN command) before you can delete
it.
The system does not prevent you from deleting a receiver that was once attached
and is not saved or that is required to provide adequate recovery. If you try to
delete a journal receiver that was once attached but has not been saved, the system
issues an inquiry message. You can then continue or cancel the delete operation.
You may use the system reply list to specify the reply the system is to send for this
inquiry message (rather than explicitly responding to each inquiry message).
You must ensure that the journal receivers are not deleted until you no longer need
them. Use the Work with Receiver Directory display to determine which journal
receivers have been saved. A date of 00/00/00 in the Save Date column indicates
that a journal receiver has not been saved. A status of PARTIAL indicates that the
receiver was saved when it was attached and then restored. More entries may have
been added after the receiver was saved. The most complete version of the journal
receiver is no longer on the system because it was destroyed during a failure. You
have restored an older, partial version. Refer to “Deleting Journal Receivers” on
page 418 for more information.
Table 66 on page 452 shows how the APYJRNCHG and RMVJRNCHG commands
| handle journal entry types. It shows which entry types cause processing to end
| and what processing is done when the entry is applied or removed.
When you apply or remove journaled changes, the system attempts to verify the
referential constraints at the end of the command, before returning control to
you. This may result in a CHECK PENDING status.
v Some referential constraints cause an action to another file. You may define a
constraint so that deleting a record in one file causes a related record to be
deleted in another file. Because referential constraints are not enforced when you
apply journaled changes, the second delete operation does not happen
automatically. However, if you are journaling both files and applying journaled
changes to both files, the system applies the journal entry for the second file
when it encounters it.
If one of the files in a referential constraint was not journaled or is not included
when you apply or remove journaled changes, the referential constraint will
probably be put in CHECK PENDING status.
The *TYPE4 and *TYPEPTR output format for journal entries and the
QjoRetrieveJournalEntries API interface includes information about whether a
journal entry was created because of changes that occurred to a record that was
part of a referential constraint.
Look on the Information Center under the Database and File System categories for
more information about working with referential constraints.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 445
How Applying and Removing Journaled Changes Works with
Trigger Programs
The system does not call trigger programs when it is applying or removing journal
entries. If an event occurs that would normally cause a trigger program to run, it is
up to you to ensure that the processing performed by the trigger program is
recovered correctly.
Normal recovery processing should work correctly if all of the following are true:
| v The trigger program only performs processing on object types which can be
| journaled and applied
| v The processed object types are journaled
| v Journaled changes are applied to or are removed from all the objects that are
| affected by the trigger program
| If additional work is performed by the trigger program or objects other than object
| types which can be journaled and applied are updated, you must use user-written
| programs to recover the work performed by the trigger program.
| If you use trigger programs to perform these actions, consider using the QJOSJRNE
| API to send journal entries when trigger programs are called. See “Sending Your
Own Journal Entries” on page 429. To help with recovery, you can develop a
program to retrieve these entries and perform the same operations.
The *TYPE4 and *TYPEPTR output format for journal entries and the
QjoRetrieveJournalEntries API interface includes information about whether a
journal entry was created because of actions that were performed when a trigger
program was called.
Look in the Information Center under the Database and File System topics for
more information about working with trigger programs.
For more information about the CPYF, INZPFM, and RGZPFM commands, refer to
the online help. To view the help, type one of the commands on a command line,
and press F1.
| The system applies the changes to the object in the same order as they were
| originally made. When you use the APYJRNCHG command, the object cannot be
| in use by anyone else.
| When the condition of the object has been established, use the APYJRNCHG
| command to apply the changes that are recorded in the journal to the object. On
| the APYJRNCHG command, specify the first journal entry to be applied to the
| object. This entry can be selected from any of the following points:
| v After the last save of the object
v From the first journal entry
v From an identified sequence number that corresponds to a date and time stamp
| v From an identified sequence number that corresponds to the start or end of a
| particular job’s use of the object provided that you did not specify one of the
| following:
| – OMTJRNE(*OPNCLO) when starting journaling for the object
| – OMTJRNE(*OPNCLOSYN) when starting journaling for a directory or stream
| file
| – RCVSIZOPT(*MINFIXLEN) for the journal at any time while the object was
| journaled
v A specific sequence number.
You can ensure that commitment transaction boundaries are honored on the apply
journaled changes operations by using the commit boundary (CMTBDY) parameter
on these commands.
Note: If the system encounters a journal entry that causes the apply or remove
process to stop, the commitment boundary may not be honored. Table 66 on
page 452 shows which entry types cause processing to end.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 447
Use the Display Journal (DSPJRN) command to identify the desired starting and
ending points. If you use a control language (CL) program for your recovery
procedures, use the Retrieve Journal Entry (RTVJRNE) command to retrieve a
journal entry and place it in program variables. For information about specifying
the program variables, look under the Programming topic on the Information
Center at the following Web site: http://www.ibm.com/eserver/iseries.You can
also use the QjoRetrieveJournalEntries API to retrieve the information into a High
Level Language (HLL) program.
| If you are journaling a directory with the INHERIT(*YES) option, and an object is
| created into that directory, the system will automatically start journaling that object
| and deposit associated create and start journal object journal entries. The apply of
| these create and start journal entries during the apply operation on the directory
| will then create the objects and start journaling for them during they apply. For
| any subsequent journaled entries for that object, the apply operation will apply
| any entries that it encounters for that object as well. Similarly, if an entry is
| encountered which deletes an IFS object, that object is actually deleted as part of
| the apply operation.
| Additionally, the apply operation can include applying any IFS journal entry that
| adds a link to the journaled directory, such as moving a non-journaled object into
| the journaled directory, or adding a new hard link to a non-journaled object into
| this journaled directory.
| Note that as objects are created, they are included in the maximum number of
| objects which can be applied as part of one APYJRNCHG request. But, even
| though objects are deleted, they are still included in the maximum number of
| objects which can be applied limit.
| See Table 66 on page 452 for what operations are applied for IFS related journal
| entries.
| Many journaled IFS operations use system initiated commitment control for the
| duration of the operation. These operations are not considered completed
| successfully unless the commitment control cycle is committed.
| Note: Commitment control, here, refers to commitment control that the system
| initiates. IFS operations cannot be included in a user initiated commitment
| control cycle.
| For IFS journal entries that are part of a commitment control cycle, you should not
| apply individual entries from within the cycle without applying the entire commit
| cycle. Using CMTBDY(*YES) on the APYJRNCHG command can help enforce this.
| If you do not use this option, and choose a specific starting point, you choose to
| start applying entries in a commit cycle, from the Start of commit cycle (C SC)
| entry for that cycle. Likewise, if you choose to end applying at a specific point, end
| on the Commit (C CM) or Rollback (C RB) entry for that cycle.
The following command applies the changes in journal JRNA to the first member
of all files in the library DSTPRODLIB that are being journaled to journal JRNA:
APYJRNCHG JRN(JRNLIB/JRNA) FILE((DSTPRODLIB/*ALL))
Because the RCVRNG parameter is not specified, the system determines the range
of journal receivers to use as a result of the save information for the files. Because
the FROMENT parameter is not specified, the system applies the changes that
begin with the first journal entry.
If the file was last saved with the save-while-active function, the saved copy of
each file member includes all record-level changes in the journal entries up to the
corresponding F SS journal entry. In this case, the system applies changes that
begin with the first journal entry that follows the F SS entry.
If the file was last saved when it was not in use (normal save), the saved copy of
each member includes all record-level changes in the journal entries up to the
corresponding F MS member saved journal entry. In this case, the system applies
changes that begin with the first journal entry that follows the F MS entry.
The following command applies the changes to the file from the journal receivers
that are currently attached to the journal:
APYJRNCHG JRN(JRNLIB/JRNA) FILE((LIBA/FILEA MBR1))
RCVRNG(*CURRENT) FROMENT(*FIRST)
TOENT(*LAST)
The *CURRENT journal receiver is the journal receiver that is attached to journal
JRNA at the beginning of the operation. The system applies the changes from the
first journal entry in this receiver to the last journal entry in this receiver. Changes
are applied to member MBR1 of the file FILEA.
The following command applies the changes in the journal JRNA to all members of
the file FILEA beginning with the first journal entry after the file member was last
saved:
APYJRNCHG JRN(JRNLIB/JRNA) FILE((LIBA/FILEA *ALL))
TOJOBC(000741/USERP/WORKSTP)
The operation continues until the specified job closes any of the members in the
file that it opened. The operation is not restricted only to those journal entries that
are recorded by the specified job.
Note: This example works only if you do not specify OMTJRNE (*OPNCLO) when
starting journaling for the file or you did not specify
RCVSIZOPT(*MINFIXLEN) for the journal at any time while the file was
journaled).
| IFS object
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 449
| The following command applies the changes in journal JRNA to the objects in the
| directory MyDirectory, and its subdirectories, that are being journaled to journal
| JRNA:
| APYJRNCHG JRN(JRNLIB/JRNA) OBJPATH(('/MyDirectory')) SUBTREE(*ALL)
| Because the RCVRNG parameter is not specified, the system determines the range
| of journal receivers to use as a result of the save information for the objects.
| Because the FROMENT parameter is not specified, the system applies the changes
| that begin with the journal entry for the last save of each of the objects.
| If the object was last saved with the save-while-active function, the saved copy of
| each object includes all record-level changes in the journal entries up to the
| corresponding B FW journal entry. In this case, the system applies changes that
| begin with the first journal entry that follows the B FW entry.
| If the object was last saved when it was not in use (normal save), the saved copy
| of each object includes all changes in the journal entries up to the corresponding B
| FS saved journal entry. In this case, the system applies changes that begin with the
| first journal entry that follows the B FS entry.
| Data area
| The following command applies the changes to the data area DATA1 from the
| journal receiver that is currently attached to the journal:
| APYJRNCHG JRN(JRNLIB/JRNA) OBJ((LIBA/DATA1 *DTAARA))
| RCVRNG(*CURRENT) FROMENT(*FIRST)
| TOENT(*LAST)
| The *CURRENT journal receiver is the journal receiver that is attached to journal
| JRNA at the beginning of the operation. The system applies the changes from the
| first journal entry in this receiver to the last journal entry in this receiver. Changes
| are applied to data area DATA1.
For a description of the journal options, see the topic “Work with Journal
(WRKJRN) Command Options” on page 455, or the on-line information for the
WRKJRN command. The changes are removed in reverse chronological order from
the order in which they were originally made to the object.
| On the RMVJRNCHG command, you identify the first journal entry to be removed
| from the object. This entry can be from:
v The last journal entry that is contained within the range of journal receivers
specified
| v The entry that corresponds to the last save of the object
v An identified sequence number
You can ensure that commitment transaction boundaries are honored on the
remove journaled changes operations by using the CMTBDY parameter on these
commands.
Note: If the system encounters a journal entry that causes the apply or remove
process to stop, the commitment boundary may not be honored. Table 66 on
page 452 shows which entry types cause processing to end.
Use the Display Journal (DSPJRN) command to identify the desired starting and
ending points for removing the changes. If you use a control language (CL)
program for your recovery procedures, use the Retrieve Journal Entry (RTVJRNE)
command to retrieve a journal entry and place it in program variables. For
information about the program variables for the RTVJRNE command, look under
the Programming topic on the Information Center at the following Web site:
http://www.ibm./eserver/iseries/infocenter. You can also use the
QjoRetrieveJournalEntries API to retrieve the information into a High Level
Language (HLL) program.
The following command removes the changes in journal JRNA from the first
member of FILEA:
RMVJRNCHG JRN(JRNLIB/JRNA) FILE(DSTPRODLIB/FILEA)
RCVRNG(*CURRENT)
The *CURRENT journal receiver is the journal receiver that is attached to journal
JRNA at the beginning of the operation. The system starts removing the changes
beginning with the latest entry for that member in this receiver and continues to
the earliest entry for that member in this receiver.
The following command removes the changes in journal JRNA from the first
member of FILEA:
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 451
RMVJRNCHG JRN(JRNLIB/JRNA) FILE(DSTPRODLIB/FILEA)
RCVRNG(JRNLIB/RCVA10 JRNLIB/RCVA8)
The system starts removing the changes beginning with the last entry (the latest
entry) for that member in journal receiver RCVA10 and continues to the first entry
(the earliest entry) for that member on journal receiver RCVA8.
| Data area
| The following removes the changes in JRNA from data area DATA1 from the last
| save entry to entry number 1003.
| RMVJRNCHG JRN(JRNLIB/JRNA) OBJ((LIBA/DATA1 *DTAARA))
| RCVRNG(*CURRENT) FROMENT(*LASTSAVE) TOENT(1003)
| If the last save operation used the save-while-active function, the system starts by
| removing changes from the entry preceding the last E EW start of save entry. If the
| last save operation was a normal save operation, the system starts by removing
| changes from the entry that precedes the last E EW member saved entry. In the
| example, journaled changes are removed back to entry 1003.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 453
Table 66. Actions by Journal Code and Entry Type (continued)
Journal Entry
Code Type Operation APYJRNCHG RMVJRNCHG
F OP Member opened Ignores Ignores
F PD Access path deleted Ignores Ignores
F PM Logical owning member of access Ignores Ignores
path moved
F PN Logical owning member of access Ignores Ignores
path renamed
F RC Journaled changes removed Ends Ends
F RG Member reorganized Ends Ends
| F RM Member reorganized Ignores Ignores
F SA Start of APYJRNCHG Ends Ends
F SR Start of RMVJRNCHG Ends Ends
F SS Start of save active Ignores Ignores
I All Ignores Ignores
J All Ignores Ignores
L All Ignores Ignores
M All Ignores Ignores
O All Ignores Ignores
P All Ignores Ignores
| Q All Ignores Ignores
R BR Before-image updated for Ignores Record updated with
rollback operation before-image
R DL Record deleted Record deleted Record updated with
before-image
R DR Record deleted for rollback Record deleted Record updated
operation
| R IL Increment record limit Ignores Ignores
R PT Record written to member Record written to member Record deleted from
member
R PX Record added directly to member Record added Record deleted from
member
R UB Record updated (before-image) Ignores Record updated with
before-image
R UP Record updated (after-image) Record updated with Ignores
after-image
R UR After-image updated for rollback Record updated with Ignores
operation after-image
S All Ignores Ignores
T All Ignores Ignores
U User- User entry Ignores Ignores
specified
1
The Flag field in the journal entry indicates whether the object is synchronized (0 = object was synchronized;
1 = object was not synchronized).
2
Applying journaled changes stops at this entry if referential constraints that this entry violates are active
during the apply operation.
In addition to the entries that cause the command to end, the system ends the
Apply Journaled Changes (APYJRNCHG) or Remove Journaled Changes
(RMVJRNCHG) command if any format error (such as an undefined entry for that
file member) or logical error (such as updating a record that has not been inserted
or a duplicate key exception) is encountered when the command is run.
For example, if the entry that caused the APYJRNCHG command to end is entry
code F of type RG, you must reorganize the physical file member referred to in the
journal entry. Use the same options that were originally specified on the reorganize
request when the journal entry was recorded in the journal receiver. Resume
applying journal changes by starting with the journal entry that follows the ’F RG’
reorganize physical file member journal entry.
| The Count field in the journal entry contains the number of journal entries that are
applied or removed.
| The system puts out a maximum of 8192 diagnostic messages from Apply or
| Remove Journaled Changes. If you have more than 8192 objects with which you
| are working, then looking in the journal at the journal entries is probably the best
| way to determine how many changes were applied to the objects.
For more information on the journal codes, entry types, and journal entries, see
“Appendix D. Journal Entry Information” on page 805.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 455
| Note: You cannot use this interface to assist with recovery if you are journaling
| object types other than database physical files and access paths.
Bottom
Selection or command
===>
All of the options are valid for local journals. Only option 9 is valid for remote
journals.
Recovery Options
When it is necessary to restore an object during the following recovery procedures,
the system prompts for the values that are needed with a prompt of the RSTOBJ
command. The values that are known for OBJ, SAVLIB, and OBJTYPE parameters
appear, but they cannot be changed. If the values for DEV, VOL, SAVF, SAVDATE,
SAVTIME, and OPTFILE can be determined by the system (depending on the
amount of damage), they are also filled in. If the values are not shown, you must
enter the values.
If more than one object is restored, the system groups the objects according to the
library specified in the SAVLIB parameter. Within each group, the system further
orders the objects according to the values that are specified for the DEV, VOL,
SAVF, SAVDATE, SAVTIME, OPTFILE parameters. This grouping results in a
minimum number of restore object prompts as a result of information known to
the system.
Note: If the object was saved to an optical device, only the first 6 characters of the
volume ID and the first 17 characters of the optical file name can be
determined.
Position to . . . . .
Library . . . . . .
Bottom
F3=Exit F12=Cancel
The Work with Forward Recovery display contains a status field for each file
member. The status field for each member indicates the following:
v NOT FOUND. The system cannot locate the specified database file.
v DAMAGED. The member is damaged and needs to be restored.
v NOT SYNCHRONIZED. The journal is inoperable, or the journal receiver that is
used for this member is damaged and needs to be restored.
v RESTORE COMPLETE. The restore of the member is complete.
v RECOVERED. Recovery has completed successfully.
v NOT JOURNALED. The member is not journaled to any journal and cannot be
recovered.
v DIFFERENT JOURNAL. The member is not journaled to the journal you are
working with.
v Blank. The member and the journal are usable and everything is synchronized.
Option 1 (Add member to list) on the display allows you to add a member to the
list. You may want to do this if you want to restore those members.
If any required receivers are missing or damaged while running the APYJRNCHG
command, the system displays prompts for the restore procedures for the missing
or damaged receivers.
If any of the members in the list have a status of DAMAGED when option 2 is
selected, you are prompted with the command necessary to recover the file
member. For files that are damaged, recovery involves the restore of the last save
that is followed by the Apply Journaled Changes (APYJRNCHG) command. The
system guides you through recovery as follows:
1. The system identifies all the logical files dependent on the specified damaged
file. The Dependent Logical Files display appears identifying these files.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 457
2. The dependent logical files are deleted.
3. The files to be recovered (or restored) are deleted by the system.
4. The system displays prompts for the restore of files to be recovered. After all
restores are completed successfully, the files to be recovered are allocated
exclusively to prevent any other processing. This allocation is maintained until
the recovery procedures are complete.
5. The system displays prompts for the restores of the dependent logical files.
6. An APYJRNCHG command is prompted with FROMENT(*LASTSAVE) and
TOENT(*LASTRST).
7. If the APYJRNCHG command encounters a required journal receiver that is not
on-line, the system prompts for the restore of the required receiver and again
starts the APYJRNCHG command.
When the recovery process is complete, the status field for the member indicates
RECOVERED (if the operation was successful). If the operation failed, the status
field remains unchanged, and messages appear indicating why the operation
failed.
Option 3 (Restore) prompts you for the files to restore. Use this option if any
members have a status of NOT FOUND. Members that are restored successfully
have a status of RESTORE COMPLETE. Members that are not restored keep their
old status. A message is sent indicating that the restore did not complete
successfully. All members that are restored are included in the list of members to
recover.
Note: The last save information is provided for the restore operation. If either of
the following are true, the RSTOBJ command must be used instead of option
3 (Restore):
v The device provided is tape, diskette, or optical and you choose to restore from
a save file (*SAVF).
v The device provided is a save file (*SAVF) and you choose to restore from tape,
diskette, or optical media.
Option 4 (Remove member from list) on the display removes file members from
the list of members to be recovered.
Position to . . . . .
Library . . . . . .
Bottom
F3=Exit F12=Cancel
Option 1 (Add member to list) on the display allows you to add a member to the
list.
If any members in the list have a status of NOT FOUND or DAMAGED when on
the Work with Backout Recovery display, the operation is not allowed. These
members must be recovered in a forward fashion after they have been restored.
Forward recovery of specific files must be used for this type of recovery.
Option 4 (Remove member from list) on this display allows you to remove file
members from the list.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 459
Display Journal Status
Attached Damage
Receiver Library Status
PAYJRNRCV2 PAYRCVLIB NONE
Bottom
Press Enter to continue.
F3=Exit F12=Cancel
If the last system end was abnormal, this display indicates whether the system
synchronized the journaled objects or not. This indicates if the system
synchronized each object in use during the abnormal end to match the entries in
the attached journal receiver during the previous initial program load (IPL).
If the last system end was normal, the display indicates that all objects are
synchronized with the journal. If the journal is damaged, the display indicates that
the system was unable to determine whether or not all objects are synchronized.
The display also presents information about the currently attached receiver and its
damage status. The damage status of the receiver can be NONE, PARTIAL, or
FULL. If the journal damage is such that the system cannot determine the status of
the attached journal receiver, no attached receiver shows on the display.
If some objects are not synchronized or damage has been detected, a message
appears indicating the form of recovery that you should perform.
Recovery for a damaged journal guides you through the following steps:
1. The system attempts to determine which files are currently being journaled to
the indicated journal. If the system cannot successfully build this list, a message
appears before the recovery operation begins.
2. Journaling, for all access paths that are currently being journaled to the
specified journal, is ended.
3. Journaling, for all files that are currently being journaled to the specified
journal, is ended .
4. The system deletes the journal.
5. The system presents the Recover Damaged Journal display, which asks you
whether to restore or create the journal:
The first display you usually see after the first status display is the Recover
Damaged Journal display. Use this display to choose whether the journal is to be
created or restored.
When the last step of the recovery process is complete, a message appears
indicating that all files for which journaling was started should be saved to
establish a new recovery point.
Note: If the damaged journal had any remote journals associated with it, use the
Add Remote Journal (QjoAddRemoteJournal) API or ADDRMTJRN
command to reassociate those remote journals. See “Adding a Remote
Journal” on page 474 for more information.
If there are damaged journal receivers associated with the specified journal, the
Recover Damaged Journal Receivers display appears and lists those receivers.
The status fields initially show a value of DAMAGED. After recovery has been
successfully completed, the status shows a value of RECOVERED (receiver
recovered).
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 461
Recovery for a damaged journal receiver guides you through the following steps:
1. If the attached receiver is damaged, you must run a CHGJRN to attach a new
receiver.
Indicate that you want create a new receiver. The system presents the
CRTJRNRCV command prompt for receiver name and attributes. After you
create the new receiver, the system shows the CHGJRN command prompt.
If the attached receiver is not damaged, the preceding step is omitted.
2. The damaged journal receiver is deleted.
3. Prompts for the restore of the damaged journal receiver is shown. Any of the
values on the prompt can be changed except the receiver name. Save
information in the prompt is provided by the system.
A journal receiver is associated with a journal if the journal receiver appears in the
journal receiver directory. A receiver that was previously attached to a journal but
is not currently associated with a journal cannot be used with the journal
commands, such as DSPJRN, APYJRNCHG, and RMVJRNCHG.
| A synchronization failure can occur if the data portion of the object is damaged,
| a journal receiver required to perform the synchronization is damaged, or the
| journal is inoperable.
Procedure for Abnormal System End Recovery: After an abnormal system end,
perform the following:
1. Perform a manual IPL.
| 2. Check the history log to determine if there are any damaged object, objects that
| are not synchronized, or any damaged journals or journal receivers.
3. If necessary, recover the damaged journals or journal receivers as described in
“Recovering When a Journal Is Damaged” on page 464 and “Recovering When
a Journal Receiver Is Damaged” on page 465.
| 4. If there is a damaged object:
| a. Delete the object.
| b. Restore the object from the latest saved version.
| c. Allocate the object so no one else can access it.
d. Restore the needed journal receivers from newest to oldest, if they are not
on-line.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 463
If a journaled access path is in use during an abnormal system end, that access
path does not appear on the Edit Rebuild Access Path display.
If the maintenance for the access path is immediate or delayed, the system
automatically recovers the access path during IPL. A status message appears for
each access path whose maintenance is immediate or delayed as it is being
recovered during an IPL. The system places a message (CPF3123) in the system
history log for each access path that is recovered through the journal during the
IPL. This message appears for access paths that are explicitly journaled and for
access paths that are protected by SMAPP.
For a description of the Work with Journals display, see “Work with Journal
(WRKJRN) Command Options” on page 455, or the WRKJRN command in the
online command help. To view the help, type WRKJRN on a command line, and
press F1.
| It is recommended that you use the Work with Journals (WRKJRN) command to
| recover a damaged journal if you are only journaling physical files and access
| paths to this journal. The WRKJRN command performs all the steps that are
described below except for saving the physical files and logical files. The WRKJRN
command associates the receivers with the recovered journals without you having
to delete and restore the receivers.
Use the following steps to recover a damaged journal without using the WRKJRN
command:
1. End journaling for all access paths associated with the journal by using the
ENDJRNAP command.
2. End journaling for all physical files associated with the journal by using the
ENDJRNPF command.
| 3. End journaling for all IFS objects by using the ENDJRN command.
| 4. End journaling for all other object types by using the ENDJRNOBJ command.
5. Delete the damaged journal by using the DLTJRN command.
6. Create a journal receiver (CRTJRNRCV command) and create a journal with the
same name and in the same library as the damaged journal (CRTJRN
command), or restore the journal from a previously saved version.
7. Start journaling the physical files that were journaled by using the Start Journal
Physical File (STRJRNPF) command.
8. Start journaling the access paths that were journaled by using the Start Journal
Access Path (STRJRNAP) command.
| 9. Start journaling IFS objects with the Start Journal (STRJRN) command.
| 10. Start journaling other object types with the Start Journal Object (STRJRNOBJ)
| command.
| Note: You can also restore your journaling environment by deleting and restoring
| all the objects that were being journaled. Objects that were journaled at the
| time of their save automatically begin journaling at restore time if the
| journal is on-line.
Each time a journal is restored, a new receiver chain is started because the last
journal receiver on the chain that existed prior to the restore process did not have
the newly created receivers as its next receivers.
Note: If the damaged journal had any remote journals associated with it, use the
Add Remote Journal (QjoAddRemoteJournal) API or ADDRMTJRN
command to reassociate those remote journals. See “Adding a Remote
Journal” on page 474 for more information.
| If the journal receiver is partially damaged, all journal entries except those in the
| damaged portion of the journal receiver can be viewed using the Display Journal
| (DSPJRN) command. Using this list, you can determine what you need to do to
| recover your objects. Applying or removing journal changes cannot be done with a
| partially damaged journal receiver.
It is recommended that you use the Work with Journals (WRKJRN) command to
recover a damaged journal receiver. For a description of the Work with Journals
display, see “Work with Journal (WRKJRN) Command Options” on page 455, or
the WRKJRN command in the online command help. To view the online help, type
WRKJRN at a command line, and press F1. The online help also contains a
description of the journal menus.
Chapter 20. Working with Journal Entries, Journals, and Journal Receivers 465
466 OS/400 Backup and Recovery V5R1
Chapter 21. Remote Journal Function
Introduction to the Remote Journal Function
| The remote journal function allows you to establish journals and journal receivers
| on a remote system that are associated with specific journals and journal receivers
| on a local system. The remote journal function can replicate journal entries from
the local system to the journals and journal receivers that are located on the remote
system after they have been established.
|
| Figure 38. Hot-Backup Environment without Remote Journal Function, and Application-Code Based Apply
|
| Figure 39. Hot-Backup Environment with Remote Journal Function, and Application-Code Based Apply
┌────S(T)
│ ┌───┐
│ │RJ1│
│ └───┘ Cascade Configuration
│ ---------------------
│
│
(S)─────┼────S(T) (S)──────────S(T) (S)──S ... ──S(T)
┌───┐ │ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐
│LJ │ │ │RJ2│ │LJ │ │RJ1│ │RJ2│... ...│RJn│
└───┘ │ └───┘ └───┘ └───┘ └───┘ └───┘
│ . (S)──────────S(T)
│ .
│ .
│ Remote journals that cascade to other remote journals.
│
│ ┌───┐
│ │RJn│
│ └───┘
└────S(T)
| A source system is a system where a journal resides and is having its journal
| entries replicated to a remote journal on a target system.
Note: A source system is not necessarily the primary system. For example, a
remote journal that is cascading its journal entries to another remote journal
is said to reside on a source system.
| A target system is a system where a remote journal resides and is receiving journal
| entries from a journal on a source system.
A remote journal network includes the local journal and all of the remote journals
that are downstream from that local journal. You can set up the remote journal
network in broadcast configuration, cascade configuration, or a combination of the
two configurations.
The following characteristics apply to local journals and to any journal receivers
that were attached to local journals:
v Objects can be journaled to local journals.
v Journal entries can be directly deposited to local journals. For example, the Send
Journal Entry (SNDJRNE) command or the Send Journal Entry (QJOSJRNE) API
can be used to send journal entries directly to a local journal.
The following characteristics apply to remote journals and to any journal receivers
that were attached to remote journals:
v Objects cannot be journaled to remote journals.
v Journal entries cannot be directly deposited to remote journals. For example, the
Send Journal Entry (SNDJRNE) command or API (QJOSJRNE) cannot be used to
send journal entries directly to a remote journal.
v Journal entries are only replicated to remote journals from an associated source
journal. A source journal is the journal on the source system to which a remote
journal has been added. A source journal can be either a local or a remote
journal.
v The information in the journal entries such as time stamps, system name, and
qualified journal receiver names reflect information as deposited in the local
journal for this remote journal network.
v The information in the journal receiver such as attach time and detach time
reflect the information as it is for the local journal for the remote journal
network.
| v Certain attributes of the remote journal are fixed and determined based on the
| source journal, such as the values for receiver size options and the values for
| minimize entry-specific data. These attributes for the remote journal cannot be
| changed except by changing the attributes for the source journal.
v Remote journals cannot be saved and restored to any release prior to V4R2M0.
The communications function that is identified by the RDB can be shared by other
activity. However, you may consider isolating the remote journal function activity
in order to have the best performance.
Only those receivers which have been attached to a journal, after V4R2M0 is
installed, will be allowed to be replicated by the remote journal function.
All journals that were created prior to V4R2M0 are considered local journals.
Information APAR II11476 contains a list of PTFs that enable other releases to work
with V4R4 in a remote journal network. Information APAR II12001 contains the
| same list of program temporary fixes (PTF) for V4R5. Information APAR II12556
| contains the same list of program temporary fixes (PTF) for V5R1.
Notes:
1. If you specify RCVSIZOPT(*MAXOPT1) on the journal that you attach a journal
receiver to, you cannot replicate the journal receivers to any remote journals on
any systems at a release prior to V4R5M0.
| 2. If you specify RCVSIZOPT(*MAXOPT2) on the journal that you attach a journal
| receiver to, you cannot replicate the journal receivers to any remote journals on
| any systems at a release prior to V5R1M0.
| 3. If you specified MINENTDTA for either *FILE or *DTAARA on the journal to
| which you attached a journal receiver, you cannot replicate the journal receivers
| to any remote journals on any systems at a release prior to V5R1M0.
Journals with high activity that require frequent saves and deletes of the associated
journal receivers during the day are also good candidates for the remote journal
function. The backup system can take over the journal receiver save processing,
and the primary system could specify the MNGRCV(*SYSTEM) and
DLTRCV(*YES) attributes. This would free up disk space on the primary system as
| quickly as possible. The backup system is the system where a replica of the
| original data is being maintained. The primary system is the system where the
| original data resides.
You may have applications that are so critical to your business that any downtime
will impact your operations. The application dependent data is a good candidate
to protect with the remote journal function. Application dependent data is any data
that a particular application would depend upon if that application were to be
interrupted and had to be restarted.
| For example, you may have a database that has a lot of query activity that impacts
| your system performance. That database is a good candidate to replicate to another
system so that the query activity moves to that system. The remote journal
function can assist in that replication.
The delivery mode defines how journal entries are replicated to a remote journal.
The delivery mode only applies when actively replicating the journal entries from
a journal on a source system to a remote journal on a target system. The delivery
mode can be either synchronous or asynchronous.
If the application dependent data is critical and the loss of journal entries would
impact your business, then you should use the synchronous delivery mode.
Synchronous delivery mode is only valid when activating a remote journal that is
associated with a local journal.
It may be acceptable that the remote system does not have all the journal entries as
they are being deposited or replicated into the source journal. If this is true, the
asynchronous delivery mode is a good choice to minimize the impact to the source
journaling throughput.
The choice of delivery mode and communications protocol are closely linked. Since
the synchronous delivery mode will affect the interactive users response time, the
faster the communications protocol the better. This again will be dependent on the
journal entry deposit rate.
You can also refer to “Journal Attributes for Remote Journals” on page 478 and
“Auxiliary Storage Considerations” on page 494 for more details.
| For more information on the APIs and commands that are described in the
| following sections, click the Programming topic in the Information Center at the
| following Web site: http://www.ibm.com/eserver/iseries/infocenter.
Note: The journal on the source system can be either a local or remote journal.
You can establish and associate a remote journal on a target system with a journal
on the source system by one of the following methods:
v Use the Add Remote Journal (QjoAddRemoteJournal) API on the source system.
v Use the Add Remote Journal (ADDRMTJRN) command on the source system.
See “Add Remote Journal Processing” on page 477 for additional details.
Note: The same remote journal can then have additional remote journals that
are associated with it that are located on other target systems. This is the
cascade configuration that is shown in Figure 40 on page 469.
v A maximum of 255 remote journals can be associated with a single journal on a
source system. This can be any combination of asynchronously maintained or
synchronously maintained remote journals.
The terms asynchronously maintained and synchronously maintained both
describe a remote journal function delivery mode for journal entry replication. If
a journal is asynchronously maintained, control is returned to the application
generating the journal entry on the source system without waiting for the
journal entry to be replicated to the remote journal. An asynchronously
maintained remote journal may lag several journal entries behind the total
number of journal entries in the journal on the source system.
If a journal is synchronously maintained, control is not returned to the
application generating the journal entry on the local system until the journal
entry is replicated to the remote journal.
v The remote journal will only have its attached receiver populated with journal
entries that are replicated from the corresponding journal receiver on the source
system. No journal entries can be directly deposited to a remote journal.
v The remote journal function is only provided for local journals with a single
attached receiver. Therefore, all remote journals will also only have a single
receiver attached.
“Remote Journal Type Descriptions” on page 476 describes the various types of
remote journals that can be added, as well as a description of their redirection
characteristics.
If redirection is not specified, then the remote journal will reside in a library that
has the same name as the library that contains the source journal.
Note: Library redirection for the journal object must be specified when replicating
the journal entries to a target system for any journal starting with the letter
Q in a library starting with Q. This does not apply to the QGPL library. This
restriction prevents collisions between local and remote journals that are
used for system functions. One example of this is journal QAUDJRN in
library QSYS which is used for security auditing.
If no redirection is specified for the journal receiver, then the remote journal
receiver will reside in a library whose name is the same as the library for the
source journal receiver. For example, the source journal has two receivers that are
associated with it, receiver RCV0001 in library LIBA, and receiver RCV0002 in
library LIBB. If no journal receiver library redirection is specified, then the journal
entries in RCV0001 in library LIBA on the source will be replicated to RCV0001 in
library LIBA on the target system. The journal entries in RCV0002 in library LIBB
on the source will be replicated to RCV0002 in library LIBB on the target system.
Therefore, both libraries, LIBA and LIBB, will need to exist on the target system
prior to the invocation of the remote journal function. If journal receiver library
redirection is specified with a redirected receiver library specification of RMTLIB,
then both RCV0001 and RCV0002 would be in library RMTLIB on the target
system.
For *TYPE1 remote journals, the library redirection or the selection of no library
redirection for the journal and journal receivers can only be modified by doing the
following:
v Remove all *TYPE1 remote journals.
v Change the local journal and attach a new journal receiver.
v Delete the remote journal from the target system.
v Add the *TYPE1 remote journal, specifying the new library redirection, if any.
For *TYPE2 remote journals, the library redirection or the selection of no library
redirection for the journal and journal receivers can only be modified by doing the
following:
v Remove the *TYPE2 remote journal.
v Delete the remote journal from the target system.
Note: There are no performance differences between the types of remote journals.
Table 67. Journal Types and Associated Characteristics
Journal Type
Local Remote
Remote Journal Type N/A *TYPE1 *TYPE2
Remote Journal Types That *TYPE1 *TYPE2 *TYPE1 *TYPE2 *TYPE2
Can Be Added
Remote Journal Name N/A Journal name must be the Journal name may be
same as the local journal. different from the source
journal.
Journal Library Redirection N/A Journal library name may A given redirected library
be redirected to a single may be specified when
different library from that adding a remote journal.
of the local journal. All Subsequent adds of *TYPE2
*TYPE1 remote journals remote journals may
associated with a given specify a different library
local journal must reside in redirection than was
the same named library. specified on any previously
added remote journal.
Journal Receiver Library N/A Receiver library name may A given redirected library
Redirection be redirected to a single may be specified when
different library from that adding a remote journal.
of the receivers associated Subsequent adds of *TYPE2
with the local journal. remote journals may
specify a different library
redirection than was
specified on any previously
added remote journal.
Journal Receiver Library N/A The target library used The target library used
Redirection Used on when replicating a receiver when replicating a receiver
Activate from the source journal to from the source journal to
this remote journal will this remote journal will
reflect the library reflect the library
redirection that was in redirection that is currently
place for the receiver, if defined for the target
any, at the time the receiver journal.
was attached to the source
journal.1
1
If the journal receiver was attached to a journal when no remote journals were added, then no library
redirection is assumed for that journal receiver if that receiver is specified during activation. Therefore, the
journal receiver will be created in the same library on the target system as it is on the local system.
2
A journal receiver from any system in the remote journal network may always be restored to any system if
the receiver is being restored into the original or redirected receiver library. Otherwise, receivers can always
be restored to any system and associated with a local journal if a local journal by the same name as the
original local journal is found residing in the same named original local journal library.
See “Save and Restore Considerations” on page 500 for more information.
The following is the input that you must provide to add a remote journal to a
source journal:
1. The journal name and library on the source system to which the remote journal
is being added.
2. The remote journal name and library on the target system that is being added.
3. A relational database directory entry, which identifies the target system and
other necessary communications information.
4. The type of remote journal to be added.
5. Optionally, the journal or journal receiver library redirection.
6. Optionally, the values for the journal message queue, text, and delete receivers
attributes to be applied to any newly created remote journal.
Some of the processing which takes place as part of adding a remote journal is as
follows:
v A user profile with the same name as the user profile which is adding a remote
journal must exist on the target system. A check is performed on the target
system to verify that the user profile exists. If the profile does not exist on the
target system, then an exception is signaled, and the processing ends.
v A check is performed to verify that the target system has a library by the same
name as the library for the journal on the source system. If the library does not
exist on the target system, then an exception is signaled, and the processing
ends.
If a journal was found, but does not meet the above criteria, then an exception is
signaled, and the processing ends. Otherwise, the remote journal is used for the
rest of the add remote journal processing.
v If no journal is found on the specified target system, then a remote journal is
created on the target system. The new remote journal has the same
configuration, authority, and audit characteristics of the source journal. The
journal that is created has a journal type of *REMOTE.
The creation of the journal on the target system is performed as though the
journal was being saved and restored to the target system. Therefore, the
ownership of the journal on a target system will follow the same rules as with
the existing save and restore functions. If the user profile which owns the
journal on the source system is on the target system, then that profile will own
the created journal on the target system. If the user profile does not exist on the
target system, then the profile QDFTOWN will own the journal on the target
system.
Additionally, if the remote journal is created, the values for the journal attributes
of text, journal message queue and delete receivers will be taken from what is
specified on the API invocation. After the remote journal has been created, these
values can be changed by using the Change Journal (CHGJRN) command for the
remote journal on the remote system. After the remote journal is created, any
changes to these attributes on the source journal will not cause equivalent
changes to the remote journal. See “Journal Attributes for Remote Journals” for
more information.
v When adding the remote journal, you must specify the type of remote journal to
add. The remote journal type influences the library redirection rules and other
operational characteristics for the journal. See “Remote Journal Type
Descriptions” on page 476 for more information.
The remote journal does not have an attached journal receiver after the add remote
journal processing completes. In addition, the journal state for the remote journal is
set to *INACTIVE. A journal state of *INACTIVE means that the remote journal is
not ready to receive any journal entries from the journal on the source system.
During this time, journal entries can continue to be deposited or replicated into the
journal on the source system. However, no entries are replicated to the newly
added remote journal until you activate that remote journal. (You activate the
remote journal by using the Change Journal State (QjoChangeJournalState) API or
the Change Remote Journal (CHGRMTJRN) command.) Refer to “Activating the
Replication of Journal Entries to a Remote Journal” on page 480 for further details.
Activating a remote journal means starting and then maintaining the replication of
journal entries from a source journal to a remote journal. Activating a remote
journal always occurs from the source system.
If this is the first time the remote journal is being activated, activating a remote
journal creates one or more journal receivers on the target system. Activating the
remote journal also establishes the connection between the source and remote
journal so that journal entry replication can begin.
If the remote journal has previously been activated, the creation of additional
journal receivers may or may not be required on the target system. This would
occur prior to establishing the connection between the source and remote journal
so that journal entry replication can resume.
In order to activate the replication of journal entries to a given remote journal, the
following must be true:
v The remote journal that you wish to activate must not have a journal state of
*ACTIVE. For instance, this might seem to be a reasonable request if you wanted
to simply change the delivery mode from synchronous to asynchronous.
However, the remote journal must be inactive before you can activate it.
v The remote journal that you wish to activate must not be actively replicating
journal entries to other remote journals, as in a cascade configuration. You must
inactivate the remote journals that are immediately downstream before
activating the remote journal.
You need to provide the following input in order to activate the replication of
journal entries to a remote journal on a target system:
v The journal name and library on the source system from which journal entries
will be replicated.
v The remote journal name and library on the target system to which journal
entries will be replicated.
v A relational database directory entry, which identifies the target system and
other necessary communications information.
v The delivery mode to be used.
Specify either synchronous or asynchronous delivery mode.
Journal entries can be replicated to the target system either synchronously or
asynchronously. Synchronous delivery means that the journal entry is replicated
to the target system concurrently with the entry being written to the local
receiver on the source system. The entry is known on the target system, in main
Note: There are certain circumstances, when using synchronous mode, where
journal entries may not be immediately available for retrieval from the
target system.
– Some entries that are not required for data recovery may not be
| immediately available for retrieval from the target system. For example,
| journal entries for a file close (journal code ’F’, entry type ’CL’) or a
| stream file open, (journal code ’B’, entry type ’OF’).
– User-generated journal entries that use the Send Journal Entry
(SNDJRNE) command or the Send Journal Entry API (QJOSJRNE) may
not be immediately available for retrieval. If either you, or your
application, do not request to force these user-generated entries they
will only be replicated to the remote journal when some other action
forces them. Therefore, you should periodically specify FORCE(*YES)
when using the send journal entry functions.
– Journal entries that are associated with commitment control
transactions may not be immediately available for retrieval from the
remote system. These entries will be retrievable after the following
journal entries have been deposited into the source journal:
- Journal code ’C’, journal entry type ’CM’ (Commit)
- Journal code ’C’, journal entry type ’RB’ (Rollback)
Refer to “Retrieving Journal Entries with Commitment Control
Considerations” on page 507 for more information.
Journal entry latency may occur when remote journals are asynchronously
maintained. Journal entry latency is the difference between the journal entries
that exist in the remote journal on the target system from those residing in the
journal on the source system. From a recovery standpoint, the source system
may be some number of journal entries ahead of what journal entries are known
on the target system.
v The point in the chain of journal receivers where the replication of journal
entries should start.
Note: The activation of the remote journal can be a long running process. This
may occur if there are a large number of journal receivers and entries that
initially must be caught-up in the remote journal.
The creation of any receiver on the target system by the change journal state
processing is performed as though the receiver was being saved and restored to
the target system. Therefore, the ownership of the receiver on a target system
will follow the same rules as with the existing save and restore functions. If the
user profile which owns the receiver on the source system is on the target
system, then that profile will own the created receiver on the target system. If
the user profile does not exist on the target system, then the profile QDFTOWN
will own the receiver on the target system.
If the library for the journal receiver resides in an ASP, the journal receiver will
be created in that ASP. See “Journal Receiver ASP Considerations” on page 511
for more information.
Note: The remote journal function does not support nonlibrary ASPs for the
ASP of the remote journal receiver.
v If an asynchronous delivery mode was specified, then the sending task priority
may also be specified. If a value is not specified, the system selects a default
priority, which is higher than what the user can specify for this value.
Note: Setting this value too large may cause a greater journal entry latency or
lag.
The catch-up phase is the most efficient method of transporting journal entries to a
remote journal in bulk.
After the system transitions a given remote journal to either the synchronous or
asynchronous remote journal function mode, the system continues to maintain that
mode. This continues until the remote journal function is inactivated for that
remote journal by using the Change Journal State (QjoChangeJournalState) API or
Change Remote Journal (CHGRMTJRN) command, or a failure occurs. See
“Inactivating the Replication of Journal Entries to a Remote Journal” on page 485
for more information on inactivating remote journals. See “Troubleshooting Errors”
on page 491 for more information on the possible failure conditions.
For more information on journal receiver directory chains, see “Journal Receiver
Chains” on page 440.
However, the following are some other differences for remote journals and the
journal receivers that were attached to remote journals:
v A remote journal does not have to have a currently attached journal receiver. If
the remote journal is ready to receive journal entries, then it must have an
attached receiver. All the journal entries will be replicated to that attached
receiver.
v The receiver that is currently attached to a remote journal that is in the catch-up
phase can be a different journal receiver than is currently attached to the source
journal.
The receiver that is currently attached to an asynchronously maintained remote
journal can be a different journal receiver than is currently attached to the source
journal.
The receiver that is currently attached to a synchronously maintained remote
journal will be the same journal receiver as is currently attached to the source
journal.
v The journal receiver that is attached to a remote journal can be deleted if the
journal state of that journal is not *ACTIVE.
v You can delete the journal receivers that are associated with a remote journal in
any order, regardless of their position within the receiver directory chain.
v The creation date and time stamps for remote journals are always those of the
system on which the journals were created by the remote journal function. This
is also true for journal receivers that were attached to remote journals.
v The save and restore date and time stamps for remote journals are always those
of the system on which the save or restore operation took place. This is also true
for the journal receivers that are associated with the remote journals.
v The attach and detach time stamps for a journal receiver that was attached to a
remote journal are always those of the attach and detach time stamps of the
local journal receiver.
v When a journal receiver that is associated with a remote journal is saved, deleted
or restored, the following journal entries are not deposited:
– J RD - Journal receiver deleted
– J RF - Journal receiver saved, storage freed
– J RR - Journal receiver restored
– J RS - Journal receiver saved
If the change journal operation fails on the target system, the remote journal
function ends for that remote journal, and processing continues on the source
system. The system sends a message to the journal message queue that indicates
that the remote journal function failed. When applicable, the system sends remote
journal failure type messages to the related journal message queues on both the
affected source and target systems. See “Troubleshooting Errors” on page 491 for
more information.
A change journal operation to attach a new receiver cannot be initiated directly for
a remote journal. New journal receivers are always attached to the remote journal
by the remote journal function as new receivers are attached to the local journal.
However, a change journal operation can be performed on a remote journal to
change several other attributes for the remote journal such as the journal message
queue or delete receivers value.
A change journal operation to attach a new receiver to a local journal that has an
associated remote journal in the catch-up phase can be performed. This is
regardless of whether the remote journal is currently being caught-up from a
detached or the currently attached receiver on the local system. The catch-up phase
of processing will not transition into synchronous or asynchronous delivery mode
until the end of the currently attached receiver for the local journal is reached.
3. Switch-over describes the processing that is performed by a hot-backup application to logically promote a backup system to
assume the role of a primary system.
4. Switch-back describes the processing performed by a hot-backup application to allow the primary system to reassume its role
from a previously promoted backup system.
Note: There are some exceptions to the rule that no journal entries may be
deposited in a journal which has a journal state of *INACTIVE. Table 110 on
page 807 lists which journal entries will still be deposited even though the
journal is inactive.
You can change the journal state for a local journal to *INACTIVE at any time,
with the following exceptions:
1. If any commitment control transaction that is associated with the journal has
any pending changes. This would include database files that are journaled to
the local journal that was opened under commitment control with pending
changes. This would also include API commitment control resources that use
the journal.
2. If any restore operation is in progress on the system.
The journal state describes an attribute for a journal. The attribute value can be
either *ACTIVE or *INACTIVE. For a local journal, *ACTIVE indicates that journal
entries are currently allowed to be deposited into the journal. *INACTIVE indicates
that journal entries are not allowed to be deposited.
The journal state for a remote journal on a target system that is associated with a
journal on a source system can be viewed in one of two ways.
When viewed from the source system, *ACTIVE indicates that journal entries are
currently being replicated to that remote journal on the target system. *INACTIVE
indicates that journal entries are not currently being replicated.
When viewed from the target system, *ACTIVE indicates that journal entries are
currently being received from the journal on the source system. *INACTIVE
indicates that the target journal is not ready to receive journal entries from the
source journal.
Table 68. Summary of the Journal Type, Delivery Mode and Journal State Interactions
Journal Type Delivery Mode Journal State Comments
| *LOCAL N/A *ACTIVE Objects journaled to the local journal can be changed,
| and entries can also be deposited into the local journal
| using the Send Journal Entry (SNDJRNE) command or
| the Send Journal Entry (QJOSJRNE) API interfaces. The
currently attached journal receiver may or may not be
currently replicated to one or more remote journals. This
depends upon whether any remote journals have been
added to the local journal’s definition, and if so, the
current journal state for each of those remote journals.
When using either of these methods, the replication of journal entries to the remote
journal to be removed cannot be currently active. If the remote journal state is
*ACTIVE, use the Change Journal State (QjoChangeJournalState) API or Change
Remote Journal (CHGRMTJRN) command to inactivate the replication of journal
entries to the remote journal.
The remote journal, and any associated journal receivers, are not deleted from the
target system when you use the Remove Remote Journal
(QjoRemoveRemoteJournal) API or RMVRMTJRN command. Neither method
initiates any processing on the target system. Once the remote journal is removed
from the journal on the source system, you are responsible for deleting the remote
journal and associated journal receivers, if desired.
You can add this remote journal back to the remote journal function definition for
the journal on the source system. Use the Add Remote Journal
(QjoAddRemoteJournal) API or ADDRMTRJN command.
Once a remote journal is removed, the journal receivers are no longer protected
from deletion. See “Preventing Journal Receiver Deletion” on page 479 for more
information.
The following is the input that you must provide to remove a remote journal on a
target system:
Troubleshooting Errors
Several different error conditions can occur when the remote journal function is
active. When an error condition is encountered, the system automatically ends the
remote journal function on the source system to that remote journal. The system
notifies you that a failure occurred. Failure notification is made on both the source
system and the target system. Notification is made by sending a message to the
journal message queues associated with the source and target journals as
appropriate.
In some cases where the source system fails, you may have to inactivate the remote
journal on the target system. (You inactivate the remote journal on the target
system by using the Change Journal State (QjoChangeJournalState) API or the
CHGJRN command.) For a synchronously maintained remote journal, inactivating
the remote journal on the target system will discard all unconfirmed journal
entries. See “Confirmed and Unconfirmed Journal Entries” on page 508 for more
information.
Note: The source system may not detect that an error has occurred on the target
system until the next time a journal entry is replicated to that failing target
system.
Additional messages can be sent to the journal message queue for normal remote
journal processing. For example, if you requested a controlled inactivate of the
remote journal, a message will be sent to the message queue when the inactivate
processing has completed.
Note: Even though the remote journal function has been ended, the local journal is
not automatically inactivated. Therefore the local system journal entry
deposits will continue normally.
The remote journal function messages that are sent to the journal message queue
are listed below.
CPF70D3
A controlled inactivate of a remote journal has completed.
CPF70D4
The remote journal function is no longer active due to various reasons. For
a synchronously maintained remote journal, there may be unconfirmed
entries which may need to be processed prior to the remote journal being
inactivated.
CPF70D5
The remote journal function is no longer active and has been ended due to
various reasons. There are no unconfirmed entries.
CPF70D6
The remote journal function was ended due to storage constraints.
Performance Considerations
There are two main performance objectives for the remote journal function. To
provide a timely delivery of journal entries to a target system and to minimize
impacts to the journaling throughput on the source system. Even though both
aspects are very important for both synchronous and asynchronous delivery
modes, each mode prioritizes the two in a different order. The top priority for
synchronous delivery mode is a timely delivery of journal entries. For
asynchronous delivery mode, the top priority is to minimize impacts to journaling
throughput.
All performance considerations that are currently used for a local journal still
apply and should continue to be employed. See “Journaling and System
Performance” on page 394 for information on local journaling performance. The
following are additional factors that may affect the performance of the remote
journal function. The factors are listed in the order of importance.
1. Transport method
Either the OptiConnect for OS/400 bus transport or a communications
transport could be considered when using a synchronous delivery. However,
depending on the rate of the journal activity, the OptiConnect for OS/400 bus
transport may be the most suitable method and asynchronous transfer mode
(ATM) may be a good alternate. You will have to weigh the response time
impacts of the synchronous delivery mode in your environment against the
communications overhead of the transport methods.
Either the OptiConnect for OS/400 bus transport or a communications
transport could be considered when using an asynchronous delivery. A
communications transport will have to be used when replicating journal entries
over a long distance. The most important performance factors regarding a
communications transport method are the overall rated speed of the
communications resource and any existing traffic already using the
communications resource.
2. Number of remote journals that are being maintained
With respect to the job performing the journal entry deposit, the impact of the
remote journal function increases by an equal factor for each remote journal
that is added. For example, if you have three synchronously maintained
journals, the impact to the job is three times that of one synchronously
maintained journal.
However, the impact to the job performing the journal entry deposit for an
asynchronously maintained journal is significantly less than that for a
synchronously maintained journal.
Note: The catch-up processing that is performed by the remote journal function is
the most efficient method of replicating the journal entries with the remote
journal function.
1. Total number of bytes for all of the journal entries that need to be caught up
The larger the total size, the longer the catch-up phase will run.
2. Transport method
In general, an OptiConnect for OS/400 bus transport method will outperform a
communications transport method. The difference depends on the exact
configuration and type of communications method to be used.
3. Disk protection on the target system
At high data transfer rates, disk units with device parity protection in the ASP
on the target system can limit the performance of the catch-up phase. One
example of this is when you use the OptiConnect for OS/400 bus transport
method. Having mirrored or unprotected disk units in the ASP on the target
system would eliminate this effect.
4. CPU utilization on the source system
The higher the CPU utilization of the source system, the greater the chance of
affecting the performance for the catch-up phase.
5. CPU utilization on the target system
The higher the CPU utilization of the target system, the greater the chance of
affecting the performance for the catch-up phase.
For additional information see the Redbook AS/400 Remote Journal Function for
High Availability and Data Replication (SG245189-00).
See “How You Can Reduce the Storage Used by Journaling” on page 397 for more
information on ways to reduce the auxiliary storage usage.
If the target system is not working for any extended period of time, enough
auxiliary storage on the source system is needed to keep the journal receivers
on-line. This will be required until the target system becomes available.
Providing greater amounts of main storage in the *BASE main storage pool on the
target system will improve remote journal performance. This is especially true in a
remote journal network with a high volume of activity. The additional storage will
keep the number of page faults to a minimum, and reduce the impacts to the
target system.
|
| Figure 41. Typical Data Replication Environment with Remote Journal Function
| Local objects on system S1 are journaled to local journal JRN in library JLB1. A
remote journal is defined on system S2, where JRN has been redirected to library
JLB2. This remote journal is receiving journal entries from the local journal on
| system S1. A hot-backup application apply is replaying the changes to the data
| replica on system S2. The data replica is journaled to a local journal, JRN in library
| JLB1, for system recovery purposes only. If system S2 was to fail, the system would
| perform recovery for the objects by using this local journal.
Recovery complications can be prevented in the cases where a user does not
| switch-over to the backup system. What prevents them is an assumption that the
| hot-backup application apply logic will not receive and replay unconfirmed journal
| entries to the data replica if system S2 loses communications with system S1. In all
| cases where system S1 fails, a switch-over to S2 is not performed, and the
| unconfirmed journal entries are not replayed to the data replica. Therefore, the
| data replica on system S2 can never ’get ahead’ of the data on system S1. This
| greatly simplifies data synchronization. See “Confirmed and Unconfirmed Journal
Entries” on page 508 for a discussion on unconfirmed entries.
Hot-Backup Environment
Figure 42 on page 498 describes a typical remote journal environment that is used
for hot-backup purposes.
For each journal which has remote journals associated with it, use the following
command: WRKJRNA JRN(library-name/journal-name) OUTPUT(*PRINT).
Additionally, to get the related relational database information, use the following
command: WRKRDDIRE RDB(*ALL) OUTPUT(*PRINT).
Remember to do this for all cascaded remote journals as well, not just the local (or
primary) system.
The traffic rate for work other than the remote journal function may increase on a
communications method that is shared. If this occurs, you may need to consider
separating the various pieces of communications traffic so that the remote journal
function is not impaired. This is especially important if you are using the
synchronous delivery mode.
An application that is being protected may become more critical to your business,
where any time that the system is not working is considered disastrous. If this
occurs, you may need to consider upgrading that application’s remote journal to
using the synchronous delivery mode so that no journal entries are lost.
If you plan to off-load the save overhead to the backup system, the journal
receivers can be quickly deleted from the primary system after they have been
replicated to the backup system. Consider using the DLTRCV(*YES) attribute to
have the system manage this delete processing. On your backup system you could
use the DLTRCV(*NO) attribute on the remote journal and manage the receiver
| save processing as you did before. Remember that the source journal receiver
| cannot be deleted until it has been replicated to all associated remote journals. If
you had cascaded remote journals, you may want to use the DLTRCV(*YES)
attribute on the local journal, and on the lowest level remote journal. You would
use DLTRCV(*NO) on the cascaded remote journal since you plan to do your save
processing on that system.
Note: The change journal processing for a remote journal is driven by the source
journals change journals. See “Attaching a New Receiver to a Remote
Journal” on page 486 for more information.
Follow the basic save and restore rules for journals that are listed here:
1. A saved local journal is always restored as a local journal.
2. A saved remote journal is always restored as a remote journal.
3. As with all prior save and restore support for journals, the support will not
allow a restore-over operation for a journal. This is true for both local and
remote journals.
Note: This is always true except in the case where the journal was saved from
library QRCL. (The journal could reside in library QRCL due to prior
Reclaim Storage processing.) In that case, the RSTLIB parameter must be
specified on the restore request, and you must specify the library where
the journal originally resided. For a local journal, this is existing support
and is not new. For a local journal, the library that must be explicitly
specified is the original library.
This support logically extends to remote journals. For a remote journal, the
redirected library must be explicitly specified on the RSTLIB parameter of the
restore request.
5. If remote journals are associated with a journal when a journal is saved, the
information that is related to the added remote journals is also saved.
When the journal is restored, the information that is saved about its remote
journals is also restored. This information is included as part of that journal’s
definition. This is true whether the journal being saved is a local or a remote
journal. When restored, the restored journal’s definition will only include the
saved, immediately downstream remote journal definitions.
Note: None of the actual downstream remote journals are actually verified as
part of the restore operation. Any necessary validation of the remote
journal information occurs when you activate that particular remote
journal by using the Change Journal State (QjoChangeJournalState) API
or Change Remote Journal (CHGRMTJRN) command.
6. Local journals are always restored in the active state. The following are the
reasons behind this design point:
| a. When you restore journals and journaled objects at the same time, it allows
| the system to successfully start journaling for those restored objects. The
| system cannot successfully start journaling for journals and journaled
| objects that are restored in the inactive state.
b. It also follows the logic that a restore of a journal is similar to the create of
a journal. Local journals are always created in the active state.
N to N-1 Save and Restore Considerations for Journals: The following are
considerations when performing a save of a journal and the target release is prior
to V4R2M0:
v If the journal is a remote journal, it cannot be saved.
v If the journal is a local journal, it will be saved, but the remote journal related
information will be removed. This includes information about downstream
remote journals.
Figure 43. Journal Receiver Restore Characteristics and Remote Journal Types
There are several unique rules which govern where the journal receivers that are
associated with a remote journal can be restored. The rules also address the
placement of the journal receivers in the receiver directory chain of a local or
remote journal. These rules are influenced by the remote journal type of the journal
to which the journal receiver was attached. These rules are also influenced by the
library redirection that was in effect when that receiver was attached. See “Remote
Journal Type Descriptions” on page 476.
The following items describe the rules that are used by the system when restoring
journal receivers:
1. The system first attempts to find an appropriate remote journal. When
searching for a remote journal, the following rules are used:
a. If the saved receiver was originally associated with a local or *TYPE1
remote journal, then search for a *TYPE1 remote journal.
1) If a *TYPE1 remote journal was defined at the time this receiver was
attached, then use the journal and receiver library redirection that was
in effect and saved with the receiver. If no *TYPE1 remote journal was
defined at the time this receiver was attached, then the original journal
library and receiver library names will be used when searching for the
*TYPE1 remote journal.
Note: When receivers are saved from or restored to a target system and associated
with a remote journal, no journal entries are deposited to indicate that the
save or restore occurred. However, the object save and restored date and
time stamps are updated accordingly.
N to N-1 Save and Restore Considerations for Journal Receivers: The following
are considerations when performing a save of a journal receiver and the target
release is prior to V4R2M0:
v If the journal receiver is associated with a remote journal, it will be saved, but
the remote journal related information will be removed.
| The system will send a diagnostic message for any object in which the ’object
| restored’ journal entry could not be sent due to a problem with the journal or
| attached journal receiver. The system always attempts to start journaling for an
| object that was journaled at save time to the same named journal, in the same
| named library, during a restore operation. This is still true, and there are no
Note: This is a fundamental reason to use library redirection for all defined remote
journals.
A related case can potentially cause trouble. In this case, the system was also
restored using SAVSTG media. However, the system it was restored to was not the
same physical system but it still had the same name as the system from where the
media was produced. You should avoid duplicating this situation.
The following journal entries will show the name of the journal receiver as it was
on the local system even if the entry is displayed on a remote system. This is
because these entries really apply to the version of the journal receiver that existed
on the local system.
v J PR - Previous Receiver entry
v J NR - Next Receiver entry
v J RD - Receiver Deleted
v J RR - Receiver Restored
v J RS - Receiver Saved
v J RF - Receiver Saved with storage Freed
v Object saved entries - See Table 137 on page 850 for a list of the possible entry
types.
v Journal changes applied entries - See Table 115 on page 822 for a list of the
possible entry types.
v Journal changes removed entries - See Table 115 on page 822 for a list of the
possible entry types.
You can activate and inactivate the remote journal function while concurrently
running the following commands to view journal entries on the target system:
v Display Journal (DSPJRN)
v Retrieve Journal Entry (RTVJRNE)
v Receive Journal Entry (RCVJRNE)
v Retrieve Journal Entries (QjoRetrieveJournalEntries) API
Once the catch-up phase is completed, these inconsistencies will be resolved, and
complete information will again be available.
Interspersed local journal I/O, for journal entries not associated with a
commitment control transaction, can also affect when the journal entries associated
with a commitment control transaction can be retrieved from the remote journal. In
this I/O a job actually waits for the local journal I/O to complete. This
interspersed local journal I/O will also cause the journal entries related to the
commitment control transaction to be replicated to the remote journal. Once in the
remote journal, and when later remote journal I/O makes them confirmed, the
journal entries that are related to the commitment control transaction are
retrievable.
Note: These considerations would also apply to any user generated entries that
use the Send Journal Entry (SNDJRNE) command or API (QJOSJRNE). If the
application or user never requests to force these user generated entries, they
will only be replicated to the remote journal when some other action forces
the journal entries. Therefore, you will wish to periodically specify
FORCE(*YES) when using these send journal entry functions.
| These considerations also apply to any database physical file open or close journal
| entries; or directory or stream file open, close, or force entries.
For a remote journal that is maintained asynchronously, all entries are confirmed
entries. For a remote journal that is maintained synchronously, there are both
confirmed and unconfirmed entries. Unconfirmed entries will only become
important if you are using the remote journal support for a hot-backup or data
replication environment, and the source system has a failure such that the target
system will take over processing.
Confirmed journal entries are journal entries replicated to a target system, and the
state of the I/O to auxiliary storage for the same journal entries on the primary
system is known to have completed.
Unconfirmed journal entries are entries replicated to a target system, but the state
of the I/O to auxiliary storage for the same journal entries on the primary system
is not known. Unconfirmed entries only pertain to remote journals that are
maintained synchronously. The remote I/O to the remote journal is overlapped
with the local I/O to the local journal for better performance. Such journal entries
on the target system are held in the data portion of the journal receiver. However,
the journal entries are not officially included with the remainder of the journal
entries until the confirmation of the I/O for the same entries is received from the
primary system. For performance reasons, confirmation of these entries is not
typically sent to the target system until some later delivery of journal data to the
target system.
While the journal entries are unconfirmed on a target system, the entries typically
cannot be retrieved from the remote journal. You can retrieve the journal entries by
using the INCENT(*ALL) parameter on the DSPJRN, RTVJRNE, or RCVJRNE
commands. You can also retrieve the journal entries by specifying *ALL for the
When a remote journal is inactivated, all unconfirmed entries are removed from
the remote journal. It is important that those entries are retrieved prior to the
remote journal being inactivated, if those entries are desired for additional
processing on the backup system. The message that is sent to the journal message
queue when the remote journal is inactivated by the system will indicate if the
remote journal has any unconfirmed journal entries. See “Troubleshooting Errors”
on page 491.
IPL Considerations
When a system that has a local journal ends either normally or abnormally, the
subsequent IPL processing ensures that the journal state for the journal is the same
as it was when the machine ended.
| Likewise, if the system ends with the data being actively changed, the system will
| also deposit the object in-use entry into any local journal regardless of the journal
| state. See Table 123 on page 824 for a list of possible object in-use journal entries.
| The flag indicator in the in-use journal entry also indicates if the system was able
| to successfully reconcile the local journal with the object during the IPL processing.
An Entry Not Journaled exception (CPF7003), with reason code 10, will be signaled
to any program performing an operation that attempts to generate a journal entry
into an inactivated local journal during IPL processing. Journal entry deposits will
not be possible until the local journal is activated after the IPL by the Change
Journal (CHGJRN) command or Change Journal State (QjoChangeJournalState)
API. This restriction does not cause a problem for commitment control recovery
processing that normally occurs during an IPL. A local journal cannot be
inactivated if there are any open commitment control transactions that are
associated with the journal. Therefore, no commitment control recovery processing
will ever be necessary during an IPL for an inactivated local journal.
| This effectively means that IPL recovery on a primary system may preserve
| changes that were not replicated to any of the remote journals, even the
| synchronously maintained remote journals. “Example: Remote Journal Function
Recovery” on page 511 demonstrates that journal entries that survive a system
failure in this manner can be accounted for using the remote journal function.
| These journal entries will not cause a total re-priming of the original data when
| switching-back from a backup system which took over the role of the primary
| system.
Application programs that were in the process of generating such surviving journal
entries never had control returned to them. From the application’s perspective, it
truly is not known if the operation completed or not. No dependencies or
decisions could have been made on such operations. This includes dependencies or
decisions by the application performing the operation, or any other application that
could be possibly dependent upon the data affected by the operation.
This means that the strategy that is discussed in “Example: Remote Journal
Function Recovery” on page 511, of backing out such operations is acceptable.
Note: If the remote journal receiver is in an ASP with fewer disk arms then the
source journal receiver, then performance may be impacted. This is because
the disk arms for the remote receiver will be moving considerably more
than the disk arms will be moving for the source receiver. Therefore, we
recommend that the number of disk arms is the same on the source and
remote journal receivers ASPs.
Likewise, the journal receiver on the source system may be in an ASP that has
fewer disk units than the ASP that contains the remote journal receiver. If this
occurs, the remote journal receiver will not take advantage of all possible disk
units on the target system.
| Note: The following examples only discuss database physical files. All the
| concepts, however, apply to any journaled object type.
For simplicity, the scenario below treats DB as a single database file and DB’ as its
replica.
Note: The following hot-backup recovery strategy does not require that both the
before- and after-journal images are journaled to the local journal. However,
if any hot-backup recovery strategy has the hot-backup application apply
resynchronization processing back out in-flight changes during the
switch-back to the primary system, then they may be required. This will
become more clear after working through the following recovery scenario.
Figure 45 on page 514 shows the state of the journals and data at the time of the
failure:
| At the time of the system failure, journal entries 12-19 had already been deposited
| into PJ1 and confirmed in BJ1. The corresponding data changes had also already
| been reflected in the data replica, DB’, on system S2. Journal entries 20-25 had been
built and validated in main storage on S1 and sent to BJ1, and then system S1
failed. Main storage was not preserved when S1 failed. So at the time of the
failure, the last known confirmed sequence number in BJ1 was 19; unconfirmed
was 25. The last known sequence number in PJ1 will be 19 during the ensuing IPL
on system S1.
1. On system S2, the first step to be performed as part of the switch-over
processing is to allow the hot-backup application apply processing to
complete the replay of confirmed operations as identified in journal BJ1. This
would include replaying all journal entries up through and including
sequence number 19.
Note: Sequence numbers 20-25 would not yet be replayed because the I/O for
those journal entries is not yet confirmed from the local journal PJ1. The
Receive Journal Entry (RCVJRNE) command or
QjoRetrieveJournalEntries API that is being used to retrieve the entries
from the remote journal will not return sequence numbers 20-25 to the
exit program, unless specifically requested to do so by using the
| Note: The change journal operation is not absolutely essential, but attaching a
| new journal receiver to PJ2 at this time makes clear what information
| will need to be sent back to system S1 later to replay back to the
| original data. Performing the change journal operation also prevents the
remote journal function from having to re-replicate all of the journal
entries that were previously generated into the currently attached
| journal receiver of PJ2. (The journal entries were generated into the
| receiver as part of replaying the database changes to the data replica on
| system S2.)
| 3. The unconfirmed journal entries are then read from BJ1 and replayed to the
| data replica. They are retrieved from BJ1 by using the Receive Journal Entry
(RCVJRNE) command or QjoRetrieveJournalEntries API, specifically
| requesting that unconfirmed journal entries be returned. Journal entries
| 140-145 are generated into journal PJ2 when replaying these changes to the
| data replica.
8. The first step in resynchronizing DB with DB’ after the IPL completes is to
activate the remote journal BJ2 by using the QjoChangeJournalState API or
Change Remote Journal (CHGRMTJRN) command. Specify that the process
should start with the attached journal receiver on the source system (S2). This
starts the transport of journal entries representing the changes made on S2 as
part of replaying the unconfirmed journal entries plus all changes made to
DB’ while S1 was unavailable. While this transfer is progressing (during
Note: This could be included as information in the SW user journal entry. See
step 5 on page 517.
10. Changes that are known to PJ1 (after the last known sequence number in BJ1)
| are then backed-out of the original data DB on system S1. For this particular
| scenario, no changes need to be backed out of the original data.
Note: For those scenarios which do require this back-out processing, both the
before and after image journal entries would be required.
| Figure 48 on page 520 shows the state of both systems before changes are
| replayed back to the original data on system S1. (Again, the data changes
| represented in PJ2 by journal sequence numbers 147-300 are not shown in DB’
| for simplicity.)
| 11. The process of replaying the changes back to the original data on system S1
| begins. The changes that are replayed include those changes that were made
to DB’ as part of the switch-over processing. (The switch-over processing
| 15. Application programs can now make changes to the original data DB on
| system S1.
16. When you determine that it is time to start replicating the changes made on
the primary system to the backup system, you can activate the remote journal
BJ1. (You activate the remote journal B1 by using the QjoChangeJournalState
API or CHGRMTJRN command.)
When activating the remote journal, you can indicate to send journal entries
| starting with the attached journal receiver on the source system. If this occurs,
| then only those journal entries that are required to be replayed to the data
| replica will be sent to system S2.
Note: You can start with the attached receiver, only if you did the change
journal to attach a new receiver that was mentioned in step 14 on
page 521.
Note: If the complete chain of journal receivers is desired from system S1, the
remote journal could be activated indicating to start with the attached
journal receiver as known to the remote journal, BJ1. This will complete
the sending of the journal receiver that contains the IPL entry (sequence
| number 20). The process will then move on to the next journal receiver
| that contains the journal entries where the hot-backup application apply
| will start replaying changes to the data replica. An alternative to that
approach would be to save and restore the detached journal receiver to
system S2.
17. You can now activate local journal PJ2 on system S2 by using the
QjoChangeJournalState API or CHGJRN command.
The newly attached journal receiver will contain journal entries that will not
have to be sent back to system S1.
| 19. After the operation is performed, the hot-backup application apply can be
| started on system S2 to start replaying changes to the data replica. The
hot-backup application apply starts with the source system sending the newly
attached journal receiver.
Throughout this topic, the term logical unit of work (LUW) is used. A logical unit
of work (LUW) is defined as a group of individual changes to objects on the
system that should appear as a single atomic change to the user. End users and
| application programmers might think of an LUW as a transaction.If you are
| familiar with the term Unit of Work (UOW), an LUW has the same meaning.
Commitment control ensures that either the entire group of individual changes
occur on all systems that participate or that none of the changes occur. The transfer
of funds from a savings to a checking account is an example of changes that can be
grouped together. To the user, this is a single transaction. However, more than one
change occurs to the database because both savings and checking accounts are
updated.
You can use commitment control to design an application so that it can be started
again if a job, an activation group within a job, or the system ends abnormally. The
application can be started again with assurance that no partial updates are in the
database due to incomplete logical units of work from a prior failure.
Commitment control is started and ended using the Start Commitment Control
(STRCMTCTL) and End Commitment Control (ENDCMTCTL) commands.
This topic briefly defines the commitment control terms that are shown in
Figure 51 on page 527. Later in the chapter, each term is explained in more detail.
A commitment definition contains information about the resources that are under
commitment control for a job or an activation group.
The initiator is the system where the program is running that requests a commit or
rollback operation for an LUW.
An agent is any system where a resource manager, other than the initiator, is
participating in an LUW. “Roles in Commit Processing” on page 548 provides more
information about initiators and agents.
Lock-Level Parameter
The value you specify for the LCKLVL parameter on the Start Commitment
Control (STRCMTCTL) command becomes the default level of record locking for
The lock level should be specified according to your needs, the wait periods
allowed, and the release procedures used most often. The following descriptions
apply only to files that are opened under commitment control.
*CHG Lock Level: Use this value if you want to protect changed records from
changes by other jobs running at the same time. For files that are opened under
commitment control, the lock is held for the duration of the LUW. For files not
opened under commitment control, the lock on the record is held only from the
time the record is read until the update operation is complete.
*CS Lock Level: Use this value to protect both changed and retrieved records from
changes by other jobs running at the same time. Retrieved records that are not
changed are protected only until they are released, or a different record is
retrieved.
The *CS lock level ensures that other jobs are not able to read a record for update
that this job has read. In addition, the program cannot read records for update that
have been locked with a record lock type of *UPDATE in another job until that job
accesses a different record.
*ALL Lock Level: Use this value to protect changed records and retrieved records
that are under commitment control from changes by other jobs running under
commitment control at the same time. Records that are retrieved or changed are
protected until the next commit or rollback operation.
The *ALL lock level ensures that other jobs are not able to access a record for
update that this job has read. This is different from normal locking protocol. When
the lock level is specified as *ALL, even a record that is not read for update cannot
be accessed if it is locked with a record lock type of *UPDATE in another job.
Table 69 shows the duration of record locks for files under and not under
commitment control.
Table 69. Lock Duration by Lock-Level Parameter
Request LCKLVL Parameter Duration of Lock Lock Type
Read only No commitment control No lock None
*CHG No lock None
*CS From read to next read, *READ
commit, or rollback
*ALL From read to commit or *READ
rollback
1
If a commit or rollback operation is performed after a read-for-update operation, but before the record is
updated, deleted, or released, the record is unlocked during the commit or rollback operation. The
protection on the record is lost as soon as the commit or rollback completes.
2
If a record is deleted but the commit or rollback has not yet been issued for the transaction, the deleted
record does not remain locked. If the same or a different job attempts to read the deleted record by key, the
job receives a record not found indication. However, if a unique keyed access path exists over the file,
another job is prevented from inserting or updating a record with the same unique key value as that of the
deleted record until the transaction is committed.
A record lock type of *READ is obtained on records that are not read for update
when the lock level is *CS or *ALL. This type of lock prevents other jobs from
reading the records for update but does not prevent the records from being
accessed from a read-only operation.
A record lock type of *UPDATE is obtained on records that are updated, deleted,
added, or read for update. This type of lock prevents other jobs from reading the
records for update, and prevents jobs running under commitment control with a
record lock level of *CS or *ALL from accessing the records for even a read-only
operation.
Programs that are not using commitment control can read records locked by
another job, but cannot read records for update, regardless of the value specified
for the LCKLVL parameter.
The lock level specified for a commitment definition when commitment control is
started for an activation group or for the job applies only to opens associated with
that particular commitment definition.
Note: The *CS and *ALL lock-level values protect you from retrieving a record that
currently has a pending change from a different job. However, the *CS and
*ALL lock-level values do not protect you from retrieving a record using a
program running in one activation group that currently has a pending
change from a program running in a different activation group within the
same job.
Within the same job, a program can change a record that has already been changed
within the current LUW as long as the record is accessed again using the same
commitment definition. When using the job-level commitment definition, the access
to the changed record can be made from a program running within any activation
group that is using the job-level commitment definition.
The commit identification of the last successful LUW for a commitment definition
is placed in the notify object only if the commitment definition does not end
normally. This information can be used to help determine where processing for an
application ended so that the application can be started again.
Table 70 shows how you specify the commit identification and its maximum size. If
the commit identification exceeds its maximum size, it is truncated when it is
written to the notify object.
Table 70. Specifying a Commit Identification
Maximum Characters in Commit
Language Operation Identification
The system makes updates to the notify object and are based on the following
ways that a commitment definition can end:
v If a job ends normally and no uncommitted changes exist, the system does not
place the commit identification of the last successful commit operation in the
notify object.
v If an implicit commit operation is performed for an activation-group-level
commitment definition when the activation group is ended, the system does not
place the commit identification of the last successful commit operation in the
notify object.
Note: Implicit commit operations are never performed for the *DFTACTGRP or
*JOB commitment definitions.
v If the system, job, or an activation group ends abnormally before the first
successful commit operation for a commitment definition, the system does not
update the notify object because there is no last commit identification. To
differentiate between this condition and a normal program completion, your
program must update the notify object with a specific entry prior to completing
the first successful commit operation for the commitment definition.
v If an abnormal job end or an abnormal system end occurs after at least one
successful commit operation, the system places the commit identification of that
commit operation in the notify object. If the last successful commit operation did
not specify a commit identification, then the notify object is not updated. For an
abnormal job end, this notify object processing is performed for each
commitment definition that was active for the job. For an abnormal system end,
this notify object processing is performed for each commitment definition that
was active for all jobs on the system.
v The system updates the notify object with the commit identification of the last
successful commit operation for that commitment definition if all of the
following occur:
– A non-default activation group ends.
– An implicit rollback operation is performed for the activation-group-level
commitment definition.
– At least one successful commit operation has been performed for that
commitment definition.
Commitment Definition
Each commitment definition is known only to the job that started commitment
control and is not known by any other job. The commitment definition contains
information that pertains to the resources that are being changed under
commitment control within that job. The system maintains the commitment control
information in the commitment definition as the commitment resources change,
until the commitment definition is ended.
Programs can start and use multiple commitment definitions . Each commitment
definition for a job identifies a separate LUW that has committable resources
associated with it. These LUWs can be committed or rolled back independently
from LUWs that are associated with other commitment definitions that are started
for the job.
For a given activation group, only a single commitment definition can be used by
the programs that run within that activation group. Therefore, programs that run
within an activation group can either use the job-level or the activation-group-level
commitment definition, but not both at the same time.
Even when the job-level commitment definition is active for the job, a program can
still start the activation-group-level commitment definition if no commitment
control requests or operations have been performed for the job-level commitment
definition by any program running within that activation group. Otherwise, the
job-level commitment definition would first have to be ended before the
activation-group-level commitment definition could be started. Commitment
control requests or operations for the job-level commitment definition that would
prevent the activation-group-level commitment definition from being started
include:
Likewise, if the programs within an activation group are currently using the
activation-group-level commitment definition, it must first be ended before the
job-level commitment definition could be used by the programs running within
that same activation group.
When opening a database file, the open scope for the opened file may be either to
the activation group or to the job with one restriction. If the file is being opened
under commitment control and is being scoped to the job, then the program
making the open request must be using the job-level commitment definition.
There are cases where it is desirable for transactional work to be scoped to the
thread, rather than an activation group. In other words, each thread would have its
own commitment definition and transactional work for each commitment
definition would be independent of work performed in other threads.
This is supported by DB2 UDB for iSeries by using the Change Job (QWTCHGJB)
API to change the job to run in SQL server mode. When an SQL connection is
requested in SQL server mode, it is routed to a separate job. All subsequent SQL
operations that are performed for that connection are also routed to that job. When
the connection is made, completion message SQL7908 is sent to the SQL server
mode job’s job log indicating which job the SQL requests are being routed to. The
commitment definition is owned by the job that is indicated in this message. If
errors occur, it may be necessary to look at the job logs for both jobs to understand
the source of the problem since no real work is being done in the job performing
the SQL statements.
When running in SQL server mode, only SQL interfaces may be used to perform
work under commitment control. Embedded SQL or Call Level Interface (CLI) may
be used. All connections made through embedded SQL in a single thread are
routed to the same back-end job. This allows a single commit request to commit
the work for all the connections, just as it would in a job that is not running in
SQL server mode. Each connection made through the CLI is routed to a separate
job. The CLI requires work that is performed for each connection to be committed
or rolled back independently.
Original Program Model (OPM) programs that are run in the default activation
group, and by default use the *DFTACTGRP commitment definition. In a mixed
OPM and ILE environment, the job-level commitment definition should be used if
all committable changes made by all programs are to be committed or rolled back
together.
Table 72 on page 539 shows how files would be committed or rolled back if the
scenario that are shown in Figure 52 changes:
LUW entries can be useful when you are setting up and testing either your
commitment control environment or a new application.
LUW entries are written to the default journal regardless of the value of the
OMTJRNE parameter under these conditions:
v A system error occurs during a commit or rollback operation.
v A manual change is made to a resource that participated in an LUW, and the
change caused a heuristic mixed condition. See Table 79 on page 565 for a
description of the heuristic mixed condition. This type of manual change is
called a heuristic decision.
You can use the information about what resources participated in the LUW to
determine what action to take in these situations.
Table 124 on page 824 through Table 130 on page 845 show the layouts for the
entry-specific data for LUW journal entries.
Two-Phase Commit–Overview
For systems using Version 3 Release 1 and later of the OS/400 licensed program,
the system supports two-phase commit operations. Two-phase commit is intended
to ensure that committable resources on multiple systems remain synchronized.
For systems using releases prior to V3R7 of OS/400, the system supports the
Presumed Nothing protocols of SNA LU 6.2. For systems using V3R7 and later
releases of OS/400, the system supports the Presumed Abort protocols of SNA LU
6.2. When connections are made between pre-V3R7 systems and V3R7 and later
systems, Presumed Nothing protocols are used between those systems.
| Under two-phase commit, the system performs the commit operation in two
waves:
v During the prepare wave, a resource manager issues a commit request to its
transaction manager. The transaction manager informs any other resources it
1
For details on how to place a database file under commitment control, refer to:
v The appropriate language reference manual.
| v The Information Center at the following Web site: http://www.ibm.com/eserver/iseries/infocenter
2
For more information about using SQL with commitment control, see the Information Center at the
following Web site: http://www.ibm.com/eserver/iseries/infocenter.
3
For details on how to place a remote database file under commitment control, look in the Information
Center at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
4
When a DDM connection is started, the DDM file specifies PTCCNV(*YES), and the DDM file is defined
with an SNA remote location, an LU62 resource is added with the DDM resource.
When a DRDA connection is started, an LU62 resource is added with the DRDA resource if both of the
following are true:
v The program is using the distributed unit of work connection protocols.
v The connection is to an RDB defined with an SNA remote location.
For more information about starting protected conversions, see the APPC Programming book.
5
For more information about API commitment resources and these API interfaces, see the Information Center
at the following Web site: http://www.ibm.com/eserver/iseries/infocenter
6
The presumed abort level of LU 6.2 two-phase commit is implemented in V3R7. For information about LU
6.2, see the SNA Transaction Programmer’s Reference for LU Type 6.2
The access intent determines how the resources participate together in an LUW.
“The Access Intent of a Committable Resource” shows what access intents are
possible for a particular type of resource and how the system determines the
access intent for a resource when it is registered:
Table 76. Access Intents for Resource Types
How the Access Intent Is
Resource Type Possible Access Intents Determined
FILE Update, read only Based on how the file was opened
DDL Update Always update
API Update Always update
DDM Update, read only Based on how the file was opened
LU62 Undetermined Always undetermined
DRDA Update, read only, For DRDA Level 1, the access
undetermined intent is update if no other remote
resources are registered. Otherwise,
the access intent is read only. For
DRDA Level 2, the access intent is
always undetermined.
| TCP Undetermined Always undetermined
The access intent of resources that are already registered determines whether a
new resource can be registered. The following rules apply:
v A one-phase resource whose access intent is update cannot be registered when
any of the following is true:
– Resources whose access intent is update are already registered at other
locations.
– Resources whose access intent is undetermined are already registered at other
locations.
If only the after-images are being journaled for a database file when that file is
opened under commitment control, the system automatically starts journaling both
the before- and after-images. The before-images are written only for changes to the
file that occur under commitment control. If other changes that are not not under
commitment control occur to the file at the same time, only after-images are
written for those changes.
The commit cycle identifier is the journal sequence number of the ’C SC’ journal
entry written for the commit cycle. The commit cycle identifier is placed in each
journal entry written during the commit cycle. If more than one journal is used
during the commit cycle, the commit cycle identifier for each journal is different.
You can use the QJOSJRNE API to write journal entries for API resources. You
have the option of including the commit cycle identifier on those journal entries.
You can use the commit cycle identifier to apply or remove journaled changes to a
commitment boundary using the APYJRNCHG command or the RMVJRNCHG
command. These limitations apply:
| v Most object-level changes made under commitment control are written to the
| journal but are not applied or removed using the APYJRNCHG and
| RMVJRNCHG commands.
v The QJOSJRNE API writes user-created journal entries with a journal code of U.
These entries cannot be applied or removed using the APYJRNCHG and
RMVJRNCHG commands. They must be applied or removed with a user-written
program.
Figure 53 shows the basic roles in an LUW. The structure shown in the figure is
called a transaction program network.
┌───────────────┐
│ System B │
┌────────S│ Agent │
│ └───────────────┘
│
┌───────────────┐ │ ┌───────────────┐
│ System A ├───┼────────S│ System C │
│ Initiator │ │ │ Agent │
└───────────────┘ │ └───────────────┘
│
│ ┌───────────────┐
└────────S│ System D │
│ Agent │
└───────────────┘
| The roles in Figure 54 do not apply to DRDA distributed unit of work over TCP/IP
| because multi-level transactions trees are not supported.
The transaction program network has another level because System B is not
communicating directly with System C and System D. The resource manager in
System A now has the roles of agent and cascaded initiator.
| For DRDA distributed unit of work over TCP/IP, there is the role of the resync
| server. The resync server is a participant whose responsibility is to resynchronize
| the other participants in the event that there is a communications failure with the
| coordinator, or the coordinator has a systems failure.
Otherwise, the I/O feedback area and I/O buffers are not changed.
v A call is made to the commit and rollback exit program for each API
commitment resource that is present in the commitment definition. If a location
has more than one exit program registered, the exit programs for that location
are called in the order that they were registered.
v A ’C CM’ journal entry is written to every local journal associated with the
commitment definition. See Table 77 on page 546.
v Pending object-level changes are made permanent.
v Record and object locks that were acquired and kept for commitment control
purposes are unlocked and those resources are made available to other users.
v Information is changed in the commitment definition to show that the current
LUW has been ended.
When remote resources are under commitment control, the initiator sends a
commit request to all remote agents. The request is propagated throughout the
transaction program network. Each agent responds with the results of the commit
operation.
If errors occur during the prepare wave, the initiator sends a rollback request to all
agents. If errors occur during the committed wave, the system attempts to bring as
many locations as possible to committed status. This may result in a heuristic
mixed state. See “States of the Logical Unit of Work (LUW)” on page 564 for more
information about the possible states.
Any errors are sent back to the initiator where they are signaled to the user. If a
default journal was specified on the STRCMTCTL command, ’C LW’ entries are
written. If errors occur, these entries are written, even if OMTJRNE(*LUWID) was
specified. You can use these entries, along with the error messages and the status
information for the commitment definition, to attempt to synchronize the
committable resources manually.
Otherwise, the I/O feedback area and I/O buffers remain unchanged.
– A call is made to the commit or rollback exit program for each API
commitment resource that is present in the commitment definition. If a
location has more than one exit program registered, the exit programs for that
location are called in reverse order from the order in which they were
registered.
– If a record was deleted from a file, the record is added back to the file.
– Any changes to records that have been made during this LUW are removed,
and the original records (the before-images) are placed back into the file.
– If any records were added to the file during this LUW, they remain in the file
as deleted records.
– If any record changes were made to resources assigned to a journal during
the LUW, a journal entry of ’C RB’ is added to the journal indicating that a
rollback operation occurred. The journal also contains images of the record
changes that were rolled back. Before the rollback operation was requested,
the before-images and after-images of changed records were placed in the
journal. A ’C RB’ entry is also written to the default journal if any
committable resources are assigned to that journal.
– The system positions the open files under commitment control at the last
record accessed in the previous LUW or at the open position if no commit
operation has been performed for the file using this commitment definition.
This is an important consideration if you are doing sequential processing.
All of the above must perform correctly for the rollback operation to be successful.
When remote resources are under commitment control, the initiator sends a
rollback request to all remote agents. The request is propagated throughout the
transaction program network. Each agent responds with the results of the rollback
operation.
| The flows demonstrated in Figure 55 on page 552 and Figure 56 on page 553 are
| specific to LU6.2. For a desciption of DRDA distributed unit of work over TCP/IP
| flow, refer to the SYNCPTOV chapter of the Open Group Technical Standard,
| DRDA V2 Vol. 3: Distributed Relational Database Architecture at the following Web
| site:
| http://www.opengroup.org/
| Figure 55 on page 552 shows the flow of messages among the application programs
and the transaction managers when an application program issues a commit
instruction when last agent optimization is not used. Both the initiator application
program and the agent application programs are unaware of the two-phase commit
processing. The numbers in parentheses () in the figure correspond to the
numbered items in the description that follows.
Legend
I = Initiator (Application that initiates commit
request)
TM-I = Transaction manager for initiator
A = Agent (Application that receives commit request)
TM-A = Transaction manager for agent
Following is a description of the events for normal processing without last agent
optimization. This describes a basic flow. The sequence of events can become much
more complex when the transaction program network has multiple levels or when
errors occur.
1. Application program A does a receive request to indicate that it is ready to
receive a request from program I.
2. The initiator application (I) issues a commit instruction.
3. The transaction manager for the initiator (TM-I) takes the role of initiator for
this LUW. It starts the prepare wave by sending a prepare message to all the
other locations that are participating in the LUW.
4. The transaction managers for every other location take the role of agent
(TM-A). The application program A is notified by TM-A that a request to
commit has been received. For ICF files, the notification is in the form of the
Receive Take Commit (RCVTKCMT) ICF indicator being set on.
5. The application program A responds by issuing a commit instruction (or a
rollback instruction). This is the application program’s vote.
6. The agent (TM-A) responds to the initiator (TM-I) with a request commit
message.
7. When the initiator (TM-I) receives all the votes, the TM-I sends a commit
message. This starts the committed wave.
8. Each agent (TM-A) commits and responds with a reset message.
9. If all agents commit successfully, the LUW is complete. A return is sent to the
application programs (I and A). This return indicates that the commit operation
was successful.
Figure 56 on page 553 shows the flow of messages among the application programs
and the transaction managers when an application program issues a commit
instruction when last agent optimization is used. Both the initiator application
program and the agent application programs are unaware of the two-phase commit
I TM-I TM-A A
│ │ │ Receive (1) │
│ │ │W──────────────────────┤
│Commit (2) │ │ │
├──────────S│Request commit (3)│ │
│ ├─────────────────S│ RCVTKCMT indicator (4)│
│ │ ├──────────────────────S│
│ │ │ │
│ │ │ Commit (5) │
│ │ Committed (6) │W──────────────────────┤
│ Return (8)│W─────────────────┤ Return (7) │
│W──────────┤ ├──────────────────────S│
│ │ │ │
│any verb │Implied reset (9) │ │
├──────────S├─────────────────S│ │
│ │ │ │
Legend
I = Initiator (Application that initiates commit
request)
TM-I = Transaction manager for initiator
A = Agent (Application that receives commit request)
TM-A = Transaction manager for last agent
Following is a description of the events for normal processing with last agent
optimization. This describes a basic flow. The sequence of events can become much
more complex when the transaction program network has multiple levels or when
errors occur.
1. Application program A does a receive request to indicate that it is ready to
receive a request from program I.
2. The initiator application (I) issues a commit instruction.
3. The transaction manager for the initiator (TM-I) takes the role of initiator for
this LUW. It chooses TM-A as its last agent. A request commit message is then
sent to TM-A.
Note: If there are agents other than TM-A in the LUW, they take the role of
agent, and the prepare wave as described in steps 3-6 of Figure 55 on
page 552 is completed for those agents before the request commit
message is sent to TM-A
4. When TM-A receives the request commit message, without having received a
prepare message, TM-A knows it is the last agent. The application program A is
notified by TM-A that a request to commit has been received. For ICF files, the
notification is in the form of the Receive Take Commit (RCVTKCMT) ICF
indicator being set on.
5. The application program A responds by issuing a commit instruction (or a
rollback instruction). This is the application program’s vote.
6. The agent (TM-A) responds to the initiator (TM-I) with a committed message.
7. A return is sent to the application program (A) to indicate that the LUW is
complete at agent TM-A.
8. The initiator (TM-I) receives the vote from its last agent (TM-A). A return is
sent to the application program (I) to indicate that the LUW is complete.
You may want to change this behavior if the following conditions are true:
v The applications that participate are independent of each other.
v Your program logic does not need the results of previous transactions to ensure
that your database files remain synchronized.
After you start commitment control, you can use the Change Commitment Options
(QTNCHGCO) API to specify that the commitment definition does not wait for the
outcome of resynchronization. If you specify N (No) for the Wait for outcome
option, the system uses a database server job (QDBSRVnn) to handle
resynchronization asynchronously.
This section only refers to two values for the resolved Wait for outcome option, Y
(Yes) and N (No). There are actually two more values that can be specified, L (Yes
or Inherit from Initiator) and U (No or Inherit from Initiator). When these values
are used, the actual value used during each commit operation is resolved to Yes or
No by the system. Refer to the System API Reference for details.
Note: The initiator’s value can only be inherited by an agent if both the initiator
and the agent support presumed abort (available at V3R7 and later releases).
The wait for outcome (WFO) option does not affect normal, error-free commit
processing. If an error occurs, the WFO option determines whether the application
waits for resynchronization or not, with the following conditions:
1. If the resolved WFO option is Y (Yes), the application will wait for the result of
the resynchronization.
2. If the resolved WFO option is N (No) and a communication failure occurred
during the prepare wave or rollback of a location that supports presumed abort
protocols, no resynchronization is performed and the commitment definition is
rolled back.
3. If the commitment definition is in doubt (LUW state is prepared or Last Agent
Pending), the application will wait for the result of the resynchronization
regardless of the resolved WFO value. For further information on the
commitment definition being in doubt, refer to Table 79 on page 565.
4. If the resolved WFO option is N and neither one of conditions two or three are
true, the system attempts to resynchronize once. If it is not successful, the
system signals STATUS message CPF83E6 to the application to indicate that
resynchronization is in progress.
Since CPF83E6 is a STATUS message, it will only have an effect if the
application is monitoring for it. Normally, your application can treat this as an
informational message. The systems that are participating in the LUW will
attempt to resynchronize the LUW until the failure is repaired. These
subsequent resynchronization attempts are performed in the database server
jobs. If a subsequent resynchronization attempt performed in a database server
job fails, the message CPI83D0 will be sent to QSYSOPR.
For example, in Figure 57 on page 556, the commitment definition for the initiator
(I) uses the default value of Y (Yes) for the Wait for outcome option. When
communications between TM-I and TM-A is lost, both application A and
application I wait until the LUW is resynchronized.
In Figure 58 on page 557, the commitment definition for the initiator has the
resolved WFO set to N (No). TM-A meets condition 3 in the preceding list, while
TM-I meets condition 4. Control is returned to application I after one attempt to
resynchronize with TM-A. A database server job attempts to resynchronize.
Application I never receives the return indicator when the commit request has
completed successfully. Note that control is not returned to the agent application
(A) until after communications is reestablished. This depends on the timing of the
failure. In this case, the communications failure occurred before the commit
message was received from the initiator, leaving TM-A in doubt as to whether to
commit or rollback. When the transaction manager is in doubt, it retains control
until the resynchronization is completed, regardless of the resolved WFO value at
that system.
However, once the initiator sends the request commit to its last agent, it must wait
until it has received the last agent’s vote before it can continue. This is regardless
of the Wait for outcome value for the commitment definition. During normal,
error-free commit processing, this is not an issue. But, if an error occurs during this
window, the initiator cannot continue until resynchronization completes. If the
initiator application is handling requests from a user at a terminal, this could be a
usability consideration.
You should consider whether the improved performance during normal commit
operations is more important than the impact on usability when such an error
occurs. Note that if the error occurs before the request commit is sent to the last
agent, the LUW will immediately roll back and the initiator will not wait.
Therefore, the window when an error can cause the initiator to wait is quite small,
so such an error should be rare.
If you decide that the usability impact is not worth the improved performance, you
can change your commitment definitions to not select a last agent. After you start
commitment control, you can use the Change Commitment Options (QTNCHGCO)
API to change the Last agent permitted option to N.
For more information about the QTNCHGCO API, look in the Information Center
at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
After you start commitment control, you can use the Change Commitment Options
(QTNCHGO) API to change the OK to Leave Out option to Y (Yes). You may want
to do this if one or more remote systems often are not involved in an LUW.
The OK to Leave Out option is intended for applications that are client/server in
nature. If the only purpose of program A is to satisfy requests from program I and
not do any independent work, then it is appropriate to allow the OK to Leave Out
option for program A.
I TM─I TM─A O
│ │ │ Receive (1) │
│ │ │W──────────────────────┤
│Commit (2) │ │ │
├──────────S│ Prepare (3) │ │
│ ├─────────────────S│ RCVTKCMT indicator (4)│
│ │ ├──────────────────────S│
│ │ │ │
│ │ │ Commit (5) │
│ │Request commit (6)│W──────────────────────┤
│ │(ok to leave out) │ │
│ │W─────────────────┤ │
│ │ │ │
│ │ Commit (7) │ │
│ ├─────────────────S│ │
│ │ Reset (8) │ │
│ Return (9)│W─────────────────┤ │
│W──────────┤ │ │
' ' ' '
' 0 or more ' ' (left out)(10) '
' LUWs ' ' '
' ' ' '
│ data │ new LUW ID (11) │ │
├──────────S├─────────────────S│ Return (12) │
│ │ ├──────────────────────S│
Legend
I = Initiator (Application that initiates commit
request)
TM-I = Transaction manager for initiator
A = Agent (Application that receives commit request)
TM-A = Transaction manager for agent
Figure 59. Flow of Commit Processing without Last Agent Optimization when agent votes OK
to leave out
Following is a description of the events for normal processing without last agent
optimization when the agent votes OK to leave out. This describes a basic flow.
The sequence of events can become much more complex when the transaction
program network has multiple levels or when errors occur.
1. Application program A does a receive request to indicate that it is ready to
receive a request from program I.
2. The initiator application (I) issues a commit instruction.
3. The transaction manager for the initiator (TM-I) takes the role of initiator for
this LUW. It starts the prepare wave by sending a prepare message to all the
other locations that are participating in the LUW.
4. The transaction managers for every other location take the role of agent
(TM-A). The application program A is notified by TM-A that a request to
commit has been received. For ICF files, the notification is in the form of the
Receive Take Commit (RCVTKCMT) ICF indicator being set on.
Note: Any change to the OK to Leave Out commitment option does not take
effect until the next successful commit operation.
7. When the initiator (TM-I) receives all the votes, the TM-I sends a commit
message. This starts the committed wave.
8. Each agent (TM-A) commits and responds with a reset message.
9. A return is sent to the application program (I) to indicate that the LUW is
complete at the initiator.
10. Any number of LUWs may occur on TM-I, none of which require changes to
TM-A or data from TM-A. TM-A is not included in these LUWs.
11. The next time the initiator (TM-I) issues a message to the agent (A), a new
LUW ID is sent with the message. If the initiator performs any commit or
rollback operations before sending a message to the agent, no messages are
sent to the agent during those operations (the agent is ’left out’ of those
commits or rollbacks). Because one or more LUWs may have been committed
or rolled back at the initiator while the agent was left out, the initiator must
communicate its current LUW ID when the next message is sent to the agent.
12. A return is sent to the application program (A) to indicate that the original
commit is complete and that it is participating in the current LUW.
After you start commitment control, you can use the Change Commitment Options
(QTNCHGCO) API to change the Vote read-only permitted option to Y. You may
want to do this if the following is true:
v One or more remote systems often do not have any committable changes for an
LUW.
v An LUW does not depend on where the file cursor (next record) was set by the
previous LUW. When a location votes read-only, the application is never notified
if the LUW is rolled back. The location has committed any read operations to the
database files and, thus, moved the cursor position. The position of the file
cursor is usually important only if you do sequential processing.
Figure 60 shows the flow of messages among the application programs and the
transaction managers when an application program issues a commit instruction
without last agent optimization when the agent votes read only. Both the initiator
application program and the agent application programs are unaware of the
two-phase commit processing. The numbers in parentheses () in the figure
correspond to the numbered items in the description that follows.
I TM─I TM─A A
│ │ │ Receive (1) │
│ │ │W──────────────────────┤
│Commit (2) │ │ │
├──────────S│ Prepare (3) │ │
│ ├─────────────────S│ RCVTKCMT indicator (4)│
│ │ ├──────────────────────S│
│ │ │ │
│ │ │ Commit (5) │
│ │ Reset (6) │W──────────────────────┤
│ │W─────────────────┤ │
│ Return (7)│ │ │
│W──────────┤ │ │
│any verb │ (new LUW ID) (8) │ │
├──────────S├─────────────────S│ Return (9) │
│ │ ├──────────────────────S│
Legend
I = Initiator (Application that initiates commit
request)
TM-I = Transaction manager for initiator
A = Agent (Application that receives commit request)
TM-A = Transaction manager for agent
Figure 60. Flow of Commit Processing without Last Agent Optimization when agent votes
read only
Following is a description of the events for normal processing without last agent
optimization when the agent votes read only. This describes a basic flow. The
sequence of events can become much more complex when the transaction program
network has multiple levels or when errors occur.
1. Application program A does a receive request to indicate that it is ready to
receive a request from program I.
2. The initiator application (I) issues a commit instruction.
3. The transaction manager for the initiator (TM-I) takes the role of initiator for
this LUW. It starts the prepare wave by sending a prepare message to all the
other locations that are participating in the LUW.
4. The transaction managers for every other location take the role of agent
(TM-A). The application program A is notified by TM-A that a request to
commit has been received. For ICF files, the notification is in the form of the
Receive Take Commit (RCVTKCMT) ICF indicator being set on.
5. The application program A responds by issuing a commit instruction (or a
rollback instruction). This is the application program’s vote.
6. If application program A has used the Change Commitment Options API
(QTNCHGCO) to set the Vote read-only permitted commitment option to Y,
For more information about the QTNCHGCO API, look in the Information Center
at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
You should consider using the vote reliable optimization if the following
conditions are true:
v It is unlikely that a heuristic decision will be made at an in doubt agent in the
event of a systems or communications failure unless the failure cannot be
repaired.
v Your program logic does not need the results of previous transactions to ensure
that your database files remain synchronized.
The vote reliable optimization will be used by OS/400 only if all the following
conditions are true:
v The initiator and agent locations support the presumed abort level of
commitment control.
v The initiator location accepts the vote reliable indication from the agent. On
OS/400 initiators, this depends on the value of two commitment options (refer
to the QTNCHGCO API in the System API Reference for details on changing
commitment options):
Figure 61 shows the flow of messages among the application programs and the
transaction managers when the vote reliable optimization is used. Both the initiator
application program and the agent application programs are unaware of the
two-phase commit processing. The numbers in parentheses () in the figure
correspond to the numbered items in the description that follows.
I TM─I TM─A A
│ │ │ Receive (1) │
│ │ │W──────────────────────┤
│Commit (2) │ │ │
├──────────S│ Prepare (3) │ │
│ ├─────────────────S│ RCVTKCMT indicator (4)│
│ │ ├──────────────────────S│
│ │ │ │
│ │ │ Commit (5) │
│ │Request Commit (6)│W──────────────────────┤
│ │(vote reliable) │ │
│ │W─────────────────┤ │
│ │ │ │
│ │ Commit (7) │ │
│ │ (no reset) │ │
│ ├─────────────────S│ │
│ Return (8)│ │ Return (8) │
│W──────────┤ ├──────────────────────S│
│ │ │ │
│ │ Implied reset (9)│ any verb │
│ │W─────────────────┤W──────────────────────┤
Legend
I = Initiator (Application that initiates commit
request)
TM-I = Transaction manager for initiator
A = Agent (Application that receives commit request)
TM-A = Transaction manager for agent
Following is a description of the events for normal processing without last agent
optimization when the agent votes reliable. This describes a basic flow. The
sequence of events can become much more complex when the transaction program
network has multiple levels or when errors occur.
1. Application program A does a receive request to indicate that it is ready to
receive a request from program I.
2. The initiator application (I) issues a commit instruction.
3. The transaction manager for the initiator (TM-I) takes the role of initiator for
this LUW. It starts the prepare wave by sending a prepare message to all the
other locations that are participating in the LUW.
4. The transaction managers for every other location take the role of agent
(TM-A). The application program A is notified by TM-A that a request to
For information on the QTNRCMTI API, look in the Information Center at the
following Web site: http://www.ibm.com/eserver/iseries/infocenter.
XA Transaction Support
DB2 UDB for iSeries can participate in X/Open global transactions. The Open
Group has defined an industry standard model for transactional work that allows
changes made against unrelated resources to be part of a single global transaction.
An example of this would be changes to databases that are provided by two
separate vendors. This model is called the Distributed Transaction Processing
(DTP) model. This model is described in detail in X/Open Publication Set T008,
ISBN 1–872630–89–8. You should be familiar with the information in these books,
particularly the XA Specification, before attempting to use the XA transaction
support provided by DB2 UDB for iSeries.
The XA Specification is the part of the DTP model that describes a set of interfaces
that is used by the TM and RM components of the DTP model. DB2 UDB for
iSeries implements these interfaces as a set of UNIX style APIs and exit programs.
Look in the Information Center at the following Web site:
http://www.ibm.com/eserver/iseries/infocenter for detailed documentation of
these APIs and for more information on how to use DB2 UDB for iSeries as an RM.
The database server jobs are named QDBSRVnn, where nn is a two-digit number.
The number of database server jobs depends on the size of your system.
Table 79 on page 565 shows the actions that the system takes, depending on the
state of the LUW when the system ended. For two states, PRP and LAP, the system
action is in doubt. The system cannot determine what to do until it performs
resynchronization with the other locations that participated in the LUW. This
resynchronization is performed after the IPL completes.
The system uses the database server jobs to perform this resynchronization. The
commitment definitions that need to be recovered are associated with the database
server jobs. During the IPL, the system acquires all record locks and other object
locks that were held by the commitment definition before the system ended. These
Messages are sent to the job logs of the database server jobs to indicate the status
of resynchronization with the remote locations. If the LUW is in doubt,
resynchronization must be completed with the location that owns the decision for
the LUW before local resources can be committed or rolled back.
When the decision for an LUW is made, the following messages may be sent to the
job log for the database server job.
CPI8351
&1 pending changes being rolled back
CPC8355
Post-IPL recovery of commitment definition &8 for job &19/&18/&17
completed.
CPD835F
IPL recovery of commitment definition &8 for job &19/&18/&17 failed.
Other messages related to the recovery may also be sent. These messages are sent
to the history (QHST) log. If errors occur, messages are also sent to the QSYSOPR
message queue.
You can determine the progress of the recovery by displaying the job log for the
database server job or by using the Work with Commitment Definitions
(WRKCMTDFN) command. Although the Work with Commitment Definitions
display allows you to force the system to commit or roll back, you should use this
only as a last resort. If you anticipate that all of the locations that participated in
the LUW will eventually be returned to operation, you should allow the systems to
resynchronize themselves. This ensures the integrity of your databases.
Before you make a heuristic decision, gather as much information as you can about
the LUW. Display the jobs that are associated with the commitment definition and
make a record of what journals and files are involved. You can use this information
later if you need to display journal entries and apply or remove journaled changes
manually.
The best place to find out information about an LUW is to look at the location that
was the initiator for that LUW. However, the decision to commit or to roll back
may be owned by an API resource or by a last agent.
If an API resource was registered as a last agent resource, the final decision of
whether to commit or to roll back is owned by the API resource. You need to look
at information about the application and how it uses the API resource to determine
whether to commit or to roll back.
Commitment Resync In
Opt Definition Job User Number Progress
__ *DFTACTGRP QPADEV0013 XPF9473 100192 NO
__ *DFTACTGRP RBMCFGS1 XPF9476 040291 YES
__ *JOB RBMCFGS1 XPF9465 040291 NO
__ RM400 RBMCFGS1 XPF9512 040291 NO
__ *DFTACTGRP RCHASR7D QUSER 097909 NO
__ *DFTACTGRP R214PAC180 $TNTESTUSR 098549 YES
You can use option 12 to work with the job that is participating in the LUW on
this system. You can choose options 14, 16, and 19 to force commit, force rollback,
or cancel resynchronization, respectively.
To determine the other systems associated with the commitment definition, use
option 5 on the Work with Commitment Definitions display to see the commitment
definition status.
From the Display Commitment Definition Status display, you can use F6 to display
a pop-up menu for selecting resources.
Display Commitment Definition Status
Remote
Remote Local Network Resync
Opt Location Location Identifier Role Required
__ RMTLOC1 LCLLOC1 APPN INITIATOR YES
__ RMTLOC2 LCLLOC2 APPN AGENT NO
where luwid_base_portion is the LU name and instance number portion of the LUW
ID. For example, to view the commitment definitions related to the *DFTACTGRP
commitment definition for job 040291/XZY0019/RBMCFGS1 (displayed above), use the
following command:
WRKCMTDFN JOB(*ALL)
LUWID('APPN.RCHASL97.X'112233445566'.*')
Table 80 on page 574 and Table 81 on page 576 show what the system does when
certain events occur related to a commitment definition that has pending changes.
A commitment definition has pending changes if any of the following is true:
v Any committable resource has been updated.
v A database file opened under commitment control has been read because
reading a file changes the file position.
v The commitment definition has an API resource. Because changes to API
resources are done by a user program, the system must assume that all API
resources have pending changes.
The ’C CM’ (commit operation) journal entry and ’C RB’ (rollback operation)
journal entry indicate whether the operation was explicit or implicit.
Table 80 on page 574 shows the actions the system takes when a job ends, either
normally or abnormally, based on the following:
1 The Action if Endjob option can be changed with the QTNCHGCO API. For more information, refer to the
Information Center at the following Web site: http://www.ibm.com/eserver/iseries/infocenter.
Table 81 on page 576 shows the actions the system takes when an activation group
ends. The system actions are based on the following:
v The state of the LUW. (It is always reset (RST) when an activation group ends).
Note: If an API resource is registered as the last agent, this gives control of the
commit or rollback decision to the last agent. The result of the decision is
considered an explicit operation.
Table 81. Commit and Rollback Operations during Activation Group Ending
Last Agent
State API? Type of End Commit or Rollback Operation
RST No Normal An implicit commit operation is performed. If protected
conversations exist, the commitment definition will become the
root initiator of the commit operation.
RST No Abnormal An implicit rollback is performed.
RST Yes Normal The API exit program is called. The commit or rollback operation
is determined by the API.
RST Yes Abnormal The API exit program is called. The commit or rollback operation
is determined by the API.
Commitment Resync In
Opt Definition Job User Number Progress
__ *DFTACTGRP RBMCFGS1 XZY0019 040291 NO
__ *JOB RBMCFGS1 XZY0019 040291 NO
__ RM400 RBMCFGS1 XZY0019 040291 NO
__ *JOB JCHCFGS2 JCH0418 040763 NO
__ *JOB RAJCFGS3 RAJ0692 040814 NO
From the Work with Commitment Definitions display, you can look at information
about a specific commitment definition. You can also look at information about the
job associated with a commitment definition.
Another way to look at commitment definitions is by using the Work with Job
(WRKJOB command) or Display Job (DSPJOB command). From the Display Job
menu, do the following:
1. Select the Display Commitment Control Status option. A list of commitment
definitions currently established for the job is shown.
2. Select the Display option for a commitment definition. The Display
Commitment Definition Status display is shown:
You can page forward to see additional information about the commitment
definition:
Display Commitment Definition Status
Heuristic operation . . . . . . . :
Default journal . . . . . . . . . :
Library . . . . . . . . . . . . :
Notify object . . . . . . . . . . : *NONE
Library . . . . . . . . . . . . :
Object type . . . . . . . . . . :
Member . . . . . . . . . . . . :
You can type a 1 in the option column to see more information about any
resources of that type that are associated with the commitment definition.
Following is an example of a display for resources:
Display Record Level Status
System: RCHASDP4
Job: QNSCRMON User: QSVSM Number: 048193
-------------Changes--------------
File Library Member Commit Rollback Pending
QANSCRAC QSMU QANSCRAC 0 0 0
QANSCRAN QSMU QANSCRAN 0 0 0
QANSCRA1 QSMU QANSCRA1 0 0 0
QANSCRA2 QSMU QANSCRA2 0 0 0
QANSCRA3 QSMU QANSCRA3 0 0 0
QANSCRCN QSMU QANSCRCN 0 0 0
QANSCRCR QSMU QANSCRCR 0 0 0
QANSCRC1 QSMU QANSCRC1 0 0 0
On-line help provides information about all the status displays and the fields on
each display.
On the Work with Active Jobs (WRKACTJOB) display, the Status column may
show a value of CMTW (commit wait) for one or more jobs. This value indicates
that the job is being prevented from moving beyond a commitment boundary due
to a save-while-active operation. During a save-while-active operation, the system
delays every job with committable resources in the save request at a commitment
boundary until those objects have reached a checkpoint. This allows the
save-while-active operation to save the objects at commitment boundaries so that
no partial LUWs are saved to the save media. The COMMIT and ROLLBACK
values are shown on the WRKACTJOB Function field during a commit or rollback.
If the Function remains COMMIT or ROLLBACK for a long time, one of the
following situations might have occurred:
v A resource failure during the commit or rollback requires resynchronization.
Control will not return to the application until the resynchronization completes
or is cancelled.
v This system voted read-only during the commit. Control will not return to the
application until the system that initiated the commit sends data to this system.
If the job-level commitment definition is ended, then any program running within
the job that was using the job-level commitment definition can no longer make
changes under commitment control without first starting commitment control
again with the STRCMTCTL command.
Before issuing the ENDCMTCTL command, the following must be satisfied for the
commitment definition to be ended:
v All files opened under commitment control for the commitment definition to be
ended must first be closed. When ending the job-level commitment definition,
this includes all files opened under commitment control by any program
running in any activation group that is using the job-level commitment
definition.
v All API commitment resources for the commitment definition to be ended must
first be removed using the QTNRMVCR API. When ending the job-level
commitment definition, this includes all API commitment resources added by
any program running in any activation group that is using the job-level
commitment definition.
v A remote database associated with the commitment definition to be ended must
be disconnected.
v All protected conversations associated with the commitment definition should be
ended normally using the correct synchronization level.
If commitment control is being ended in a batch job, and one or more closed files
associated with the commitment definition to be ended still have pending changes,
the changes are rolled back and a message is sent:
v CPF8356 if only local resources are registered
v CPF835C if only remote resources are registered
v CPF83E4 if both local and remote resources are registered
When an activation group that has an API registered as the last agent is ending,
the exit program for the API is called to receive the commit or rollback decision. In
this case, even though the activation group is ending normally, a rollback request
could still be returned from the API exit program. Thus, the implicit commit
operation might not be performed.
After the commitment definition has successfully ended, all the necessary recovery,
if any, has been performed. No additional recovery is performed for the
commitment resources associated with the commitment definition just ended.
Although commitment definitions can be started and ended many times by the
programs that run within an activation group, the amount of system resources
required for the repeated start and end operations can cause a decrease in job
performance and overall system performance. Therefore, it is recommended that a
commitment definition be left active if a program to be called later will use it.
NOTE
An implicit commit or rollback operation is never performed during
activation-group end processing for the *JOB or *DFTACTGRP commitment
definitions. This is because the *JOB and *DFTACTGRP commitment
definitions are never ended due to an activation group ending. Instead, these
commitment definitions are either explicitly ended with an ENDCMTCTL
command or ended by the system when the job ends.
The system automatically closes any files scoped to the activation group when the
activation group ends. This includes any database files scoped to the activation
group opened under commitment control. The close for any such file occurs before
any implicit commit operation that may be performed for the activation-group-
level commitment definition. Therefore, any records that reside in an I/O buffer
are first forced to the database before any implicit commit operation is performed.
As part of the implicit commit or rollback operation that may be performed, a call
is made to the API commit and rollback exit program for each API commitment
Prior to ending a commitment definition during routing step end, the system
performs an implicit rollback operation if the commitment definition has pending
changes. This includes calling the API commit and rollback exit program for each
API commitment resource associated with the commitment definition. The exit
program must complete its processing within 5 minutes. After the API commit and
rollback exit program is called, the system automatically removes the API
commitment resource.
If a notify object is defined for the commitment definition, it may be updated. See
“Updates Made to the Notify Object” on page 531 for more information about the
updating of a notify object by the system.
The system performs the following for commitment definitions being ended during
an abnormal job end or during the next IPL after an abnormal system end:
v Prior to ending a commitment definition, the system performs an implicit
rollback operation if the commitment definition has pending changes, unless
processing for the commitment definition was interrupted in the middle of a
commit operation. If ended in the middle of a commit operation, the LUW may
be rolled back, resynchronized, or committed, depending on its state. See
Table 80 on page 574 and Table 81 on page 576. The processing to perform the
implicit rollback operation or to complete the commit operation includes calling
ATTENTION!
1. Ending the job while an LUW is in doubt (LUW state is LAP or PRP)
can cause inconsistencies in the database (changes might be committed
on one or more systems and rolled back on other systems).
– If the Action if Endjob commitment option is COMMIT, changes on
this system are committed if the job is ended, without regard to
whether changes on the the other systems participating in the
transaction are committed or rolled back.
– If the Action if Endjob commitment option is ROLLBACK, changes on
this system are rolled back if the job is ended, without regard to
whether changes on the other systems participating in the transaction
are committed or rolled back.
– If the Action if Endjob commitment option is WAIT, the job will not
end until resynchronization completes to the system that owns the
commit or rollback decision. To make the job end before
resynchronization is complete, a heuristic decision must be made and
resynchronization must be cancelled.
2. Ending the job or system abnormally during a long-running rollback is
| not recommended. This will cause another rollback to occur as the job
| ends (or during the next IPL if the system is ended). The subsequent
rollback will repeat the work performed by the original rollback and
take significantly longer to run.
When commitment control is active for any job on the system, the system performs
the following during the save-while-active checkpoint processing:
v Identifies all jobs that have one or more commitment definitions with pending
committable changes related to the objects being saved by the save-while-active
operation.
v For identified jobs, allows additional committable changes to be made for any
commitment definitions already started, or to be started. Additional committable
changes are allowed for the objects so that all pending changes for the objects
saved by the save-while-active operation can be committed or rolled back.
v Delays any job that attempts to make a committable change to an object being
saved by the save-while-active operation and all commitment definitions for the
job do not have any pending changes for any objects being saved by the
save-while-active operation. The job is delayed only until the checkpoint
processing is completed for the save-while active operation.
Any job not making committable changes to the objects being saved by the
save-while-active operation is not delayed, except for the following cases:
v Object-level changes made to local resources using SQL.
Any job that attempts to make an object-level committable change within a
library that is having objects saved from it by a save-while-active operation.
Note: This does not apply to API resources that were added using the
QTNADDCR API if the Allow normal save processing field has a value of Y.
For all the cases mentioned previously that delay a job due to a save-while-active
operation, the job is delayed only if all other commitment definitions for the job do
not have any pending changes for any objects being saved by the save-while-active
operation. The job is delayed only until the checkpoint processing is completed for
the save-while-active operation.
The save active wait (SAVACTWAIT) parameter value on the save commands can
be used to control the amount of time allowed for jobs to reach, and be delayed at,
a commitment boundary.
| You can lock a maximum of 500 000 000 records during a transaction for each
| journal associated with the transaction. You can reduce this limit by using a Query
| Options File (QAQQINI). Use the QRYOPTLIB parameter of the Change Query
| Attributes (CHGQRYA) command to specify a Query Options File for a job to use.
| Use the COMMITMENT_CONTROL_LOCK_LEVEL value in the Query Options
| File as the lock limit for the job.
Note: The shorter the transaction, the earlier the job waiting to start
save-while-active checkpoint processing can continue and complete.
For example, for an order entry application, a customer might order several items
in a single order requiring an order detail record and an inventory master record
update for every item in the order. If the transaction is defined as the entire order
and each use of the Enter key orders an item, all records involved in the order are
locked for the duration of the entire order. Therefore, often-used records (such as
inventory master records) could be locked for long periods of time, preventing
other work from progressing. If all items are entered with a single Enter key using
a subfile, the duration of the locks for the entire order is minimized.
If the workstation user presses the Enter key several times for a transaction, it is
possible to perform the transaction in a number of segments. For example:
v The first segment is an inquiry in which the workstation user requests the
information.
v The second segment is a confirmation of the workstation user’s intent to
complete the entire transaction.
v The third segment is retrieval and update of the affected records.
Record Locking
When a job holds a record lock and another job attempts to retrieve that record for
update, the requesting job waits and is removed from active processing until one
of the following occurs:
v The record lock is released.
v The specified wait time ends.
Note: For more information about how to use each high-level language
interface to release record locks, see the appropriate high-level
language reference manual.
Minimizing Locks
A typical way to minimize record locks is to release the record lock. (This
technique does not work if LCKLVL(*ALL) has been specified.) For example, a
single file maintenance application typically does the following:
v Displays a prompt for a record identification to be changed.
v Retrieves the requested record.
In most cases, the record is locked from the access of the requested record through
the update. The record wait time may be exceeded for another job that is waiting
for the record. To avoid locking a record while the workstation user is considering
a change, release the record after it is retrieved from the database (before the
record display appears). You then need to access the record again before updating.
If the record was changed between the time it was released and the time it was
accessed again, you should inform the workstation user. The program can
determine if the record was changed by saving one or more fields of the original
record and comparing them to the fields in the same record after it is retrieved, as
follows:
v Use an update count field in the record and add 1 to the field just before an
update. The program saves the original value and compares it to the value in
the field when the record is retrieved again. If a change has occurred, the
workstation user is informed and the record appears again. The update count
field is changed only if an update occurs. The record is released while the
workstation user is considering a change. If you use this technique, you must
use it in every program that updates the file.
v Save the contents of the entire data record and compare it to the record the next
time it is retrieved.
In both cases above, the sequence of operations prevents the simple use of
externally described data in RPG where the same field names are used in the
master record and in the display file. Using the same field names (in RPG) does
not work because the workstation user’s changes are overlaid when the record is
retrieved again.
You can solve this problem by moving the record data to a data structure or
continue to use externally described data if you use the DDS keyword RTNDTA.
The RTNDTA keyword allows your program to reread data on the display without
the operating system having to move data from the display to the program. This
allows the program to do the following:
1. Prompt for the record identification.
2. Retrieve the requested record from the database.
3. Release the record.
4. Save the field or fields used to determine if the record was changed.
5. Display the record and wait for the workstation user to respond.
If the workstation user changes the record on the display, the program uses the
following sequence:
1. Retrieves the record from the database again.
2. Compares the saved fields to determine if the database record has been
changed. If it has been changed, the program releases the record and sends a
message when the record appears.
3. Retrieves the record from the display by running a read operation with the
RTNDTA keyword and updates the record in the database record.
4. Proceeds to the next logical prompt because there are no additional records to
be released if the workstation user cancels the request.
The input file is an update file with a code in the records to indicate that a record
was processed. This file and any files updated are placed under commitment
control. When the code is present in the input file, it represents a completed
transaction. The program reads through the input file and bypasses any records
with the completed code. This allows the same program logic to be used for
normal and starting again conditions.
If the batch application contains input records dependent on one another and
contains switches or totals, a notify object can be used to provide information on
starting again. The values held in the notify object are used to start processing
again from the last committed transaction within the input file. See the topic
“Notify Object Parameter” on page 530.
Any commit cycle that exceeds 2000 locks will probably slow down system
performance noticeably. Otherwise, the same locking considerations exist as for
interactive applications, but the length of time records are locked in a batch
application may be less important than in interactive applications.
Note: The Status column on the Work with Active Jobs (WRKACTJOB
command) display shows CMTW (commit wait) when a job is being held
due to save-while-active checkpoint processing.
v Committing or rolling back changes when save-while-active processing is active
A commit or rollback operation may be delayed at a commitment boundary
when a save-while-active operation is running in a different job. This can
happen when an API commitment resource was previously added to the
commitment definition, unless the API resource was added using the
QTNADDCR API and the Allow normal save processing field has a value of Y.
Because the job is held during the commit or rollback request, and because a
commit or rollback request can be performed only for a single commitment
Note: If the wait time exceeds 60 seconds, inquiry message CPA8351 is sent to
ask the user whether to continue waiting or cancel the operation.
v Adding an API resource using the QTNADDCR API
A request to add an API commitment resource using the QTNADDCR API may
be delayed if all commitment definitions for the job are at a commitment
boundary and a save-while-active operation is running in a different job.
Notes:
1. If the wait time exceeds 60 seconds, inquiry message CPA8351 is sent to ask
the user whether to continue waiting or cancel the operation.
2. This does not apply to API resources that were added using the
QTNADDCR API if the Allow normal save processing field has a value of Y.
v Using a default journal can help performance if you close and reopen all files
under commitment control while the commitment definition is active.
v Using a default journal with OMTJRNE(*NONE) degrades the performance of
commit and rollback operations.
v Last agent selected.
Performance is enhanced when a last agent is selected because fewer interactions
between the system and the last agent are required during a commit operation.
However, if a communications failure occurs during a commit operation, the
commit operation will not complete until resynchronization completes regardless
of the value of the wait for outcome option. Such a failure is rare but this option
allows the application writer to consider the negative impact of causing the user
to wait indefinitely for the resynchronization to complete when a failure does
occur. This should be weighed against the performance enhancement that is
provided by last agent optimization during successful commit operations. This
consideration is generally more significant for interactive jobs than for batch
jobs.
The default is that a last agent is permitted to be selected by the system but the
user can modify this value using the QTNCHGCO API.
v Wait for Outcome option
When remote resources are under commitment control, performance is improved
when the Wait for Outcome option is set to N (No) and all remote systems
support presumed abort. (Presumed abort is available at V3R7 and later
releases.) The Wait for Outcome option is set to N by the system for DRDA and
DDM application when the first connection is made to a remote system. APPC
applications must explicitly set the Wait for Outcome option, or the default
value of Y will be used.
v OK to Leave Out option
Note: For logical files, all the related physical files are checked.
– Any object-level changes within a library that is being saved.
– Any API resource that was added using the QTNADDCR API and with the
Allow normal save processing field set to the default value of N.
This prevents pending changes due to a partial transaction from being saved to
the save media.
Note: Object locks and record locks prevent pending changes from commitment
definitions in other jobs from being saved to the save media. This is true
only for API commitment resources if locks are acquired when changes
are made to the object or objects associated with the API commitment
resource.
v Before upgrading your system to a new release, all pending resynchronizations
should either be completed or cancelled. See Software Installation, SC41-5120-05
for more details.
v The COMMIT and ROLLBACK values are shown on the WRKACTJOB Function
field during a commit or rollback. If the Function remains COMMIT or
ROLLBACK for a long time, one of the following situations might have
occurred:
– A resource failure during the commit or rollback requires resynchronization.
Control will not return to the application until the resynchronization
completes or is cancelled.
– This system voted read-only during the commit. Control will not return to the
application until the system that initiated the commit sends data to this
system.
– This system voted ok to leave out during the commit. Control will not return to
the application until the system that initiated the commit sends data to this
system.
Error Conditions
The following are some typical errors related to commitment control.
Note: The trigger program can start a separate commitment definition and issue
a commit or rollback request for that definition.
Non-Error Conditions
The following are some situations for commitment control in which no errors
occur:
v A commit or rollback operation is run and no resources are under commitment
control. This allows you to include commit or rollback operations in your
program without considering whether there are resources under commitment
control. It also allows you to specify a commit identification before making any
committable changes.
v A commit or rollback operation is run and there are no uncommitted resource
changes. This allows you to include commit and rollback operations within your
program without considering whether there are uncommitted resource changes.
v A file under commitment control is closed and uncommitted records exist. This
situation allows another program to be called to perform the commit or rollback
operation. This occurs regardless of whether or not the file is shared. This
function allows a subprogram to make database changes that are part of a LUW
involving multiple programs.
v A job ends, either normally or abnormally, with uncommitted changes for one or
more commitment definitions. The changes for all commitment definitions are
rolled back.
v An activation group ends with pending changes for the activation-group-level
commitment definition. If the activation group is ending normally and there are
no errors encountered when closing any files opened under commitment control
scoped to the same activation group that is ending, an implicit commit is
performed by the system. Otherwise, an implicit rollback is performed.
v A program accesses a changed record again that has not been committed. This
allows a program to:
– Add a record and update it before specifying the commit operation.
– Update the same record twice before specifying the commit operation.
– Add a record and delete it before specifying the commit operation.
– Access an uncommitted record again by a different logical file (under
commitment control).
v You specify LCKLVL(*CHG or *CS) on the STRCMTCTL command and open a
file with a commit operation for read only. In this case, no locks occur on the
request. It is treated as if commitment control is not in effect, but the file does
appear on the WRKJOB menu option of files under commitment control.
To prevent partially completed LUWs from being committed, monitor for escape
messages after the CALL command. For example, if it is an RPG program, use the
following coding:
CALL RPGA
MONMSG MSGID(RPG9001)
EXEC(ROLLBACK) /*Rollback if pgm is canceled*/
If it is a COBOL program:
CALL COBOLA
MONMSG MSGID(CBE9001)
EXEC(ROLLBACK) /*Rollback if pgm is canceled*/
Note: None of the above messages can be monitored for during activation group
end or job process end. Any errors encountered when ending an
activation-group-level commitment definition during activation group end or
any commitment definition during job end are left in the job log as
diagnostic messages. The following sections show you when you can expect
certain types of messages.
Because the locks on both records are kept by commitment control until the LUW
is committed, a situation cannot arise in which one record is updated and the other
is not. If a routing step or system failure occurs before the LUW is committed, the
system removes (rolls back) the changes that have been made so that the files are
updated to the point where the last LUW was committed.
For each routing step in which files are to be under commitment control, the steps
shown in Figure 62 occur:
┌───────────────────────────────────────────┐
│ STRCMTCTL - establishes a commitment │
│ definition │
├───────────────────────────────────────────┤
│ CALL PGMA - calls program whose files ├─────┐
│ are under commitment control │ │
├───────────────────────────────────────────┤ │
│ ENDCMTCTL - notifies the system to end │ │
│ the commitment definition │ │
└───────────────────────────────────────────┘ │
┌───────────────────────────────┘
│
PGMA
N
┌───────────────────────────────────────────┐
│* Opens files under commitment control │
│* Processes an LUW │
│* Commits or rolls back the LUW │
│* Closes the files under commitment control│
│* Processes additional LUWs or returns │
└───────────────────────────────────────────┘
Journal Entries
┌──────────────────────────────────┐W──────┐
│ Start commitment control │ │
├──────────────────────────────────┤ │
│ Savings record before-image │ │
├──────────────────────────────────┤ │
│ Savings record after-image │ LUW │
├──────────────────────────────────┤ │
│ Checking record before-image │ │
├──────────────────────────────────┤ │
│ Checking record after-image │ │
├──────────────────────────────────┤W──────┘
│ COMMIT -- Customer number 772389 │ LUW
└──────────────────────────────────┘ committed by
the program
Figure 63. Journal Entries for Transfer of Funds from Savings to Checking
The start commitment control journal entry appears after the first file open entry
under commitment control. This is because the first file open entry determines
what journal is used for commitment control. The journal entry from the first open
operation is then used to check subsequent open operations to ensure all files are
using the same journal.
When a job failure or system failure occurs, the resources under commitment
control are updated to a commitment boundary. If a LUW is started but is not
completed before a routing step ends, that LUW is rolled back by the system and
does not appear in the file after the routing step ends. If the system abnormally
ends before an LUW is completed, that LUW is rolled back by the system and does
not appear in the file after a subsequent successful initial program load (IPL) of
licensed internal code. Anytime a rollback occurs, reversing entries are placed in
the journal.
For example, assume you have a balance of $100.00 and a customer takes out
$20.00, for a new balance of $80.00. The database update causes both before-image
($100.00) and after-image ($80.00) journal entries. The journal entries appear as in
the example in Figure 64
Journal Entries
┌──────────────────────────┐W──── Last committed
│COMMIT -- │ LUW
│ Customer number 772389 │
├──────────────────────────┤W──── Start of new
│Savings record │ LUW
│ before-image ($100.00) │
├──────────────────────────┤
│Savings record │
│ after-image ($80.00) │
└──────────────────────────┘W──── System ends
abnormally
Journal Entries
┌──────────────────────────┐W──── Last committed
│COMMIT -- │ LUW
│ Customer number 772389 │
├──────────────────────────┤W──── Start of new
│Savings record │ LUW
│ before-image ($100.00) │
├──────────────────────────┤
│Savings record │
│ after-image ($80.00) │ System ends
├──────────────────────────┤W──── abnormally
│Savings record │W────┐
│ before-image ($80.00) │ │
│ updated for rollback │ │ Changes are
├──────────────────────────┤ │ rolled
│Savings record │ │ back
│ after-image ($100.00) │ │
│ updated for rollback │ │
├──────────────────────────┤ │
│ROLLBACK │ │
└──────────────────────────┘W────┘
When the IPL is successfully completed after the abnormal end, the system
removes (or rolls back) any database changes that are not committed. In the
preceding example, the system removes the changes from the savings record
because a commit operation is not in the journal for that LUW. In this case, the
before-image of the savings record is placed in the file. The journal contains the
rolled back changes, and an indication that a rollback operation occurred, as in the
example shown in Figure 65.
The following examples ( Figure 66 through 70) assume that an order inventory file
is being used to perform LUWs and that a transaction logging file already exists.
The program does the following:
1. Prompts the workstation user for a quantity and item number.
2. Updates the quantity in the production master file (PRDMSTP).
3. Writes a record to the transaction logging file (ISSLOGL).
SEQNBR *... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7
SEQNBR *... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7
SEQNBR *... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7
1.00 A LIFO
2.00 A R ISSLOGR PFILE(ISSLOGP)
3.00 A K USER
1.00 A REF(ISSLOGP)
2.00 A R PROMPT
3.00 A CA03(98 'End of program')
4.00 A CA02(97 'Where am I')
5.00 A 1 20'ISSUES PROCESSING'
6.00 A 3 2'Quantity'
7.00 A QTY R I +1
8.00 A 62 ERRMSG('Not enough +
9.00 A Qty' 62)
10.00 A +6'Product'
11.00 A PRODCT R I +1
12.00 A 61 ERRMSG('No Product +
13.00 A record found' 62)
14.00 A 55 15 2'No Previous record exists'
15.00 A 24 2'CF2 Last transaction'
16.00 A R RESTART
17.00 A 1 20'LAST TRANSACTION +
18.00 A INFORMATION'
19.00 A 5 2'Product'
20.00 A PRODCT R +1
21.00 A 7 2'Description'
22.00 A DESCRP R +1
23.00 A 9 2'Qty'
24.00 A QTY R +1REFFLD(QTY)
Figure 69. DDS for Display File PRDISSD Used in the Program
The user name is passed to the program when it is called. The access path for the
transaction logging file is defined in last-in-first-out (LIFO) sequence so the
program can easily access the last record entered.
The workstation user can start the program again after a system or job failure by
using the same function that identified where data entry was stopped. No
additional code needs to be added to the program. If you are currently using a
transaction logging file but are not using it to find out where you are, add the user
name to the transaction logging file (assuming user names are unique) and use this
approach in the program.
Figure 71 on page 607 shows the RPG program used. Statements required for
commitment control are marked with arrows (==>).
SEQNBR *... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7 ..
1.00 PGM
2.00 DCL &USER *CHAR LEN(10)
3.00 STRCMTCTL LCKLVL(*CHG)
4.00 RTVJOBA USER(&USER)
5.00 CALL PRDISS PARM(&USER)
6.00 MONMSG MSGID(RPG900l) EXEC(ROLLBACK)
7.00 ENDCMTCTL
8.00 ENDPGM
In this example, there is no additional advantage to using the lock level *ALL. If
*ALL were used, a rollback or commit operation would have to be used to release
the record when an insufficient quantity existed.
Figure 72 on page 607 is a CL program that calls the RPG program PRDISS. Note
the use of STRCMTCTL/ENDCMTCTL commands. The unique user name is
retrieved (RTVJOBA command) and passed to the program. The use of the
MONMSG command to cause a rollback is described in “Standard Commit
Processing Program” on page 618.
There are several techniques for starting your applications again depending on
your application needs. In choosing the technique, consider the following:
v When there are multiple users of a program at the same time, a single data area
cannot be used as the notify object because after an abnormal system end, the
commit identification for each user would overlay each other in the data area.
v Your design for deleting information in the notify object should handle the
situation when a failure occurs immediately following use of the information:
– If information is deleted immediately, it would not exist if another failure
occurs before processing the interrupted LUW.
The program has two database files (PRDMSTP and PRDLOCP) that must be
updated for receipts to inventory. The display file used by the program is named
PRDRCTD. A database file, PRDRCTP, is used as the notify object. This notify
object is defined to the program as a file and is also used as the definition of a
data structure for the notify function.
The DDS for the physical file PRDMSTP is shown in Figure 66 on page 603.
SEQNBR *... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7
1.00 A REF(PRDMSTP)
2.00 A R PROMPT
3.00 A CA03(98 'End of program')
4.00 A SETOFF(71 'RESTART')
5.00 A 1 20'PRODUCT RECEIPTS'
6.00 A 3 2'Quantity'
7.00 A QTY 3 OI +1
8.00 A +6'Product'
9.00 A PRODCT R I +1
10.00 A 61 ERRMSG('No record +
11.00 A found in the +
12.00 A master file' 62)
13.00 A +6'Location'
14.00 A LOCATN R I +1REFFLD(LOCATN PRDLOCP)
15.00 A 62 ERRMSG('No record +
16.00 A found in the +
17.00 A location file' 62)
18.00 A 9 2'Last Transaction'
19.00 A 71 +6'This is restart +
20.00 A information'
21.00 A DSPATR(HI BL)
22.00 A 12 2'Quantity'
23.00 A 12 12'Product'
24.00 A 12 23'Location'
25.00 A 12 35'Description'
26.00 A LSTPRD R 14 15REFFLD(PRODCT)
27.00 A LSTLOC R 14 26REFFLD(LOCATN *SRC)
28.00 A LSTQTY R 14 5REFFLD(QTY *SRC)
29.00 A EDTCDE(Z)
30.00 A LSTDSC R 14 35REFFLD(DESCRP)
SEQNBR *... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7 ..
1.00 A LIFO
2.00 A REF(PRDMSTP)
3.00 A R PRDRCTR
4.00 A USER 10
5.00 A PRODCT R
6.00 A DESCRP R
7.00 A QTY 3 0
8.00 A LOCATN R REFFLD(LOCATN PRDLOCP)
9.00 A K USER
Figure 75. DDS for Notify Object and Externally Described Data Structure (PRDRCTP)
The processing for this program prompts the user for a product number, a location,
and a quantity:
v Two files must be updated:
– Product master file (PRDMSTP)
– Product location file (PRDLOCP)
v A record in each file must exist before either is updated.
v The program moves the input fields to corresponding last fields after each
transaction is successfully entered. These last fields are displayed to the operator
on each prompt as feedback for what was last entered.
v If information for starting again exists, it is moved to these last fields and a
special message appears on the display.
This process is outlined in Figure 76 on page 612. The user name is passed to the
program to provide a unique record in the notify object.
Read
Read Last Product
Notify Object Location
Record Record
No Release
Lock on No
Found Found
Product
Master
Yes Yes
Move Restart
Set for Add
Information to
Error Quantity
’Last’ Fields
62
Update
Basic Product
Prompt Prompt Location
98 = F3
End of No Read Product
Program Master Record Commit
Yes
No Move Restart
Read Notify Found Set for Information to
Object Record Error ’Last’ Fields
61
Yes
No B A A
Found End
Yes
Delete
RV2W415-0
The following is the RPG source code for this example. The notify object (file
PRDRCTP) is used as a normal file at the beginning and end of the program, and
is also specified as the notify object in the CL (STRCMTCTL command) before
calling the program.
Because the information required to start again may vary from program to
program, an externally described data structure for the commit identification
should not be used. If a single notify object is used, the preceding program could
describe the data structure within the program rather than externally. For example:
1 10 USER
11 20 PGMNAM
21 23 PRODCT
24 29 LOCATN
30 49 DESC
50 51 0 QTY
52 220 DUMMY
In each program that uses this notify object, the information specified for the
commit identification would be unique to the program (the user and program
names are not unique). The notify object must be large enough to contain the
maximum information that any program would place in the commit identification.
For this approach, the physical file NFYOBJP is used as the notify object and
defined as:
Unique user profile name 10 characters
Program identification 10 characters
Information for
The file is created with SHARE(*YES). The first two fields in the file are the key to
the file. (This file can also be defined as a data structure in RPG programs.)
Processing Flow
The standard program is called from applications that must start again. The
application programs pass this parameter list to the standard program:
v Request code
v Return code
v Data structure name (the contents of the notify object)
The program is written to verify the parameters that were passed and perform the
appropriate action as follows:
O=Open
The calling program requests the notify object file be kept open on return.
Because the notify object is opened implicitly by the RPG program, the
program should not close it. Indicator 98 is set so the program returns with
LR off to keep the program’s work areas and leaves the notify object open
so it can be called again without excess overhead.
Figure 79 on page 620 shows the standard commit processing program, STDCMT.
The initial program passes a request code of S (search) to the standard program,
which searches for any record for the user. If a record exists, the information for
starting again is passed to the initial program and the information is displayed to
the workstation user.
The commit identification in the notify object should contain information that the
initial program can display identifying what program needs to be started again.
For example, the last 50 characters of the commit identification can be reserved to
contain this information. In the application program, this information could be in a
compile-time array and moved to the data structure in an initialization step.
Figure 78 on page 617 shows how to include this in the application program.
SEQNBR *... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7
1.00 PGM
2.00 DCLF CMTINLD
3.00 DCL &RQSCOD *CHAR LEN(1) VALUE(S) /* Search */
4.00 DCL &RTNCOD *CHAR LEN(1)
5.00 DCL &CMTID *CHAR LEN(220)
6.00 DCL &USER *CHAR LEN(10)
7.00 DCL &INFO *CHAR LEN(50)
8.00 RTVJOBA USER(&USER)
9.00 CHGVAR &CMTID (&USER *CAT XX)
10.00 /* The XX is reqrd to prevent a blank Pgm nam */
11.00 CALL STDCMT PARM(&RQSCOD &RTNCOD &CMTID)
12.00 IF (&RTNCOD *EQ '1') DO /* RESTART REQD */
13.00 CHGVAR &INFO %SST(&CMTID 171 50)
14.00 SNDRCVF RCDFMT(RESTART)
15.00 ENDDO
16.00 /* */
17.00 /* Enter normal initial program statements */
18.00 /* or -TFRCTL- to first menu program */
19.00 /* */
20.00 ENDPGM
This is the control program that calls the ITMPCS program. It retrieves the
user name and passes it to the processing program. This application assumes
that unique user names are used.
8. Create a display file named ITMPCSD from the DDS shown in Figure 82 on
page 629.
There are two formats, the first for the basic prompt display and the second to
allow the operator to review the last transaction entered. This display file is
used by the ITMPCS program.
9. Study the logic flow provided in Figure 83 on page 630.
10. Enter the STRSEU command and type the source shown in Figure 81 on
page 624.
|
| Figure 81. RPG Source Program for ITMPTCS (Part 2 of 2)
|
11. Enter the CRTRPGPGM command to create program ITMPCS from the source
entered in the previous step.
12. Type the command CALL ITMPCSC, press Enter, and press F4. A message
should appear stating that there are no entries for this operator.
13. Enter the following data to see if the program operates correctly:
Quantity
Item
3 AA
4 BB
14. Press F4. The review display should appear with the BB item last entered.
Enter the following data:
Quantity
Item
5 FF (Invalid item number message should occur.)
9000 BB (Insufficient quantity error message should occur.)
100 CC (Rollback message should occur.)
102 CC (RPG DSPLY operation should occur. Press the Enter key.)
101 CC (The program should display an inquiry message stating that a
divide-by-zero condition has occurred or end, depending on the
setting of job attribute INQMSGRPY. If the inquiry message appears,
enter C to cancel the RPG program and then C to cancel the CL
program on the subsequent inquiry. This simulates an unexpected
error condition.)
15. Type the Display Data command DSPDTA ITMP.
See if the records AA and BB have been updated correctly. The values should
be AA = 447, BB = 371, and CC = 3697. Note that the quantities subtracted
from CC occurred, but the transaction records were not written.
16. Create a journal receiver for commitment control. Use the Create Journal
Receiver (CRTJRNRCV) command to create a journal receiver called RCVR1 in
| the CMRLIB library. Specify a threshold of at least 5000KB.A larger threshold
| is recommended if your system has sufficient space in order to maximize the
Note how the commitment control before- and after-images (’R UB’ and ’R
UP’ types) automatically occur even though you had originally requested
IMAGES(*AFTER) for the journal.
30. Type the command CALL ITMPCSC and the following transactions:
Quantity
Item
12 AA
100 CC (This is the condition to simulate the need for an application use
of rollback. The CC record in the ITMP file, which was updated by
RPG statement 40.00 is rolled back.)
31. Press F4 to determine the last transaction entered.
The last committed transaction is the entry for item AA.
32. Use System Request and request the Display Current Job option. When the
Display Job display appears, request the display of the commitment control
status.
Note the values on the display and how they have been changed by the
rollback.
33. Return to the program.
34. Return to the basic prompt display and end the program by pressing F3.
35. Type the command DSPJRN CMTLIB/JRNTEST.
Note the additional entries that appear in the journal for the use of the
rollback entry (’C RB’ entry). When the ITMP record is rolled back, three
The last entry is the RB entry for the end of the rollback.
37. Type the command CALL ITMPCSC, press Enter, and press F4. Note the last
transaction entered.
38. Type the following transactions:
Quantity
Item
13 AA
101 CC (This is the condition to simulate an unexpected error condition,
which causes the program to end. The simulation occurs by dividing a
field by 0. The program will display an inquiry message or end,
depending on the setting of the job attribute INQMSGRPY. If the
inquiry message appears, enter C to end the program. Because the CL
program was changed to monitor for RPG program errors, the second
inquiry which occurred does not occur.)
39. Type the command DSPJRN CMTLIB/JRNTEST.
The same type of rollback handling has occurred, but this time the rollback
was caused by the EXEC parameter of the MONMSG command in the CL
program instead of the RPG program. Display the two RB entries to see which
program caused them.
40. Type the command WRKJOB and write down the fully qualified job name to
be used later.
41. Type the command CALL ITMPCSC and enter the following transaction:
Quantity
Item
14 AA
102 CC (The RPG DSPLY operation should occur to the external message
queue. Use the System Request key and select option 1 on the system
request menu to transfer to a secondary job.)
42. Sign on to the second job and reestablish your environment.
43. Type the command ENDJOB and specify the fully qualified job name
identified earlier and OPTION(*IMMED). This simulates an abnormal job or
system end.
44. Wait about 30 seconds, type the command CALL ITMPCSC and press F4.
Note the last committed transaction. It should be the AA item entered earlier.
45. Return to the basic prompt display and end the program by pressing F3.
46. Type the command DSPJRN CMTLIB/JRNTEST.
You have now used the basic functions of commitment control. You can proceed
with commitment control on your applications or try some of the other functions
such as:
v Using a notify object
v Locking records that are only read with LCKLVL(*ALL)
v Locking multiple records in the same file with LCKLVL(*ALL)
Figure 82 shows the DDS for the display file.
SEQNBR *... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7 ..
1.00 A R PROMPT
2.00 A CA03(93 'End of program')
3.00 A CA04(94 'Review last')
4.00 A SETOFF(64 'No rcd to rvw')
5.00 A 1 2'INVENTORY TRANSACTIONS'
6.00 A 3 2'Quantity'
7.00 A QTY 5 0I +1
8.00 A 61 ERRMSG('Invalid +
9.00 A quantity' 61)
10.00 A +5'ITEM'
11.00 A ITEM 2 I +1
12.00 A 62 ERRMSG('Invalid +
13.00 A Item number' 62)
14.00 A 63 ERRMSG('Rollback +
15.00 A occurred' 63)
16.00 A 64 24 2'CF4 was pressed and +
17.00 A there are no +
18.00 A transactions for +
19.00 A this user'
20.00 A DSPATR(HI)
21.00 A 23 2'CF4 Review last +
22.00 A transaction'
23.00 A R REVW
24.00 A 1 2'INVENTORY TRANSACTIONS'
25.00 A +5'REVIEW LAST TRANSACTION'
26.00 A 3 2'Quantity'
27.00 A QTY 5 0 +1EDTCDE(Z)
28.00 A +5'Item'
29.00 A ITEM 2 +1
Figure 83 on page 630 illustrates the logic flow for the practice problem.
17 1
Write
Transaction Retrieve
Record User Name
A
18 2
Basic
Commit Prompt Prompt
23 3
End of Yes End of
Program Program
Functions F3
No
5 4 19
Read No Yes Read Last
Item Review
for This
Record Last
F4 User
6 7 20 21
No No Item No No Review
Found Record Found Record
Error Error
62 64
Yes Yes
8
A A
Check
on Hand
9 10 22
Release Last
Sufficient No Lock on
Display Transaction
Quantity Item Information
Record
Yes
12 11
Modify/ A
Insufficient
Update
Quantity
Item
Error
Record
61
13
No A
Check
B
Simulation
Yes
RV2W416-0
14
No
Quantity
= 100
Yes
15
Quantity No
Rollback
= 101
Yes
16
A
Divide by No
Quantity B
Zero = 102
Yes
Response to
inquiry should
be c = cancel.
Display
Operator should
system request
to a separate
job and end
this one.
RSLS817-3
If you use this function, the system uses existing support (a device on the first
system bus) to install or recover a portion of the Licensed Internal Code. This
allows you to perform an IPL-type D. With the new alternate installation device
support; the system continues the operation by using media in the alternate
installation device. This new function supports installation and recovery from
storage media. This media is a SAVSYS media volume or distribution media
volume which you created, that contains Licensed Internal Code and may contain
the operating system, licensed programs, and data.
Some models, typically with 3590 tape devices attached, may see a performance
improvement when using an alternate installation device for save operations.
Attention!
In Models 600, 620, 720, and S20, the IOPs to which certain older tape devices
attach require an expansion unit in order to use the devices. The following
tape devices are affected: 2440, 3422, 3430, 9347, 3480, some models of 3490,
and 7208-002. Other 7208 models and 3490 models Exx, C11 and C22 are
supported without an expansion unit. 3490 models C1A and C2A can be
converted to SCSI format which is supported without an expansion unit. If
you want to use these older tape devices as alternate installation devices on
models 600 and 620, you need the expansion unit and you need to set up the
devices as alternate installation devices.
Do the following to set the addresses and enable the alternate installation device:
Note: You need to know the password for Dedicated Service Tools to perform this
procedure.
1. Use the control panel to set the mode to Manual. Then perform an IPL using
the command: PWRDWNSYS OPTION(*IMMED) RESTART(*YES) IPLSRC(B).
2. When the IPL or Install the System display appears, select option 3 (Use
Dedicated Service Tools (DST)) and press the Enter key.
3. The Dedicated Service Tools (DST) Sign On display appears.
5. From the Select Alternate Installation Device display, type a 5 (Display details)
next to the resource you want and press the Enter key.
Resource Serial
Option Name Type Model Number Selected
_ TAP01 6380 001 00-00000
_ TAP08 3287 030 00-00000
_ TAP02 6380 001 00-00000
_ TAP05 3287 030 00-00000 *
_ TAP09 6380 001 00-00000
_ TAP16 3287 030 00-00000
Physical location:
Location text . . . . . . . :
Frame ID . . . . . . . . . :
Card slot . . . . . . . . . :
Logical address:
SPD bus:
System bus . . . . . . . . : 0002
System board . . . . . . . : 0000
System card . . . . . . . . : 0002
Storage:
I/O bus number . . . . . . : 0000
Controller . . . . . . . . : 0007
Device address . . . . . . : 0000
F3=Exit F12=Cancel
Type a 1 (Exit Dedicated Service Tools (DST)) and press the Enter key.
11. The next display display you see is the IPL or Install the System display. Type
a 1 (Perform an IPL) and press the Enter key to complete the procedure.
Note: An alternative to this step is to use the control panel to select function
21. (Dedicated Service Tools). If you use this alternative, the next step is
step 3.
2. When the IPL or Install the System display appears, select option 3 (Use
Dedicated Service Tools (DST)) and press the Enter key.
3. The Dedicated Service Tools (DST) Sign On display appears. Sign on using the
QSECOFR user profile.
4. The Use Dedicated Service Tools (DST) menu appears. From the Use Dedicated
Service Tools (DST) menu, do the following:
5. At the Select Alternate Installation Device display, type a 1 next to the device
you want to disable, and press F2 (Deselect device).
6. You should see the following message at the bottom of the display:
Alternate installation device disabled
7. Press F3 (Exit) to return to the Use Dedicated Service Tools (DST) display.
8. Press F3 (Exit) again. The Exit Dedicated Service Tools (DST) display appears.
Type a 1 (Exit Dedicated Service Tools (DST)) and press the Enter key.
9. The next display you see is the IPL or Install the System display. Type a 1
(Perform an IPL) and press the Enter key to complete the procedure.
You can use System Service Tools (SST) to do some disk configuration procedures
while your system is active.For other procedures, you must stop your system and
use Dedicated Service Tools (DST). This chapter provides information about both
SST and DST.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 84. Configuring Disks on a New System–Tasks
Task What To Do Where To Read More About It
Task 1 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 2 Display your disk configuration. Currently, “How to Display Your Disk Configuration”
all of your disk units except the load source on page 663.
unit appear as nonconfigured.
Task 3 If you plan to have device parity protection “How to Start Device Parity Protection for a
on any of your disk units, start it using the 9337 Disk Array Subsystem” on page 695 or
procedure for the types of disk units that “How to Start Device Parity Protection for an
you have. Input/Output Processor” on page 699.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Chapter 24. Procedures for Configuring Disks and Disk Protection 645
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 85. Adding Disk Units without Device Parity Protection–Tasks
Task What To Do Where To Read More About It
Task 1 Physically attach disk units. This is normally
done by a service representative.
Task 2 Start DST or SST “How to Start Dedicated Service Tools
(DST)” on page 660 or “Starting System
Service Tools (SST)” on page 662.
Task 3 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 4 Add nonconfigured disk units to the correct “How to Add Disk Units to an Auxiliary
ASPs. See note 1 and note 2. Storage Pool” on page 669.
Task 5 If you created a new ASP on your system “How to Change the Storage Threshold for
when you added disk units, the system set an Auxiliary Storage Pool” on page 672.
the storage threshold of the ASP to 90%. If
you want a different threshold, change it.
Task 6 Specify the storage threshold for the system “How to Change the Storage Threshold for
ASP. If you use the QSTGLOWLMT and the System Auxiliary Storage Pool” on
QSTGLOWACN system values, you can page 673.
prevent the system ASP from filling to
capacity and causing an abnormal shutdown.
Task 7 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Task 8 End DST or SST. “How to Stop Dedicated Service Tools
(DST)” on page 662 or “Stopping System
Service Tools (SST)” on page 662.
1
You can add the disk units to an existing ASP or you can add them to a new ASP.
2
If you are adding disk units to an ASP that has mirrored protectionand the new disk units do not have
device parity protection, you must add pairs of disk units that have identical capacities.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
1
You can add the disk units to an existing ASP or you can add them to a new ASP.
Note: If you do not plan to start device parity protection for any of the new disks,
use the procedure in “Adding Disk Units without Device Parity
Protection–Checklist 2” on page 645 to add them.
Chapter 24. Procedures for Configuring Disks and Disk Protection 647
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 87. Adding a New 9337 Disk Array Subsystem That Does Not Have Device Parity Protection Started–Tasks
Task What To Do Where To Read More About It
Task 1 Physically attach disk units. This is normally
done by a service representative.
Task 2 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 3 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 4 Start device parity protection for the 9337 “How to Start Device Parity Protection for a
Disk Array Subsystem. 9337 Disk Array Subsystem” on page 695.
Task 5 Add nonconfigured disk units to the correct “How to Add Disk Units to an Auxiliary
ASPs. Storage Pool” on page 669.
Task 6 If you created a new ASP on your system “How to Change the Storage Threshold for
when you addeddisk units, the system set the an Auxiliary Storage Pool” on page 672.
storage threshold of the ASP to 90%. If you
want a different threshold, change it.
Task 7 Specify the storage threshold for the system “How to Change the Storage Threshold for
ASP. If you use the QSTGLOWLMT and the System Auxiliary Storage Pool” on
QSTGLOWACN system values, you can page 673.
prevent the system ASP from filling to
capacity and causing an abnormal shutdown.
Task 8 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Task 9 End DST. “How to Stop Dedicated Service Tools
(DST)” on page 662.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 88. Adding a New 9337 Disk Array Subsystem That Has Device Parity Protection Already Started–Tasks
Task What To Do Where To Read More About It
Task 1 Physically attach disk units. This is normally
done by a service representative.
Task 2 Start DST or SST. “How to Start Dedicated Service Tools
(DST)” on page 660 or “Starting System
Service Tools (SST)” on page 662.
Task 3 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 4 Add nonconfigured disk units to the correct
ASPs. See note 1.
Task 5 If you created a new ASP on your system “How to Change the Storage Threshold for
when you added disk units, the system set an Auxiliary Storage Pool” on page 672.
the storage threshold of the ASP to 90%. If
you want a different threshold, change it.
Task 6 Specify the storage threshold for the system “How to Change the Storage Threshold for
ASP. If you use the QSTGLOWLMT and the System Auxiliary Storage Pool” on
QSTGLOWACN system values, you can page 673.
prevent the system ASP from filling to
capacity and causing an abnormal shutdown.
Task 7 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Task 8 End DST or SST. “How to Stop Dedicated Service Tools
(DST)” on page 662 or “Stopping System
Service Tools (SST)” on page 662.
1
You can add the disk units to an existing ASP or you can add them to a new ASP.
You can use this procedure whether or not you have mirrored protection on your
system because you start device parity protection protection before you add the
disk units to an ASP. You can use either DST or SST to perform the tasks in this
Chapter 24. Procedures for Configuring Disks and Disk Protection 649
checklist. If you use SST, you can perform the tasks while your system is active. If
you use DST, you must stop your system to perform the tasks in this checklist.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 89. Adding Disk Units to an Existing Input/Output Processor–Tasks
Task What To Do Where To Read More About It
Task 1 Physically attach disk units. This is normally
done by a service representative.
Task 2 Start DST or SST “How to Start Dedicated Service Tools
(DST)” on page 660 or “Starting System
Service Tools (SST)” on page 662.
Task 3 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 4 Include the disk units that you want to “How to Include a Disk Unit in Device
protect in device parity protection. Parity Protection” on page 705.
Task 5 Add nonconfigured disk units to the correct “How to Add Disk Units to an Auxiliary
ASPs. See note 1 and note 2. Storage Pool” on page 669.
Task 6 If you created a new ASP on your system “How to Change the Storage Threshold for
when you added disk units, the system set an Auxiliary Storage Pool” on page 672.
the storage threshold of the ASP to 90%. If
you want a different threshold, change it.
Task 7 Specify the storage threshold for the system “How to Change the Storage Threshold for
ASP. If you use the QSTGLOWLMT and the System Auxiliary Storage Pool” on
QSTGLOWACN system values, you can page 673.
prevent the system ASP from filling to
capacity and causing an abnormal shutdown.
Task 8 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Task 9 End DST or SST. “How to Stop Dedicated Service Tools
(DST)” on page 662 or “Stopping System
Service Tools (SST)” on page 662.
1
You can add the disk units to an existing ASP or you can add them to a new ASP.
2
If you are adding disk units to an ASP that has mirrored protection and the new disk units do not have
device parity protection, you must add pairs of disk units that have identical capacities.
Note: If you do not plan to start device parity protection for any of the new disks,
use the procedure in checklist 2 to add them.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 90. Adding a New Input/Output Processor–Tasks
Task What To Do Where To Read More About It
Task 1 Install the new Input/Output Processor in
the system. This is normally done by a
service representative.
Task 2 Physically attach disk units to the new IOP.
This is normally done by a service
representative.
Task 3 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 4 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 5 Start device parity protection for the IOP. “How to Start Device Parity Protection for an
Input/Output Processor” on page 699.
Task 6 Add nonconfigured disk units to the correct “How to Add Disk Units to an Auxiliary
ASPs. Storage Pool” on page 669.
Task 7 If you created a new ASP on your system “How to Change the Storage Threshold for
when you added disk units, the system set an Auxiliary Storage Pool” on page 672.
the storage threshold of the ASP to 90%. If
you want a different threshold, change it.
Task 8 Specify the storage threshold for the system “How to Display Your Disk Configuration”
ASP. If you use the QSTGLOWLMT and on page 663.
QSTGLOWACN system values, you can
prevent the system ASP from filling to
capacity and causing an abnormal shutdown.
Task 9 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Task 10 End DST. “How to Stop Dedicated Service Tools
(DST)” on page 662.
Chapter 24. Procedures for Configuring Disks and Disk Protection 651
Table 90. Adding a New Input/Output Processor–Tasks (continued)
Task What To Do Where To Read More About It
Notes:
1. You can add the disk units to an existing ASP or you can add them to a new ASP.
2. If you are adding disk units to an ASP that has mirrored protection and the new disk units do not have device
parity protection, you must add pairs of disk units that have identical capacities.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 91. Moving Disk Units Between ASPs–Tasks
Task What To Do Where To Read More About It
Task 1 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 2 Calculate the space requirements for both the “How to Calculate Space Requirements for
source and target ASPs for the disk units. an Auxiliary Storage Pool” on page 681.
Task 3 Use option 21 from the Save menu to save “Saving your server with the GO SAVE
your entire system. command” on page 15.
Task 4 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 5 Move the disk units. “How to Move a Disk Unit to a Different
Auxiliary Storage Pool” on page 676.
Task 6 If you created a new ASP on your system “How to Change the Storage Threshold for
when you moved disk units, the system set an Auxiliary Storage Pool” on page 672.
the storage threshold for the ASP to 90%. If
you want a different threshold, change it.
Task 7 Specify the storage threshold for the system “How to Change the Storage Threshold for
ASP. If you use the QSTGLOWLMT and the System Auxiliary Storage Pool” on
QSTGLOWACN system values, you can page 673.
prevent the system ASP from filling to
capacity and causing an abnormal shutdown.
Task 8 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Task 9 End DST. “How to Stop Dedicated Service Tools
(DST)” on page 662.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 92. Moving Disk Units Between ASPs with mirrored protection–Tasks
Task What To Do Where To Read More About It
Task 1 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 2 Calculate the space requirements for the “How to Calculate Space Requirements for
ASPs that are involved in moving disk units. an Auxiliary Storage Pool” on page 681.
Task 3 Use option 21 from the Save menu to save “Saving your server with the GO SAVE
your entire system. command” on page 15
Task 4 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 5 Remove disk units that you plan to add to a “How to Remove a Disk Unit from an
different ASP. Auxiliary Storage Pool” on page 678.
Task 6 Add nonconfigured disk units to the correct
ASPs. See note 1.
Task 7 If you created a new ASP on your system “How to Change the Storage Threshold for
when you added disk units, the system set an Auxiliary Storage Pool” on page 672.
the storage threshold of the ASP to 90%. If
you want a different threshold, change it.
Task 8 Specify the storage threshold for the system “How to Change the Storage Threshold for
ASP. If you use the QSTGLOWLMT and the System Auxiliary Storage Pool” on
QSTGLOWACN system values, you can page 673.
prevent the system ASP from filling to
capacity and causing an abnormal shutdown.
Task 9 If you created any new ASPs and you want “How to Start Mirrored Protection” on
those ASPs to have mirrored protection, start page 719.
mirrored protection now.
Chapter 24. Procedures for Configuring Disks and Disk Protection 653
Table 92. Moving Disk Units Between ASPs with mirrored protection–Tasks (continued)
Task What To Do Where To Read More About It
Task 10 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Task 11 End DST. “How to Stop Dedicated Service Tools
(DST)” on page 662.
Task 12 If necessary, move objects between ASPs. “Transferring Objects between Auxiliary
Storage Pools” on page 686.
1
If you are adding disk units to an ASP that has mirrored protectionand the new disk units do not have
device parity protection, you must add pairs of disk units that have identical capacities.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation. Also note that when an
ASP is deleted, all data remaining in that ASP is lost.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 93. Deleting an Auxiliary Storage Pool–Tasks
Task What To Do Where To Read More About It
Task 1 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 2 Calculate the space requirements for the “How to Calculate Space Requirements for
remaining ASPs. an Auxiliary Storage Pool” on page 681.
Task 3 Use option 21 from the Save menu to save “Saving your server with the GO SAVE
your entire system. command” on page 15.
Task 4 Remove objects from the ASP that you are “Transferring Objects between Auxiliary
deleting or move the objects to a different Storage Pools” on page 686.
ASP.
Task 5 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 6 Delete the ASP. This procedure places all of “How to Delete an Auxiliary Storage Pool”
the disks that were assigned to the deleted on page 680.
ASP in nonconfigured status.
Task 7 Add nonconfigured disk units to the correct “How to Add Disk Units to an Auxiliary
ASPs. See note 1. Storage Pool” on page 669.
Task 8 If you created a new ASP on your system “How to Change the Storage Threshold for
when you added disk units, the system set an Auxiliary Storage Pool” on page 672.
the storage threshold of the ASP to 90%. If
you want a different threshold, change it.
1
If you are adding disk units to an ASP that has mirrored protectionand the new disk units do not have
device parity protection, you must add pairs of disk units that have identical capacities.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 94. Removing Disk Units That Do Not Have Device Parity Protection–Tasks
Task What To Do Where To Read More About It
Task 1 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 2 Calculate the space requirements for the “How to Calculate Space Requirements for
ASPs that are involved in removing disk an Auxiliary Storage Pool” on page 681.
units.
Task 3 Use option 21 from the Save menu to save “Saving your server with the GO SAVE
your entire system. command” on page 15
Task 4 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 5 Remove disk units that you plan to remove “How to Remove a Disk Unit from an
from the system. Auxiliary Storage Pool” on page 678.
Chapter 24. Procedures for Configuring Disks and Disk Protection 655
Table 94. Removing Disk Units That Do Not Have Device Parity Protection–Tasks (continued)
Task What To Do Where To Read More About It
Task 6 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Task 7 End DST. “How to Stop Dedicated Service Tools
(DST)” on page 662.
Note: This checklist works only if at least one unit remains in the ASP and there is
enough capacity remaining.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 95. Removing Disk Units with Device Parity Protection from an ASP without Mirrored Protection–Tasks
Task What To Do Where To Read More About It
Task 1 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 2 Calculate the space requirements for the “How to Calculate Space Requirements for
ASPs that are involved in removing disk an Auxiliary Storage Pool” on page 681.
units.
Task 3 Use option 21 from the Save menu to save “Saving your server with the GO SAVE
your entire system. command” on page 15.
Task 4 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 5 Remove disk units that you plan to remove “How to Remove a Disk Unit from an
from the system. Auxiliary Storage Pool” on page 678.
Task 6 Exclude the disk units from the 9337. The “How to Exclude a Disk Unit from Device
service representative can perform the Parity Protection” on page 707.
exclude function on the 9337.
Task 7 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 96. Removing Disk Units from a 9337 Disk Array Subsystem and a Mirrored ASP–Tasks
Task What To Do Where To Read More About It
Task 1 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 2 Calculate the space requirements for the “How to Calculate Space Requirements for
ASPs that are involved in removing disk an Auxiliary Storage Pool” on page 681.
units.
Task 3 Use option 21 from the Save menu to save “Saving your server with the GO SAVE
your entire system. command” on page 15.
Task 4 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 5 Remove disk units that you plan to remove “How to Remove a Disk Unit from an
from the system. Auxiliary Storage Pool” on page 678.
Task 6 Stop mirrored protection for the ASPs that “How to Stop Mirrored Protection” on
will have disk units removed. When you page 723.
stop mirrored protection, one disk unit from
each mirrored pair becomes nonconfigured.
See note 1.
Task 7 Exclude the disk units from the 9337. The “How to Exclude a Disk Unit from Device
service representative can perform the Parity Protection” on page 707.
exclude function on the 9337.
Chapter 24. Procedures for Configuring Disks and Disk Protection 657
Table 96. Removing Disk Units from a 9337 Disk Array Subsystem and a Mirrored ASP–Tasks (continued)
Task What To Do Where To Read More About It
Task 8 Add nonconfigured disk units to the correct “How to Add Disk Units to an Auxiliary
ASPs. These disks became nonconfigured Storage Pool” on page 669.
when you stopped mirrored protection in
task 6.
Task 9 Start mirrored protection for the ASPs that “How to Start Mirrored Protection” on
had mirrored protection stopped in task 6. page 719.
Task 10 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Task 11 End DST. “How to Stop Dedicated Service Tools
(DST)” on page 662.
1
You need to stop mirrored protection only if the ASP contains other disk units that are attached to the 9337
Disk Array Subsystem and have device parity protection.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 97. Removing Disk Units from an IOP and a Non-Mirrored ASP–Tasks
Task What To Do Where To Read More About It
Task 1 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 2 Calculate the space requirements for the “How to Calculate Space Requirements for
ASPs that are involved in removing disk an Auxiliary Storage Pool” on page 681.
units.
Task 3 Use option 21 from the Save menu to save “Saving your server with the GO SAVE
your entire system. command” on page 15.
Task 4 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 5 Remove disk units that you plan to remove “How to Remove a Disk Unit from an
from the system. Auxiliary Storage Pool” on page 678.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as
you or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system completely in the
event that you need to recover from an error situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 98. Removing Disk Units from an IOP and a Mirrored ASP–Tasks
Task What To Do Where To Read More About It
Task 1 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 2 Calculate the space requirements for the “How to Calculate Space Requirements for
ASPs that are involved in removing disk an Auxiliary Storage Pool” on page 681.
units.
Task 3 Use option 21 from the Save menu to save “Saving your server with the GO SAVE
your entire system. command” on page 15.
Chapter 24. Procedures for Configuring Disks and Disk Protection 659
Table 98. Removing Disk Units from an IOP and a Mirrored ASP–Tasks (continued)
Task What To Do Where To Read More About It
Task 4 Start DST. “How to Start Dedicated Service Tools
(DST)”.
Task 5 Remove disk units that you plan to remove “How to Remove a Disk Unit from an
from the system. Auxiliary Storage Pool” on page 678.
Task 6 Exclude the disk units from device parity “How to Exclude a Disk Unit from Device
protection. If you were successful in Parity Protection” on page 707.
excluding the disk units, skip to task 9.
Otherwise, continue with task 7.
Task 7 Stop mirrored protection for the ASPs that “How to Stop Mirrored Protection” on
will have disk units removed. When you page 723.
stop mirrored protection, one disk unit from
each mirrored pair becomes nonconfigured.
See note 1.
Task 8 Stop device parity protection for the IOP. “How to Stop Device Parity Protection on an
Input/Output Processor” on page 704.
Task 9 Physically remove disk units. This is
normally done by a service representative. If
you stopped device parity protection in task
8, then continue with task 10. If you did not
stop device parity protection, then skip to
task 14.
Task 10 Start device parity protection for the IOP. “How to Start Device Parity Protection for an
Input/Output Processor” on page 699.
Task 11 Add nonconfigured disk units to the correct “How to Add Disk Units to an Auxiliary
ASPs. These disks became nonconfigured Storage Pool” on page 669.
when you stopped mirrored protectionin
task 7.
Task 12 If you created a new ASP on your system “How to Change the Storage Threshold for
when you added disk units, the system set an Auxiliary Storage Pool” on page 672.
the storage threshold of the ASP to 90%. If
you want a different threshold, change it.
Task 13 Start mirrored protection for the ASPs that “How to Start Mirrored Protection” on
had mirrored protection stopped in task 7. page 719.
Task 14 Verify that your disk configuration is correct “How to Display Your Disk Configuration”
and print a copy for your records. on page 663.
Task 15 End DST. “How to Stop Dedicated Service Tools
(DST)” on page 662.
1
You need to stop mirrored protection only if the ASP contains other disk units that are attached to the IOP
and have device parity protection.
Note: If you are sure that no jobs are running on your system, you can specify
OPTION(*IMMED) when you power down the system. Otherwise, specify a
delay time that is sufficient to allow jobs to end normally.
4. When the IPL completes, the IPL or Install the System menu appears.
5. Select option 3 (Use Dedicated Service Tools (DST)) and press the Enter key.
The Dedicated Service Tools (DST) Sign On display is shown.
| 6. In the DST user field, type QSECOFR. In the DST password field, type your DST
| security-level or full-level password. On a new system, the password is
| QSECOFR. The password is case sensitive; use all capital letters. You should
| change this password after you complete your installation procedures. The
| iSeries Security Reference book has more information about DST passwords.
| The Use Dedicated Service Tools (DST) menu is shown.
|
Chapter 24. Procedures for Configuring Disks and Disk Protection 661
Use Dedicated Service Tools (DST)
Select one of the following:
1. Perform an IPL
2. Install the operating system
3. Work with licensed internal code
4. Work with disk units
5. Work with DST environment
6. Select DST console mode
7. Start a service tool
8. Perform automatic installation of the operating system
9. Work with save storage and restore storage
10. Work with remote DST support
You can use DST, SST, or commands to display your disk configuration. When you
are planning changes to your disk configuration, use SST and commands to print
your current configuration before you begin to make changes. After you have
made changes, you can use DST to verify the new configuration before you end
DST.
This topic describes both the DST method and the command method for
displaying your disk hardware configuration.
2. If you want to see the detail about disk units that are attached to a controller,
type 9 (Work with resource) in the Option column for the controller.
Chapter 24. Procedures for Configuring Disks and Disk Protection 663
Display Spooled File
File . . . . . : QSYSPRT Page/Line 1/1
Control . . . . . +15 Columns 1 - 78
Find . . . . . .
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+...
Display Hardware Resources
5716SS1 V3R6M0 950602
Storage Resources List
--------
Serial Part Frame
Resource Type-Model Number Number ID
CMB01 9162-001 10-00000 0000086G7917 1
DC01 6602-030 00-0193825 1
DD001 6602-030 00-0193825 1
DC02 6602-030 00-17900 1
DD002 6602-030 00-17900 1
Chapter 24. Procedures for Configuring Disks and Disk Protection 665
Display Disk Configuration Status
Serial Resource
ASP Unit Number Type Model Name Status
1 Unprotected
1 00-0193825 6602 030 DD001 Configured
2 00-0163477 6602 074 DD019 DPY/Active
3 00-0190494 6602 070 DD036 DPY/Active
6 00-17900 6602 030 DD002 Configured
3 Unprotected
4 00-0330477 6602 074 DD005 DPY/Active
5 00-0323200 6602 074 DD033 DPY/Active
Note: If you are performing a complete system restore, all the disk units on the
system may not report in right away. Verify that the number of disk
units displayed matches the number of disk units physically attached to
the system. If they do not match, wait a few minutes and press F5
(Refresh) until all of the disk units report in.
4. If the lower right of the display says More..., you can page forward to see
additional units.
5. To display the capacity of your disk units and how much capacity is used,
press F11 from the Display Disk Configuration Status display or select option 2
from the Use Dedicated Service Tools (DST) menu:
6. To display the disk protection that is configured for each disk unit, press F11
again:
7. To display nonconfigured disk units, press F11 from the Display Disk
Configuration Protection display or select option 4 from the Display Disk
Configuration menu:
8. To print the software disk configuration, use the print key from the displays. If
your system already has a printer defined for DST, the output is sent to that
Unit Field: A unit number is assigned by the system to identify a specific disk unit.
The unit number is a software function and does not appear when you display the
hardware configuration. When disk units are protected by mirrored protection,
both disk units in a mirrored pair are assigned the same unit number.
Resource Name Field: The system resource manager assigns a resource name to
every hardware device that is physically attached to the system. This resource
name is the link between the hardware and the software definition of the
hardware. When you add a disk unit to an ASP, you use the resource name to
identify which disk unit to add.
Status Field for the Auxiliary Storage Pool: The display shows the status of an
entire ASP. This status indicates the software disk protection that is in effect for the
ASP. The possible values are:
Unprotected Mirrored protection is not active for the ASP. However, device parity
protection may be active for some or all of the disk units in the ASP. You
need to look at the individual disk units to determine the level of
protection for the ASP.
Mirrored The ASP is fully protected. Mirrored protection has been started for the
ASP. All of the disk units in the ASP are protected either by mirrored
protectionor by device parity protection.
Status–Disk Unit: The display also shows the status of individual disk units. The
possible values are:
Operational The disk unit is operational and ready to accept input or output
operations.
Not operational The device cannot communicate with the IOP. You should verify
that the unit is powered on.
Not ready The device cannot perform media-related functions, but it can still
communicate with the IOP.
Busy The device is not available for processing any commands on this
connection.
Read/write protected The device cannot process either a read or a write operation. A
device may be in this state due to a cache problem, a device
configuration problem, or other types of problems that could cause
a data integrity exposure.
Write protected The device cannot accept write operations. Read operations are
allowed.
Performance degraded The device is functional, but performance may be impacted due to
other hardware problems (such as a problem with the IOP cache).
Chapter 24. Procedures for Configuring Disks and Disk Protection 667
Redundant failure The device is functional, but availability may be impacted due to
other problems (such as a redundant power supply problem).
Service is required to prevent additional failures that will stop input
and output operations to the device.
DPY/Failed This unit is part of a disk unit subsystem that has device parity
protection. The disk unit failed within its device parity set, causing
the loss of data protection for the device parity set.
DPY/Unprotected This unit is part of a disk unit subsystem that has device parity
protection. Data protection is no longer in effect due to a failure in
another resource.
DPY/Rebuilding This unit is part of a disk unit subsystem that has device parity
protection. Data protection is being rebuilt.
DPY/Active This unit is part of a disk unit subsystem that has device parity
protection. The unit is operational and ready to accept input or
output operations.
DPY/Resyncing This unit is part of a disk unit subsystem that has device parity
protection. The subsystem is in the process of recreating the
redundancy data for the device parity set. All units in the set that
are being synchronized will have this status.
DPY/Unknown This unit is part of a disk unit subsystem that has device parity
protection. The status of this unit is not known to the system.
Active This unit is one of a mirrored pair. It is capable of having data
written to it or read from it.
Suspended This unit is one of a mirrored pair. It is not capable of havingdata
written to it or read from it. The data on this unit is not current. For
example, if the disk needs repair action or has been manually
suspended, it would be in a Suspended state.
Resuming This unit is one of a mirrored pair. The current data is being copied
(or will be copied) to this unit from the other active unit of the
mirrored pair.
Unprotected The device is in a state that cannot be determined.
| Both the Information Center and Operations Navigator refer to ASPs as Disk Pools.
When you (or your service representative)physically attach a new disk unit to your
system, the status of the new disk unit is nonconfigured. Nonconfigured status
means that a disk unit has not yet been assigned to an ASP on the system. You can
assign disk units to an existing ASP or to a new ASP. You create a new ASP simply
by assigning disk units to it.
3. Select the option to add units to ASPs and balance data. The Specify ASPs to
Add Units to display appears. It lists all the disk units that have a status of
nonconfigured.
More...
F3=Exit F5=Refresh F11=Display disk configuration capacity
F12=Cancel
Note: If you are performing a complete system restore, all the disk units on the
system may not report in right away. Verify that the number of disk
units displayed matches the number of disk units physically attached to
the system. If they do not match, wait a few minutes and press F5
(Refresh) until all of the disk units report in.
Serial Resource
ASP Unit Number Type Model Name Protection
1 Unprotected
1 00-48519 6606 030 DD010 Unprotected
2 00-86978 6606 050 DD009 Unprotected
3 00-52262 6606 074 DD008 Device Parity
4 00-61300 6603 074 DD006 Device Parity
2 Unprotected
5 00-95744 6603 074 DD005 Device Parity
6 00-47657 6606 074 DD007 Device Parity
The Confirm Add Units display shows what the entire system configuration
will be when you add the units. If you have more than one ASP on your
system, verify this configuration against your planned configuration.
5. You can press F9 (Resulting capacity) to see how the change will affect your
disk utilization. You are shown the following display:
Resulting Capacity
The configuration change that you requested would result in the
following ASP capacities.
5 % Complete
Note: You can press F16 to return to the Use Dedicated Service Tools (DST)
menu if you have other tasks to perform. However, you cannot perform
any disk configuration tasks or end DST until the system has finished
adding disk units.
The time it takes the system to add units depends on the type, model, and size
of each unit being added and the ability of the system to do multiple adds at
the same time.
8. If you have no other tasks to perform, end DST or SST. (See “How to Stop
Dedicated Service Tools (DST)” on page 662 or “Stopping System Service Tools
(SST)” on page 662.)
Note: If you are not already using DST, see “How to Start Dedicated Service
Tools (DST)” on page 660.
If you are not already using DST, perform a manual IPL to start DST. See “How
to Start Dedicated Service Tools (DST)” on page 660.
2. Select the option to work with the ASP threshold. The Select ASP to Change
Threshold display is shown.
3. On the Select the ASP to Change Threshold display, select the ASP that you
want to have a different threshold. Press the Enter key. The following display is
shown.
4. Type your choice for the New threshold prompt and press the Enter key.
5. If you have no other tasks to perform, end DST or SST. (See “How to Stop
Dedicated Service Tools (DST)” on page 662 or “Stopping System Service Tools
(SST)” on page 662.)
One way to establish this threshold is through Dedicated Service Tools (DST) or
System Service Tools (SST). Use the same procedures as you would when setting
Note: Establishing the threshold through DST will not prevent the system from
ending abnormally. It will only notify you when the system ASP reaches the
capacity threshold.
You can also protect the system ASP from filling to capacity by using the
QSTGLOWLMT and QSTGLOWACN system values. The QSTGLOWLMT system
value specifies the percentage of unallocated auxiliary storage that is remaining
when the critical storage lower limit is reached. If the system reaches that limit, the
QSTGLOWACN system value specifies what action the system should take. Using
this method allows the system to actively prevent an abnormal shutdown instead
of simply sending a warning of the condition.
Note: Using these system values does not affect any existing storage threshold that
you may have set through DST.
You can use the QSTGLOWLMT and QSTGLOWACN system values on the
following commands:
CHGSYSVAL RTVSYSVAL
DSPSYSVAL WRKSYSVAL
The following procedure demonstrates how to use these sytem values. (The
WRKSYSVAL command is used as an example.)
1. At a command line, type WRKSYSVAL and press Enter. You are shown the Work
with System Values display.
System
Option Value Type Description
_ QSTGLOWACN *STG Auxiliary storage lower limit action
_ QSTGLOWLMT *STG Auxiliary storage lower limit
2. Type a 2 in the option field to change QSTGLOWACN and press Enter. You
must have *ALLOBJ and *SECADM authority to change QSTGLOWACN. You
are shown the Change System Value display.
3. On the Change System Value display, type the name of the action that you
want the system to perform after reaching the critical storage lower limit. Press
the Enter key. The actual actions that are performed by the action names are as
follows:
*MSG
The system sends the CPI099C message to the QSYSMSG and QSYSOPR
message queues. (The system also sends this message when you select any
one of the other actions.)
*CRITMSG
The system sends the CPI099B critical message to the user who is specified
in the service attribute to receive critical messages.
*REGFAC
The system submits a job to call exit programs that are registered for the
QIBM_QWC_QSTGLOWACN exit point.
*ENDSYS
The system ends to the restricted state.
*PWRDWNSYS
The system powers down immediately and restarts
4. From a command line, type DSPSYSVAL and press the Enter key. The Display
System Value screen is shown.
The lower limit value is the lowest amount of unused storage that can exist in
Display System Value
the system ASP before the system performs the QSTGLOWACN action. (You
can use the WRKSYSSTS command to view the amount of storage that is
currently being used in the system ASP.) The system is shipped with the
QSTGLOWLMT system value set to 5.0. Any change you make to this system
value takes effect immediately.
Note: If the DST threshold is above 95%, the lower limit value will be set to
the difference between 100% and the threshold setting. For example, if
the DST threshold is set to 98%, QSTGLOWLMT will be set to 2.0. (100
— 98 = 2.) This only occurs at the time you install V4R2.
You may also decide to move disk units because you no longer need to have user
ASPs on your system and you want to move all the disk units back to the system
ASP.
Restrictions When Changing Your ASP Configuration: Consider these things when
you are planning to move disk units from an ASP:
v The system may take a long time to move the unit because it must copy the data
from that unit to other units in the ASP.
v You cannot move unit 1 (the load source unit) from the system ASP.
v You cannot move disk units from a user ASP that is overflowed.
v You cannot move units in and out of the same ASP in the same operation.
v When mirrored protection is active for an ASP, you cannot move disk units in
and out of the ASP. You must remove disk units in pairs from a mirrored ASP.
You can then add them to a different ASP.
v When mirrored protection is active for the ASP that contains the disk units, you
must remove both units of a mirrored pair.
v When you remove a disk unit, it becomes nonconfigured.
To move disk units between ASPs, do the following:
1. If you are not already using DST, perform a manual IPL to start DST. See
“How to Start Dedicated Service Tools (DST)” on page 660.
2. From the Use Dedicated Service Tools (DST) menu, do the following:
3. Select option 6 (Move units from one ASP to another) from the Work with
ASP Configuration display. The Specify ASP to Move Disk Units display is
shown.
4. Type the number of the ASP you want to move the units to in the New ASP
column and press the Enter key. If you specify an ASP that does not
currently exist on your system, the system creates a new ASP. If the move
operation would leave the source ASP with insufficient storage, you receive
an error message.
If you see the Confirm Move of Unit display, skip to step 6.
The Confirm Continuation display is shown if the storage management
directories are not usable:
Confirm Continuation
In order to proceed the system must perform internal processing that may
take several minutes during which the system may appear inactive. Press
Enter to continue. Press F12=Cancel to return and change your choice.
Resulting Capacity
The configuration change that you requested would result in the following
ASP capacities. Press Enter to continue.
-----------Current---------- ----------Propose-----------
--Protected-- -Unprotected- --Protected-- -Unprotected-
ASP Threshold Size %Used Size %Used Size %Used Size %Used
1 90% 0 0.00% 4124 41.50% 0 0.00% 2062 83.00%
2 90% 0 0.00% 2062 0.01%
7. Press the Enter key to return to the Confirm Move of Unit display.
Serial Resource
OPT Unit ASP Number Type Model Name Status
2 1 10-00A7529 9332 400 DD010 Configured
3 1 10-00A4936 9332 400 DD012 Configured
4 1 10-00A4936 9332 400 DD019 Configured
4 5 1 10-00A7498 9332 400 DD025 Configured
4 6 1 10-00A7498 9332 400 DD036 Configured
7 1 10-00A7530 9332 400 DD042 Configured
8 1 10-00A7530 9332 400 DD052 Configured
4. Type a 4 (Remove unit from configuration) in the OPT column for each unit that
you want to remove and press the Enter key. If the remove operation would
leave the ASP with insufficient storage, you receive an error message.
If you see the Confirm Remove Disk Units display, skip to 6.
The Confirm Continuation display may be shown before the Confirm Remove
Disk Units display if the storage management directories are not usable.
Confirm Continuation
5. Determine whether you want to cancel the procedure or continue. If you want
to continue, press the Enter key.
6. The Confirm Remove Disk Units display is shown:
Serial Resource
OPT Unit ASP Number Type Model Name Status
4 5 1 10-00A7498 9332 400 DD010 Configured
4 6 1 10-00A7498 9332 400 DD012 Configured
Resulting Capacity
7. Press the Enter key to return to the Confirm Remove Disk Units display.
8. Press the Enter key on the Confirm Remove Disk Units display to remove the
selected units. The system moves the data off the units selected to be removed
to the remaining units in the source ASP. The remove can take several minutes
or several hours during which the system appears inactive.
Notes:
a. The time it takes to remove a unit depends on the disk unit type and
model.
b. If the data on the unit being removed is severely fragmented and the
amount of storage used is high, the remove operation could take several
hours.
9. When the remove operation is complete, you return to the Work with ASP
Configuration display.
If you have no other tasks to perform, end DST. (See “How to Stop Dedicated
Service Tools (DST)” on page 662.)
You cannot delete ASP 1, which is the system ASP and holds the operating system.
3. Select option 2 (Delete user ASP) on the Work with ASP Configuration display
and press the Enter key.
4. Type a 4 in the Option field of the ASP you want to delete and press the Enter
key. The Confirm Delete of User ASP display is shown.
5. Press F10 (Confirm) to confirm that delete of the ASP. The delete operation may
take several minutes.
6. If you have no other tasks to perform, end DST. (See “How to Stop Dedicated
Service Tools (DST)” on page 662.)
Table 99 on page 682 shows an example of a worksheet that you can use to
calculate your requirements. The following topics describe the steps for completing
the worksheet.
If you have not already done so, print a copy of your current disk configuration.
See “Displaying Your Disk Configuration–Software View” on page 665.
To list all the documents in a user ASP, use the Query Document Library
(QRYDOCLIB) command:
QRYDOCLIB ... QRYDFN(*IF(*ASP *EQ 4))
| If the object is an IFS object, use the Display Object Links (DSPLNK) command.
| Select option 8 (Display attributes) to determine which ASP the object is in.
| Note: You cannot balance journal receivers among the disk units of an ASP
| because journal receivers can only be spread across 10 disk arms (100 if you
| specify RCVSIZOPT(*MAXOPT1) or RCVSIZOPT(*MAXOPT2)).
Before using usage balancing or HSM balancing, you must run the Trace ASP
Balance (TRCASPBAL) command. This command starts a trace function that
collects statistics on the data in the ASPs that you wish to balance. Data that is
used often is referred to as high use or hot data. Data that is not used often is
referred to as low use or cold data.
To end the ASP balancing function, use the End ASP Balance (ENDASPBAL)
command.
Capacity Balancing
When you use capacity balancing, the data on the disk units within an ASP is
distributed evenly across all the units. Instead of some units containing the
majority of the data, each unit has an equal percentage of used and unused space.
This type of balancing is useful when you add new disk units to an ASP.
Usage Balancing
Usage balancing is useful when the ASP contains some disk units which are
utilized to a higher degree than other disk units in the ASP. The TRCASPBAL
command must finish collecting statistics before usage balancing can begin. When
you use usage balancing, the high use and low use data on each unit in the ASP is
redistributed to balance the arm utilization of each unit within the specified ASP.
You cannot directly move objects between ASPs because the MOVOBJ command
and the MOVDOC command move only the pointer to the object. They do not
physically copy data from one location to another. In general, do the following to
move an object to a different ASP:
1. Save the object.
2. Delete the object from the system.
3. Restore the object to the target ASP by using the RSTASP parameter on the
RSTxxx command.
You can move more than one folder at a time by specifying multiple folders on the
SAVDLO and RSTDLO commands. If you save DLOs from more than one ASP,
you must specify sequence numbers on the RSTDLO command.
Use the following procedure to move a journal and the associated journaled objects
to a different ASP. This procedure applies to library user ASPs (where the journal
| Note: The new library must have the same name as the library in which the
| journal was originally located.
| 9. Place the system in a restricted state: ENDSBS *ALL *IMMED
| 10. Restore the user profiles you saved in step 1:
| RSTUSRPRF USRPRF(*ALL) DEV(TAP01)
| 11. Restore the journal to the library in the user ASP using the Restore Object
| (RSTOBJ) command.
| 12. Restore the previously journaled objects to the library or directory in the user
| ASP. If you want to restore the previously journaled objects to their original
| libraries or directories, you must first move those libraries or directories to the
| user ASP. You move libraries and directories to a different ASP by saving
| them, deleting them, and restoring them to the new ASP.
| Restoring the previously journaled objects automatically resumes journaling
| for the objects if the journal already exists.
| 13. Restore the private authorities you saved in step 1:
| RSTAUT
| 14. Save the journaled objects so that the journaled changes can be applied, if
| necessary. When journaling starts, the system assigns a journal identifier (JID)
| to the object. Usually the JID that is assigned is the same JID that the object
| had when it was saved. The object must be saved after the JID is assigned.
When you create a document or another folder in ASP3FLR, the new document or
folder is automatically placed in ASP 3.
When you create the first folder in a user ASP, the system creates the
corresponding library. For example, when you create the ASP3FLR folder, the
system creates the QDOC0003 library if it does not already exist. You should never
create a QDOCnnnn library yourself. This can cause unpredictable results.
If the journal receiver is in a nonlibrary user ASP, create a new journal receiver
in a different nonlibrary user ASP or in the system ASP: CRTJRNRCV
JRNRCV(CUSTJRNR/CUSTR0006) ASP(5)
4. Change the journal by using the Change Journal (CHGJRN) command. Specify
the newly created journal receiver on the JRNRCV parameter: CHGJRN
JRN(CUSTJRNR/CUSTJRN) JRNRCV(library-name/CUSTR0006)
5. Save the journal receivers from the overflowed user ASP. If the journal receivers
are the only objects in the library, use the Save Library (SAVLIB) command. If
other objects are in the library, use the Save Object (SAVOBJ) command.
| Because journals and journaled objects must be in the same ASP, the best method
| for dealing with an overflowed journal is to restore it to the same ASP. If you
| restore the journal to a different ASP, you must also move all the journaled objects
| to that ASP.
This topic describes the procedure for restoring a journal to the same ASP to reset
| its overflowed status. If you want to move the journal and journaled objects to a
| different ASP, follow the procedure in “How to Transfer Journals and Objects to a
Different ASP” on page 687.
Before beginning this procedure, ensure that you have freed enough space in the
overflowed ASP to prevent the journal from overflowing when it is restored.
1. Use the WRKJRNA command to print information about journaled objects and
the receiver directory: WRKJRNA JRN(library-name/journal-name)
OUTPUT(*PRINT).
2. Use the SAVOBJ command to save the journal that must be reset.
3. Save the journal receivers that are associated with the journal by using the Save
Object (SAVOBJ) command.
4. End journaling for any objects being journaled as follows
| a. Access paths:
| ENDJRNAP JRN(library-name/journal-name) FILE(*ALL)
| b. Physical database files:
| ENDJRNPF JRN(library-name/journal-name) FILE(*ALL)
| c. IFS objects:
| ENDJRN OBJ(*ALL) JRN('QSYS.LIB/library-name.LIB/journal-name.JRN')
| d. All other object types:
| ENDJRNOBJ OBJ(*ALL) OBJTYPE(*ALL) JRN(library-name/journal-name)
| 5. Delete the journal: DLTJRN JRN(library-name/journal-name).
where 4 is the number of the user ASP where you are placing the save file. The
library for the save file is in the system ASP and ASP 4 does not contain any
libraries.
After the object is created, all storage for the object resides in the designated user
ASP. Changes and additions to that object are also made in the user ASP. If the
ASP becomes full, it overflows into the system ASP. “Chapter 25. Working with
Auxiliary Storage Pools” on page 669 describes how to reset an overflowed
auxiliary storage pool.
It is recommended that all journals and journal receivers on the system have
unique names. RCLSTG renames them if duplicate names are found when objects
are placed in library QRCL and the user cannot rename them to their original
name.
Monitor the size of objects to prevent them from overflowing into the system ASP
with the MAXRCDS parameter on the CRTSAVF command, and the THRESHOLD
parameter on the CRTJRNRCV command.
Note: If you want to save the data in the save file, specify SAVFDTA(*YES).
3. Delete the save file: DLTSAVF SAVF(SAVFLIB/DSTSAVF)
4. Restore the save file to ASP 4: RSTOBJ OBJ(SAVFLIB/DSTSAVF) RSTASP(4)
5. Use the Edit Object Authority (EDTOBJAUT) command to reestablish the
private authorities you printed in step 1.
When you start device parity protection, the system does validity checking and
moves data from the required units, if necessary. For some types of disk units, you
or your service representative must perform tasks with the disk subsystem when
you start device parity protection.
Note: If you plan to start device parity protection for disk units that are already
part of your disk configuration, check the following before you start device
parity protection.
v The configuration must be complete and no disk units can be missing in
any ASPs that contain disk units that are to have device parity protection.
This is because the system must move data off the disks that are to be
protected to make room for parity information.
v The disk units that will become device-parity protected cannot be in an
ASP that has mirrored protection active. If the disk units are in an ASP
that has mirrored protection, you must stop mirrored protection before
starting device parity protection.
v When you start device parity protection, you reduce the capacity of some
of the disk units in the subsystem. The system must have sufficient
storage in each affected ASP to make room for redundant parity data.
1. If you are not already using DST, perform a manual IPL to start DST. See
“How to Start Dedicated Service Tools (DST)” on page 660.
3. Select option 2 (Start device parity protection) on the Work with Device Parity
Protection display and press the Enter key. You are shown the Start Device
Parity Protection display. It lists all the disk unit subsystems for which you
can start device parity protection.
4. Type a 1 in the Option column for the disk unit subsystems that you want to
start device parity protection. Press the Enter key.
Note: You can select disks that are attached to a 9337 Disk Array Subsystem
and disks that are attached to a 6502 or 6512 IOP at the same time.
5. If you select disk unit subsystems that require you to use the operating panel
to start device parity protection or if the system detects a configuration
problem, the following display is shown:
6. Type a 5 next to the warning to see more information. You are shown the
detail display for the specific warning.
You may choose to cancel (F12) and investigate the situation, or you may
Manual Intervention Will be Required
You selected storage subsystems that will require manual intervention to
complete the procedure. The subsystems with that requirement are listed here.
The system will notify you when preparation work is complete and the manual
process can be started. The manual process should be described in the
appropriate device documentation.
Press Enter to continue. Press F12=Cancel to return to change your choices.
Parity Serial
Resource Set Number Type Model Name
2 00-00341 9337 210 DC109
press the Enter key to return to the Warning Report display. From there, press
F10 to continue.
7. If you choose to continue, you are shown the Confirm Starting Device Parity
Protection display. The display shows all the disk unit subsystems that you
have selected and the individual disk units that are eligible to be started. Disk
units that have an asterisk (*) in the ASP and Unit columns are not yet
configured.
8. Notice: At this point, pressing the Enter key initiates the procedure for
starting device parity protection. Once begun, this procedure continues to run
until it is complete. If the subsystems you have selected are correct, press the
Enter key to continue. The following display is shown.
Array Model 2xx/4xx Customer Information book, SA41-0014, for the procedures
to complete starting device parity protection.
9. The system has completed its preparation for starting device parity protection
on the selected subsystems. The following screen is displayed.
WARNING: There are still unprotected disk units remaining on this system.
When a system has unprotected, exposed, or suspended disk units attached to it,
disk related failures may affect the availability of the system and can cause
loss of data.
10. If you press the Enter key too soon and the system has not yet finished
working with the hardware, you see the Preparation for Starting Device Parity
has not Completed display. This may happen for one of the following reasons:
v The 9337 was not brought online after the start device parity protection
procedure. This must be done at the operator panel of the disk unit.
v The Licensed Internal Code is still processing the newly protected disk
units.
WARNING: If you select to bypass the hardware changes, you may not be able to
perform some operations until you IPL the system. You will be notified that
there are 'missing' units. The units are not really missing, but have been
placed into a state that prevents the system from communicating with them. An
IPL will reset the units back to their normal state.
Press F12 to return to the Ready to Start Device Parity Protection display. Wait
a few minutes and then press the Enter key again.
The IOP starts the fewest number of parity sets needed to protect all the devices of
the same capacity. For example, to protect 10 devices, it starts one parity set of ten
devices. To protect 11 devices, it starts two parity sets: one parity set of seven
devices and one parity set of four devices.
1. From the Use Dedicated Service Tools (DST) menu, do the following:
2. Select option 2 (Start device parity protection) on the Work with Device Parity
Protection display and press the Enter key. You are shown the Start Device
Parity Protection display. It lists all the disk unit subsystems for which you can
start device parity protection.
3. Type a 1 in the Option column for the disk unit subsystems that you want to
prepare to start device parity protection. Press the Enter key.
If you are shown the following display, press Enter to continue.
Confirm Continuation
In order to proceed the system must perform internal processing that may
take several minutes during which the system may appear inactive. Once you
confirm to continue, the system must perform an IPL when you leave Work with
Disk Configuration functions.
4. Press the Enter key to continue. You are shown the Confirm Starting Device
Parity Protection display. The display shows all the disk unit subsystems that
you have selected and the individual disk units that are eligible to be started.
Disk units that have an asterisk (*) in the ASP and Unit columns are not yet
configured.
5. Notice: At this point, pressing the Enter key initiates the procedure for starting
device parity protection. Once begun, this procedure continues to run until it is
complete. If the subsystems that you have selected are correct, press the Enter
key to continue. The status display shows how the operation is proceeding.
When the system has completed its preparation for starting device parity
protection on the selected subsystems, the following display is shown.
6. Press the Enter key to return to the Work with Device Parity Protection menu.
3. Select option 3 (Stop device parity protection) on the Work with Device Parity
Protection display and press the Enter key. The following display is shown.
4. Type a 1 in the Option column for the disk unit subsystems that you want to
stop device parity protection. Press the Enter key.
5. If you select disk unit subsystems that require user action to stop device parity,
the following display is shown.
Type a 5 in the Option column next to the error to see more information. The
Warning Report
Note: Some action for the warnings listed below may need to be taken.
Please select a warning to display more detailed information about the
warning and to see what possible action may be taken to correct the warning.
Type option, press Enter.
5=Display Detailed Report OPT Warning
5 Manual intervention will be required
7. Press the Enter key to continue. The system has completed its preparation for
stopping device parity protection on the selected subsystems. At this time, you
should consult the 9337 Disk Array Model 2xx/4xx Customer Information book,
SA41-0014, for the procedures to complete stopping device parity protection.
3. Select option 3 (Stop device parity protection) on the Work with Device Parity
Protection display and press the Enter key. The following display is shown.
4. Type a 1 in the Option column for the disk unit subsystems that you want to
stop device parity protection. Press the Enter key. The following display is
shown.
5. Notice: At this point, pressing the Enter key initiates the procedure for
stopping device parity protection. Once this procedure has begun, you may not
cancel it. If the subsystems you have selected are correct, press the Enter key to
continue. You will get status screens.
Note: If you have not yet received ″Completed″ status you can press F16 to
return to the Use Dedicated Service Tools (DST) menu if you have other
tasks to perform. However, you cannot perform any disk configuration
tasks or end DST until the system has finished starting device parity
protection.
6. When the status shows Completed, press the Enter key to return to the Work
with Device Parity Protection menu.
This topic lists the rules and describes the procedure for starting device parity
protection for an IOP. The following are the basic rules for this type of IOP:
v Maximum number of parity sets that are allowed: 2 per IOP
v Maximum number of devices per parity set: 10
v Minimum number of devices per parity set: 4
v All devices in a parity set must be the same capacity
v The protection supports 66xx devices, not 61xx devices in parity sets or to use
the write cache support
v You must remove 66xx model 30 devices from the configuration before you start
device parity protection. This allows the system to reformat the device for the
advanced functions of the IOP. After you start device parity protection, add the
device to the ASP configuration.
Note: You cannot include a disk unit if that disk unit has already been added to
an ASP that has mirrored protection. You must stop mirrored protection
before including the disk unit. Stopping mirrored protection must be done
from the DST menu. Adding mixed protection on the same IOP requires
mirroring to be stopped and restarted.
To include disk units in a device parity set, perform the following steps:
1. From the System Service Tools (SST) menu, do the following:
or from the Use Dedicated Service Tools (DST) menu, do the following:
┌────────────────────────┐ Select option 3
│ SST Menu │ (Work with disk units)
│ │
│ ┌───────────────────┴─────┐ Select option 2
│ 3 │ Work with Disk Units │ (Work with disk configuration)
└────┤ │
│ ┌────────────────────┴─────┐ Select option 4
│ │ Work with Disk │ (Include unit in device
│ 2 │ Configuration │ parity protection)
└────┤ │
│ 4 │
└──────────────────────────┘
Note: If you are not already using DST, see “How to Start Dedicated Service
Tools (DST)” on page 660.
The Include Disk Units in Device Parity Protection display appears:
┌────────────────────────┐ Select option 4
│ DST Menu │ (Work with disk units)
│ │
│ ┌───────────────────┴─────┐ Select option 1
│ 4 │ Work with Disk Units │ (Work with disk configuration)
└────┤ │
│ ┌────────────────────┴─────┐ Select option 5
│ 1 │ Work with Disk │ (Work with device
└────┤ Configuration │ parity protection)
│ ┌─────────────────────┴────┐
│ 5 │ Work with Device │ Select option 4
└────┤ Parity Protection │ (Include unit in
│ │ device parity
│ 4 │ configuration)
└──────────────────────────┘
2. Type a 1 in the Option column for the disk units that you want to include in
device parity protection and press the Enter key. The following display is
shown.
3. If the disk units that you selected are to be included in device parity protection,
confirm this by pressing the Enter key. After the include operation has
completed, the following display is shown.
Note: You can press F16 to return to the Use Dedicated Service Tools (DST)
menu if you have other tasks to perform. However, you cannot perform
any disk configuration tasks or end DST until the system has finished
including disk units in device parity protection.
4. Press the Enter key to return to the Work with Device Parity Protection menu.
3. Select option 5 (Exclude unit from device parity protection) on the Work with
Device Parity Protection display and press the Enter key. The following display
is shown.
This display shows only disk units that are eligible to be excluded. A disk unit
is eligible to be excluded if it does not contain parity information. If the disk
units that you want to remove are not eligible to be excluded, you must stop
device parity protection instead. Then physically remove the disk units and
restart device parity protection.
4. Type a 1 in the Option column for the disk units that you want to exclude from
device parity protection and press the Enter key. The following display is
shown.
5. If the disk units you selected are to be excluded from device parity protection,
confirm this by pressing the Enter key. After the exclude operation has
completed, the following display is shown.
Note: You can press F16 to return to the Use Dedicated Service Tools (DST)
menu if you have other tasks to perform. However, you cannot perform
any disk configuration tasks or end DST until the system has finished
excluding disk units in device parity protection.
6. Press the Enter key to return to the Work with Device Parity Protection menu.
or from the Use Dedicated Service Tools (DST) menu, do the following:
The display is organized by device parity set. It includes controllers that can
support device parity protection and all of the disk units that have the
hardware capability for device parity protection. The possible values for the
Status column are the following:
Active This unit is part of a disk unit subsystem that has device parity
protection. This unit is fully operational.
How to Enable Disk Units Attached to the MFIOP to Use Device Parity
Protection
As illustrated in the preceding sections, some multi-function input/output
processors (MFIOPs) can support device parity protection. However, disk units that
were migrated from other RISC-based systems might not be in the correct format
to allow device parity protection to be started.
This section describes a conversion procedure for the disk units attached to the
MFIOP so that device parity protection can be started. Ensure that the disk units
and the MFIOP meet all of the following conditions before starting this procedure:
v The disk units that are currently attached to the MFIOP have mirrored
protection
v All disk units with mirrored protection have a state of ’Active’
v The MFIOP on the system supports device parity protection
v All of the disk units that are attached to the MFIOP are the same capacity
Mirrored protection cannot be running on a disk unit that is using device parity
protection. In order to use the MFIOP capability to support device parity
protection, you will have to stop mirrored protection on the loadsource disk unit.
You should be aware that if you stop mirrored protection on the loadsource disk
unit and replace mirrored protection with device parity protection, you could be
reducing the system availability.
Notes:
1. With both device parity protection and mirrored protection, the system
continues to run after a single disk failure. With mirrored protection, the
system may continue to run after the failure of a disk-related component, such
as a controller or an IOP.
2. When a second disk failure occurs such that the system has two failed disks,
the system is more likely to continue to run with mirrored protection than with
device parity protection.
1. If you are not already using DST, end all active jobs and power down the
system. Perform a manual IPL to start DST. See “How to Start Dedicated
Service Tools (DST)” on page 660, for information on starting DST.
Serial Resource
ASP Unit Number Type Model Name Status
1 Mirrored
1 68-0C47591 6602 030 DD001 Active
1 68-0119804 6602 030 DD002 Active
2 68-0C60040 6602 030 DD003 Active
2 68-54531 6602 050 DD004 Active
3 68-0C99140 6602 030 DD012 Active
3 68-5544453 6602 050 DD011 Active
5 10-1000128 9337 221 DD005 Active
5 10-2000128 9337 221 DD006 Active
7 10-3000128 9337 221 DD007 Active
7 10-5000128 9337 221 DD008 Active
4. On the Display Disk Unit Details screen, locate the disk units which are on
System Bus 1 and System Card 1. Those are the units that are attached to the
Multi-function Input/Output Processor (MFIOP). Write down the unit
numbers and serial numbers of those disk units. You will need that
information in later steps. In the example above, the disk units with serial
numbers 68–0C47591, 68–0119804, 68–0C60040, and 68–0C99140 are attached to
the MFIOP.
Serial Resource
OPT Unit ASP Number Type Model Name Status
4 2 1 68-0C60040 6602 030 DD003 Active
4 2 1 68-54531 6602 050 DD004 Active
4 3 1 68-0C99140 6602 030 DD012 Active
4 3 1 68-5544453 6602 050 DD011 Active
5 1 10-1000128 9337 221 DD005 Active
5 1 10-2000128 9337 221 DD006 Active
7 1 10-3000128 9337 221 DD007 Active
7 1 10-5000128 9337 221 DD008 Active
9. Type a 4 (Remove unit from configuration) in the OPT column for each unit
on the MFIOP that you want to remove and press the Enter key. In an earlier
step, you wrote down the serial numbers and units of the disk units attached
to the MFIOP. If the disk units that are attached to the MFIOP have mirrored
protection, select both units of the mirrored pair. In the example above, the
disk units with serial numbers 68–0C60040 and 68–0C99140 are attached to the
MFIOP. Those correspond to units 2 and 3, so unit 2 and unit 3 have to be
removed from the configuration. The mirrored pairs that contain those units
were selected.
10. The Confirm Continuation display may be shown before the Confirm Remove
Disk Units display if the storage management directories are not usable.
11. Press the Enter key. The Confirm Remove Disk Units display is shown:
Serial Resource
OPT Unit ASP Number Type Model Name Status
4 2 1 68-0C60040 6602 030 DD003 Active
4 2 1 68-54531 6602 050 DD004 Active
4 3 1 68-0C99140 6602 030 DD012 Active
4 3 1 68-5544453 6602 050 DD011 Active
12. Press the Enter key on the Confirm Remove Disk Units display to remove the
selected units. The system moves the data off the units that are selected to be
removed to the remaining units in the source ASP.
Notes:
a. The time it takes to remove a unit depends on the disk unit type and
model.
b. If the data on the unit being removed is severely fragmented and the
amount of storage used is high, the remove operation could take several
hours.
When the remove operation is complete, you are returned to the Work with
ASP Configuration display.
13. Exit the Work with Disk Units function and return to the Use Dedicated
Service Tools menu.
14. Power off the system.
15. Put the keylock in Normal mode.
16. Power on the system.
17. The system starts the IPL, and eventually the Sign On display appears. You
will see the message Enter your user ID and password.
18. When the IPL is complete, start the System Service Tools (SST). See “Starting
System Service Tools (SST)” on page 662 for more information.
19. The following steps will change the mirror-protected loadsource disk units
from a model 030 so that device parity protection can be enabled on the disk
units. The MFIOP cannot start device parity protection until all the disk units
that are attached to the MFIOP have been correctly formatted.
20. From the System Service Tools (SST) menu, do the following:
Serial Resource
OPT Unit ASP Number Type Model Name Status
_ 1 1 68-0C47591 6602 030 DD001 Active
_ 1 1 68-0119804 6602 030 DD002 Active
_ 5 1 10-1000128 9337 221 DD005 Active
_ 5 1 10-2000128 9337 221 DD006 Active
_ 7 1 10-3000128 9337 221 DD007 Active
_ 7 1 10-5000128 9337 221 DD008 Active
Serial Resource
OPT Unit ASP Number Type Model Name Status
1 1 1 68-0119804 6602 030 DD002 Suspended
Serial Resource
Unit ASP Number Type Model Name Status
1 1 68-0119804 6602 030 DD002 Suspended
Type option, press Enter
1=Select
Serial Resource
Option Number Type Model Name Status
1 68-0C60040 6602 030 DD003 Non-configured
_ 68-54531 6602 050 DD004 Non-configured
_ 68-0C99140 6602 030 DD012 Non-configured
_ 68-5544453 6602 050 DD011 Non-configured
24. Type a 1 in the Option column on the Select Replacement Unit display and
press the Enter key. Select a non-configured disk unit that is attached to the
MFIOP. You recorded the serial numbers of the disk units that are attached to
the MFIOP in an earlier step.
Serial Resource
Unit ASP Number Type Model Name Status
1 1 68-0119804 6602 030 DD002 Suspended
Serial Resource
Unit ASP Number Type Model Name Status
1 1 68-0C60040 6602 050 DD003 Resuming
Serial Resource
OPT Unit ASP Number Type Model Name Status
1 1 1 68-0C47591 6602 030 DD001 Active
_ 1 1 68-0C60040 6602 050 DD003 Active
_ 5 1 10-1000128 9337 221 DD005 Active
_ 5 1 10-2000128 9337 221 DD006 Active
_ 7 1 10-3000128 9337 221 DD007 Active
_ 7 1 10-5000128 9337 221 DD008 Active
Serial Resource
OPT Unit ASP Number Type Model Name Status
1 1 1 68-0C47591 6602 030 DD001 Suspended
Serial Resource
Unit ASP Number Type Model Name Status
1 1 68-0C47591 6602 030 DD001 Suspended
Type option, press Enter
1=Select
Serial Resource
Option Number Type Model Name Status
1 68-0119804 6602 030 DD002 Non-configured
_ 68-54531 6602 050 DD004 Non-configured
_ 68-0C99140 6602 030 DD012 Non-configured
_ 68-5544453 6602 050 DD011 Non-configured
31. Type a 1 in the Option column on the Select Replacement Unit display and
press the Enter key. Select a non-configured disk unit that is attached to the
MFIOP. You recorded the serial numbers of the disk units that are attached to
the MFIOP in an earlier step.
Serial Resource
Unit ASP Number Type Model Name Status
1 1 68-0C47591 6602 030 DD001 Suspended
Serial Resource
Unit ASP Number Type Model Name Status
1 1 68-0119804 6602 050 DD002 Resuming
The disk units and their status are displayed. Ensure that the disk units
attached to the MFIOP are not model 030.
Serial Resource
ASP Unit Number Type Model Name Status
1 Mirrored
1 68-0119804 6602 050 DD002 Active
1 68-OC60040 6602 050 DD003 Active
5 10-1000128 9337 221 DD005 Active
5 10-2000128 9337 221 DD006 Active
7 10-3000128 9337 221 DD007 Active
7 10-5000128 9337 221 DD008 Active
8 68-54531 6602 050 DD004 Active
8 68-0C99140 6602 050 DD012 Active
9 68-5544453 6602 050 DD011 Active
9 68-OC47591 6602 050 DD001 Active
36. Stop mirrored protection on the system ASP. See “How to Stop Mirrored
Protection” on page 723 for more information.
37. Start device parity protection on the disk units that are attached to the MFIOP.
See “Starting Device Parity Protection” on page 695 for the complete
instructions on starting device parity protection
Logical partitioning users: If you perform an IPL on the primary partition, the
secondary partitions will power down. If there is any
activity on the secondary partitions when this occurs,
the next IPL may be abnormal. You should quiesce all
secondary partition activity before starting mirroring
on the primary partition.
1. If you are not already using DST, perform a manual IPL to start DST. See “How
to Start Dedicated Service Tools (DST)” on page 660.
3. Select option 2 (Start mirrored protection) on the Work with Mirror Protection
display.
4. Select the ASP or ASPs to be mirrored on the Select ASP to Start Mirrored
Protection display and press the Enter key. Do not select ASPs that are
protected with device parity protection.
You may see the following display:
Press the Enter key to continue.
Confirm Continuation
To proceed, the system must perform directory recovery, which may take a
significant amount of time. The system may appear inactive during this time.
Press Enter to continue. Press F12=Cancel to return and change your choices.
Serial Resource
ASP Unit Number Type Model Name Protection
1 Unprotected
1 00-48519 6606 030 DD010 Unprotected
2 Mirrored
2 00-1000341 9337 211 DD012 Disk Unit
2 00-5000341 9337 211 DD015 Disk Unit
3 00-0186325 6602 074 DD019 Device Parity
4 00-0162516 6602 074 DD025 Device Parity
5 00-0238703 6602 074 DD052 Device Parity
6. If the configuration is what you had planned and you do not have other
configuration changes to make, skip to step 7
If the configuration is not what you had planned, for example, the level of
protection is less, you have the following options:
v Verify that the correct ASP was selected. Verify that any new storage units
have been added to the correct ASP.
v Determine if additional hardware is required to achieve the planned level of
protection.
v Determine if the existing hardware needs to be connected differently to
achieve the planned level of protection. Contact your technical support
organization for assistance.
v Consider continuing the start mirrored protection process which will provide
better availability than non-mirrored protection, rather than waiting until
additional hardware arrives so that you can achieve your planned level of
protection. After you receive and install the additional hardware, use Table 83
on page 643 to determine the procedure for configuring your disk storage
correctly. Even on very large systems, the tasks to stop mirroring, add units,
and start mirrored protection can be done in several hours.
7. Place the system in Normal mode and press the Enter key to accept the
configuration. The system performs the first part of the process for starting
mirrored protection. During that time, you are shown the Function Status
display:
The system updates the display periodically.
Function Status
You selected to start mirrored protection. 5 % Complete
Note: You can press F16 to return to the Use Dedicated Service Tools (DST)
menu if you have other tasks to perform. However, you cannot perform
any disk configuration tasks or end DST until the system has finished
starting mirrored protection.
The system continues the start mirrored protection process in What the System
Does When You Start Mirrored Protection without further operator
intervention.
Starting mirrored protection can fail if there is insufficient storage available in the
ASP to contain the current data in the ASP. The percentage that is used in the ASP
must normally be less than half of the ASP threshold. The exception to this occurs
when the ASP contains device parity protected disk units that can allow starting
mirrored protection with a greater percent used.
3. Select option 3 (Stop mirrored protection) on the Work with Mirror Protection
display. You are shown the Select ASP to Stop Mirrored Protection display:
4. Select the ASP or ASPs for which mirrored protection is to be stopped on the
Select ASP to Stop Mirrored Protection display and press the Enter key. The
Confirm Stop Mirrored Protection display is shown:
Serial Resource
ASP Unit Number Type Model Name Protection
1 Unprotected
1 00-48519 6606 030 DD010 Unprotected
2 Unprotected
2 00-1000341 9337 211 DD012 Unprotected
3 00-0186325 6602 074 DD019 Device Parity
4 00-0162516 6602 074 DD025 Device Parity
5 00-0238703 6602 074 DD052 Device Parity
5. Press the Enter key to confirm your choice. The system stops mirrored
| protection for the ASPs you requested and performs an IPL. However, when
| you stop mirroring on only independent ASPs, the system does not perform an
| IPL.
Typically, data that is found on disk units has a wide range of access requirements.
You may choose to move data that is accessed infrequently, or data that does not
require high performance I/O rates, to compressed disk units. Disk compression is
intended to make infrequently accessed data available on-line at a lower cost. This
storage alternative is positioned between non-compressed disk unit storage and
optical or tape storage.
Compressed disks have the same disk subsystem availability options of device
parity protection and mirrored protection as non-compressed disks. Disk
compression is only supported in user ASPs.
The following example shows the calculation and display of capacity by the system
for compressed disk units. The disk unit capacities are available on the Display
Disk Configuration Capacity display under the DST menus and the SST menus.
The capacities are also available on the Work with Disk Status (WRKDSKSTS)
display.
Note: If you have the licensed program 5769PT1 Performance Tools for iSeries
installed on the system, you may use the system report to display the
compression ratio. (You can find the ratio in the″Disk Compression
Statistics″ section in the system report.)
1. Prior to starting compression, a nonconfigured 6602 Model 050 has a capacity
of 1031 megabytes.
Display Non-Configured Units
Serial Resource
Number Type Model Name Capacity Status
83-0135199 6602 050 DD005 1031 Non-configured
83-0306044 6602 050 DD006 1031 Non-configured
2. After starting compression, the 6602 model number changes to 060, and the
capacity doubles.
Serial Resource
Number Type Model Name Capacity Status
83-0135199 6602 060 DD005 2062 Non-configured
83-0306044 6602 060 DD006 2062 Non-configured
----Protected---- ---Unprotected---
ASP Unit Type Model Threshold Overflow Size % Used Size %Used
1 90% No 0 0.00% 21372 17.26%
1 6607 050 0 0.00% 4194 29.25%
2 6713 050 0 0.00% 8589 14.33%
3 6713 050 0 0.00% 8589 14.34%
4. After writing data to the user ASP, capacities and percentages that are used are
displayed.
Display Disk Configuration Capacity
----Protected---- ---Unprotected---
ASP Unit Type Model Threshold Overflow Size % Used Size %Used
1 90% No 0 0.00% 21372 17.26%
1 6607 050 0 0.00% 4194 29.25%
2 6713 050 0 0.00% 8589 14.33%
3 6713 050 0 0.00% 8589 14.34%
5. The following calculations may be performed to determine how well the data is
being compressed, and the estimated disk unit capacity. These calculations may
be performed on a user ASP basis, as well as on individual disk units.
Amount Calculation
Using the values listed for Unit 5 in the preceding step with these formulas
produces the following:
Amount Calculation
When the system displays an A6xx 0277 attention SRC on the control panel, it also
logs a corresponding A6xx 0277 record in the Product Activity Log. This occurs
each time this disk unit full condition is detected. The system also sends message
CPI116C ″Compressed disk unit &1 is full″ to the QSYSOPR message queue. The
system will reissue the failed I/O operation and will continue to display the
attention SRC on the control panel until the condition is corrected. When the
storage subsystem controller creates sufficient space on the compressed unit to
contain the system request, the I/O operation completes successfully and the
system resumes normal processing.
While this attention SRC is being displayed, some I/O operations to the affected
compressed disk unit may be suspended. As a result, you may observe that jobs
which issue I/O operations to the affected unit appear to hang.
To reduce the likelihood of system operations hanging while the storage subsystem
recovers from a disk unit full condition, it is recommended that ASPs with
compressed units operate with a storage threshold of less than or equal to 90%.
As space on the disk unit continues to be used, eventually the storage subsystem
controller can no longer store more data on the unit. At this point, the storage
subsystem controller will return a failure on any system requests requiring storage
space. Refer to the following section, How The System Responds to Disk Unit Full,
for more information.
If the system request is reserving additional storage space in the ASP, the
compression recovery policy for the ASP determines the system response. You set
this policy by using the Change ASP Attribute (CHGASPA) command.
Note: The Information Center contains information that correlates the function and
word for SRC codes on models 270, and 8xx. Look under System
Administration, Availability, and Maintenance-> Logical
Partitions->Troubleshooting logical partitions->Learning about system
reference codes (SRC) for logical partitions.
Table 103. SRC code word formats in V4R4 and previous releases.
Word for the Word format Description
SRC code
15 0000 0000 Unassigned in V4R4 and previous
releases.
16 uuuu uuuu This word describes the unit
address of the disk unit.
17 CCEE BBcb Word 17 defines: the operation in
progress, the error code; and the
CC indicates the operation in bus, card, and board address of the
progress with the following values: disk unit.
v 84 is an allocate operation
v 2x is a write operation where x is
1, 2, or 4
Perform one of the three following actions in response to SRC A6xx 0277.
User Action 1
Wait for the storage subsystem controller to reposition the data on the disk unit.
If the error code for EE of the attention SRC is 02, the storage subsystem controller
will eventually obtain additional storage space on the unit, such that the I/O
operation will succeed. If the system does not resume normal processing within 20
minutes, contact your next level of support.
Word 16 contains the unit address of the disk unit. Word 17 (V4R4 and previous)
contains the right most characters as BBcb. Word 17 or 7 (V4R5) is BBBB ccbb.
Refer to ″Hardware Service Manager″ in the iSeries Service Functions to correlate
the unit address (logical address) with a resource name or serial number. The ASP
that contains the disk unit can be determined by using the Display Disk
Configuration Status display under the DST and SST menus.
If the error code for EE of the attention SRC is 00, the storage subsystem controller
determined that the disk unit is full.
Note: You cannot use the MOVOBJ command to do this. You must save the
library, delete it, and then restore it to a different ASP.
v Move one or more folders to a different ASP by saving the folder, deleting it,
and restoring it to a different ASP.
v Increase the storage capacity by adding disk units to the ASP.
User Action 3
Change the compression recovery policy to the desired system behavior. For more
information on the CHGASPA command, refer to the iSeries server online help.
User Action 4
Re-IPL the system so that additional storage space can be made available in the
ASP that contains the disk unit that was denoted in the attention SRC on the
subsequent IPL.
Word 16 contains the unit address of the disk unit. Word 17 (V4R4 and previous)
contains the right most characters as BBcb. Word 17 or 7 (V4R5) is BBBB ccbb.
Refer to ″Hardware Service Manager″ in the iSeries Service Functions to correlate
the unit address (logical address) with a resource name or serial number. The ASP
that contains the disk unit can be determined by using the Display Disk
Configuration Status display under the DST and SST menus.
If the error code for EE of the attention SRC is 00 and the system is holding critical
resources, the system will eventually hang. The recommended recovery procedure
is to re-IPL the system. The system must be in Manual mode. Perform the
following steps:
1. Force the system to write changed data in main storage to disk storage by
pressing the power push-button twice to stop the system. Wait for system
activity to stop.
There will be changed data that is in main storage which can not be written to
the disk unit. Therefore, the above system power off will eventually hang.
2. Start an IPL.
Note: You cannot use the MOVOBJ command to do this. You must save
the library, delete it, and restore it to a different ASP.
– Move one or more folders to a different ASP by saving the folder, deleting
it, and restoring it to a different ASP.
Note:
You can use a 2748 storage I/O controller for extended adaptive cache or
disk compression, but not both at the same time. The Information Center
contains information on how to configure your 2748 storage I/O controller.
Look under the Storage I/O card modes and jumpers information in the
Information Center Website:
http://www.ibm.com/eserver/iseries/infocenter.
Selection
F3=Exit F12=Cancel
5. Select the disk units that you want to start compression on from the Select Disk
Units for Start Compression screen.
Note: You can only start compression on a configured unit if the disk unit is
less than or equal to 92% full.
F3=Exit F12=Cancel
6. You are shown the Confirm Disk Units for Start Compression screen. This
display shows the approximate amount of time that is required to start disk
compression, and the current and proposed sizes of the disk unit.
7. At the Confirm Disk Units for Start Compression screen, press Enter to confirm
your choice of disk units that you want to start compression on. You are shown
the Start Compression on Disk Unit Status screen.
Phase Status
Selection
F3=Exit F12=Cancel
The requested compression operation completed successfully.
Selection
F3=Exit F12=Cancel
4. Select the disk units that you want to stop compression on from the Select Disk
Units for Start Compression screen.
F3=Exit F12=Cancel
5. You are shown the Confirm Disk Units for Stop Compression screen. This
display shows the approximate amount of time that is required to stop disk
compression, and the current and proposed sizes of the disk unit.
6. At the Confirm Disk Units for Stop Compression screen, press Enter to confirm
your choice of disk units that you want to stop compression on. You are shown
the Stop Compression on Disk Unit Status screen.
Phase Status
Selection
F3=Exit F12=Cancel
The requested compression operation completed successfully.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as you
or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you to diagnose any
problems that occur.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 104. Adding a New I/O Storage Controller and Disk Units
Task What to Do Where to Read More About It
Task 1 Install the new storage controller in the
system. This is normally done by a service
representative.
Task 2 Physically attach disk units to the new
storage controller. This is normally done by a
service representative.
Task 3 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
Task 4 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 5 If you want to have device parity protection “How to Start Device Parity Protection for
for the storage controller, start device parity an Input/Output Processor” on page 699.
protection now.
Task 6 Start disk compression on nonconfigured disk “How to Start Disk Compression” on
units. page 732.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 105. Adding Compressed Disk Units to an Existing Storage Controller
Task What to Do Where to Read More About It
Task 1 Physically attach disk units to an existing
storage controller. This is normally done by a
service representative.
Task 2 Start DST or SST. “How to Start Dedicated Service Tools
(DST)” on page 660 or “Starting System
Service Tools (SST)” on page 662.
Task 3 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 4 Include the disk units that you want to “How to Include a Disk Unit in Device
protect in device parity protection. Parity Protection” on page 705.
Task 5 Start disk compression on nonconfigured disk “How to Start Disk Compression” on
units. page 732.
Before you begin, make a copy of this checklist. Fill in the appropriate areas as you
or the service representative perform the configuration tasks. This checklist
provides an important record of your actions. It may help you diagnose any
problems that occur.
Attention: When you perform the tasks in this checklist, the system moves large
amounts of data. Make sure that you have saved your system
completely in the event that you need to recover from an error
situation.
Most tasks in the checklist include references to other topics in this book. Refer to
these topics if you need more information about how to perform a particular task.
Table 106. Moving Disk Units from the System ASP to a User ASP
Task What to Do Where to Read More About It
Task 1 Print your current disk configuration. “How to Display Your Disk Configuration”
on page 663.
Task 2 Calculate the space requirements for both the “How to Calculate Space Requirements for
source and target ASPs for the disk units. an Auxiliary Storage Pool” on page 681.
Task 3 Use option 21 from the Save menu to save “Saving your server with the GO SAVE
your entire system. command” on page 15.
Task 4 Start DST. “How to Start Dedicated Service Tools
(DST)” on page 660.
To stop compression and restart compression on the disk drive to reset the write
count, perform the following:
1. Perform a Manual Mode IPL to DST. (Refer to “Dedicated Service Tools (DST)”
in the iSeries Service Functions for more information.)
2. To find the resource name of the disk drive with the problem, perform the
following:
a. Select the Use Dedicated Service Tools option.
b. Select the Start a service tool option.
c. Select the Hardware service manager option.
d. Select the Work with service action log option.
e. Select the time frame of the problem.
f. Record the resource name that is associated with the 6xxx 7052 entry in the
SRC column.
3. Remove the disk unit from the ASP.
4. Stop compression on the disk unit.
5. Start compression on the disk unit.
6. Add the disk drive back to the ASP from which it was removed.
Using ASPs also increases performance. You can place libraries or objects in an
ASP, allowing you to dedicate the disk units in the ASP exclusively for the use of
those objects. If you do extensive journaling, a dedicated disk unit for the journal
receiver can also improve journaling performance.
Note: Placing many active journal receivers in the same user ASP is not
productive. The resulting contention between writing to more than one
receiver in the ASP can slow system performance. For maximum
performance, place each active journal receiver in a separate user ASP.
You can improve system performance by using the ASP Trace and ASP Balance
features.
Changing ASP size may involve determining adequate disk storage, “How to Add
Disk Units to an Auxiliary Storage Pool” on page 669 and “How to Delete an
Auxiliary Storage Pool” on page 680.
If the amount of data in a storage pool increases, you may need to increase the size
of the storage pool. Conversely, if data in a storage pool decreases, you may want
to decrease the size of that storage pool and use the disk space elsewhere.
Changing the size of an ASP can mean adding a disk unit, removing a disk unit,
moving a disk unit, or deleting an ASP from the system. You must typically have
QSECOFR authority to access these tasks.
The balancing actions use the results of previous ASP traces to determine disk unit
usage. Therefore, an ASP balance will be more effective if you perform an ASP
trace first.
Capacity Balance
The Capacity Balance function rearranges the data on all of the disk units within
an Auxiliary Storage Pool. It moves data so that each disk unit has an equal
percentage of used and unused space. This is useful when you add new units to
an Auxiliary Storage Pool. We want to avoid the situation where several disk units
contain the majority of the data and the newly added disk units contain very little
data. This situation leads to poor system performace. The balance function spreads
the data in the ASP evenly across all of the disk units.
Below is a display which shows the effects of using Capacity Balance. Before using
Capacity Balance the recently added Unit 4 contained very little data. The system
storage management allocates newly created data to the disk unit that has the
lowest percentage of capacity used. Thus, the system routes all new storage
allocations to the unit 4. If the system uses that newly created data frequently, a
potential bottleneck is created. The system directs all of the I/O operations to a
single disk unit instead of spreading it across all units in the ASP. The Capacity
Balance performed on the ASP allows the data to be evenly distributed across all
of the disk units in the ASP. This means that the distribution of future space
allocation on the disk units in the ASP is even across all of the disk units in the
ASP. That ensures that the I/O to those allocates are also evenly spread out
amongst the disk units instead of being concentrated on the newly added disk
unit.
If you want to end a Capacity Balance before the time limit requested is reached,
use the End ASP Balance (ENDASPBAL) command. For example, if you want to
end a running capacity balance on ASP 4, enter the following command:
ENDASPBAL ASP(4).
Compression disk units have larger capacity, but are somewhat slower than
non-compression disk units. This is due to the overhead of compression and
decompression, and the variations in the length of the data that is written to disk.
Typically, data that is found on disk units has a wide range of access requirements.
The HSM balance function moves data that is accessed infrequently to compression
disk units. Disk compression makes infrequently accessed data available on-line at
a lower cost. System throughput improves when you move high-use data off of
compression disk units. Moving the low-use data to the large compression disk
units makes additional capacity available on the standard disk units so high-use
data can be allocated.
The Start ASP Balance (STRASPBAL) command is used to perform the HSM
Balance function. For example, if you want to run a HSM balance on ASP 4 for 25
minutes, enter the following command: STRASPBAL ASP(4) TYPE(*HSM)
TIMLMT(25).
If you want to end a HSM Balance before the time limit requested is reached, use
the End ASP Balance (ENDASPBAL) command. For example, if you want to end a
running HSM balance on ASP 4, enter the following command: ENDASPBAL
ASP(4).
Usage Balance
The Usage Balance attempts to balance the usage of the disk units in an Auxiliary
Storage Pool. The Usage Balance can only be done following a Trace ASP Balance.
The Trace ASP Balance function monitors the I/O activity on each of the disk units
in the ASP. It then determines where the frequently used and infrequently used
data resides. The Usage Balance function utilizes that trace information. It adjusts
the data on the disk units so future system activity will be more equally balanced
amongst the disk units in the ASP.
If the system determines that all of the disk units are of approximately equal
utilization, the balance will end very quickly. The Balance Usage function uses the
Trace information in its calculations. If the trace data is old, or if your applications
have changed to reference different data since the trace was run, the Usage Balance
The Start ASP Balance (STRASPBAL) command is used to perform the Archive
Balance function. For example, if you want to start a usage balance on ASP 4 to
run for 25 minutes, enter the following command: STRASPBAL ASP(4)
TYPE(*USAGE) TIMLMT(25).
If you want to end a Usage Balance before the time limit requested is reached, use
the End ASP Balance (ENDASPBAL) command. For example, if you want to end a
running usage balance on ASP 4, enter the following command: ENDASPBAL
ASP(4).
ASP Trace
The Trace ASP Balance command monitors the frequency that data is accessed on
the disk units in the Auxiliary Storage Pool. Each I/O to the disk units is
monitored, and the results are recorded for use by the Balance commands. The
statistics which are collected are cumulative. For example, suppose you start one
Trace and it runs for 35 minutes. Then you start another trace on that ASP and it
runs for 15 minutes. The second group of statistics is added to the first collection
and the cumulative result is used to balance the ASP.
Select an Auxiliary Storage Pool that you want the system to monitor. The system
will record all of the I/O activity on the disk units in that ASP. For example to
start a trace on ASP 4 which will run for 35 minutes, enter the following
command: TRCASPBAL ASP(4) SET(*ON) TIMLMT(35).
If you want to end a trace before the time limit requested on the Start Trace is
reached, use the Trace ASP Balance (TRCASPBAL) command. For example, if you
want to end the trace on ASP 4, enter the following command: TRCASPBAL
ASP(4) SET(*OFF).
The collected statistics on each disk units I/O activity can be cleared by use of the
TRCASPBAL command. You can clear old trace data if you do not want that data
to be used in determining the locations of the high-use and low-use data on the
disk units in the ASP. Use the Trace ASP Balance (TRCASPBAL) command to clear
the trace data. For example, if you want to clear the trace data which has been
collected from ASP 4, enter the following command: TRCASPBAL ASP(4)
SET(*CLEAR).
If the amount of storage is less than you need to complete your task, you must
create more disk space. You can create more space by adding additional disk units
or by cleaning your system of files and programs you no longer use.
When you have made all the planning decisions, you can start to create logical
partitions on your iSeries server. As with any major change in system
configuration, there are a number of prerequisites that you should do before you
make create any new logical partitions. Once you have done the prerequisites, you
can start the six tasks involved in partitioning your server.
| Starting with V5R1M0 you can use Operations Navigator to create logical
| partitions. For information on using Operations Navigator to create logical
| partitions, go to the Information Center at the following Web site:
| www.ibm.com/eserver/iseries/infocenter
|
Preparing for Logical Partitions
Your preparation needs are based on the system that you want to create logical
partitions on:
You should back up all your system data and user data before creating any logical
partitions. You should also make two copies of the backup, or perform one full
backup, and duplicate the save media. Use option 21 on the save menu. You
should have two copies because you should always store one off site in case of a
disaster.
Use the following steps when you create logical partitions on a system that already
contains user data and system data:
1. Use option 21 on the Save menu to perform a backup. You can find the steps
for using option 21 in “Chapter 2. Saving your Server” on page 15.
2. After you complete your backups, continue with the steps for creating logical
partitions.
Only Version 4 Release 4 (V4R4) and newer versions of the OS/400 operating
system support logical partitions. V4R4 is the earliest release that is supported in
any logical partition.
However, the 8xx servers can only support OS/400 V4R5 or later software releases
on all logical partitions.
The 6xx, 7xx, 8xx, and Sxx n-way base servers support logical partitions. Servers
1xx, 2xx, 4xx, and 5xx do not support logical partitions.
For upgrade customers, the current physical placement of hardware may restrict
your configuration choices. For server-specific information, consult the Technical
information section on the Logical Partition Web site, and contact your business
partner, marketing representative, or service specialist.
Be sure that you have the right hardware and software for your server. The
following minimum hardware requirements are necessary for creating logical
partitions.
Table 107. Hardware requirements for logical partitions
Hardware Primary partition Each secondary partition
Requirements
Processor One processor One processor
Main Storage 256 MB 64 MB
Load source disk One disk unit in supported load One disk unit in supported
unit source location with dedicated load source location with
load source capable IOP dedicated load source capable
IOP
Console One system console and One system console and
appropriate dedicated controlling appropriate dedicated
IOP controlling IOP
Alternate load One optical or tape drive (both are One optical or tape drive that
source recommended) and the controlling is switchable between all
IOP secondary partitions and the
controlling IOP
Recommendations
Input/Output (I/O) A minimum of one bus is recommended for each partition to enable
Bus bus level I/O partitioning
Electronic customer One for the system (electronic customer support line is currently
support line shipped with the primary)
You can create a maximum of one logical partitions for each installed processor.
The server limit is 24 processors, so you can have a potential of 24 partitions on a
server.
During the process of creating partitions you are frequently prompted to IPL the
whole system or a single partition. The following situations each require an IPL.
Alternatively, a single IPL can be initiated after you have made all adjustments.
v Primary partition (system) IPL.
– Changing minimum or maximum limits for any partition.
– Changing bus ownership for any partition.
– Starting or stopping virtual OptiConnect.
– Creating or deleting a partition.
v Secondary partition system IPL.
– Increasing or decreasing the number of processors.
– Increasing or decreasing the amount of allocated memory.
– Increasing or decreasing the percentage of interactive performance.
If you plan to use Operations Console on a secondary partition, you must have an
electronic customer support resource (asynchronous communication resource)
available on the same IOP.
If questions arise during the creation of logical partitions, you have the following
options:
v Press F1 for on-line help.
v Consult the Understanding logical partition error messages and reports page in
Troubleshooting logical partitions in the Information Center.
v Check the World Wide Web under www.ibm.com/eserver/iseries/lpar for
important information.
Note: If you will be using Operations Console on a secondary partition, you must
have an electronic customer support resource (asynchronous communication
resource) available on the same IOP.
Number of
processors
min/max
Memory
min/max
Interactive
Workload
min/max
Interpartition
communication
(OptiConnect -
yes/no)
Interpartition
communication
(High Speed
Link-yes/no)
Release Level
Bus number
ownership
Console IOP
(bus/board/card)
Generate a resource printout using the Start System Service Tools (STRSST)
command. You should be signed on with service tools authority such as QSECOFR.
__ Step 1. At the OS/400 command line type STRSST and press enter.
__ Step 2. Select option 1 (Start a service tool)
__ Step 3. Select option 7 (Hardware service manager)
__ Step 4. At the Hardware Service Manager display, press F6 (Print
configuration).
__ Step 5. At the Print Format options display, select either Format - 1 (132
characters wide) and Sort by - 2 (Logical address).
In order to get a correctly formatted printout, your printer device must
be configured and able to accommodate a 132 character width line.
__ Step 6. Press Enter.
__ Step 7. Return to the OS/400 command line.
__ Step 8. Use the Work with Spooled Files (WRKSPLF) command to work with
the spooled file you just created (QPCSMPRT).
__ Step 9. Print the file.
2. Getting started
__ Step 1. You should read Prerequisites to creating logical partitions before
continuing to the next step.
__ Step 2. If you have created practice partitions, delete them by referring to the
Information Center page, Deleting all of your logical partitions.
__ Step 3. If your system is active, power down your system by typing
PWRDWNSYS OPTION (*CNTRLD) DELAY (600) and pressing Enter
at command line.
__ Step 4. Using the system resource print out, fill in the system resource
worksheet to record your resources. This worksheet will help you keep
track of the resource you remove from the primary partition and add
to the secondary partitions.
__ Step 5. Change the control panel to Manual mode.
Once you begin in Manual mode, remain there.
__ Step 6. Press the power on button.
In this section you will remove resources to create partitions. It will simplify
partition setup if you remove sufficient resources now to create all partitions.
__ Step 1. At the IPL or Install the System display, select option 3 (Use
Dedicated Service Tools (DST)).
__ Step 2. At the sign on display, sign on to DST with service tools authority
such as QSECOFR.
__ Step 3. Verify that all the logical hardware resources on the System Bus are
operational by doing the following steps:
a. Select option 7 (Start a service tool).
b. Select option 4 (Hardware service manager).
4. Add resources
Beginning with this step, create a partition and add previously removed resources
to it. You create partitions one at a time. For each partition you want to create,
repeat this section.
__ Step 1. At the Work with System Partitions display, select option 5 (Create a
new partition).
__ Step 2. Press F9 for a list of limits.
__ Step 3. Provide the required information for:
v Partition name. (A partition name can be any word (except
PRIMARY), not exceeding 8 characters (A - Z and 0 - 9)).
v Number of partition processors.
v Size of main storage (MB).
v Partition interactive performance workload.
v Connect to system Virtual OptiConnect.
__ Step 4. Press Enter.
Beginning with this step, perform a system restart (IPL) and activate all changes
for your new partitions. If there are any existing secondary partitions active, make
sure they are powered down prior to performing a system restart.
To perform a system-wide restart, press F10 and Enter to confirm your choice.
All newly created secondary partitions will be in the powered off state, IPL source
set to D, IPL Mode set to Manual, and System IPL Action set to hold.
You must now install your Licensed Internal Code and your OS/400 operating
system on your secondary partitions:
__ Step 1. Sign on to DST or SST with service authority such as QSECOFR.
__ Step 2. Place the Licensed Internal Code media in the alternate IPL device for
the new secondary partition.
__ Step 3. Perform a D mode IPL for the new secondary partition:
a. From the DST menu select option 11 (Work with system partitions).
Job recovery procedures should ensure the integrity of the user’s data and allow
for easy starting of the interrupted application. Journaling and commitment control
can be used in application design to help in job recovery. Recovery procedures
should be transparent to the end users.
To recover from inquire-only jobs, the workstation operators simply start where
they left off. When using update transactions for many files, consider using a
journal or commitment control. The system automatically recovers journaled files
during the initial program load (IPL) following an abnormal end of the system. In
addition, the journal can be used for user-controlled forward or backward file
| recovery. There are other object types in addition to database physical files that
| you can protect with journaling. See “Chapter 19. Planning and Setting Up
| Journaling” on page 383 for more information.
Commitment control, using the file changes recorded in the journal, provides
automatic transaction and file synchronization. During job end, the system
automatically rolls back file updates to the beginning of the transaction. In
addition, the commitment control notify object can assist you in restarting the
transaction.
When designing an interactive application, consider the possibility that you can
experience equipment problems with your workstations and communications lines.
For example, suppose your computer system loses power. If you have an
uninterruptible power supply installed to maintain power to the processing unit
and disk units, your system remains active. However, in this example, your
workstations lost power. When your programs attempt to read or write to the
You should design your interactive applications to look at error feedback areas and
handle any errors indicated. If the application handles the errors and stops, the
system resource is not used to do nonproductive error recovery. Examples of using
error feedback areas and error recovery routines can be found in the programming
languages reference manuals.
Batch jobs that perform file updates (add, change, or delete actions) present
additional considerations for starting again and recovery. One approach to starting
again is to use an update code within the record. As a record is updated, the code
for that record can also be updated to show that processing for that record is
complete. If the job is started again, the batch program positions itself (as a result
of the update code) to the first record that it had not processed. The program then
continues processing from that point in the file.
Another way to start batch processing again is to save or copy the file before
starting the job. You can use one of the following commands to save or copy the
file:
v Save Object (SAVOBJ)
v Copy File (CPYF)
Then, if you have to start again, restore or copy the file to its original condition
and run the job again. With this approach, you need to ensure that no other job is
changing the files. One way to ensure this is to get an exclusive lock on the file
while the job is running. A variation of this approach is to use the journal. For
example, if starting again is required, you could issue the Remove Journal Change
(RMVJRNCHG) command to remove changes to the files. Then, run the job again
against the files.
If your batch job consists of a complex input stream, you probably want to design
a strategy for starting again into the input stream. Then, if the batch job needs to
be started again, the job determines from what point the stream continues.
Commitment control also can be used for batch job recovery. However, if you plan
to use commitment control for batch jobs, consider that the maximum number of
record locks allowed in a commit cycle is 4 000 000. Therefore, you may need to
divide the batch job into logical transactions. For example, if your batch program
updates a master file record followed by several detail records in another file, each
of those sets of updates can represent a logical transaction and can be committed
separately. Locks are held on all records changed within a commit cycle. Therefore,
changed data is made available more quickly if your batch job is divided into
small, logical transactions.
| Journaling can also be used to assist in batch job recovery just as it can be for
| interactive jobs. See “Chapter 19. Planning and Setting Up Journaling” on page 383
| for more information.
You cannot save or send a save file that is larger than the target release allows.
Performance When Using Save Files: Performance can vary, depending on other
disk activity. Save files can be created on or moved to an ASP for improved
performance and additional protection from system disk device failures.
| Save File Storage Capacity: The maximum capacity of a save file is about one
| terabyte. You can specify the maximum size of the save file on the Create Save File
(CRTSAVF) command.
Specify data compression on the save commands to reduce the space for the save
file and the amount of media needed for the SAVSAVFDTA command. (Data
compression is not an option on the SAVSAVFDTA command.)
Preparing Save Files for Use: When saving to a save file that already contains data,
use the Clear Save File (CLRSAVF) command or specify CLEAR(*ALL) on the save
command, or reply to an inquiry message sent during the save operation.
Saving the Save File Data: There are two ways to save the save file data:
v With the SAVSAVFDTA command, only the data is saved. The description of the
save file object is not saved. The save date and time of the save file are not
updated.
v When you use the Save Object (SAVOBJ) or the Save Library (SAVLIB) command
with SAVFDTA(*YES) specified, both the object description and the data are
saved. The save date and time are updated for the save file.
| Note: While you are saving save file data, other jobs cannot use the save file
| until the save operation completes unless you are using the
| save-while-active function.
Determining the Contents of a Save File: You can use the Display Save File
(DSPSAVF) command or the List Save File API to determine the contents of a save
file.
The DSPSAVF command displays the contents of a save file. The information
includes a description of each object saved and summary information.
The List Save File (QSRLSAVF) API returns the contents of the save file in a user
space. The contents of the save file is returned at a user-selected level of library
information, object information, or member information. The QSRLSAVF API
Chapter 31. Techniques and Programming Examples for Backup and Recovery 761
returns the same information that is shown on a DSPSAVF command. In addition,
when you specify the SAVF0200 format, the system includes the following:
v The serial number of the system on which the save operation was performed.
v The ASP from which the object was saved.
For more information about the QSRLSAVF API, click the Programming topic in
the Information Center at the following Web site:
http://www.ibm.com/eserver/iseries/infocenter
| The QSYSINC library provides structures for the SAVF0100, SAVF0200, and
| SAVF0300 formats in C, COBOL, and RPG.
Several commands used for save and restore operations also apply to save files.
| Starting with V5R1M0 you can put a digital signature on a save file. The system
| verifies any digital signatures present on the save file each time you display the
| save file or use the save file in a restore operation. If the signature is not valid you
| cannot display or use the save file in a restore operation. The Verify Object on
| Restore (QVFYOBJRST) system value does not affect the verification of save files.
| Therefore the system verifies the signature every time you display the save file or
| use the save file in a restore operation.
| For more information about digital signatures, click the Security topic in the
| Information Center at the following Web site:
| http://www.ibm.com/eserver/iseries/infocenter
Chapter 31. Techniques and Programming Examples for Backup and Recovery 763
For an input file, FEOD signals end-of-file to the program that does the
operation.
To ensure buffered output records are not lost after an FEOD operation
completes, they are written to the file. For an output file, buffered output
records are not lost even if the job or system fails.
Partial damage of the save file itself can occur that is unrelated to auxiliary storage
errors. Sometimes a partial damage message is issued during a SAVSAVFDTA
when the system is very busy. This can happen because an internal operation did
not complete within a given time interval. It is most often seen when the
SAVSAVFDTA job is running at a low priority and there is a heavy interactive load
on the system. Although a SAVSAVFDTA can no longer be done from that save
file, the objects in the SAVF can be restored to the system using RSTOBJ.
Other objects (such as programs or commands) must be saved in a save file before
they can be sent using the SNDNETF command.
Note: Do not use save files to save objects on a system at the current release to
distribute them to a system at a previous release unless TGTRLS(*PRV) is
specified on the save command. You may also specify TGTRLS(VxRxMx) on
the save command, where (VxRxMx) is the previous-release-value. The
current release to previous release rules still apply.
SEQNBR *... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7
1.00 PGM
2.00 DCL &MSGDATA *CHAR LEN(250)
3.00 DCL &MSGID *CHAR LEN(7)
4.00 DCL &DEV *CHAR LEN(10)
5.00 DCL &DEV1 *CHAR LEN(10) VALUE(TAP01)
6.00 DCL &DEV2 *CHAR LEN(10) VALUE(TAP02)
7.00 SAVLIB LIB(LIB1) DEV(&DEV1 &DEV2) ENDOPT(*LEAVE)
8.00 L00P: RCVMSG RMV(*NO) MSGDTA(&MSGDATA) MSGID(&MSGID)
9.00 IF (&MSGID *NE CPC3701) GOTO L00P /* Compltn */
10.00 CHGVAR &DEV %SST(&MSGDATA 126 10) /* Device name */
11.00 IF (&DEV *EQ 'TAP01') DO /* Last was TAP01 */
12.00 CHGVAR &DEV1 'TAP01' /* Set for first device */
13.00 CHGVAR &DEV2 'TAP02' /* Set for second device */
14.00 ENDDO /* Last was TAP01 */
15.00 ELSE DO /* Last was not TAP01 */
16.00 CHGVAR &DEV1 'TAP02' /* Set for first device */
17.00 CHGVAR &DEV2 'TAP01' /* Set for second device */
18.00 ENDDO /* Last was not TAP01 */
19.00 SAVLIB LIB(LIB2) DEV(&DEV1 &DEV2) /* Save Lib 2 */
20.00 ENDPGM
If any objects cannot be saved, the operation attempts to save remaining objects
and sends an escape message (CPF3771 for single libraries, CPF3751/CPF3778 for
more than one library, and CPF3701 for save operations to save files) stating how
many objects were saved and how many were not. To continue with the next
library, the Monitor Message (MONMSG) command must be used to handle the
escape condition. The format of the message data for the CPF3771 message is
similar to the CPC3701 message and also identifies the last device used.
Chapter 31. Techniques and Programming Examples for Backup and Recovery 765
CPC3721 or CPF3751 for multiple libraries. For save operations to save files, these
messages are CPC3723 as a completion message and CPF3702 as an escape
message. These messages also contain the last device or save file used in the
message data.
For example, you can use this command to automate your recovery procedures or
to change the journal receivers and then save them.
“Appendix D. Journal Entry Information” on page 805 describes the contents of the
journal entry types.
Chapter 31. Techniques and Programming Examples for Backup and Recovery 767
FILERECOV: PGM
.
.
APYJRNCHG JRN(JRNLIB/JRNA) FILE((LIBA/FILEA)) +
RCVRNG(RCVLIB/RCV1 *CURRENT)
MONMSG MSGID(CPF7053 CPF9801) +
EXEC(CALL PGM(FIXLIB/RSTRCV) PARM(FILERECOV))
.
.
ENDPGM
.
.
RSTRCV: PGM PARM(&PGMNM)
/* Recover a nonexistent or unusable receiver */
/* in RCVRNG by prompting for a restore of */
/* receiver.
DCL *PGMNM TYPE(*CHAR) LEN(10) /* name of program */
/* calling RSTRCV */
/* that received */
/* CPF7053 or */
/* CPF9801 */
DCL &MSGDATA TYPE(*CHAR) LEN(22) /* variable for */
/* CPF7053 or */
/* CPF9801 */
DCL &MSGDID TYPE(*CHAR) LEN(7) /* escape message */
/* ID */
DCL &RCVNAME TYPE(*CHAR) LEN(10) /* name of */
/* receiver to */
/* restore */
DCL &RCVLIB TYPE(*CHAR) LEN(10) /* library name */
/* of receiver to */
/* restore */
DCL &RCODE TYPE(*CHAR) LEN(2) VALUE(x'0001')
/* reason code 1 of CPF7053 */
RCVMSG PGMQ(*SAME &PGMNM) MSGTYPE(*EXCP) WAIT(0) +
RMV(*NO) MSGDTA(&MSGDATA) MSGID(&MSGID)
Figure 89. Example Program Prompts for Restoring the Required Receiver For an APYJRNCHG (Part 1 of 2)
Figure 89. Example Program Prompts for Restoring the Required Receiver For an APYJRNCHG (Part 2 of 2)
Figure 90 on page 770 shows an RPG program that is being used as the exit
program for the Receive Journal Entry (RCVJRNE) command. This example writes
output onto tape media. See “Journal Entries Written to an ICF File” on page 772
for a discussion of changing the sample to write output to an OS/400-ICF file. See
“Using the Receive Journal Entry Command” on page 432 for a discussion of how
to use the RCVJRNE command.
Chapter 31. Techniques and Programming Examples for Backup and Recovery 769
SEQNBR *... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7
You should not consider this approach with a streaming tape device. A user
auxiliary storage pool (ASP) is a preferred solution instead of a tape. However, this
approach is similar to writing journal entries to a communications line.
The RPG program is written assuming that the largest journal entry to be passed is
300 bytes. This is the size that is given to the data structure JRNENT. It allows a
record size of 175 bytes plus the 125 bytes of journal entry identifier information
and qualifier information. A check is made in the program to ensure that the
record image is not being truncated:
v If a code of 1 is passed from the RCVJRNE command, the program ensures that
the journal entry does not exceed 300 bytes. If it does, the program sets on the
H1 indicator and returns. The program adds 1 to the counter and writes the
record to the tape output file. Because this is an output-only file, RPG
automatically blocks the records within the RPG program.
When full, the block is passed to tape data management, where additional
blocking can occur and double-buffering to the tape device is provided. This
ensures that the tape performance is optimal. Because the records are not written
The RPG program increments a counter each time a record is written and resets it
when the FEOD operation is used. The program issues the FEOD operation only if
a record has been written which avoids calling tape data management when there
are no records to be written. (If tape data management has no records in its buffers
when the FEOD operation occurs, no empty block is written, but system overhead
occurs.)
The RPG program uses the SHTDN operation code to check for requests to end the
job from external functions such as an End Job (ENDJOB) or End Subsystem
(ENDSBS) command with OPTION(*CNTRLD). If end-of-job is requested, the
program forces the records from the buffers, sets the counter to 9 (which tells the
RCVJRNE command to complete normally, and sets the LR indicator on). The
RETRN operation is then issued and:
v If LR is on, the program’s working storage is returned to the system.
v If LR is off, the program remains active and waits to be called again by the
RCVJRNE command.
Writing to tape occurs either by the buffers being full or when the FEOD operation
is used. This trade-off allows good performance when many journal entries are
written and minimizes the number of times the FEOD operation is used to ensure
that the entries are actually on the tape. With the sample program, the value of the
DELAY parameter and the work management specifications for your job (for
example, pool size and priority) are the major factors controlling the frequency
with which the entries are written and the performance implications on the system
for this function.
If the system ends abnormally while the job is running, so that a successful
end-of-file indication is not written, the subsequent reading of the tape can
produce results that cannot be predicted. Blocks that were successfully written can
be correctly read. The last block and any subsequent data that is on the tape from
a previous use can produce results that cannot be predicted. Copy the tape to a
database file and examine the contents before using the data.
The journal sequence numbers are in ascending sequence (unless they have been
reset) and can be used to determine where the logical end-of-file exists. To avoid
confusion, delete the tapes used for this type of approach.
Assume, for example, that the largest record size journaled was 175 bytes and the
tape record size 300 bytes, as in Figure 90 on page 770. If you need to increase the
Chapter 31. Techniques and Programming Examples for Backup and Recovery 771
tape record size, change the value of 300 in the RPG file description specification,
the input specification, and factor 2 of the CABGT operation code. If there are
some significantly larger records being journaled, consider how much excess media
is used. An alternative would be to examine the individual fields (JOENTL) and
write two or more small records for each large record.
If you use an ICF file to transmit journal entries to another system, the FEOD
operation does not apply. Instead, there are data description specifications (DDS)
words (for example, FRCDTA) to force records from the buffers.
Usually the number of blocks transmitted to tape by records less than 175 bytes is
a minimal performance consideration. On communications lines, however, this
number can be significant. To avoid sending unnecessary trailing blanks, consider
decreasing the length of the record being transmitted by the variable length
function (VARLEN DDS keyword). For a discussion of the variable length function,
see the Intrasystem Communications Programming.
The disk selected has not previously been a load source. The
restore of the Licensed Internal Code cannot be done.
The load source disk could not be found (see disk information
below).
The disk selected has not previously been a load source. The
restore of the Licensed Internal Code cannot be done.
The load source disk and its mirrored pair could not be found
(see disk information below).
The disk selected has not previously been a load source. The
restore of the Licensed Internal Code cannot be done.
The following screen can be displayed if you chose option 1 (restore) on the install
selection menu, but the release level of the Licensed Internal Code on the install
media cannot be restored over the current release level on disk. Verify that you
have the correct install media (version/release/modification level). If the level is
correct, then you must do an initialize and install to get the new LIC installed over
the existing LIC on the disk.
Restore Licensed Internal Code
The following screen can be displayed if you chose option 1 (restore) on the install
selection menu and the selected disk is currently a load source disk, but the
pertinent data on the disk cannot be read and, therefore, a restore cannot be done.
You must do an initialize and installation to install the new LIC on this disk.
Warning:
Another load source disk has also been found on this system.
If you continue the restore or install, the disk listed
above will be used.
The following screen is displayed if mirroring is active but one disk of the load
source mirrored pair cannot be found. The restore or installation can still continue
on the selected disk, but will not be mirrored until the missing disk becomes again
active. You may want to follow the appropriate procedures to determine why one
of the disks were not found.
Install Licensed Internal Code - Warning
Warning:
The mirrored unit for this load source was not found (see
disk information below). The restore or install can continue
on the selected load source. The missing mirrored unit will
be suspended when the restore or install is complete.
The following two screens are displayed if the disk selected for the install to is not
the same disk that was previously the load source on this system. If the missing
disk should still exist (it has not been removed or replaced), determine why it was
not found. If the disk was removed or replaced, this data is just informational and
may not indicate an error.
Warning:
The load source disk could not be found (see disk information
below).
Warning:
The load source disk and its mirrored pair could not be found
(see disk information below).
The following screen is displayed if mirroring is active and the active load source
disk can not be found. One unit of the load source mirrored pair was found but is
not currently active. You can install to it, but you will not be allowed to IPL past
DST with it. You may want to follow the appropriate procedures to determine why
the active load source disk can not be found.
Warning:
A load source disk could not be found (see disk information
below).
The disk selected to be the load source (see above) is
suspended. You may install to it and perform an IPL from it to
get to DST and perform DASD diagnostics. However, you will not
be able to perform an IPL past DST with it.
One of the following three screens is displayed if no disk can be found. That is, no
disk reported in, or was recognized by the system.
If information is supplied about a missing disk(s) (second and third of the three
screens), it indicates what was the last load source disk on this system. If that disk
should still exist (it has not been removed or replaced), then determine why it was
not found. If that disk has been removed or replaced, then this data is just
informational and may not be the reason for the error.
Install Licensed Internal Code - Error
Error:
A disk could not be selected to be the load source.
You can return to the Dedicated Service Tools display and
run diagnostics to determine why a disk could not be
selected.
Error:
The load source disk could not be found (see disk information
below).
Error:
The load source disk and its mirrored pair could not be found
(see disk information below).
One of the following two screens is displayed if a disk is found, but it is not at a
valid address to be the load source.
If there is information about a missing disk(s) (the second screen), it indicates what
the last load source disk was on this system. If that disk should still exist (it has
not been removed or replaced), determine why it was not found. If it has been
removed or replaced, this is just informational and may not be the reason for the
error.
Error:
A disk was found, but it is not at a valid address to be the
load source device.
Selected disk:
Serial Number Type Model I/O Bus Controller Device
__________ ____ ___ ____ ____ ____
Error:
A disk was found, but it is not at a valid address to be the
load source device.
Selected disk:
Serial Number Type Model I/O Bus Controller Device
__________ ____ ___ ____ ____ ____
The following disk was a load source previously, but could not be
found.
The following screen is displayed if an existing load source disk is found, but is
not at a valid address to be the load source. If it was intentionally moved,
determine why no other disk could be found to which to install. If this is the
correct disk, determine why it is not at a valid address.
Install Licensed Internal Code - Error
Error:
The following disk was a load source previously, but it is not
currently at a valid address to be the load source device.
Selected disk:
Serial Number Type Model I/O Bus Controller Device
__________ ____ ___ ____ ____ ____
The following screen is displayed if an existing load source disk was found and:
v Is not at a valid address to be the load source.
v Is one unit of a mirrored pair.
v Is currently not the active load source.
Error:
The following disk was a load source, but it is not currently
active, and it is not at a valid address to be the load source
device.
Selected disk:
Serial Number Type Model I/O Bus Controller Device
__________ ____ ___ ____ ____ ____
The following disk was the previously active load source, but it
could not be found.
Section 2. Personnel–Example
Data Processing Personnel
Name Position Address Telephone
Organization Chart
Include a copy of the organization chart with your plan.
Application Profile
Critical Fixed Asset
Application Name Yes / No Yes / No Manufacturer Comments
Comment Legend:
1. Runs daily.
2. Runs weekly on ______________.
3. Runs monthly on ______________.
Notes:
1. This list should be audited every ______________ months.
2. This list should include:
Processing units System printer
Disk units Tape, optical devices, and diskette units
Models Controllers
Workstation controllers I/O Processors
Personal computers General data communication
Spare workstations Spare displays
Telephones Racks
Air conditioner or heater Humidifier or dehumidifier
Miscellaneous Inventory
Description Quantity Comments
______________or ______________
______________
Electrical Service
Attach the electrical service diagram here.
Before You Begin: Find the following save media, equipment, and information from
the on-site tape vault or the off-site storage location:
v If you install from the alternate installation device, you need both your save
media and the CD-ROM media containing the Licensed Internal Code.
v All save media from the most recent complete save operation
v The most recent save media from saving security data (SAVSECDTA or SAVSYS)
v The most recent save media from saving your configuration, if necessary
v All save media that contains journals and journal receivers that you saved since
the most recent daily save operation
If the original site must be restored or replaced, the following are some of the
factors to consider:
v What is the projected availability of all needed computer equipment?
v Will it be more effective and efficient to upgrade the computer systems with
newer equipment?
v What is the estimated time needed for repairs or construction of the data site?
v Is there an alternative site that more readily could be upgraded for computer
purposes?
Once the decision to rebuild the data center has been made, go to “Section 12.
Disaster Site Rebuilding” on page 792.
Areas to be Tested
Floor Plan
Include a copy of the proposed floor plan here.
Two different configurations are used here to illustrate the time estimates found in
the Performance Capabilities Reference and the integration of new storage units to the
physical hardware. They are:
1. 9406 Model 500 system unit using 9336 disk units.
2. 9406 Model 500 system unit using 6602 disk units.
Mirrored Protection Rule for the 9406 System Unit: The level of mirrored protection
for the models of the 9406 system unit can easily be determined by using this rule:
v I/0 processor-level (or bus-level) protection is achieved if you are mirroring
three or more strings (or buses) of disk units and each string (or bus) contains
no more than half of the total number of storage units in the ASP that is being
mirrored.
The exceptions to the above rule are the load source disk unit (unit 1). The best
level of protection the load source achieves is controller-level protection.
Bus 1 in the current configuration does not contain any external disk units. Buses 2
and 3 each have three 6112 I/O processors. Each I/O processor has one 9336-020
disk unit attached.
Figure 91. 9406 Model 500 Original Configuration. The system has six 6112 I/O processors attached to Bus 2 and Bus
3. Bus 1 contains the multiple function I/O processor (MFIOP) and the 6602-030 storage units. Each I/O processor has
one 9336 model 020 disk attached.
Additional disk units are added to the existing strings to increase the disk capacity
as shown in Figure 92.
Bus 3 │────────────────────────────────────────────────────────────┬─────────────┬─────────────┬──│
Bus 2 │──────────────────┬─────────────┬─────────────┬───│ │ │ │
Bus 1 │──┬──────│ │ │ │ │ │ │
┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐
│ MFIOP │ │FC#6112│ │FC#6112│ │FC#6112│ │FC#6112│ │FC#6112│ │FC#6112│
└───┬───┘ └┬──────┘ └┬──────┘ └┬──────┘ └┬──────┘ └┬──────┘ └┬──────┘
┌────┬─┴──┬────┐ │ │ │ │ │ │
┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐
│L/S││ ││ ││ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
└───┘└───┘└───┘└───┘ └┬─┴──┴──┴──┘ └┬─┴──┴──┴──┘ └┬─┴──┴──┴──┘ └┬─┴──┴──┴──┘ └┬─┴──┴──┴──┘ └┬─┴──┴──┴──┘
6602-030 ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
└──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘
9336-020 9336-020 9336-020 9336-020 9336-020 9336-020
Figure 92. 9406 Model 500 Mirrored Configuration. The additional 9336-020 disk units are attached to the existing
strings. The data on the third and fourth 6602-030 storage units attached to the multiple function I/O processor
(MFIOP) are moved to other storage units to allow them to become the mirrored units for unit 1 (load source) and unit
2. The Licensed Internal Code is on the first 6602-030 storage unit.
The load source unit is handled by the 6602-030 storage units on the model 500.
The 6602-030 storage units create mirrored pairs among themselves when mirrored
protection starts. Because all storage units are added to the system ASP, half of the
new capacity or 20.6GB is usable for system and user data once it is protected.
14 minutes + 2 + 2 + 2 = 20 minutes
Because six disk controllers are working under six I/O processors on two buses,
and each 9336-020 added has four storage units attached (a total of 24), this
function should take approximately:
1 X 20(minutes) = 20 minutes (0.4 hours)
Twenty four 9336-020 storage units are added concurrently to the system ASP.
It takes 30 to 60 minutes to clear each storage unit depending on the amount and
type of data stored on the unit. Many of the move extents operations are processed
concurrently so that the cumulative effect is not entirely synchronous for each
storage unit.
Total Estimate
The following estimates do not include time to save the ASP that is being mirrored
or any additional IPL time not attributed to starting mirrored protection.
Disk units added:
Bus 1 │──┬────────────────────┬─────│
┌───┴───┐ ┌────┴────┐
│ MFIOP │ │ FC#6530 │
└───┬───┘ └────┬────┘
┌────┬─┴──┬────┐ ┌────┬─┴──┬────┐
┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐ ┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐
│L/S││ ││ ││ │ │ ││ ││ ││ │
└───┘└───┘└───┘└───┘ └───┘└───┘└───┘└───┘
6602-030 6602-050
Figure 93. 9406 Model 500 Original Configuration. Bus 1 contains one multiple function I/O
processor (MFIOP) with four 6602 disk units and one 6530 storage I/O processor with four
6602 disk units.
To keep the same disk capacity after mirrored protection is started, eight 6602 disk
units are added. One 6530 storage I/O processor with seven 6602 disk units is
added to Bus 2 and one 6602 disk units are added to the 6530 storage I/O
processor attached to Bus 1 to obtain the optimal protection level. All the disk
units except the load source will have bus-level protection. The load source disk
units must be attached to the MFIOP and will have controller-level protection.
Bus 2 │────────────────────────────────────────────────────┬─────│
Bus 1 │──┬───────────────────┬─────│ │
┌───┴───┐ ┌────┴────┐ ┌────┴────┐
│ MFIOP │ │ FC#6530 │ │ FC#6530 │
└───┬───┘ └────┬────┘ └────┬────┘
┌────┬─┴──┬────┐ ┌────┬─┴──┬────┬────┐ ┌────┬────┬─┴──┬────┬────┬────┐
┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐
│L/S││ ││ ││ ││ ││ ││ ││ ││ X ││ X ││ X ││ X ││ X ││ X ││ X ││ X │
└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘
6602-030 6602-050 6602-050
Figure 94. 9406 Model 500 Mirrored Configuration. One 6602 disk unit is added to the
existing 6530 storage I/O processor. One 6530 storage I/O processor with seven 6602 disk
units is attached to Bus 2. Added disk units are marked with an X.
When mirrored protection is started, the data on one 6602-030 disk unit attached to
the multiple function I/O processor (MFIOP) are moved to other disk units to
allow it to become mirrored unit for unit 1 (load source) The Licensed Internal
Code is on the first 6602-030 disk unit.
5 minutes + 2 + 2 + 2 = 11 minutes
It takes 30 to 60 minutes to clear each 6602 disk unit depending on the amount
and type of data stored on the unit. Many of the move extents operations are
processed concurrently so that the cumulative effect is not entirely synchronous for
each storage unit.
Total Estimate
The following estimates do not include time to save the ASP that is being mirrored
or any additional IPL time not attributed to starting mirrored protection.
Disk units added:
Bus 5 │───────────────────────────────────────┬─────────────┬────│
Bus 4 │──────────┬─────────────┬─────│ │ │
┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐
│FC#6112│ │FC#6112│ │FC#6112│ │FC#6112│
└┬──────┘ └┬──────┘ └┬──────┘ └┬──────┘
│ │ │ │
┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
└──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘
9336-020 9336-020 9336-020 9336-020
Bus 3 │───────────────────────────────────────────────┬─────────────┬────│
Bus 2 │──────────────────┬─────────────┬─────│ │ │
Bus 1 │──┬──────│ │ │ │ │
┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐
│ MFIOP │ │FC#6112│ │FC#6112│ │FC#6112│ │FC#6112│
└───┬───┘ └┬──────┘ └┬──────┘ └┬──────┘ └┬──────┘
┌────┬─┴──┬────┐ │ │ │ │
┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐
│L/S││ ││ ││ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
└───┘└───┘└───┘└───┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘
6602-030 9336-020 9336-020 9336-020 9336-020
Figure 95. 9406 Model 500 with 9336 Disk Unit Configuration. The model 500 has eight 6112
I/O processors attached to Bus 2, Bus 3, Bus 4, and Bus 5. Each 6112 I/O processor has
one 9336-020 disk unit. The multiple function I/O processor (MFIOP) has the 6602-030
storage units attached to Bus 1.
In Figure 95, to determine which storage units should be selected for a user ASP,
consider the following:
Two scenarios are used to illustrate the need for careful planning when selecting
storage units for user ASPs in a mirrored environment.
System 1
The system ASP and the user ASP have mirrored protection.
System 2
Only the system ASP has mirrored protection.
Both systems have eight 9336-020 storage units for the user ASP. When referring to
Figure 95, keep in mind that you must select the highest level of protection with
the least number of single-point-of-failures. In System 2, determine which storage
units must be selected to minimize disk subsystem failures that can cause the
system to stop processing.
System 1
In Figure 96 on page 801, one storage unit from each 9336-020 is selected for a user
ASP to achieve highest level of protection for both ASPs.
Bus 3 │───────────────────────────────────────────────┬─────────────┬────│
Bus 2 │──────────────────┬─────────────┬─────│ │ │
Bus 1 │──┬──────│ │ │ │ │
┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐
│ MFIOP │ │FC#6112│ │FC#6112│ │FC#6112│ │FC#6112│
└───┬───┘ └┬──────┘ └┬──────┘ └┬──────┘ └┬──────┘
┌────┬─┴──┬────┐ │ │ │ │
┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐
│L/S││ ││ ││ │ │ │ │ │ 2│ │ │ │ │ 2│ │ │ │ │ 2│ │ │ │ │ 2│
└───┘└───┘└───┘└───┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘
6602-030 9336-020 9336-020 9336-020 9336-020
Figure 96. System 1–9406 Model 500 Configuration. The multiple function I/O processor (MFIOP) and the 6602-030
storage units are attached to Bus 1. User ASP 2 is built by selecting a storage unit from each 9336-020 disk unit. Both
the system ASP and the user ASP has mirrored protection.
System 2
In Figure 97 on page 802, all eight storage units are selected from the two 9336-020
disk units attached to Bus 5 for user ASP 2. This minimizes the number of disk
subsystem failures that can cause the system to stop processing.
All of the 9336 storage units in the system ASP have bus-level protection.
If you selected the storage units for the non-mirrored ASP as shown in Figure 96,
there will be significantly more points-of-failure for the 9336 disk units that could
cause the system to stop processing.
Bus 3 │───────────────────────────────────────────────┬─────────────┬────│
Bus 2 │──────────────────┬─────────────┬─────│ │ │
Bus 1 │──┬──────│ │ │ │ │
┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐
│ MFIOP │ │FC#6112│ │FC#6112│ │FC#6112│ │FC#6112│
└───┬───┘ └┬──────┘ └┬──────┘ └┬──────┘ └┬──────┘
┌────┬─┴──┬────┐ │ │ │ │
┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐ ┌┴─┬──┬──┬──┐
│L/S││ ││ ││ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
└───┘└───┘└───┘└───┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘ └──┴──┴──┴──┘
6602-030 9336-020 9336-020 9336-020 9336-020
Figure 97. System 2–9406 Model 500 Configuration. The multiple function I/O processor (MFIOP) with the 6602-030
storage units is attached to Bus 1. User ASP 2 is built from the two 9336 disk units attached to Bus 5. This user ASP
is not mirrored. The system ASP has mirrored protection.
The 9336 storage units in this scenario would really only have device-level
protection even though the mirrored image of the storage unit exists on another
bus.
When you have non-mirrored disk units on the system, you can see it is important
to consider the actual points-of-failure that can cause the system to stop
processing. In this case, 13 points-of-failure (System 2) versus 28 point-of-failure (if
System 2 uses the configuration of System 1 for ASP 2).
Notes:
1. If you look at the Work with Disk Configuration Status display for either of
these systems, you can see that 24-9336 storage units have bus-level protection.
However, when the unprotected storage units in the ASP were chosen as in
Figure 96 on page 801 effect is that the disk units have the lowest level
(device-level) of protection. Basically, device-level protection provides
protection from data-loss.
2. Although one storage unit from each 9336-020 is selected for a user ASP in
Figure 96 on page 801, it is more advantageous to select two 9336-020
subsystems that are attached to two separate IOPs on two separate buses so
that locating the storage units is easier.
It does not matter if you are using just the system ASP (ASP 1) or multiple user
ASPs (2 through 16), full mirrored protection protects all disk units in the iSeries
server. Partial mirrored protection protects only a portion of the disk units
designated by one or more ASPs. However, not all storage units in the disk
configuration are protected. Therefore, the planning of the disk unit placement and
what ASPs are selected for mirrored protection becomes more difficult (see
“Assessment of Single-Points-of-Failure” on page 800).
Besides the planning of ASPs, the significant difference between the two mirrored
protection methods regards availability. With full mirrored protection, you
maximize the availability of the iSeries server when a disk subsystem failure
occurs. With this method of mirrored protection, it does not matter which ASP has
the failure. With partial mirrored protection, the system continues to run while
reporting the failed storage unit to the system operator (QSYSOPR) message
queue. However, if the disk failure occurs in an ASP that does not have mirrored
protection, SRC A6xx 0266 is sent when that ASP is accessed by any job on the
system. Because the storage units in the ASP do not have mirrored units, the
storage management directory becomes unusable and all input and output
operations to the ASP are suspended.
The disk attention SRC does not mean that the system has ended. All input and
output operations are queued to allow the service representative to investigate the
cause of the disk failure. If the problem is not with the disk media, the failing
cards are replaced, the failed disk unit is powered on, and the system continues
from the point that the equipment error occurred. All queued input and output
operations resume. However, if a disk media failure occurs, the service
representative performs a main storage dump to minimize the time for the next
IPL to OS/400, and allows the system to end processing.
With full mirrored protection, the operation of the system is not interrupted while
diagnostics and most repairs to resolve the disk subsystem failure problem are
taking place. With I/O processor-level protection, the maximum concurrent
maintenance is possible, depending on the error. In any case, the user has complete
control over the shutdown of the system should a power-down be required to
service the disk problem; the system does not end abnormally.
Although critical data is protected with partial mirrored protection, and a restore
operation is not required for the data in the protected ASP, you do not have the
maximum availability that is provided by full mirrored protection because of the
exposure of the unprotected ASP. If your availability requirements state that your
system must be in operation within minutes following a failure or remain active
during your business hours, partial mirrored protection is not an option in most
cases.
When the system formats journal entries for you with the DSPJRN and RTVJRNE
commands, it uses one of four layouts. These layouts include a fixed-length
portion and a variable-length portion. The variable-length portion includes
entry-specific data and null value indicators, if applicable. The fixed-length portion
of the journal entry appears as separate fields in these layouts. Additionally, the
RCVJRNE command also supports these four layouts, as well as the additional
value, *TYPEPTR. The layout of the journal entry data for the *TYPEPTR interface
is exactly the same as the layout of the data that is returned on the
QjoRetrieveJournalEntries API interface. For more information on this layout, click
the Programming topic in the Information Center at the following Web site:
http://www.ibm.com/eserver/iseries/infocenter.
The online command help provides more information about using the DSPJRN,
RCVJRNE, and RTVJRNE commands. To view the help, type the command name
at a command line and press F1.
Journal Codes
This topic describes all the possible journal codes or categories of journal entries.
Journal Code A – System Accounting Entry: Journal entries with a journal code of
A contain information about job accounting. Refer to the Work Management book
for a detailed description of the contents of converted journal entries with journal
code A.
| Journal Code B– Integrated File System: Journal entries with a journal code of B
| contain information about changes to integrated file system objects. The only
| integrated file system objects that are supported are those with an object of type
| *STMF, *DIR or *SYMLNK. These objects must be in the Root (’/’), QOpensys, and
| User-defined file systems. See the Integrated File System Introduction book for
| more information about file systems.
Journal Code D – Database File Operation: Journal entries with a journal code of
D contain file level information about changes for a physical file, not an individual
member.
| Journal Code E – Data Area Operation: Journal entries with a journal code of E
| contain information about changes to journaled data areas. See Work Management
| for more information about data areas.
Journal Code F – Database File Member Operation: Journal entries with a journal
code of F contain file level information about changes for a physical file member
that are being journaled to this journal. (If you use a logical file in a program, the
file level information reflects the physical file on which the logical file is based.)
Journal entries with journal code F can also contain file level information for access
paths that are associated with physical or logical file members that are being
journaled to this journal.
Journal Code J – Journal or Receiver Operation: Journal entries with a journal code
of J contain information about the journal and the journal receivers.
Journal Code M – Network Management Data: Journal entries with a journal code
of M contain information about Network Management, including TCP/IP. For a
description of the TCP/IP entries, see the TCP/IP Configuration and Reference. For a
description of the Network Management entries, see the Simple Network
Management Protocol (SNMP) Support book.
Journal Code P – Performance Tuning Entry: Journal entries with a journal code of
P contain information about performance. For the description of the layout of these
entries, refer to the Work Management book.
| Journal Code Q – Data Queue Operation: Journal entries with a journal code of Q
| contain information about changes to journaled data queues. See CL Programming
| for more information about data queues.
Journal Code R – Operation on Specific Record: Journal entries with a journal code
of R contain information about a change to a specific record in the physical file
member that is being journaled to the journal. For a given physical file member,
the record-level journal entries appear in the journal in the order that the changes
were made to the file.
Journal Code S – Distributed Mail Services: Journal entries with a journal code of
S contain information about SNA distribution services (SNADS), X.400, and mail
server framework. For the description of the layout of these entries, refer to these
books:
v SNA Distribution Services
v AnyMail/400 Mail Server Framework Support
v OSI Message Services/400 Support
Journal Code T – Audit Trail Entry: Journal entries with a journal code of T
contain auditing information. For the description of the layout of audit journal
entries, see the iSeries Security Reference book.
Journal Code U – User-Generated Entry: Journal entries with a code of U are sent
to the journal receiver by the Send Journal Entry (SNDJRNE) command or by the
Send Journal Entry (QJOSJRNE) API. “Sending Your Own Journal Entries” on
page 429 provides more information.
| EB8,14 Update data area, before image. See Table 143 on page 853
| ED10 Data area deleted.
| EG Start journal for data area. See Table 139 on page 852.
| EH10 End journal for data area.
| EI10 Data area in use. See Table 123 on page 824.
| EL5 Data area restored. See Table 136 on page 849.
| EM Data area moved. See Table 131 on page 847.
| EN Data area renamed. See Table 131 on page 847.
| EQ Data area changes applied. See Table 115 on page 822.
| ES5, 10 Data area saved. See Table 137 on page 850.
| EU Remove journaled changes (RMVJRNCHG) command started.
| EW5, 10 Start of save for data area. See Table 138 on page 851.
| EX Data area changes removed. See Table 115 on page 822.
| EY Apply journaled changes (APYJRNCHG) command started.
F Database file AY Journaled changes applied to a physical file member (APYJRNCHG). See
member Table 115 on page 822.
operation
| CB Physical file member changed.
CE Change end of data for physical file member. See Table 116 on page 823.
CH18 Change file.
CL10 Physical file member closed (for shared files, a close entry is made for
the last close operation of the file). See Table 132 on page 847.
CR Physical file member cleared (CLRPFM).
DE Physical file member deleted record count.
| DM10 Delete member. See Table 148 on page 855.
EJ10 Journaling for a physical file member ended (ENDJRNPF).
EP10 Journaling access path for a database file member ended (ENDJRNAP).
FD10 Physical file member forced (written) to auxiliary storage. See Table 121
on page 824.
FI System-generated journal entry format information.
IU Physical file member in use at the time of abnormal system end.10 See
Table 123 on page 824.
IZ12 Physical file member initialized (INZPFM). See Table 122 on page 824.
JM Journaling for a physical file member started (STRJRNPF). See Table 139
on page 852.
JP Journaling access path for a database file member started (STRJRNAP).
| MC Create member. See Table 148 on page 855.
MD10 Physical file member deleted. This entry is created when you remove
the member (RMVM) or delete the file (DLTF) containing the member.
MF Physical file member saved with storage freed (SAVOBJ, SAVCHGOBJ,
or SAVLIB)5, 10.
MM Physical file containing the member moved to a different library
(MOVOBJ or RNMOBJ OBJTYPE(*LIB)). See Table 131 on page 847.
MN Physical file containing the member renamed (RNMM or RNMOBJ). See
Table 131 on page 847.
MR Physical file member restored (RSTOBJ or RSTLIB)5. See Table 136 on
page 849.
MS Physical file member saved (SAVOBJ, SAVLIB, or SAVCHGOBJ)5,10. See
Table 137 on page 850.
OP Physical file member opened (for shared files, an open entry is added
for the first open operation for the file). See Table 132 on page 847.
PD10 Database file member’s access path deleted (this entry is created when
you remove the member (RMVM) or delete the file (DLTF) containing
the member). See Table 119 on page 823.
PM11 The logical owner of a journaled access path was moved (MOVOBJ or
RNMOBJ OBJTYPE(*LIB)). See Table 131 on page 847.
PN11 The logical owner of a journaled access path was renamed (RNMOBJ or
RNMM). See Table 131 on page 847.
RC Journaled changes removed from a physical file member
(RMVJRNCHG). See Table 115 on page 822.
RG Physical file member reorganized (RGZPFM). See Table 134 on page 848.
| RM Member reorganized.
SA The point at which the APYJRNCHG command started running.
SR The point at which the RMVJRNCHG command started running.
SS The start of the save of a physical file member using the
save-while-active function5,10. See Table 138 on page 851.
I Internal IB Internal recovery.
operation
IC Access path recovery.
| IE Directory recovery.
| IF Access path recovery.
IH Access path recovery.
| II10 Access path in use.
IV Access path recovery.
J Journal or EZ10 End journaling for journal receiver.
receiver
operation
IA System IPL after abnormal end.10 See Table 123 on page 824.
IN System IPL after normal end.10 See Table 123 on page 824.
JR Start journaling for journal receiver.
KR Keep journal receivers for recovery.
LA10 Activate local journal
LI10 Inactivate local journal
NK Do not keep journal receivers for recovery.
NR Identifier for the next journal receiver (the receiver that was attached
when the indicated receiver was detached).10 See Table 117 on page 823.
PR Identifier for the previous journal receiver (the receiver that was
detached when the indicated receiver was attached).10 See Table 117 on
page 823.
RD10 Deletion of a journal receiver (DLTJRNRCV). See Table 120 on page 824.
RF Storage for a journal receiver freed (SAVOBJ, SAVCHGOBJ, or
SAVLIB).10 See Table 120 on page 824.
RR Restore operation for a journal receiver (RSTOBJ or RSTLIB)5. See
Table 136 on page 849.
RS Save operation for a journal receiver (SAVOBJ, SAVCHGOBJ, or
5, 10
SAVLIB) . See Table 136 on page 849.
| UA10 User independent auxiliary storage pool vary on abnormal.
| UN10 User independent auxiliary storage pool vary on normal.
XP Internal entry.
L License LK License key is not valid. See Table 140 on page 853.
management
LL Usage limit changed. See Table 141 on page 853.
LU Usage limit exceeded. See Table 142 on page 853.
UP 8, 12, 14 After-image of a record that is updated in the physical file member. See
Table 133 on page 848.
UR12, 14 After-image of a record that is updated for rollback information. See
Table 133 on page 848.
S Distributed mail AL SNA alert focal point information. 2
services
CF Mail configuration information. 2,6
DX X.400 process debug entry 4
ER Mail error information. 2,6
LG Mail logging table information. 2,6
MX A change was made to X.400 MTA configuration4.
NX A change was made to X.400 delivery notification4.
RT Mail routing information. 2,6
RX A change was made to X.400 route configuration4.
SY Mail system information. 2,6
UX A change was made to X.400 user or probe4.
XE DSNX error entry. 2
XL DSNX logging entry. 2
XX An error was detected by the X.400 process4.
T Audit trail AD A change was made to the auditing attribute.
entry3
AF All authority failures.
AP A change was made to program adopt.
CA Changes to object authority (authorization list or object).
CD A change was made to a command string.
CO Create object.
CV Connection verification.
CP Create, change, restore user profiles.
CQ A change was made to a change request descriptor.
CU Cluster operation
| CY Cryptographic configuration
| DI Directory services
DO All delete operations on the system.
DS DST security officer password reset.
EV Environment variable
GR General purpose audit record
GS A descriptor was given.
IP Inter-process communication event.
IR IP rules actions
IS Internet security management
JD Changes to the USER parameter of a job description.
JS A change was made to job data.
KF Key ring file name.
LD A link, unlink, or lookup operation to a directory.
ML A change was made to office services mail.
NA Changes to network attributes.
ND Directory search violations.
NE End point violations.
OM Object management change.
OR Object restored.
OW Changes to object ownership.
O1 Single optical object access.
U User generated User-specified. The Entry-specific data is the value specified on the
entry ENTDTA parameter of the SNDJRNE command or with the entry data
parameter for the QJOSJRNE API.
Notes:
1
See the Work Management book for the layout of the entry specific data.
2
See the SNA Distribution Services book for the layout of the entry specific data for entries generated by
SNADS.
3
See the iSeries Security Reference book for the layout of the entry specific data.
4
See the OSI Message Services/400 Support book for the layout of the entry specific data.
5
These entries do not indicate that they occurred as the result of a trigger program, even if a trigger
program caused the event. That information is not available at the time the entry is written to the journal.
6
See the AnyMail/400 Mail Server Framework Support book for the layout of the entry specific data.
7
See the Simple Network Management Protocol (SNMP) Support book for information about the entry specific
data for SNMP journal entries.
8
Neither the before- nor after-image is deposited into the journal if the after-image is exactly the same as the
before-image.
9
Only one entry per opened file. The member name will not be displayed in the entry specific data for
based on physical files.
10
Even if this journal is a local journal that has a journal state of *INACTIVE, meaning no journal can be
deposited, this journal entry type will still be deposited.
11
After you have installed V4R2M0 or a later release, this journal type is no longer generated.
12
This journal entry may have data which can only be accessed by using either the QjoRetrieveJournalEntries
API or the command RCVJRNE ENTFMT(*TYPEPTR). In all other interfaces, if the data is not visible the
incomplete data indicator will be on, and *POINTER will appear in the Entry Specific Data. For more
information, refer to “Working With Pointers in Journal Entries” on page 437.
13
Refer to the TCP/IP Configuration and Reference book for information about the entry specific data for
TCP/IP journal entries.
14
| This entry may have minimized entry specific data (ESD). It will have minimized ESD if its corresponding
| object type deposits minimized journal entries through the MINENTDDTA parameter for this journal or
| journal receiver.
15
| The entry-specific data for these journal entries are laid out in the QSYSINC include QPOLJRNL.H.
16
| The entry-specific data for these journal entries are laid out in the QSYSINC include QWCJRNL.H.
17
| The entry-specific data for these journal entries are laid out in the QSYSINC include QMHQJRNL.H.
18
| As of V5R1M0, the journal entry D CG is also being sent for the change file operations. IBM strongly
| recommends that you do your processing based on the D CG entry instead of the F CH entry because the
| F CH entry will be retired in a future release.
19
| These entries have entry-specific data which the system uses for internal processing.
1 Entry length Zoned (5,0) Specifies the length of the journal entry including the entry
(JOENTL) length field, all subsequent positions of the journal entry,
and any portion of the journal entry that was truncated if
the length of the output record is less than the length of the
record created for the journal entry.
Note: If the journal entry has the incomplete data indicator
on, then this length does not include that additional data
which could be pointed to. This length includes the length
of the data that is actually returned, which includes entry
specific data of up to 32 766 bytes.
6 Sequence number Zoned (10,0) Assigned by the system to each journal entry. It is initially
(JOSEQN) set to 1 for each new or restored journal and is incremented
until you request that it be reset when you attach a new
receiver. There are occasional gaps in the sequence numbers
because the system uses internal journal entries for control
purposes. These gaps occur if you use commitment control,
journal physical files, or journal access paths.
16 Journal code Char (1) Identifies the primary category of the journal entry:
(JOCODE)
A= System accounting entry
| B= Integrated file system operation
C= Commitment control operation
D= Database file operation
| E= Data area operation
F= Database file member operation
| I= Internal operation
J= Journal or receiver operation
L= License management
M= Network management data
O= Object oriented entry
P= Performance tuning entry
| Q= Data queue operation
R= Operation on a specific record
S= Distributed mail services
T= Audit trail entry
U= User-generated entry (added by the SNDJRNE
command or QJOSJRNE API)
The journal codes are described in more detail in “Journal
Codes” on page 806.
17 Entry type Char (2) Further identifies the type of user-created or system-created
(JOENTT) entry. See Table 110 on page 807 for descriptions of the entry
types.
19 Date stamp Char (6) Specifies the system date when the entry was added and is
(JODATE) in the format of the job attribute DATFMT. The system
cannot assure that the date stamp is always in ascending
order for sequential journal entries because you can change
the value of the system date.
25 Time stamp Zoned (6,0) Corresponds to the system time (in the format hhmmss)
(JOTIME) when the entry was added. The system cannot assure that
the time stamp is always in ascending order for sequential
journal entries because you can change the value of the
system time.
31 Job name (JOJOB) Char (10) Specifies the name of the job that added the entry.
Notes:
1. If RCVSIZOPT(*MINFIXLEN) was in effect for the
journal when the journal receiver that contains this
journal entry was attached, *OMITTED is given for the
job name.
2. If the job name was not available when the journal entry
was deposited, then *NONE is written for the job name.
41 User name Char (10) Specifies the user profile name of the user that started the
(JOUSER) job.
Note: If the RCVSIZOPT(*MINFIXLEN) was in effect for the
journal when the journal receiver that contains the journal
entry was attached, then blanks are written for the user
name.
51 Job number Zoned (6,0) Specifies the job number of the user that started the job.
(JONBR) Note: If the RCVSIZOPT(*MINFIXLEN) was in effect for the
journal when the journal receiver that contains the journal
entry was attached, then zeroes are written for the job
number.
57 Program name Char (10) Specifies the name of the program that added the entry. If an
(JOPGM) application or CL program did not add the entry, the field
contains the name of a system-supplied program such as
QCMD or QPGMMENU. If the program name is the special
value *NONE, then one of the following is true:
v The program name does not apply to this journal entry.
v The program name was not available when the journal
entry was made.
77 Library name Char (10) Specifies the name of the library containing the object1.
(JOLIB)
| If the journaled object is an integrated file system object,
| then the first 6 characters of this field are the last 6 bytes of
| the FID.
87 Member name Char (10) Specifies the name of the physical file member or is blank if
(JOMBR) the object is not a physical file1.
97 Count/relative Zoned (10,0) Contains either the relative record number (RRN) of the
record number record that caused the journal entry or a count that is
(JOCTRR) pertinent to the specific type of journal entry. Table 115 on
page 822 through Table 142 on page 853 show specific values
for this field, if applicable.
107 Indicator flag Char (1) Contains an indicator for the operation. Table 115 on
(JOFLAG) page 822 through Table 142 on page 853 show specific values
for this field, if applicable.
108 Commit cycle Zoned (10,0) Contains a number that identifies the commit cycle. A
identifier (JOCCID) commit cycle is from one commit or rollback operation to
another.
Notes:
1
If the journal receiver was attached prior to installing V4R2M0 on your system, then the following items
are true:
v If *ALLFILE is specified for the FILE parameter on the DSPJRN, RCVJRNE, or RTVJRNE command, then
the fully qualified name is the most recent name of the file when the newest receiver in the receiver
range was the attached receiver and when the file was still being journaled.
v If a file name is specified or if library *ALL is specified on the FILE parameter, the current fully qualified
name of the file appears in the converted journal entry.
If the journal receiver was attached while V4R2M0 or a later release was running on the system, the fully
qualified name is the name of the object at the time the journal entry was deposited.
A third value, *TYPE3, is supported on the OUTFILFMT parameter for the DSPJRN
command, and the ENTFMT parameter for the RCVJRNE and RTVJRNE
commands. If either OUTFILFMT(*TYPE3) is specified on the DSPJRN command
or ENTFMT(*TYPE3) is specified on the RCVJRNE or RTVJRNE command, the
information in the prefix portion of a converted journal entry is shown in Table 113
on page 819. The field names shown in parentheses in the table are the names of
the fields in the system-supplied output file QSYS/QADSPJR3. *TYPE3 has the
same information as the *TYPE1 and *TYPE2 formats, except that it has a different
date format and a null-values indicator.
Notes:
1
If the journal receiver was attached prior to installing V4R2M0 on your system, then the following items
are true:
v If *ALLFILE is specified for the FILE parameter on the DSPJRN, RCVJRNE, or RTVJRNE command, then
the fully qualified name is the most recent name of the file when the newest receiver in the receiver
range was the attached receiver and when the file was still being journaled.
v If a file name is specified or if library *ALL is specified on the FILE parameter, the current fully qualified
name of the file appears in the converted journal entry.
If the journal receiver was attached while V4R2M0 or a later release was running on the system, the fully
qualified name is the name of the object at the time the journal entry was deposited.
1 149 These fields are the same as for *TYPE3. See Table 113.
150 Journal Char(10) Specifies the journal identifier (JID) for the object. When journaling
identifier is started for an object, the system assigns a unique JID to that
(JOJID) object. The JID remains constant even if the object is renamed or
moved. However, if journaling is stopped, there is no guarantee
that the JID will be the same if journaling is started again for the
same object.
If no JID is associated with the entry, this field has hex zeros.
160 Referential Char(1) Indicates whether this entry was recorded for actions that occurred
constraint on records that are part of a referential constraint.
(JORCST)
0 = This entry was not created as part of a referential
constraint.
1 = This entry was created as part of a referential constraint.
161 Trigger (JOTGR) Char(1) Indicates whether this entry was created as result of a trigger
program.
0 = This entry was not created as the result of a trigger
program.
1 = This entry was created as the result of a trigger
program.
| 163 Ignored by Char (1) Indicates whether this journal entry will be ignored by the
| APYJRNCHG or execution of the APYJRNCHG or RMVJRNCHG commands, even
| RMVJRNCHG though normally this journal entry type has an effect during those
| (JOIGNAPY) command invocations.
For output formats *TYPE3, *TYPE4, and *TYPEPTR, the variable-length portion of
the converted journal entry potentially has two fields.
| Note: For the layout of the output format *TYPEPTR, look under the
| QjoRetrieveJournalEntries API information in the CL and APIs topics on the
| Information Center at the following Web site:
| http://www.ibm.com/eserver/iseries/infocenter.
The first field is the Null value indicators, and the second field is the Entry-specific
data. The Null Value Indicators field contains relevant information only for entries
| with journal code R. Null value indicators are present in journal entries for record
| level operations as follows:
| v The corresponding physical file has null capable fields.
| v The record image has been minimized in the entry specific data.
| Otherwise, it contains blanks. If the record image has not been minimized in the
| entry specific data, the Null Value Indicators field is a character string with one
| character for each field in the physical file that has record images appearing in the
| journal. Each character has the following interpretation:
v 0 = corresponding field in the record is not NULL.
v 1 = corresponding field in the record is NULL.
The second field in the variable-length portion of the journal entry is the
Entry-specific data in the journal entry.
The Null Value Indicators and Entry-Specific Data fields have been defined as
variable-length character fields in the system-supplied output files
QSYS/QADSPJR3 and QSYS/QADSPRJ4. See the DSPJRN, RCVJRNE, and
RTVJRNE commands in the CL Programming book for additional details regarding
Table 115 through Table 142 on page 853 show the layouts for some of the journal
entry types. Some journal entry types are described in other books, as indicated in
| Table 110 on page 807. Some journal entry types are documented in QSYSINC
| library includes, as indicated in Table 110 on page 807. Some entry types do not
have entry-specific data.
These layouts include specific values for fields in the fixed-length portion of the
entry and the fields in the entry-specific portion of the entry. The offsets show the
relative offset within the Entry-specific data field. The beginning position of the
Entry-specific data field depends on the format type that you specify. See Table 111
on page 815, Table 112 on page 818, Table 113 on page 819, and Table 114 on
page 820 for the format type layouts.
Table 115. APYJRNCHG (B AJ, E EQ, F AY) and RMVJRNCHG (E EX, F RC) Journal Entries
Relative
Offset Field Format Description
Entry-specific data. This data appears as one field in the standard output formats:
1 First entry applied or Zoned (10,0) Sequence number of the first entry actually applied or
removed removed.
11 Last entry applied or Zoned (10,0) Sequence number of the last entry actually applied or
removed removed.
21 Starting Receiver Char (10) The name of the first receiver from which entries were
Name applied or removed.
31 Library Name Char (10) The library for the starting receiver.
41 Ending Receiver Char (10) The name of the last or ending receiver from which entries
Name were applied or removed.
51 Library Name Char (10) The library for the ending receiver.
61 Starting sequence Char (10) Starting sequence number for the apply or remove operation
number
71 Ending sequence Char (10) Ending sequence number for the apply or remove operation
number
81 Incomplete commit Char (1) 0 = Indicates that either CMTBDY(*NO) was specified or
transaction not CMTBDY(*YES) was specified and no partial commitment
applied or removed control transactions were found in the range specified by the
starting and ending sequence numbers
Entry-specific data. This data appears as one field in the standard output formats:
1 Commit ID Char (*) Contains the commit identification specified by the operation.
The Count field specifies the length of this field.
Entry-specific data. This data appears as one field in the standard output formats:
1 Entry-specific data If the member is initialized with default records, this field
contains the default record image.
| Table 123. IPL (J IA, J IN) and In-Use (B OI, D ID, E EI, F IU, Q QI) Journal Entries
| Relative
| Offset Field Format Description
Entry-specific data. This data appears as one field in the standard output formats:
1 LUW Header Portion 416 The header portion of the entry-specific data contains general
information about the logical unit of work (LUW). Table 125
describes the contents of the header portion.
After the LUW Local Portion 80 Information about local resources that participated in the
header LUW. The entry may have 0 to n records for local locations.
portion Each local record is 48 characters long. Table 126 on page 834
describes the local record.
After the LUW API Portion 112 Information about API resources that participated in the
local LUW. The entry may have 0 to n records for API resources.
portion Each API resource record is 80 characters long. Table 127 on
page 835 describes the API record.
After the LUW DDL Portion 96 Information about DDL resources that participated in the
API LUW. The entry may have 0 to n records for DDL resources.
portion Each DDL resource record is 80 characters long. Table 128 on
page 838 describes the DDL record.
After the LUW Remote Portion 128 Information about remote locations that participated in the
DDL LUW. The entry may have 0 to n records for remote
portion locations. Each remote location record is 128 characters long.
Table 129 on page 841 describes the remote record.
After the LUW DDM Portion 96 Information about DDM resources that participated in the
remote LUW. The entry may have 0 to n records for DDM resources.
portion Each DDM resource record is 96 characters long. Table 130 on
page 845 describes the DDM record.
5 Record Length Bin (15) Length of record. Currently 400 for HDR record.
7 Record Position (4)1 This identifies the position in the LUW journal entry where
this record starts. It is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains this record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains this record (1 for the first, 2 for the
second, and so forth). Note that this is not the actual
journal entry sequence number.
v Bin (15): The offset where this record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where this record starts. For
example, 0 means the first byte in the entry. Because they
always start at the beginning of the journal entry, this
offset is always 0 for HDR records.
11 Number of Journal Bin (15) The number of actual journal entries sent for this LUW
Entries journal entry. This is 1 unless the LUW journal entry is
greater than 32K-1 bytes.
13 Location with No (4)1 This identifies the position in the LUW journal entry where
Journal Position the LCL record starts for the local location with no journal. It
is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains the record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains the record (1 for the first, 2 for the
second, and so forth). Note that this is not the actual
journal entry sequence number.
v Bin (15): The offset where the record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where the record starts. For
example, 0 means the first byte in the entry.
25 LUW Operation Char (2) The operation that was performed to end this LUW:
CM A commit operation was performed. This does not
necessarily mean that the resources were committed.
In some cases a commit operation is changed to a
rollback operation according to two-phase commit
rules.
RB A rollback operation was performed. An attempt
was made to roll back all resources.
27 Protected Logical Unit Char (41) The format for the LUWID is:
of Work Identifier v Bin (15): The total length of the LUWID not including this
(LUWID) field
v Char (0 to 8): The network ID
v Char (1): The separator character .
v Char (0 to 8): The local location name
v Char (3): The separator characters .X’
v Char (12): The hex value of the instance number converted
to character
v Char (2): The separator characters ’.
v Char (5): The hex value of the sequence number converted
to decimal
68 Unprotected Logical Char (41) The format for the LUWID for unprotected conversations is
Unit of Work the same as for protected conversations.
Identifier
109 Default Journal Bin (31) The commit cycle identifier for the default journal for this
Commit Cycle ID LUW. This is 0 if no commit cycle was started for this journal
during this LUW. This is -1 if the actual commit cycle
identifier value is larger than 2 147 483 647. The Default
Journal Commit Cycle ID Long field always contains the
correct value.
113 Commitment Char (10) The name of the commitment definition for which this LUW
Definition Name took place.
123 Commitment Char (10) The commitment definition identifier of the commitment
Definition Identifier definition. This is not useful to the end user.
133 Qualified Job Name Char (26) The job that created the commitment definition.
159 Reserved Char (1) Reserved for future use. Currently always blank.
160 Commitment Char (1) The scope of the commitment definition:
Definition Scope
A Activation group level commitment definition.
E Explicitly named commitment definition.
J JOB commitment definition.
161 Activation Group Bin (31) The activation group mark for the commitment definition:
Mark
0 This is the *JOB or an explicitly named commitment
definition.
2 This is the *DFTACTGRP commitment definition.
# The number of the activation group for this
activation group level commitment definition.
165 Notify Object Char (37) The notify object for the commitment definition:
v Char (10) - Object name
v Char (10) - Object library
v Char (10) - Object member (blank if object is not a file)
v Char (7) - Object type (*MSGQ, *DTAARA or *FILE)
202 Default Journal Char (20) The default journal for the commitment definition:
v Char (10): Journal name
v Char (10): Journal library
222 Initiation Type Char (1) Whether this commit or rollback operation was initiated by
the user or by the system:
E Explicit commit or rollback operation initiated by
the user.
I Implicit commit or rollback operation due to
activation group end, job end, or system end.
If the LUW was finished after a system end, this is
set to I, even if an explicit commit or rollback
operation was running at the time the system
ended.
223 LUW End Status Char (1) Indication of when this LUW ended with respect to the job
that created the commitment definition for which this LUW
took place:
N The LUW ended while the job was running
normally.
E The LUW ended during job end. This means that
the LUW was still pending when a request was
made to end the job. If the requested operation is
CM, then a commit request had started before the
request to end the job and was finished during the
job-end phase.
I The LUW ended during the IPL following a system
end. If the requested operation is CM, then a
commit request was started before the system end
and was finished during the IPL.
P The LUW ended after the IPL following a system
end. In this case, the requested operation is CM and
the LUW was prepared pending the
commit/rollback decision from the initiator or last
agent when the system ended. During the IPL, local
resources were brought back to a prepared state in a
system database server job. After resynchronization
was performed to learn the commit/rollback
decision, the LUW ended by committing or rolling
back the local resources in that same system
database server job.
224 Sync-point Role Char (1) The sync-point role played by this location during a commit
operation:
I Initiator: the root of the sync-point tree.
C Cascaded initiator: an intermediate location in the
sync-point tree.
A Agent: a leaf location in the sync-point tree.
blank This LUW ended in a rollback request.
225 Partner Role Char (1) The partner role played by this location during a commit:
I Initator: the root of the sync-point tree.
N Not-last agent: a prepare request was sent to this
location during the prepare wave.
L Last agent: a prepare request was not sent to this
location during the prepare wave. Instead, a request
was made to this location during the committed
wave to attempt a full commit operation before
reporting results back to its initiator.
blank This LUW ended in a rollback request.
226 LUW Disposition Char (2) The overall disposition of the LUW:
RO This location and all downstream locations voted
read-only. These resources were not committed or
rolled back because they were not changed during
the LUW. It is not known whether the other
locations in the sync-point tree committed or rolled
back.
CM All resources committed. No errors have been
detected to this point. If the Resync In Progress
Indicator field is N, the LUW has completely
committed. Otherwise, resynchronization is still
going on to assure this location that other locations
committed completely.
CF An attempt was made to commit all resources, but
one or more errors have occurred. The job log,
QHST, and QSYSOPR *MSGQ can be checked to
determine the errors.
RB All resources rolled back successfully.
RF An attempt was made to roll back all resources, but
one or more errors have occurred. The job log,
QHST, and QSYSOPR *MSGQ can be checked to
determine the errors.
HD Heuristic damage has occurred. This means one of
two things:
1. Some of the resources at this location or
downstream locations committed while others
rolled back because an operator performed a
heuristic commit operation or rollback operation.
2. An unexpected error occurred while committing
or rolling back resources at this location or
downstream locations due to a hardware or
software problem.
228 Heuristic Operation Char (1) Whether a heuristic commit or rollback operation occurred at
Indicator this location while a commit request was being performed
for this LUW:
blank No heuristic operation occurred.
C A heuristic commit operation occurred.
R A heuristic rollback operation occurred.
230 Wait for outcome Char(1) The value of the Wait for outcome commitment option. This
indicates whether to wait for resynchronization to complete if
a communication or system failure occurs during a commit
or rollback.
Y Wait for outcome.
L Wait for outcome during commits initiated by this
commitment definition or during commits initiated
at a system that does not support presumed abort.
Inherit the initiator’s wait for outcome value during
commits initiated at a system that supports
presumed abort.
N Do not wait for outcome.
U Do not wait for outcome during commits initiated
by this commitment definition or during commits
initiated at a system that does not support
presumed abort. Inherit the initiator’s wait for
outcome value during commits initiated at a system
that supports presumed abort.
231 Action if problems Char(1) The value of the Action if problems commitment option. This
indicates whether to commit or rollback when problems
occur during a two-phase commit.
R Rollback if problems occur.
C Commit if problems occur.
232 Vote read-only Char(1) The value of the Vote read-only permitted commitment
permitted option. This indicates whether this commitment definition is
allowed to return a read-only vote to a remote initiator
during a two-phase commit.
N Do not allow a read-only vote.
Y Allow a read-only vote.
233 Action if ENDJOB Char(1) The value of the Action if ENDJOB commitment option. This
indicates the action to take for changes associated with the
LUW when the job the LUW is a part of is ended.
W Wait to allow normal processing of the LUW to
complete.
R Rollback during ENDJOB.
C Commit during ENDJOB.
234 OK to leave out Char(1) The value of the OK to leave out commitment option. This
indicates whether this location is allowed to be left out
during the next commit/rollback if no activity occurred to
this location during the LUW.
N Do not leave this location out of the next commit or
rollback operation.
Y It is OK to leave this location out of the next
commit or rollback operation.
235 Last agent permitted Char(1) The value of the Last agent permitted commitment option.
This indicates whether last agent optimization may be used.
S The system is allowed to select a last agent.
N The system is not allowed to select a last agent.
236 Accept vote reliable Char(1) The value of the Accept vote reliable commitment option.
This indicates whether the vote reliable indicator received
from agents during a commit operation is accepted by this
location. If an agent votes reliable, and this location accepts
it, control is returned to the application before the committed
wave is completed for that agent. If this location does not
accept vote reliable, control is returned to the application
only after the LUW is completely committed or rolled back.
Y Accept the vote reliable indicator from agents
during commit operations.
N Do not accept the vote reliable indicator from agents
during commit operations.
237 Resolved wait for Char(1) This indicates the actual wait for outcome value that was
outcome value used during the commit or rollback of this LUW. If the Wait
for outcome commitment option is L or U, this value may
have been inherited from this location’s initiator.
Y Wait for outcome of resynchronization.
N Do not wait for outcome of resynchronization.
238 XA Transaction Char(10) If this was an X/Open transaction, this is the name of the XA
Manager Transaction Manager that was specified on the db2xa_open
API. This field will be hex zeros if this was not an XA
transaction.
248 XID Char(140) If this was an X/Open Transaction, this is the X/Open
Transaction Identifier associated with this transaction. This
field will be hex zeros if this was not an X/Open transaction,
or if it was an X/Open local transaction. The format of this
field is as follows:
Bin(31) Format Identifier
Bin(31) Global Transaction Identifier Length
Bin(31) Branch Qualifier Length
Char(128) XID value
388 Default Journal Zoned (20,0) The commit cycle identifier for the default journal for this
Commit Cycle ID LUW. This is 0 if no commit cycle was started for this journal
Long during this LUW.
408 Reserved Char(9) Reserved for future use.
Notes:
1
The format for this field is in the description.
5 Record Length Bin (15) Length of record. Currently 48 for LCL record.
7 Record Position (4)1 This identifies the position in the LUW journal entry where
this record starts. It is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains this record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains this record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where this record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where this record starts. For
example, 0 means the first byte in the entry.
11 Next Local Location (4)1 This identifies the position in the LUW journal entry where
Position the next LCL record starts. It is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains the record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains the record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where the record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where the record starts. For
example, 0 means the first byte in the entry.
19 Record I/O State Char (2) Indicates whether the record I/O performed during this
LUW for files journaled to the journal related to this location
was committed or rolled back successfully:
CS Record I/O for this location was committed
successfully.
RS Record I/O for this location was rolled back
successfully.
CF An attempt to commit record I/O for this location
failed.
RF An attempt to rollback record I/O for this location
failed.
blank This is the location with no journal so there is no
record I/O associated with it.
46 Commit Cycle ID Zoned (20,0) The commit cycle identifier for the journal. This is 0 for the
Long location with no journal. It may be 0 for the location related
to the default journal if there were no resources for that
location during this LUW.
66 Reserved Char (15) Reserved for future use.
Notes:
1
The format for this field is in the description.
5 Record Length Bin (15) Length of record. Currently 80 for API record.
7 Record Position (4)1 This identifies the position in the LUW journal entry where
this record starts. It is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains this record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains this record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where this record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where this record starts. For
example, 0 means the first byte in the entry.
11 Resource Location (4)1 This identifies the position in the LUW journal entry where
Position the LCL record starts for this API resource’s location. It is
made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains the record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains the record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where the record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where the record starts. For
example, 0 means the first byte in the entry.
15 Next Resource (4)1 This identifies the position in the LUW journal entry where
Position the next API or DDL record starts for this API resource’s
location. It is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains the record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains the record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where the record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where the record starts. For
example, 0 means the first byte in the entry.
Position 0 0 indicates that this is the last resource for this API
resource’s location.
19 API Resource Char (10) Name of API resource.
29 API Program Char (20) Name of the exit program for the API resource:
v Char (10): exit program name
v Char (10): exit program library
49 Journal Char (20) Journal related to the location for this resource:
v Char (10): Journal name (blank if this resource belongs to
the location with no journal)
v Char (10): Journal library (blank if this resource belongs to
the location with no journal)
69 Commit Cycle ID Bin (31) The commit cycle identifier for the journal. This is 0 if this
resource belongs to the location with no journal. This is -1 if
the actual commit cycle identifier value is larger than 2 147
483 647. The Commit Cycle ID Long field always contains
the correct value.
73 Commit Protocol Char (1) The commit protocol for this resource:
2 This is a two-phase resource (API resources are
always two-phase resources).
74 Resource Usage Char (2) The currently allowed access for this resource. The allowed
access for some resources can change from one LUW to
another depending on whether one-phase resources are
registered:
RO This resource is currently read-only. Updates were
not made during the LUW.
UP This resource is currently able to be updated.
Updates may or may not have been made during
the LUW.
76 API State Char (2) Indicates whether the API resource was committed or rolled
back successfully:
CS This resource was committed successfully.
RS This resource was rolled back successfully.
CF An attempt to commit this resource failed.
RF An attempt to rollback this resource failed.
78 API Last Agent Flag Char (1) Whether this resource is to be selected as the last agent
during all commit requests:
Y This resource is to be selected as the last agent.
N This resource is not to be selected as the last agent.
79 Allow Remote Char (1) Whether remote resources are allowed to participate in a
Resources LUW with this resource:
Y Remote resources are allowed with this resource.
N Remote resources are not allowed with this resource.
80 Save While Active Char (1) Whether this resource will hold out a save-while-active
Flag request until a commitment boundary is reached:
Y This resource will hold save-while-active requests.
N This resource will not hold save-while-active
requests.
81 Commit Cycle ID Zoned (20,0) The commit cycle identifier for the journal. This is 0 if this
Long resource belongs to the location with no journal.
Notes:
1
The format for this field is in the description.
| 5 Record Length Bin (15) Length of record. Currently 624 for DDL record.
7 Record Position (4)1 This identifies the position in the LUW journal entry where
this record starts. It is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains this record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains this record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where this record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where this record starts. For
example, 0 means the first byte in the entry.
11 Resource Location (4)1 This identifies the position in the LUW journal entry where
Position the LCL record starts for this DDL resource’s location. It is
made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains the record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains the record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where the record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where the record starts. For
example, 0 means the first byte in the entry.
15 Next Resource (4)1 This identifies the position in the LUW journal entry where
Position the next API or DDL record starts for this DDL resource’s
location. It is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains the record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains the record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where the record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where the record starts. For
example, 0 means the first byte in the entry.
19 DDL Resource Char (29) Object identification and operation performed on object:
| Information v Char (10): First 10 characters of object name. The object
| name field always contains the full object name.
v Char (10): Object library name
v Char (7): Object type (*FILE, *LIB or *SQLPKG)
v Char (2): Object operation
69 Commit Cycle ID Bin (31) The commit cycle identifier for the journal. This is 0 if this
resource belongs to the location with no journal. This is -1 if
the actual commit cycle identifier value is larger than 2 147
483 647. The Commit Cycle ID Long field always contains
the correct value.
73 Commit Protocol Char (1) The commit protocol for this resource:
2 This is a two-phase resource (DDL resources are
always two-phase resources).
74 DDL State Char (2) Indicates whether the DDL resource was committed or rolled
back successfully:
CS This resource was committed successfully.
RS This resource was rolled back successfully.
CF An attempt to commit this resource failed.
RF An attempt to rollback this resource failed.
76 Commit Cycle ID Zoned (20,0) The commit cycle identifier for the journal. This is 0 if this
Long resource belongs to the location with no journal.
96 Object Name Char (288) The full object name
| 384 Reserved Char (1) Reserved for future use.
Notes:
1
The format for this field is in the description.
5 Record Length Bin (15) Length of record. Currently 128 for RMT record.
7 Record Position (4)1 This identifies the position in the LUW journal entry where
this record starts. It is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains this record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains this record (1 for the first, 2 for
the second, and so on). Note that this is not the actual
journal entry sequence number.
v Bin (15): The offset where this record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where this record starts. For
example, 0 means the first byte in the entry.
11 Next Remote Location (4)1 This identifies the position in the LUW journal entry where
Position the next RMT record starts. It is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains the record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains the record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where the record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where the record starts. For
example, 0 means the first byte in the entry.
92 Commit Protocol Char (1) The commit protocol for the resources at this location:
1 The resources are one-phase.
2 The resources are two-phase.
93 Resource Usage Char (2) The currently allowed access for this resource. The allowed
access for some resources can change from one LUW to
another depending on whether one-phase resources are
registered:
RO This resource is currently read-only. Updates were
not made during the LUW.
UP This resource is currently able to be updated.
Updates may or may not have been made during
the LUW.
Note: This does not indicate whether updates were actually
made during the LUW. It indicates only whether updates are
allowed, given the other resources currently registered.
95 Resource State Char (2) The state of the resources at this location:
CS The resources were committed successfully.
CF An attempt to commit the resources failed. This
value is only used for one-phase locations.
RS The resources were rolled back successfully.
RF An attempt to rollback the resources failed. This
value is only used for one-phase locations.
NC The resources had no changes for the current
transaction.
FC A communications failure occurred for this location.
It is not known whether resources at the location
committed or rolled back.
HC The resources were heuristically committed.
HR The resources were heuristically rolled back.
HM Heuristic damage was detected at this location.
Some of the resources at the location, or locations
further downstream, committed while others rolled
back.
ER An unexpected error occurred while communicating
with this location. This is due to a hardware or
software problem. The state of the resources is
unknown.
RI We have not yet learned the state of the resources
because resync is still ongoing.
97 Allocator Flag Char (1) Indicates whether this is the allocator location, for example,
the location that called the transaction program running on
this system:
Y This location is the allocator.
N This location is not the allocator.
98 Remote Last Agent Char (1) Indicates whether this location was selected as the last agent
Flag if a commit request was performed to end this LUW:
Y This is the last agent.
N This is not the last agent.
Note: A last agent will not be selected at this location unless
the Partner Role field in the HDR record is I or L.
99 Two-phase protocol CHAR(1) The two-phase commit protocol options supported at this
location.
0 Two-phase commit protocols are not supported.
1 Two-phase commit presumed nothing protocols are
supported.
2 Two-phase commit presumed abort protocols are
supported.
100 Resync initiator CHAR(1) If resync with this location is still ongoing (the Resource
State field is RI), this value indicates whether the local
location is initiating the resync attempts.
I The local system is initiating resync with this
remote location.
N Resync is not being performed with this remote
location.
W The local system is waiting for resync to be
initiated from this remote location.
101 Voted reliable CHAR(1) Whether this location voted reliable during the commit of
this LUW.
Y The location voted reliable.
N The location did not vote reliable.
102 OK to leave out CHAR(1) Whether this location indicated it may be left out of the next
commit or rollback operation if no communications flows
occur to that location during the next LUW.
Y The location indicated it may be left out.
N The location indicated it may not be left out.
103 Left out CHAR(1) Whether this location was left out of the LUW that was just
committed or rolled back.
Y The location was left out.
N The location was not left out.
104 Initiator Flag CHAR(1) Indicates whether this location is the initiator location, i.e.
the location that sent the commit or rollback request to this
system.
Y The location is the initiator.
N The location is not the initiator.
Note: The system cannot determine the initiator location if
the initiator does not support two-phase commit protocols.
This field will always be set to N for locations that do not
support two-phase commit protocols.
105 Reserved CHAR(24) Reserved for future use.
Notes:
1
The format for this field is in the description.
5 Record Length Bin (15) Length of record. Currently 96 for DDM record.
7 Record Position (4)1 This identifies the position in the LUW journal entry where
this record starts. It is made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains this record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains this record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where this record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where this record starts. For
example, 0 means the first byte in the entry.
11 Resource Location (4)1 This identifies the position in the LUW journal entry where
Position the RMT record starts for this DDM file’s location. It is made
up of two numbers:
v Bin (15): The relative number of the journal entry that
contains the record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains the record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where the record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where the record starts. For
example, 0 means the first byte in the entry.
15 Next Resource (4)1 This identifies the position in the LUW journal entry where
Position the next DDM record starts for this DDM file’s location. It is
made up of two numbers:
v Bin (15): The relative number of the journal entry that
contains the record. If the LUW journal entry is greater
than 32K-1 bytes, multiple entries are actually sent to the
journal. This number represents which of these actual
journal entries contains the record (1 for the first, 2 for the
second, and so on). Note that this is not the actual journal
entry sequence number.
v Bin (15): The offset where the record starts within this
journal entry. This is the number of bytes past the
beginning of the entry where the record starts. For
example, 0 means the first byte in the entry.
Position 0 0 indicates that this is the last resource for this
DDM file’s location.
19 DDM File Char (20) Name of the DDM file and library for the open remote file:
v Char (10): DDM file name
v Char (10): DDM file library name
29 Remote Location Char (54) Identification of the remote location and communication
Information information for this resource’s location:
v Char (10): Remote Location name
v Char (10): Device name
v Char (10): Mode
v Char (8): Remote network ID
v Char (8): Conversation correlator network ID
v Char (8): Transaction program name
93 Open Flag Char (1) Whether the DDM file was open or closed when this LUW
ended:
O The DDM file was open.
C The DDM file was closed.
94 Commit Protocol Char (1) The commit protocol for this resource:
1 This is a one-phase resource.
2 This is a two-phase resource.
95 Resource Usage Char (2) The currently allowed access for this resource. The allowed
access for some resources can change from one LUW to
another depending on whether one-phase resources are
registered:
RO This resource is currently read-only. Updates were
not made during the LUW.
UP This resource is currently able to be updated.
Updates may or may not have been made during
the LUW.
Note: This does not indicate whether updates were actually
made during the LUW. It only indicates whether updates are
allowed, given the other resources currently registered.
Notes:
1
The format for this field is in the description.
Table 131. Moving and Renaming Objects (D FM, D FN, E EM, E EN, F MM, F MN, F PM, F PN, Q QM, Q QN)
Journal Entries
Relative
Offset Field Format Description
Table 132. File OPEN (F OP) and File CLOSE (F CL) Journal Entries
Relative
Offset Field Format Description
Entry-specific data. This data appears as one field in the standard output formats.
1 File Name Char (10) The name of the file that was opened or closed. If a physical
file is opened, this field and the JOOBJ field are the same. If
a logical file is opened, this field contains the name of the
logical file. JOOBJ field contains the name of the physical file.
11 Library Name Char (10) The library containing the file.
21 Member Name Char (10) The file member that was opened of closed.
31 Open options Char (4) Only used for file open (entry type OP). Values of the bytes
follow:
31 Input Char (1) Whether the file was opened for input:
I= File opened for input
Blank =
Input not specified
32 Output Char (1) Whether the file was opened for output:
O= File opened for output
Blank =
Output not specified
33 Update Char (1) Whether the file was opened for update:
U= File opened for update
Blank =
Update not specified
34 Delete Char (1) Whether the file was opened for delete:
D= File opened for delete
Blank =
Delete not specified
Journal identifier Char(10) The JID is provided with the *TYPE4 format only. It can be
(JOJID) used with the QJORJIDI API.
Entry-specific data. This data appears as one field in the standard output formats:
1 Entry-specific Data Char (*) After-image of the record for entry types PT, PX, UP, or UR.
Before-image of the record for entry types UB, DL, BR, or DR
if before-images are being journaled and the record was not
previously deleted.
Notes:
1
The flag does not apply to these entry types: PT, PX, UP, and UR.
Entry-specific data. This data appears as one field in the standard output formats:
1 File Name Char (10) The name of the file specified for the KEYFILE parameter on
the RGZPFM command. If KEYFILE(*NONE) was specified,
this field is blank.
11 Library Name Char (10) The name of the library specified in the KEYFILE parameter
of the RGZPFM command. If KEYFILE(*NONE) was
specified, this field is blank.
21 Member Name Char (10) The name of the member specified in the KEYFILE
parameter of the RGZPFM command. If KEYFILE(*NONE)
was specified, this field is blank.
Table 136. Object Restored (B FR, E EL, F MR, J RR, Q QZ) and Receiver Saved (J RS) Journal Entries
Relative
Offset Field Format Description
4 First Volume ID Char (6) The ID of the first volume used. The optical volume ID may
contain up to 32 characters of which the first six characters
are displayed.
10 Start Save or Restore Char (6)1 The date the save or restore operation was started. The date
Date is in the format of the DATFMT attribute of the job that
performed the save or restore operation.
16 Start Save or Restore Zoned (6,0) The time the save or restore operation was started.
Time
23 Save File Name Char (10) The name of the save file used for the operation. This field is
blank if a save file was not used.
33 Save File Library Char (10) The name of the library for the save file. This field is blank if
a save file was not used.
| 43 Media FID Char (16) File identifier for the IFS object on the media. This applies
| only to B FR entries.
| 59 Restored FID Char (16) File identifier for the restored IFS object. This applies only to
| B FR entries.
| 75 Restored over FID Char (16) File identifier for the IFS object that was restored over. This
| applies only to B FR entries.
Notes:
1
Refer to the fixed length portion of the journal entry for any information pertaining to the century of this
date.
Table 137. Object Saved (B FS, E ES, F MS, Q QY) Journal Entries
Relative
Offset Field Format Description
Entry-specific data. This data appears as one field in the standard output formats:
| 1 Media type Char (3) The type of media used to save the object:
DKT = Diskette
OPT = Optical
SAV = Save file
TAP = Tape
| 4 First Volume ID Char (6) The ID of the first volume used to save the object The optical
volume ID may contain up to 32 characters of which the first
six characters are displayed.
| 10 Start Save Date Char (6)1 The date the save operation was started. The date is in the
| format of the DATFMT attribute of the job that saved the
| object.
16 Start Save Time Zoned (6,0) The time the save operation was started.
22 Update History Char (1) Whether the save history is updated:
0= UPDHST(*NO) specified on save command.
1= UPDHST(*YES) specified on save command.
23 Save File Name Char (10) The name of the save file used for the operation. This field is
blank if a save file was not used.
33 Save File Library Char (10) The name of the library for the save file. This field is blank if
a save file was not used.
| 43 Save Active Value Char (10) The value specified for the SAVACT parameter on the
| SAVOBJ, SAVCHGOBJ, SAV, or SAVLIB command.
| 53 Start Save Active Date Char (6)1 For a save-while-active operation, this is the date when
| checkpoint processing was completed for the object. For a
normal save operation, this is the same as the start date.
| 59 Start Save Active Zoned (6,0) For a save-while-active operation, this is the time when
| Time checkpoint processing was completed for the object. For a
normal save operation, this is the same as the start time.
| 65 Primary Receiver Char (10) The name of the first of dual receivers that contains the
| Name start-of-save entry.
75 Primary Receiver Char (10) The name of the library containing the primary receiver.
Library
| 85 Dual Receiver Name Char (10) The name of the second of dual receivers that contains the
| start-of-save entry. This entry is blank if only a single
| receiver was used when the start-of-save entry was added.
| 95 Dual Receiver Library Char (10) The name of the library containing the dual receiver. This
| entry is blank if only a single receiver was used when the
| start-of-save entry was added.
| 105 Sequence number of Zoned (10, 0) For a save-while-active operation, the sequence number of
| matching start-of-save the corresponding start-of-save entry. For a normal save
| entry operation, this is the sequence number of the current object
| saved entry.
| 115 File ID of object Char (16) The file identifier (FID) of the object. This applies only to B
| FS entries.
Notes:
| If an object was saved using the save-while-active function, the saved copy of the object includes all of the changes
| found in the journal entries up to the corresponding object start of save-while-active entry, Table 138.
| If an object was NOT saved using the save-while-active function, the saved copy of the object includes all of the
| changes found in the journal entries up to the corresponding object saved entry, Table 137.
1
Refer to the fixed length portion of the journal entry for any information pertaining to the century of this
date.
Table 138. Start of Save-While-Active (B FW, E EW, F SS, Q QX) Journal Entries
Relative
Offset Field Format Description
Entry-specific data. This data appears as one field in the standard output formats:
1 Media type Char (3) The type of media used to save the object:
DKT = Diskette
OPT = Optical
SAV = Save file
TAP = Tape
4 First Volume ID Char (6) The ID of the first volume used to save the object. The
optical volume ID may contain up to 32 characters of which
the first six characters are displayed.
| 10 Start Save Date Char (6)1 The date the save operation was started. The date is in the
| format of the DATFMT attribute of the job that saved the
| object.
16 Start Save Time Zoned (6,0) The time the save operation was started.
23 Save File Name Char (10) The name of the save file used for the operation. This field is
blank if a save file was not used.
33 Save File Library Char (10) The name of the library for the save file. This field is blank if
a save file was not used.
| 43 Save Active Value Char (10) The value specified for the SAVACT parameter on the
| SAVOBJ, SAVCHGOBJ, SAV, or SAVLIB command.
| 53 Save Active Date Char (6)1 For a save-while-active operation, this is the date when
| checkpoint processing was completed for the object. For a
| normal save operation, this is the same as the start date.
| 59 Save Active Time Char (6) For a save-while-active operation, this is the time when
| checkpoint processing was completed for the object. For a
| normal save operation, this is the same as the start time.
| 65 Object File ID Char (16) The file identifier (FID) of the IFS object. This applies only to
| B FW entries.
Notes:
| If an object was saved using the save-while-active function, the saved copy of the object includes all of the changes
| found in the journal entries up to the corresponding object start of save-while-active entry, Table 138.
| If an object was NOT saved using the save-while-active function, the saved copy of the object includes all of the
| changes found in the journal entries up to the corresponding object saved entry, Table 137.
1
Refer to the fixed length portion of the journal entry for any information pertaining to the century of this
date.
Table 139. Start Journal (B JT, E EG, F JM, Q QB) Journal Entries
Relative
Offset Field Format Description
Entry-specific data. This data appears as one field in the standard output formats:
1 Omit journal entry Char (1) Indicates the value of the OMTJRNE parameter on the Start
Journal command.
0= No entries are omitted from journaling.
| 1= Open and Close (*FILE), or Open, Close, and Force
| (*DIR or *STMF) entries are not journaled.
| 2 File identifier Char (16) The file identifier (FID) for the IFS object. This only applies
| to B JT entries.
| 18 Path name Char (*) The path name information optionally follows the FID. This
| only applies to B JT entries.
Entry-specific data. This data appears as one field in the standard output formats:
1 Product ID Char (7) The ID of the product whose license key was not valid.
8 License Term Char (6) The term of the license.
14 Feature Char (4) The product feature code.
18 Usage Limit Zoned (6,0) The usage limit for the product.
24 License Key Char (18) The license key for the product.
42 Expiration Date Char (7) The expiration date for the license key.
49 Vendor Data Char (8) Data placed in the entry by the product vendor.
57 Processor Group Char (3) The processor group for the license key.
Entry-specific data. This data appears as one field in the standard output formats:
1 Product ID Char (7) The ID of the product whose usage limit was exceeded.
8 License Term Char (6) The term of the license.
14 Feature Char (4) The product feature code.
18 Usage Limit Zoned (6,0) The usage limit for the product.
24 Request Flag Char (1) Whether the request was successful:
0= License request was successful.
1= License request was not successful.
25 Number of Licensed Zoned (6,0) The number of users currently licensed for the product.
Users
31 Licensed User Name Char (26) x 100 The names of up to 100 users who are licensed for the
product.
| Entry-specific data. This data appears as one field in the standard output formats:
| 1 Starting position Bin (32) Starting position of change as specified by the user (1 for
| decimal).
| 33 Length of change Bin (32) Length of change to be applied as specified by the user.
| 65 Number Bin (32) Number of decimal positions as specified by the user.
| 97 Offset to change Bin (32) Offset to change value field from the beginning of the
| entry-specific data (ESD).
| 129 Type Char (10) Type of data area. Data area types are *CHAR, *DEC, and
| *LGL.
| Padding for Char(*) Padding to align fields.
| alignment
| Offset to Change value Char (*) Value of the change.
| change
|
| Table 144. Data Queue Cleared, has Key (Q QJ) Journal Entry
| Relative
| Offset Field Format Description
| Entry-specific data. This data appears as one field in the standard output formats:
| 1 Reserved Char (2) Reserved for future use.
| 3 Key length Bin (16) The number of characters in the key.
| 19 Key order Char (2) The Key order is as follows:
| GT Greater than
| LT Less than
| NE Not equal
| EQ Equal
| GE Greater than or equal
| LE Less than or equal
|
| 21 Key Char (*) The data to be used to remove a message from the data
| queue.
|
| Table 145. Send Data Queue, has Key (Q QK) Journal Entry
| Relative
| Offset Field Format Description
| Entry-specific data. This data appears as one field in the standard output formats:
| 1 Data Length Bin (32) The length of the data sent to the data queue
| 33 Offset to Data Bin (32) Offset to the data placed on the data queue. The offset is
| calculated from the beginning of the entry-specific data
| (ESD).
| 65 Reserved Char (2) Reserved for future use.
| 67 Key Length Bin (16) The number of characters in a key.
| 83 Reserved Char (4) Reserved for future use.
| 87 Key Char (*) A prefix added to an entry by its sender.
| Reserved Char (*) Padding to align fields.
| Offset to Data Char (*) The first 16 bytes of the data entry are API information
| data required by the QSNDDTAQ API and are not placed on the
| data queue. The remainder is the data that was placed on
| the data queue.
|
| Table 146. Received Data Queue, has Key (Q QL) Journal Entry
| Relative
| Offset Field Format Description
| Entry-specific data. This data appears as one field in the standard output formats:
| 1 Reserved Char (18) Reserved for future use.
| 19 Key length Bin (16) The number of characters in the key.
| Entry-specific data. This data appears as one field in the standard output formats:
| 1 Reserved Char (28) Reserved for future use.
| 29 Data length Bin (32) The length of the data placed on the data queue.
| 61 Data Char (*) The first 16 bytes of the data are API information required
| by the QSNDDTAQ API and are not placed on the data
| queue. The remainder is the data placed on the data queue.
|
| Table 148. Object Level (D AC, D CG, D CT, D DC, D DT, D GC, D GO, D GT, D RV, D TC, D TD, D TG, F DM, F
| MC) Journal Entries
| Relative
| Offset Field Format Description
| Entry-specific data. This data appears as one field in the standard output formats:
| 1 Object name Char (10) The name of the object that was operated on.
| 11 Library Name Char (10) The name of the library of the object that was operated on.
| 21 Member Name Char (10) The name of the member that was operated on, if
| applicable. This field is blank if it does not apply.
| 31 Reserved Char (30) Reserved.
| 61 Internal data Char (*) Internal system information.
|
To specify a stream file, you must have *W authority to the stream file and *R
authority to the directory for the stream file.
To specify a user space, you must have *CHANGE authority to the user space and
*USE authority to the library. The system needs an *EXCLRD lock on the user
space.
Figure 98 shows the sequence of entries in the output when you specify
OUTPUT(*ALL) or OUTPUT(*ERR):
┌────────────────────────────────────────────────┐
│ Command information │
├────────────────────────────────────────────────┤
│ Directory information for directory 1 │
│ Object link information for object link 1 │
│ ... │
│ Object link information for object link N │
├────────────────────────────────────────────────┤
│ Directory information for directory 2 │
│ Object link information for object link 1 │
│ ... │
│ Object link information for object link N │
├────────────────────────────────────────────────┤
│ Directory information for directory N │
│ Object link Information for object link 1 │
│ . . . │
│ Object link information for object link N │
├────────────────────────────────────────────────┤
│ Trailer information │
└────────────────────────────────────────────────┘
When you specify OUTPUT(*ALL), the output contains an object link entry for all
object links (both successful and unsuccessful). When you specify OUTPUT(*ERR),
the output contains an object link entry only for unsuccessful links.
Figure 99 on page 858 shows the sequence of entries in the output when you
specify OUTPUT(*SUMMARY):
When you retrieve information from the output format for object links, you must
use the entry length that is returned in the header information format of each
entry. The size of each entry may include padding at the end of the entry. If you
do not use the entry length, the result may not be valid. The entry length can be
used to find the next entry. The Trailer entry is always the last entry.
Table 149 through Table 153 on page 861 show the layouts for the output formats.
“Field Descriptions” on page 861 provides more information about the fields.
After each field in the layouts is a notation that indicates how the field is set. The
field may be set:
v Only for save operations (S)
v Only for restore operations (R)
v For save operations and restore operations (S/R)
Fields that are not set contain a value of zero for numeric fields and blanks for
character fields.
For each field that specifies an offset, this offset is relative to the first field of the
header information format for each entry (the Entry type field).
Command Information
Table 150 shows the format for the command information for output from the SAV
and RST commands.
Table 150. Command Information Output–SAV and RST Commands
Offset
Directory Information
Table 151 shows the format for the directory information for output from the SAV
and RST commands.
Table 151. Directory Information Output–SAV and RST Commands
Offset
Appendix E. How to Create and Use Output from the Save and Restore Commands 859
Table 151. Directory Information Output–SAV and RST Commands (continued)
Offset
Trailer Information
Table 153 shows the format for the trailer information format for output from the
SAV and RST commands.
Table 153. Trailer Information–Output from SAV and RST Commands
Offset
Field Descriptions
ALWCKPWRT. Indicates whether an object was saved while updates to the object may have occurred. The possible
values are:
0 No updates occurred to the object while the object was being saved.
1 The system saved the object with the SAVACTOPT(*ALWCKPWRT) parameter, and it set the corresponding
system attribute for the object. Updates to the object may have occurred while the system saved the object.
See the Information Center at the following Website: http://www.ibm.com/eserver/iseries/infocenter for
more information.
ASP after restore. The auxiliary storage pool (ASP) of the object link when it was restored. The possible value is:
1 System ASP
Appendix E. How to Create and Use Output from the Save and Restore Commands 861
ASP at time of save. The auxiliary storage pool (ASP) of the object link when it was saved. The possible value is:
1 System ASP
Command. The command that was used when the operation was performed.
The possible values are:
SAV Save operation
RST Restore operation
Complete data. Indicates whether all of the information for the save or restore operation is contained in this object
link.
The possible values are:
0 The data is not complete. One or more directory information or object link information formats were not
written to the user space or byte stream file. This can occur when a user space object link is used and more
than 16MB of information about the save or restore operation is generated. This situation occurs only when
the save or restore operation processes a very large number of object links. If this situation occurs, you
should consider using a stream file to store your output information.
1 The data is complete. All of the information about the save or restore operation is contained in the output.
CCSID of data. The CCSID of the data that is stored in this output entry.
Data compacted. Indicates whether the data was stored in compacted format.
The possible values are:
’0’ The data is not compacted.
’1’ The data is compacted.
Data compressed. Indicates whether the data was stored in compressed format.
The possible values are:
’0’ The data is not compressed.
’1’ The data is compressed.
Device name. The name of a device used to perform the save or restore operation. The field contains either the
name of a device or the name of the save file that was used to perform the operation.
Directory name. The name of the directory that the object was saved from or where the object was restored.
End change date. The value that was specified for the end change date when the save operation was performed.
The possible values are:
*ALL No end change date was specified.
end date
The end change date that was specified on the save operation. The date is in YYMMDD format, is left
justified, and is padded with blanks.
End change time. The value that was specified for the end change time when the save operation was performed.
The possible values are:
*ALL No end change time was specified
Entry type. Indicates the type of data that is contained in this list entry.
The possible values are:
1 This list entry contains command level information. Use the command information format to map out the
data for this list entry.
2 This list entry contains directory-level information. Use the directory information format to map out the data
for this list entry.
3 This list entry contains link level information. Use the object link information format to map out the data for
this list entry.
4 This list entry contains trailer information. Use the trailer information format to map out the data for this
list entry.
File label. The file label of the media file the save or restore operation is using. For a save or restore that uses a
save file, this field is blank.
Information type. Shows you the type of information that was saved with this operation. (INFTYPE parameter on
SAV command).
The possible values are:
’1’ Summary information and information about each object link that was processed was saved (*ALL).
’2’ Summary information and information about object links that were not successfully saved or restored was
saved (*ERR).
’3’ Only summary information was saved (*SUMMARY).
Number of object links processed successfully in directory. The number of object links that were successfully
saved or restored for this directory.
Number of object links processed unsuccessfully in directory. The number of object links that were unsuccessfully
saved or restored for this directory.
Number of object links that are processed successfully (S/R). The total number of object links saved or restored
successfully.
Number of object links that are processed unsuccessfully (S/R). The total number of object links that were not
saved or restored.
Object link data. Indicates whether the data for this object was saved with the object.
The possible values are:
Appendix E. How to Create and Use Output from the Save and Restore Commands 863
’0’ The object’s description was saved, but the object’s data was not saved.
’1’ The object’s description and the object’s data was saved.
Object link error message ID. The message ID of an error message that was issued for this link.
Object link error message replacement data. The error message replacement text from the link error message.
Object link error message replacement data length. The length of the error message replacement text for the object
link error message.
Object link error message replacement identifier offset. The offset to the error message replacement identifier for
the object link error message.
Object link identifier after restore offset. The offset to the Object link name after restore field.
Object link identifier offset. The offset of the object link name identifier.
Object link name. For a save operation, the name of the object link that was saved. For a restore operation, the
qualified object link name that was saved (including the directory and object link name).
Object link name length. The length of the Object link name field.
Object link name after restore. The name of the object link after it was restored.
Object link name after restore length. The length of the Object link name after restore field.
Object link owner after restore. The name of the object link owner’s user profile when the object link was restored.
Object link owner at time of save. The name of the object link owner’s user profile when the object link was saved.
Object link security message. Indicates whether a security message was issued for this object link during a restore
operation.
The possible values are:
’0’ No security messages were issued.
’1’ One or more security messages were issued.
Object link size. The size of the object link in units of the size multiplier. The true object link size is equal to or
smaller than the object link size multiplied by the object link size multiplier.
Object link size multiplier. The value to multiply the object link size by to get the true size. The value is 1 if the
object link is smaller than 1 000 000 000 bytes, 1024 if it is between 1 000 000 000 and 4 294 967 295 bytes (inclusive).
The value is 4096 if the object link is larger than 4 294 967 295 bytes.
Object link status. Indicates whether the object link was successfully processed.
The possible values are:
’0’ The object link was not successfully saved or restored.
’1’ The object link was successfully saved or restored.
Restore date/time. The time at which the object links were restored in system timestamp format. See the Convert
Date and Time Form at (QWCCVTDT) API for information on converting this timestamp.
Restore system serial number. The serial number of the system on which the restore operation was performed.
Restore release level. The release level of the operating system on which the object links were restored. This field
has a VvRrMm format, containing the following:
Vv The character V followed by a 1-character version number
Save active. Indicates whether object links were allowed to be updated while they were being saved.
The possible values are:
0 SAVACT(*NO)—Object links were not allowed to be saved while they were in use by another job.
1 SAVACT(*YES)—Object links were allowed to be saved while they were in use by another job. Object links
in the save may have reached a checkpoint at different times and may not be in a consistent state in
relationship to each other.
-1 SAVACT(*SYNC)—Object links were allowed to be saved while they were in use by another job. All of the
object links and all of the directories in the save operation reached a checkpoint together and were saved in
a consistent state in relationship to each other.
Save active date/time. The time at which the object link was saved while active in system timestamp format. See the
Convert Date and Time Format (QWCCVTDT) API for information on converting this timestamp.
Save active option. Indicates which options were used with save-while-active. The possible values are:
*NONE
SAVACTOPT(*NONE) was specified. No special save-while-active options were used.
*ALWCKPWRT
SAVACTOPT(*ALWCKPWRT) was specified. This enabled the system to save objects while the system
updated them if you set the corresponding system attribute. See the Information Center at the following
URL: http://www.ibm.com/eserver/iseries/infocenter for more information.
| Save date/time. The time at which the object links were saved in system timestamp format. See the Convert Date
| and Time Format (QWCCVTDT) API information under the Programming topic on the Information Center at the
| following URL: http://www.ibm.com/eserver/iseries/infocenter for information on converting this timestamp.
Save release level. The release level of the operating system on which the object links were saved. This field has a
VvRrMm format, containing the following:
Vv The character V is followed by a 1-character version number.
Rr The character R is followed by a 1-character release number.
Mm The character M is followed by a 1-character modification number.
Save system serial number. The serial number of the system on which the save operation was performed.
Sequence number. The sequence number of the file on media. The value will be 0 if the save media is not tape.
Start change date. The value that was specified for the start change date when the save operation was performed.
The possible values are:
*LASTSAVE
The save includes object links that have changed since the last time time they were saved with
UPDHST(*YES) specified on the save operation.
*ALL No start change date was specified.
start date
The start change date that was specified on the save operation. The date is in YYMMDD format, is left
justified, and is padded with blanks.
Start change time. The value that was specified for the start change time when the save operation was performed.
The possible values are:
*ALL No start change time was specified.
start time
The start change time that was specified on the save operation. The time is in HHMMSS format, is left
justified, and is padded with blanks.
Appendix E. How to Create and Use Output from the Save and Restore Commands 865
Starting volume identifier. The starting volume identifier on which this object link was saved. This field is a
variable-length field.
Starting volume identifier length. The length of this Starting volume identifier field.
Starting volume identifier offset. The offset to the starting volume identifier field.
Target Release level. The earliest release level of the operating system on which the object links can be restored.
This field has a VvRrMm format, containing the following:
Vv The character V is followed by a 1-character version number.
Rr The character R is followed by a 1-character release number.
Mm The character M is followed by a 1-character modification number.
Volume identifier. The list of volume identifiers that are used during this save or restore operation. The list can
contain from one to 75 volumes. See ″number of volume identifiers″ to tell how many volume identifiers are in the
list. This field is a variable-length field.
Table 155. Type of Index Request Created when Using the Restore Document Library Object (RSTDLO) Command
NEWOBJ(*NEW) Is Document Was Index Entry Exists for Document Type of Index Request Created
Specified Indexed when Saved in QABB* Files
(1) No No No None
(2) No No Yes Remove
(3) No Yes No Add
(4) No Yes Yes Create an add request if version
indexed dates are different.
- SAVSYS
- SAVLIB LIB(*NONSYS) ACCPTH(*YES)
- SAVDLO DLO(*ALL) SAVFLR(*ANY)
- SAV DEV(’/QSYS.LIB/tape-device-name.DEVD’) OBJ((’/*’)
(’/QSYS.LIB’ *OMIT) (’/QDLS’ *OMIT)) UPDHST(*YES)
Important
Use “Recovering your entire system after a complete system loss–Checklist
20” on page 96 for any of the following cases. You can find the checklist in
“Chapter 4. Selecting the Right Recovery Strategy” on page 61.
v System has Logical Partitions.
v System uses the Alternate Installation Device Setup feature that you can
define through DST for D-IPL.5
v System has mounted User-Defined File Systems prior to save.
v You are recovering to a different system (system with a different serial
number).
Selection
1
__ 3. On the Install Licensed Internal Code (LIC) screen, select 2, Install Licensed
Internal Code and Initialize System, to start a ″Scratch Install″ of the
Licensed Internal Code.
Selection
2
__ 4. On the Install LIC and Initialize System - Confirmation screen, press F10 to
confirm the initialization and to continue the install.
Warning:
__ 5. On the Disk Configuration Attention Report screen, press F10 to accept any
problems and to continue.
OPT Problem
_ New disk configuration
__ 6. On the IPL or Install the System screen, select 3, Use Dedicated Service
Tools (DST).
1. Perform an IPL
2. Install the operating system
3. Use Dedicated Service Tools (DST)
4. Perform automatic installation of the operating system
5. Save Licensed Internal Code
Selection
3
Problem Report
Note: Some action for the problems listed below may need to
be taken. Please select a problem to display more detailed
information about the problem and to see what possible
action may be taken to correct the problem.
OPT Problem
_ Unit possibly configured for Power PC AS
Add will take several minutes for each unit. The system will
have the displayed protection after the unit(s) are added.
Serial Resource
ASP Unit Number Type Model Name Protection
1 Unprotected
1 00-0103706 6602 030 DD031 Unprotected
2 00-1000341 9337 211 DD012 Unprotected
3 00-5000341 9337 211 DD015 Unprotected
4 00-7000341 9337 211 DD011 Unprotected
5 00-3000341 9337 211 DD014 Device Parity
6 00-2000341 9337 211 DD013 Device Parity
7 00-61300 6603 074 DD006 Device Parity
8 00-52262 6606 074 DD008 Device Parity
9 00-86978 6606 050 DD009 Device Parity
2 Unprotected
10 00-95744 6603 074 DD005 Device Parity
11 00-47657 6606 074 DD007 Device Parity
1. Perform an IPL
2. Install the Operating System
3. Use Dedicated Service Tools (DST)
4. Perform automatic installation of the Operating System
5. Save Licensed Internal Code
Selection
2
Selection
1
Note: This screen does not appear if you selected all disk units that are
known to the system on Step 8 on page 874.
__ 13. The IPL Step in Progress screen displays the IPL progress.
Authority Recovery
Journal Recovery
Database Recovery
Journal Synchronization
Start Operating System
__ 14. On the Install the Operating System screen, select option 1, Take defaults.
Make sure that the values for Date and Time are correct. Press Enter to
continue.
Install
option . . . . . 1 1=Take defaults (No other
options are displayed)
2=Change install options
Date
Year . . . . . . 99 00-99
Month. . . . . . 08 01-12
Day. . . . . . . 22 01-31
Time
Hour . . . . . . 16 00-23
Minute . . . . . 45 00-59
Second . . . . . 00 00-59
__ 15. The OS/400 Installation Status screen displays the installation status of the
required OS/400 Installation Profiles and Libraries.
+---------------------------------------------------------------------------------+
Stage 1 |xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+---------------------------------------------------------------------------------+
0 20 40 60 80 100
Installation Objects
Stage Completed Restored
+---------------------------------------------------------------------------------+
Stage 1 |xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+---------------------------------------------------------------------------------+
0 20 40 60 80 100
Installation Objects
Stage Completed Restored
__ 17. On the Sign On screen, logon as user QSECOFR. You do not need to enter a
password at this time.
__ 18. On the IPL options screen, enter correct values for Date and Time. Only the
following options should be set to Y:
v Start system to restricted state
v Set major system options
v Define or change the system at IPL
IPL Options
Change Password
| __ 21. To configure 3422, 3430, 3480, or 3490 tape units, follow these instructions.
| If you have a 3490 Model E or F or to configure other types of tape units,
| go to step 22 on page 881.
a. Use the Work with Hardware Resource (WRKHDWRSC) command to
determine the location of the tape controller.
WRKHDWRSC TYPE(*STG)
b. Create the controller description for the tape controller by doing the
following:
Note: If the resource is not listed on the display, you need to select
other resources, such as disk storage controllers. For some
server models, resources are now attached through
combined-function IOPs. Look through the resources until
you find the device you want.
4) Type 5 (Work with controller descriptions) in the Opt column in
front of the tape controller. You see the Work with Controller
Description display.
5) Type 1 (Create) in the Opt column on the top line.
6) Type the controller name (such as TAPCTL01) in the description
field and press the Enter key. You see the Create Controller
Description display.
7) If necessary, type additional information on the display. Then press
the Enter key. You return to the Work with Controller Descriptions
display.
8) If the controller description that you created does not appear, press
F5 (Refresh).
c. To create device descriptions for the tape units that are attached to the
controller, do the following:
1) On the work with Controller Descriptions display, press F23 (More
options). The list of options changes.
2) Type 9 (Work with associated descriptions) in the Opt column in
front of the new tape controller. You see the Work with Associated
Descriptions display.
3) Locate the resource for the tape unit. Because no device description
exists, the description says *NONE.
4) Write down the name of the tape resource.
5) Type a 1 (Create) in the Opt column next to the description of
*NONE and press the Enter key. You see the Create Device Desc
(Tape) (CRTDEVTAP).
6) In the Device description field, type a name such as TAP01.
7) In the Resource name prompt, type the name that you wrote down
in step 21c4. (If you did not write it down, press F12 to return to
the display. Repeat steps 21c4 through 21c7.)
8) Press the Enter key.
9) Additional parameters appear on the display.
10) If necessary, type additional information on the display. Then press
the Enter key. You return to the Work with Associated Descriptions
display.
11) Press F5 (Refresh). The name of the description that you created
should now be associated with the resource.
Note: If the tape controller is not listed on the display, you need to
select other resources, such as disk storage controllers. For some
server models, tape units are now attached through
combined-function IOPs. Look through the resources until you
find the tape unit you want.
d. Locate the resource name for the tape unit (for example, TAP01).
e. Enter a 5 (Work with Configuration Descriptions) in the Opt column
next to the tape resource name and press the Enter key.
You are shown the Work with Configuration Descriptions display.
f. Type a 1 (Create) in the Opt field and a tape device description name
(for example, TAP01) in the Description field. Press the Enter key. You
are shown the Create Device Description (Tape) display.
g. Change any values that you want to change, then press the Enter key
(twice) to create the device description. You are shown the Work with
Configuration Descriptions display again. The device that you created
should appear on the display.
h. Type an 8 (Work with configuration status) in front of the new device
description. You are shown the Work with Configuration Status display.
i. Type a 1 (Vary on or Make available) in front of the new device. If the
status does not change to Varied On or Available, wait a few minutes.
Then press F5 (Refresh). If the status still does not change to Varied On
or Available, follow normal problem analysis for the device.
j. Press F3 until you return to the main menu.
1. User tasks
2. Office tasks
3. General system tasks
4. Files, libraries, and folders
5. Programming
6. Communications
7. Define or change the system
8. Problem handling
9. Display a menu
11. Client Access/400 tasks
90. Sign off
Selection or command
=>
__ 23. On the AS/400 Main Menu screen, type the command, WRKRPYLE, and check
to see if CPA3709 is there. If it is not, determine an available sequence
number and then Press F6 to add MSGID(CPA3709) RPY(G) by using the
available sequence number. Press F5 to Refresh and verify that you added
CPA3709.
__ a. Type the command CHGJOB INQMSGRPY(*SYSRPYL) to update the
current job to use the system reply list for inquiry messages.
__ 24. On the AS/400 Main Menu screen, type GO RESTORE to access the AS/400
Restore screen.
__ a. On the AS/400 Restore screen, select option 21, Restore System and
User Data.
__ b. Press Enter to continue.
__ 25. On the Specify Command Defaults screen, enter the name of the tape drive
that you are using for the restore.
__ a. Set Prompt for command to N.
__ b. Set Message queue delivery to *NOTIFY.
To see how Operational Assistant compares with other commands and menu
options for saving information, review Figure 2 on page 16.
Starting with the V3R7 release, Operational Assistant allows you to save your user
directories along with your user libraries and folders. If you choose to save your
user directories, you may not select which ones that the system saves. You must
either save all the user directories or none of the user directories. If you use
applications that have objects in directories, look in the Information Center for
additional information. The Information Center contains pages that deal with how
to plan a backup and recovery strategy to help you decide what strategy you
should use.
Before you can use a strategy of saving changed objects with Operational
Assistant backup, you must save all the libraries by using Operational Assistant
backup. When you save changed objects by using Operational Assistant, the
system looks at information that is maintained by Operational Assistant. It does
not look at the Date last saved field in the object description.
3. After you run each type of backup (daily, weekly, and monthly) for the first
time using Operational Assistant, display the tapes to ensure that you are
saving what you think you are saving.
For each item in the list, you can specify when it is to be saved:
v Monthly only
v Weekly and monthly
v Daily, weekly, and monthly
v Not at all
For each of the three backup periods, you can specify whether all libraries and
folders on the list are to be saved, or only those libraries and folders that have
changed since the last backup. The topic “How to Define Backup Operations” on
page 890 describes how to specify this.
For example, you might specify that all user libraries on your system be saved
monthly. If your application programs do not change very often, you might specify
that only those libraries that contain database files be saved weekly. You can omit
the libraries that contain programs from your weekly backup. Your daily backup
-----------Backup----------- Last
Opt Library Daily Weekly Monthly Backup Changed
_ #LIBRARY Yes Yes Yes 01/01/9x No
_ AMES Yes Yes Yes 01/01/9x No
_ BALYLE Yes Yes Yes 01/01/9x No
_ BETH Yes Yes Yes 01/01/9x No
_ BURT Yes Yes Yes 01/01/9x No
The display shows when each library is scheduled to be saved, when it was
last saved, and whether it has changed since it was saved.
3. Type your changes on the display and press the Enter key.
Following is what the system does when you use Operational Assistant to save
changed objects in libraries. The process is similar when you save changed objects
in folders and directories by using Operational Assistant backup.
1. The system retrieves the date and time when you last saved all libraries by
using Operational Assistant. This information is stored in an internal object that
is used by Operational Assistant. It is updated every time you run an
Operational Assistant backup and specify 2 (All libraries) for the User libraries
prompt on a backup options display. This becomes the reference date and time.
2. The system runs the Save Changed Object (SAVCHGOBJ) command for each
library in the backup list that you are saving. For the reference date and
reference time parameters, the system uses the date and time from step 1.
For example, assume that the monthly backup saves all libraries. The weekly
backup list saves entire libraries, not just changes. It includes the following
libraries:
v LIBA
v LIBB
v LIBC
To select one of the following, type its number below and press Enter:
2. From the Set Up Backup menu, select option 1, 2, or 3 for the options that you
want to change. You see one of the change options displays, such as the
Change Daily Backup Options display:
3. Type any changes that you want on this display and page forward to see
additional options:
4. Type any additional changes that you want on this display and page forward
again to see additional options:
Note: You can also use the Change Backup Options (CHGBCKUP) command to
change the backup options.
Type choices below, then press Enter. Press F4 for list of backups.
Sunday . . . . . . . .
Monday . . . . . . . . *DAILY 22:00:00
Tuesday . . . . . . . . *DAILY 22:00:00
Wednesday . . . . . . . *DAILY 22:00:00
Thursday . . . . . . . *DAILY 22:00:00
Friday . . . . . . . . *DAILY 22:00:00
Saturday . . . . . . . *WEEKMONTH 22:00:00
Note: When you use the backup schedule, the system places jobs whose names
begin with the following characters on the job scheduler:
v QEZBKTM
v QEZBKMG
Do not change these entries by using the job scheduling commands.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not give you
any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions, therefore, this statement may not apply
to you.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact:
IBM Corporation
Software Interoperability Coordinator
3605 Highway 52 N
The licensed program described in this information and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement
or any equivalent agreement between us.
All statements regarding IBM’s future direction or intent are subject to change or
withdrawal without notice, and represent goals and objectives only.
COPYRIGHT LICENSE:
If you are viewing this information softcopy, the photographs and color
illustrations may not appear.
Trademarks
The following terms are trademarks of International Business Machines
Corporation in the United States, or other countries, or both:
400
Application System/400
APPN
AS/400
AS/400e
C/400
Microsoft, Windows, Windows NT, and the Windows 95 logo are registered
trademarks of Microsoft Corporation.
UNIX is a registered trademark in the United States and other countries licensed
exclusively through X/Open Company Limited.
Other company, product, and service names may be trademarks or service marks
of others.
Bibliography 899
900 OS/400 Backup and Recovery V5R1
Index
Special Characters abnormal system end (continued)
recovery 462
all object (*ALLOBJ) special authority
correcting after restoring 355, 359,
*ALLOBJ (all object) special authority access intent 544 361, 363
correcting after restoring 355, 359, access path all-object (*ALLOBJ) special authority
361, 363 definition 5, 375 restoring 217
*ALLOBJ (all-object) special authority editing rebuild during IPL 171 allow object differences (ALWOBJDIF)
restoring 217 ending journaling 423 parameter
(CHGASPA) Change ASP Attribute explicit journaling authorization lists 218
command 728 overview 6 effect 43
*JRN (journal) exposed 377 purpose 43
definition 383 journaling allow object restore operation
*JRN (journal) object ending 423 (QALWOBJRST) system value 50
definition 5 starting 412 allow user domain objects
*JRNRCV (journal receiver) object why used 391 (QALWUSRDMN) system value 48
definition 5, 383 with SMAPP 376 allowing
protecting 375 restore
protection adopted authority objects 50
Numerics overview 5 sensitive objects 50
2440 Tape Unit recovery time 375 system-state programs 50
disabling high-speed feature 145 working with 378 alternate installation device 635
enabling high-speed feature 145 recovery times ALWOBJDIF (allow object difference)
2741 Input/Output Processor restoring 156 parameter
adding 650 restoring 242 database file 238
34xx tape units system-managed protection (SMAPP) member 238
creating tape configuration 165, 342, overview 5 ALWOBJDIF (allow object differences)
879 access path journaling parameter
6502 Input/Output Processor explicit authorization lists 218
adding 650 definition 391 effect 43
6502 IOP access path operation entry 806 purpose 43
adding disk 649 access path recovery time API (application programming interface)
6512 Input/Output Processor recovering 213 resource 541
adding 650 accessing APIs
6512 IOP dedicated service tools (DST) 660 Add Commitment Resource
adding disk 649 system service tools 662 (QTNADDCR) 535
6532 Input/Output Processor accounting (QACGJRN) journal 424 Add Remote Journal 474
adding 650 action Change Commitment Options
6533 Input/Output Processor APYJRNCHG or RMVJRNCHG (QTNCHGCO) 535
adding 650 command Change Journal State
6751 Input/Output Processor journal code 452 (QjoChangeJournalState) 478, 487
adding 650 mirrored protection recovery 289, Delete Pointer Handle
6754 Input/Output Processor 296 (QjoDeletePointerHandle) 386
adding 650 activation group end List Objects (QUSLOBJ) 387
9337 disk commitment control during 580 List Save File (QSRLSAVF) 761
adding 648 activation-group-level scope 534 Open List of Objects (QGYOLOBJ
existing array 646, 647 active disk unit status 668 API) 387
9337 Disk Array Subsystem Add All Disk Units to the System QsrRestore 261
starting device parity protection 695 display 152 Remove Commitment Control
Add Commitment Resource Resource (QTNRMVCR) 541
(QTNADDCR) API 535 Remove Remote Journal
A Add Remote Journal
(QjoAddRemoteJournal) API 474, 475
(QjoRemoveRemoteJournal) 479,
490
A900 2000 SRC (system reference code) Add Remote Journal API 474 Retrieve Commitment Information
recovery 164 addressability (QTNRCMTI) 564
abbreviated install recovering 182 Retrieve Journal Entries
definition 148 adopted authority object (QjoRetrieveJournalEntries) 386
abend 61 allowing restore operation 50 Retrieve Journal Identifier Information
abnormal end agent (QJORJIDI) API 386
definition 61, 167 description 526 Retrieve Object Description
restarting system 167 agent role 548 (QUSROBJD API) 387
abnormal IPL (initial program load) 167 Rollback Required (QTNRBRQD) 535
abnormal system end Send Data Queue (QSNDDTAQ) 386
commitment control 581
Index 903
command, CL 762 (continued) command, CL 762 (continued) command, CL 762 (continued)
CMPJRNIMG (Compare Journal CRTJRNRCV (Create Journal ENDJRN (End Journal) 423
Images) Receiver) (continued) ENDJRNAP (End Journal Access
overview 386, 428 THRESHOLD (threshold) Path) 387, 423
using 440 parameter 401 ENDJRNOBJ (End Journal
Compare Journal Images CRTPF (Create Physical File) Object) 423
(CMPJRNIMG) SHARE(*YES) impact on journal ENDJRNPF (End Journal Physical File
overview 386, 428 entries 411 Changes) 423
using 440 CRTSAVF (Create Save File) 761 ENDSBS (End Subsystem)
Create Journal (CRTJRN) Delete Journal (DLTJRN) 386 QCALSRV (calendar server)
ASP (auxiliary storage pool) Delete Journal Receiver subsystem 45
parameter 403 (DLTJRNRCV) 386 QSYSWRK (subsystem monitor)
DLTRCV (delete receiver) description 412 subsystem 45
parameter 406 Display Database Relations restricted state 45
JRN (journal) parameter 403 (DSPDBR) 248 using 45
JRNRCV (journal receiver) Display File Description example
parameter 404 (DSPFD) 762 Apply Journaled Changes
MNGRCV (manage receiver) Display Journal (DSPJRN) 386 (APYJRNCHG) 448
parameter 405 overview 428 APYJRNCHG (Apply Journaled
MSGQ (message queue) Display Journal Receiver Attributes Changes) 448
parameter 404 (DSPJRNRCVA) 386 CRTJRNRCV (Create Journal
overview 386 Display Object Links (DSPLNK) 387 Receiver) 409
RCVSIZOPT (receiver size option) Display Recovery for Access Paths Remove Journaled Changes
parameter 407 (DSPRCYAP) 380 (RMVJRNCHG) 451
Create Journal (CRTJRN) command Display Save File (DSPSAVF) 761, RMVJRNCHG (Remove Journaled
JRN (journal) parameter 403 762 Changes) 451
Create Journal Receiver (CRTJRNRCV) DLTJRN (Delete Journal) 386 Override with Save File
ASP (auxiliary storage pool) DLTJRNRCV (Delete Journal (OVRSAVF) 762
parameter 401 Receiver) 386 OVRSAVF (Override with Save
AUT (authority) parameter 402 DSPDBR (Display Database File) 762
JRNRCVR (journal receiver) Relations) 248 QRYDOCLIB (Query Document
parameter 399, 401 DSPFD (Display File Library) 200
overview 386 Description) 762 Query Document Library
THRESHOLD (threshold) DSPJRN (Display Journal) 386 (QRYDOCLIB) 200
parameter 401 overview 428 RCLDLO (Reclaim Document Library
Create Physical File (CRTPF) 411 DSPJRNRCVA (Display Journal Object) 257
Create Save File (CRTSAVF) 761 Receiver Attributes) 386 RCLSTG (Reclaim Storage)
Create Save File (CRTSAVF) DSPRCYAP (Display Recovery for duplicate names in QRCL 47
command 762 Access Paths) 380 object ownership 48
CRTJRN (Create Journal) DSPSAVF (Display Save File) 761, procedure 46, 183
ASP (auxiliary storage pool) 762 QALWUSRDMN (allow user
parameter 403 Edit Check Pending Constraint domain objects) system
DLTRCV (delete receiver) (EDTCPCST) 174 value 48
parameter 406 Edit Recovery for Access Paths recovering user ASP 183
JRN (journal) parameter 403 (EDTRCYAP) 378 user domain object 48
JRNRCV (journal receiver) EDTCPCST (Edit Check Pending what system does 47
parameter 404 Constraint) 174 why to run 176
MINENTDTA (minimized EDTRCYAP (Edit Recovery for Access RCVJRNE (Receive Journal Entry)
entry-specific data) Paths) 378 DEPENT (dependent entry)
parameter 409 End Commitment Control parameter 432
MNGRCV (manage receiver) (ENDCMTCTL) 579 exit program 433
parameter 405 End Journal (ENDJRN) 387 overview 386, 428
MSGQ (message queue) End Journal Access Path using 432
parameter 404 (ENDJRNAP) 387, 423 writing output to save media 769
overview 386 End Journal Object RCVNETF (Receive Network
RCVSIZOPT (receiver size option) (ENDJRNOBJ) 387 File) 765
parameter 407 End Journal Physical File Changes Receive Journal Entry (RCVJRNE)
CRTJRN (Create Journal) command (ENDJRNPF) 423 DEPENT (dependent entry)
JRN (journal) parameter 403 End Subsystem (ENDSBS) parameter 432
CRTJRNRCV (Create Journal Receiver) QCALSRV (calendar server) exit program 433
ASP (auxiliary storage pool) subsystem 45 overview 386, 428
parameter 401 QSYSWRK (subsystem monitor) using 432
AUT (authority) parameter 402 subsystem 45 writing output to save media 769
JRNRCVR (journal receiver) restricted state 45 Receive Network File
parameter 399, 401 using 45 (RCVNETF) 765
overview 386 ENDCMTCTL (End Commitment Reclaim Document Library Object
Control) 579 (RCLDLO) 257
Index 905
command, CL 762 (continued) command, CL 762 (continued) commit or rollback processing
OVRSAVF (Override with Save Start Journal Access Path during IPL 599
File) 762 (STRJRNAP) 387, 412 during job end 599
Save Save File Data Start Journal Object commit processing
(SAVSAVFDTA) 761 (STRJRNOBJ) 387 flow 551
Save Library (SAVLIB) using 414 commit protocol 544
determining what command was Start Journal Physical File (STRJRNPF) commit scope (CMTSCOPE)
used 307 description 387 parameter 533
Save Object (SAVOBJ) using 411 commit text (TEXT) parameter 539
media considerations 762 STRCMTCTL (Start Commitment commitment boundary
Save/Restore (SAVRST) 32 Control) description 526
Save/Restore Changed Objects commit scope (CMTSCOPE) commitment control
(SAVRSTCHG) 32 parameter 533 access intent 544
Save/Restore Configuration commit text (TEXT) agent
(SAVRSTCFG) 32 parameter 539 description 526
Save/Restore Document Library default journal (DFTJRN) agent role 548
Object (SAVRSTDLO) 32 parameter 539 allowing vote read-only 560
Save/Restore Library description 527 commit cycle 547
(SAVRSTLIB) 32 LCKLVL (lock level) commit cycle identifier 547
Save/Restore Object parameter 527 commit operation 547, 548, 549
(SAVRSTOBJ) 32 notify object (NFYOBJ) commit protocol 544
Save Save File Data parameter 530 commitment boundary
(SAVSAVFDTA) 762 omit journal entries (OMTJRNE) definition 526
save file considerations 761 parameter 540 committable change
SAVLIB (Save Library) STRJRN (Start Journal) definition 526
determining what command was using 413 committable resource
used 307 STRJRNAP (Start Journal Access DDL (Data Definition Language)
SAVOBJ (Save Object) Path) 387, 412 resource 541
media considerations 762 STRJRNPF (Start Journal Physical File) DDM (Distributed Data
SAVRST (Save/Restore) 32 description 387 Management) resource 541
SAVRSTCFG (Save and Restore using 411 definition 526
Configuration) 32 Work with Journal (WRKJRN) DRDA (distributed relational
SAVRSTCHG (Save/Restore Changed description 386 database) resource 541
Objects) 32 Option 1-Display Journal FILE (file) resource 541
SAVRSTDLO (Save/Restore Document Status 459 LU62 (protected conversation)
Library Object) 32 options 455 resource 541
SAVRSTLIB (Save/Restore recovery options 456 types 541
Library) 32 Work with Journal Attributes committable resource location 543
SAVRSTOBJ (Save/Restore (WRKJRNA) 386, 442 considerations 591
Object) 32 Work with Object Links save-while-active function 583
SAVSAVFDTA (Save Save File (WRKLNK) 387 definition 526
Data) 762 WRKJRN (Work with Journal) activation group level 534
save file considerations 761 description 386 contents 533
Send Journal Entry (SNDJRNE) 386, Option 1-Display Journal description 533
429 Status 459 job level 534
Send Network File (SNDNETF) 764 options 455 jobs with multiple 537
SNDJRNE (Send Journal Entry) 386, recovery options 456 naming 536
429 WRKJRNA (Work with Journal scope 534
SNDNETF (Send Network File) 764 Attributes) 386, 442 system functions 534
Start Commitment Control command information format description 525
(STRCMTCTL) RST (Restore) command 858 determining size of transaction 584
commit scope (CMTSCOPE) SAV (Save) command 858 during abnormal system or job
parameter 533 commit end 581
commit text (TEXT) forced 566 during activation group end 580
parameter 539 commit cycle during routing step end 581
default journal (DFTJRN) definition 547 during save-while-active
parameter 539 commit cycle identifier 547 function 583
description 527 commit identification ending 579
LCKLVL (lock level) definition 530 error 592
parameter 527 description 530 files being journaled 545
notify object (NFYOBJ) commit in progress (CIP) state 565 flow of conversation 551
parameter 530 commit operation initiator
omit journal entries (OMTJRNE) implicit 573 description 526
parameter 540 language support 548 initiator role 548
Start Journal (STRJRN) 387 overview 547 last agent role 549
using 413, 414 what the system does 549 logical unit of work (LUW)
definition 525
Index 907
creating (continued) damaged (continued) data area (continued)
journal receiver 399 job description 175 Start Journal Object (STRJRNOBJ
objects job queue 175 command) 414
user ASP 688, 692 journal 178 data area operation 806
physical file journal receiver 179 Data Definition Language (DDL)
SHARE(*YES) impact on journal journal receivers 444 resource 541
entries 411 journaled object 179 data queue
tape configuration object 180 ENDJRN (End Journal)
for 34xx tape units 165, 342, 879 without library 47, 176 command 423
for non-34xx tape units 166 operating system object 175 ENDJRNOBJ (End Journal Object)
user ASP 669 output queue 175 command 423
creation date QAOSS (text index) database journaled
database file files 175 restoring 235
restoring 238 damaged object restoring 235
CRTJRN (Create Journal) command recovery 174 objects being journaled 235
ASP (auxiliary storage pool) DASD configuration Start Journal (STRJRN
parameter 403 checklist command) 414
DLTRCV (delete receiver) adding 2741 Input/Ouput Start Journal Object (STRJRNOBJ
parameter 406 Processor 650 command) 414
JRN (journal) parameter 403 adding 6502 Input/Output data queue operation 807
JRNRCV (journal receiver) Processor 650 database
parameter 404 adding 6512 Input/Output referential constraint
MINENTDTA (minimized Processor 650 journaling 389
entry-specific data) parameter 409 adding 6532 Input/Output Receive Journal Entry (RCVJRNE)
MNGRCV (manage receiver) Processor 650 command 432
parameter 405 adding 6533 Input/Ouput restoring
MSGQ (message queue) Processor 650 referential constraints 245
parameter 404 adding 6751 Input/Ouput trigger program 247
overview 386 Processor 650 trigger program
RCVSIZOPT (receiver size option) adding 6754 Input/Ouput journaling 389
parameter 407 Processor 650 Receive Journal Entry (RCVJRNE)
CRTJRNRCV (Create Journal Receiver) adding 9337 disk 646 command 432
command adding 9337 Disk Array database file
ASP (auxiliary storage pool) Subsystem 647, 648 assigning to journal 391
parameter 401 adding disk to 6502 IOP 649 constraint
AUT (authority) parameter 402 adding disk to 6512 IOP 649 editing during IPL 173
JRNRCVR (journal receiver) adding disk units without device damaged 47, 176
parameter 399, 401 parity protection 645 deleting 248
overview 386 deleting auxiliary storage pool journaled
THRESHOLD (threshold) (ASP) 654 damaged 179
parameter 401 moving disk units 652, 653 not synchronized 179
CRTNWSSTG (Created NWS Storage new system 644 journaling
Space) command 271, 272 removing disk units 655, 656, 657, choosing 389
CRTPF (Create Physical File) command 658, 659 commitment control 545
SHARE(*YES) interpreting 667 ending 423
impact on journal entries 411 DASD failure starting 411
CRTSAVF (Create Save File) pump 64 journaling access paths 391
command 761 recovery strategy 63 member
current release-to-previous release recovery with device parity damaged 176
support protection 91 multiple members
installing previous release recovery with mirrored protection 90 example 236
compiler 323 DASD migration 12 output for journal entries 431
using TGTRLS (target release) data QAOSS (text index)
parameter 323 restoring save file 255 damaged 175
saving save file 761 renaming
data area during restore 238
D ENDJRN (End Journal)
command 423
restoring
access paths 242
damage
ENDJRNOBJ (End Journal Object) ALWOBJDIF (allow object
journal receiver recovery 464, 465
command 423 difference) parameter 238
save file 764
journaled considerations 236
damaged
restoring 235 creation date 238
database file 47, 176
restoring 235 different member set 241
document
objects being journaled 235 files being journaled 235
restoring 257
Start Journal (STRJRN MAXMBRS (maximum members)
folder
command) 414 parameter 240
restoring into 258
IBM-supplied user profile 175
Index 909
disk unit (continued) distributed transaction processing (DTP) DPY/Active disk unit status 668
status 667 model DPY/Failed disk unit status 668
suspended status 668 components 566 DPY/Rebuilding disk unit status 668
unprotected status 668 distribution media DPY/Resyncing disk unit status 668
disk unit failure restoring Licensed Internal Code 123 DPY/Unknown disk unit status 668
recovery strategy 63 restoring OS/400 licensed DPY/Unprotected disk unit status 668
disk unit full program 148 DRDA (distributed relational database)
system response 728 distribution object resource 541
disk unit number restoring 258 DSNX (QDSNX) journal 424
definition 667 distribution services (QAOSDIAJRN) DSPDBR (Display Database Relations)
disk unit status journal command 248
active 668 applying journaled changes 286 DSPFD (Display File Description)
busy 667 overview 424 command 762
DPY/Active 668 DLO (document library object) DSPJRN (Display Journal)
DPY/Failed 668 creating command 386
DPY/Rebuilding 668 user ASP 689 overview 428
DPY/Resyncing 668 maximum number on RSTDLO DSPJRNRCVA (Display Journal Receiver
DPY/Unknown 668 command 257 Attributes) command 386
DPY/Unprotected 668 reclaiming 257 DSPRCYAP (Display Recovery for Access
not operational 667 renaming Paths) command 380
not ready 667 restoring documents 260 DSPSAVF (Display Save File)
operational 667 restoring command 761, 762
performance degraded 667 descriptive information 259 DST (dedicated service tools)
read/write protected 667 media error 57 definition 61
redundant failure 668 overview 255 options 660
suspended 668 renaming document 258 starting 660
write protected 667 user ASP 200 stopping 662
disk utilization using RST (Restore) dual systems
journaling 395 command 277 overview 9
display restoring authority 259 duplicating 32
printing journal entries 429 restoring ownership 259 changed objects 32
Display Access Path Status display 163, DLTJRN (Delete Journal) command 386 configuration 32
172 DLTJRNRCV (Delete Journal Receiver) document library objects 32
Display Constraint Status display 164, command 386 object 32
174 DLTRCV (delete receiver) parameter 406 object in directory 32
Display Database Relations (DSPDBR) document
command 248 restoring
Display Disk Configuration Capacity
display 193
damaged 257
overview 255
E
Edit Check Pending Constraint
Display File Description (DSPFD) document library
(EDTCPCST) command 174
command 762 querying 200
Edit Check Pending Constraints
Display Journal (DSPJRN) document library object
display 163, 173
command 386 duplicating on another system 32
edit description
overview 428 saving
recovering 213
Display Journal Receiver Attributes and restoring 32
restoring 157
(DSPJRNRCVA) command 386 document library object (DLO)
Edit Rebuild of Access Paths
Display Object Links (DSPLNK) creating
display 162, 171
command 387 user ASP 689
Edit Recovery for Access Paths
Display Recovery for Access Paths maximum number on RSTDLO
(EDTRCYAP) command 378
(DSPRCYAP) command 380 command 257
EDTCPCST (Edit Check Pending
Display Save File (DSPSAVF) reclaiming 257
Constraint) command 174
command 761, 762 renaming
EDTRCYAP (Edit Recovery for Access
displaying restoring documents 260
Paths) command 378
database relations 248 restoring
enabling
device parity protection status 708 descriptive information 259
automatic configuration
journal media error 57
during recovery 160
overview 428 overview 255
high-speed feature on 2440 Tape
journal receivers 442 renaming document 258
Unit 145
object user ASP 200
End Journal (ENDJRN) command 387,
user ASP 684 using RST (Restore)
423
save file 761 command 277
End Journal Access Path (ENDJRNAP)
status messages during save 766 restoring authority 259
command 387, 423
distributed data management (DDM) restoring ownership 259
End Journal Object (ENDJRNOBJ)
using with commitment control 541 documenting
command 387, 423
distributed mail services 807 journaling environment 415
End Journal Physical File Changes
distributed relational database (DRDA) Domino server
(ENDJRNPF) command 423
resource 541 recovering 265
Index 911
I install options
selecting
job number
resetting counter
IBM-supplied journal restoring operating system 154 during recovery 155
managing 424 Install the Operating System job queue
IBM-supplied user profile display 141, 153 clearing during recovery 155
damaged 175 installation damaged 175
ICF file abbreviated job recovery strategy
writing journal entries 772 definition 148 batch 760
identifier installation device interactive 759
commit cycle 547 alternate 635 journal
journal (JID) 414 installation error screens applying changes 444
IFS object licensed internal code 775 ASP (auxiliary storage pool) 403
directory (*DIR) Integrated File System 806 assigning files 391
ENDJRN (End Journal) integrated file system (IFS) object associate receivers 462
command 423 journaling associating with receiver 404
journaled directory (*DIR) 413 changing 416
damaged 179 starting 413 changing receivers 405
not synchronized 179 stream file (*STMF) 413 creating 402
restoring 235 symbolic link (*SYMLNK) 413 damaged 178
restoring interactive job data area 383
IFS objects being journaled 235 recovery strategy 759 data queue 383
stream file (*STMF) internal microprogramming interface definition 5, 383
ENDJRN (End Journal) (IMPI) system deleting 249, 419
command 423 restoring programs 253 displaying
symbolic link (*SYMLNK) interpreting overview 428
ENDJRN (End Journal) disk configuration 667 example 409
command 423 introduction how many 391
IMPI (internal microprogramming availability 3 IBM-supplied
interface) system backup options 3 managing 424
restoring programs 253 recovery options 3 IFS object 383
implicit commit operation 573 save options 3 journal receivers 416
implicit rollback operation 573 IPL (initial program load) library 403
including after abnormal end 167 managing receivers 405
disk unit in device parity commitment control recovery 569 message queue 404
protection 705 disk related failure of load source messages 404
independent ASP unit 298 naming 403
definition 62 editing check pending overflowed
recovering disk configuration after constraints 173 resetting 691
complete system loss 138 editing rebuild of access paths 171 receiver
indpendent ASP (auxiliary storage pool) normal 58 definition 5
recovery procedures options recovering from QRCL library 185
complete data loss 94 during recovery 160 removing changes 444
no data loss 93 performing normal 58 restoring 248, 422
some data loss 93 reducing time 5 journal receiver name 400
initial program load (IPL) resetting journal sequence saving 420
after abnormal end 167 numbers 417 threshold messages 404
commitment control recovery 569 restoring operating system 149 transferring into user ASP 687
disk related failure of load source selecting options WRKJRN (Work with Journal)
unit 298 restoring operating system 158 options 455
editing check pending IPL Options display 159, 170 journal attributes
constraints 173 IPL or Install the System display 150 working with 442
editing rebuild of access paths 171 IPL status messages journal code 807
options example display 153 actions of the APYJRNCHG or
during recovery 160 isolating RMVJRNCHG command 452
performing normal 58 disk units 7 journal code A 806
reducing time 5 journal code B 806
resetting journal sequence journal code C 806
numbers 417
restoring operating system 149 J journal code D 806
journal code E 806
selecting options JID (journal identifier) 414
journal code F 806
restoring operating system 158 job
journal code I 806
initiator multiple commitment definitions 537
journal code J 806
description 526 job description
journal code L 806
initiator role 548 damaged 175
journal code M 806
inoperable journal receivers 444 job end
journal code O 807
input commitment control 581
journal code P 807
save file 763 job-level scope 534
journal code Q 807
Index 913
journal receiver (continued) journaling (continued) journaling (continued)
definition 5, 383 before-images 392 journal entry (continued)
deleting 251, 406, 418 choosing which objects 389 journal code B 806
directory 442 commitment control 545 journal code C 806
correcting 251 commitment control operation journal code D 806
displaying 442 entry 806 journal code E 806
estimating size 396 data area journal code F 806
examples 409 ending 423 journal code I 806
inoperable 444 starting 414 journal code J 806
internal entries 407 data area operation entry 806 journal code L 806
library 401 data queue journal code M 806
managing 405, 416 ending 423 journal code O 807
maximum sequence number 417 starting 414 journal code P 807
maximum size 395 data queue operation 807 journal code Q 807
messages 404 database file member operation journal code R 807
moving entry 806 journal code S 807
from overflowed ASP 690 database file operation entry 806 journal code T 807
naming 399 DB2 multisystem files 412, 423 journal code U 807
placing in nonlibrary user ASP 694 definition 5 journal or receiver operation 806
placing in user ASP 689 distributed mail services 807 license management 806
recovering from QRCL library 185 ending 423 network management data 806
resetting sequence numbers 417 evaluating changes 416 object oriented 807
restoring 248, 422 explicit operation on specific record 807
saving 420 definition 376 performance tuning 807
size 401 features that increase journal receiver system accounting 806
system-generated names 399 size 397 user-generated entry 807
threshold 401 files with referential constraints 389 journal or receiver operation
journal receiver chain 440 files with trigger programs 389 entry 806
journal status how to assign files 391 journal receiver
display on the WRKJRN command IFS directories (*DIR) 413 user ASP (auxiliary storage
option 459 IFS object pool) 393
journaled change ending 423 keeping records 415
APYJRNCHG (Apply Journaled IFS stream file (*STMF) 413 license management entry 806
Changes) command 446, 448 IFS symbolic links (*SYMLNK) 413 managing 415
recovery of journaled object 462 inoperable receivers 444 maximum sequence number 417
RMVJRNCHG (Remove Journaled integrated file system (IFS) object network management data 806
Changes) command 450, 451 starting 413 number of journals 391
journaled changes journal code A 806 object oriented entry 807
applying journal code B 806 objects the system does not
broken receiver chain 285 journal code C 806 journal 390
determining whether to 282 journal code D 806 operation on specific record 807
overview 428 journal code E 806 output file layouts 805
referential constraints 445 journal code F 806 overview 5, 383
trigger programs 446 journal code I 806 performance impact 394
unbroken receiver chain 284 journal code J 806 performance tuning entry 807
removing journal code L 806 physical file
overview 428 journal code M 806 starting 411
referential constraints 445 journal code O 807 physical file changes
trigger programs 446 journal code P 807 ending 423
journaled file journal code Q 807 planning 388
naming 403 journal code R 807 receiver chains 440
restoring 235 journal code S 807 receiver directory 442
journaled IFS object journal code T 807 resetting sequence numbers 417
restoring 235 journal code U 807 sequence of commitment control
journaled object journal entry entries 545
damaged 179 access path operation 806 sequential processing
not synchronized 179 audit trail 807 (SEQONLY) 395
journaling commitment control setting up 398
access path operation 806 storage impact 395
ending 423 data area operation 806 system accounting entry 806
overview 6 data queue operation 807 system change-journal management
starting 412 database file member resetting sequence numbers 417
when used 391 operation 806 user ASP (auxiliary storage pool)
with SMAPP 376 database file operation 806 journal receiver 393
access path operation entry 806 distributed mail services 807 user-generated entry 807
applying changes 282 Integrated File System 806 using for audit trail 439
audit trail 807 journal code A 806
Index 915
mirrored unit (continued) nonload source unit (continued) omit journal entries (OMTJRNE)
resuming 291 recovery procedure (continued) parameter 540
suspending 290 no data loss 76 OMTJRNE (omit journal entries)
mirroring normal initial program load (IPL) 58 parameter 540
device error not operational disk unit status 667 Open List of Objects (QGYOLOBJ)
recovery actions 289 not ready disk unit status 667 API 387
overview 7 not synchronized opening
permanent read error journaled file 179 save file 763
recovery actions 289 notify object operating system
MNGRCV (manage receiver) description 530 damaged object 175
parameter 405 notify for each program 609 preventing unauthorized
moving one for all programs 614 installation 151
disk unit 676 standard commit processing restoring
disk units 652, 653 program 618 choosing procedure 148
folder standard processing program 614 manual IPL 149
different ASP 687 start applications again 608 overview 147
journal receiver updating 531 preparation 147
overflowed ASP (auxiliary storage notify object (NFYOBJ) parameter 530 reasons 147
pool) 690 selecting install options 154
library steps 149
different ASP 687
object
O using distribution media 148
operation on specific record 807
object 462
different ASP 693 Operational Assistant
creating
user profile backup
user ASP 688, 692
different system 217 lists, folders 888
damaged 180
multisystem files lists, libraries 888
displaying journaled status 442
how to end journaling 423 options 890
duplicating on another system 32
how to start journaling 412 overview 885
journaled
recovering 117
deleting 423
schedule 891
lost owner 48
N ownership
saving 885
saving changed objects 889
naming restoring 218
what to save 888
commitment definitions 536 primary group
operational disk unit status 667
journal receivers 399 restoring 218
OPM (Original Program Model) objects
journaled files 403 restore sequence 45
restoring 254
journals 403 restoring 32
optical media
libraries 403 RSTOBJ (Restore Object)
overview 4
network command 234
optical support
database 245 saving 32
overview 4
restoring 245 previous release system 323
OptiConnect for OS/400
network attribute transferring
overview 10
recovering 213 between ASPs 686
option
resetting when restoring to a different different ASP 693
recovery using the Work with Journal
system 162 user ASP
command 456
network management data 806 displaying 684
Work with Journal (WRKJRN) 455
new system without library 47, 176
order
configuring disk 644 object in directory
restoring objects 45
NFYOBJ (notify object) parameter 530 duplicating on another system 32
Original Program Model (OPM) objects
non-34xx tape units restoring 32, 261
restoring 254
creating tape configuration 166 saving 32
OS/400 Integration for Novell NetWare
nonconfigured disk unit object link information format
(QNetWare) file system
definition 669 RST (Restore) command 860
restoring 264
reasons 152 SAV (Save) command 860
OS/400 licensed program
nonconfigured unit object oriented entry 807
preventing unauthorized
mirrored protection 294 object ownership
installation 151
nonlibrary user ASP ALWOBJDIF (allow object differences)
restoring
definition 62, 393 parameter 218
choosing procedure 148
placing journal receivers 694 ObjectConnect
manual IPL 149
working with 692 communications requirements 29
overview 147
nonload source unit components 30
preparation 147
recovery procedure how system runs commands 30
reasons 147
complete data loss, no user job flow 30
selecting install options 154
ASP 78 list of commands 29
steps 149
complete data loss, user ASP not overview 10, 29
using distribution media 148
overflowed 79 problem determination 33
complete data loss, user ASP setting up 30
overflowed 82
Index 917
QjoAddRemoteJournal QVFYOBJRST (verify object on restore) receiver (continued)
(QjoAddRemoteJournal) API 474, 475 system value 50 journal (continued)
QjoDeletePointerHandle (Delete Pointer QZMF (mail server framework) saving 420
Handle) API 386 journal 424 size 401
QjoRetrieveJournalEntries (Retrieve system-generated names 399
Journal Entries) API 386 threshold 401
QJORJIDI (Retrieve Journal Identifier
Information) API 386
R restoring 248
receiver chain 440
RBR (rollback required) state 565
QJOSJRNE (Send Journal Entry) broken
RCLDLO (Reclaim Document Library
API 386, 429, 535 applying journaled changes 285
Object) command 257
QLYJRN (Application Development definition 251
RCLSTG (Reclaim Storage) command
Manager transaction log) journal 424 unbroken
duplicate names in QRCL 47
QLYPRJLOG (Application Development applying journaled changes 284
object ownership 48
Manager project log) journal 424 receiver chain break 441
procedure 46, 183
QLZALOG (license management) receiver directory
QALWUSRDMN (allow user domain
journal 424 correcting 251
objects) system value 48
QNetWare working with 442
recovering user ASP 183
restoring 264 receiving
user domain object 48
QNTC file system journal entry
what system does 47
restoring 263 DEPENT (dependent entry)
why to run 176
QPFRADJ (performance tuning) parameter 432
RCVJRNE (Receive Journal Entry)
journal 424 exit program 433
command
QPWRRSTIPL (automatic IPL after power overview 428
DEPENT (dependent entry)
restored) system value 167 using 432
parameter 432
QRCL (recovery) library Reclaim Document Library Object
exit program 433
duplicate names 47 (RCLDLO) command 257
overview 386, 428
journal 185 Reclaim Storage (RCLSTG) command
referential constraints 432
journal receiver 185 duplicate names in QRCL 47
trigger programs 432
using for recovery 185 object ownership 48
using 432
QRYDOCLIB (Query Document Library) procedure 46, 183
writing output to save media 769
command 200 QALWUSRDMN (allow user domain
RCVNETF (Receive Network File)
QSNADS (SNADS) journal 424 objects) system value 48
command 765
QSNMP (SNMP) journal 424 recovering user ASP 183
read error 297
QSOC (OptiConnect/400) subsystem user domain object 48
read/write protected disk unit
ObjectConnect 30 what system does 47
status 667
QSOCCT mode description why to run 176
Receive Journal Entry (RCVJRNE)
ObjectConnect 30 reclaiming
command
QSR (ObjectConnect) library 30 document library object (DLO) 257
DEPENT (dependent entry)
QSRLSAVF (List Save File) API 761 storage
parameter 432
QsrRestore API 261 duplicate names in QRCL 47
exit program 433
QSXJRN (database service) journal 424 procedure 46, 183
overview 386, 428
QSYSMSG message queue QALWUSRDMN (allow user
using 432
error messages 297 domain objects) system
writing output to save media 769
QSYSOPR message queue value 48
Receive Network File (RCVNETF)
error messages 297 recovering user ASP 183
command 765
QSYSWRK (subsystem monitor) user domain object 48
receiver
subsystem what the system does 47
damage recovery 464
ending 45 why to run 176
damaged journal recovery 465
QTNADDCR (add commitment control record lock
journal
resource) API 541 description 585
ASP (auxiliary storage pool) 401
QTNADDCR (Add Commitment duration 528
authority 402
Resource) API 535 record locking
changing 405, 416
QTNCHGCO (Change Commitment commitment control recovery 569
creating 399
Options) API 535 recording
deleting 406, 418
QTNRBRQD (Rollback Required) journaling environment 415
directory 442
API 535 recover
displaying 442
QTNRCMTI (Retrieve Commitment Windows server files 273
estimating size 396
Information) API 564 recover using journaled changes 462
examples 409
QTNRMVCR (remove commitment recoverable error
inoperable 444
control resource) API 541 restore operation 56
internal 407
Query Document Library (QRYDOCLIB) recovering
library 401
command 200 abnormal system end 462
managing 405
querying access path recovery times 156, 213
maximum sequence number 417
document library 200 addressability
messages 404
QUSER user profile user ASP 182
naming 399
ObjectConnect 30 configuration lists 213
resetting sequence numbers 417
damaged database files 176
restoring 422
Index 919
recovery steps 871 (continued) remote journal function (continued) Remove Journaled Changes
load source unit adding remote journal 474 (RMVJRNCHG) command (continued)
complete data loss, no user application dependent data 472 overview 428
ASP 67 asynchronous replication 481 referential constraints 445
complete data loss, user ASP not asynchronously maintained 474 trigger programs 446
overflowed 68 auxiliary storage considerations 494 two journal receivers 388
complete data loss, user ASP backup system 467 Remove Remote Journal
overflowed 72 benefits 467 (QjoRemoveRemoteJournal) API 479,
no data loss 65 catch-up 482 490
some data loss 66 caught-up 481 Remove Remote Journal (RMVRMTJRN)
mirrored protection 90 communications 470 command 490
non-load source unit communications protocols 470 removing
complete data loss, no user configuration examples 468 disk unit
ASP 78 confirmed journal entries 508 from ASP 678
complete data loss, user ASP not data replication 494 disk units 655, 656, 657, 658, 659
overflowed 79 data replication environment 494 failed disk unit 202
complete data loss, user ASP database resynchronization 497 failed unit
overflowed 82 delivery mode 472 system ASP 92
no data loss 76 displaying information 498 internal journal entries 407
some data loss 77 hot-backup 467 journaled changes 444
system ASP hot-backup application 495 overview 428
complete data loss, no user hot-backup application apply 495 referential constraints 445
ASP 78 hot-backup environment 497 trigger programs 446
complete data loss, user ASP not inactivating replication of journal journaled member 423
overflowed 79 entries 485 Rename Directory Entry (RNMDIRE)
complete data loss, user ASP introduction 467 command
overflowed 82 IPL considerations 509 restoring mail 260
removing failed unit 92 journal attributes 478 Rename Document Library Object
some data loss 77 journal entry latency 481 (RNMDLO) command
user ASP journal state 488 restoring documents 260
complete data loss, not library redirection 473, 475 renaming
overflowed 86 local journal database file
complete data loss, overflowed 88 activating 487 during restore 238
no data loss 76 inactivating 487 directory entry
some data loss 86 local system 470 restoring mail 260
user information performance considerations 492 document library object
using commands 108 planning 472 restoring documents 260
using Restore menu option 21 112 primary system 467, 470 reorganize physical file member
using Restore menu options 22 and receiver configuration 511 when applying journaled
23 114 recovery example 511 changes 455
recovery strategy remote journal reply list
disk failure 63 activating 479 restoring 157
human error 63 adding 474 reply list entry
power failure 62 inactivating 479 recovering 213
program failure 63 removing 490 reset (RST) state 565
selecting 61 remote journal network 469 resetting
system failure 63 remote journal type descriptions 476 job number counter 155
recovery time save and restore considerations 500 journal
access path 375 setting up 473 overflowed status 691
redundant failure disk unit status 668 source journal 470 overflowed user ASP 192, 193
referential constraint source system 469 resource
journaling 389 switch-back 487 placing under commitment
pending switch-over 487 control 541
editing during IPL 173 synchronous replication 480 resource, hardware
Receive Journal Entry (RCVJRNE) synchronously maintained 474 definition 667
command 432 target system 469 resource manager
restoring 245 troubleshooting 491 definition 526
release-to-release support 323 unconfirmed journal entries 508 resource not detected status
remote journal working with journal entries 505 correcting 228
activating 479 remote journal type Restore (RST) command
adding 474 descriptions 476 changed objects 281
attaching a new receiver 486 Remove Commitment Control Resource command information output
inactivating 479, 485 (QTNRMVCR) API 541 format 858
removing 490 Remove Journaled Changes directory information output
remote journal function (RMVJRNCHG) command format 859
activating replication of journal example 451 FRCOBJCVN (force object conversion)
entries 480 journal code actions 452 parameter 254
Index 921
restoring (continued) Retrieve Object Description (QUSROBJD) RSTDLO (Restore Document Library
PTF (program temporary fixes) 278 API 387 Object) command
QAPZ files 54 retrieving maximum number of DLOs 257
QGPL (general purpose) library journal entry media error 57
QAPZ files 54 overview 428 output 256
QNetWare file system 264 using 436 overview 255
QUSRSYS (user system) library RMVJRNCHG (Remove Journaled renaming document 258
QAPZ files 54 Changes) command restoring authority 259
referential constraints 245 example 451 restoring descriptive information 259
related objects 45 journal code actions 452 restoring ownership 259
save file data 255 overview 428 user ASP 200
security considerations 50 referential constraints 445 RSTLIB (Restore Library) command
security information trigger programs 446 *ALLUSR libraries 232
object authorities 219 two journal receivers 388 *IBM libraries 232
object ownership 218 RMVRMTJRN (Remove Remote Journal) *NONSYS libraries 232
ownership 218 command 490 FRCOBJCVN (force object conversion)
primary group 218 RNMDIRE (Rename Directory Entry) parameter 254
private authorities 219 command media error 56
sequence 213 restoring mail 260 multiple concurrent 233
user profiles 214 RNMDLO (Rename Document Library OPTION parameter 232
service attributes 156 Object) command overview 231
shared formats 245 restoring documents 260 user ASP 198
soft link 262 role RSTLICPGM (Restore Licensed Program)
storage agent 548 command 255
resuming 318 commit processing 548 RSTOBJ (Restore Object) command 234,
symbolic link 262 coordinator 548 271
system information 156 initiator 548 FRCOBJCVN (force object conversion)
system management objects 156 last agent 549 parameter 254
system reply list 157 participant 548 multiple concurrent 234
system values 156 rollback operation RSTUSRPRF (Restore User Profiles)
unit 299 forced 565 command 214
unsuccessful 56 implicit 573 RTVJRNE (Retrieve Journal Entry)
user-defined storage spaces 272 language support 548 command 386
user profile overview 547 overview 428
different system 217 what the system does 550 using 436
procedure 214 Rollback Required (QTNRBRQD) using in program 766
using Restore menu 207, 208 API 535
verifying success 54 rollback required (RBR) state 565
Windows server 270
restoring logical partitions 231
routing step end
commitment control during 581
S
S/36 environment
restricted state RST (reset) state 565
recovering 230
definition 45 RST (Restore) command
SAV (Save) command
starting 45 changed objects 281
command information output
restrictions command information output
format 858
availability and recovery format 858
directory information output
commitment control 591 directory information output
format 859
Resulting Capacity display 677 format 859
object link information output
resuming FRCOBJCVN (force object conversion)
format 860
mirror protection 297 parameter 254
output header format 858
mirrored unit 291 how to use 261
output information 857
restore storage 318 object link information output
output sequence 857
resuming status 668 format 860
trailer information output format 861
resynchronization output header format 858
SAVACTWAIT (save-active wait)
definition 564 output information 857
parameter
retranslation 252, 253 output sequence 857
commitment control 583
Retrieve Commitment Information restrictions 275
Save (SAV) command
(QTNRCMTI) API 564 restrictions when restoring
command information output
Retrieve Journal Entries documents 277
format 858
(QjoRetrieveJournalEntries) API 386 trailer information output format 861
directory information output
Retrieve Journal Entry (RTVJRNE) RST (Restore Object) command 271, 272
format 859
command 386 RSTAUT (Restore Authority)
object link information output
database recovery 386 command 219
format 860
overview 428 non-restricted state system 220
output header format 858
using 436 RSTCFG (Restore Configuration)
output information 857
using in program 766 command 227, 273
output sequence 857
Retrieve Journal Identifier Information
trailer information output format 861
(QJORJIDI) API 386
Index 923
SST (system service tools) starting system STRCMTCTL (Start Commitment Control)
definition 62 Disk Configuration Error Report command (continued)
options 660 display 168 notify object (NFYOBJ)
starting 662 Work with Current Main Storage parameter 530
stopping 662 Dump display 168 omit journal entries (OMTJRNE)
standard application program state (logical unit of work) parameter 540
example 615 CIP (commit in progress) 565 stream file
standard commit processing program CMT (committed) 565 output from RST (Restore)
notify objects 618 commit in progress (CIP) 565 command 857
Start Commitment Control committed (CMT) 565 output from SAV (Save)
(STRCMTCTL) command LAP (last agent pending) 565 command 857
commit scope (CMTSCOPE) last agent pending (LAP) 565 stream file, IFS
parameter 533 logical unit of work (LUW) 564 ENDJRN (End Journal)
commit text (TEXT) parameter 539 PIP (prepare in progress) 565 command 423
default journal (DFTJRN) prepare in progress (PIP) 565 Start Journal (STRJRN)
parameter 539 prepared (PRP) 565 command) 413
description 527 PRP (prepared) 565 STRJRN (Start Journal) command
LCKLVL (lock level) parameter 527 RBR (rollback required) 565 omitting open and close
notify object (NFYOBJ) reset (RST) 565 operations 413
parameter 530 rollback required (RBR) 565 using 413
omit journal entries (OMTJRNE) RST (reset) 565 STRJRNAP (Start Journal Access Path)
parameter 540 vote-read-only (VRO) 565 command
Start Journal (STRJRN) command 387 VRO (vote-read-only) 565 description 387, 412
omitting open and close status STRJRNPF (Start Journal Physical File)
operations 413 auxiliary storage pool (ASP) 667 command
using 413, 414 disk description 387
Start Journal Access Path (STRJRNAP) understanding 663 omitting open and close
command disk unit 667 operations 411
description 387, 412 display journal status 459 using 411
Start Journal Object (STRJRNOBJ) unknown load source 301 subsystem
command 387 stopping ending
using 414 dedicated service tools (DST) 662 QCALSRV (calendar server)
Start Journal Physical File (STRJRNPF) device parity protection 701 subsystem 45
command mirrored protection 723 QSYSWRK (subsystem monitor)
description 387 system service tools 662 subsystem 45
omitting open and close storage restricted state 45
operations 411 capacity using 45
using 411 save file 761 subsystem monitor (QSYSWRK)
start journaling reclaiming subsystem
for DB2 multisystem files 412 duplicate names in QRCL 47 ending 45
starting procedure 46, 183 suspended disk unit status 668
commitment control QALWUSRDMN (allow user suspended status 668
commit scope (CMTSCOPE) domain objects) system suspending
parameter 533 value 48 mirrored units 290
commit text (TEXT) recovering user ASP 183 symbolic link
parameter 539 user domain object 48 restoring 262
default journal (DFTJRN) what the system does 47 symbolic link, IFS
parameter 539 why to run 176 ENDJRN (End Journal)
notify object (NFYOBJ) unit command 423
parameter 530 not operational 297 Start Journal (STRJRN)
omit journal entries (OMTJRNE) storage capacity command) 413
parameter 540 save file 761 sync-point tree 548
parameters to specify 527 storage unit synchronization
dedicated service tools (DST) 660 not operational 297 BRMS 364
device strategy recovery considerations 297
during recovery 160 batch job recovery 760 synchronizing
device parity protection 695, 699 interactive job recovery 759 system
9337 Disk Array Subsystem 695 job recovery 759 methods overview 352
journaling STRCMTCTL (Start Commitment Control) planning and procedures 351
access path 412 command system
mirrored protection 719 commit scope (CMTSCOPE) parts 40
printer writer parameter 533 System/36 environment
during recovery 159 commit text (TEXT) parameter 539 during recovery 160
system default journal (DFTJRN) recovering 230
after abnormal end 167 parameter 539 system accounting journal entry 806
system service tools 662 description 527 system ASP
LCKLVL (lock level) parameter 527 definition 7
Index 925
user ASP (auxiliary storage pool) vote-read-only (VRO) state 565
(continued) VRO (vote-read-only) state 565
recovery procedure
load source unit loss, not
overflowed 68
load source unit loss,
W
Wait for Outcome option 554
overflowed 72
what to save 888
recovery procedures
Windows server
complete data loss, not
recovering 270
overflowed 86
Windows server files
complete data loss, overflowed 88
recovering 273
no data loss 76
work station
some data loss 86
output for journal entries 430
user auxiliary storage pool (ASP)
Work with Current Main Storage Dump
adding disk units 669
display 168
calculating space requirements 681
Work with Journal (WRKJRN) command
changing threshold 672, 673
display journal status option 459
creating 669
journal functions 386
creating document library objects
options 455
(DLOs) 689
recovery options 456
creating objects 688, 692
Work with Journal Attributes
deleting 654, 680
(WRKJRNA) command 386, 442
displaying objects 684
Work with Object Links (WRKLNK)
journal receivers 689
command 387
moving disk unit 676
working with
removing disk unit 678
access path recovery time 378
transferring objects 686
device parity protection 695
user-created journal entry 429
Disk Configuration Error Report
user data
display 168
restoring 208
journal attributes 442
User-Defined File Systems
mirrored protection 719
restoring 187
nonlibrary user ASPs 692
user domain object
receiver directory 442
reclaiming 48
Work with Current Main Storage
user-generated entry 807
Dump display 168
user information
write protected disk unit status 667
recovering
writing
choosing procedure 107
output using RCVJRNE (Receiver
using commands 108
Journal Entry) command 769
using Operational Assistant
WRKJRN (Work with Journal) command
backup 117
display journal status 459
user profile
journal functions 386
*ALLOBJ (all-object) special authority
options 455
restoring 217
recovery options 456
IBM-supplied
WRKJRNA (Work with Journal
damaged 175
Attributes) command 386, 442
moving to different system 217
restoring 214
user space
output from RST (Restore) X
command 857 XA transaction support 566
output from SAV (Save)
command 857
using
journal entries 427
V
validation value 252
variable-length portion
journal entry 821
verify object on restore (QVFYOBJRST)
system value 50
verifying
successful restore 54
vote
definition 540
Overall, how satisfied are you with the information in this book?
How satisfied are you that the information in this book is:
When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any
way it believes appropriate without incurring any obligation to you.
Name Address
Company or Organization
Phone No.
___________________________________________________________________________________________________
Readers’ Comments — We’d Like to Hear from You Cut or Fold
SC41-5304-05 Along Line
_ _ _ _ _ _ _Fold
_ _ _and
_ _ _Tape
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Please
_ _ _ _ _do
_ _not
_ _ staple
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Fold
_ _ _and
_ _ Tape
______
NO POSTAGE
NECESSARY
IF MAILED IN THE
UNITED STATES
IBM CORPORATION
ATTN DEPT 542 IDCLERK
3605 HWY 52 N
ROCHESTER MN 55901-7829
_________________________________________________________________________________________
Fold and Tape Please do not staple Fold and Tape
Cut or Fold
SC41-5304-05 Along Line
SC41-5304-05
Spine information: