I'm really getting frustrated. We have more than 4000 files that we want to completely delete from the Vault database. Any attempt through the Vault Admin Tool fails. Common problems are:
- select a couple of file and after a couple of minutes het a message that there is a branch that is depending on it, first removed
- if you select a large amount of file then you get a time-out after 30 minutes of more and the whole action failed
We really want to delete all files not only to shrink the database but also to make it much faster. Any action we perform on this database is terribly slow
Vault version we are using is: 3.1.1
Is there any tool that we can use to oblitarate all this files recursively. By the way we also noticed that while obliterating the database grows incredibly large. Our database is now 30 GB.
Obliterate fails with large amount of files
Moderator: SourceGear
You might try the the Obliterate command in the Command Line Client. For details cd via the command line to the Vault Client directory and type "Vault Help Obliterate." You still may run into the branch errors. Be sure to obliterate branches first, then the trunk of the branch.
The extra files aren't necessarily what's causing the performance problem. See this KB article about optimizing Vault performance:
http://support.sourcegear.com/viewtopic.php?t=4206
If you database is getting large, it could be that the transaction log is growing. You can shrink your database or backup and truncate the log. Also if you are using SQL Server Full Recovery Model, this will cause the transaction log to grow. If you don't use your transaction log for recovery, you can use the Simple Recovery mode, which doesn't rely on the transaction log.
The extra files aren't necessarily what's causing the performance problem. See this KB article about optimizing Vault performance:
http://support.sourcegear.com/viewtopic.php?t=4206
If you database is getting large, it could be that the transaction log is growing. You can shrink your database or backup and truncate the log. Also if you are using SQL Server Full Recovery Model, this will cause the transaction log to grow. If you don't use your transaction log for recovery, you can use the Simple Recovery mode, which doesn't rely on the transaction log.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
thanks Linda for your reply I did check the command line client and has no way for recursive obliterates. This is of course not acceptable if considering that a version control system has to manage more than 10000 files from which at certain moment some files have to be really deleted.
I still believe there should be a tool to force obliterate all files with just one command. Any reason why not to support this feature.
I'll check the article on performance. Hope it helps for the performance problem we have
I still believe there should be a tool to force obliterate all files with just one command. Any reason why not to support this feature.
I'll check the article on performance. Hope it helps for the performance problem we have
The obliterate command is destructive -- you can't get back anything that's been obliterated. So Obliterate is very deliberate (and slow) in making sure that there are no dependencies, etc. that would be affected, such as branches. We recognize that obliterate has its limitation, but we'd rather be accurate than fast. That being said, we do hope to make improvements in future releases.I still believe there should be a tool to force obliterate all files with just one command. Any reason why not to support this feature.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Linda I understand that obliterate is a final operation but I noticed in a previous database we had that performance increased when we were able to obliterate the files. The reason why we have to delete/obliterate so many files is because we made a copy of an existing Vault database (which was very large) and deleted from the Vault client all the folders and files we are not using. Still this files are obliterated. We would also solve the problem if we would know how to copy just a part of an exsting Vault database. previous to Vault we used SourceSafe and there it was possible to just archive a selection of the whole database. It there a way of doing that in Vault. That would also solve our problem and we would not need any obliterate anymore