cancel
Showing results for 
Search instead for 
Did you mean: 

Restore log

Former Member
0 Kudos

Hi,

I was trying to recover database on diff host & recovered data by database copy method.

But when trying to recover log files until specific time i was getting

ERR_SQL: SQL error

0x00006916 ERR -24778 DBMSrv -903,Host file I/O error

0x00006916 ERR -24778 DBMSrv 6,k38headmaster, Errorcode 3700 "hostfile_error"

0x00006916 ERR -24778 DBMSrv 6,RestoreLog, Errorcode 3700 "hostfile_error"

Any ideas.

Thanks in advance.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

here it is

1.System copy - database method along with log files

2.with out applying logs itself the DB is in consistent state.(db_restartinfo)

3. I want to recover the DB to specific point in time(1:00pm), so applied a log1(saved at Time 12:35 pm, backup taken at 12:00pm). In order to be at 1:00 pm i thought have to apply log 2 also.

4.But after applying log 1 - return code 0 & DB is online automatically.

5. Now not able to apply log 2.

former_member229109
Active Contributor
0 Kudos

Hello,

1) What is the version of the database?

Please post the dbm.knl < backup history > information entries of the source database for the databackup and log backups.

Please also post the < backup history < dbm.knl > > information entries of the target database for the restore of databackup and log backups.

Also the commands from the dbm.prt of the target database

***

For example on my local server, I run simple test::

Target database:

4A4D06E90004|DAT_000000001|SAVE WARM|2009-07-02 12:13:45|2009-07-02 12:13:45|2009-07-02 12:13:45|2009-07-02 12:13:45| 1174| |NO |INITIALBACKUP | 376| 1| 0| |

4A4D06FD0005|LOG_000000001|SAVE WARM|2009-07-02 12:00:07|2009-07-02 12:13:45|2009-07-02 12:14:05|2009-07-02 12:14:05| 0| 1174| |LOGBACKUP | 512| 1| 0| |

4A4D07DF0006|LOG_000000002|SAVE WARM|2009-07-02 12:17:07|2009-07-02 12:17:32|2009-07-02 12:17:51|2009-07-02 12:17:52| 1175| 3304| |LOGBACKUP | 1264| 1| 0| |

u2026.

2) After I run the recovery with initialization on target & import the databackup label DAT_000000001,

I started the log backups recovery and I run the recovery of the log backups until 2009-07-02 13:03:21

...

backup_restore "LOGBACKUP" LOG 001 UNTIL 20090703 130321

u2026

After the recovery of the log backup one finished, the recovery of the log backup 2 started and as

Log backup 2 has entries database logging from 2009-07-02 12:17:07 to 2009-07-02 12:17:32, the

Database was left in admin status. I got error that the log backup 3 could not be found.

I could cancel the recovery => to bring the database to offline status. And when the log backup 3

Will be available on the target server, I could start the database in admin and continue the recovery.

3) After I run the recovery with initialization on target & import the databackup label DAT_000000001,

I started the log backups recovery and I run the recovery of the log backups until 2009-07-02 12:17:08

u2026

backup_restore "LOGBACKUP" LOG 001 UNTIL 20090702 121708

...

After the recovery of the log backup one finished, the recovery of the log backup 2 started and as

Log backup 2 has entries database logging from 2009-07-02 12:17:07 to 2009-07-02 12:17:32, the

Database was online at the end.

Thank you and best regards, Natalia Khlopina

Answers (2)

Answers (2)

Former Member
0 Kudos

It's clear now.

markus_doehr2
Active Contributor
0 Kudos

Any errors before that? This error message means that the system can't access the file.

how did you start the log recovery?

Markus

Former Member
0 Kudos

Hi, thanks issue resolved, not able to access file.

Suppose say i want to recover DB in point in time using recover commands. Once the log is applied the DB automatically went to online mode. What if now i want to apply more logs.

Is it possible (b'coz it says The LogIOSequencenumber of the savepoint is not in the range from the backup).

lbreddemann
Active Contributor
0 Kudos

> Suppose say i want to recover DB in point in time using recover commands. Once the log is applied the DB automatically went to online mode. What if now i want to apply more logs.

Hi Kobby,

1. Point-in-Time-Recovery is evil in 99% of all cases! Be very carefull with that.

2. Once the database went online, there's no way to get any further logs to be recovered.

You'll have to repeat the whole restore/recovery again.

What you have to do here is either use the recover_replace command when performing the recovery via DBMCLI or press the "BACK" button in the Recovery Wizard of DBMGUI to specify further log backups that should be recovered.

> Is it possible (b'coz it says The LogIOSequencenumber of the savepoint is not in the range from the backup).

Sure it is possible - just do it as it is described in the documentation...

And where and when do you get this error message?

After you brought the database online?

regards,

Lars

Former Member
0 Kudos

Yes database went online automatically after restore first log file( it didn't give me a chance to use recover_replace after using recover_start it is online automatically).

Then i brought DB to admin mode again & tried to restore second log, it throws the error.

Shouldn't we have control whether to bring DB online or not after applying a log.

Edited by: Kobby bryant on Jul 2, 2009 8:39 PM

former_member229109
Active Contributor
0 Kudos

Hello Kobby,

Did you use the DBMGUI or dbmcli tool?

1) MAXDB library documentation available at http://maxdb.sap.com/doc/7_6/default.htm

< Tutorials -> Tutorial Database Administration -> Restoring Database Instances

< and Setting Up and Updating Standby Instances >

2) "The LogIOSequencenumber of the savepoint is not in the range from the backup"

Please keep the database in admin or offline mode then you could continue

import the log backups from the source database instance.

Source server: You created the databackup & logbackups

Target server: Create the database instance for the restore,

and import the complete data backup from source to target.

Continue with recovery of the log backups in sequence.

To identify what log backup you need to recover first, please check the

backup history of the source database. For example, I displayed the

Dbm.knl file::

...

4964AECD0003|LOG_000000005|SAVE WARM|2008-11-14 09:36:51|2009-01-07 05:30:55|2009-01-07 05:31:57|2009-01-07 05:32:11| 8797925| 9007230| |SC1 log backup | 42688| 1| 0| |

497A5EC50004|DAT_000000015|SAVE WARM|2009-01-23 16:20:23|2009-01-23 16:20:23|2009-01-23 16:20:32|2009-01-23 16:20:35| 9092589| |NO |complete | 0| 0| -903|wrong path specified [3]

4990AF060001

DAT_000000016

SAVE COLD

2009-02-08 17:56:46

2009-02-08 17:56:46

2009-02-09 14:33:20

2009-02-09 17:01:49

9176555

NO

SC1 data backup

3378608

1

0

499A86C90004|LOG_000000006|SAVE WARM|2009-01-07 05:31:55|2009-02-17 01:43:33|2009-02-17 01:43:37|2009-02-17 01:45:15| 9007231| 9215617| |SC1 log backup | 42688| 1| 0| |

49D1D7240003|LOG_000000007|SAVE WARM|2009-02-17 01:43:33|2009-03-31 01:41:06|2009-03-31 01:41:08|2009-03-31 01:43:36| 9215618| 9431709| |SC1 log backup

u2026

I have the databackup with label DAT_000000016 created successfully.

If I will import this databackup to target database, the next page must be 9176555.

The log backup LOG_000000006 < from 9007231to 9215617 > has the page number 9176555 in.

==>

on the target server we run:

dbmcli -d TARGET -u control,control

dbmcli on TARGET>medium_put "SC1 data backup" "D:\SC1DataBackUp\DATA" FILE DATA

...

dbmcli on TARGET>db_connect

dbmcli on TARGET>db_activate RECOVER "SC1 data backup"

u2026

dbmcli on TARGET>recover_start "SC1 log backup" LOG 6

dbmcli on TARGET>recover_replace "SC1 log backup" <loc/file> 7

...

Don't use recover_ignore command until all needed log backups will be imported.

4) Please review the documents at section "Backup / Recovery" at wiki

wiki.sdn.sap.com/wiki/display/MaxDB/Main -> SAP MaxDB HowTo

See "SAP MaxDB and liveCache" Blogs on the topic of Backup/recovery

5) Are you SAP customer?

Thank you and best regards, Natalia Khlopina

Edited by: Natalia Khlopina on Jul 2, 2009 12:12 PM

Former Member
0 Kudos

so even though it goes to online mode automatically, i can still bring it admin mode & apply the next log.

Note: Recovering DB at specific point in time

Edited by: Kobby bryant on Jul 2, 2009 9:27 PM

lbreddemann
Active Contributor
0 Kudos

> Yes database went online automatically after restore first log file( it didn't give me a chance to use recover_replace after using recover_start it is online automatically).

I'd like to see the dbm.prt and the dbm.utl for that if you don't mind.

Also I'd like to know: had this been a system copy? If so, did you perform a recovery with initialization or did you just recover a data backup?

One important thing to remember is that when MaxDB finds further log data in the log area it automatically assumes that the data in the log area is the "end" of the redolog chain and finishes the recovery.

It's a short cut path to the complete recovery. That's what restore and recovery are mainly made for: get your database to the latest state.

So in case the instance already existed and you want to perform a recovery to a log that was created "after" the logs in the log area (something that could happen with system copies ONLY), then you've to use [db_activate recover|http://maxdb.sap.com/doc/7_7/44/ed5673c85b67d6e10000000a155369/content.htm] instead of recover_begin.

regards,

Lars

former_member229109
Active Contributor
0 Kudos

Hello,

1)"so even though it goes to online mode automatically, i can still bring it admin mode & apply the next log."

-> No.

2) I wrote, that if you kept the database in admin or offline status after you imported the databackup, logbackup => you could continue with the importing the log backups in sequence.

3) If you didn't use Ignore option & canceled the restore of the log backups =>

The database will be offline. So you will start the database in admin and continue the recovery of the next log backup in sequence.

4) Please post more details of the running steps. Did you use the DBMGUI tool or dbmcli?

Thank you and best regards, Natalia Khlopina