cancel
Showing results for 
Search instead for 
Did you mean: 

Is there a way to backup the files outside of Advantages Backup?

jamesfflagg
Explorer

I need a way to backup the files outside of Advantages Backup because I need the ADIs backed up. One of our clients it takes over 20 hours to reindex their tables if their server goes down. They need an option have a copy of the data made every 24 hours so if their server crashes they can switch their connection to the backup server and be up an going as fast as possible. We suggested making an app that disconnects every user at a specified time and doing a copy of their data files to the other server but the issue is they are a 24/7 shop and need to be able to copy the files while in use.

The answer seems to be replication but some of the tables are old DBF Clipper tables which I think replication does not work on.

I don't think you can use Windows replication like DFS because the files are locked in someway preventing them from being copied while Advantage database server has control of them. I don't know if it is an Open File Stream or a Link file or what because I have never got an answer back on how this works.

If I am wrong about any of this please let me know. In any case we need a solution because a restore from backup and reindex is not an answer. It takes way too long to do this.

Side question is there a quick way to scan through the tables to see which ones have bad indexes?

Thanks,

Jim

Accepted Solutions (1)

Accepted Solutions (1)

joachim_drr
Contributor
0 Kudos

To get a transaction consistent backup, you need to use adsbackup. If it's not from within a data dictionary, it'll back up the index files as well. Using a data dictionary will not allow to backup ADT from outside, DBF will work.

The only other way I know is to stop ADS and then run a file copy.

Answers (5)

Answers (5)

twpolk
Discoverer
0 Kudos

Since ADS does not support VSS (Volume Shadow Services) or utilize any sort of journaled file system the only options for a point in time backup are:

- Use the ADS backup utility

- Use a disk image (ShadowProtect/Acronis) type snapshop but you will have to stop the database engine while the backup occurs

- If the system is virtualized, utilize a VM Snapshot process to capture the disk in a "stopped" state. Restore "typically" work but not 100%, in my experience,

Otherwise - it is a a restore and index rebuild (and multiple hours of downtime)

0 Kudos

Hi Jim.

-In the past I've dealt with old Novell servers that would go down in multiple locations from time to time, when coming back up and running is of an essence. Many dbfs, many indexes, many records (some in millions) involved. Mostly FoxPro 2.5 or 2.6 DOS, Windows but it'd happen in VFP 6, and nowadays in Visual Foxpro 9 too. I didn't have that problem while doing Clipper (ver Summer87) but then again those were stand-alone programs, no shared database on a network server.

My experience was that the fastest way to rebuild the index files was to have a few foxpro programs that will do that. Split them dbf by dbf, with their indexes and keys defined (with INDEX ON command) and run them on different PCs. If it's from Clipper time, I'd guess the index files are NDX types, maybe IDX too, not the structural compound index CDX file.

Reindexing usually goes very fast, in my opinion.

- in the CDX case, the file will get 0 bytes file size when corrupted. Like in tcustomer.dbf and tcustomer.cdx .
You can check if that can help you out identify (and shorten the time!) the corrupted indexes, because most of them would be fine.
Otherwise, the best solution for identifying those pairs of files (or multiple indexes per DBF) is to write a quick foxpro program that will put all of the files names in an array, using ADIR(), and in a loop try to open them one by one and put all of the corrupted cdx in a resulting dbf/xls/csv rows. So you'll get the list of the problematic ones only.

Running an exe like that shouldn't take more than a minute-two for 500-1000 of files.

Good luck,

Sime

PS Sorry, not a lot of suggestions on the backup process - I'm not familiar with the SAP system.

joachim_drr
Contributor
0 Kudos

Another idea:

Use a virtualisation for your database and file server (like VMWare) and run frequent backups of the virtual disk at the host (use a software like VEEAM). If anything fails, you can just start the backup as a new virtual machine and that's it.

It might be slower because of the doubled file system, but I've seen a lot of ADS in VMWare instances running at customers.

jamesfflagg
Explorer
0 Kudos

This is a good suggestion but the issue is that we are using some old Clipper database tables which were made before the concepts of auto incrementing keys and stored procedures. The way the primary keys are maintained is through a Keys table using Table Factories (like triggers in that they handle events for the tables) which go and lookup the next key for the table. The issue is once the Key table is copied and if another user makes an entry into a table after it is copied then the keys table gets out of sync with that table making the backup bad. We could redesign the whole database to use modern functions like triggers and auto incramenting keys which would solve this problem but that is a lot of work.

mtroulis
Explorer
0 Kudos

This is what I did to allow nightly backups (not sure if it works for DBF files):

Run the ADS Configuration Utility on your server

Click on Configuration Utility tab

Click on Misc Settings Tab

Check off Non-Exclusive Propietary Locking

Restart the service.