Post

Visualizzazione dei post da settembre, 2019

Svuotare il listener.log

Il file di log del listener non deve essere cancellato ma svuotato. Dove sta? # lsnrctl status Effettuare eventualmente una copia e zipparlo. # cp listener.log listener.log_yyyymmdd # gzip listener.log_yyyymmdd A questo punto svuotare il listener cat /dev/null >listener.log

Installare Apache Tomcat 8.5 su Centos 6

Immagine
Apache Tomcat (o semplicemente Tomcat) è un software open source che permette di implementare Web Application Server scritti in Java. Esso implementa Java Servlet (oggetti scritti in linguaggio Java) e JavaServer Pages (JSP). Prerequisito installare JAVA  Per verificare se java è installato,  eseguire il comando  [root@coslab02 conf.d]# java -version java version "1.7.0_191" OpenJDK Runtime Environment (rhel-2.6.15.4.el6_10-x86_64 u191-b01) OpenJDK 64-Bit Server VM (build 24.191-b01, mixed mode) Per trovare la directory di installazione di java: [root@coslab02 ~]#  which java /usr/bin/java [root@coslab02 ~]# ll /usr/bin/java lrwxrwxrwx. 1 root root 22  6 set  2018 /usr/bin/java -> /etc/alternatives/java [root@coslab02 ~]# ll /etc/alternatives/java lrwxrwxrwx. 1 root root 46  6 set  2018 /etc/alternatives/java ->  /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java La JAVA HOME è /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/. Creare un account tomcat. useradd

Script di lancio di uno script sql con passaggio di parametri

Il post è stato testato in ambiente Centos ma vale in generale in ambienti linux. Collegarsi come oracle #su - oracle Creare il file  $ vi lancio_script.sql spool <script>.log set timing on prompt ============================ prompt start script prompt ============================ @&1&2 -- 1 è il path contenente il file sql da passare così /<path>/ -- 2 è il file sql da eseguire prompt ============================ prompt end script prompt ============================ spool off exit Come lanciarlo: $ sqlplus / as sysdba @lancio_script.sql /<path>/ <script>.sql Il parametro />path>/ è la directory contente il file query.sql.

Estrazione xls da sqlplus

Il post è stato eseguito in ambiente Centos ma vale in generale in ambienti linux. Collegarsi come oracle su - oracle Creare il file di estrazione del report xls. #vi  estrazione_xls.sql set markup html on  spool on spool /u01/app/oracle/report.xls select * from BIBI.CONTRATTI where DESCRIZIONE ='Contratto'; set markup html off spool off exit Lanciare lo script: #sqlplus /as sysdba  @estrazione_xls.sql

Calcolo tempo di esecuzione di una query

Per calcolare l'elapsed time di una query usare il parametro  set timing on vi calcolo_tempo_query.sql spool query.log set timing on prompt ============================ prompt cambio schema prompt ============================ ---alter session set current_schema = <>; prompt ============================ prompt start script prompt ============================ @/<path che contiene loscript>/query.sql prompt ============================ prompt end script prompt ============================ spool off exit L'istruzione set timing on calcola il tempo di esecuzione di ogni istruzione, quindi se il file sql da eseguire contiene n istruzioni tra query, create table, etc, avremmo n elapsed time. Questi dovranno essere sommati per calcolate il tempo totale di esecuzione delle istruzioni contenute nel file sql. Un altra soluzione è inserire l'istruzione "select sysdate from dual" all'inizio e fine del file come indicato nel post seguent

Estrazione differenza tra date

Estrazione differenza tra due date in giorni, ore e minuti. 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     GIORNI        ORE        MIN ---------- ---------- --------------------          2                4               14

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('17092

Processi in background (nohup + &) e foreground (JOBS, FG)

Usare nohup ed & per eseguire l’attività in background anche se si chiude il terminale. Ad esempio per lanciare un export del database nohup  expdp  \"sys/xxxxxx as sysdba\" dumpfile=... logfile=.. ..    & In genere è meglio mettere tutti i comandi in una shell script, diciamo comandi.sh e poi lanciare:  nohup comandi.sh & & manda in background il comando lanciato e, se non è utilizzato insieme al nohup, il comando lanciato, pur se attivo in backgound contemporaneamente alla shell che lo ha lanciato è comunque figlio della shell interattiva di login. Quindi se uscite dalla sessione interattiva la shell manderà il segnale di hangup (HUP) ai suoi figli, terminando tutti i processi in background. Se invece volete che il lavoro continui anche se uscite dalla shell di login, dovete usare nohup .  In questo caso il comando lanciato col nohup appena partito si stacca dal "terminale di controllo", ovvero il suo parent pid non è più la shell di login,