This chapter tells how to recover a database, how to back up a database, and it describes other ways that Hyperion Essbase protects data.
This chapter includes the following sections:
If you are migrating from a previous release of Hyperion Essbase, see the Hyperion Essbase Start Here booklet.
A key part of a database maintenance routine is making regular backups of Hyperion Essbase data. The most common method of backing up data is archiving. Archiving makes copies of Hyperion Essbase data files exactly as they exist on the system. You can also back up data by exporting it. Exporting makes a copy of data in an ASCII text format. This section describes both backup methods.
To archive data, use the Hyperion Essbase BEGINARCHIVE and ENDARCHIVE commands (or alter database begin archive in MaxL) along with a third-party backup utility of your choice. The BEGINARCHIVE command places the database in read-only mode and provides a list of files to back up. Users can remain logged in, but they are not able to modify data during the archive procedure.
Note: |
If you back up your data without using BEGINARCHIVE, make sure that all Hyperion Essbase applications are closed and that all users are logged out during the backup procedure. Otherwise, you risk corrupting the database. The file list generated by BEGINARCHIVE includes linked reporting object files and partitioning database files, if applicable. For more information on Linked Reporting Objects, see Linking Objects to Hyperion Essbase Data. For information on partitioning, see Designing Partitioned Applications. |
archive.lst
. See the BEGINARCHIVE command in the online Technical Reference in the DOCS
directory for more information on archive.lst
.
If a user tries to modify data during the archive procedure, an error message informs the user that data is in read-only mode for archiving. No user can update the database until the ENDARCHIVE command is issued. (See step 3.)
Read-only mode persists until the ENDARCHIVE command is issued, even if the database is shut down or restarted.
archive.lst
. These files are described in Recovering from a Crashed Database.
Be sure to back up data on every disk volume Hyperion Essbase uses. For information about data storage on multiple volumes, see Introducing the Hyperion Essbase Kernel.
You can back up data by exporting instead of archiving. The EXPORT utility copies data to an ASCII text file that you specify; it does not compress data. The exported file contains data only and does not include control, outline, or security information. The maximum size of the exported file is 2 gigabytes.
Archiving is the recommended method of backing up data. However, you may use the EXPORT utility when performing any of the following tasks:
Note: | You can also export data by creating reports. For more information, see Copying Data Subsets and Exporting Data to Other Programs. |
To export data, select Database > Export in Hyperion Essbase Application Manager, use the export statement in MaxL, or issue EXPORT in ESSCMD. For ESSCMD syntax information, see the online Technical Reference in the DOCS
directory.
You can use the EXPORT utility to specify the amount of data to export:
You can choose to export data in a columnar or non-columnar format. If you are going to load the exported data into a relational database, you might want to export the data in columns. In this format, all member names are shown in double quotation marks and repeated on each row. This format allows the exported data more structure that can be used for further data processing by applications other than Essbase tools.
To improve export performance, you can now export data in parallel to a specified number of files, using the export statement in MaxL or the PAREXPORT command in ESSCMD.
For MaxL or ESSCMD syntax information, see the online Technical Reference in the DOCS
directory.
When you reload data that has been exported, Hyperion Essbase marks the data as input data. If you reload data exported from level 0 blocks or from input blocks, you must recalculate the database after reloading. When you recalculate the database, Hyperion Essbase recalculates every data block.
If you export all data in a database and then reload, Hyperion Essbase marks all blocks in the database as input blocks. Consequently, if you try to clear data by selecting Database > Clear Data > Non-Input Blocks from Hyperion Essbase Application Manager, no data is cleared because the database contains no non-input blocks.
Note: |
To clean the status of the blocks in a database after exporting all data and reloading, you can run the following calc script: Set ClearUpdateStatus Only;
|
When reloading data files that were exported in parallel into the database, it is highly recommended to load the data files according to the numbering order. Because each export file contains information on a disjointed portion of the database, loading them in the correct order ensures a sequential write order of the database blocks. This will give you optimum performance.
After a server interruption such as a crash, Hyperion Essbase recovers your database, rolling back all transactions that were active when the interruption occurred. Hyperion Essbase also recovers and consolidates free fragments (unused addressable units in the data blocks).
Hyperion Essbase recovers data as soon as the server is started after a server interruption. Recovery consists of the following phases:
Only a media failure (faulty disk, disk failure, or head crash) requires you to restore from archived files. See Archiving Data.
CAUTION: |
Do not move, copy, modify, or delete any of the following files: ESS xxxxx.IND , ESS xxxxx.PAG , databasename.IND , databasename.ESM , databasename.TCT . Doing so can result in data corruption.
|
The following table lists types of server interruptions and their results:
Table 50-2 shows what you need to do if a server interruption occurs during a transaction. How Hyperion Essbase recovers from an interruption depends on the transaction isolation level setting (committed or uncommitted access). See Ensuring Data Integrity for more information.
Type of Lock | Recommended Action |
Lock (for spreadsheet update) | Issue the lock command again. |
Send (spreadsheet update) | If Hyperion Essbase issues an error, repeat the last send operation. |
Calculation | Repeat the last calculation. See Calculating Data. |
Data load | Repeat the last data load (see Performing a Data Load) or load the error log file (see Debugging and Optimizing Data Loads). |
Arithmetic data load (adding to or subtracting from values in the database) |
Look in the application log file to ascertain the last row for which Hyperion Essbase logged a completion message. Repeat the data load from the row that immediately follows the last row for which Hyperion Essbase logged the completion message. See Performing a Data Load and Debugging and Optimizing Data Loads. |
Restructure | Repeat the last operation that caused a restructure. Check for temporary files and delete them. |
For extra protection against data loss and for spreadsheet audit information, Hyperion Essbase provides a spreadsheet update logging facility. Enable this facility by using the SSAUDIT or SSAUDITR parameter in the ESSBASE.CFG
server file. For information on the ESSBASE.CFG
file, see the online Technical Reference in the DOCS
directory.
SSAUDITR clears update log files automatically after archiving the data, when you issue the ENDARCHIVE command. SSAUDIT does not remove log files after archiving them. See Archiving Data for information on the ENDARCHIVE command.
You can specify SSAUDIT for all databases on the server or for individual databases. See the online Technical Reference in the DOCS
directory for syntax information.
Hyperion Essbase handles recovery under normal situations. However, sometimes you may want to load the spreadsheet update log file manually. For example, if you have restored data from a recent backup and do not want to lose changes made since the backup was made or you experience a media failure, you can recover transactions from the update log file. To do so, use the Hyperion Essbase command-line facility, ESSCMD, from the operating system prompt.
The following ESSCMD command sequence loads the update log file:
LOGIN hostnode username password SELECT application_name database_name LOADDATA 3 filepath:application_name.ATX EXIT
To simplify the process of loading the update log file, prepare a batch file as described in Performing Interactive and Batch Operations Using ESSCMD
The spreadsheet update log can get quite large; even if you are using SSAUDITR, Hyperion Essbase clears the log only after you archive data. If spreadsheet update activities are frequent in your application, you may want to manually delete the log file periodically.
When a database is started after a shutdown, if spreadsheet logging is enabled, Hyperion Essbase writes the following message to the database log file:
Starting Spreadsheet Log
volumename\
application_directory\
application_name\
database_name\
database_name.atx For Database
database_name
Starting Spreadsheet Log \ESSBASE\app\app1\sample\sample.atx for database sample
To ensure successful spreadsheet update logging, stop and restart your application after either of the following:
Hyperion Essbase ensures that if you enable spreadsheet logging, updates cannot take place without being logged. If Hyperion Essbase cannot write to the update log for any reason, Hyperion Essbase stops the transaction and issues an error message.
SSAUDIT and SSAUDITR are available only from the ESSBASE.CFG
file.
Copyright © 1991-2000 Hyperion Solutions Corporation. All rights reserved.