Database deployment using QSR (Quest Script Runner) is slow

oracletoad

As part of the automatic deployment of a project, we deploy various Oracle scripts (packages, tables, data, etc…) using qsr – Quest Script Runner that is part of Toad. The script executes multiple sql files using the following syntax:

qsr -c "user/pass@server" -f "file.sql" -o "log.txt" -e

The problem is that we have around 100 sql files that we need to deploy on 8 environments. And each sql file execution takes approx. 1-2 seconds, even if it's a simple file or a simple check (if table exists, skip, else create it). And because of this sometimes the deployment can take 30 minutes or more.

I checked the only documentation I could find in the Help section of Toad and tried the -i parameter and also removing the -e parameter:

enter image description here

I see some improvement, mostly because of the -i parameter, but I am just worried what removing -e parameter really does. Are the scripts stacked then in QSR? When is QSR closed on the deployment agent (the running machine)?

Also, I am a bit puzzled that I cannot find any documentation online about this tool, so any help on how to speed this deployment up would be appreciate (I have already tried sqlplus as an alternative, but it seems our scripts are not 100% compatible with it – some of them are simply not executed).

Best Answer

For "Schema Updates", look at Edition Based Redefinition. You might also want to check out 12.2's Application Container.