我有一个在 solaris 上运行的 jenkins 设置。我已经配置了一个使用 jenkins ssh 插件在具有 oracle 数据库的远程 Windows 2008 R2 服务器上运行 .bat 文件的作业。.bat 文件在 oracle 数据库中执行 RMAN 还原。我有一个在 Windows 2008 R2 服务器上运行的 openssh 服务器。当我在较小的数据库上进行恢复时,运行时间不到 30 分钟,一切正常。但是,当数据库很大并且恢复需要 3 个小时以上时,jenkins 作业会挂起,即使该作业所执行的 rman 恢复已在服务器上成功完成。
这是我在 jenkins ssh 插件命令窗口中运行的命令:
/cygdrive/C/OpenSSH/bin/SSH_ImportTEST_DB.bat TEST3
这就是 .bat 文件的作用。
- 为 RMAN 还原准备数据库(以系统用户身份运行少量 sql 命令)
- 运行 RMAN 还原
- 再运行几个 sql 命令,让所有用户都可以使用数据库,重置密码。
第 1 步和第 2 步工作正常,但 jenkins 作业仅显示为正在运行第 2 步,即使它已在远程服务器上完成。如果 rman restore 运行超过 3 小时,它永远不会执行步骤 3。
X:\oracle\admin\TEST3\scripts>rman auxiliary cmdfile=X:\oracle\admin\TEST3\scripts\restore_db2.sql log=Y:\oracle\NightlyBackup\Prod\restore_MSIPTST3.log
RMAN> 2>
这是restore_db2.sql
包含的内容:
DUPLICATE DATABASE TO TEST3 BACKUP LOCATION 'Y:\oracle\NightlyBackup\Prod';
exit;
我试过restore_db2.sql
没有退出命令,但这也无济于事。
我已经ServerAliveInterval 60
在运行 jenkins 的服务器上的 ssh_config 中进行了配置。我还在ClientAliveInterval 60
openssh 服务器上的 sshd_config 中进行了配置,以排除超时。
有人可以帮忙吗?