Virtuoso Open Source 6.1.0 Upgrade Notes
Introduction
- Always make sure the database has been properly shutdown and the transaction log (
virtuoso.trx) is empty before performing any of the following updates/upgrades.
- Before upgrading any database, it is always a wise precaution to make a proper backup.
Upgrading to VOS 6.1.0 from VOS 5.x
The database file format has substantially changed between VOS 5.x and VOS 6.x. To upgrade your database, you must dump all data from the VOS 5.x database and re-load it into VOS 6.x.
***NOTE*** Previous to VOS 6.1, VOS 6.x servers would try to work against VOS 5.x database files. This can cause irreparable corruption. Please proceed with caution.Regular VOS 5.x RDBMS tables can be dumped with the dbdump tool, producing scripts that can be replayed using the isql tool.
For the VOS 5.x RDF_QUAD table, we have a set of stored procedures that will dump graphs into a set of backup files, which can then be reloaded into the VOS 6.0 database.
Contact us at <vos.admin@openlinksw.com> for more info.
If you attempt to start a VOS 5.x database with a VOS 6.1 or later server, the server will print a message like that below, and refuse to launch:
The database you are opening was last closed with a server of version xxxx. The present server is of version yyyy. This server does not read this pre-6.0 format.
Upgrading to VOS 6.1.0 from an earlier VOS 6.x
The database file format has not changed, but the introduction of a newer RDF index requires you run a script to upgrade the RDF_QUAD table.
Since this can be a lengthy task and take extra disk space (up to twice the space used by the original RDF_QUAD table may be required during conversion) this is not done automatically on startup.
After upgrading the binary, you cannot perform any SPARQL queries until the new RDF_QUAD table is installed.
The steps for this are:
- Shut down the database and verify the
.trxfile is empty. - Check to make sure you have enough disk space to upgrade the
RDF_QUADtable. - Check to make sure you have a proper backup of the database.
- Edit
virtuoso.iniand disableVADInstallDirand optionally the[HTTPServer]section for duration of the upgrade. - Start up the database.
- Connect with
isqlto your database and run thelibsrc/Wi/clrdf23.sqlscript. Depending on the number of quad records this can take several hours. Once the conversion is complete, the database will shut itself down. - Edit
virtuoso.iniand re-enable theVADInstallDirand, if disabled above, the[HTTPServer]section. - Start the database as normal.
Upgrading to VOS 5.x from an earlier VOS 5.x
The database format did not change between various versions of Virtuoso 5.x, so from a database standpoint no particular steps need to be performed before upgrading to a newer version of Virtuoso 5.
The only requirement is that you must properly shut down the database prior to installing the latest binaries, as the transaction logs will otherwise have a different version tag. In such case, the Virtuoso server will print a message like the following, and refuse to launch:
The transaction log file has been produced by server version '05.00.xxxx'. The version of this server is '05.00.yyyy'. If the transaction log is empty or you do not want to replay it then delete it and start the server again. Otherwise replay the log using the server of version '05.00.xxxx' and make checkpoint and shutdown to ensure that the log is empty, then delete it and start using new version.