Hi Bob,
Yes, you can just copy the restore-tmp.db to virtuoso.db, this being what the
restart.sh script with the AMIs do, and I should have included in my mini
instructions in the previous email:
# more restart.sh
#!/bin/sh
# This script is invoked from Virtuoso PL to restart the server
# during a database restore operation
[ ! -f restore-tmp.db ] && {
echo "There is no new database to restart with"
exit 1
}
# Is there a previous database? If so, move it away
[ -f virtuoso.db ] && {
# Make sure the server is not running
[ -f virtuoso.lck ] && {
while [ -f virtuoso.lck ]; do
echo "Waiting for the server to complete shut down..."
sleep 1
done
sleep 2
}
# Make sure the transaction log is truncated - PL takes care of this
[ -s virtuoso.trx ] && {
echo "The database has not been checkpointed before shutdown"
exit 1
}
# Rename the old database
mv virtuoso.db virtuoso.db~ || exit 1
}
# Database (if any) has been checkpointed, so this should always be safe
#rm -f virtuoso.log virtuoso.pxa virtuoso.tdb virtuoso.trx
rm -f virtuoso.pxa virtuoso.tdb virtuoso.trx
# Move the database in place
mv restore-tmp.db virtuoso.db || {
echo "Failed to rename restore-tmp.db to virtuoso.db"
exit 1
}
Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support
Twitter: http://twitter.com/OpenLink
On 1 Jun 2010, at 16:21, Bob Ferris wrote:
> Hi Hugh,
>
> thanks a lot for that summarized instruction again. Now I end up with a
> restore-tmp.db of the amount of 59,9 GB, but how to merge the
> restore-tmp.db with my existing virtuoso.db?
> Or should I just set restore-tmp.db as default db in my virtuoso.ini?
>
> Cheers,
>
>
> Bob
>
> PS: I patched also /opt/virtuoso/install/restart.sh with a symlink to my
> local init script. It works so far.
>
> Am 20.05.2010 13:47, schrieb Hugh Williams:
>> Hi Bob,
>>
>> I have just noticed the "./virtuoso" reference in the run_executable call
>> that is being made which means that "virtuoso" symlink must be created in
>> the directory where the Virtuoso Database resides as is the case to the
>> Virtuoso AMIs and Virtuoso commercial installers the AMIs use, but it not
>> the case for the open source builds as they don't use the commercial
>> packaging structure, thus this symlink has to be made manually. The
>> restart.sh script also does not exist for the open source builds thus the
>> server has to be restarted manually after the restore.
>>
>> Basically the ec2ext VAD was originally written for use with the Virtuoso
>> prebuilt AMIs and thus makes certain assumptions about the configuration. To
>> get this to work with an open source binary the following changes need to be
>> manually made:
>>
>> 1. A "virtuoso" symlink to the Virtuoso binary executable (virtuoso-t) must
>> exist in the directory the database it run/started from
>> 2. The entries "SafeExecitables=0" and "DbaExecitables=/bin/sh" needs to be
>> added to the "Parameters" section of the Virtuoso Configuration file
>> (virtuoso.ini)
>> 3. The Virtuoso server will need to be manually restarted after the restore
>>
>> Note it will also not work on Windows unless cygwin or similar is installed
>> such that the the "sh" shell it requires is available ...
>>
>> Best Regards
>> Hugh Williams
>> Professional Services
>> OpenLink Software
>> Web: http://www.openlinksw.com
>> Support: http://support.openlinksw.com
>> Forums: http://boards.openlinksw.com/support
>> Twitter: http://twitter.com/OpenLink
>>
>> On 20 May 2010, at 08:43, Bob Ferris wrote:
>>
>>> Hi Hugh,
>>>
>>> I'm running Ubuntu 10.04 x64. I could execute the ./virtuoso-t ...
>>> command on my terminal (but with an absolute path to my related vos
>>> installation), but (as far as know) you wouldn't have normally a
>>> virtuoso(-t) in your db directory. Furthermore, you should also pay
>>> attention re. the init script for virtuoso (I used one from the
>>> conStruct install definition, maybe it is originally from OpenLink ;) ).
>>> In the procedures.sql script it is somewhere /opt/install/restart.sh (or
>>> so).
>>> Another question: is the restore-tmp.db the temporary datebase file,
>>> which I should configure in virtuoso.ini, or would that dump transferred
>>> into virtuoso.db?
>>>
>>> Cheers,
>>>
>>> zazi
>>>
>>>
>>> Am 20.05.2010 04:07, schrieb Hugh Williams:
>>>> HI Bob,
>>>>
>>>> Assuming you are running on a Unix OS, It would be easiest to create a
>>>> virtuoso symlink to virtuoso-t and ensure its location is in your PATH
>>>> environment variable setting such that the "virtuoso" executable can be
>>>> located as expected and then not need to make any changes to the sql
>>>> scripts or other.
>>>>
>>>> Please confirm the OS you are using, and we can try the same restore
>>>> locally ...
>>>>
>>>> Best Regards
>>>> Hugh Williams
>>>> Professional Services
>>>> OpenLink Software
>>>> Web: http://www.openlinksw.com
>>>> Support: http://support.openlinksw.com
>>>> Forums: http://boards.openlinksw.com/support
>>>> Twitter: http://twitter.com/OpenLink
>>>>
>>>> On 19 May 2010, at 23:14, Bob Ferris wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I thought I got the code of ec2etxs, which produces the error - it is in
>>>>> DAV/VAD/ec2exts/sql/procedures.sql of the WebDAV repository:
>>>>>
>>>>> _status := run_executable ('/bin/sh', 1, '-c', sprintf(
>>>>> './virtuoso -r "%s" -B "%s" -c restore-tmp.ini>restore.log 2>&1',
>>>>> _b_prefix, _b_dir));
>>>>>
>>>>> I changed it to ./virtuoso-t, but restore.log still noticed "/bin/sh:
>>>>> ./virtuoso: not found"
>>>>>
>>>>> I tried it serveral times with serveral server restarts. I think it did
>>>>> not update my file, or?
>>>>>
>>>>> Cheers,
>>>>>
>>>>> zazi
>>>>>
>>>>> PS: I also changed the server restart to my local init script
>>>>>
>>>>> Am 19.05.2010 23:08, schrieb Bob Ferris:
>>>>>> Hi,
>>>>>>
>>>>>> sadly I stepped into the next error message:
>>>>>>
>>>>>> ERROR Failed to reassemble the database. Please check the file
>>>>>> restore.log in the database directory. (BUP07)
>>>>>>
>>>>>> restore.log:
>>>>>>
>>>>>> /bin/sh: ./virtuoso: not found.
>>>>>>
>>>>>> (I tried it serveral times: started from the init-script and locally)
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> zazi
>>>>>>
>>>>>> Am 19.05.2010 23:03, schrieb Kingsley Idehen:
>>>>>>> Bob Ferris wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Am 19.05.2010 20:43, schrieb Bob Ferris:
>>>>>>>>> Hi Kingsley,
>>>>>>>>>
>>>>>>>>> Am 19.05.2010 17:12, schrieb Kingsley Idehen:
>>>>>>>>>> Bob Ferris wrote:
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> I tried to deploy the MusicBrainz backup, which is available for EC2
>>>>>>>>>>> AMI installation on my local vos-5.0.14/ vos-6.1.1 installation(s).
>>>>>>>>>>> On
>>>>>>>>>>> both I got the following error after it fetched the backup-files
>>>>>>>>>>> (the
>>>>>>>>>>> "continue" step):
>>>>>>>>>>>
>>>>>>>>>>> ERROR SR406: Running of file '/bin/sh' is not allowed in
>>>>>>>>>>> run_executable(). (42000)
>>>>>>>>>>>
>>>>>>>>>>> Any chance to change this somewhere?
>>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>>
>>>>>>>>>>> Bob
>>>>>>>>>>>
>>>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Virtuoso-users mailing list
>>>>>>>>>>> [email protected]
>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>>>>>>>>>>>
>>>>>>>>>> Check you INI for this line (edit accordingly if different):
>>>>>>>>>>
>>>>>>>>>> DbaExecutables = /bin/tar,/bin/sh
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> That's how you control what can be executed at the OS level (e.g. the
>>>>>>>>>> backup restore routine).
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> Did you mean the virtuoso.ini of my installation or the
>>>>>>>>> musicbrainz-backup-descriptor.ini? I didn't found this parameter at
>>>>>>>>> both
>>>>>>>>> files. I added this parameter continuously to both files, without any
>>>>>>>>> success. At the virtuoso.ini I added it below [Database].
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>>
>>>>>>>>> zazi
>>>>>>>>>
>>>>>>>>
>>>>>>>> I found the mistake, there wasn't the following parameter set:
>>>>>>>>
>>>>>>>> SafeExecutables = 0
>>>>>>>
>>>>>>> Ah!
>>>>>>>
>>>>>>> OpenLink Staff: please note re. trouble shooting guide. This is a very
>>>>>>> tricky one!
>>>>>>>
>>>>>>> Kingsley
>>>>>>>> Cheers,
>>>>>>>>
>>>>>>>> zazi
>>>>>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Virtuoso-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/virtuoso-users