Document Sample
archive Powered By Docstoc
					Archive.Bat – keeping archives simple
By Douglas Bliss

Regular, valid backups are a constant concern for any Essbase application. Coming up with a single,
reliable, and quick solution is not easy due to the various constraints of business timing and I.T. support
requirements. Exports, direct tape backups, and prolonged periods in “archive” mode can all cause
significant side effects. The root idea is to allow backups to be performed regularly without excessive
interference with business timing or environmental issues, while minimizing any disaster recovery efforts.

The simplest solution is a batch job that does a local application archive (typically to a compressed
volume), which is then archived to tape in due time. By utilizing this “low tech” solution; maintenance,
compatibility and diagnostic issues are effectively eliminated. This approach also allows the tape archive
to be created and restored without directly interrupting the application or users.

For optimal fault isolation, the server should be configured so that running out of disk space would not
interfere with other processes (archive’s disk space, Essbase’s page/index file drive, the Operating System,
etc.). This precaution effectively isolates the Essbase data storage from the areas that IT support personnel
are apt to “Interfere” with. Refer to the associated Word document “Backup Plan” for details on an
appropriate configuration for use with this utility.

ARCHIVE.BAT accepts parameters to identify the “type” of backup to perform (to support multiple
control points), and the application and database to be archived. Suggested uses include “daily”, “weekly”,
and “production” archives, but the batch file accepts any valid directory name as an archive type. The file
is clearly broken up into several phases, with liberal use of comments and variables to simplify
maintenance. It may not look simple, and in some ways the batch file itself looks more like source code
than a batch file, but it has served multiple masters and roles since 1997 without complaint or complication.

The batch file contains many features that aid the DBA in managing the archive process:
 Fast: Typically around 12 minutes per Gigabyte (to a local compressed folder)
 Easy to use: Automatically generates RESTORE.BAT file in the archive directory for easy restoration
    (restores run about 30% faster than archives)
 Reliable: Uses the Essbase created filelist.txt file to ensure all required files are archived
    (object files are saved to a separate directory)
 Detailed: Generates detail log file for current process
 Traceable: Generates history file of all prior runs (summary and error level)
 Trouble Free: Generates error file for current process (used as “red flag” after job runs)
 Clean: Generates (and removes) all temporary files used in the process (two Esscmd scripts)
 Serviceable: Has built-in debugging mode to assist diagnostics (“fakerun” processing)
 Maintainable: Processing is handled in discrete easy to understand phases (explained below)

The requirements to use this batch file are minimal:
 Windows NT 4.0 SP3+
 Command Extensions enabled (several advanced “IF” and “FOR” variants used)
 Essbase Version 4.02+ (for FILELIST.TXT processing)
 A “utility” directory with subdirectories to support the output files:
     BATCH           Location of ARCHIVE.BAT file (required for convention only)
     HISTORY Location of history file output (ARCHIVE.HST)
     OUTPUT Location of output file (ARCHIVE.OUT)
        (error and temporary files are created in the utility directory)
As mentioned above, the three parameters are the TYPE, APPLICATION, and DATABASE names:
     type           Specifies the archive type, for creating multiple control points for recovery
     application Essbase application name
     database       Essbase database name

To perform an archive, simply call “ARCHIVE.BAT {type} {application} {database}”. By setting up a
separate batch file that handles each “type”, (e.g. DAILY.BAT, PROD.BAT), archives can be scheduled as
needed. A single check of the ARCHIVE.HST file shows all the archive activity for all jobs (for all
applications and databases), and the result is a no-fuss, no-muss archive that any DBA can control and

Processing occurs in phases, though some parts of each phase (or whole phases) may be skipped due to
settings or conditions. Each phase logs the time that the phase begins to the output file, which is also used
as the output for Essbase operations. The history file will contain a starting entry, any output file lines that
contain “STS =”, any error file lines that contain “ERROR”, and a final completion entry.

1.   Sanity checks phase. Currently, the only sanity check is to verify that three parameters were passed in.
     Originally, additional checks were made to ensure that the Application and database values pointed to
     valid paths.
2.   Initialization phase. Dependent variables are created, files from prior runs are archived and deleted
     from the utility directory. Then the output file is initialized with a description and date/time stamp.
     Finally, a directory is made (to the output file) of key files.
3.   Preparation phase. The paths to store the archived files are created if necessary. Two Esscmd script
     files are created for issuing the beginarchive and endarchive commands (these files are deleted in the
     cleanup phase). Then two Esscmd script files are created for unloading and loading the application in
     the event of a restore (these are retained with the archive). The actual RESTORE.BAT file is created
4.   Main processing phase. The application is placed in read only mode (ARCHIVE command), and the
     files listed in the resulting FILELIST.TXT file are copied to the destination path. “Standard” Essbase
     objects are copied to an “OBJECTS” subdirectory (some modification may be needed to support other
     file types). The application is placed back in normal mode (ENDARCHIVE command), and
     RESTORE.BAT file is created to return each file to the original location (based on FILELIST.TXT).
5.   Clean up phase. Ending comments are put in the log/output/history files, and a directory of the
     destination path is copied to the output file. Then working (temporary) files are deleted.

To use ARCHIVE.BAT in other locations, only a few changes need to be made:
 Modify the working paths
     apppath     location of Essbase application directory (does not normally require modification)
     pagepath location of application’s page and index files if other than in apppath
     util        location of utility directory (referenced above)
     bkpath      root location for destination files
 Modify the Essbase login information:
     uid         User for Esscmd sessions
     pwd         User’s password for Esscmd sessions