on 07-02-2009 4:07 PM
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.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
It's clear now.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Any errors before that? This error message means that the system can't access the file.
how did you start the log recovery?
Markus
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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).
> 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
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
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
> 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
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
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.