私はsolarisで実行されているジェンキンスのセットアップを持っています。Oracle データベースを持つリモート Windows 2008 R2 サーバーで、jenkins ssh プラグインを使用して、.bat ファイルを実行するジョブを構成しました。.bat ファイルは、oracle データベースで RMAN リストアを実行します。Windows 2008 R2 サーバーで実行されている openssh サーバーがあります。実行に30分もかからない小さなデータベースで復元を行うと、すべて正常に機能します。しかし、データベースが大きく、復元に 3 時間以上かかる場合、ジョブによって指定された rman 復元がサーバー上で正常に完了しても、jenkins ジョブがハングします。
これは、jenkins ssh プラグイン コマンド ウィンドウで実行するコマンドです。
/cygdrive/C/OpenSSH/bin/SSH_ImportTEST_DB.bat TEST3
これが .bat ファイルの機能です。
- RMAN 復元用の DB を準備します (システム ユーザーとしていくつかの SQL コマンドを実行します)。
- RMAN 復元を実行する
- さらにいくつかの SQL コマンドを実行して、すべてのユーザーがデータベースを使用できるようにし、パスワードをリセットします。
ステップ 1 と 2 は正常に機能しますが、リモート サーバーで完了したにもかかわらず、jenkins ジョブはステップ 2 を実行していると表示されます。rman リストアが 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;
exit コマンドなしで試してみましたrestore_db2.sql
が、それも役に立ちません。
ServerAliveInterval 60
jenkinsが実行されているサーバーのssh_configで構成しました。ClientAliveInterval 60
また、タイムアウトを除外するために、openssh サーバーの sshd_config で構成しました。
誰か助けてくれませんか?