Script sql di lancio di un altro script sql
Lo script "lancio_script.sql" contiene questo codice:
spool <script_da_lanciare>.log
prompt ============================
prompt cambio schema
prompt ============================
alter session set current_schema = <>;
prompt ============================
prompt start script
prompt ============================
select to_char(sysdate,'ddmmyyyy hh24:mi:ss') from dual;
@/<path dove si trova lo script>/<script_da_lanciare>.sql
prompt ============================
prompt end script
prompt ============================
select to_char(sysdate,'ddmmyyyy hh24:mi:ss') from dual;
spool off
exit
Io metto in un unico path sia il file lancio_script.sql che lo script da lanciare che contiene le operazioni sql.
Come si lancia:
export ORACLE_SID=TEST
sqlplus "/as sysdba" @lancio_script.sql
Per calcolare il tempo impiegato estrarre dal log le due date e mettere nella seguente query
select
trunc(
to_date('17092019 10:45:00','ddmmyyyy hh24:mi:ss') -
to_date('15092019 06:30:45','ddmmyyyy hh24:mi:ss')) giorni,
trunc( 24* mod(
to_date('17092019 10:45:00','ddmmyyyy hh24:mi:ss') -
to_date('15092019 06:30:45','ddmmyyyy hh24:mi:ss'),1
)) as ore,
trunc( mod(mod(
to_date('17092019 10:45:00','ddmmyyyy hh24:mi:ss') -
to_date('15092019 06:30:45','ddmmyyyy hh24:mi:ss'),1
)*24,1)*60 ) as min
from dual;
spool <script_da_lanciare>.log
prompt ============================
prompt cambio schema
prompt ============================
alter session set current_schema = <>;
prompt ============================
prompt start script
prompt ============================
select to_char(sysdate,'ddmmyyyy hh24:mi:ss') from dual;
@/<path dove si trova lo script>/<script_da_lanciare>.sql
prompt ============================
prompt end script
prompt ============================
select to_char(sysdate,'ddmmyyyy hh24:mi:ss') from dual;
spool off
exit
Io metto in un unico path sia il file lancio_script.sql che lo script da lanciare che contiene le operazioni sql.
Come si lancia:
export ORACLE_SID=TEST
sqlplus "/as sysdba" @lancio_script.sql
Per calcolare il tempo impiegato estrarre dal log le due date e mettere nella seguente query
select
trunc(
to_date('17092019 10:45:00','ddmmyyyy hh24:mi:ss') -
to_date('15092019 06:30:45','ddmmyyyy hh24:mi:ss')) giorni,
trunc( 24* mod(
to_date('17092019 10:45:00','ddmmyyyy hh24:mi:ss') -
to_date('15092019 06:30:45','ddmmyyyy hh24:mi:ss'),1
)) as ore,
trunc( mod(mod(
to_date('17092019 10:45:00','ddmmyyyy hh24:mi:ss') -
to_date('15092019 06:30:45','ddmmyyyy hh24:mi:ss'),1
)*24,1)*60 ) as min
from dual;