Вы находитесь на странице: 1из 44

MaxDB Database Backup and Recovery White Paper

Creating Backup Environment Variable and Configuration Files..................................... 2 Environment Variable................................................................................................................. 2 Backint Configuration File ......................................................................................................... 4 Backint Parameter File................................................................................................................ 5 NetBackup MaxDB Configuration File ...................................................................................... 6 Defining Backup Medium in MaxDB ................................................................................ 6 Creating Medium from the Command Line................................................................................ 6 Creating Medium from the MaxDB GUI.................................................................................... 7 Creating a MaxDB Backup Policy ................................................................................. 12 Performing a Backup of a MaxDB Database................................................................. 12 Running Backups from the Command Prompt......................................................................... 12 Running Backups from the NetBackup Administrative Console ............................................. 12 Script information ................................................................................................................. 12 Automating Backups via NetBackup Scheduling................................................................. 13 Manually Initiating Backups from the NetBackup Administrative Console ........................ 14 Performing a Restore of a MaxDB Database ................................................................ 14 Restoring a database from the command prompt ..................................................................... 15 Collecting Media IDs............................................................................................................ 15 Executing Database Restore ................................................................................................. 15 Restoring a Database From the MaxDB GUI ........................................................................... 17 Restoring Databases to a New Database Name and/or Database Server .................... 17 Configure NetBackup Security for Alternate Client Restores.................................................. 17 No.Restrictions...................................................................................................................... 17 Peername............................................................................................................................... 18 Create MaxDB database for recovery....................................................................................... 18 Move MaxDB Backup History Files to New Database Directory............................................ 28 Execute Restore ........................................................................................................................ 28 Troubleshooting ............................................................................................................ 34 Error if BSI_ENV does not point to the right file or file is missing......................................... 34 Error if Backint config file does not point to the right parameter file ...................................... 34 Error if Backint config file points to wrong backint.exe (the NBU backint) ........................... 35 Error if backint parameter file points to the wrong NetBackup configuration file................... 37 Error if the backint parameter file points to the wrong backint.exe file ................................... 37 Error if wrong backup medium name is used. .......................................................................... 38 Error if staging area is omitted from parameter file ................................................................. 38 Errors if restore is attempted with an expired NetBackup image ............................................. 39 Script errors............................................................................................................................... 40 Synchronizing Expired NetBackup Images with the MaxDB Backup History........................ 40 Switching the Operating System ................................................................................... 43 Web Database Interface................................................................................................ 43

VERITAS Software

Page 1 of 44

Creating Backup Environment Variable and Configuration Files


After installing MaxDB (originally SAPDB) and the NetBackup for MaxDB Database Extension, there are three files to create, and an environment variable to set.

Environment Variable
Create the environment variable in Windows by right-clicking on My Computer and selecting Properties.

From the Advanced tab, click on the Environment Variables button.

VERITAS Software

Page 2 of 44

Create a new System variable called BSI_ENV. The value of this variable is the location and name of the Backint configuration file.

VERITAS Software

Page 3 of 44

Backint Configuration File


The backint configuration file may have any name, and may be placed in any directory. Its name and location, however, must be exactly as specified in the BSI_ENV variable. The file is composedof a combination of variables and their associated values, separated by a space. Possible variables in the backint configuration file are: Parameter BACKINT <absolute_path>\<file_name> INPUT <absolute_path>\<file_name> OUTPUT <absolute_path>\<file_name> ERROROUTPUT <absolute_path>\<file_name> PARAMETERFILE <absolute_path>\<file_name> TIMEOUT_SUCCESS <number> TIMEOUT_FAILURE <number> ORIGINAL_RUNDIRECTORY <absolute_path> Description Absolute path and name of the backint program that is installed with MaxDB Absolute path and name of the standard input file Absolute path and name of the standard output file Absolute path and name of the standard error output file Absolute path and name of the configuration file of the backint for MaxDB program Time in seconds that the Database Manager waits for the end of the started Backint for MaxDB if action is successful Time in seconds that the Database Manager waits for the end of the started backint for MaxDB if errors occur Absolute path of the run directory of the source database

For a detailed description of these parameters, see the MaxDB documentation, available at http://www.mysql.com/products/maxdb/. The backint configuration file must contain the variables BACKINT, INPUT, OUTPUT, ERROROUTPUT, and PARAMETERFILE. The following is an example of a file with the minimum configuration specified:
BACKINT c:\sdb\7500\bin\backint.exe INPUT c:\veritas\netbackup\dbext\sap\backint.input OUTPUT c:\veritas\netbackup\dbext\sap\backint.output ERROROUTPUT c:\veritas\netbackup\dbext\sap\backint.error PARAMETERFILE c:\veritas\netbackup\dbext\sap\backint_parameter.txt

Please be aware, the backint information is the absolute path and name of the backint executable which is installed by MaxDB, NOT the one installed by Veritas.

VERITAS Software

Page 4 of 44

Backint Parameter File


Like the backint configuration file, the backint parameter file may have any name, and may be placed in any directory. Its name and location is defined in the backint configuration file with the PARAMETERFILE variable. Using the above example of a backint configuration file, the backint parameter file is called backint_parameter.txt and is located in the c:\ veritas\netbackup\dbext\sap directory. Similar to the backint configuration file, the backint parameter file consists of a series of variables and their values. The difference is these variables are separated from their values with a colon. The possible variables for the backint parameter file are as follows: Parameter STAGING AREA: <absolute_path>\<file_name> <size>[KB|MB|GB] FILES PER BACKINT CALL: <number> BACKINT: <absolute_path>\<file_name> PARAMETERFILE OF BACKINT:<absolute_path>\<file_name> HISTORY FILE: <absolute_path>\<file_name> INPUTFILE FOR BACKINT: <absolute_path>\<file_name> OUTPUT FILE FOR BACKINT:<absolute_path>\<file_name> ERRORFILE FOR BACKINT: <absolute_path>\<file_name> MAXIMAL DELAY OF BACKINT CALL: <number> OMIT LAST DIRECTORY DELIMITER ON RESTORE: <YES | NO> BI_CALLER_VALUE: <value> Description Absolute path and size of a temporary file Maximum number of temporary files that are to be processed by backint Absolute path and name of the backint executable installed by NetBackup Absolute path and name of the configuration file for the backint Absolute path and name of the backup history Absolute path and name of the standard input file Absolute path and name of the standard output file Absolute path and name of the standard error output file Maximum waiting time in seconds between creating a temporary file and starting to save it by using backint Specifies whether the SAPDB adapter program ignores the closing slash (\) of an absolute directory name for backint. Value of the environment variable BI_CALLER

For a detailed description of these parameters, see the MaxDB documentation, available at http://www.mysql.com/products/maxdb/. The backint parameter file must contain the variables BACKINT, PARAMETERFILE OF BACKINT, HISTORY FILE, INPUTFILE FOR BACKINT, OUTPUTFILE FOR BACKINT, ERRORFILE FOR BACKINT.

VERITAS Software

Page 5 of 44

The following is an example of a file with the minimum configuration specified:


BACKINT: c:\veritas\netbackup\bin\backint.exe PARAMETERFILE OF BACKINT: C:\VERITAS\NetBackup\DbExt\SAP\initDEMO.utl HISTORY FILE: c:\veritas\netbackup\dbext\sap\backinthistory.log INPUTFILE FOR BACKINT: c:\veritas\netbackup\dbext\sap\backintoracle.in OUTPUTFILE FOR BACKINT: c:\veritas\netbackup\dbext\sap\backintoracle.out ERRORFILE FOR BACKINT: c:\veritas\netbackup\dbext\sap\backintoracle.err STAGING AREA: C:\VERITAS\NetBackup\DbExt\SAP\stage1 100 MB

REMEMBER The variables and their values must be separated with a colon (:).

NetBackup MaxDB Configuration File


Like the previous files, the NetBackup configuration file may have any name, and may be placed in any directory. Its name and location is defined with the PARAMETERFILE OF BACKINT variable in the Backint parameter file. Following the above sample file as an example, the file in this case is called initDEMO.utl, and is located in the C:\VERITAS\NetBackup\DbExt\SAP\ directory. It must contain the variables switch_list, switch_sem, switch_log, and may require policy. A sample configuration file is included with NetBackup, and is found in the <install_path>\VERITAS\NetBackup\DbExt\SAP\samples directory, and is named initSAP.utl. The following is an example of a file with the minimum configuration specified:
switch_list C:\sdb\data\wrk\DEMO\switch.list switch_sem C:\sdb\data\wrk\DEMO\switch.sem switch_log C:\sdb\data\wrk\DEMO\switch.log policy maxdb_hot_backup

Defining Backup Medium in MaxDB


In order to run backups, at least one backup medium per backup type (complete, incremental) must be created. The backup medium type must be PIPE and the backup medium name must begin with the word BACK. Backup medium can be created either from the command line or from within the MaxDB Database Manager GUI.

Creating Medium from the Command Line


From a command prompt, change to the directory containing the dbmcli.exe binary, and execute the following command to connect to the database:
dbmcli -d <database> -u <user_id>,<password>

By default, the user ID and password are set to dbm. So for a database called DEMO, the command is:
dbmcli -d DEMO -u dbm,dbm

VERITAS Software

Page 6 of 44

This establishes a connection to the database, and opens the dbmcli on <database> command prompt. From this prompt, run the command:
medium_put <medium_name> \\.\pipe\<database> PIPE <backup_type> <size> <block_size>

For example, to create a medium called BACKDEMO for full backups in a database called DEMO, the command is:
medium_put BACKDEMO \\.\pipe\DEMO PIPE DATA 0 8

To create a medium called BACKDEMOINCR for incremental backups in a database called DEMO, the command is:
medium_put BACKDEMOINCR \\.\pipe\DEMO PIPE PAGES 0 8

For more information on the medium_put command and creating backup medium, see the MaxDB documentation, available at http://www.mysql.com/products/maxdb/

Creating Medium from the MaxDB GUI


To create medium for NetBackup using the MaxDB GUI, start by opening the interface, and selecting Backup under database options, and then Backup Medium.

VERITAS Software

Page 7 of 44

In the Backup Medium window, right click on an empty part of the window, and select New Medium.

VERITAS Software

Page 8 of 44

In the resulting dialog box, specify a backup type of Complete for full backups, or Incremental for incremental backups.

Please note the only valid media type for log backups are files, and as such, cannot be performed with NetBackup. Under Device Type, be sure to select Pipe, or the backup medium cannot be used by NetBackup.

VERITAS Software

Page 9 of 44

Finally, the name must begin with the word BACK

On the Extended tab, you can specify Size: Specify the size of the backup medium (It is unknown if this applies to a device type of PIPE.) Overwrite: Allows the backup to overwrite the medium. (It is unknown if this applies to a device type of PIPE.) Blocksize: Select the Blocksize option to allow the backup to write in blocks of up to eight pages. (This may allow for performance enhancement.) Autoloader: Specify this option to use a tape device with an autoloader feature. (This does not appear to be relevant to NetBackup.) OS Command: Allows operating system commands to be run when running backups to tape. (This does not appear to be relevant to NetBackup.) For detailed information on these options, contact MaxDB support or review the MaxDB web page at http://www.mysql.com/products/maxdb/

VERITAS Software

Page 10 of 44

Veritas Support recommends leaving these options set to their default. After creating the backup medium, the window looks like the following:

VERITAS Software

Page 11 of 44

Creating a MaxDB Backup Policy


Creation of policies is covered in the VERITAS NetBackup 5.1 for SAP System Administrators Guide for Windows, found at http://seer.support.veritas.com/docs/268101.htm, on pages 19 through 28 (for Windows master servers) or pages 32 through 42 (for Unix master servers) Please refer to this guide for the setup of the MaxDB policy. Please note the script information is different, and is outlined later in this guide.

Performing a Backup of a MaxDB Database


Backups may be run either from the command prompt, or from within the NetBackup administration console as either scheduled or manually initiated backups. When running a backup of MaxDB, the command issued must include the name of the backup medium. Additionally a utility session must be started before running a backup. To learn more about utility sessions refer to MaxDB documentation at http://www.mysql.com/products/maxdb/.

Running Backups from the Command Prompt


1. Connect to the database with the command dbmcli -d <database> -u <user_id>,<password>. For a database DEMO: dbmcli -d DEMO -u dbm,dbm 2. Then, from the database command prompt, start a utility session with the util_connect command. dbmcli on DEMO> util_connect 3. Finally, issue the backup command, backup_start <medium_name> <backup_type>. For a medium named BACKDEMO which is of a type Complete, the command is: dbmcli on DEMO> backup_start BACKDEMO DATA

Running Backups from the NetBackup Administrative Console


Script information
In order to automate backups of MaxDB databases or initiate a backup from the master server, a backup script must be created and listed in the MaxDB backup policy. The backup script needs to perform three functions: connect to the database, start a utility session, and then backup the database. The scripts basic format is as follows: dbmcli -u <user_ID>,<password> -d <database> -uUTL <user_ID>,<password> backup_start <medium> <backup_type> The dbmcli -u <user_ID>,<password> -d <database> connects the user to the database, uUTL <user_ID>,<password> starts the utility session, and backup_start <medium> <backup_type> launches the backup.

VERITAS Software

Page 12 of 44

For example, if the user and password are still set to the default (dbm, dbm), the database is called DEMO, and the backup medium for full backups is called BACKDEMO, the command to start the backup would be:
dbmcli -u dbm,dbm -d DEMO -uUTL dbm,dbm backup_start BACKDEMO DATA

This is the only line required in the backup script. By entering this information into a file with a .cmd extension, the file may be used in a NetBackup policy. For more information on MaxDB scripting options, contact MaxDB support or review the MaxDB web page at http://www.mysql.com/products/maxdb/

Automating Backups via NetBackup Scheduling


NetBackup MaxDB policies must have two schedules, an Application Backup schedule and an Automatic Backup schedule. The Application Backup schedule is created by default when a MaxDB policy is created, and is open 24 hours a day, seven days a week. This schedule creates a window in which backups can run, not when the backup will actually run. Veritas support recommends leaving this schedule alone, and not modifying it. Changes to this schedule can cause the backups to fail with a status 199, Operation not allowed during this time period. The other type of backup schedule is the Automatic Backup schedule, which is the schedule which actually initiates the automatic backup. So, for example, to have the backup run once a week on Monday nights between 6 and 8 PM, the Automatic Backup schedule should be open from 6 to 8 PM on Monday. NOTE: To change the retention level of the MaxDB backup, change the retention of the Application Backup schedule.

VERITAS Software

Page 13 of 44

Manually Initiating Backups from the NetBackup Administrative Console


Once the policy is created, to manually initiate a backup from the master server, open the NetBackup Administrative Console, and find the MaxDB policy. Then, right click on the policy, and specify Manual Backup. This initiates the manual backup.

Performing a Restore of a MaxDB Database


Database restores can be initiated from either the command line or the MaxDB GUI. Please note per the MaxDB documentation, when recovering a database, it must be in the operational state ADMIN. If the database instance is in the ONLINE operational state, it must first be transferred to the OFFLINE operational state and then to the ADMIN operational state. Operational State ONLINE STANDBY ADMIN OFFLINE Meaning The database instance has been started, and users can log on. For standby instances in hot standby systems only. Standby instances cannot accept any connections. They are constantly in a restart state. The database instance is only available for database administration work. The database instance is not running.

VERITAS Software

Page 14 of 44

Restoring a database from the command prompt


Restores from the command line are a two-step process. First, a listing of the available media IDs is collected. Then, the restore command is issued, specifying the medium to use.

Collecting Media IDs


Collecting media IDs is done with the backup_ext_ids_get command; media IDs are displayed with the backup_ext_ids_list command. 1. Connect to the database with the dbmcli command (dbmcli -d <database> -u <user_id>,<password>). dbmcli -d DEMO -u dbm,dbm 2. From the dbmcli on <database> prompt, execute the backup_ext_ids_get command with the following switches: backup_ext_ids_get <medium_name> <db_name> <server_name> So, for a server called Server_MaxDB with a database called DEMO, and a medium called BACKDEMO, the command would be: dbmcli on DEMO> backup_ext_ids_get BACKDEMO DEMO Server_MaxDB 3. Display the available media IDs, execute the command backup_ext_ids_list. dbmcli on DEMO> backup_ext_ids_list The series of commands looks like the following:
dbmcli -d DEMO -u dbm,dbm dbmcli on DEMO> backup_ext_ids_get <medium_name> <db_name> <server_name> OK dbmcli on DEMO>backup_ext_ids_list OK END AVAILABLE|DEMO NS1088526040 \\.\pipe\DEMO|DATA AVAILABLE|DEMO NS1088536685 \\.\pipe\DEMO|DATA

MIGRATION|2004-06-29 11:20:32| MIGRATION|2004-06-29 14:17:58|

Executing Database Restore


After collecting the media IDs available for database restore, the restore is performed from the command line after establishing a utility session. NOTE: Per the MaxDB documentation, when recovering a database, it must be in the operational state ADMIN. Action Desired Stopping the Database Instance Transferring to the ADMIN Operational State Transferring to the OFFLINE Operational State Transferring to the ONLINE Operational State Transferring to the STANDBY Operational State Command issued db_stop db_admin db_offline db_online db_standby

VERITAS Software

Page 15 of 44

After placing the database into an ADMIN status, from the dbmcli on <database> command prompt, the command is util_connect.
dbmcli on DEMO> util_connect

The restore command is recover_start, and requires the backup medium name, the type of backup which was performed, and the backup media ID. The sequence is as follows: recover_start <medium> <type> ExternalBackupId <BID> Using the above listing, and the backup medium name BACKDEMO, the command issued is:
dbmcli on DEMO> recover_start BACKDEMO DATA ExternalBackupId DEMO NS1088526040 \\.\pipe\DEMO

NOTE: Since the media ID name contains a space, the ID string needs to be enclosed in quotation marks. A successful restore displays something similar to the following:
dbmcli on DEMO>recover_start BACKDEMO DATA ExternalBackupId DEMO NS1088526040 \ \.\pipe\DEMO OK Returncode 0 Date 20040630 Time 00133545 Server server.domain.com Database DEMO Kernel Version Kernel 7.5.0 Build 014-123-073-298 Pages Transferred 240 Pages Left 0 Volumes 1 Medianame BACKDEMO Location \\.\pipe\DEMO Errortext Label DAT_00022 Is Consistent true First LOG Page 1098 Last LOG Page DB Stamp 1 Date 20040629 DB Stamp 1 Time 00112032 DB Stamp 2 Date DB Stamp 2 Time Page Count 224 Devices Used 1 Database ID server.domain.com:DEMO_20040616_155125 Max Used Data Page 0

VERITAS Software

Page 16 of 44

Restoring a Database From the MaxDB GUI


MaxDB databases can also be restored from the MaxDB Database Manager GUI using backups taken by NetBackup. The procedure and screen images are the same as those shown later in the guide, under Execute Restore in the Restoring Databases to a New Database Name and/or Database Server section. Please refer to those images for assistance restoring a database using the MaxDB GUI.

Restoring Databases to a New Database Name and/or Database Server


Restoring a database to either a new database name or to a new database server (alternate client restore or redirected restore) requires several steps be completed or the restore will fail to execute. It is important to know the name of the original backup medium, and have copies of dbm.ebf, dbm.knl, dbm.mdf files from original instance. Without this information, the database cannot be restored. A brief overview is shown below, with details following. Overview: Configure NetBackup security for alternate client restores. (No.Restrictions or peername) Create instance for recovery Create backup medium that matches original backup medium Start instance in ADMIN state Copy over dbm.ebf, dbm.knl, dbm.mdf files from source db to new instance Start recovery wizard Select initialize instance Select backup set to restore Start restore When successful, start instance Recovery successful.

Configure NetBackup Security for Alternate Client Restores


To allow one client to restore databases from another client, either the use of the No.Restrictions file, or the use of peername file is required.

No.Restrictions
Use of the No.Restrictions file allows any client to perform an alternate client restore of any clients data. To allow this, create an empty file called No.Restrictions in the directory path <install_path>\NetBackup\db\altnames\ on the master server (in the /usr/openv/netbackup/db/altnames directory on a Unix master server). NOTE: Do not add a suffix to the files created in the altnames directory.

VERITAS Software

Page 17 of 44

Peername
Allowing a single client to perform redirected restores is enabled by the creation of an empty file peername in the <install_path>\NetBackup\db\altnames\ directory of the master server, where peername is the name of the client which can access files backed up by a different server. For example, if the administrator wanted the client Freddie to restore files which were backed up by another client Oscar, then it would be necessary to create the following file on the master server: <install_path>\NetBackup\db\altnames\freddie

Create MaxDB database for recovery


Like the standard database restore, when creating a database for an alternate client restore, the database must be placed in ADMIN status. Additionally, in the recovery database, a backup medium must be created which has the same name as the source database. If the backup medium for the original database was BACKDEMO, be sure to create a backup medium, of a type PIPE called BACKDEMO in the new database. The following series of screen captures shows the step-by-step procedure to create a database for recovery, using the wizard in the MaxDB GUI. By default, this procedure places the database into an ADMIN state, ready for recovery. 1. Start by clicking on the Create to create a new database instance

VERITAS Software

Page 18 of 44

2. Click on Next to continue on the installation wizard

3. Select the template desired for creation of the database. This example uses the Blank template. Click Next to continue.

VERITAS Software

Page 19 of 44

4. Provide a database name (in this example, RECOVER is used). A port number is unnecessary. Click Next to continue.

5. If there is more than one version of MaxDB installed, select the version to use, and click on Next.

VERITAS Software

Page 20 of 44

6. As necessary, select the startup option for the database. In this example, the start database service automatically was not selected. Click Next to continue.

7. Create the database manager user name and password. The default is dbm, dbm, however, on this screen, it is possible to change that option. In this example, the default was accepted. Click Next to continue.

VERITAS Software

Page 21 of 44

8. If necessary, modify the initialization parameters. For this example, the default values were used. Click Next to continue.

9. This screen allows the user to specify the instance type. The default is OLTP. Click Next to continue.

VERITAS Software

Page 22 of 44

10. The next two screens show the database instance parameters. Adjust them if necessary. In this example, the defaults were accepted. Click Next to continue.

VERITAS Software

Page 23 of 44

11. In the next three images, the volumes for the database are setup. Click Next to continue.

VERITAS Software

Page 24 of 44

VERITAS Software

Page 25 of 44

12. At this point, information about the backup medium needs to be entered. Here is where it is necessary to fill in the information about the backup medium from the original (source) database. In this example, the source database was called DEMO and the backup medium in the database was BACKDEMO. Please notice how this is setup in the screen captures. Click Next to continue.

VERITAS Software

Page 26 of 44

13. On the Create Database Instance interface, be sure to select the option Create instance for recovery. Click Next to continue.

14. Finally, click Start to create the database instance.

VERITAS Software

Page 27 of 44

15. When finished, the GUI displays the instance is successfully created, and prompts to click Next to start the recovery process. Please note do NOT click on Next, as there are additional steps necessary in order to successfully restore the database.

Move MaxDB Backup History Files to New Database Directory


There are three files in each MaxDB database which contain information about the backup history. As such, when creating a database for recovery, these files need to be copied from the original database directory structure to the new database directory structure. Go to the <install_path>\sdb\data\wrk\<source> directory, and find the following three files: dbm.knl, dbm.mdf, dbm.ebf. These files need to be copied to the <install_path>\sdb\data\wrk\<recovery> directory. For example, if the original database is called DEMO and the recovery database is called RECOVER, copy the dbm.knl, dbm.mdf, and dbm.ebf files from the <install_path>\sdb\data\wrk\DEMO directory into the <install_path>\sdb\data\wrk\RECOVER directory.

Execute Restore
Once the database instance is created for recovery and in an ADMIN status, and the backup history files are moved to the appropriate directory, the database is ready for restore and recovery. The following screen captures show the step-by-step procedure to restore and recover the database using the MaxDB GUI.

VERITAS Software

Page 28 of 44

1. Begin by selecting the database, and under the Recovery section, selecting the Recovery Wizard.

2. This launches the Recovery Wizard. Click on Next to continue.

VERITAS Software

Page 29 of 44

3. On the Restore Database Instance screen, be sure to select the option to initialize the database before restore. This allows the restore to overwrite the existing database information. Click on Next to continue.

4. Select the option to restore a specified backup from history. Click on Next to continue.

VERITAS Software

Page 30 of 44

5. MaxDB retrieves a list of available backups, and indicates the name of the medium, and if logs are required. Specify the backup to restore, and click on Next to continue.

6. MaxDB requests confirmation the correct medium was selected. Confirm this is correct, and click on Start to begin the restore.

VERITAS Software

Page 31 of 44

7. MaxDB requests confirmation to initialize the database in the recovery process. Click on Yes to start the restore.

8. The restore starts, and displays the amount of data transferred.

VERITAS Software

Page 32 of 44

9. When the restore is finished successfully, the interface provides an option to restart the database. Click on Restart to restart the database.

10. MaxDB confirms the database was successfully restarted. Click Close to finish the recovery.

VERITAS Software

Page 33 of 44

Troubleshooting
In troubleshooting MaxDB backups and restores, there are two general files to review; one created by MaxDB, one created by NetBackup. The MaxDB log file is the dbm.ebp file, located in the <install_path>\sdb\data\wrk\<database_name> directory. This file captures information about what occurs on the MaxDB side of the backup and restore. The backint log file (created by placing a backint folder in the <install_path>\veritas\netbackup\logs directory) logs information regarding the NetBackup side of the backup and restore. Additionally, it should be observed nearly all MaxDB database backups fail with a Status 29. As such, it is generally necessary to collect log files in order to properly assess the problem and recommend an appropriate solution.

Error if BSI_ENV does not point to the right file or file is missing
NetBackup Error: Status 29 - failed trying to exec a command. A command could not be executed. This can occur because the permissions of the command do not allow it to be executed, or there is lack of system resources such as memory and swap space. If the BSI_ENV environment variable is not pointing to the correct file, there is no Veritas backint log directory, and the dbm.ebp log file shows the following:
2004-07-07 09:40:06 Using environment variable 'TEMP' with value 'C:\DOCUME~1\user\LOCALS~1\Temp' as directory for temporary files and pipes. Using connection to Backint for MaxDB Interface. 2004-07-07 09:40:06 Checking existence and configuration of Backint for MaxDB. Using environment variable 'BSI_ENV' with value 'C:\VERITAS\NetBackup\DbExt\SAP\backint_config.txt' as path of the configuration file of Backint for MaxDB. Have encountered error -24927: The file C:\VERITAS\NetBackup\DbExt\SAP\backint_config.txt is missing or unreadable. Constructed the following reply: ERR -24927,ERR_TOOLCHK: external backup tool not found The file C:\VERITAS\NetBackup\DbExt\SAP\backint_config.txt is missing or unreadable. Can not read the Backint for MaxDB configuration file. Check failed.

Error if Backint config file does not point to the right parameter file
NetBackup Error: Status 29 - failed trying to exec a command. A command could not be executed. This can occur because the permissions of the command do not allow it to be executed, or there is lack of system resources such as memory and swap space.

VERITAS Software

Page 34 of 44

If the backint configuration file does not exist, or is improperly specified, there is no Veritas backint log directory, and the following error message is found near the end of the dbm.ebp log file:
2004-07-07 09:44:07 ---------- Begin of error output of Backint for MaxDB (c:\veritas\netbackup\dbext\sap\backint.error)---------2004-07-07 09:44:07 The file 'c:\veritas\netbackup\dbext\sap\backint_parameter.txt' does not exists. 2004-07-07 09:44:07 Could not open the parameter file.

Error if Backint config file points to wrong backint.exe (the NBU backint)
NetBackup Error: Status 29 - failed trying to exec a command. A command could not be executed. This can occur because the permissions of the command do not allow it to be executed, or there is lack of system resources such as memory and swap space. If the backint configuration file points to the incorrect backint.exe file (the NetBackup backint versus the MaxDB backint), there is both a backint log (for Veritas), and a dbm.ebp log file. In the Veritas backint log file, the following lines appear:
09:51:31.235 [2572.2708] <8> backint_process_parm_file: WARNING: unknown parameter: BACKINT: c:\veritas\netbackup\bin\backint.exe 09:51:31.235 [2572.2708] <2> backint_process_parm_file: param_variable = BACKINT: : param_value = c:\veritas\netbackup\bin\backint.exe 09:51:31.235 [2572.2708] <8> backint_process_parm_file: WARNING: unknown parameter: PARAMETERFILE OF BACKINT: C:\VERITAS\NetBackup\DbExt\SAP\initDEMO.utl 09:51:31.235 [2572.2708] <2> backint_process_parm_file: param_variable = PARAMETERFILE : param_value = OF 09:51:31.235 [2572.2708] <8> backint_process_parm_file: WARNING: unknown parameter: HISTORY FILE: c:\veritas\netbackup\dbext\sap\backinthistory.log 09:51:31.235 [2572.2708] <2> backint_process_parm_file: param_variable = HISTORY : param_value = FILE: 09:51:31.235 [2572.2708] <8> backint_process_parm_file: WARNING: unknown parameter: INPUTFILE FOR BACKINT: c:\veritas\netbackup\dbext\sap\backintoracle.in 09:51:31.235 [2572.2708] <2> backint_process_parm_file: param_variable = INPUTFILE : param_value = FOR 09:51:31.235 [2572.2708] <8> backint_process_parm_file: WARNING: unknown parameter: OUTPUTFILE FOR BACKINT: c:\veritas\netbackup\dbext\sap\backintoracle.out 09:51:31.235 [2572.2708] <2> backint_process_parm_file: param_variable = OUTPUTFILE : param_value = FOR 09:51:31.235 [2572.2708] <8> backint_process_parm_file: WARNING: unknown parameter: ERRORFILE FOR BACKINT: c:\veritas\netbackup\dbext\sap\backintoracle.err 09:51:31.235 [2572.2708] <2> backint_process_parm_file: param_variable = ERRORFILE : param_value = FOR 09:51:31.235 [2572.2708] <8> backint_process_parm_file: WARNING: unknown parameter: STAGING AREA: C:\VERITAS\NetBackup\DbExt\SAP\stage1 100 MB

VERITAS Software

Page 35 of 44

09:51:31.235 [2572.2708] <2> backint_process_parm_file: param_variable = STAGING : param_value = AREA: 09:51:31.235 [2572.2708] <8> backint_process_parm_file: WARNING: unknown parameter: STAGING AREA: C:\VERITAS\NetBackup\DbExt\SAP\stage2 100 MB 09:51:31.235 [2572.2708] <2> backint_process_parm_file: param_variable = STAGING : param_value = AREA: 09:51:31.235 [2572.2708] <4> backint_process_parm_file: INFO - Found SAP_POLICY environment variable, setting policy = washburn_max_db 09:51:31.235 [2572.2708] <4> backint_process_parm_file: INFO - Found SAP_SERVER environment variable, setting server = washburn 09:51:31.235 [2572.2708] <16> backint_process_parm_file: WARNING: drives value missing from parameter file c:\veritas\netbackup\dbext\sap\backint_parameter.txt 09:51:31.235 [2572.2708] <16> backint_process_parm_file: default drives value = 1 09:51:31.235 [2572.2708] <2> backint_process_parm_file: working dir = C:\VERITAS\NetBackup\Logs\user_ops\sap 09:51:31.235 [2572.2708] <4> backint_process_parm_file: INFO - Found SAP_CLIENT environment variable, setting client = washburn 09:51:31.235 [2572.2708] <16> backint_process_parm_file: ERROR: switch_list missing from parameter file c:\veritas\netbackup\dbext\sap\backint_parameter.txt 09:51:31.235 [2572.2708] <16> backint_process_parm_file: ERROR: switch_sem missing from parameter file c:\veritas\netbackup\dbext\sap\backint_parameter.txt 09:51:31.235 [2572.2708] <16> backint_process_parm_file: ERROR: switch_log missing from parameter file c:\veritas\netbackup\dbext\sap\backint_parameter.txt

Similar messages appear in the dbm.ebp log file:


2004-07-07 09:53:48 2004-07-07 09:53:48 Cleaning up. 2004-07-07 09:53:48 Copying output of Backint for MaxDB to this file. 2004-07-07 09:53:48 ---------- Begin of output of Backint for MaxDB (c:\veritas\netbackup\dbext\sap\backint.output)---------2004-07-07 09:53:48 WARNING: unknown parameter: BACKINT: c:\veritas\netbackup\bin\backint.exe 2004-07-07 09:53:48 2004-07-07 09:53:48 WARNING: unknown parameter: PARAMETERFILE OF BACKINT: C:\VERITAS\NetBackup\DbExt\SAP\initDEMO.utl 2004-07-07 09:53:48 2004-07-07 09:53:48 WARNING: unknown parameter: HISTORY FILE: c:\veritas\netbackup\dbext\sap\backinthistory.log 2004-07-07 09:53:48 2004-07-07 09:53:48 WARNING: unknown parameter: INPUTFILE FOR BACKINT: c:\veritas\netbackup\dbext\sap\backintoracle.in 2004-07-07 09:53:48 2004-07-07 09:53:48 WARNING: unknown parameter: OUTPUTFILE FOR BACKINT: c:\veritas\netbackup\dbext\sap\backintoracle.out 2004-07-07 09:53:48 2004-07-07 09:53:48 WARNING: unknown parameter: ERRORFILE FOR BACKINT: c:\veritas\netbackup\dbext\sap\backintoracle.err 2004-07-07 09:53:48 2004-07-07 09:53:49 WARNING: unknown parameter: STAGING AREA: C:\VERITAS\NetBackup\DbExt\SAP\stage1 100 MB 2004-07-07 09:53:49 2004-07-07 09:53:49 WARNING: unknown parameter: STAGING AREA: C:\VERITAS\NetBackup\DbExt\SAP\stage2 100 MB 2004-07-07 09:53:49 WARNING: drives value missing from parameter file c:\veritas\netbackup\dbext\sap\backint_parameter.txt 2004-07-07 09:53:49 default drives value = 1

VERITAS Software

Page 36 of 44

2004-07-07 09:53:49 ERROR: switch_list missing from parameter file c:\veritas\netbackup\dbext\sap\backint_parameter.txt 2004-07-07 09:53:49 ERROR: switch_sem missing from parameter file c:\veritas\netbackup\dbext\sap\backint_parameter.txt 2004-07-07 09:53:49 ERROR: switch_log missing from parameter file c:\veritas\netbackup\dbext\sap\backint_parameter.txt 2004-07-07 09:53:49 WARNING: sort_backup_type not specified in .utl file 2004-07-07 09:53:49 WARNING: default sort_backup_type to <size> for restore 2004-07-07 09:53:49 ERROR: incorrect format or option in .utl file (p) 2004-07-07 09:53:49 2004-07-07 09:53:49 ---------- End of output of Backint for MaxDB (c:\veritas\netbackup\dbext\sap\backint.output)----------

The key to this series of error messages is the Unknown parameter error messages. This indicates the wrong backint is in use, as the NetBackup backint file does not recognize these parameters.

Error if backint parameter file points to the wrong NetBackup configuration file
NetBackup Error: Status 29 - failed trying to exec a command. A command could not be executed. This can occur because the permissions of the command do not allow it to be executed, or there is lack of system resources such as memory and swap space. There is both a backint log (for Veritas), and a dbm.ebp log file. In the Veritas backint log file, the following lines appear:
10:08:57.473 [2816.1388] <16> backint_process_parm_file: ERROR: couldn't open param_file: C:\ VERITAS\NetBackup\DbExt\SAP\initDEMO.utl 10:08:57.473 [2816.1388] <16> c:\veritas\netbackup\bin\backint.exe 5.1: ERROR: incorrect format or option in .utl file (-p)

Calling 'c:\veritas\netbackup\bin\backint.exe -u DEMO -f backup -t file -p C:\\VERITAS\NetBackup\DbExt\SAP\initDEMO.utl -i c:\veritas\netbackup\dbext\sap\backintoracle.in -c' . Backint for Oracle ended at 2004-07-07 10:09:09 with return code 2. Backint for Oracle output: ERROR: couldn't open param_file: C:\VERITAS\NetBackup\DbExt\SAP\initDEMO.utl Backint for Oracle output: ERROR: incorrect format or option in .utl file (-p)

In the dbm.ebp log file, similar messages appear:

The key to this error message is the inability of the backint process to open the parameter file (ERROR: couldn't open param_file). This indicates the parameter file is specified incorrectly.

Error if the backint parameter file points to the wrong backint.exe file
NetBackup Error: Status 29 - failed trying to exec a command. A command could not be executed. This can occur because the permissions of the command do not allow it to be executed, or there is lack of system resources such as memory and swap space.

VERITAS Software

Page 37 of 44

In this case, there is no Veritas backint log file generated. In the dbm.ebp log file, the following message is observed:
2004-07-07 10:19:08 ---------- Begin of error output of Backint for MaxDB (c:\veritas\netbackup\dbext\sap\backint.error)---------2004-07-07 10:19:08 The path of Backint for Oracle is not defined in the parameter file.

This indicates either the path for the Veritas backint is not defined, or defined incorrectly.

Error if wrong backup medium name is used.


NetBackup Error: Status 29 - failed trying to exec a command. A command could not be executed. This can occur because the permissions of the command do not allow it to be executed, or there is lack of system resources such as memory and swap space. In this case, neither the Veritas backint nor the dbm.ebp log files are generated. In the dbm.prt file, however, (found in same location as the dbm.ebp file), there is the following message:
2004-07-07 10:19:09 0x0000056c ERR -24920 DBM ERR_BACKUPOP: backup operation was unsuccessful 0x0000056c ERR -24920 DBM The backup tool failed with 2 as sum of exit codes. The database request was canceled and ended with error -903. 2004-07-07 10:22:19 0x00000a8c 0 DBM command backup_start BACKDEMO_WRONG DATA 2004-07-07 10:22:19 0x00000a8c ERR -24985 DBM ERR_MENOTFOUND: medium not found 2004-07-07 10:22:23 0x000001ac 0 DBM command backup_start BACKDEMO_WRONG DATA 2004-07-07 10:22:23 0x000001ac ERR -24985 DBM ERR_MENOTFOUND: medium not found

The medium not found message is the key to this issue.

Error if staging area is omitted from parameter file


NetBackup Error: Status 29 - failed trying to exec a command. A command could not be executed. This can occur because the permissions of the command do not allow it to be executed, or there is lack of system resources such as memory and swap space. In this case, there is no Veritas backint log file generated. In the dbm.ebp log file, the following error is observed:
2004-07-07 10:43:40 Have encountered error -24920: 2004-07-07 10:43:41 The backup tool failed with 2 as sum of exit codes. The database request was canceled and ended with error -903.2004-07-07 10:43:41

A review of the MaxDB website indicates this error message occurs when the backup failed due to a problem with the database or the backup tool. While this error message appears to be somewhat generic, checking the staging area is a good first step in the troubleshooting process, as that eliminates one known cause of the error message.

VERITAS Software

Page 38 of 44

Errors if restore is attempted with an expired NetBackup image


There is a known issue within MaxDB where the backup images never expire and drop out of the backup history window in the Database Manager GUI. This presents a potential problem where images which have expired within NetBackup show as available in the MaxDB Database Manager GUI. If a restore is attempted, the restore fails, and the following is observed: The job does not display in the NetBackup Administration Console in the Activity Monitor The job shows the following error in the MaxDB Database Manager GUI:

In the dbm.ebp file, the following message is observed:


2004-08-23 09:32:54 2004-08-23 09:32:54 Filling reply buffer. 2004-08-23 09:32:54 Have encountered error -24920: 2004-08-23 09:32:54 The backup tool failed with 2 as sum of exit codes. The database request was canceled and ended with error -903.2004-08-23 09:32:54 2004-08-23 09:32:54 Constructed the following reply: 2004-08-23 09:32:54 ERR 2004-08-23 09:32:54 -24920,ERR_BACKUPOP: backup operation was unsuccessful 2004-08-23 09:32:54 The backup tool failed with 2 as sum of exit codes. The database request was canceled and ended with error -903.

In the Veritas backint log file, a series of message similar to the following appear:
09:31:32.998 [476.2108] <16> backint_do_inquire: ERROR: Netbackup cannot find inquiry request for backup id: NS1092618550, file: C:\apps\VERITAS\NetBackup\DbExt\SAP\stage1.0 09:31:32.998 [476.2108] <4> backint_do_inquire: #NOTFOUND C:\apps\VERITAS\NetBackup\DbExt\SAP\stage1.0 09:31:32.998 [476.2108] <16> backint_do_inquire: ERROR: Netbackup cannot find inquiry request for backup id: NS1091408775, file: C:\apps\VERITAS\NetBackup\DbExt\SAP\stage1.0 09:31:32.998 [476.2108] <4> backint_do_inquire: #NOTFOUND C:\apps\VERITAS\NetBackup\DbExt\SAP\stage1.0

To correct this, use the NetBackup Backup, Archive, and Restore GUI to determine what backup sets are available, and rerun the restore. Then see the Synchronizing Expired NetBackup Images with the MaxDB Backup History section of this documentation for assistance in correcting the mismatched information.

VERITAS Software

Page 39 of 44

Script errors
Errors in the backup script (or .cmd file) are more difficult to troubleshoot, as neither dbm.ebp nor Veritas backint log files are created. If the user IDs or passwords are incorrect, if the utility session is not initiated, or if the wrong database name is specified in the script, the backup will fail, Status code 29. In general, support recommends breaking down the script, and confirming each section of the script can be executed successfully from the command line.

Synchronizing Expired NetBackup Images with the MaxDB Backup History


At this point in time, there is no way within MaxDB to expire a backup image, and remove it from the MaxDB backup history. Please note this is a limitation of MaxDB, and not NetBackup. This does, however, present a potential issue of a backup image being expired in NetBackup, but still showing as available in MaxDB. In order to maintain consistent information in both MaxDB and NetBackup, it is necessary to manually synch-up the backup history of MaxDB and NetBackup.

VERITAS Software

Page 40 of 44

Begin by opening the Backup, Archive and Restore GUI on the MaxDB server, and setting the master and client server names correctly, and specify a policy type of SAP. Then click on the Select for Restore button. This brings up a window similar to the following:

The only backup set NetBackup has in its catalog is a backup from 17 August 2004.

VERITAS Software

Page 41 of 44

Next, open the MaxDB Database Manager GUI, and select the Backup History option for the correct database. This brings up a window similar to the following:

In this example, six backup jobs show as available for restore, while the NetBackup GUI shows only one. To correct this, the dbm.knl file must be manually edited. The dbm.knl file is located in the <install_path>\data\wrk\<database> directory. In this case, since the database is the DEMO database, the dbm.knl file is located in the c:\sdb\data\wrk\DEMO directory. This is a text file, and can be opened with any text editor. The contents of the file look like the following:
40EC2363000D|DAT_00034|SAVE WARM|2004-07-07 11:22:59|2004-07-07 11:22:59|2004-07-07 11:22:59|2004-07-07 11:23:02| 1126| |NO |BACKDEMO | 240| 1| 0| | 40F562EC0002|DAT_00035|SAVE WARM|2004-07-14 11:44:28|2004-07-14 11:44:28|2004-07-14 11:44:29|2004-07-14 11:44:32| 1163| |NO |BACKDEMO | 248| 1| 0| | 410459E70002|DAT_00036|SAVE WARM|2004-07-25 20:09:59|2004-07-25 20:09:59|2004-07-25 20:10:01|2004-07-25 20:10:02| 1172| |NO |BACKDEMO | 248| 1| 0| | 410D937F0002|DAT_00040|SAVE WARM|2004-08-01 20:06:07|2004-08-01 20:06:07|2004-08-01 20:06:07|2004-08-01 20:06:11| 1191| |NO |BACKDEMO | 248| 1| 0| | 4120092F0002|DAT_00041|SAVE WARM|2004-08-15 20:09:03|2004-08-15 20:09:03|2004-08-15 20:09:04|2004-08-15 20:09:07| 1201| |NO |BACKDEMO | 248| 1| 0| |

VERITAS Software

Page 42 of 44

4122422A0003|DAT_00042|SAVE WARM|2004-08-17 12:36:42|2004-08-17 12:36:42|2004-08-17 12:36:42|2004-08-17 12:36:45| 1202| |NO |BACKDEMO | 248| 1| 0| |

Note in the fourth section, the date and time of the backup are clearly indicated. Compare the information in the NetBackup GUI to the information in the file, and remove any lines from the dbm.knl file which do not have a corresponding backup set in the NetBackup GUI. In the above examples, lines in the dbm.knl file above would need to be removed EXCEPT the last line, which contains the backup information from the 17 August 2004 backup.

Switching the Operating System


When restoring, it is possible to switch from Microsoft Windows to Linux and vice versa. This means a backup created on the operating system Microsoft Windows may be restored to the same operating system or to Linux. A backup created on Linux may be restored to the same operating system or to Microsoft Windows. Treat this sort of restore in the same manner as any other alternate client restore.

Web Database Interface


One of the options which can be installed with MaxDB is the WebDBM interface which allows the databases to be administered from a web browser. After downloading and installing WebDBM software on MaxDB server, start the web server service (SAP DB WWW) To start the Web Server at the command prompt, enter the following command: net
start sapdbwww stop sapdbwww

To stop the Web Server at the command prompt, enter the following command: net

Information about the configuration of the web server portion of MaxDB is found in the registry path HKEY_LOCAL_MACHINE\ SOFTWARE\SAP\SAP DBTech\WebAgent75\HTTP, and contains the following entries:
Browsable=0 DefaultDocument=index.html DocumentRoot=<independent_program_path>\web\Documents LogDirectory=<independent_program_path>\web\Log LogRequests=1 MaxThreads=10 MimeTypeFile=<independent_program_path>\web\config\mime.types Port=9999

The values and their associated value data are: Browsable: Determines if the contents of the directories under DocumentRoot are visible using a browser. 0: The contents are not visible 1: The contents are visible DefaultDocument: Used to change the start page of the web server, if desired. VERITAS Software Page 43 of 44

DocumentRoot: Changes the path for the root directory of the web pages, if necessary. LogDirectory: If LogRequest is set so that HTTP accesses are logged, accesses to the MaxDB Web Server are logged in the files httperr.log and httpreq.log. These log files are written in the directory specified in LogDirectory. LogRequests: Determines if the HTTP accesses are logged. 0: HTTP accesses are not logged. 1: HTTP accesses are logged. MaxThreads: Determines the maximum number of threads which can be used to process access to the Web Server. When the Web Server is started, the threads are also started as a thread pool. MimeTypeFile: Defines the MIME type file, if necessary. Port: Allows the administrator to change the port address for the Web Server, if desired.

VERITAS Software

Page 44 of 44