Page 1 of 1

Backup exception

Posted: Wed Sep 02, 2009 4:39 pm
by davidmellow
Since a 6.1.11 - 6.2 - 6.3.4 upgrade, an exception has popped up in our backup logs...

09:53:13.017 File _syspkgs[29] control file status is offline
09:53:13.048 *** Backup file _syspkgs failed due to error: Cannot access an offline database file (3162) ***

The backup continues, and on our test system, the resulting backup seems to restore OK.

(I am kind of assuming the "Cannot access..." refers to the fact there is not a _syspkgs.bin in the source directory - should there be?)

Anyway, although superficially restore seems OK... I'm wondering about that error, cause and possible implications, given it is after a two-step major upgrade.

Regards
David

Re: Backup exception

Posted: Wed Sep 02, 2009 4:48 pm
by BeeJay
It sounds like you're not excluding the system files (_sys*.bin) from your backup routine. Since around the 6.1 release, or possibly earlier, the _sys*.bin files are not updated via patches but rather shipped in their entirity in any HotFix that requires them to be updated. This means that your backup process can simply backup these files in the same way as all the other files in your /bin folder and any backup you take using the JadeDatabaseAdmin class should now specifically exclude these system files.

If you make these changes to your backup routine you should find the warning message you're currently encountering no longer occurs.

Cheers,
BeeJay.

Re: Backup exception

Posted: Wed Sep 22, 2010 6:10 pm
by mjagers
How are you achieving your backup?

If you've developed your own :
- and iterating through the DbFile entities, then if the DbFile.excludeFromBackup attribute is true, then this DbFile should not be included in the backup. The DbFile object for_syspkgs has this attribute set to true.
- are using the JadeDatabaseAdmin method backupAllDbFiles, then setting the second argument IncludeSystemFiles to false means that the system files (of which _syspkgs is one) will not be subject to backup.

Re: Backup exception

Posted: Thu Sep 23, 2010 9:52 am
by Jade Support
Hello David,

The responses from both beejay and mjagers are correct.

The problem is the _syspkgs.bin file is defined in the schema and database control files. This file exists but is not shipped in user releases therefore it is marked 'offline'. Since the JADE 6.1 release we have recommended that the _sys*.bin files should be installed and maintained along with other codefiles (those files installed to the "bin" directory). Since that release we no longer provide patches to system files, they are provided in binary format and can always be restored from release or hot fix media.

If you've developed your own backup solution you can avoid the problem by setting includeSysFiles = false in the following method call:

Code: Select all

JadeDatabaseAdmin::backupAllDbFiles(backupDir, includeSysFiles, verifyFiles, compressFiles, overwriteFiles, quiescedBackup, droppedFiles);
The includeSysFiles parameter was left in this method to allow internal tools to backup system files.
Set the includeSysFiles parameter to false if you do not want to include system files in your backup
process (that is, files categorized by Kind = DbFile.Kind_System). For details about the kinds of
database files that you can back up, see the DbFile class kind property or “DbFile Class Constants”
in the Encyclopaedia of Classes Volume 1.
Regards,