05/08/2015

Oracle EXP-00091 error

A differenza dei backup con RMAN l’esportazione di dati da Oracle è un’operazione tutto sommato semplice e che non richiede particolari competenze.
Sia che si utilizzi il tradizionale exp oppure il più recente expdp (export datapump disponibile da Oracle 10g) l’esportazione è un’operazione indolore, semplice e che spesso può essere più pratica di un restore da RMAN per ripristinare parti limitate di un database (ad esempio un singolo schema, piuttosto che una tabella).

Uno dei warning più frequenti che capitano lanciando una export è l’errore EXP-00091.

oracle-exp1

La soluzione consiste nella semplice esportazione della variabile d’ambiente NLS_LANG (tramite il comando “export” su GNU/Linux e “set” su Windows) prima di lanciare l’esportazione, quello che spesso è meno chiaro con cosa va valorizzata questa variabile.
La NLS_LANG è composta da tre valori:

  • NLS_LANGUAGE
  • NLS_TERRITORY
  • NLS_CHARACTERSET

La sintassi con cui esportare la variabile è la seguente (sostituite export con set su OS Windows):

export NLS_LANG=[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]

Per recuperare questi valori dovete collegarvi al database e lanciare la seguente query:

SELECT * FROM V$NLS_PARAMETERS;

oracle-exp2

Esportate la variabile e rilanciate il comando di esportazione.

02/08/2015

Rimozione tape backup da Oracle RMAN

Iniziano le ferie, e con esse i soliti triti e ritriti propositi di sistemare cose rimaste in sospeso, appunti accatastati ovunque in attesa di essere riordinati e screenshots presi a casaccio durante le più variegate sessioni di lavoro.

Tra queste ho recuperato una casistica che mi è capitata lo scorso autunno, si trattava di fare pulizia su una vecchia istanza Oracle 10g installata su Windows Server (eresia… :\ ) che in passato era usata come server di produzione, poi declassata ad ambiente di sviluppo e come tale dimenticata da tutto e da tutti.
Facendo un semplice backup ho rilevato gozziliardi di vecchi backup fatti direttamente su tape library tramite librerie di Tivoli Storage Manager e li dimenticati e perduti…

rman-tape1

…seguiti invece da backup più recenti effettuati su storage tradizionale (nello specifico delle share di rete).

rman-tape2

Come fare pulizia di tutta questa schifezza?
Trattandosi di una vecchia istanza i cui backup si erano persi nel vuoto cosmico ho lanciato un bel “crosscheck backup” per marcare quei backup come obsolete (da notare nei due screenshot precedenti che invece la colonna S li mostra come available, A).
Fatto questo basta lanciare un semplice “delete obsolete”, peccato che in questo caso il device (SBT_TAPE) sia irraggiungibile…

rman-tape4_1

Per fortuna Oracle ha pensato a casistiche del genere fornendo una libreria che emula i device di tipo tape (oracle.disksbt), basta quindi definire un nuovo channel SBT_TAPE…

rman-tape5

…e come per magia il comando delete obsolete funziona perfettamente eliminando i backup non più raggiungibili…rman-tape6

…lasciando soltanto i nostri adorabili backup ancora disponibili.

rman-tape7

 

20/07/2015

Duplicity backup via sftp

Tra i millemila tool di backup basati su rsync che mi è capitato di usare su macchine GNU/Linux c’è anche Duplicity.

L’oggetto è certamente degno di nota per semplicità d’uso, per la sicurezza (supporta protocolli di trasferimento cifrati come sftp e la cifratura stessa dei backup mediante gpg) e per l’efficacia.
Certamente ha delle pecche, prima fra tutte la scarsa gestione delle eccezioni e le notifiche in caso di errore, però tutto sommato è uno strumento con delle buone potenzialità e margini di miglioramento.
Non mi sento di consigliarlo come il miglior tool di backup per server, lo trovo però ottimo per singole workstation o postazioni di lavoro su cui c’è una continua presenza umana (sia chiaro che però il software può e deve girare schedulato).

Ecco un esempio di sintassi per un semplice backup full settimanale delle directory /etc, /var/log, /root, /var/www, /backup effettuata tramite sftp…

#/bin/bash
 export PASSPHRASE=<VOSTRA PASSPHRASE>
 DEST="sftp://<UTENTE>@<HOST>:<PORTA>//directory/di/destinazione"
/usr/bin/duplicity --full-if-older-than 1W --timeout=100 \
 --ssh-backend pexpect \
 --use-scp \
 --volsize=100 \
 --include="/etc" \
 --include="/var/log" \
 --include="/root" \
 --include="/var/www" \
 --include="/backup" \
 --exclude="**" / \
$DEST

…seguita dalla sintassi per effettuare un altrettanto semplice repulisti dei backup più vecchi di un mese.

#/bin/bash
export PASSPHRASE=<VOSTRA PASSPHRASE>
DEST="sftp://<UTENTE>@<HOST>:<PORTA>//directory/di/destinazione"
/usr/bin/duplicity remove-all-but-n-full 4 --force $DEST

Ovviamente potete includere entrambi i comandi per schedulare le due operazioni con lo stesso script bash.

29/06/2015

Windows Server 2012 administrator password

A volte può capitare che usando i consueti strumenti si rimanga incastrati in qualche assurda condizione apparentemente senza via d’uscita, guardacaso per un sistemista questo genere di situazioni si verificano quasi esclusivamente usando OS Windows Server…

Supponiamo ad esempio che vi ritroviate nella condizione di recuperare la password di Administrator di una macchina su cui è installato Windows Server 2012, di primo acchito verrebbe da utilizzare Offline Windows Password & Registry Editor, ottimo tool che permette di cancellare (blank) la password di Administrator mediante una piccola immagine live con cui fare il boot del sistema.
Peccato che in questo modo rischiate di schiantarvi contro l’assurda default policy di questa versione che non permetta di loggarsi con password nulla (l’amministratore di sistema deve poter fare TUTTO, anche la cosa più stupida come dimenticarsi un sistema con password di superuser nulla.), ritrovandovi quindi con la password recuperata (vuota) ma inservibile per fare il login.

In questi casi non occorre fare altro che recuperare una qualsiasi ISO di installazione di Windows Server e fare il boot da essa, alla prima finestra che presenta la selezione della linga proseguite.

win2k12-password01

Alla schermata successiva cliccate sul link “Ripristaina il computer”.

win2k12-password02

Proseguite poi fino ad aprire il prompt dei comandi.

win2k12-password03

win2k12-password04

Identificate il drive di sistema (nell’esempio D:).

win2k12-password05

Spostatevi nella directory Windows\System32 e fate un backup del file Utilman.exe (copy Utilman.exe Utilman.exe.bak), fatto questo sostituite il file Utilman.exe con cmd.exe (copy cmd.exe Utilman.exe).

win2k12-password06

Digitate exit al prompt e riavviate il sistema facendo il boot regolarmente da storage, arrivate alla schemata di logon premete tasto Windows + u oppure cliccate sulla icona di usabilità (evidenziata in rosso) per aprire una finestra di prompt.

Digitate il comando “net user administrator <NUOVA PASSWORD>” per modificare la password dell’utente Administrator locale (nell’esempio “Passw0rd”), dopo di che chiudete la finestra di prompt e loggatevi con la vostra nuova password.

win2k12-password07

Prima di vantarvi con colleghi, clienti e superiori ricordatevi di ripristinare il backup del file Utilman.exe (copy c:\Windows\System32\Utilman.exe.bak c:\Windows\System32\Utilman.exe).

Ok, ora che vi siete vantati con colleghi, clienti e superiori riflettete su quanto sarebbe stato più facile bootare in single user mode per cambiare password di root su un sistema GNU/Linux. :O

22/06/2015

Riattivazione fallback https su Firefox

Di recente il protocollo HTTPS è al centro di attenzioni di cui purtroppo fin’ora non aveva mai goduto, per questo stanno emergendo una serie di vulnerabilità che fino ad oggi sono state sottovalutate dalla gran parte degli utenti e degli addetti ai lavori.

Per adeguarsi alle nuove best practice i browser si sono evoluti inserendo configurazioni sempre più restrittive nell’accesso https ai siti.
Tutto bene, tutto bello (e ci mancherebbe), purtroppo però come sappiamo il mondo dell’IT è tutt’altro che uniforme o allineato alle ultime versioni di ogni tecnologia; specialmente in ambito lavorativo capita di trovare prodotti vetusti, interfacce web per la gestione di dispositivi hardware, piuttosto che architetture che per mille motivi non possono essere aggiornate, e quindi utilizzano il vecchio e insicuro protocollo SSL2 o SSL3.
Sia chiaro, si tratta di servizi non esposti sul web, dove quindi il rischio di attacco è estremamente basso o comunque gestito mediante opportune politiche di accesso perimetrali (anche su più livelli).

Che fare quindi per riattivare la compatibilità con il vecchio protocollo e accedere in https a questi servizi ritenuti insicuri dai browser?
Firefox ci viene incontro dando la possibilità di riattivare manualmente la considetta fallback ssl3.

Aprire il browser e digitare nella barra degli indirizzi about:config, nel caso vi comparisse un warning di sicurezza come questo confermate premendo l’apposito pulsante.

Clipboard01

Inserite nella campo cerca la stringa security.tls.version.min e settatene il valore a zero.

Clipboard02

Fate lo stesso per il campo security.tls.version.fallback-limit settandone il valore a zero.

Clipboard03

A questo punto non vi resta che riavviare il browser per rendere effettiva la modifica.

Ricordate di ripristinare il valori di questi due parametri di configurazione al termine dell’attività o comunque prima di accedere a siti web.

« Post precedenti | Post successivi »