ant db2 backup不是顺序的

时间:2011-02-11 21:31:53

标签: ant db2

我有以下蚂蚁代码:

<parallel>
    <sequential>
        <mkdir dir="${DB2BACKUP}/DB2BACKUP"/>
        <exec executable="db2cmd">
            <arg value="DB2 BACKUP DATABASE DB TO C:\DB2BACKUP\ WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1"/>
        </exec>
        <echo> hello </echo>
    </sequential>
</parallel>

当执行此操作时,将创建目录,打开另一个命令行,其中db2备份正在运行,但是ant正在以“hello”echo立即结束,并且不会等待db2备份完成。我试过

<exec executable="cmd">
    <arg value="/C"/>
    <arg value="db2cw"/>
    <arg value="DB2 BACKUP DATABASE DB TO C:\DB2BACKUP\ WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1"/>
</exec>

但是它是一样的,我认为主要原因是db2cmd在单独的cmd行窗口下打开。我也尝试使用带有spawn属性的exec(假设我认为无论哪种方式)但仍然没有运气,有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果DB2实用程序位于PATH中,那么您将以具有足够权限的用户身份运行命令,并且正确设置了DB2INSTANCE环境,不应该使用db2cmd或任何其他中间命令。您只需运行实际的备份命令即可。

此外,我可能想指出,任何与数据库的活动连接都将阻止命令在任何情况下运行。您可能希望在备份命令之前添加“强制应用程序全部”或“静默数据库”。 (如果你走那条路,也要记得取消静止。)