HP 3000 Manuals

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