Archivi per la categoria ‘Database’

Oracle offre gratuitamente Oracle SQL Developer Data Modeler

giovedì, 2 febbraio 2012

Un saluto a tutti i nostri lettori,
oggi vi portiamo a conoscenza un utile strumento software che Oracle offre gratuitamente.

(continua…)

Bug del giorno: ORACLE 11.2 – BUG NELLA MERGE

venerdì, 27 gennaio 2012
Eccomi a scrivere di un altro bug,
succede con le merge ma forse anche con altro.
Bug 9880099: ORA-600 [UPSROWVEC4] REPORTED ON MERGE STATEMENT



Dopo un bel po’ di lavoro, per usare un eufemismo…. ho capito da dove salta
fuori il problema.
Facendo un explain plan saltava fuori lo stesso dannato bug, ho quindi messo sotto trace e ho capito che è colpa del dynamic samplig che genera una caterva di processi paralleli per valutare le statistiche al volo di oggetti privi di stats (in realtà lo fa su tutti dannazione!).
ecco la soluzione , ovvero disabilitarlo :
alter system  set optimizer_dynamic_sampling=0 scope=both ;
Ciao e alla prossima puntata,
Matteo

Bug del giorno (XFS + SLES + Oracle)

giovedì, 19 gennaio 2012
Ciao a tutti ,
Il seguente Bug è estremamente simpatico, in pratica si corrompono i redolog e gli archivelg in modo silente, l’unico modo per intercettarlo è o fare un dump del redolog con logminer o altro, oppure tentare un restore/recover… ovviamente era la seconda situazione (SAP di produzione) con un db senza rman (ricordate begin backup end backup??)
Il tentativo di recover è stato fatto da microline con resetlogs, insomma un casino..
(continua…)

Mysql & floating : an impossible love! L’azione del DB Evangelist…

giovedì, 12 gennaio 2012

Per chi lavorasse su mysql, attenzione ai float.
I problemi sono gravi e sono i seguenti :
     1) Primo problema, i conti non tornano :
(continua…)

Auguri di Santa Cloud con Miriade

mercoledì, 21 dicembre 2011

Santa Cloud

Nell’imminenza delle festività, del Natale
del Capodanno, dell’Epifania
il nostro particolare regalo si chiama Santa Cloud
il nostro augurio è che ogni desiderio diventi Realtà
Tanti auguri 
e Buone Feste


Snapshot
i nostri speciali auguri per un felice Natale
e un anno pieno di «solo per oggi»

Chiudiamo l’anno invitandovi a leggere gli articoli di questa nuova edizione dove troverete
…approfondimenti tecnici, novità, gli eventi del 2012, consigli e la nostra nuova rubrica comics…
Non vi resta che Scaricarlo
Buona lettura!

Inaugurazione Mostra ANDOS
e Brindisi al Natale

Venerdì 23 dicembre, alle 18:00 vi aspettiamo tutti in Miriade per  un brindisi, festeggeremo il Natale e inaugureremo una nuova mostra di pittura.
E’ una mostra speciale perchè si tratta della raccolta di numerose opere donate da artisti locali all’ANDOS (Associazione Nazionale Donne Operate al Seno): i quadri vengono venduti ad un prezzo simbolico e ilricavato andrà a favore dell’acquisto di un macchinario necessario al linfodrenaggio delle donne che hanno subito questa delicata operazione.
E’ il secondo anno che Miriade ospita questa iniziativa e vi ringraziamo per l’attenzione che vorrete dedicarle!
Orario di apertura della mostra!
.
.

Asm imbalance disk! Il DB evangelist suggerisce…

giovedì, 15 dicembre 2011

In questo appuntamento settimanale vi darò alcune dritte su ASm imbalance disck.
Se per caso vedete disk group con dischi non bilanciati e magari dischi full, probilmente NON è vero; tuttavia avrete problemi di allargare i datafile con errori realitivi a disk exausted.
(continua…)

Crosstab / Pivot table in Postgresql – Istruzioni per l’uso

giovedì, 1 dicembre 2011

Il nostro appuntamento settimanale oggi darà qualche suggerimento per ciò che riguarda Posgresql: le pivot table!

E’ possibile abilitare le funzioni di crosstab per avere le pivot table su Postgres.


<a href=”http://www.postgresql.org/docs/8.4/static/tablefunc.html”                            target=”_blank”>                                              http://www.postgresql.org/docs/8.4/static/tablefunc.html

Ecco come procedere all’abilitazione, il tutto è ovviamente semplice :

  • psql databasename -f  /usr/share/pgsql/contrib/tablefunc.sql

Le ho già create sui DB dwh , demo …etc etc…

ciao, Matteo

Cambio nome al CRS owner

giovedì, 24 novembre 2011

Che non vi venga mai in mente di cambiare il nome (mantenendo l’uid) del owner del crs!
… ma se qualcuno ve lo chiede…

occorrerà deinstallare tutto con:
  • Sul primo nodo:

$CRS_HOME/crs/install/rootcrs.pl -verbose -deconfig -force

  • sull’ultimo nodo:

$CRS_HOME/crs/install/rootcrs.pl -verbose -deconfig -force -lastnode

  • occorrerà poi modificare alcuni file e shell perché hanno scolpito dentro l’utente

e sono:

crsconfig_params
root.sh
rootmacro.sh
Bisogna deinstallarlo, perché i file di registro del cluster e altri ne mantengono il nome all’interno.
Ad esempio dopo un ocrdump del nuovo ocr file:
[SYSTEM.css.interfaces]
UNDEF :
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_CREATE_SUB_KEY, OTHER_PERMISSION : PROCR_READ, USER_NAME : ora11g, GROUP_NAME : oinstall}
Quindi gli step sono:
  • deconfigurazione su tutti i nodi
  • Verifica che tutti i processi siano giù
  • modifica del file dei parametri e shell indicate sopra
  • Verifica che i file di ocr e voting siano stati eliminati.
  • Riesecuzione del root.sh su un nodo e poi al termine, sull’altro nodo.
e poi… fatevi pagare un paio di caffè a chi ve l’ha chiesto!
Ciao,
Midati

Connessioni a sql server Due possibilità di azione

mercoledì, 16 novembre 2011

Ogni tanto ci si blocca su problemi che diamo per scontati, quindi avere una rispolverata su come connettersi al SQL Server non fa male.
Se ci si collega al server dove risiede il Sql Server, ci sono 2 opzioni:
  • collegarsi con un utente di sistema operativo 
  • collegarsi sia con un utente di sql server, sia con un utente di sistema operativo

La scelta di tale opzione è fatta a livello di istanza di SQL Server.

Per la connessione da remoto, bisogna abilitare il flag “Allow remote connection” che è un parametro di istanza.
Poi bisogna creare un ODBC (e controllare su SQL Server configuration Manager che siano abilitati i protocolli corretti)
Supponiamo però, perché fare le cose facili son capaci tutti: ), di avere due istanze di SQL Server sul server 192.XXX.XXX.XXX, e di volerci collegare all’istanza chiamata SQL2
che risponde alla porta 1888
Bisogna fare i seguenti passi (per collegarsi ad un SQL server 2005):
  1. driver: SQL ServerNative Client
  2. server : 192.XXX.XXX.XXX\SQL2,1888
  3. identificazione sql server (con nome utente e password corretta)
  4.  scelta db.

Se non si mette la porta a cui risponde il sql server, nella configurazione dell’ODBC viene presentato un errore di connessione, sembra che non sia visibile dalla rete!
Un Saluto, Giulia

Thin driver jdbc 11.2.0.1 Risoluzione di un bug gravissimo

giovedì, 3 novembre 2011

Eccoci qui a parlare di un bug da poco riscontrato e ovviamente già debuggato!

Se vi connettete con un thin driver jdbc 11.2.0.1 / 11.1.0.7 e una JVM 16 update 20 o 21, alla prima connessione avrete una lentezza tale da superare la soglia di inbound connection timeout (default ora a 30 secondi) e quindi beccarvi un reset della connessione :

java.sql.
SQLRecoverableException: IO Error: Connection reset
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:466)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:535)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:218)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:29)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at unicomm.RiordinoETL.ETLToAS400(RiordinoETL.java:639)
at unicomm.RiordinoETL.main(RiordinoETL.java:147)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at oracle.net.ns.DataPacket.send(DataPacket.java:211)
at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:208)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:224)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:172)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:97)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:82)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:119)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:75)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1263)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1238)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:296)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:193)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:365)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:804)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:386)
… 8 more
ETLToAS400[EXC]:IO Error: Connection reset

La risoluzione è semplice :

  • cambiare il thin driver con un OCI driver, in pratica dovete solo cambiare la stringa di connessione e nel programma  caricare la LD_LIBRARY_PATH relatica alle librerie oci.

Ciao,
Matteo Durighetto – DB Evangelist MIdati
Marco Zarantonello – MIdland