SQL開発者(oracle)に4つのデータベース接続があります。夕方には、同じサーバー上のすべての4つの接続でいくつかのスクリプトを定期的に実行する必要があります。スクリプトを一度しか実行しないショートカットはありますか?また、DBに接続されているすべての接続に反映されていますか?複数のデータベースでバッチ・オラクル問合せを実行
(注:すべての4の接続がまったく同じ情報を保持します。)
が誰もがこれを行う方法を提案することができますか?
SQL開発者(oracle)に4つのデータベース接続があります。夕方には、同じサーバー上のすべての4つの接続でいくつかのスクリプトを定期的に実行する必要があります。スクリプトを一度しか実行しないショートカットはありますか?また、DBに接続されているすべての接続に反映されていますか?複数のデータベースでバッチ・オラクル問合せを実行
(注:すべての4の接続がまったく同じ情報を保持します。)
が誰もがこれを行う方法を提案することができますか?
ここで私はそれを行います:GUIではなく、コマンドプロンプト機能を使用します。唯一の前提条件は、SQL * Plusをコンピュータにインストールすることです。
たとえば、実行するSQLスクリプトを作成し、C:\ Tempディレクトリに保存します。それを "my_script.sql"と名づけましょう。 SQLとPL/SQLの両方を含むことができます(その場合はスラッシュで終了することを忘れないでください)。あなたのよう
@echo on
set SCRIPT=C:\Temp\my_script.sql
set SCRIPT_LOG=C:\Temp\my_script
if not exist %SCRIPT% goto END
start sqlplus.exe /nolog @%SCRIPT% %SCRIPT_LOG%.site_1.log "username_1"/"password_1"@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host_1_name)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=service_name_1)))
start sqlplus.exe /nolog @%SCRIPT% %SCRIPT_LOG%.site_2.log "username_2"/"password_2"@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host_2_name)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=service_name_2)))
start sqlplus.exe /nolog @%SCRIPT% %SCRIPT_LOG%.site_3.log "username_3"/"password_3"@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host_3_name)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=service_name_3)))
start sqlplus.exe /nolog @%SCRIPT% %SCRIPT_LOG%.site_4.log "username_4"/"password_4"@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host_4_name)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=service_name_4)))
:END
:その後の「run_my_script.bat」という名前を付け、そこにこのようなコードを入れてみましょう、DOSのバッチスクリプトを作成する
connect &2
spool &1
set echo on
set define off
-- Your SQL statements go here:
select to_char(sysdate, 'dd.mm.yyyy hh24:mi') vrijeme from dual;
begin
pkg_payments.p_gimme_my_money;
commit;
end;
/
-- End of your SQL statements
spool off
exit
:ここ
は、それはのようになります方法です見ることができ、それ
を実行しています。 4つの "黒い"コマンドプロンプトウィンドウを開き、SQLスクリプトがそのジョブを終了すると、それらを終了します。ログファイルを確認してください!
結果に満足したら、定期的に&が自動的に実行されるように、タスクスケジューラで.BATファイルの実行をスケジュールします。
それはまったく、私は推測します。