Skip to content

Chapter 7: Snapshot

This chapter explains what the Databridge Snapshot Accessory is and how to use it.

How Snapshot Works

The Databridge Snapshot Accessory takes an image of specified data sets in a DMSII database and places the images in host data files (to DISK or TAPE), as follows:

Note the following when using Snapshot:

  • Each run of Snapshot lets you clone an unlimited number of data sets in a single DMSII database.
  • Snapshot does not support links and will discard any link values it receives.
  • To update the cloned database, you must reclone entire data sets. Alternatively, you can create a fixed-up extraction of the database using Snapshot and then use Span to do the updates. See Chapter 6: Span for more information.

Snapshot WFL.

You can modify the WFL/DATABRIDGE/SNAPSHOT file for the following:

  • STARTTIME
  • QUEUE—If, for example, you want Snapshot to enter the system through job queue 10, you must modify the WFL to include the QUEUE (or CLASS) = 10 declaration.
  • BDNAME—This is the default file naming convention for the printer file. The name of the printer file that is generated by default is DBBD/RUN/SNAPSHOT/dbname.

Run the Snapshot Accessory

You must run Snapshot two times to clone a database, as follows:

  • First, to create a parameter file for the database you specify
  • Second, to actually perform the cloning

For subsequent runs of Snapshot, however, you can use the existing Snapshot parameter file for the database you are cloning. In other words, once you run Snapshot to create the parameter file, you do not need to create the parameter file again.

To replicate a DMSII database using Snapshot

  1. From CANDE, start Snapshot by entering one of the following commands. You must include the quotation marks.

    START WFL/DATABRIDGE/SNAPSHOT ("databasename" [,"logicaldatabasename"])

    Where Is
    "databasename" The title of the DESCRIPTION file without the DESCRIPTION node. Quotation marks are required. The database name can include a usercode and pack, which are used to locate the database DESCRIPTION file, as follows: "(usercode)databasename ON packname"

    For example,

    START WFL/DATABRIDGE/SNAPSHOT ("(PROD)INVENTORY ON DEVPACK")

    creates a parameter file called DATA/SNAPSHOT/INVENTORY/CONTROL

    When you enter just a database name, Snapshot creates a parameter file named as follows:(usercode)DATA/SNAPSHOT/databasename/CONTROL ON familyname
    "logicaldatabasename" An optional name of a logical database when you want to do one of the following:
    • Clone the data sets and data items in the logical database instead of in the original database.
    • Create an alternate parameter file for the physical database, which is useful when you want to generate multiple support libraries for the same database but with different parameter files.

    When you enter a logical database name:
    • Snapshot uses DATA/SNAPSHOT/dbname/ldbname/ CONTROL as the title of the parameter file, if it exists.
    • Otherwise, Snapshot uses DATA/SNAPSHOT/ldbname/CONTROL as it did in previous releases, if it exists.
    • Otherwise, if neither file exists, Snapshot creates one titled DATA/SNAPSHOT/dbname/ldbname/CONTROL

    The logical database name provides a means for having multiple parameter files for the same database. If ldbname is the name of a logical database within the dbname database, Snapshot uses that logical database. If not, it uses ldbname to specify an alternate parameter file.
  2. Use CANDE to edit the Snapshot parameter file to specify which data sets to clone and where to locate output files.

    • Modify the first part (Snapshot options) using the descriptions of the options listed in Snapshot Parameter File.
    • Modify the second part (each data set in the database) to reflect only the data sets you want to replicate. To do so, delete the comment sign (%) that precedes the name of the data set you want to clone.
  3. Run Snapshot again using the same command you used in step 1:

    This time, Snapshot uses the Snapshot parameter file, clones the DMSII data, and outputs it according to the options you set.

  4. While Snapshot is working, you can display the number of records extracted and skipped as well as the current audit location and audit time by issuing an AX STATUS command. See Snapshot Commands for instructions.

    Note

    If the following message appears, "Databridge Engine: >> [0027] datasetname does not have a set with a unique key <<" and there are components of the data set that can form a unique key, you can create a primary key. See Creating a Primary Key for more information. Once you define the primary key, Snapshot will be able to clone the data set.

  5. Once the Snapshot Accessory is finished, transport (download, copy to tapes, etc.) the DATA/SNAPSHOT/databasename/datasetname files or DATA/SNAPSHOT/logicaldatabasename/datasetname files to the client system and load the data into the target database.


Snapshot Commands.

AX STATUS To display the number of records extracted and skipped as well as the current audit location and audit time, enter the following:

mixnumber AX STATUS

where mixnumber is the mix number of the Snapshot Accessory.

The following is an example of when Snapshot is in the process of cloning:

8989 20:24 DBSnapshot: 84437 records extracted (0 filtered out)

The number of records filtered out are the result of a filter condition, if one exists.
AX QUIT If for some reason you don’t want Snapshot to complete, enter the following command: mixnumber AX QUIT

where mixnumber is the mix number of OBJECT/DATABRIDGE/SNAPSHOT. The AX QUIT command causes Snapshot to terminate at the next quiet point. After you enter the AX QUIT command, Snapshot displays the message Terminating at next quiet point.
AX HELP To display the available Snapshot AX commands, enter the following: mixnumber AX HELP

where mixnumber is the mix number of Snapshot.

Snapshot Parameter File

Snapshot reads a parameter file to determine which data sets to clone, which formatting routine to use, etc.

Note the following for the format of the Snapshot parameter file:

  • The options in the parameter file can be in any order.
  • You can list multiple parameters on a single line.
  • You can split parameters across multiple lines.
  • There is no termination character.
  • There is no continuation character.
  • The comment character is the percent sign (%). The comment character can appear anywhere on a line and anything after the comment character is ignored.
  • If you have a file name or family name that is the same as a parameter file keyword, enclose the file name or family name in quotation marks. For example, if you have a family named SUPPORT (which is also the name of an option in the Snapshot parameter file) and you want to enter that for the OUTPUT option, enclose SUPPORT in quotation marks, as follows:

    OUTPUT CUSTDATA/REPORTS ON "SUPPORT"

    This means that the default destination is a family called SUPPORT. - All parameters are optional except for the list of data sets.

The remainder of this section describes the syntax and semantics of each parameter. Parameters are listed in the same order as they are listed in the parameter file.


OUTPUT.

Syntax: OUTPUT directoryname
OUTPUT directoryname ON familyname
OUTPUT ON TAPE

Use the following table as a guide when you want to use the OUTPUT option.

Option Description
OUTPUT directoryname Write all the files to the specified directory. The default pack is DISK.

Optionally, you can add a slash(/) or a slash with an equals sign (/=).
OUTPUT directoryname ON familyname Write all files to the specified directory on the specified pack. The FAMILY substitution statement applies to the pack you designate.
OUTPUT ON TAPE Write all output to tape.
OUTPUT NUL Snapshot will not write any records as output, but it will perform the data validation checks. Use this option to generate a report of records having data errors but not actually write the data files containing the records.

SPAN ENTRIES

Syntax: SPAN ENTRIES filename

where filename is the name of the Span parameter patch file.

This parameter writes all audit location information that is compatible with Span to a single file, rather than creating separate patch files for each cloned data set. You can insert this patch file (by default, DATA/SNAPSHOT/databasename/SPANCONTROL) into the Span parameter file and use Span to continue replicating those data sets.

If SPAN ENTRIES is not specified, Snapshot writes the audit location information to individual patch files, one for each data set. You can insert one or more of these patch files into the Span parameter file for continued replication. This technique may be more suitable for situations where you run Snapshot for different groups of data sets because the audit location information from one group will not erase the information for another group.


TRANSFORM

Syntax: TRANSFORM transformname

where transformname is the name of a GenFormat transform routine that you have created. To create a transform routine, see Transforms.

This option specifies the name of a transform routine, which is an entry point in the Support Library. The Snapshot Accessory calls the transform in the Support Library for each data set record. Your entry for “SUPPORT” determines which tailored support library Snapshot calls.


READER

Syntax: READER ["readerlibrary"] USING "readerparam"

where readerlibrary is the title of a Databridge FileXtract Reader library and readerparam is the directory where the flat files you want to replicate are located.

This parameter enables you to specify a FileXtract Reader library and the directory of the flat files you want to replicate, as in the following example:

READER "OBJECT/FILEBRIDGE/READER/BANKFILE" USING "DATA/LOAD/SAMPLE/DATABASE"


FORMAT

Syntax: FORMAT formatname

where formatname is the name of a GenFormat formatting routine that you have created. To create a format, see Creating a Format.

This option specifies the name of a formatting procedure, which is an entry point in the Support Library. Snapshot calls the format in the Support Library for each data set record. Your entry for “SUPPORT” determines which library Snapshot calls.

If you use FIXEDFORMAT (or a similar format), you might want to set the DATACHECK format option to FALSE for improved performance. See FORMAT Options for more information.


FILTER

Syntax: FILTER filtername

where filtername is the name of a GenFormat filtering routine that you have created. To create a filtering routine, see Creating a Format.

This option specifies the name of a filtering procedure, which is an entry point in a tailored support library. Snapshot calls the filter in the tailored support library for each data set record. Your entry for SUPPORT determines which tailored support library Snapshot calls.


SUPPORT

Syntax: SUPPORT title

If you are using a tailored support library, type the name of the tailored support library for the database you are replicating. The transform name you enter for TRANSFORM, the format name you enter for FORMAT and the filter name you enter for FILTER must be compiled in the tailored support library you specify for SUPPORT. If you have not created a tailored support library yet, see Understanding DBGenFormat.

Otherwise, if you don’t enter a SUPPORT title, it is automatically entered the first time you run Snapshot. Snapshot looks for Support Libraries in this order:

OBJECT/DATABRIDGE/SUPPORT/dbname/ldbname
OBJECT/DATABRIDGE/SUPPORT/dbname
OBJECT/DATABRIDGE/SUPPORT

If a tailored support library for the database exists when Snapshot creates the parameter file, it will set the SUPPORT option to the title of that tailored library.

If the DMSII database update level changes, Snapshot will detect the update level mismatch and attempt to recompile the support library.


SORT

Syntax: SORT DISKFACTOR n SORT MEMORY nnnnnn SORT DISKFACTOR n MEMORY nnnnnn

Use the following table as a guide when you want to use the SORT parameter.

Option Description
SORT DISKFACTOR n where DISKFACTOR n is used to calculate the amount of temporary disk space for SORTing, as follows:

sortdiskspace:= diskfactor * filesize

In most cases, a DISKFACTOR of 2 is sufficient.

Example: SORT DISKFACTOR 2
SORT MEMORY nnnnnn where MEMORY nnnnnn is the amount of main memory in A Series words that SORT can use.

Example: SORT MEMORY 85000

You can put both DISKFACTOR and MEMORY on the same line, as in the following example:

SORT DISKFACTOR 3 MEMORY 200000


STOP AFTER

Syntax: STOP AFTER time STOP AFTER time ON stopdate STOP AFTER time ON + days

Where Is
time The audit file time in one of the following formats:
  • hh:mm Hours and minutes in 24-hour format. For example, 13:15 for 1:15 PM
  • hh:mm AM Hours and minutes in clock time. For example, 10:00 AM
  • hh:mm PM Hours and minutes in clock time. For example, 10:00 PM
ON stopdate A date in the following format:
  • mm/dd/yyyy: Month, day, and four-digit year. For example, STOP AFTER 8:15 AM ON 12/9/2012
ON + days Any integer greater than zero, which represents the number of days after Snapshot started running. For example,

STOP AFTER 9:30 AM ON +1

means that Snapshot should try to make its data files match the way the DMSII database will look at 9:30 AM on the day after Snapshot started running.

The STOP AFTER parameter provides an “effective time” for Snapshot to stop requesting updates. In other words, Snapshot requests updates until it encounters the QPT (quiet point) after the time you specify. By default, STOP AFTER does not appear in the parameter file. If you want to use it, you must type it in the Snapshot parameter file.

Note

This parameter only works with online clones. Since an offline clone prevents any updating, there can be no audit to read to bring the database to a particular time. If you configure the STOP AFTER parameter and specify an offline clone, Snapshot ignores the STOP AFTER parameter and reports the stop point as the following:

Stop Point = (ignored for offline clone)

Time in the STOP command refers to the time the update occurred on the primary system, not the current time of day.

The “+ days” is in relation to the Snapshot start date. For example, when Snapshot starts, it calculates an audit location STOP date based on the current date plus the “+ days” parameter. Snapshot stops when it reaches an audit location from the primary system with this calculated date.

Example:

If you enter the following:

STOP AFTER 11:30 PM

Snapshot will request updates until it sees the QPT after 11:30 PM, even if Snapshot starts at 10:05 PM and completes the extract at 10:45 PM. The data in the Snapshot data files will match the database as of 11:30 PM.

REPORT

Syntax: REPORT reportoptions

When the formatting routines detect a data error, Snapshot writes a description of the error to a file. The REPORT option controls the types of data errors that Snapshot writes to its report file during its run. Your selections are identified by the label “Data errors” in the Snapshot report file. For more information about the Snapshot report file, see “Snapshot Report File” on page160.

Important

The formatting routines apply the data error options when you are using a TEXT or BINARY formatting routine generated by GenFormat such as COMMAFORMAT or FIXEDFORMAT.

RAW format routines do not use the data error options.

User-written formatting routines do not use the data error options.

You can specify any combination of the following reportoptions after the literal REPORT.

reportoptions Description
INVALID NUMBERS Snapshot checks for the following error conditions:
  • Invalid signs
  • Overflows
  • Undigits
INVALID TEXT Snapshot writes all invalid text to the report. Invalid text is any text that has unreadable characters in an ALPHA data item.
NULL NUMBERS NOTE: This option is provided for sites that want to ensure that none of their data items have a NULL value. For these sites, a NULL value would be invalid data. Other sites use the NULL value to indicate undefined data; in this case, the NULL value is not invalid data.

Snapshot writes all null numbers to the report. A null number is the value defined in the DASDL to be NULL for that numeric (NUMBER or REAL) data item. If the DASDL does not explicitly specify a NULL value for a data item, the NULL value is all bits turned on.
NULL TEXT NOTE: This option is provided for sites that want to ensure that none of their data items have a NULL value. For these sites, a NULL value would be invalid data. Other sites use the NULL value to indicate undefined data; in this case, the NULL value is not invalid data.

Snapshot writes all null text to the report. Null text is the value defined in the DASDL to be NULL for that ALPHA data item. If the DASDL does not explicitly specify a NULL value for a data item, the NULL value is all bits turned on.

The internal name of the Snapshot report file is MSGFILE and it defaults to a printer backup file named as follows:

(usercode)DBBD/RUN/SNAPSHOT/databasename/job number/tasknumber/000MSGFILE

You can file equate MSGFILE to some other device in WFL/DATABRIDGE/SNAPSHOT. The location of the printer backup file depends on the configuration at your site.


WORKERS

Syntax: WORKERS number

where number is a number from 1 to 10. The default is 1.

The WORKERS parameter causes Snapshot to request a certain number of Extract Workers to perform the data set extracts during a clone. This may increase the speed of the cloning process. When there is more than one Worker running, Snapshot receives records interspersed from multiple data sets.

Note that the actual number of Workers running is the smallest of the following values:

  • Snapshot Workers limit
  • DBEngine Extract Workers limit
  • Number of data sets to extract

EMBEDDED EXTRACTS

Syntax: EXTRACT EMBEDDED [ [ = ] TRUE | FALSE ]

Enabling Extract Embedded allows Snapshot to extract embedded data sets even if INDEPENDENTRANS is not set or the parent data sets do not have valid AA values (such as COMPACT or ORDERED data sets).

Note

The Embedded Extracts parameter only extracts embedded data sets. It does not perform any type of fixup to the data sets.


CLONE

Syntax: CLONE [ OFFLINE | ONLINE ]

Use this parameter to specify whether Databridge should do an online extraction (the database is open for updates) or an offline extraction (the database is not open for updates, or least programs cannot update the data sets to be cloned). If you do not specify OFFLINE or ONLINE, Snapshot will do an online clone. You might want to clone offline to avoid having Snapshot sort and apply any fixup records to the extract files. Note that if the database has INDEPENDENTTRANS set, DBEngine will use SECURE STRUCTURE to enforce an offline clone, which allows other programs to update the data sets not being cloned. Otherwise, the database is opened in exclusive mode.

Note

If you specify OFFLINE, there will not be a fixup phase in the replication process since there will be no updates to any of the extracted data sets.


ALL

To clone every supported data set in the database, type ALL in the Snapshot parameter file. By default, ALL does not appear in the parameter file.


Data Set List.

To clone a portion of the database, specify a list of data sets. In this case, you can override the destination set by OUTPUT on a data set-by-data set basis. Use the following format for each item in the data set list:

datasetname [(recordtype)] [ON devicename]

Where Is
datasetname Required. The name of the DMSII data set.
recordtype Optional. The record type number of the variable format data set (if applicable). You must enclose the record type in (parentheses), as in the following example:

ACCOUNT (2)
devicename Optional. The output device for this data set, as in the following example:

CUSTOMER ON DATAPACK

NOTE: The value for devicename overrides the default for the OUTPUT parameter for this data set only.

See Sample Snapshot Parameter File for an example of the data set list.

All data sets are cloned to the location you specify via the OUTPUT parameter unless the ON devicename option is specified for the data set.


Sample Snapshot Parameter File

Following is a sample Snapshot parameter file. This parameter file specifies a list of data sets instead of the ALL option.

          % DataBridge Snapshot Parameter file for BANKDB
% Created Friday, June 13, 2014 @ 11:42:25 by Version 6.6.0.001

%
%Syntax:
%
%  [OUTPUT directoryname [ON familyname]]
%        where 'directoryname' is a DB directory name that
%       will contain the output files, for example, DATA/MYDB.
%        (A trailing / or /= is optional.)
%       The 'familyname' is the pack where the files will be
%       created. FAMILY substitution does apply.
%
%       To write to tapes, use OUTPUT ON TAPE.
%
%  [SPAN ENTRIES title]
%       where 'title' is the title of the file that will
%      contain SPAN-compatible audit location entries. You can
%       insert this file in DATA/SPAN/<database>/CONTROL.
%
%  [TRANSFORM entrypoint]
%       where 'entrypoint' is a DBTransform-type procedure in
%        the Support Library that will be called for each
%         dataset record.
%
%  [READER ["readerlibrary"] [USING "readerparam"]]
%       where 'readerlibrary' is the title of a FILEBridge
%       Reader Library and 'readerparam' is its parameter.
%
%  [FORMAT entrypoint]
%       where 'entrypoint' is a DBFORMAT-type procedure in the
%       Support Library that will be called to format each
%        dataset record.
%
%  [FILTER entrypoint]
%       where 'entrypoint' is a DBFILTER-type procedure in the
%       Support Library that will be called to filter each
%        dataset record.
%
%  [SUPPORT title]
%       where 'title' is the title of the Support Library
%        containing the FORMAT routine.
%
%  [SORT DISKFACTOR factor]
%       where 'factor' determines the DB size for SORT
%       temporary files according to the following formula:
%           sorttempsize = factor * inputfilesize.
%       Factor is usually 2.
%
%  [SORT MEMORY words]
%       where 'words' is the amount of SORT memory.
%
%  [STOP AFTER time [ON stopdate]]
%       where 'time' is hh:mm, hh:mm AM, or hh:mm PM
%       and 'stopdate' is mm/dd/yy, mm/dd/yyyy, or +days.
%        Example: 10:30 PM ON +1
%                23:15 ON 12/31/96
%
%  [REPORT {INVALID or NULL} {NUMBERS and/or TEXT}]
%      reports invalid and/or null data items.
%      Example: REPORT INVALID NUMBERS
%              REPORT NULL NUMBERS TEXT
%
%  [WORKERS [=] limit ]
%      where 'limit' is the maximum number of Workers to run
%
%  [EXTRACT EMBEDDED [ [=] { TRUE or FALSE} ]
%       If INDEPENDENTTRANS is reset and EXTRACT EMBEDDED is
%       true, then extract (but don't fix up) embedded dataset
%       records.
%
%  [CLONE [ [=] { OFFLINE or ONLINE } ]
%       An OFFLINE CLONE requires exclusive use of the database
%       but eliminates the need for any fixup records. ONLINE
%       clones permit concurrent updates and OFFLINE dumps.
%
%  {ALL or datasetlist}
%        where 'datasetlist' is one or more records of the form:
%
%  dataset [ (rectype) ] [ON devicename]
%        where 'dataset' is the name of the DMSII dataset,
%
%        'rectype' is the record type number of the variable
%         format dataset,
%
%        'devicename' is the output device for this dataset,
%         either a familyname or TAPE.
%
  % Database: BANKDB

  % destination of Snapshot data files .../<dataset>
   Output DATA/SNAPSHOT/BANKDB/= ON DB

   Span Entries DATA/SNAPSHOT/BANKDB/SPANCONTROL ON DB

   Support (DB66)OBJECT/DATABRIDGE/SUPPORT ON USER

   Transform DBTransform % transform in Support Lib
   Format SNAPSHOTCOMMA % formatting routine in Support Lib
   Filter DBFILTER % filtering routine in Support Lib
   Sort DiskFactor 2 Memory 100000
   % Report Invalid numbers text
   % Report Null numbers text
   % Extract Embedded
   % Clone Offline % prevents updates
   % Workers 4

% remove the '%' in front of the datasets you want

   % BANKDB
   % RSDATA
     BANK
     BRANCH
   % MERGE-BRANCH
   % R-BRANCH
     CUSTOMER
     EMPLOYEES
   % DEPENDENTS
   % R-CUST
   % CUSTONELINE
   % CUSTNAMEONLY
     TELLER
     ACCOUNT
     ACCOUNT (1)
     ACCOUNT (2)
     ACCOUNT (3)
   % ACCOUNT (4)
   % ACCOUNT (5)
   % R-ACCT
   % R-ACCT (3)
   % HISTORY
   % TRIALBALANCES
   % ADDRESSES
   % DIS-ORDERED
   % EMB-ORDERED
   % L1
   % L2
   % L3
   % R-L2
   % L1-WITH-EMB
   % L1-NO-EMBEDDED
   % SHORT-VF
   % SHORT-VF (2)
   % SHORT-VF (5)
   % DBTWINCONTROL
   % RG
   % SERIOUS-STUFF
   % R-L1

Snapshot Report File

Running Snapshot creates the report file. You can control the types of data errors reported in the report file by your selections for the REPORT parameter. For more information, see REPORT.

The following is an example of a Snapshot report file a sample DMSII database called BANKDB. In this report, no data errors were specified.

Report File with No Data Errors

Following is an example of a Snapshot report file for a sample DMSII database called BANKDB. In this report, no data errors were specified.

Databridge Snapshot Initializing date @ hh:mm:ss on host hostname
Version 7.0.x.x compiled date @ hh:mm:ss
Reading parameter file DATA/SNAPSHOT/BANKDB/CONTROL
Support       = (DB66)OBJECT/DATABRIDGE/SUPPORT ON HOST
Filter        = DBFILTER
Format        = SNAPSHOTCOMMA
Sort Memory   = 100000 words
Sort Disk     = 2 * file size
Output        = DATA/SNAPSHOT/BANKDB/= ON DISK
Span File     = DATA/SNAPSHOT/BANKDB/SPANCONTROL ON DISK
Stop point    = (unspecified)
Data errors   = <ignore>
Embedded Extracts = False
BANKDB         ===> DATA/SNAPSHOT/BANKDB/BANKDB (1 records)
BANK           ===> DATA/SNAPSHOT/BANKDB/BANK (7 records)
BRANCH         ===> DATA/SNAPSHOT/BANKDB/BRANCH (7 records)
MERGE-BRANCH   ===> DATA/SNAPSHOT/BANKDB/MERGE-BRANCH (7 records)
CUSTOMER       ===> DATA/SNAPSHOT/BANKDB/CUSTOMER (44 records)
R-CUST         ===> DATA/SNAPSHOT/BANKDB/R-CUST (44 records)
CUSTONELINE    ===> DATA/SNAPSHOT/BANKDB/CUSTONELINE (44 records)
TELLER         ===> DATA/SNAPSHOT/BANKDB/TELLER (9 records)
ACCOUNT        ===> DATA/SNAPSHOT/BANKDB/ACCOUNT/2 (88 records)
Effective time of snapshot: date @ hh:mm:ss

Report File with Data Errors

Following is an example of a Snapshot report file for the same sample DMSII database (BANKDB). In this report, data errors were specified.

Databridge Snapshot Initializing date @ hh:mm:ss on host hostname
Version 7.0.x.x compiled date @ hh:mm:ss
Reading parameter file DATA/SNAPSHOT/BANKDB/CONTROL
Support      = (UCC)OBJECT/DATABRIDGE/SUPPORT ON HOST
Filter       = DBFILTER
Format       = SNAPSHOTCOMMA
Sort Memory  = 100000 words
Sort Disk    = 2 * file size
Output       = DATA/SNAPSHOT/BANKDB/= ON DISK
Span File    = DATA/SNAPSHOT/BANKDB/SPANCONTROL ON DISK
Stop point   = (unspecified)
Data errors  = Bad number Bad text NULL number NULL text
Embedded Extracts = False
#0002 record at segment 000000E, word 0000 (UID = 000000000420)
Unreadable RDS-ID = 4"00000000000000000000"
#0002 record at segment 000000E, word 0003 (UID = 000000000423)
Unreadable RDS-ID = 4"00000000000000000000"
#0007 record at segment 0000046, word 00AF (UID = 000000002275)
XYZCO
Null FAX = 4"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
#0007 record at segment 0000046, word 00F5 (UID = 000000002345)
BXBBB
Null PHONE = 4"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
#0007 record at segment 0000046, word 00F5 (UID = 000000002345)
BXBBB
Null FAX = 4"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
BANKDB         ===> DATA/SNAPSHOT/BANKDB/BANKDB (1 records)
BANK           ===> DATA/SNAPSHOT/BANKDB/BANK (7 records)
BRANCH         ===> DATA/SNAPSHOT/BANKDB/BRANCH (7 records)
MERGE-BRANCH   ===> DATA/SNAPSHOT/BANKDB/MERGE-BRANCH (7 records)
CUSTOMER       ===> DATA/SNAPSHOT/BANKDB/CUSTOMER (44 records)
R-CUST         ===> DATA/SNAPSHOT/BANKDB/R-CUST (44 records)
CUSTONELINE    ===> DATA/SNAPSHOT/BANKDB/CUSTONELINE (44 records)
TELLER         ===> DATA/SNAPSHOT/BANKDB/TELLER (9 records)
ACCOUNT        ===> DATA/SNAPSHOT/BANKDB/ACCOUNT/2 (88 records)
Effective time of snapshot: date @ hh:mm:ss

Snapshot File Outputs

Snapshot creates two output files for each data set you select to clone—one data file and one parameter patch file (unless you enable the SPAN ENTRIES parameter, in which case all data set information is written to one patch file. See “SPAN ENTRIES” on page151 for more information.).

Data Files.

Snapshot creates one data file for each data set, with default titles as follows:

DATA/SNAPSHOT/databasename/datasetname

— or —

DATA/SNAPSHOT/logicaldatabasename/datasetname

These files contain all of the records in the database as of the time of the “snapshot.” The actual data in the files is formatted according to your entry for FORMAT (for example, COMMAFORMAT, FIXEDFORMAT, or RAWFORMAT).

If the data set has variable formats, each record format type has its own file. These file names have an additional node, as follows:

DATA/SNAPSHOT/databasename/datasetname/recordtypenumber

— or —

DATA/SNAPSHOT/logicaldatabasename/datasetname/recordtypenumber

In addition, the NOTE file attribute of each output data file contains the ending audit location.

Snapshot writes state information in a separate file for each data set, as explained next.


CONTROL File

All parameter patch (CONTROL) files are titled the same as the data files, but with the CONTROL node appended to the file title, as in the following example:

DATA/SNAPSHOT/databasename/datasetname/CONTROL

— or —

DATA/SNAPSHOT/logicaldatabasename/datasetname/CONTROL

This control file contains STATEINFO data that reflects the audit location, format level, etc., of the cloned data. The STATEINFO data is passed to DBEngine.

The STATEINFO data is in the same format as the STATEINFO that appears in the Databridge Span parameter file for each data set. The layout of the STATEINFO data is described in the file SYMBOL/ DATABRIDGE/INTERFACE.

An advantage to having the STATEINFO data in a separate file is when you use Snapshot to clone a database and then later decide you want to update the cloned database instead of creating it again. In this case, insert the contents of the individual datafilename /CONTROL of the data sets you want to track into the Databridge Span parameter file. For each data set for which control information is placed in the Databridge Span parameter file, include a comment that identifies the data set.

Note

This STATEINFO data should be also inserted in the secondary database parameters information. This is important for the secondary database to keep track of the location in the audit file of the last update.