. "UpgradingToVOS610" . "2017-06-13T05:38:27Z" . . . "UpgradingToVOS610" . . . . "2017-06-13T05:38:27Z" . . . "2017-06-13T05:38:27.749144"^^ . "---+ Virtuoso (Open Source and Commercial) Upgrade Notes\n\n%TOC%\n\n---++ Introduction\n\n * Important: To upgrade from Release 4.x or earlier to Release 6.x or \nlater, you *must* first perform an incremental upgrade to Release 5.x; then, \nupgrade from Release 5.x to current.%BR%%BR%\n * Always make sure the database has been properly shut down and the\ntransaction log (virtuoso.trx) is empty before performing any of the\nfollowing updates/upgrades. This is easily done by launching Virtuoso with the \nextra command-line argument, \"[[http://docs.openlinksw.com/virtuoso/dbadm.html#COMMANDLINE][+checkpoint-only]]\". Virtuoso will\nlaunch, replay the transaction log, run a checkpoint (which zeroes the transaction \nlog), and exit cleanly.%BR%%BR%\n * Before upgrading any database, it is always a wise precaution to\n[[http://virtuoso.openlinksw.com:8889/doc/html/backup.html][make a proper backup]].\n\n\n---++ Upgrading from Release 7.x to a newer Release 7.x\n\n 1. Shut down your Virtuoso 7.x instance as normal.%BR%%BR%\n 2. Check the size of the .trx file, typically found alongside\nthe .db and .ini files.%BR%%BR%\n * If zero bytes, proceed to step 3.%BR%%BR%\n * If larger than zero bytes, start the instance from the\ncommand line with the extra argument, \n\"[[http://docs.openlinksw.com/virtuoso/dbadm.html#COMMANDLINE][+checkpoint-only]]\", and recheck .trx file size -- expecting zero bytes. %BR%%BR%\n * If larger .trx files persist, [[http://support.openlinksw.com/support/online-support.vsp][contact Technical Support]].%BR%%BR%\n 3. Start a fresh terminal session, and install the newer v7.x binary\ncomponents, either atop or after removing the older v7.x binary\ncomponents.%BR%%BR%\n 4. Set the environment with the new Virtuoso 7.x script, and\nstart the instance with the new Virtuoso 7.x binary.\n\n\n---++ Upgrading from Release 6.x to Release 7.x\n\n 1. Shut down your Virtuoso 6.x instance as normal.%BR%%BR%\n 2. Check the size of the .trx file, typically found alongside\nthe .db and .ini files.%BR%%BR%\n * If zero bytes, proceed to step 3.%BR%%BR%\n * If larger than zero bytes, start the instance from the\ncommand line with the extra argument, \n\"[[http://docs.openlinksw.com/virtuoso/dbadm.html#COMMANDLINE][+checkpoint-only]]\", and recheck .trx file size -- expecting zero bytes. %BR%%BR%\n * If larger .trx files persist, [[http://support.openlinksw.com/support/online-support.vsp][contact Technical Support]].%BR%%BR%\n 3. Start a fresh terminal session, and install the newer v7.x binary\ncomponents, either atop or after removing the older v6.x binary\ncomponents.%BR%%BR%\n 4. Set the environment with the new Virtuoso 7.x script, and\nstart the instance with the new Virtuoso 7.x binary, which will automatically upgrade the v6.x to the new v7.x database structure in its original row wise storage format.%BR%%BR%\n 5. Virtuoso 7 supports [[http://docs.openlinksw.com/virtuoso/coredbengine.html#colstore][Column wise storage]] providing 3 times better data compression over row wise storage, enabling 3 times the data to be stored in the same memory and disk space. Thus conversion of relevant existing tables to column wise storage should be considered, especially for Business Intelligence type work loads and RDF Data Storage, with the document [[VirtTipsAndTricksRowToColStoreConversion][How to convert from Row Store to Column Store Table]] providing an example on how this can be done for the RDF_QUAD table used for RDF Data storage.\n\n---++ Upgrading from Release 6.1.x to a newer Release 6.1.x\n\nNote: See special note below, for transition from\nVirtuoso 6.1.3 or earlier to Virtuoso 6.1.4 or later.\n\nThe database format did not change between various versions of Virtuoso 6.1.x, so \nfrom a database standpoint no particular steps need to be performed before upgrading \nto a newer version of Virtuoso 6.1.x. \n\nHowever, you must properly clear the transaction logs prior to \ninstalling the newer binaries, as they may otherwise have a different version \ntag. In such case, the Virtuoso server will print a message like the following, \nand refuse to launch:\n\nThe transaction log file has been produced by server version\n'06.01.xxxx'. The version of this server is '06.01.yyyy'. If the\ntransaction log is empty or you do not want to replay it then delete\nit and start the server again. Otherwise replay the log using the\nserver of version '06.01.xxxx' and make checkpoint and shutdown\nto ensure that the log is empty, then delete it and start using\nnew version.\n\n\n---+++ Upgrading from Release 6.1.3 or earlier, to Release 6.1.4 or later\n\nIn Virtuoso versions before 6.1.4, some RDF data in the quad store could be \nstored in a way that could break the sequence of an index, causing wrong \nresults to be passed back.\n\nWe have addressed this by adding an automated check into 6.1.4 (and later) \nto detect whether this condition is present, and to fix the index when needed.\n\nThe first time a Release 6.1.3 or earlier database is started with \na Release 6.1.4 or later binary, the following text will appear in the \nVirtuoso session log:\n\n 21:05:36 PL LOG: This database may contain RDF data that could cause indexing problems on previous versions of the server.\n 21:05:36 PL LOG: The content of the DB.DBA.RDF_QUAD table will be checked and an update may automatically be performed if\n 21:05:36 PL LOG: such data is found.\n 21:05:36 PL LOG: This check will take some time but is made only once.\n\n\nAs the message says, this check may take some time, depending on the number \nof stored quads. \n\nIf the check succeeds, Virtuoso will mark the check as \"done\" within the \ndatabase file, so it will not affect subsequent restarts of the instance,\nand the following message will be entered in the log:\n \n21:05:36 PL LOG: No need to update DB.DBA.RDF_QUAD\n\n\nThe database will continue to perform the startup routines and go\ninto an online state.\n\n\nIf the condition is detected, however, the following message will\nappear in the log, and the Virtuoso server will refuse to start --\n\n\n 21:05:36 PL LOG: An update is required.\n 21:05:36 PL LOG:\n 21:05:36 PL LOG: NOTICE: Before Virtuoso can continue fixing the DB.DBA.RDF_QUAD table and its indexes\n 21:05:36 PL LOG: the DB Administrator should check make sure that:\n 21:05:36 PL LOG:\n 21:05:36 PL LOG: * there is a recent backup of the database\n 21:05:36 PL LOG: * there is enough free disk space available to complete this conversion\n 21:05:36 PL LOG: * the database can be offline for the duration of this conversion\n 21:05:36 PL LOG:\n 21:05:36 PL LOG: Since the update can take a considerable amount of time on large databases\n 21:05:36 PL LOG: it is advisable to schedule this at an appropriate time.\n 21:05:36 PL LOG:\n 21:05:36 PL LOG: To continue the DBA must change the virtuoso.ini file and add the following flag:\n 21:05:36 PL LOG:\n 21:05:36 PL LOG: [Parameters]\n 21:05:36 PL LOG: AnalyzeFixQuadStore = 1\n 21:05:36 PL LOG:\n 21:05:36 PL LOG: For additional information please contact OpenLink Support \n 21:05:36 PL LOG: This process will now exit.\n\n\nSince the update will take a substantial amount of time and additional\ndisk space depending on the size of the quad store, we do not \nautomatically start the update process. Instead, \nwe hand control back to you, and let you decide when to perform this\nupdate. If you want to delay the update, you should restart with the \nolder binary, as the new binary will never launch with this database.\n\nOnce you have checked the backups and disk space, and found an\nappropriate time-slot to run this update, you should edit the\nvirtuoso.ini file and add the following flag:\n\n[Parameters]\nAnalyzeFixQuadStore = 1\n\n\nUpon starting the Virtuoso server, the following messages will appear in the virtuoso.log file:\n\n 21:05:57 PL LOG: This database may contain RDF data that could cause indexing problems on previous versions of the server.\n 21:05:57 PL LOG: The content of the DB.DBA.RDF_QUAD table will be checked and an update may automatically be performed if\n 21:05:57 PL LOG: such data is found.\n 21:05:57 PL LOG: This check will take some time but is made only once.\n 21:05:57 PL LOG:\n 21:05:57 PL LOG: An update is required.\n 21:05:57 PL LOG: Please be patient.\n 21:05:57 PL LOG: The table DB.DBA.RDF_QUAD and two of its additional indexes will now be patched.\n 21:05:57 PL LOG: In case of an error during the operation, delete the transaction log before restarting the server.\n 21:05:57 Checkpoint started\n 21:05:57 Checkpoint finished, log off\n 21:05:57 PL LOG: Phase 1 of 9: Gathering statistics ...\n 21:05:58 PL LOG: * Index sizes before the processing: 002565531 RDF_QUAD, 002565531 POGS, 001171100 OP\n 21:05:58 PL LOG: Phase 2 of 9: Copying all quads to a temporary table ...\n 21:07:26 PL LOG: * Index sizes of temporary table: 001171100 OP\n 21:07:26 PL LOG: Phase 3 of 9: Cleaning the quad storage ...\n 21:07:51 PL LOG: Phase 4 of 9: Refilling the quad storage from the temporary table...\n 21:09:17 PL LOG: Phase 5 of 9: Cleaning the temporary table ...\n 21:09:41 PL LOG: Phase 6 of 9: Gathering statistics again ...\n 21:09:41 PL LOG: * Index sizes after the processing: 002565531 RDF_QUAD, 002565531 POGS, 001171100 OP\n 21:09:41 PL LOG: Phase 7 of 9: integrity check (completeness of index RDF_QUAD_POGS of DB.DBA.RDF_QUAD) ...\n 21:10:00 PL LOG: Phase 8 of 9: integrity check (completeness of primary key of DB.DBA.RDF_QUAD) ...\n 21:10:17 PL LOG: Phase 9 of 9: final checkpoint...\n 21:10:20 Checkpoint started\n 21:10:22 Checkpoint finished, log off\n 21:10:22 PL LOG: Update complete.\n\n\nIf the update process detects any problem, it will put some debug\noutput into the virtuoso.log and exit. At this point, you are\nadvised to remove the virtuoso.trx file and contact [[http://support.openlinksw.com/][OpenLink Support]].\n\nWhen the update process completes successfully, the database is left in an online state.\n\n---++ Upgrading from Release 6.0.x to Release 6.1.x \n\nThe database file format has not changed, but the introduction of a newer\nRDF index requires you run a script to upgrade the RDF_QUAD \ntable. Since this can be a lengthy task and take extra disk space (up to twice \nthe space used by the original RDF_QUAD table may be required \nduring conversion) this is not done automatically on startup.\n\nAfter upgrading the binary, you cannot perform any SPARQL queries until\nthe new RDF_QUAD table is installed. The steps for this are:\n\n 1 Shut down the database and verify the .trx file is empty.%BR%%BR%\n 1 Check to make sure you have enough disk space to upgrade the \nRDF_QUAD table.%BR%%BR%\n 1 Check to make sure you have a proper backup of the database.%BR%%BR%\n 1 Edit virtuoso.ini and disable VADInstallDir \nand optionally the [HTTPServer] section for duration of the upgrade.%BR%%BR%\n 1 Start up the database.%BR%%BR%\n 1 Connect with isql to your database and run the \nlibsrc/Wi/clrdf23.sql\nscript. Depending on the number of quad records this can take\nseveral hours. Once the conversion is complete, the database \nwill shut itself down.%BR%%BR%\n 1 Edit virtuoso.ini and re-enable the VADInstallDir \nand, if disabled above, the [HTTPServer] section.%BR%%BR%\n 1 Start the database as normal.\n\n\n---++ Upgrading from Release 5.x to Release 6.1.x \n\n***NOTE*** Previous to Virtuoso 6.1.0, Virtuoso 6.x binaries would try to \nwork against Virtuoso 5.x database files. This can cause irreparable corruption. \nPlease proceed with caution!\n\nIf you attempt to use a Virtuoso 5.x database file with a Virtuoso 6.1.x or later \nserver, the server will refuse to launch, with a message like that below:\n\nThe database you are opening was last closed with a server of\nversion xxxx. The present server is of version yyyy. This server\ndoes not read this pre-6.0 format.\n\n\nThe database file format has changed substantially between Virtuoso 5.x and \nVirtuoso 6.x. To upgrade your database, you must dump all data from\nthe Virtuoso 5.x database and re-load it into Virtuoso 6.x.\n\nRegular Virtuoso 5.x RDBMS tables can be dumped with the dbdump tool, \nproducing scripts that can be replayed using the isql tool.\n\nFor the Virtuoso 5.x RDF_QUAD table, we have a set of stored procedures\nthat will dump graphs into a set of backup files, which can then be reloaded\ninto the Virtuoso 6.x database. Contact us at \n<[[mailto:vos.admin@openlinksw.com][vos.admin@openlinksw.com]]>\nfor more info.\n\n\n---++ Upgrading from Release 5.x to a newer Release 5.x \n\nThe database format did not change between various versions of Virtuoso\n5.x, so from a database standpoint no particular steps need to be\nperformed before upgrading to a newer version of Virtuoso 5.\n\nThe only requirement is that you must properly shut down the database\nprior to installing the latest binaries, as the transaction logs will otherwise \nhave a different version tag. In such case, the Virtuoso server will\nprint a message like the following, and refuse to launch:\n\nThe transaction log file has been produced by server version\n'05.00.xxxx'. The version of this server is '05.00.yyyy'. If the\ntransaction log is empty or you do not want to replay it then delete\nit and start the server again. Otherwise replay the log using the\nserver of version '05.00.xxxx' and make checkpoint and shutdown\nto ensure that the log is empty, then delete it and start using\nnew version.\n\n\n---++ Upgrading from Release 4.x or earlier, to Release 5.x (and later)\n\nIf you have Virtuoso Release 4.x or earlier, with or without ODS, preserving \nyour data while upgrading your installation and databases to Release 5.x or \nlater requires the steps described below.\n\nImportant: To upgrade from Release 4.x or earlier to Release 6.x or \nlater, you *must* first perform an incremental upgrade to Release 5.x; then, \n[[#Upgrading%20from%20Release%205.x%20to%20Release%206.1.x][upgrade from Release 5.x to current]].\n\nIf you do not have any old data, you can skip this process, and simply \nuse the new demo database, which has all the current ODS \napplications pre-installed.\n\n\n---+++ Virtuoso binary components\n\n 1 Shut down the existing server. %BR%%BR%\n 1 Start the Release 5.x server executable you have built or downloaded into \nthe same directory.%BR%%BR%\n 1 There is a change in the DAV metadata represented in the RDF store. \nThis requires a one-time manual update which changes the DAV graph name,\nremoving its trailing slash. To update everything, log in as dba \nwith isql and execute:\n\nSQL> dav_replicate_all_to_rdf_quad (1);\n\n\n---+++ ODS applications and data\n\nTo upgrade the ODS applications and preserve any data you may have \nin them, do the following:\n\n 1 Shut down the server. %BR%%BR%\n 1 Take a backup of the database file(s), just in case.%BR%%BR%\n 1 Start the server.%BR%%BR%\n 1 Re-install/upgrade the VAD package corresponding to each installed \napplication. For the Open Source Edition, these are found in the \n/share/virtuoso/vad/ directory in the tree where make \ninstall copies the results of the build; for Commercial Edition, \nthey are found in the /vad/ directory. Updated VAD packages for both \nCommercial and Open Source Editions can be downloaded from our website.%BR%%BR%\n 1 Upgrade the installation through the Conductor (recommended), or by \nexecuting the following command in isql:\n\nSQL> vad_install('ods_framework_dav.vad', 0);\n\n 1 Repeat for each installed ODS or other VAD package." . . "2017-06-13T05:38:27.749144"^^ . . . . . . . . . . "9f2532abc99035dd3c86ecb24b3d9ffe" . "UpgradingToVOS610" . .