SQL 개발자 (oracle)에 4 개의 데이터베이스 연결이 있습니다. 저녁에는 같은 서버에있는 4 개의 모든 연결에서 일부 스크립트를 정기적으로 실행해야합니다. 스크립트를 한 번만 실행하고 일부 DB에 연결된 모든 연결에 반영되는 바로 가기가 있습니까?여러 데이터베이스에서 일괄 Oracle 쿼리 실행
(참고 : 모든 4 연결이 정확히 같은 정보를 개최한다.)
이사람이이 작업을 수행하는 방법을 제안 할 수 있습니다?
SQL 개발자 (oracle)에 4 개의 데이터베이스 연결이 있습니다. 저녁에는 같은 서버에있는 4 개의 모든 연결에서 일부 스크립트를 정기적으로 실행해야합니다. 스크립트를 한 번만 실행하고 일부 DB에 연결된 모든 연결에 반영되는 바로 가기가 있습니까?여러 데이터베이스에서 일괄 Oracle 쿼리 실행
(참고 : 모든 4 연결이 정확히 같은 정보를 개최한다.)
이사람이이 작업을 수행하는 방법을 제안 할 수 있습니다?
내가하는 일은 다음과 같습니다. GUI가 아닌 명령 프롬프트 기능을 사용하십시오. 유일한 전제 조건은 SQL * Plus를 컴퓨터에 설치하는 것입니다.
예를 들어, 실행하려는 SQL 스크립트를 작성하여 C : \ Temp 디렉토리에 저장하십시오. "my_script.sql"이라고 부르 자. SQL과 PL/SQL을 모두 포함 할 수 있습니다 (이 경우 슬래시로 종료하는 것을 잊지 마십시오!).
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
는 그런 다음 DOS 배치 스크립트를 작성의이 "run_my_script.bat을"이름을하자 거기에 같은 코드를 넣어 : 당신으로
@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
여기
는 것처럼 보일 것입니다 방법 볼 수 있습니다, 그것은
는 .BAT 파일을 두 번 클릭하는 것입니다 테스트하는 가장 간단한 방법을 실행) 시작 키워드를 제거; SQL 스크립트가 끝나면 4 개의 "검은 색"명령 프롬프트 창을 열고 종료합니다. 로그 파일을 확인하십시오!
결과에 만족하면 Task Scheduler에서 .BAT 파일의 실행을 예약하여 정기적으로 &이 자동으로 실행되도록하십시오.
그게 전부 일 겁니다.