Benutzer-Werkzeuge

Webseiten-Werkzeuge


dba:oracle_scheduler_12c_external_scripts

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
dba:oracle_scheduler_12c_external_scripts [2019/09/20 14:06] – [OS User Account hinterlegen, inkl. Domain!] gpipperrdba:oracle_scheduler_12c_external_scripts [2023/06/05 16:31] (aktuell) gpipperr
Zeile 2: Zeile 2:
  
 Erste Version : ** 2018/02/05** Erste Version : ** 2018/02/05**
 +
 +<note warning>Ab min 18c wurde die Sicherheit verstärkt! So einfach funktioniert es nicht mehr!</note>
 +
 +Siehe dazu auch:https://svenweller.wordpress.com/2019/03/28/18c-scheduler-external-script-with-error-ora-27369-job-of-type-executable-failed-with-exit-code-no-child-processes/
  
 **Aufgabe:**  **Aufgabe:** 
Zeile 306: Zeile 310:
  
 </code> </code>
 +
 +
 +Testen wir mal was uns das Script in die Datenbank zurück gegeben hat (über die Spalten OUTPUT und BINARY_OUTPUT)  :
 +
 +<code sql>
 +
 +select ERRORS
 +   ,  OUTPUT
 +   ,  BINARY_ERRORS
 +   ,  BINARY_OUTPUT
 + from user_scheduler_job_run_details 
 +WHERE job_name = 'ETL_JOB';
 +
 +
 +OUTPUT
 +--------
 +
 +--Info Script was called with parameter 20180205 JOB- log to std_out
 +
 +-- bei mehr als 4000 Zeichen
 +
 +select utl_raw.cast_to_varchar2(BINARY_OUTPUT) from user_scheduler_job_run_details WHERE job_name = 'ETL_JOB';
 +
 +</code>
 +
 +D.h. wir können Standard Out abfangen und hier wieder Details des Jobs zurück and die DB reichen.
  
  
Zeile 313: Zeile 343:
 <code powershell> <code powershell>
 %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoLogo -NoProfile -NonInteractive -File C:\oracle\dbScript\info.ps1 %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoLogo -NoProfile -NonInteractive -File C:\oracle\dbScript\info.ps1
 +</code>
 +
 +<code plsql>
 +BEGIN
 + DBMS_SCHEDULER.CREATE_JOB(
 +  job_name            => 'ETL_JOB2',
 +  job_type            => 'EXECUTABLE',
 +  job_action          => '%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe',
 +  number_of_arguments => 1,
 +  enabled             => FALSE,
 +  auto_drop           => TRUE,
 +  credential_name     => 'OS_USER_JOB_CONTROL2');
 + 
 + DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE('ETL_JOB2',1,'-ExecutionPolicy Bypass -NoLogo -NoProfile -NonInteractive -File C:\oracle\dbScript\info.ps1 parameter');
 + 
 + DBMS_SCHEDULER.ENABLE('ETL_JOB2');
 + 
 + END;
 +/
 +
 +
 +select ERRORS
 +   ,  OUTPUT
 + from user_scheduler_job_run_details 
 +WHERE job_name = 'ETL_JOB2';
 +
 </code> </code>
  
Zeile 327: Zeile 383:
  
  
-siehe Tabelle =>  SYS scheduler$_credential+siehe Tabelle =>  **SYS scheduler$_credential**
  
 siehe Hinweise in diesen Foliensatz:  siehe Hinweise in diesen Foliensatz: 
  
-https://www.doag.org/formes/pubfiles/4200237/2012-K-null-Alexander_Kornbrust-STREAM-KEYNOTE_SECURITY__Best_of_Oracle_Security_2012-Praesentation.pdf für 11g, in 12c anscheinend gefixtanders gelößt.+https://www.doag.org/formes/pubfiles/4200237/2012-K-null-Alexander_Kornbrust-STREAM-KEYNOTE_SECURITY__Best_of_Oracle_Security_2012-Praesentation.pdf für 11g, in 12c anscheinend gefixt bzw. anders gelöst.
  
  
dba/oracle_scheduler_12c_external_scripts.1568981183.txt.gz · Zuletzt geändert: 2019/09/20 14:06 von gpipperr