| Home | Company | Contacts | Products | Support | News | Index |
| Prerequisites
What is a desktop database good for? Features introduced with the new SQL desktop database Volume conversion to the new SQL desktop format Volume restore to the old desktop format Online backup copies of a live volume (sample script) Re-indexing the desktop database PrerequisitesAlthough we are pretty sure that everything works as expected, it is recommended to backup the current desktop database before testing the new SQL desktop database beta. The prerequisites for this beta are:
Time-out on February 1, 2009 (will be extended upon demand) What is a desktop database good for?Unique file/folder IDs
Mac and Windows compatibility
Fast "find file" searching
Future meta data support Features introduced with the new SQL desktop database
InstallationDownload SQL desktop database beta 3. Stop the HELIOS services: Save the original desktop server, e.g.: Extract the downloaded "<arch>.tgz" archive. In case you encounter problems extracting the downloaded "<arch>.tgz" file, Then start the HELIOS services again: Note: The SQL desktop database beta 3 cannot be installed, updated, or uninstalled via the HELIOS Update Installer! Volume conversion to the new SQL desktop formatBy default the old desktop database format is used. The new format can be enabled per volume using the "UseSQL" preference, e.g. for the volume "/data1/demovol": # prefvalue -k "Volumes/\/data1\/demovol/UseSQL" -t bool TRUE A rebuild will create the new desktop database file via: # rebuild -f /data1/demovol Download the "vollist.pl" script which outputs the proper volume conversion command for each volume. Please note: If a volume is mounted instead of rebuilding the NEW desktop file format, an automatic rebuild will take place. The volume should only be used after the rebuild is complete. Volume restore to the old desktop format# prefvalue -d -k "Volumes/\/data1\/demovol/UseSQL" Please note: If a volume is mounted instead of rebuilding the OLD desktop file format, an automatic rebuild will take place. The volume should only be used after the rebuild is complete. PerformanceIdentical with existing release, performance mainly depends on disk and file system performance. Online backup copies of a live volume (sample script)Regularly backing up volumes that contain sensitive data is a must. In doing so, the desktop database is also saved. However problems may arise if the desktop database is being changed while it is saved, due to file changes by the HELIOS file servers. When restoring the backup to the volume, the database may be inconsistent, which will lead to failures or error messages.One workaround is to make the volume inactive during the time span of the backup. Another, quite better method is to lock the desktop database for the time span that it is saved and copy the intact ".Desktop" file into a temporary directory, and copy the saved desktop file into the restored volume. An online ".Desktop" backup copy can be done with the following script: (The script can be called on the command line via perl backup-desktop.pl) #!/usr/bin/perl -w # This script opens the ".Desktop" database, issues an exclusive lock # Path to the HELIOS volume: my $errlog = "/tmp/db_cp_log$$"; if (not -f "$volpath/.Desktop") { # Find the HELIOS installation directory. # Let the desksrv flush the database. open(FSQL, "|$heliosdir/bin/sqlite $volpath/.Desktop >$errlog 2>&1") || # Check if the logfile contains error messages. system("/bin/rm", "$errlog"); Re-indexing the desktop databaseThe new transaction database does not need any rebuild to go online after an abort such as power failure. However file changes that have been done without using the HELIOS "dt" tools (e.g.: a host script not using the "dt" tools, restoring partial volume data from a system backup, non-HELIOS compatible file changes, e.g. ftp uploads, non "dt" folder renames) require a desktop rebuild in order to obtain a proper index of the volume. Please note that an up-to-date desktop database is required for EtherShare and PCShare clients because they access files via unique IDs. Wrong or missing IDs will result in major problems. Warning: Using non-HELIOS desktop compatible file services, e.g. Samba on a live HELIOS volume will cause problems such as jumping Finder listings, strange "File not found..." messages, etc.
Important: It is recommended to check that sufficient free space is available on the disk before rebuilding the desktop. New preferencesVolume preference: <All volume preference keys require the volume to be mounted anew to take effect!> UseSQL <bool; default=FALSE> Activates the SQL database for the volume Desktop server preference: <All desktop server preference keys require a service restart to take effect!> SQLFlushDelay <int; default=60> Time in seconds before the live desktop database is flushed SQL desktop database engineThe SQL desktop uses the underlying "Sqlite Version 3.2.1" database file format. We include the command line "sqlite" tool within the HELIOS "bin" directory. Most common built-in "sqlite" commands:
Warning: The Mac OS X 10.4 or any other "sqlite" distribution is incompatible with the HELIOS SQL desktop version, therefore non-HELIOS delivered "sqlite" tools or libraries will not work or will result into locking problems, which will damage the database. It is safe to use the HELIOS included "sqlite" command. The SQLite SQL documentation can be found here: http://www.sqlite.org/docs.html Tip: Modifying the the SQL desktop database should only be done by experienced developers who know about SQL and the file/directory ID requirements within the HELIOS products. Locking the database for a long period (longer than a few seconds) may result in network time-outs of the remotely connected Mac or Windows clients. If clients attempt to change volume information and the desktop database file of that volume is locked, you will see a warning message like: "Warning, desktop DB busy by another process". The HELIOS "desksrv" service will prepare changes into a transaction and flushes this every 60 seconds (default value; see sqlflushdelay above), to ensure that the SQL desktop file contains the latest information. The "srvutil reconf desksrv" command will issue a flush command for volumes. Changes for beta 1
Changes for beta 3Time-out of the SQL desktop database beta 3 has been extended to February 1, 2009. Known issuesAccidentally removed volume definition in HELIOS Admin: In case an SQL desktop volume has been removed via HELIOS Admin, re-entering the volume via HELIOS Admin will automatically rebuild the database using the old desktop file format. This is due to the fact, that after creating a new volume, HELIOS Admin will open the ".Desktop" file and find an unexpected SQL ".Desktop" file format. To avoid an automatic rebuild with the non-SQL format, the volume can be entered via preferences. There are several solutions to overcome this problem:
Download the "vollist.pl" script which outputs the proper volume conversion command for each volume. A final version will use the SQL desktop format by default for all read-write volumes. Therefore this issue will disappear. Rebuild messages: The command rebuild -s scan may issue error messages like "orphan .rsrc file" or "zero ID" for the ".Desktop-journal" file. These can be ignored. No desktop rebuild is required. Database lock messages: "SQL error: database is locked" message from "backup-desktop.pl" In case the above message is issued though no client is actively working in the volume, it is possible that data is being written in that particular moment, so just try the backup again. FeedbackPlease report errors or make suggestions to: beta (at) helios.de. |
| Home | Company | Contacts | Products | Support | News | Index |