BAAN IV su Oracle

BAAN e' un software di ERP che puo' utilizzare, quale supporto per i propri dati, l'RDBMS Oracle.

La versione IV e' la piu' recente e diffusa ed e' quella trattata in questo documento.

Poiche' BAAN puo' utilizzare, quale appoggio per i propri dati, l'RDBMS Oracle e' parso utile riportare in questo documento rivolto ai DBA Oracle.

Installazione e configurazione di Oracle

L'installazione di Oracle per l'utilizzo da BAAN non richiede particolari avvertenze.

Rispetto ad una normale installazione per ambienti OLTP le principali considerazioni sono le seguenti:

Valgono inoltre le normali considerazioni per l'installazione di una base dati Oracle... E' opportuno separare tablespace di tabelle ed indici. Naturalmente la separazione deve essere reale (quindi su dischi fisicamente differenti) e non solo apparente (ad esempio utilizzando file system diversi costruiti sullo stesso pool di dischi).
E' opportuno far seguire all'installazione della base dati una normale sessione di tuning (cfr. Statistiche prestazionali di Oracle ). E' opportuno bilanciare correttamente i carichi sui dischi ed effettuare il relativo tuning...

L'installazione di Oracle deve essere effettuata prima dell'installazione di BAAN.

 

Installazione di BAAN

Nonostante il titolo in questo paragrafo non si parla dell'installazione di BAAN... piuttosto ai parametri relativi ad Oracle che vengono definiti durante l'installazione di BAAN.

Specificando il tipo di database rispondere oracle7 per tutte le company (e' sconsigliabile una configurazione eterogenea).

La procedura di installazione richiede alcuni elementi tipici della configurazione Oracle: $ORACLE_HOME, $ORACLE_SID, ...

Terminata la prima fase di installazione di BAAN e' necessario effettuare il link tra BAAN ed Oracle. Per fare questo si utilizza lo script shell ora_inst6.1 dopo aver settato le variabili di ambiente Oracle.
Lo script, tra le altre cose, configura i file ora_users, ora_groups ed ora_storage e li pone nella directory $BSE/lib/ora.

Terminata tale fase e' possibile procedere con la restante parte dell'installazione BAAN.

ora_storage

Il file $BSE/lib/ora/ora_storage contiene differenti importanti informazioni relative alla disposizione ed al dimensionamento dei diversi oggetti Oracle.
Nell'ordine:
Table Name Nome tabella o indice (si possono utilizzare wildcard)
Company Nome della company (si possono utilizzare wildcard)
Object Type Il tipo di oggetto: T o IX
Owner Type Oggetto di gruppo o privato
Index Optimization Ad esempio 011 per il livello 1
Refresh Time Tempo di refresh delle tabelle in secondi
Storage Classica clausola di storage in sintassi Oracle

La configurazione del file ora_storage richiede spesso aggiustamenti poiche', dato il grande numero di tabelle di BAAN e la complessita' del suo disegno, e' spesso difficile disporre di stime affidabili.

Generalmente e' consigliato mantenere un file di ora_sorage di modeste dimensioni. A fronte di una riorganizzazione della base dati e' quindi opportuno creare un file di ora_storage molto dettagliato (per evitare frammentazioni e sprechi di spazio in Oracle) e, terminata l'attivita', utilizzare un file di ora_storage con valori di default.

Un semplice esempio:
ttaad000:000:T:group:0214:5:PCTFREE 5 TABLESPACE TSWO0D00 INITRANS 3 STORAGE (INITIAL 41 K NEXT 40 K PCTINCREASE 5) *:100:T:group:0214:5:PCTFREE 5 TABLESPACE TSWO0D02 INITRANS 3 STORAGE (INITIAL 10 K NEXT 10 K PCTINCREASE 5) *:100:I:group:0214:5:PCTFREE 5 TABLESPACE TSWO0I02 INITRANS 3 STORAGE (INITIAL 4K NEXT 4 K PCTINCREASE 5) *:*:T:group:0214:5:PCTFREE 5 TABLESPACE TSWOTD00 INITRANS 3 STORAGE (INITIAL 10K NEXT 10 K PCTINCREASE 5) *:*:I:group:0214:5:PCTFREE 5 TABLESPACE TSWOTI00 INITRANS 3 STORAGE (INITIAL 4K NEXT 4 K PCTINCREASE 5)

 

Oracle7 Driver

Il driver oracle7 agisce da interfaccia tra le applicazioni (che eseguono la bshell61.) e l'RDBMS Oracle.
Il driver svolge una serie di compiti ed elaborazioni: data dictionary, locking, referential integrity, buffering, security, ...

Il livello di parametrizzazione e di configurazione possibili sono elevati.

 

Livelli

Vi sono due differenti livelli disponibili nel driver BAAN di accesso ad Oracle. Il driver di livello 1 lavora a livello di riga ed e', in genere, ritenuto piu' performante. Il driver di livello 2 ottimizza i join su tabelle multiple.

Nel caso di utilizzo del driver di livello 2 e' fortemente consigliato specificare il valore 034 del parametro di ottimizzazione nell'ora_storage. Per il driver di livello 1 il parametro deve invece valere 011.

 

Data Dictionary

Il driver effettua una serie di conversioni sugli oggetti riferiti dalle applicazioni nell'accedere al data dictionary di Oracle.

Le tabelle del data dictionary di BAAN hanno una corrispondenza diretta con le tabelle Oracle. Ad ogni tabella BAAN corrisponde una tabella Oracle con la seguente regola: T|package[2]|table_name[6]|company[3]
I nomi delle colonne vengono prefissati con T$. Se il numero di colonne supera i limiti Oracle (254 colonne) vengono utilizzate colonne t$array di tipo raw.
Gli indici prendono lo stesso nome della tabella Oracle cui si riferiscono seguite da $IDXn dove n e' un valore progressivo che vale 1 per la chiave primaria.

 

Errori

Gli errori vengono raccolti nella directory $BSE/log. Se viene riscontrato un errore Oracle questo viene incrementato di 1.000 e restituito all'applicazione. Il dettaglio riportato nei log e' molto elevato e quindi molto utile per la soluzione di problemi (basta leggere e capire...).

 

Logging

Oltre alle normali utility Oracle per il tracing delle attivita' sulla base dati BAAN fornisce ulteriori possibilita':

SQL*Net

L'accesso alla base dati Oracle viene effettuato con una connessione SQL*Net v.2 mediante il settaggio della variabile d'ambiente TWO_TASK.
Per rendere piu' veloci alcuni accessi e' possibile utilizzare anche la connessione PIPE su SQL*Net definendo PROTOCOL=beq nella configurazione del TNSNAMES.ORA.

Ottimizzatore

BAAN prevede l'utilizzo dell'ottimizzatore cost-based di Oracle. Nel file di ora_storage e' possibile indicare se creare le statistiche di ottimizzazione sugli indici o quali parametri utilizzare per effettuare l'analyze (eg. ESTIMATE STATISTICS).

Il driver inoltre guida, con HINT specifici, l'access path scelto dall'ottimizzatore.

 

Locking

La gestione dei lock in BAAN permette la scelta tra diverse opzioni.

Tuning

Il driver ora7_oracle puo' essere controllato mediante diversi parametri di tuning:

Uno statement BAAN SQL puo' essere composto da piu' espressioni. Il driver puo' utilizzare diverse "esplosioni" di tali espressioni per farle analizzare ad Oracle. Per default la tecnica a "filtro" e' quella utilizzata.

 

Utilities

BAAN offre diverse utilities per la gestione della base dati.

Sono disponibili alcune utility per il controllo delle allocazioni di spazio specifiche per BAAN e piu' generali sulla situazione dell'RDBMS Oracle e sulle prestazioni del sistema su Utility Oracle.

 

Struttura processi

Quando viene attivata una sessione BAAN vengono creati una serie di processi sul sistema operativo ospite. Per fare un esempio ci riferiamo ad una configurazione su un sistema Unix con RDBMS Oracle ospitato sullo stesso server. La sessione utente (processo ksh) lancia la shell di BAAN (processo ba6.1) che a sua volta lancia il processo bshell che a sua volta lancia due processi: il processo di audit ed il processo oracle8. Quest'ultimo e' il driver verso l'RDBMS Oracle ed ovviamente lancia in processo oracleSID. Tutto chiaro?

 

Programmazione

La programmazione in ambiente BAAN avviene con tool specifici che consentono una elevata produttivita' nello sviluppo delle applicazioni.

L'SQL utilizzato da BAAN e' differente dall'SQL standard e possiede costrutti particolari che debbono essere tradotti nel dialetto dell'RDBMS che ospita la base dati dai relativi driver.

 

Personalizzazioni

Sono sempre richieste attivita' di "presonalizzazione" per adeguare il sistema alle attivita' produttive dell'azienda. Le personalizzazioni includono l'analisi dei bisogni informativi, il dimensionamento e configurazione dei diversi ambienti, la configurazione del sistema ERP (consentono parecchi livelli di configurazione), la creazione di programmi specifici, l'integrazione con altri sistemi informativi, ...

Le attivita' di personalizzazione ed integrazione sono spesso di lunga durata e richiedono un notevole impegno.


Testo: BAAN IV su Oracle
Data: 1 Aprile 1998
Versione: 1.0.5
Autore: mail@meo.bogliolo.name