| | In support of unattended tape operations, many installations that do not use |a tape management product, such as VMTAPE, have invested in tape hoppers or |stackers. The hoppers are filled with tapes and have the capability of |automatically feeding a tape drive with one tape after another without any |required operator intervention.
|Control Center does not explicitly support the use of tape hoppers. |However, Control Center can be instructed to use tape hoppers instead of tape |operators for tape mounts.
|When using a tape hopper in support of a database or Data Restore |activity, a tape hopper must be filled with the anticipated number of tapes |that are required.
|When archiving (log, full, or combination of both) begins, the database |issues a prompt requesting the virtual address of the tape device that is to |be written to. The Control Center service machine, which requires a |system privilege level of B, issues the CP command to attach the tape to the |tape hopper drive using the appropriate virtual tape address. This |causes the 'TAPE ATTACHED' message to appear on the database |console, and then archiving is allowed to start.
|Once the response is made, archiving should run to completion, using new |tapes from the hopper as required. As tapes are filled (end-of-volume |conditions), they are replaced by the next tape in the hopper stack, and the |processing continues without interruption until archiving completes.
|In the above scenario there are no explicit requests for tapes to be |mounted. This is because the tapes and the tape drive are "attached" by |Control Center. Therefore, no mount request to an operator console |should be issued.
|If you decide to use tape hoppers, then you should be aware of certain |conditions that could cause problems and potentially compromise the ability |for your database to recover.
|First, to implement tape hopper support using Control Center, you must |disable non-hopper archiving capability. This could potentially be a |problem when the database needs to perform implicit archiving and the tape |hopper has not been readied because archiving was not anticipated.
|Second, which tapes are stacked relies heavily on operator interface to |provide the correct tapes when filling the hopper. Without a tape |management system checking for the specific identifiers of tapes, you could |potentially overlay previously used archive tapes.
|Implementing tape hopper support consists of changes to the system |privilege levels, PARMS files, SQLMSTR CONTROL file, and modifications to the |SQMOUNT and SQMSTAPE execs.
|These steps should be followed when establishing tape hopper support:
|
|QUERY PRIV |Privilege classes for user C990610 | Currently: G | Directory: G
Note: | Dual BACKUP, TRANSLATE and database TRACE MUST use TWO tape hoppers because two tapes are mounted at the same time. |
|If you have been using a tape management product, such as VMTAPE, that uses |the DMSTVI tape exit (DMSTVI MODULE), then the DMSTVI tape exit may be loaded |into the nucleus of every machine that has performed tape mounts. To |remove DMSTVI from the nucleus, enter the following command while logged onto |the database, Control Center and Data Restore machines:
|NUCXDROP DMSTVI
|Caution:
|The entries in the TAPES file are always sorted and the VOLID name is one of
|the sort factors. In the example below, VOLID1 is ALWAYS sorted before
|VOLID2 regardless of the order in which you put the volids into the TAPES
|file.
|100 ARCHIVE 00000 00:00:00 UNUSED VOLID1
|100 ARCHIVE 00000 00:00:00 UNUSED VOLID2
|
|You can modify the SQMOUNT EXEC and SQMSTAPE EXEC to control when the |tape hopper is used and when the mount command is sent to the tape |operator. For example, the following code sets the 'hopper' |flag only when the time is between 18:00 in the evening and 08:00 |in the morning, or when it is the weekend:
|hopper_start = '18:00' |hopper_end = '08:00' |cur_time = substr( time(),1,5) |if ( cur_time >= hopper_start & cur_time <= '24:00' ) , | ( cur_time <= hopper_end & cur_time >= '00:00' ) then | hopper = 1 |else | hopper = 0 | |dow = date('w') |if wordpos( dow , 'SATURDAY SUNDAY') then | hopper = 1
|The following steps are to be followed when disabling tape hopper |support: |