giovedì 23 ottobre 2025

ODI 14 - AGENT - Runtime Logging

 Per aumentare il livello di logging di un agent ODI occorre modificare alcuni parametri presenti nei file di configurazione.

I seguenti componenti di ODI possono essere tracciati:

    • ODI Studio
    • ODI Java EE agents
    • ODI Standalone agents
    • ODI Standalone Colocated agents
  • ODI Studio
    •  Per il Local Agent che gira all'interno di ODI Studio, il servizio di debug è abilitato e i log vengono scritti in tabelle del repository ODI (SNP_SESSION_DBG). 
    • La configurazione dei log a livello di ODI Studio avviene tramite il file ODI-logging-config.xml nella cartella del client ODI, dove è possibile impostare il livello trace per una registrazione dettagliata degli eventi.
  • Log Level
    • Il livello di log in Oracle Data Integrator (ODI) può essere impostato sugli elementi log_handler e/o logger nel file di configurazione dei log. La logica per la registrazione dei messaggi è la seguente:
      • Se il livello è impostato su un log_handler, allora si applica a tutti gli usi di quel log_handler.
      • Se il livello è impostato su un logger, allora si applica a tutti i suoi handler e ai logger discendenti che non hanno un livello esplicito impostato.
                    Un messaggio viene registrato solo se il suo livello di log è maggiore o uguale sia al
                    livello del logger sia al livello del log_handler.
                    In pratica, per far sì che un messaggio venga scritto, esso deve superare
                    contemporaneamente la soglia minima impostata sul logger e quella sul log_handler
                    specificato.
                    Questo meccanismo permette un controllo granulare della verbosità del logging,
                    facilitando il monitoraggio e la diagnostica di ODI in modo flessibile e configurabile 
                    tramite il file ODI-logging-config.xml.?

                   

      1. Open the ODI logging system configuration file of the ODI component. Each component has its own configuration file: 
        • ODI Studio: 
          • $ODI_HOME/odi/studio/bin/ODI-logging-config.xml 
        • ODI Standalone agent:
          •  <DOMAIN_HOME>/config/fmwconfig/components/ODI/<INSTANCE_NAME>/ODI-loggingconfig.xml 
      2. Make sure that the path to your log files is a valid and existing path. 
        • For example: 
                                
                                Note the following concerning the log files path: 
        • If you are on Windows, the path could be for example:
          •  %ODI_HOME%\oracledi\agent\log\${LOG_FILE} 
        • You can use a relative path on Windows and Unix. 
                          3. Enable the logger and set the log level. 

lunedì 20 ottobre 2025

ODI 12 Marketplace - How To Configure ODI on Marketplace Agent to Use sqlldr and Other External Tools in Executions

Alcune esecuzioni richiedono che il file eseguibile (come Oracle Database sqlldr) si trovi nel percorso di comando per poter essere eseguito da Oracle Data Integrator (ODI) sull'agente Marketplace. 

Per impostazione predefinita, l'agente autonomo distribuito sull'istanza ODI su Marketplace non imposta alcuna informazione sul percorso. Ciò comporta errori del tipo "file non trovato" o simili quando si tenta di utilizzare strumenti esterni. 

Per configurare all'interno di un agent il richiamo del tool sqlldr o un qualsiasi altro External Tools di ODI occorre far riferimento alla seguente NOTA:

  • (Doc ID 2724109.1)
La nota indica i passi per la configurazione del tool all'interno dell'agent ODI.

Una volta seguita passo passo la nota occorre comunque effettuare una configurazione del LKM 
  • File to Oracle (SQLLDR)
Nell'LKM occorre anche indicare il corretto CharacterSet al fine di caricare i dati con la corretta valorizzazioni di accenti o lettere di origine non italiana.



Di seguito alcune info:


giovedì 16 ottobre 2025

ODI 12c/14c - How to use Function Listagg and Group by condition in ODI Mappings

 Di seguito un esempio di come integrare la funzione di  oracle Listagg in ODI.

Supponiamo di dover fare una aggregazione ed inserire in una tabella il risultato, consideriamo una tabella dello schema HR di oracle ed ineriamo in una tabella copia,

Questo sarà il mapping:



Occorre inserire la funzione di Listagg all'interno di un componente AGGREGATE.

A questo punto quando verrà generato in simulazione la query avremo la select corretta.



Per verificare che la funzione Listagg sia vista come una funzione di aggregazione possiamo verificare sulla topologia che sia presente nel linguaggio come funzione di Aggregazione.



Nota: in alcune versioni di ODI MarketPlace 14c su Cloud ci potrebbe essere un bug. 



mercoledì 1 ottobre 2025

ODI 14c - Come concedere grant di esecuzioni di uno scenario ad un utente ODI

Per concedere i diritti di esecuzione di uno scenario ODI 14c a un utente presente nel repository ODI, occorre agire tramite il modulo di sicurezza di ODI. 

I passi principali sono:

  1. Aprire ODI Studio e accedere alla sezione di Sicurezza (Security).
  2. Nella vista utenti (Users), selezionare o aggiungere l'utente a cui concedere i diritti.
  3. Nei permessi degli oggetti (Objects), individuare lo scenario o il progetto che contiene lo scenario.

Per concedere il permesso di esecuzione (Execute) sull'oggetto scenario occorre trascinare questo sull'utente o assegnando i relativi metodi legati al progetto o scenario.

Confermare e salvare le modifiche.

L'utente deve avere almeno i permessi di connessione (Connect) e i permessi specifici per eseguire lo scenario. 

I permessi si gestiscono tramite profili o direttamente all’utente nel Security Navigator. 


Cliccando due volte sullo scenario indicato sopra si apre la schermata relativa alla security dell'utente con l'indicazione che quest'ultimo ha ricevuto le grant di execute dello scenario.



lunedì 22 settembre 2025

ODI 14c - Start e Stop Agent ODI Marketplace

Di seguito i comandi per effettuare lo start, stop e status di un agent ODI Marketplace in cloud oracle.

Il tutto è stato preso dalla nota del supporto oracle MOS_DOCUMENT_ID: 2921533.1

  • Start e stop utilizzando opc
    • Il servizio presente in cloud ha il seguente nome manageappsodi.service. Posizionato  in /usr/lib/systemd/system
      • sudo systemctl status manageappsodi.service
      • sudo systemctl stop manageodiapps.service
      • sudo systemctl start manageodiapps.service
  • Se invece utilizziamo l'utente oracle si possono utilizzare gli script posti in 
    • /u01/oracle/mwh/odi/common/scripts 
    • Per verificare lo stato:
      • python /u01/oracle/mwh/odi/common/scripts/manageOdiApps.py status
    • Per effettuare lo start invece possiamo utilizzare il seguente comandi ridirigendo l'output in un file manageappsodi.log file:
      • nohup python /u01/oracle/mwh/odi/common/scripts/manageOdiApps.py start > manageappsodi.log 2>&1 &
    • Lo stop / start dell'agent application lo possiamo effettuare con i seguenti comanti se jetty è up and running):
      • python /u01/oracle/mwh/odi/common/scripts/manageOdiApps.py stop -apps=APPODIAGENT
      • python /u01/oracle/mwh/odi/common/scripts/manageOdiApps.py start -apps=APPODIAGENT
    • Restart the agent:
      • python /u01/oracle/mwh/odi/common/scripts/manageOdiApps.py restart
    • Shutdown di  jetty and the agent:
      • python /u01/oracle/mwh/odi/common/scripts/manageOdiApps.py shutdown
    In alcuni casi si rende necessario effettuato uno stop forzato effettuando un kill -9 dei processi, per individuare i corretti processi si può effettuare il comando jps che indica gli ID Java in esecuzione di cui l'utente unix è proprietario.

    Di seguito alcuni esempi di status: