martedì 8 settembre 2009

OC4J da standalone a servizio

Con questo post voglio tradurre un altro post che mi è stato molto utile,
in pratica per non utilizzare Oracle Application Server è comodo usare BI Publisher o l'intera Oracle BI Enterprise Edition con un OC4J standalone.

L'OC4J standalone però viene avviato al login dell'utente e s'interrompe al logout dell'utente stesso, quindi sarebbe utile installarlo come servizio di windows.

Per installare OC4J come servizio è presente in rete un tool opensource che si chiama JavaService reperibile a questo indirizzo http://javaservice.objectweb.org/.

Il tool crea un servizio per Microsoft Windows se si lancia il seguente comando:

javaservice -install "Oracle BI: OC4J Service" "D:\jdk1.5.0_09\jre\bin\client\jvm.dll" -XX:MaxPermSize=128m -Xmx512m "-Djava.class.path=d:\OracleBI\oc4j_bi\j2ee\home\oc4j.jar" -start oracle.oc4j.loader.boot.BootStrap -description "Oracle BI Oc4J Service"

A questo punto è possibile avviare il servizio in automatico alla partenza della macchina.

Io ho usato il tool nella versione 2.0.10 in una macchina con Microsoft Windows Server 2003 64 bit con Java JDK 1.5.

Qui il post originale

Riporto anche un altro post simile dove spiega i passaggi necessari con degli screenshot

mercoledì 1 luglio 2009

Installare PolyServer Uniface 7 su Windows 2003 Server

Mi è capitato più di una volta di dover installare la suita completa di Uniface 7 su Windows 2003 Server oppure d'installare lo sviluppo web di Uniface 7 su Windows 2003 Server e di trovare di fronte l'errore in avvio del servizio "Uniface TCP SuperServer".

L'errore è dovuto al fatto che il programma d'installazione non esegue un "passaggio" correttamente, infatti a installazione completata, andate sotto
"C:\WINDOWS\System32\drivers\etc" (sostituite C: con il drive del disco dove è installato Windows)

aprite con notepad il file "services"

noterete che all'ultima riga sono uniti sia il penultimo servizio e relativa porta che il nostro polyserver

a questo punto basta inserire un CR+LF prima della parola "polyserver", salvare il file e far ripartire il servizio Uniface TCP SuperServer

Sito Agriturismo Le Bucoliche

Vi presento una mia creazione "low cost",
sito di presentazione dell'Agriturismo Le Bucoliche

hosting aruba in Widows 2003 Server, IIS, Database Access

pagine scritte in HTML, ASP, Javascript, Flash

segnalazione sito su Google, MSN, Yahoo

segnalazione struttura su Bed and Breakfast Italia e su Agriturismo Italia
e altri network del settore

Scansione di un TreeMap in Java

Un piccolo pezzo di codice per scansionare una TreeMap in Java

Iterator i = treeMap.entrySet().iterator();
while (i.hasNext()) {

Map.Entry e = (Map.Entry)i.next();
if (e != null) {

Integer mtInteger = (Integer)e.getKey();
System.out.println("...");


String myString = (String)e.getValue();
System.out.println("...");


}

}

martedì 30 giugno 2009

Installare Oracle 10gR2 su Windows Server 2008

Per installare Oracle 10g Release 2 su Windows Server 2008 è necessario procurarsi i seguenti file:

- 10203_vista_w2k8_x86_production_db [Installazione standard Oracle 10g release 2 10.2.0.3]
- p6810189_10204_Win32 [Installazione patchset 10.2.0.4]
- p7677780_10204_Win32 [Installazione patch 14 su 10.2.0.4]

Prima di procedere con l’installazione è necessario sapere alcuni semplici nozioni sulle nuove funzionalità di protezioni introdotte da Windows Vista in poi (fonte Wikipedia):

“User Account Control (UAC - Controllo Account Utente) è un modulo di protezione introdotto da Microsoft in Windows Vista, che gestisce i permessi dei singoli utenti del computer in modo da impedire l'esecuzione di software dannoso o il danneggiamento di dati o componenti del sistema. Uno dei principali difetti delle precedenti versioni dei sistemi Windows era infatti legato alla sicurezza ed al problema della esecuzione di molti processi ed applicazioni in modalità "amministratore di sistema". Con questo modulo Microsoft tenta di emulare il funzionamento e soprattutto la filosofia dei sistemi come Mac OSX oppure Linux.”

In pratica per l’installazione ed esecuzione dei programmi c’è un ulteriore livello di guardia per il quale anche se si è amministratori della macchina è necessario esplicitare “Esegui come amministratore” (“Run as administrator”).

Molti programmi d’installazione però non usano un semplice eseguibile, ma durante il processo d’installazione esegue con comandi di sistema operativo altri file batch, script o eseguibili, siccome “Esegui come amministratore” non è ereditato dalle successive chiamate questi batch o script non vanno a buon fine.

L’installazione di Oracle rientra nei problemi di cui sopra quindi un passaggio necessario è disabilitare il famigerato UAC almeno durante la fase d’installazione di Oracle Database, per fare questo:
1) entrare in Windows 2008 con un utente con privilegi di amministratore,
2) entrare nel pannello di controllo
3) scegliere “Account utente”
4) scegliere “Attiva o disattiva Controllo account utente”
5) togliere la spunta da “Per proteggere il computer, utilizzare il controllo dell’account utente” e premere “Ok”
6) A questo punto il sistema chiede il riavvio della macchina, quindi confermare prima di procedere con l’installazione di Oracle Database

A questo punto usando sempre un account di tipo amministratore possiamo iniziare il processo d’installazione che deve essere fatto in due modalità diverse:
1) modalità server Windows 2008 non è controller di dominio
2) modalità server Windows 2008 è controller di dominio

Come informa la Oracle la seconda modalità può essere evitata solamente installando Oracle Database prima che il server diventi controller di dominio oppure si fa regredire il controller di dominio a semplice “member”, s’installa Oracle Database con la modalità 1 e poi si promuove il server a controller di dominio.
Naturalmente in una situazione dove il controller di dominio è già in produzione è necessario e conveniente seguire la modalità 2.

Modalità server Windows 2008 non è controller di dominio

1) Usando 10203_vista_w2k8_x86_production_db andare nella cartella dove è presente “setup.exe” e lanciarlo
2) Durante l’installazione scegliere le opzioni di default come se dovessimo installare su Windows 2003 server
3) Usando p6810189_10204_Win32 andare nella cartella dove è presente “setup.exe” e lanciarlo, in questo modo si esegue l’installazione della patch 10.2.0.4
4) Durante l’installazione della patch 10.2.0.4 esegui l’aggiornamento per tutti i servizi di database installati
5) Modificare i parametri del database come di consueto e poi si può rialzare UAC riattivando il flag nel pannello di controllo come mostrato precedentemente

Modalità server Windows 2008 è controller di dominio

Purtroppo se Windows 2008 è anche controller di dominio non si può procedere con l’installazione classica ma è opportuno installare la 10.2.0.3 la patchset 10.2.0.4 e la patch 14 su 10.2.04 senza configurare nessun servizio database il quale sarà invece installato successivamente usando “Database configuration Assistant”, quindi:

1) Usando 10203_vista_w2k8_x86_production_db andare nella cartella dove è presente “setup.exe” e lanciarlo
2) Togliere la spunta da “Creazione database iniziale” e procedere con l’installazione
3) Usando p6810189_10204_Win32 andare nella cartella dove è presente “setup.exe” e lanciarlo, in questo modo si esegue l’installazione della patch 10.2.0.4, dopo l’installazione della patch non è necessario aggiornare i database perché non sono ancora stati creati
4) Scompattare p7677780_10204_Win32 in una cartella di appoggio
5) Andare nel prompt dei comandi e impostare la oracle home con “set ORACLE_HOME=nome_cartella_installazione_oracle” esempio “set ORACLE_HOME=c:\oracle\product\10.2.0\db_or10”
6) Sempre dal prompt dei comandi inserire neila variabile d’ambiente PATH il percorso della cartella OPatch che sta dentro la ORACLE_HOME esempio “set PATH=%PATH%;c:\oracle\product\10.2.0\db_or10\OPatch”
7) Sempre dal prompt dei comandi entrare nella cartella dove abbiamo estratto la patch 14 e digitare il comando “OPatch apply”
8) Attendere finchè non ritorna il prompt dei comandi a disposizione, quindi uscire
9) A questo punto si può procedere alla creazione del database quindi usare “Assistente alla configurazione del database”
10) Una volta creato il database è necessario installare un listener quindi usiamo “Assistente alla configurazione della rete”->”Configurazione listener” per creare un nuovo listener di nome “LISTENER”
11) Terminiamo con la configurazione della rete usando sempre “Assistente alla configurazione della rete”->”Configurazione del nome di servizio di rete locale” per aggiungere il sid e alias di database creato precedentemente
12) Modificare i parametri del database come di consueto e poi si può rialzare UAC riattivando il flag nel pannello di controllo come mostrato precedentemente

Certificazione Oracle Database 10g OCA

(Giugno 2008)

Finalmente ho conseguito la certificazione Oracle Database 10g OCA!!!

E' da novembre 2007 che studiavo per conseguire questo primo livello di certificazione e devo dire che non è facile perchè:

- i temi sono molti e abbastanza ampi

- spesso non uso tutte le funzioni quotidianamente quindi è difficile ricordarsi

di pro c'è il fatto che adesso ho una cultura più approfondita e professionale del database Oracle 10g, proverò ad utilizzare delle funzionalità nuove sia in fase di sviluppo che in produzione delle quali non avevo una giusta conoscenza tipo il datapump e RMAN e infine ho rispolverato un certo modo di leggere e intepretare l'inglese.

Il materiale di studio usato:

- Manuale Sybex per la certificazione OCA

- Manuale Oracle

Test di prova:

- Trascender

- SelfTest

- TestKing

I primi due pongono le stesse domande, mentre il TestKing l'ho ritenuto poco affidabile, sia per errori grammaticali sia per errori sulle risposte!!!

Praticamente mi sono sempre esercitato sul Trascender e ho sostenuto l'esame solo quando ho raggiunto risultati tra il 95% e il 100%.

Nel complesso una decina di domande sul Trascender le ho ritrovare tali e quali nel test vero, mentre nel resto delle domande cambiavano i termini o il numero di risposte esatte.

Quindi in sintesi per prepararsi a questo esame e ai futuri Oracle direi di:

- Studiare su manuale Sybex e Oracle

- Tenersi a portata di mano un ambiente di lavoro per fare le prove

- Usare più volte Trascender come strumento di test sia per argomenti che per simulazione di prova definitiva

- Pianificare esattamente le ore di studio e test altrimenti ci vogliono 6 mesi!!!

Uniface e Tomcat: configurare due o più applicazioni web

Installare due applicazioni web, che si appoggiano sullo stesso Tomcat, sullo stesso urouter ma con files di assegnazione e configurazione diversi:

  1. Installare in tomcat due applicazioni web, per esempio partendo dall'installazione Uniface copiare la cartella uniface sotto ../webapp, incollarla due volte rinominando le cartelle copiate "webapp1" e "webapp"
  2. A questo punto sotto la cartella webapp dovremmo avere due applicazioni:webapp1 e webapp2
  3. Nei web-xml delle due applicazioni bisogna configurare l'esatto server da far richiamare all'urouter esempio
    1. webapp1 --> UV8:localhost+13001|NOMESERVER\userver|userver|wasv1
    2. webapp2 --> UV8:localhost+13001|NOMESERVER\userver|userver|wasv2
  4. Quindi per l'applicazione webapp1 Tomcat chiederà a urouter di chiamare il server wasv1 mentre per l'applicazione webapp2 Tomcat chiederà a urouter di chiamare il server wasv2
  5. A questo punto andare sull'asn di urouter e configurare gli asn per ogni server
  6. wasv1 = "installazione_uniface\bin\userver.exe" -asn="installazione_uniface\adm\wasv1.asn"
  7. wasv2 = "installazione_uniface\bin\userver.exe" -asn="installazione_uniface\adm\wasv2.asn"
  8. Avviare i servizi URouter e Tomcat e l'impostazione è terminata

OWF - Problema RPE-02062

Mi è capitato più di una volta di incontrare l'errore RPE-02062, questo mi è accaduto quando più processi di warehouse builder schedulati andavano in loop o comunque non riuscivano a terminare l'operazione pur forzando il processo a fermarsi.

Quindi andando a modificare il processo e andando poi a deploiare la modifica, warehouse builder ritorna questo errore RPE-02062 perchè nelle tabelle di controllo risulta ancora che il processo è in corso.

Ci sono varie soluzioni per risolvere il problema ma la più veloce e spartana è quella che ho trovato in un latro blog: ovvero eseguire una select per sapere gli identificativi dei processi in corso e poi usare una procedure per terminare il processo.

Quindi occore connettersi al database con l'utente OWF_MGR ed eseguire la seguente selezione:

SELECT item_type, item_key, begin_date, end_date, activity_status
FROM wf_item_activity_statuses
WHERE activity_status<>'COMPLETE'
AND item_type = 'NOME_VOSTRO_PACKAGE';

Se la selezione ritorna dati allora si può utilizzare il valore della colonna ITEM_KEY per eseguire il seguente codice:

BEGIN
WF_ENGINE.ABORTPROCESS('NOME_VOSTRO_PACKAGE', 'WB_IK_20080627_200542_108294');
END;

A questo punto potete procedere al deploy dei vostri processi modificati.

Configurare Database Control quando si cambia indirizzo ip o hostname

Capita spesso di dover installare il database oracle e al momento dell'installazione sono stati ricevuti dal cliente un determinato hostname e indirizzo ip ma quando si va dal cliente viene chiesto di cambiare l'indirizzo ip oppure cambia il suffisso dns o addirittura cambia il nome host.

Il risultato è che cambiando queste informazioni, quando si riavvia il servizio di Console si riceve un errore d'inizializzazione, ciò avviene perchè il repository che è stato creato in fase d'installazione contiene informazioni importanti relative a host,dns e ip.

Per ripristinare l'avvio e uso della console è necessario eseguire pochi semplici passaggi:

1) andare nel prompt dei comandi

2) impostare la variabile d'ambiente ORACLE_HOME

3) impostare la variabile d'ambiente ORACLE_SID

4) lanciare la seguente procedura che distrugge il repository corrente

emca -deconfig dbcontrol db -repos drop

5) lanciare la seguente procedura che ricrea il repository

emca -config dbcontrol db -repos create

Vodafone Alcatel 875 hard reset

Se tuo nipote blocca il telefonino vodafone alcatel 875 e inoltre si dimentica utente e password di accesso, una delle poche cose che rimang...