Handling Primary System Failures [ Silhouette Reference Manual ] MPE/iX 5.0 Documentation
Silhouette Reference Manual
Handling Primary System Failures
A primary system failure can be an operating system failure or a failure
of some component of the computer system such as a disc drive. The type
of problem dictates the recovery procedure to follow.
The procedures described below provide information on recovering from
primary system (SYSTEM A) failures. There are instructions for
recovering from minor system failures and major system failures on SYSTEM
A.
Handling Primary System Minor Failures
It is considered a minor failure if the databases on SYSTEM A are intact
and have not suffered any damage. This is the case only if no one was
using the databases in an update or modify mode when the failure occurred
or ROLLBACK was enabled and the disc drives where the databases reside
are operational.
To determine if any users were accessing the database when the failure
occurred, enter :RUN DBUTIL.PUB.SYS, and use the DBRECOV control stats
option for a report on database activity from the logfile:
* If no users were accessing the database when the failure occurred,
resume Silhouette after MPE has been recovered.
* If any users were accessing the database when the failure occurred,
data integrity is not guaranteed. Unless ROLLBACK RECOVERY was
enabled, procedures for recovering from a major failure must be
followed.
Refer to the TurboIMAGE Reference Manual (32215-90050) for information on
generating this report.
If the database is known to be intact, resume Silhouette after MPE has
been recovered. The following procedure is also appropriate if you know
that all modifications have been logged:
1. On SYSTEM A restart MPE.
2. On SYSTEM A resume logging:
:LOG logid, RESTART
3. On SYSTEM A resume Silhouette:
:RUN SILMP.PUB.SYS
>START configfile
4. Notify users they may resume accessing the database.
Handling Primary System Major Failures
It is considered a major failure if the database on SYSTEM A is not
intact. This occurs if the database was being modified in any way when
the system failure occurred.
The recovery methods are different for systems without automatic
CHANGELOG activated and those with automatic CHANGELOG activated.
Additionally, the recovery methods are different depending on how quickly
the databases need to be made available to users. Turn to the section
which describes the method most appropriate to your system and
circumstances:
* Fast Recovery on Systems Without Automatic CHANGELOG.
* Slow Recovery on Systems Without Automatic CHANGELOG.
* Fast Recovery on Systems With Automatic CHANGELOG.
* Slow Recovery on Systems With Automatic CHANGELOG.
Fast Recovery on Systems Without Automatic CHANGELOG. Follow the steps
listed below to perform a Fast Recovery on systems without automatic
CHANGELOG activated:
1. On SYSTEM B run the Manager Program (MP) and issue a >SYSTEM
command, followed by a >SWITCH command:
:RUN SILMP.PUB.SYS
>SYSTEM configfile
>SWITCH
This causes Silhouette to terminate and produce a report on the
status of each user of the database.
2. On SYSTEM B store the logfile and the SAVE file to tape. When a
>SWITCH command is entered, the logfile is renamed to zog (the
letter z plus the rest of the current logfile name) and the SAVE
file is renamed to zave (the letter z plus the rest of the current
SAVE file name). If storing these files would take too long,
store them later, after allowing users access to the database:
:FILE T;DEV=TAPE
:STORE zogfile,zavefile.group.account;*T;SHOW
3. On SYSTEM B build a new logfile:
:BUILD logfl.group.account;CODE=LOG;DISC=10000,10,10
4. On SYSTEM B start logging (ensure that all Silhouette databases
are enabled for logging using the DBUTIL ENABLE command):
:LOG logid, START
5. On SYSTEM B notify users they may resume accessing the database.
Depending on your system, this may require that you manually
switch user terminals from SYSTEM A to SYSTEM B.
6. On SYSTEM B if the zog and zave files were not stored to tape in
Step 2, do so now:
:FILE T;DEV=TAPE
:STORE zogfile,zavefile.group.account;*T;SHOW
7. On SYSTEM B ensure that the DS lines to SYSTEM A are closed using
the NSCONTROL command, if you are using NS/LAN, or the DSCONTROL
command, if you are using NS/DS or DS/3000 lines:
:NSCONTROL SYSTEMA; STOP
Or:
:DSCONTROL SYSTEMA; SHUT
:RUN SILMP.PUB.SYS
>RELEASE dslines
8. On SYSTEM B start Silhouette:
:RUN SILMP.PUB.SYS
>START configfile
9. On SYSTEM B the Communication Process (CP) will request a tape for
storing the records it cannot send to SYSTEM A, if an appropriate
MAXRECS high water mark value was set. Mount the tape and respond
to the tape request at the System Console:
:REPLY nn,y
10. On SYSTEM A restore the database file and the SAVE file from the
last backup of SYSTEM B:
:FILE T;DEV=TAPE
:RESTORE dbname,savefile;*T;SHOW
a. If the backup was performed at the beginning of a log cycle,
purge or rename the SAVE file:
:PURGE savefile
Or:
:RENAME savefile,newfilename
b. If the backup was performed during a log cycle the SAVE file
is preserved.
11. On SYSTEM A restore the zogfile from the tape created in Step 2 or
Step 6:
:FILE T;DEV=TAPE
:RESTORE zogfile;*T;SHOW
12. On SYSTEM A purge or rename the old logfile:
:PURGE logfile
Or:
:RENAME logfile,newfilename
13. On SYSTEM A rename the zog file to the name of the original
logfile:
:RENAME zogfile,oldfilename
14. On SYSTEM A run the MP and issue a >SYSTEM command to specify the
configuration file name:
`:RUN SILMP.PUB.SYS
`>SYSTEM configfile
15. On SYSTEM A recover Silhouette from the MP:
>RECOVER
Answer no to the MP tape request indicating no Silhouette tape of
untransmitted logfile records is to be added to the logfile on
SYSTEM A. The MP brings the database and logfile up-to-date and
produces a report showing the last complete transaction for each
user of the database and any incomplete transactions which it
removed from the logfile. The MP renames the log and SAVE files
to zog and zave again. The backup database is now in exactly the
same state as the system currently in use before the users began
entering transactions.
16. On SYSTEM A build a new logfile identical to the logfile on SYSTEM
B:
:BUILD logfl.group.account;CODE=LOG;DISC=10000,10,10
17. Open the DS lines for both SYSTEM A and SYSTEM B using the
NSCONTROL command, if you are using NS/LAN, or DSCONTROL, if you
are using NS/DS or DS/3000 lines:
:NSCONTROL SYSTEMA; START
Or:
:DSCONTROL SYSTEMA; OPEN
:RUN SILMP.PUB.SYS
>USE dslines
Silhouette duplication now occurs automatically, but in the
reverse direction.
Slow Recovery on Systems Without Automatic CHANGELOG. Follow the steps
listed below to perform a Slow Recovery on systems without automatic
CHANGELOG activated:
1. On SYSTEM B run the Manager Program (MP) and issue a >SYSTEM
command, followed by a >SWITCH command:
:RUN SILMP.PUB.SYS
>SYSTEM configfile
>SWITCH
This causes Silhouette to terminate and produce a report on the
status of each user of the database.
2. On SYSTEM B store the database, logfile, and SAVE file to tape.
When a >SWITCH command is entered, the logfile is renamed to zog
(the letter z plus the rest of the current logfile name) and the
SAVE file is renamed to zave (the letter z plus the rest of the
current SAVE file name). If it would take too long to store the
zogfile and zavefile, store them later, after allowing users
access to the database.
:FILE T;DEV=TAPE
:STORE dbname,zogfile,zavefile.group.account;*T;SHOW
3. On SYSTEM B build a new logfile:
:BUILD logfl.group.account;CODE=LOG;DISC=10000,10,10
4. On SYSTEM B start logging (ensure that all Silhouette databases
are enabled for logging using the DBUTIL ENABLE command):
:LOG logid, START
5. On SYSTEM B notify users they may resume accessing the database.
Depending on your system, this may require that you manually
switch user terminals from SYSTEM A to SYSTEM B.
6. On SYSTEM B if the zog and zave files were not stored to tape in
Step 2, do so now:
:FILE T;DEV=TAPE
:STORE zogfile,zavefile.group.account;*T;SHOW
7. Ensure that the DS lines from SYSTEM B to SYSTEM A are closed
using the NSCONTROL command, if you are using NS/LAN, or the
DSCONTROL command, if you are using NS/DS or DS/3000 lines:
:NSCONTROL SYSTEMA; STOP
Or:
:DSCONTROL SYSTEMA; SHUT
:RUN SILMP.PUB.SYS
>RELEASE dslines
8. On SYSTEM B start Silhouette:
:RUN SILMP.PUB.SYS
>START configfile
9. On SYSTEM B, the Communication Process (CP) will request a tape
for storing the records it cannot send to SYSTEM A, if an
appropriate MAXRECS high water mark value has been set. Mount the
tape and respond to the tape request at the System Console:
:REPLY nn,y
10. On SYSTEM A restore the database file from the SYSTEM B backup
tape which was made after the >SWITCH command:
:FILE T;DEV=TAPE
:RESTORE dbname@;*T;SHOW
11. On SYSTEM A build a new logfile identical to the logfile on
:BUILD logfl.group.account;CODE=LOG;DISC=10000,10,10
12. On SYSTEM A purge any existing SAVE files.
13. Open the DS lines on both SYSTEM A and SYSTEM B using the
NSCONTROL command (if you are using NS/LAN), or the DSCONTROL
command (if you are using NS/DS or DS/3000 lines):
:NSCONTROL SYSTEMA; START
Or:
:DSCONTROL SYSTEMA: OPEN
:RUN SILMP.PUB.SYS
>USE dslines
Silhouette duplication now occurs automatically, but in the
reverse direction.
Fast Recovery on Systems With Automatic CHANGELOG. Follow the steps
listed below to perform a Fast Recovery on systems with automatic
CHANGELOG activated:
1. On SYSTEM B run the Manager Program (MP) and issue a >SYSTEM
command, followed by a >SWITCH command:
:RUN SILMP.PUB.SYS
>SYSTEM configfile
>SWITCH
This causes Silhouette to terminate and produce a report on the
status of each user of the database.
2. On SYSTEM B store the logfiles and the SAVE file to tape:
:FILE T;DEV=TAPE
:STORE zog001,zog002...zognnn.group.account;*T;SHOW
When a >SWITCH command is entered, the logfile is renamed to zog
(the letter z plus the rest of the current logfile name) and the
SAVE file is rename to zave (the letter z plus the rest of the
current SAVE file name).
When TurboIMAGE automatic CHANGELOG is active, all the logfiles in
the set are renamed to zog. For example, log001 to log008 are
renamed zog001 to zog008.
If it would take too long to store the zogfiles and the zavefile,
store them later, after allowing users access to the database.
3. On SYSTEM B build a new logfile. When TurboIMAGE automatic
CHANGELOG is active, reset the logfile sequence number if it is
currently greater than 001, using the :GETLOG and :LISTLOG
commands. If necessary, build a new logfile beginning with
sequence 001:
:RELLOG logid
:GETLOG logproc;LOG=log001.group.account,DISC;AUTO
:BUILD log001.group.account;CODE=LOG;DISC=10000,10,10
It is necessary to specify the AUTO keyword of the :GETLOG command
to maintain AUTO CHANGELOG on the system. If it is not specified,
the default, AUTO CHANGELOG OFF will be in effect.
4. Start logging (ensure that all Silhouette databases are enabled
for logging using the DBUTIL ENABLE command):
:LOG logid, START
5. On SYSTEM B notify users they may resume accessing the database.
Depending on your system, this may require that you manually
switch user terminals from SYSTEM A to SYSTEM B.
6. On SYSTEM B if the zog and zave files were not stored to tape in
Step 2, do so now:
:FILE T;DEV=TAPE
:RESTORE zavefile,zog001...zognnn;*T;SHOW
7. Ensure that the DS lines from SYSTEM B to SYSTEM A are closed
using the NSCONTROL command (if you are using NS/LAN), or the
DSCONTROL command (if you are using NS/DS or DS/3000 lines):
:NSCONTROL SYSTEMA; STOP
Or:
:DSCONTROL SYSTEMA; SHUT
:RUN SILMP.PUB.SYS
>RELEASE dslines
8. On SYSTEM B start Silhouette:
:RUN SILMP.PUB.SYS
>START configfile
9. On SYSTEM B, the Communication Process (CP) will request a tape
for storing the records it cannot send to SYSTEM A, if an
appropriate MAXRECS high water mark value has been set. Mount the
tape and respond to the tape request at the System Console:
:REPLY nn,y
10. On SYSTEM A restore the database file and the SAVE file from the
last backup of SYSTEM B:
:FILE T;DEV=TAPE
:RESTORE dbname@,savefile;*T;SHOW
a. If the backup was performed at the beginning of a log cycle,
purge or rename the SAVE file:
:PURGE savefile
Or:
:RENAME savefile,newfilename
b. If the backup was performed during a log cycle the SAVE file
is preserved.
11. On SYSTEM A restore all files in the zog### set:
:FILE T;DEV=TAPE
:RESTORE zog001...zognnn;*T;SHOW
12. On SYSTEM A purge or rename all logfile names in the sequence:
:RENAME logfilename,newfilename
13. On SYSTEM A change all logfiles in the zog### set back to their
original names:
:RENAME zogfilename,logfilename
14. On SYSTEM A run the MP and program and use the >SYSTEM command to
specify the configuration file name:
:RUN SILMP.PUB.SYS
>SYSTEM configfile
15. On SYSTEM A recover Silhouette from the MP:
>RECOVER
Answer no to the MP tape request indicating there is no Silhouette
tape of untransmitted logfile records to be added to the logfile
on SYSTEM A. The MP brings the database and logfile up-to-date and
produces a report showing the last complete transaction for each
user of the database and any incomplete transactions which it
removed from the logfile. The MP renames the log and SAVE files
to zog and zave again. The backup database is now in exactly the
same state as the system currently in use before the users began
entering transactions.
16. On SYSTEM A build a new logfile identical to the logfile on SYSTEM
B:
:BUILD log001.group.account;CODE=LOG;DISC=10000,10,10
17. Open the DS lines for both SYSTEM A and SYSTEM B using the
NSCONTROL command (if you are using NS/LAN), or the DSCONTROL
command (f you are using NS/DS or DS/3000 lines):
:NSCONTROL SYSTEMA; START
Or:
:DSCONTROL SYSTEMA; OPEN
:RUN SILMP.PUB.SYS
>USE dslines
Silhouette duplication now occurs automatically, but in the
reverse direction.
Slow Recovery on Systems With Automatic CHANGELOG. Follow the steps
listed below to perform a Slow Recovery on systems with automatic
CHANGELOG activated:
1. On SYSTEM B run the Manager Program (MP) and issue a >SYSTEM
command, followed by a >SWITCH command:
:RUN SILMP.PUB.SYS
>SYSTEM configfile
>SWITCH
This causes Silhouette to terminate and produce a report on the
status of each user of the database.
2. On SYSTEM B store the database, logfile, and SAVE file to tape:
:FILE T;DEV=TAPE
:STORE dbname,zogfile,zavefile.group.account;*T;SHOW
When a >SWITCH command is entered, the logfile is renamed to zog
(the letter z plus the rest of the current logfile name) and the
SAVE file is renamed to zave (the letter z plus the rest of the
current SAVE file name). If it would take too long to store the
zogfile and zavefile, store them later, after allowing users
access to the database. When TurboIMAGE automatic CHANGELOG is
active, all the logfiles in the set are renamed to zog. For
example, log001 to log008 are renamed zog001 to zog008.
3. On SYSTEM B build a new logfile. When TurboIMAGE automatic
CHANGELOG is active, reset the logfile sequence number if it is
currently greater than 001, using the RELLOG and :GETLOG commands.
If necessary, build a new logfile beginning with sequence 001:
:RELLOG logid
:GETLOG logproc;LOG=log001.group.account,DISC,AUTO
:BUILD log001.group.account;CODE=LOG;DISC=10000,10,10
It is necessary to specify the AUTO keyword of the :GETLOG command
to maintain AUTO CHANGELOG on the system. If it is not specified,
the default, AUTO CHANGELOG OFF will be in effect.
4. Start logging (ensure that all Silhouette databases are enabled
for logging using the DBUTIL ENABLE command):
:LOG logid, START
5. On SYSTEM B notify users they may resume accessing the database.
Depending on your system, this may require that you manually
switch user terminals from SYSTEM A to SYSTEM B.
6. On SYSTEM B if the zogfiles and zavefile were not stored to tape
in Step 2, do so now:
:FILE T;DEV=TAPE
:RESTORE zavefile,zog001...zognnn;*T;SHOW
7. Ensure that the DS lines from SYSTEM B to SYSTEM A are closed
using the NSCONTROL command (if you are using NS/LAN), or the
DSCONTROL command (if you are using NS/DS or DS/3000 lines):
:NSCONTROL SYSTEMA; STOP
Or:
:DSCONTROL SYSTEMA; SHUT
:RUN SILMP.PUB.SYS
>RELEASE dslines
8. On SYSTEM B start Silhouette:
:RUN SILMP.PUB.SYS
>START configfile
9. On SYSTEM B, if an appropriate MAXRECS high water mark value has
been set, the Communication Process (CP) will request a tape for
storing the records it cannot send to SYSTEM A. Mount the tape and
respond to the tape request at the System Console:
:REPLY nn,y
10. On SYSTEM A restore the database file from SYSTEM B backup tape
that was made after the >SWITCH command:
:FILE T;DEV=TAPE
:RESTORE dbname;*T;SHOW
11. On SYSTEM A build a new logfile identical to the logfile on SYSTEM
B:
:BUILD log001.group.account;CODE=LOG;DISC=10000,10,10
12. On SYSTEM A purge any existing SAVE files.
13. Open the DS lines for both SYSTEM A and SYSTEM B using the
NSCONTROL command (if you are using NS/LAN), or the DSCONTROL
command (if you are using NS/DS or DS/3000 lines):
:NSCONTROL SYSTEMA; START
Or:
:DSCONTROL SYSTEMA; OPEN
:RUN SILMP.PUB.SYS
:USE dslines
Silhouette duplication now occurs automatically, but in the
reverse direction.
Returning Systems to Original Roles
After all systems are back to normal, you will probably return the
systems to their original roles as primary and secondary, that is, with
Silhouette occurring in the original direction before the >SWITCH
command. The procedure for doing this is different for systems without
automatic CHANGELOG activated and those with automatic CHANGELOG
activated. Both procedures follow.
Returning Systems Without Automatic CHANGELOG to Original
Roles.
1. Notify all users to stop accessing the database on SYSTEM B.
2. Use the >STATUS command to ensure that all records have been sent
by the Silhouette transport mechanism from SYSTEM B to SYSTEM`A.
This is true when the LOGFILE record # = values for both systems
are equal; DATABASE opens = 0 and outstanding = 0.
3. Stop Silhouette.
4. Stop the logging process.
5. Disable the SYSTEM B database for logging.
6. Store the logfile from SYSTEM B to tape.
7. Restore the SYSTEM B logfile to SYSTEM A.
8. Store the SAVE file from SYSTEM A to tape.
9. Restore the SAVE file from Step 8 to SYSTEM B.
10. Enable the database for logging on SYSTEM A.
11. Resume system logging on SYSTEM A.
12. Notify users they may resume accessing the database.
13. Start Silhouette. SYSTEM A is now the primary once again.
Returning Systems With Automatic CHANGELOG to Original
Roles.
1. Notify all users to stop accessing the database on SYSTEM B.
2. Use the >STATUS command to ensure that all records have been sent
by the Silhouette transport mechanism from SYSTEM B to SYSTEM`A.
3. Stop Silhouette.
4. Stop the logging process.
5. Disable the SYSTEM B database for logging.
6. Issue a :RELLOG and :GETLOG if the logfile sequence number needs
to be reset back to sequence 001 on SYSTEM A.
7. Purge all logfiles in the sequence, and build a new logfile with
sequence number 001 on both systems.
8. Purge the SAVE file from SYSTEM A.
9. Enable the database for logging on SYSTEM A.
10. On SYSTEM A restart system logging.
11. Notify users they may resume accessing the database.
12. Perform a backup of SYSTEM B to keep logfiles and databases in
sequence.
13. Purge the SAVE file and all logfiles in the series or rename them.
Then build a new logfile ending in 001.
14. Start Silhouette. SYSTEM A is now the primary once again.
MPE/iX 5.0 Documentation