Automatically recover a consolidated database. To apply the transaction logs manually, see Recovering a consolidated database manually.
You must have the BACKUP DATABASE system privilege.
Make a copy of the database and transaction log file. This procedure assumes that previous backups of the database file have been made and are available, for example on tape.
Restore the most recent backed up copy of the database (.db) file, not the transaction log file, from tape into a temporary directory.
In the temporary directory:
Start the database, applying the transaction logs using the -ad option.
When you specify the -ad option, the database server looks in the specified directory for the transaction logs for the database. It then determines the correct order to apply the transaction logs based on the transaction log offsets.
Copy the current transaction log to the temporary directory.
Start the database and apply the current transaction log.
Shut down the database server.
Back up the database and transaction log.
Copy the database and transaction log files to the appropriate production directories.
Restart your system as normal.
Any new activity is appended to the current transaction log.
Suppose you have a consolidated database file named c:\dbdir\cons.db, a transaction log file c:\dbdir\cons.log, and a transaction log mirror file d:\mirdir\cons.mlg.
Assume that you perform full backups weekly using the following command:
dbbackup -c "UID=DBA;PWD=sql" -r -n e:\backdir
Assume that you also perform incremental backups daily using the following command:
dbbackup -c "UID=DBA;PWD=sql" -r -n -t e:\backdir
This command backs up the transaction log cons.log to the directory e:\backdir. The transaction log file is then renamed to datexx.log, where date is the current date and xx is the next set of letters in sequence, and a new transaction log is started. The directory e:\backdir is then backed up using a third-party utility.
In this scenario, you would run the SQL Remote Message Agent (dbremote) with the optional directory to point to the renamed transaction log files. For example:
dbremote -c "UID=DBA;PWD=sql" c:\dbdir
On the third day following the weekly backup, the database file is corrupted because of a bad disk block. Perform the following steps:
Replace the c:\ drive.
Back up the transaction log mirror file d:\mirdir\cons.mlg.
Create a temporary directory to perform the recovery in. In this example, it is called c:\recover.
Restore the most recent backup of the database file, cons.db to c:\recover\cons.db.
Copy the backed up transaction logs to c:\dbdir.
Apply the renamed transaction logs:
dbeng16 c:\recover\cons.db -ad c:\dbdir
Copy the current transaction log, d:\mirdir\cons.log to the recovery directory, giving c:\recover\cons.log.
Start the database using the following command:
Shut down the database server.
Back up the recovered database and transaction log from c:\recover.
Copy the files from c:\recover to the appropriate production directories:
Copy c:\recover\cons.db to c:\dbdir\cons.db.
Copy c:\recover\cons.log to c:\dbdir\cons.log, and to d:\mirdir\cons.mlg.
Discuss this page in DocCommentXchange.
|Copyright © 2014, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0|