Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 11 total
Thread Guidence for a full system restore
Wed, Jun 1 2016 6:24 AMPermanent Link

Adam Brett

Orixa Systems

One of my users had a Server freeze totally on Monday. Requiring a full system restore.

I had backups for their system's 2 databases taken from Saturday night, up to date enough ...

There are quite a few steps in re-creating a whole server from scratch Smile... but most are not too technical.

The main item I had lost was the Session Level data for the server (Stores, Jobs, Users) as these are (pretty obviously) not saved in a "Backup Database" SQL process. My bad.

It is fairly easy to write / generate the SQL to recreate these database objects, but it would be great if this process was integrated into a single statement such as "Backup Session" ... I don't think such a statement exists at the moment.

What do other users do to cover themselves for this problem?
Wed, Jun 1 2016 7:54 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Adam,

<< One of my users had a Server freeze totally on Monday. Requiring a full system restore. >>

An *EDB Server* freeze, or an actual server machine freeze ? (!)

<< It is fairly easy to write / generate the SQL to recreate these database objects, but it would be great if this process was integrated into a single statement such as "Backup Session" ... I don't think such a statement exists at the moment. >>

This is something that I wanted to pick up in the spring round of enhancements, but didn't get to it.  I will try to do so in the next round after the EWB 2.05 release is out (should be this week).

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Jun 1 2016 8:52 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Adam


I do a nightly database backup then every so often I dump the entire live directory structure (and contents obviously Smiley onto DVD. Since the database etc doesn't change much that's usually good enough.

Roy Lambert
Wed, Jun 1 2016 8:27 PMPermanent Link

Steve Gill

Avatar

Hi Adam,

<< The main item I had lost was the Session Level data for the server (Stores, Jobs, Users) as these are (pretty obviously) not saved in a "Backup Database" SQL process. My bad.

It is fairly easy to write / generate the SQL to recreate these database objects, but it would be great if this process was integrated into a single statement such as "Backup Session" ... I don't think such a statement exists at the moment.

What do other users do to cover themselves for this problem?  >>

I have a job that calls a method in a module.  The method makes a back up of the .config and .catalog files every night.  Basically it just copies them to a folder with the date and time appended. It also copies those backups and the system backups to a folder on Dropbox.

= Steve
Thu, Jun 2 2016 5:04 AMPermanent Link

Adam Brett

Orixa Systems

>>An *EDB Server* freeze, or an actual server machine freeze ? (!)

No problem with EDB, the hardware failed completely, including the HD.

The machine is in a factory in Ghana ... most probably it was hit by lightning (Smilethe weather there can be quite extreme and the electrical systems are very poor.
Thu, Jun 2 2016 5:07 AMPermanent Link

Adam Brett

Orixa Systems

>>I do a nightly database backup then every so often I dump the entire live directory structure (and contents >>obviously Smiley onto DVD. Since the database etc doesn't change much that's usually good enough.

Unfortunately my system is accessed with the db updated and changed pretty much 20 hours per day, and off-site staff have replication-based systems which maintain state with the main DB.

This means I just can't use a "restore the folders" version of backup, I have to use EDB BU files (which can be created while all other processes are running). A folder copy would include versions of files that were out of synch with each other.
Thu, Jun 2 2016 5:10 AMPermanent Link

Adam Brett

Orixa Systems

Thanks Steve

>>I have a job that calls a method in a module.  The method makes a
>>back up of the .config and .catalog files every night.  Basically it just
>>copies them to a folder with the date and time appended. It also copies
>>those backups and the system backups to a folder on Dropbox.

This is something I thought about, but I wasn't totally sure of what is actually _in_ these files & whether it is really safe to just paste one back on a new machine in case of an error.

For example, say the folder structure on the new machine does not exactly match the folder structure on the old machine (for the location of stores etc.) ... would the old CAT and CONFIG files cope with that or would they just fail?
Thu, Jun 2 2016 5:12 AMPermanent Link

Adam Brett

Orixa Systems

Tim

>>This is something that I wanted to pick up in the spring round of
>>enhancements, but didn't get to it.  I will try to do so in the next
>>round after the EWB 2.05 release is out (should be this week).

That would be great!

A routine to generate SQL to recreate all session variables would be brilliant, or to create a Backup of the Catalog/Config.

However it would be really useful if the resulting file was not dependent on being reinstalled to the exact same set up it was saved from.
Fri, Jun 3 2016 7:40 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Adam,

<< A routine to generate SQL to recreate all session variables would be brilliant, or to create a Backup of the Catalog/Config. >>

That information is actually present in the CreateSQL column in the system information tables:

http://www.elevatesoft.com/manual?action=viewtopic&id=edb2sql&topic=Configuration_Database

And there are reverse-engineering methods in the TEDBReverseEngineer component in the edbutilcomps.pas unit that is included with the EDB Additional Software and Utilities download:

        function GetModuleCreateSQL(const ModuleName: String): String;
        function GetTextFilterCreateSQL(const TextFilterName: String): String;
        function GetWordGeneratorCreateSQL(const WordGeneratorName: String): String;
        function GetMigratorCreateSQL(const MigratorName: String): String;
        function GetUserCreateSQL(const UserName: String): String;
        function GetRoleCreateSQL(const RoleName: String): String;
        function GetUserRoleCreateSQL(const UserName: String;
                                      const RoleName: String): String;
        function GetDatabaseCreateSQL(const DBName: String): String;
        function GetStoreCreateSQL(const StoreName: String): String;
        function GetJobCreateSQL(const JobName: String): String;

These are essentially the building blocks of what will become the reverse-engineering for the configuration-level objects in the EDB Manager.

Tim Young
Elevate Software
www.elevatesoft.com
Sat, Jun 4 2016 3:25 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Adam


Reading this again and thinking about it your problem seems to be the infrastructure around the database rather than the data. When you set the server up why not clone its hard drive to an external drive? If you update the catalog it would take seconds to plug back in and copy the config / catalog files across. The data would be out of date but who cares? That can be restored from backups.

I use an esata connected external HDD and can rip out the SSD, plug that in and keep going fairly quickly. I only have a 250Gb SSD and it takes c20 minutes to clone initially. Changes are either copied over to it or can be restired from my normal backups.

Roy Lambert
Page 1 of 2Next Page »
Jump to Page:  1 2
Image