So che non gli interessa a nessuno, ma visto che questo è un blog, anzi il mio blog, scrivo a tutto il mondo che oggi dopo aver partecipato/seguito l’ Oracle SOA Campus 2010 grazie alla Primeur, mi sono Certificato Oracle SOA Foundation Practitioner! Ora riposo un pò (magari mi abbronzo anche) e poi si parte per Genova dove mi aspetta un anno in Primeur!!
Posts Tagged ‘oracle’
Mi sono certificato Oracle SOA Specialist!!
Installazione Oracle SOA Suite 11g
Seguendo il processo di installazione dell’ Oracle SOA Suite 11g dal blog Oracle ho incontrato un problema durante l’installazione dell’ RCU.. In pratica il messaggio di errore recitava così:
RCU-6083:Non riuscito – Controlla prerequisiti per il componente selezionato:SOAINFRA ecc..
Questo problema è dovuto alle impostazioni base del DB Oracle XE.
Per risolvere il problema basta seguire questi semplici passi:
- Aprire il terminale e digitare sqlplus
- inseriamo come user system
- inseriamo la password di sys
- digitiamo: alter system set processes=200 scope=spfile;
- riavviamo il database
Fatto
Creare processi batch in Java
In questo post vedremo come creare un processo batch in java che eseguirà una semplice query nel database Oracle 10g attraveso il driver JDBC:ODBC.
import java.sql.*; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Alessandro Musacchio */ public class Main { public static void main(String[] args) { Connection con = null; Statement st = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); con = DriverManager.getConnection("jdbc:oracle:thin:user/password@localhost:1521:XE"); String query = "update UTILITA set AVVIOTRIGGER=1"; st = con.createStatement(); st.addBatch(query); st.executeBatch(); } catch (ClassNotFoundException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } catch (SQLException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); }finally { if( st != null) st.close(); if( con != null) con.close(); } } }
Schedulare un azione su Database Oracle 10g
Vi mostrerò un esempio su come pianificare un azione, sia essa l’ esecuzione di una procedura, sia essa l’ avvio di un trigger ecc..
Oracle 10g, offre uno scheduler interno che permette di pianificare una particolare azione SQL alla data e allora stabilita, eventualmente anche ogni giorno.
Nell’ esempio sottostante vedremo come si crea e che cosa può fare:
BEGIN DBMS_SCHEDULER.create_job ( job_name => 'avviotrigger', job_type => 'PLSQL_BLOCK', job_action => 'BEGIN update UTILITA set AVVIOTRIGGER=1; END;', start_date => SYSTIMESTAMP, repeat_interval => 'freq=daily; byhour=0;byminute=0;bysecond=0', end_date => NULL, enabled => TRUE, comments => 'Inseriamo un commento'); END;
Come potete vedere niente di più semplice da implementare, abbiamo achedulato un azione (update UTILITA set AVVIOTRIGGER=1) che a partire dall’ istante in cui inseriamo il comando, ogni giorno e per sempre a mezzanotte eseguirà la query di update.
Funzione di login in PL/SQL
Esempio di una funzione che si occupa di validare la login, in base all’ user e alla password ricevute.
Come si può facilmente vedere al funzione esegue una query per recuperare dal database la password in base all’ user ricevuta e verificare se la password nel database è uguale a quella ricevuta, se così fosse ritorna il valore intero 1 altromenti il valore intero 0.
CREATE OR REPLACE FUNCTION "CHECKLOGIN" ( user_p varchar2, pass_p varchar2 ) RETURN NUMBER IS y NUMBER:=0; pwd varchar2(30); BEGIN SELECT password INTO pwd FROM servizioonline WHERE username=user_p; IF pwd=pass_p THEN y:= 1; END IF; RETURN y; END;
Installare Oracle 10g xe su Ubuntu Linux
ATTENZIONE: requisiti minimi di sistema sono: 256mb di ram, 1gb di swap, librerie glibc e libaio1!
Per prima cosa scarichiamo dal sito di Oracle la versione XE di famoso 10g in formato .deb
Fatto ciò procediamo con l’ installazione…
Spostiamoci con la shell nella directory in cui abbiamo scaricato oracle e diamo il comando:
sudo dpkg -i [nome del file oracle]Dopo unpo di tempo dovrebbe aver finito l’ installazione..
Ora dobbiamo controllare se la porta 8080 è impegnata, per farlo diamo il comando:
netstat -na | grep 8080
Se non appare niente allora è libera
Diamo il comando:
sudo /etc/init.d/oracle-xe configure
E lasciamo tutto di default.. Attenzione a dove dice di inserire la password dell’ utente SYS!
Finita questa procedura apriamo firefox e puntiamolo su http://localhost:8080/apex
e utilizzando l’ accont sys facciamo login






