L'ODA (Oracle Database Appliance) e' un sistema ingegnerizzato dalla Oracle Corp.
per ospitare basi dati Oracle.
Si tratta di un sistema semplice da installare e da gestire
che al tempo stesso offre ottime prestazioni,
una completa alta affidabilita' grazie all'assenza di SPOF
e constente un notevole risparmio in TCO.
Anche se la maggioranza delle operative sono semplificate
per ottenere il massimo da un'ODA, l'esperienza di un buon DBA
(Database Administrator) e' opportuna.
Il documento presenta in modo semplice e veloce i principali aspetti di ODA di interesse di un DBA organizzati nei seguenti capitoli: Introduzione, Progettazione e sizing, Configurazione con OAM, Installazione, Utilizzo del sistema, OAKCLI, Virtualized Platform, Patching, Manutenzione, Varie ed eventuali.
Questo documento e' indirizzato ad un pubblico DBA adulto:
una buona conoscenza di Oracle RDBMS,
OEL e di
OVM
sono un prerequisito obbligatorio.
Un documento introduttivo sull'ODA e' ODA for Dummies.
Nel documento fa riferimento all'ODA X6-2-HA aggiornato al Bundle 12.1.2.10.0
ma gli aspetti riportati, mutatis mutandos, sono validi
anche per le altre versioni e modelli.
L'ODA e' costituita da due server x86 e da uno storage integrato
[NdE vale per tutte le versioni ODA X3, X4, X5
fino alla piu' recente X6-2-HA].
Le diverse versioni di ODA rilasciate rappresentano ogni volta
la miglior tecnologia HW/SW base ottimizzata per l'RDBMS Oracle
(molte componenti sono comuni con i sistemi ingegnerizzati di fascia piu' alta: gli Exadata)
ed indirizzata a sistemi di produzione di medie dimensioni.
Dal punto di vista tecnico infatti sono utilizzate le teconologie
piu' recenti per ottenere il massimo delle prestazioni (eg. dischi SSD)
ed il massimo dell'affidabilita' (eg. RAC) su un ambiente di facile
installazione e gestione (eg. OAKCLI).
Su ODA possono essere configurate istanze Oracle Single Instance, RAC one node e RAC, soluzione ques'ultima che consente di disporre di un'istanza in alta affidabilita' e con le massime prestazioni.
Su ODA e' possibile scegliere il numero di core attivati ed utilizzati dalle istanze di database. L'impostazione del numero di core e' effettuata all'installazione e puo' essere aumentata on-demand con una semplice richiesta al supporto (ma non puo' essere ridotta). Questa scelta e' molto importante dal punto di vista tecnico ed ancora di piu' dal punto di vista del licensing.
Sono possibili due modalita' di utilizzo dell'ODA:
L'utilizzo di un'applicance offre notevoli vantaggi ma ha anche qualche limitazione. Molte scelte sono limitate a quanto previsto dai progettisti sul modello acquistato e' quindi importante fare le scelte giuste!
L'ODA e' disponibile in diversi modelli con caratteristiche HW significativamente differenti e possibili espansioni. Il modello piu' recente e completo e' l'ODA X6-2-HA disponibile nei formati Base System, Full Shelf e Double Shelf. Per maggiori dettagli si faccia riferimento alla documentazione ufficiale.
Anche le scelte sulla configurazione SW sono molto importanti.
E' possibile installare l'ODA come Bare Metal o in configurazione
Virtualized.
Nella configurazione Virtualized
viene utilizzato l'ambiente di virtualizzazione Oracle VM.
Le istanze Oracle vengono allocate sul dominio ODA_BASE
mentre le altre VM vengono utilizzate
per ospitare i servizi applicativi
sfruttando cosi' tutte le CPU a disposizione.
Per la configurazione dello storage (tutto a stato solido su X6-2) e' possibile impostare la High Redundancy o la Normal Redundancy rispettivamente con mirroring triplo o doppio.
La configurazione del backup puo' essere Internal o External. Nella maggior parte dei casi si consiglia la configurazione con External Backup sia per risparmare prezioso spazio disco che per una maggiore sicurezza sui dati.
Nell'installazione delle istanze di database le scelte possibili sono: RAC, RAC One Node e Single Instance.
Le scelte indicate
sono molto importanti e portano a configurazioni
differenti tra loro e tra cui non si puo' mediare.
Durante l'installazione e' necessario scegliere tra l'effettuazione dei backup
in modalita' Internal oppure External. E' inoltre necessario scegliere tra la
ridondanza normale o elevata per il mirroring dei dischi.
La scelta comporta una diversa assegnazione dei dischi ai disk group sull'ASM.
Lo spazio disco e' comune sia per l'allocazione dei database che per la configurazione
dei pool di storage per le VM.
Sul
modello X6-2-HA
con il triplo mirroring e senza espansioni lo spazio utilizzabile per i dati e' di 1.2TB:
la corretta progettazione e' quindi molto importante.
L'ODA e' un sistema ottimale per progetti di consolidamento e rightsizing. Tali progetti richiedono una buona gestione e competenze tecniche per risolvere tutte le problematiche di migrazione ed upgrade di database Oracle.
Prima ancora di procedere all'installazione fisica e' opportuno predisporre la configurazione. Su ODA con l'Oracle Appliance Manager (OAM) tutti i passi sono guidati e l'intera configurazione, ottimizzata per l'HW disponibile, viene svolta in automatico. OAM si scarica dal sito ufficiale.
Quando viene lanciato OAM [NdA se non potete lanciare il .bat o il punto .sh fornito: java -jar onecommand.jar config] presenta la scelta sul tipo di configurazione, l'indicazione del modello ed il tipo di ambiente (fisico/virtualizzato):
Se si sceglie il tipo di configurazione Custom sono presenti piu' opzioni di configurazione:
La videata successiva richiede i dettagli per la configurazione in rete del sistema.
Bastano infine pochi elementi per far creare un'istanza perche' si utilizzano template di configurazione:
La configurazione puo' essere salvata su file (e' un file di testo) per essere modificata e controllata piu' volte. Se invece si prosegue i passi successivi sono effettuate in automatico sull'ODA: la verifica dei parametri, l'installazione e la configurazione.
La configurazione Hardware e l'installazione iniziale non sono complesse
e, sopratutto, richiedono un tempo molto limitato.
Si tratta di collegare i due nodi tra loro con heartbeat del RAC ed allo storage.
Le connessioni alla rete pubblica sono in bonding per non avere SPOF
anche sulla connessione di rete.
L'ultima coppia di cavi e'... l'alimentazione elettrica!
Il sistema operativo dei due nodi e' un Oracle Enterprise Linux (OEL).
OEL ha le stesse caratteristiche della diffusa distribuzione Red Hat
e le versioni sono le stesse; una peculiarita' di OEL e' il kernel Oracle Unbreakable,
ma le altre differenze sono minime. L'installazione si basa sul classico anaconda:
Terminata la configurazione di base viene caricato il Bundle piu' aggiornato che contiene il software completo della Grid Infrastructure e dell'RDBMS Oracle scaricabile dal sito ufficiale. La fase di caricamento e' analoga a quella di patching descritta nel seguito con un unpack ed un deploy.
La documentazione completa e' disponibile sul sito ufficiale.
Una volta installata l'ODA e' immediatamente utilizzabile.
Le due lame sono due normali sistemi linux e l'installazione
crea una normale istanza Oracle (tipicamente in RAC ma dipende
dalla configurazione impostata).
Anche nel caso di utilizzo della configurazione virtualizzata
gli ambienti OVM sono immediatamente disponibili e possono essere create
nuove VM.
L'installazione sul file system ha naturalmente la parte di Grid Infrastructure e di database.
Utenze e gruppi sono comuni per tutti.
Le database home sono tipicamente distinte per istanza ma e' un default che puo' essere variato.
Vengono utilizzati gli OMF su ACFS
il path di partenza e' /u01/app (eg. ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1).
La password di default per gli utenti Unix grid, oracle,
e per gli utenti Oracle sys, system e' welcome1.
La password per l'accesso ILOM e' changeme.
Ovviamente sono tutte da cambiare!
L'ASM gestisce lo spazio disco su tre distinti disk group:
Lo spazio viene reso disponibile su ACFS:
oakcli show fs Type Total Space Diskgroup Mount Point ext3 29757M / ext3 486M /boot ext3 59515M /opt ext3 99193M /u01 acfs 732160M DATA /u02/app/oracle/oradata/datastore acfs 79872M RECO /u01/app/oracle/fast_recovery_area/datastore acfs 27648M REDO /u01/app/oracle/oradata/datastore
L'Enterprise Manager si raggiunge dall'URL standard: https://hostname:5500/em o https://hostname:1158/em a seconda delle versioni di Oracle (12c o 11g).
Come ultima cosa, ma non da ultima per importanza, naturalmente da shell si puo' fare tutto!
L'interfaccia da linea di comando per gestire l'ODA e' OAKCLI.
Da tale interfaccia e' possibile controllare e modificare ogni aspetto
della configurazione dell'ODA.
Il path del comando e' /opt/oracle/oak/bin/oakcli.
La sintassi e' semplice (cfr. documentazione ufficiale):
Particolarmente semplice e' la creazione di un database:
Con oakcli si riescono ad effettuare praticamente tutte le operative di gestione (eg. oakcli resize dbstorage -data 10) anche se c'e' qualche eccezione che richiede l'uso di comandi del sistema operativo (eg. /sbin/acfsutil size +10G /mycloudfs).
Tutti i comandi con oakcli lanciati sono riportati nel log: /opt/oracle/oak/log/HOSTNAME/client/oakcli.log
Andando sempre piu' in basso... l'ILOM!
La connessione sull'ILOM si utilizza raramente ma e' necessaria nella configurazione iniziale o per verificare il corretto riavvio quando sono necessari reboot durante l'applicazione dei Bundle. Premendo il tasto "Remote Console" viene visualizzata la console:
ODA puo' essere utilizzata anche per ospitare ambienti virtualizzati (dalla versione 2.5). In questo caso viene utilizzato l'ambiente di virtualizzazione OVM per creare e gestire le VM richieste. L'architettura di OVM e' basata su Xen. ODA viene fornita dalla factory nella configurazione bare metal, se si vuole utilizzare la modalita' virtualized sono necessari ulteriori passi di installazione (comunque completamente descritti nella documentazione ufficiale).
Rispetto ad una configurazione Xen/OVM tradizionale,
che prevede sull'hypervisor il dominio Dom0 ed i
domini DomU per le VM, e' presente un ulteriore dominio oakDom1
[NdE da interfaccia oakcli il nome utilizzato e' ODA_BASE]
cui vengono associate le risorse dedicate alla base dati.
Su ODA non si utilizza la console dell'OVM Manager
e la gestione di tutte le VM viene effettuata da linea di comando con oakcli.
Sono disponibili i repository basati sui dischi locali (limitati come dimensioni)
ed un repository shared allocato con ACFS sul Volume Group DATA.
Le CPU assegnate ad ODA_BASE sono quelle su cui si basa il licensing dell'RDBMS Oracle.
Sulle restanti CPU vengono tipicamente create VM per i servizi applicativi ottenendo un elevato
grado di consolidamento e fruttando in tal modo tutto l'HW disponibile senza costi aggiuntivi
per il licensing.
La creazione e la gestione delle VM con OAKCLI e' particolarmente semplice. Per la creazione e' possibile utilizzare diversi parametri opzionali (eg. CPU, failover, scelta del SO: WIN_2003, WIN_2008, WIN_7, WIN_VISTA, OL_4, OL_5, OL_6, RHL_4, RHL_5, RHL_6, SOLARIS_10, SOLARIS_11, ...):
Con l'ODA l'attivita' di patching si effettua con l'installazione di un pacchetto unico che contiene aggiornamenti sul firmware, sul sistema operativo, sull'infrastruttura e sui database: il Bundle.
I Bundle vengono emessi con
cadenza indicativamente trimestrale.
Le patch vanno scaricate ed applicate seguendo la nota
888888.1 del sito di supporto.
E' opportuno utilizzare sempre l'ultimo Bundle disponibile.
In generale e' possibile applicare un Bundle partendo da una
qualsiasi versione precedente; ma ci sono importanti eccezioni
[NdA Bundle successivi alla 12.1.2.6 (2016-02)
richiedono il Bundle 12.1.2.6 perche' con esso viene cambiata
la versione di SO ed gli stessi comandi di applicazione dei Bundle].
Vediamo come esempio l'installazione di una patch:
La maggioranze delle patch si installano automaticamente su entrambe i nodi ed
i log sono raccolti in /opt/oracle/oak/log/HOSTNAME/patch/BUNDLE.
L'applicazione delle patch sul server richiede lo spegnimento di un sistema
alla volta (i database configurati in RAC continuano a dare servizio se necessario);
l'applicazione delle patch sullo storage richiede il fermo di entrambe i sistemi
ed infine la parte dell'RDBMS viene applicata in modalita' rolling per le istanze in RAC.
Su ODA e' opportuno evitare installazioni di pacchetti o strumenti esterni. Durante un'upgrade successivo potrebbe essere necessario rimuoverli... o peggio!
INFO: 2016-10-11 22:23:27: Please uninstall the RPM : screen.x86_64 INFO: 2016-10-11 22:23:27: Please uninstall the RPM : htop.x86_64 INFO: 2016-10-11 22:23:27: Please uninstall the RPM : ncpa.x86_64
Nel caso di blocco nell'esecuzione di un Bundle, se non si rientra nei casi descritti dal documento ID 888888.1, si puo' ripulire con oakcli update -patch 12.1.2.8.0 --clean ed aprire una SR.
L'inventory di tutto il software e' il file /opt/oracle/oak/pkgrepos/System/system_repos_metadata.xml che contiene i dettagli dei Bundle applicati. Con il comando tree /opt/oracle/oak/pkgrepos/ -L 3 si ottiene facilmente l'elenco.
Dopo diverse applicazioni di Bundle lo spazio disco libero potrebbe ridursi.
E' possibile rimuovere dal repository i vecchi bundle con (ID 1681062.1):
oakcli manage cleanrepo --ver 2.8.0.0.0
Dal punto di vista Hardware sono stati rilasciati diversi modelli di ODA:
v1, X3-2, X4-2, X5-2, X6-2-HA, X7-2-HA, ... con caratteristiche e potenzialita' via via crescenti.
Tutti i modelli sono costituiti da due server e consentono configurazioni RAC
in alta affidabilita'.
Fin dalle prime versioni sono presenti dischi allo stato solido.
Sugli ultimi modelli tutto lo storage e' su SSD e sono possibili estenzioni esterne.
La serie X6-2 e' anche disponibile nelle versioni S / M / L
costituite da una sola lama quindi utilizzabili solo per configurazioni Single Instance;
su questi modelli c'e' la possibilita' di utilizzare la licenza Standard Edition 2 (SE2)
ed utilizzano una differente interfaccia di amministrazione (ODACLI, ODAADMCLI).
Sulla serie X7-2 sono disponibili le versioni S / M con un server e la versione HA con due.
L'elenco di tutti i modelli di ODA e' riportato sull'ODA history.
Dal punto di vista Software i rilasci si basano su bundle che vengono emessi
tipicamente ogni trimestre e raccolgono tutte le novita' sia in termini di HW (eg. nuovi modelli)
che di aggiornamento SW (eg. PSU).
Dalla versione 2.5 e' stato introdotta la configurazione virtualizzata
basata su OVM.
La versione la 2.8 (2013-11) e' stata emessa in
corrispondenza con la disponibilita' di ODA X4-2.
La versione 2.8 introduce il supporto delle VLAN e
la possibilita' di utilizzare nella modalita' Virtualized
lo shared repository anziche' i limitati dischi locali.
Dal 2015-02 e' disponibile la versione 12.1.2.2 in corrispondenza della disponibilita' di ODA X5-2.
Con la versione 12 dell'infrastruttura grid cambia la modalita'
di allocazione dello spazio per i database: e' utilizzato l'ACFS
anziche' l'ASM,
in questo modo e' possibile utilizzare la funzionalita' di snapshot
per il clone delle basi dati.
Con la versione 12.1.2.6 cambia la versione di sistema operativo (da OEL 5.11 a OEL 6.7).
Con la versione 12.1.2.9 il sistema operativo passa in 6.8.
L'elenco di tutti i bundle e' riportato sul Bundle history.
L'aspetto del licensing e' molto importante con le basi dati Oracle. L'ODA permette di licenziare i soli processori necessari al business: da un minimo di due fino al totale HW disponibile.
Nella configurazione Bare Metal
il numero di core abilitati e' definito in fase di installazione,
i core non licenziati vengono disattivati e non sono disponibili.
Il numero di core attivi puo' essere eventualmente aumentato successivamente,
con una semplice richiesta al supporto, ma non puo' essere ridotto.
Nella configurazione Virtualized i core licenziati vengono assegnati
al dominio ODA_BASE che ospita le istanze Oracle.
Gli altri core sono assegnati alle VM dei domini utente.
In entrambe le configurazioni quindi ODA consente una gestione flessibile del numero di processori
utilizzati dalle istanze Oracle e questo e' un aspetto molto importante da tenere in conto nella
scelta del modello HW su cui installare l'RDBMS Oracle.
Sull'ODA X6-2 S/M/L, modelli non trattati in questo documento,
e' possibile utilizzare la Standard Edition 2 anziche' l'Enterprise Edition.
Si tratta di modelli costituiti da una sola lama U1 con un server,
uno o due processori e differenti combinazioni di storage.
Con la versione X7-2 la possibilita' di utilizzare la SE2 e' stata estesa anche al modello HA.
Grazie all'ingegnerizzazione integrata l'ODA e' un sistema molto robusto, con caratteristiche di elevato HA e non necessita di manutenzione se non l'aggiornamento del software con il patching.
Nel caso di rottura di un componente il demone OAK segnala l'errore. Molti componenti possono essere sostituiti a caldo [NdA i dischi sono CRUs (Customer Replaceable Units), quindi possono essere sostituiti a caldo dal cliente stesso], avendo l'avvertenza di dichiarare comunque una finestra di manutenzione in caso di problemi.
Nella valutazione dei tempi di installazione delle patch, per precauzione, si applica le legge di Hofstadter...
Sull'ODA e' opportuno evitare customizzazioni degli ambienti limitando le personalizzazioni e seguendo sempre le guidelines fornite da Oracle.
L'ODA mantiene ancora piu' log di una normale installazione. Oltre ad una corretta configurazione dell' ARDCI e' utile il documento: ODA (Oracle Database Appliance): Cleanup trace and log files Using purgeODALog Tool (Doc ID 2081655.1). In pratica con un unico comando si gestiscono un po' tutti i log:
00 02 * * * /opt/utils/purgeODALog -orcl 20 -tfa 10 -osw 10 -oak 10 ## aggressive #00 02 * * * /opt/utils/purgeODALog -orcl 90 -tfa 90 -osw 90 -oak 90 ## conservative #00 02 * * * /opt/utils/purgeODALog -orcl 90 -tfa 90 -osw 90 -oak 90 -dryrun ## very conservative: does nothing ;-)
Sempre sulla pulizia dello spazio e' disponibile anche il documento: How To Avoid Disk Full Issues Because OPatch Backups Take Big Amount Of Disk Space. (Doc ID 550522.1) In pratica bisogna lanciare il comando: opatch util cleanup
Titolo: ODA for DBAs
Livello: Avanzato
Data:
14 Febbraio 2016
Versione: 1.0.4 - 17 10 17
Autore: mail [AT] meo.bogliolo.name