<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog Miriade</title>
	<atom:link href="http://blog.miriade.it/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.miriade.it</link>
	<description>Miriade Blog</description>
	<lastBuildDate>Thu, 02 Feb 2012 13:46:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Oracle offre gratuitamente Oracle SQL Developer Data Modeler</title>
		<link>http://blogdba.miriade.it/2012/02/oracle-offre-gratuitamente-oracle-sql.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oracle-offre-gratuitamente-oracle-sql-developer-data-modeler-2</link>
		<comments>http://blogdba.miriade.it/2012/02/oracle-offre-gratuitamente-oracle-sql.html#comments</comments>
		<pubDate>Thu, 02 Feb 2012 08:19:00 +0000</pubDate>
		<dc:creator>midati</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Database administrator]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=ebc3b8afebeba898d34944fcd033005c</guid>
		<description><![CDATA[Un saluto a tutti i nostri lettori,oggi vi portiamo a conoscenza un utile strumento software che Oracle&#160;offre gratuitamente.SQL Developer Data Modeler è uno strumento di modellazione e  di progettazione dei dati gratuito, che offre una gamma comp...]]></description>
			<content:encoded><![CDATA[<p><img style="text-align: left;" src="http://4.bp.blogspot.com/-nsyUl_44dTg/TypG3TIMpbI/AAAAAAAABew/32Eom6_dxWM/s320/Oracle_sql_developer_data_modeler.jpg" alt="" width="320" height="132" border="0" /></p>
<div style="text-align: left;">Un saluto a tutti i nostri lettori,</div>
<div style="text-align: left;">oggi vi portiamo a conoscenza un utile strumento software che <a href="http://www.oracle.com/">Oracle</a> offre gratuitamente.</div>
<p><a name="more"></a><span id="more-1595"></span></p>
<div style="text-align: left;">SQL Developer Data Modeler è uno strumento di modellazione e di progettazione dei dati gratuito, che offre una gamma completa di dati e strumenti di modellazione di database e utilities, compresa la modellazione di schemi di rapporto- entità (ERD),relazionali (database design), Data Type e modellazione Multi-dimensionale, conforward e reverse engineering e la generazione di codice DDL.</div>
<div style="text-align: left;">Data Modeler importa ed esporta informazioni da una varietà di fonti e target, fornisce una varietà di opzioni di formattazione e convalida dei modelli attraverso un insieme predefinito di regole di progettazione.</div>
<div style="text-align: left;">Il software risiede a questo link:</div>
<div style="text-align: left;">
<ul>
<li><a href="http://www.oracle.com/technetwork/developer-tools/datamodeler/downloads/index.html">http://www.oracle.com/technetwork/developer-tools/datamodeler/downloads/index.html</a></li>
</ul>
</div>
<div style="text-align: left;">Ciao,</div>
<div style="text-align: left;">Giulia</div>
<div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/5121279670533436357-6376364597589423773?l=blogdba.miriade.it" alt="" width="1" height="1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogdba.miriade.it/feeds/6376364597589423773/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCRIPT? EASY IF YOU KNOW HOW! &#8211; Terza Puntata</title>
		<link>http://blogbi.miriade.it/2012/02/script-easy-if-you-know-how-terza.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-easy-if-you-know-how-terza-puntata</link>
		<comments>http://blogbi.miriade.it/2012/02/script-easy-if-you-know-how-terza.html#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:03:00 +0000</pubDate>
		<dc:creator>Mirare</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[Business Intelligence]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=cb2900b659853a0b747ef66893389a31</guid>
		<description><![CDATA[Una procedura per disabilitare e riabilitare le chiavi esterne VERSO una tabellaBentornati all'appuntamento settimanale con gli script!Gli script di questa settimana sono complementari a quelli dell’ultima puntata:&#160;la settimana scorsa vi abbiamo...]]></description>
			<content:encoded><![CDATA[<p><img style="text-align: left;" src="http://1.bp.blogspot.com/-lf-TPATLx64/TylThAkl8pI/AAAAAAAABeo/Pm1-IgREWu4/s320/scriptblogbi.png" alt="" width="320" height="258" border="0" /></p>
<h3 style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; margin-bottom: 0pt; margin-top: 0pt; text-align: left;" dir="ltr"><span style="background-color: transparent; font-family: Arial;"><br />
<span style="font-size: large;">Una procedura per disabilitare e riabilitare le chiavi esterne VERSO una tabella</span></span></h3>
<div><span style="background-color: transparent; font-family: Arial;"><span style="font-size: large;"><br />
</span></span></div>
<p>Bentornati all&#8217;appuntamento settimanale con gli script!<br />
Gli script di questa settimana sono complementari a quelli dell’<a href="http://blogbi.miriade.it/2012/01/script-easy-if-you-know-how-seconda.html">ultima puntata</a>:</p>
<ul>
<li> la settimana scorsa vi abbiamo mostrato come disabilitare e riabilitare le chiavi esterne di una tabella verso le altre tabelle. Questa settimana trovate gli script per disabilitare e riabilitare le chiavi esterne che puntano ad una tabella.</li>
</ul>
<p>Quando usarlo?<br />
Ad esempio quando dovete aggiornare i dati di un&#8217;anagrafica. Infatti capita sovente di avere molte tabelle dei fatti con chiavi esterne verso la stessa anagrafica. Senza curarvi di quali siano le fact e di disabilitare per ognuna le chiavi esterne, chiamate la procedura ed il nome dell&#8217;anagrafica di interesse:</p>
<p><a name="more"></a><span id="more-1592"></span></p>
<p><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">BEGIN</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">    DISABLE_CONSTRAINTS_FROM (‘ANAGTABLE’);</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">END;</span></span></p>
<p>Segue lo script:<span style="color: #222222; font-family: Arial;"><span style="font-size: 15px;"><br style="background-color: rgba(255, 255, 255, 0.917969);" /></span></span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">create or replace</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">procedure DISABLE_CONSTRAINTS_FROM (P_TABLE varchar)</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">IS</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">CURSOR c_constr IS SELECT table_name, constraint_name FROM user_constraints</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">WHERE constraint_type=&#8217;R&#8217; AND table_name=P_TABLE;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">v_table VARCHAR2(100);</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">v_constraint VARCHAR2(100);</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">BEGIN</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">OPEN c_constr;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">LOOP </span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">FETCH c_constr INTO v_table, v_constraint;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">EXIT WHEN c_constr%NOTFOUND;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">  EXECUTE IMMEDIATE &#8216;alter table &#8216; || v_table || &#8216; disable constraint &#8216; || v_constraint;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">END LOOP;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">CLOSE c_constr;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">end;</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">allo stesso modo per riabilitarle dopo aver caricato i dati:</span></span><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;"><br />
</span></span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">BEGIN</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">    ENABLE_CONSTRAINTS_FROM (‘ANAGTABLE’);</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">END;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">create or replace</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">procedure ENABLE_CONSTRAINTS_FROM (P_TABLE varchar)</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">IS</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">CURSOR c_constr IS SELECT table_name, constraint_name FROM user_constraints</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">WHERE constraint_type=&#8217;R&#8217; AND table_name=P_TABLE;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">v_table VARCHAR2(100);</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">v_constraint VARCHAR2(100);</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">BEGIN</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">OPEN c_constr;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">LOOP </span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">FETCH c_constr INTO v_table, v_constraint;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">EXIT WHEN c_constr%NOTFOUND;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">  EXECUTE IMMEDIATE &#8216;alter table &#8216; || v_table || &#8216; enable constraint &#8216; || v_constraint;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">END LOOP;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">CLOSE c_constr;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">end;</span></span></p>
<p>Alla prossima, Elena e Paolo</p>
<div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7801296779848528908-9127284410382082896?l=blogbi.miriade.it" alt="" width="1" height="1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogbi.miriade.it/feeds/9127284410382082896/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Privacy: addio al DPS?</title>
		<link>http://blog.miriade.it/index.php/2012/02/privacy-addio-al-dps/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=privacy-addio-al-dps</link>
		<comments>http://blog.miriade.it/index.php/2012/02/privacy-addio-al-dps/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 14:43:19 +0000</pubDate>
		<dc:creator>a.rigoni</dc:creator>
				<category><![CDATA[mitiworks]]></category>
		<category><![CDATA[abolizione dps]]></category>
		<category><![CDATA[decreto semplificazioni]]></category>
		<category><![CDATA[documento programmatico sicurezza]]></category>
		<category><![CDATA[dps]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1585</guid>
		<description><![CDATA[Il 27 gennaio 2012, su proposta del Ministro per la pubblica amministrazione e semplificazione, il Consiglio ha esaminato e approvato un decreto-legge in materia di semplificazione e sviluppo. Con particolare riferimento al tema della PRIVACY, è stato eliminato l’obbligo di predisporre e aggiornare il documento programmatico sulla sicurezza (DPS) che, oltre a non essere previsto [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://blog.miriade.it/wp-content/uploads/2012/02/privacy.jpg"><img class="size-thumbnail wp-image-1586 alignnone" src="http://blog.miriade.it/wp-content/uploads/2012/02/privacy-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p style="text-align: left;">Il 27 gennaio 2012, su proposta del Ministro per la pubblica amministrazione e semplificazione, il Consiglio ha esaminato e approvato un <strong>decreto-legge</strong> in materia di semplificazione e sviluppo.</p>
<p style="text-align: left;">Con particolare riferimento al tema della PRIVACY, è stato eliminato l’obbligo di predisporre e aggiornare il documento programmatico sulla sicurezza (DPS)</p>
<p style="text-align: left;"><span id="more-1585"></span><br />
che, oltre a non essere previsto tra le misure di sicurezza richieste dalla Direttiva 95/46/CE del Parlamento europeo e del Consiglio, del 24 ottobre 1995, rappresenta un adempimento meramente superfluo.</p>
<p style="text-align: left;">A quanto si legge nel Comunicato Stampa del Consiglio dei Ministri, pare che il risparmio stimato per le PMI sarebbe di circa 313 milioni di euro all’anno.</p>
<p style="text-align: left;">Va però rilevato che restano in ogni caso ferme le misure di sicurezza previste dalla normativa vigente, ossia quelle di cui agli art. 33 e 34 del Codice della Privacy.</p>
<p style="text-align: left;"><strong>Considerazioni</strong></p>
<p style="text-align: left;">A parere dello scrivente, al di là che venga nominato DPS o meno, risulterebbe comunque opportuno un documento che dia atto dell&#8217;avvenuto l&#8217;adempimento da parte del Titolare del Trattamento dei dati personali di tutti gli obblighi previsti dall&#8217;art. 34 e dall&#8217;Allegato B del Codice della Privacy.</p>
<p style="text-align: left;">E&#8217; probabile che grandi aziende, strutturate e organizzate, in cui il trattamento di dati personali è particolarmente vasto, continueranno ad adottare un documento che sostanzialmente segue le logiche del DPS, anche in considerazione del fatto che potrà essere uno strumento utile per prevenire la commissione dei reati di trattamento illecito previsto dal D.Lgs. 231/2001.</p>
<p style="text-align: left;"><strong>Dubbi</strong></p>
<p style="text-align: left;">In caso di controlli, dovrà essere esibito il DPS 2001??</p>
<p style="text-align: left;">A riguardo nulla è stato detto.</p>
<p style="text-align: left;">Nel dubbio si consiglia di conservare l&#8217;ultima versione redatta del DPS al fine di aver adempiuto correttamente all&#8217;epoca della vigenza dell&#8217;obbligo di redazione.</p>
<p style="text-align: left;"><strong>In sintesi</strong></p>
<p style="text-align: left;"><strong>Se il Parlamento approverà il testo</strong> come presentato dal Governo, cadrà totalmente l’obbligo di redazione del DPS. Resteranno invece obbligatori tutti gli altri adempimenti del Codice privacy.</p>
<p style="text-align: left;">Il testo dell&#8217;<strong>art. 34 del Codice Privacy a seguito della modifica introdotta dall&#8217;art. 47 </strong>&#8220;Semplificazioni in materia di dati personali&#8221;, <strong>del Decreto Legge semplificazioni </strong>:</p>
<p style="text-align: left;"><em>1. Il trattamento di dati personali effettuato con strumenti elettronici è consentito solo se sono adottate, nei modi previsti dal disciplinare tecnico contenuto nell&#8217;allegato B), le seguenti misure minime: </em></p>
<p style="text-align: left;"><em> a) autenticazione informatica; </em></p>
<p style="text-align: left;"><em> b) adozione di procedure di gestione delle credenziali di autenticazione; </em></p>
<p style="text-align: left;"><em> c) utilizzazione di un sistema di autorizzazione; </em></p>
<p style="text-align: left;"><em> d) aggiornamento periodico dell&#8217;individuazione dell&#8217;ambito del trattamento consentito ai singoli incaricati e addetti alla gestione o alla manutenzione degli strumenti elettronici; </em></p>
<p style="text-align: left;"><em> e) protezione degli strumenti elettronici e dei dati rispetto a trattamenti illeciti di dati, ad accessi non consentiti e a determinati programmi informatici; </em></p>
<p style="text-align: left;"><em> f) adozione di procedure per la custodia di copie di sicurezza, il ripristino della disponibilità dei dati e dei sistemi; </em></p>
<p style="text-align: left;"><del><em> </em><strong><em>g) tenuta di un aggiornato documento programmatico sulla sicurezza; </em></strong></del></p>
<p style="text-align: left;"><em> h) adozione di tecniche di cifratura o di codici identificativi per determinati trattamenti di dati idonei a rivelare lo stato di salute o la vita sessuale effettuati da organismi sanitart. </em></p>
<p style="text-align: left;"><del><strong><em>1-bis. Per i soggetti che trattano soltanto dati personali non sensibili e che trattano come unici dati sensibili e giudiziari quelli relativi ai propri dipendenti e collaboratori, anche se extracomunitari, compresi quelli relativi al coniuge e ai parenti, la tenuta di un aggiornato documento programmatico sulla sicurezza è sostituita dall&#8217;obbligo di autocertificazione, resa dal titolare del trattamento ai sensi dell&#8217;articolo 47 del testo unico di cui al decreto del Presidente della Repubblica 28 dicembre 2000, n.445, di trattare soltanto tali dati in osservanza delle misure minime di sicurezza previste dal presente codice e dal disciplinare tecnico contenuto nell&#8217;allegato B). In relazione a tali trattamenti, nonchè a trattamenti comunque effettuati per correnti finalità amministrativo &#8211; contabili, in particolare presso piccole e medie imprese, liberi professionisti e artigiani, il Garante, sentiti il Ministro per la semplificazione normativa e il Ministro per la pubblica amministrazione e l&#8217;innovazione, individua con proprio provvedimento, da aggiornare periodicamente, modalità semplificate di applicazione del disciplinare tecnico contenuto nel citato allegato B) in ordine all&#8217;adozione delle misure minime di cui al comma 1. </em></strong></del></p>
<p style="text-align: left;"><em>1-ter. Ai fini dell&#8217;applicazione delle disposizioni in materia di protezione dei dati personali, i trattamenti effettuati per finalità amministrativo &#8211; contabili sono quelli connessi allo svolgimento delle attività di natura organizzativa, amministrativa, finanziaria e contabile, a prescindere dalla natura dei dati trattati. In particolare, perseguono tali finalità le attività organizzative interne, quelle funzionali all&#8217;adempimento di obblighi contrattuali e precontrattuali, alla gestione del rapporto di lavoro in tutte le sue fasi, alla tenuta della contabilità e all&#8217;applicazione delle norme in materia fiscale, sindacale, previdenziale &#8211; assistenziale, di salute, igiene e sicurezza sul lavoro.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2012/02/privacy-addio-al-dps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bug del giorno: ORACLE 11.2 &#8211; BUG NELLA MERGE</title>
		<link>http://blogdba.miriade.it/2012/01/bug-del-giorno-oracle-112-bug-nella.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bug-del-giorno-oracle-11-2-bug-nella-merge</link>
		<comments>http://blogdba.miriade.it/2012/01/bug-del-giorno-oracle-112-bug-nella.html#comments</comments>
		<pubDate>Fri, 27 Jan 2012 11:48:00 +0000</pubDate>
		<dc:creator>midati</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Database administrator]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=3a42a354f217da56340b241db19e7925</guid>
		<description><![CDATA[Eccomi a scrivere di un altro bug,succede con le merge ma forse anche con altro.Bug 9880099: ORA-600 [UPSROWVEC4] REPORTED ON MERGE STATEMENTDopo un bel po' di lavoro, per usare un eufemismo.... ho capito da dove saltafuori il problema.Facendo un expla...]]></description>
			<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: center;"></div>
<div class="separator" style="clear: both; text-align: left;"><img border="0" height="166" src="http://2.bp.blogspot.com/-wWK90QqTr8A/TyKOw8vohuI/AAAAAAAABeg/fX1slq_7iJ4/s320/OracleB.jpg" width="320" /></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Eccomi a scrivere di un altro bug,</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">succede con le merge ma forse anche con altro.</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">Bug 9880099: ORA-600 [UPSROWVEC4] REPORTED ON MERGE STATEMENT</span><br /><span style="font-family: 'Courier New', Courier, monospace;"></span><br /><a name='more'></a><span style="font-family: 'Courier New', Courier, monospace;"><br /></span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;"><br /></span></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Dopo un bel po&#8217; di lavoro, per usare un eufemismo&#8230;. ho capito da dove salta<br />fuori il problema.</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Facendo un explain plan saltava fuori lo stesso dannato bug, ho quindi messo sotto <i>trace</i> e ho capito che è colpa del <i>dynamic samplig</i> 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!).</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">ecco la soluzione , ovvero disabilitarlo :</div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">alter system &nbsp;set optimizer_dynamic_sampling=0 scope=both ;</span></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Ciao e alla prossima puntata,</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Matteo</div>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121279670533436357-2226812673854598572?l=blogdba.miriade.it' alt='' /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogdba.miriade.it/feeds/2226812673854598572/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>VIDEORITROVO in Google+: Miriade Q&amp;A con i Solution Architect di Amazon</title>
		<link>http://blog.miriade.it/index.php/2012/01/videoritrovo-in-google-miriade-qa-con-i-solution-architect-di-amazon/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=videoritrovo-in-google-miriade-qa-con-i-solution-architect-di-amazon</link>
		<comments>http://blog.miriade.it/index.php/2012/01/videoritrovo-in-google-miriade-qa-con-i-solution-architect-di-amazon/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 14:58:31 +0000</pubDate>
		<dc:creator>Alberto Marodin, Web Marketing</dc:creator>
				<category><![CDATA[Senza categoria]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[amazon italia]]></category>
		<category><![CDATA[amazon web service]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google plus]]></category>
		<category><![CDATA[Solution Architect Amazon]]></category>
		<category><![CDATA[videoritrovo]]></category>
		<category><![CDATA[webinar]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1573</guid>
		<description><![CDATA[Miriade, in occasione dell&#8217;evento Amazon Day, organizza il primo VIDEORITROVO in Google+ dove i Solution Architect Amazon insieme ai tecnici esperti Miriade si confronteranno con i partecipanti e daranno le risposte ai quesiti posti, sia tecniche che commerciali. Scopri come aderire e partecipare al videoritrovo!]]></description>
			<content:encoded><![CDATA[<p><a href="http://videoritrovo.miriade.it"><img class="alignnone size-full wp-image-1575" title="Videoritrovo" src="http://blog.miriade.it/wp-content/uploads/2012/01/row.png" alt="" width="570" height="200" /></a></p>
<p>Miriade, in occasione dell&#8217;evento <a title="amazon day" href="http://www.miriade.it/Amazon-Day.jpg.dbimage">Amazon Day</a>, organizza il primo <a title="videoritrovo" href="http://sites.google.com/a/miriade.it/miriadeq-a/" rel="nofollow" target="_blank"><strong>VIDEORITROVO</strong></a> in<strong> </strong><strong><a title="Google+" href="https://plus.google.com/112526921063438180429" target="_blank">Google+</a></strong><strong> </strong>dove i Solution Architect Amazon insieme ai tecnici esperti Miriade si confronteranno con i partecipanti e daranno le risposte ai quesiti posti, sia tecniche che commerciali.</p>
<ul>
<li><a title="videoritrovo" href="http://videoritrovo.miriade.it/" target="_blank">Scopri come aderire e partecipare al videoritrovo!</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2012/01/videoritrovo-in-google-miriade-qa-con-i-solution-architect-di-amazon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rapporto sulla Sicurezza: 1° semestre 2011</title>
		<link>http://blog.miriade.it/index.php/2012/01/rapporto-sicurezza-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rapporto-sicurezza-2011</link>
		<comments>http://blog.miriade.it/index.php/2012/01/rapporto-sicurezza-2011/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 12:26:40 +0000</pubDate>
		<dc:creator>Miriade</dc:creator>
				<category><![CDATA[Micore]]></category>
		<category><![CDATA[antivirus]]></category>
		<category><![CDATA[endpoint]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Control]]></category>
		<category><![CDATA[Rapporto sicurezza 2011]]></category>
		<category><![CDATA[sicurezza]]></category>
		<category><![CDATA[Sophos]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1539</guid>
		<description><![CDATA[Dall&#8217;inizio del 2011, sono stati rilevati 150.000 campioni di malware al giorno. Questo significa un file unico e diverso quasi ogni mezzo secondo, un incremento del 60%, rispetto al malware analizzato nel 2010. Ogni giorno vengono individuati 19.000 nuovi URL malevoli e l&#8217;80% di questi appartiene a siti manomessi o violati da hacker.* Questo è quanto emerge dal rapporto sulla sicurezza &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.youtube.com/embed/Qn_ONSOi3KU" frameborder="0" width="560" height="315"></iframe></p>
<p>Dall&#8217;inizio del 2011, sono stati rilevati <strong>150.000</strong> campioni di malware al giorno. Questo significa un file unico e diverso quasi ogni mezzo secondo, un incremento del <strong>60%</strong>, rispetto al malware analizzato nel 2010. Ogni giorno vengono individuati <strong>19.000 </strong>nuovi URL malevoli e l&#8217;<strong>80% </strong>di questi appartiene a siti manomessi o violati da <strong>hacker</strong>.*</p>
<p>Questo è quanto emerge dal <a title="Rapporto Sicurezza - 1° semestre 2011" href="https://docs.google.com/open?id=0B4vs2yvfCm3lZGY5NmQzZTAtYzVlOC00OGI4LTgxZTMtNDQ2OTgxOTFhZjkw" target="_blank">rapporto sulla sicurezza</a> &#8211; 1° semestre 2011 &#8211; redatto da <a title="Sophos - Prodotti" href="http://www.sophos.com/it-it/products.aspx" target="_blank">Sophos</a>.</p>
<p>Lo schema di qui sotto ci fa capire, ancor più, quante sono le minacce presenti;<br />
ma sopratutto ci fa notare com&#8217;è possibile difenderci grazie ad una soluzione completa e trasparente qual è quella proposta da Sophos.</p>
<p><span id="more-1539"></span></p>
<p><img class="alignnone" title="Rapporto Sicurezza / Soluzione" src="https://lh6.googleusercontent.com/--MokiNgPC3Y/TxBeYgsTmFI/AAAAAAAABV4/IoXNAj-VVPc/s640/sophos2012.jpg" alt="Rapporto Sicurezza / Soluzione" width="461" height="640" /></p>
<p>Create un ambiente sicuro, grazie al rilevamento proattivo delle nuove minacce e alla risoluzione dei problemi, risalendone alla radice.<br />
Dal Web e dalle chiavi USB, fino alle applicazioni di condivisione dei file peer-to-peer,<br />
la protezione offerta da Sophos vi difende su tutti i fronti.<br />
Sophos vi proteggere, anche, dalle risorse virtuali e <a title="Protezione Mobile" href="http://www.sophos.com/it-it/products/mobile.aspx" target="_blank">mobili</a>.</p>
<h2><strong>I commenti dei Clienti<br />
</strong><a href="http://blog.miriade.it/wp-content/uploads/2012/01/logo_despar.gif"><br />
<img class="alignnone size-full wp-image-1540" style="border-style: initial; border-color: initial;" title="logo Despar" src="http://blog.miriade.it/wp-content/uploads/2012/01/logo_despar.gif" alt="Logo Despa" width="222" height="36" /></a></h2>
<p>&#8220;Sophos ci ha risparmiato tempo, risorse e denaro; e non è poco per un Azienda che deve stare al passo coi tempi  mantenendo standard qualitativi e garanzie nei processi&#8221;<br />
<strong><a title="Aspiag srl" href="http://www.desparitalia.it/Apps/WebObjects/Despar.woa/wa/viewReseller?name=aspiag&amp;lang=ita" target="_blank">Aspiag Service srl</a> – Matteo Tonin, Network Manager<br />
</strong></p>
<h2><strong>Chi Siamo<br />
</strong></h2>
<p><strong></strong><a href="http://www.miriade.it/" rel="nofollow"><img src="http://lh3.googleusercontent.com/-T62O_dHEngs/TxQHHcaZ_jI/AAAAAAAABW4/xuclmiLF_DA/s103/miriade_black.png" alt="Miriade" width="103" height="22" border="0" /></a> è un’azienda che opera <strong>nell’ambito IT, in particolare nella sicurezza, da dodici anni.</strong></p>
<p><strong>Possono parlare di Miriade:</strong> Calzedonia, Infocert, Unicomm, ecc.</p>
<p>Sicurezza per Miriade è garantire <strong>affidabilità </strong>e <strong>protezione </strong>di tutti i sistemi.<br />
La scelta strategica è il <strong>Cloud </strong>Computing in tutte le sue attuali e potenziali espressioni.</p>
<h2>Vuoi ricevere maggiori informazioni?</h2>
<p><strong><br />
<a title="Rapporto Sicurezza" href="https://docs.google.com/a/miriade.it/spreadsheet/viewform?formkey=dGMzQ2wyRHpMWm53eDFqTXFuSHZCQWc6MQ" target="_blank">CLICCA QUI</a> o chiamaci allo 0445 030111</strong></p>
<p><span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;">.<br />
<span style="color: #000000;"><sup>*</sup>Dati ricavati dal rapporto sulla sicurezza 2011 &#8211; primo semestre &#8211; ed altre statistiche di Sophos </span></span></p>
<p><span style="color: #ffffff;">.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2012/01/rapporto-sicurezza-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCRIPT? EASY IF YOU KNOW HOW! &#8211; Seconda Puntata</title>
		<link>http://blogbi.miriade.it/2012/01/script-easy-if-you-know-how-seconda.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-easy-if-you-know-how-seconda-puntata</link>
		<comments>http://blogbi.miriade.it/2012/01/script-easy-if-you-know-how-seconda.html#comments</comments>
		<pubDate>Thu, 26 Jan 2012 08:46:00 +0000</pubDate>
		<dc:creator>Mirare</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[Business Intelligence]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=66b5968b27c0fc532ac56779afb83740</guid>
		<description><![CDATA[Seconda PuntataUna procedura per disabilitare le chiavi esterne (foreign key)Ed eccoci alla seconda puntata!La scorsa volta abbiamo parlato di una procedura per disabilitare ed abilitare tutti gli indici.Oggi, invece vi proponiamo questi utili script, ...]]></description>
			<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: left;"><img src="http://3.bp.blogspot.com/-CeTvp3tO1gs/TyESq35MsuI/AAAAAAAABdY/fjC5kOJkhO8/s1600/DatabaseSQLScript.jpg" alt="" border="0" /></div>
<p><em><br />
Seconda Puntata</em><br />
<span style="font-size: large;"><strong>Una procedura per disabilitare le chiavi esterne </strong><br />
(foreign key)<br />
</span></p>
<p>Ed eccoci alla seconda puntata!<br />
La scorsa volta abbiamo parlato di <a href="http://blogbi.miriade.it/2012/01/script-easy-if-you-know-how.html">una procedura per disabilitare ed abilitare tutti gli indici</a>.<br />
Oggi, invece vi proponiamo questi utili script, e secondo noi vi torneranno estremamente utili!</p>
<p>Come ben sapete, quando si ricaricano i dati di un datawarehouse il procedimento corretto è:</p>
<ul>
<li>disabilitare le chiavi esterne delle tabelle dei fatti (comunemente dette FACT);</li>
<li>svuotare le tabelle dei fatti;</li>
<li>svuotare le tabelle delle anagrafiche;</li>
<li>ricaricare le tabelle delle anagrafiche;</li>
<li>ricaricare le tabelle dei fatti;</li>
<li>riabilitare le chiavi esterne</li>
</ul>
<p><a name="more"></a><span id="more-1570"></span></p>
<p>Prima di ricaricare i dati aggiornati occorre quindi disabilitare le chiavi esterne che dalle tabelle dei fatti referenziano le anagrafiche.<br />
Ogni FACT ha però generalmente chiavi verso molte anagratiche. Con lo script di oggi vi baster<br />
chiamare la procedura ed il nome della tabella di interesse, senza dovervi curate di tutte le chiavi esterne che sono state create:</p>
<p><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;"> BEGIN</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">    DISABLE_CONSTRAINTS_TO(‘<wbr>FACTTABLE’);</wbr></span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;"> END;</span></span><br />
Segue lo script:<span style="color: #222222; font-family: Arial;"><span style="font-size: 15px;"><br style="background-color: rgba(255, 255, 255, 0.917969);" /></span></span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">create or replace</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">procedure DISABLE_CONSTRAINTS_TO (P_TABLE varchar)</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">IS</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">CURSOR c_constr IS SELECT table_name, constraint_name FROM user_constraints</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">where constraint_type=&#8217;R&#8217; and r_constraint_name in (select constraint_name from user_constraints where table_name=P_TABLE and constraint_type=&#8217;P');</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">v_table VARCHAR2(100);</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">v_constraint VARCHAR2(100);</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">BEGIN</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">OPEN c_constr;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">LOOP </span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">FETCH c_constr INTO v_table, v_constraint;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">EXIT WHEN c_constr%NOTFOUND;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">  EXECUTE IMMEDIATE &#8216;alter table &#8216; || v_table || &#8216; disable constraint &#8216; || v_constraint;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">END LOOP;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">CLOSE c_constr;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">end;</span></span></p>
<p>La procedura per riabilitare le constraint, senza dimenticarsene nessuna, viene invece chiamata scrivendo:</p>
<p><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;"> BEGIN</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">    ENABLE_CONSTRAINTS_TO(‘<wbr>FACTTABLE’);</wbr></span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;"> END;</span></span></p>
<p><span style="color: #222222; font-family: Arial; font-size: 15px; text-decoration: none; vertical-align: baseline;">Segue lo script: </span></p>
<p><span style="color: #222222; font-family: Arial; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">c</span><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">reate or replace</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">procedure ENABLE_CONSTRAINTS_TO (P_TABLE varchar)</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">IS</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">CURSOR c_constr IS SELECT table_name, constraint_name FROM user_constraints</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">where constraint_type=&#8217;R&#8217; and r_constraint_name in (select constraint_name from user_constraints where table_name=P_TABLE and constraint_type=&#8217;P');</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">v_table VARCHAR2(100);</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">v_constraint VARCHAR2(100);</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">BEGIN</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">OPEN c_constr;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">LOOP </span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">FETCH c_constr INTO v_table, v_constraint;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">EXIT WHEN c_constr%NOTFOUND;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">  EXECUTE IMMEDIATE &#8216;alter table &#8216; || v_table || &#8216; enable constraint &#8216; || v_constraint;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">END LOOP;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">CLOSE c_constr;</span><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><br style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-size: 13px;" /><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">end;</span></span><br />
<span style="color: #222222; font-family: Arial; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;"><br />
</span><br />
Ciao e alla settimana prossima,</p>
<div>Elena e Paolo</div>
<div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7801296779848528908-7112440936595325029?l=blogbi.miriade.it" alt="" width="1" height="1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogbi.miriade.it/feeds/7112440936595325029/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bug del giorno (XFS + SLES + Oracle)</title>
		<link>http://blogdba.miriade.it/2012/01/bug-del-giorno-xfs-sles-oracle.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bug-del-giorno-xfs-sles-oracle</link>
		<comments>http://blogdba.miriade.it/2012/01/bug-del-giorno-xfs-sles-oracle.html#comments</comments>
		<pubDate>Thu, 19 Jan 2012 10:55:00 +0000</pubDate>
		<dc:creator>midati</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Database administrator]]></category>
		<category><![CDATA[High Avaiability e Disaster Recovery]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=5c21cd22e689fd037b018c4d6ee6b81b</guid>
		<description><![CDATA[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... ovviam...]]></description>
			<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: left;"><img src="http://2.bp.blogspot.com/-064ftgZOLOI/TxalGn2YfjI/AAAAAAAABXw/hndQYpZshps/s320/Computer+Bug.jpg" alt="" width="320" height="212" border="0" /></div>
<div style="text-align: left;">Ciao a tutti ,</div>
<div style="text-align: left;">Il seguente Bug è estremamente simpatico, in pratica si corrompono i redolog e gli archivelg in modo silente, l&#8217;unico modo per intercettarlo è o fare un dump del redolog con logminer o altro, oppure tentare un restore/recover&#8230; ovviamente era la seconda situazione (SAP di produzione) con un db senza rman (ricordate begin backup end backup??)</div>
<div style="text-align: left;">Il tentativo di recover è stato fatto da microline con resetlogs, insomma un casino..</div>
<div style="text-align: left;"><span id="more-1565"></span></div>
<div style="text-align: left;"><a name="more"></a></div>
<blockquote class="tr_bq"><p>p.s. XFS l&#8217;ha messo Marco Recchia + Microline , non io <img src='http://blog.miriade.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p></blockquote>
<div style="text-align: left;">WARNING: Using unsupported filesystems and/or options for Oracle Database or using XFS due to an undocumented defect can cause redo log corruption which can only be detected after it happens when doing a restore or dump of redo log to trace file.</div>
<blockquote class="tr_bq"><p>ORA-00283: recovery session canceled due to errors<br />
ORA-00368: checksum error in redo log block<br />
ORA-00353: log corruption near block 4096 change 21180175 time 03/10/2008 00:14:53</p></blockquote>
<div style="text-align: left;">No errors are reported when Oracle is writing the information to the redo logs. If you are using the XFS filesystem, please make sure that you are using the latest update level for the Linux OS and the latest patchset for Oracle DB.A presto,<br />
Matteo</p>
</div>
<div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/5121279670533436357-5032810540119640055?l=blogdba.miriade.it" alt="" width="1" height="1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogdba.miriade.it/feeds/5032810540119640055/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCRIPT? Easy if you know how!</title>
		<link>http://blogbi.miriade.it/2012/01/script-easy-if-you-know-how.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=script-easy-if-you-know-how</link>
		<comments>http://blogbi.miriade.it/2012/01/script-easy-if-you-know-how.html#comments</comments>
		<pubDate>Wed, 18 Jan 2012 09:55:00 +0000</pubDate>
		<dc:creator>Mirare</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>
		<category><![CDATA[Business Intelligence]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=7c842e9a9b98df5f26c217512b1d64e6</guid>
		<description><![CDATA[Introduzione alla rubricaFare degli script a volte è proprio facile, se solo si sa come farlo!! Ma, per chi non sa farlo, trovarli già pronti a volte è proprio un gran colpo di fortuna.L'obiettivo di questa rubrica, che uscirà periodicamente sul bl...]]></description>
			<content:encoded><![CDATA[<h3 style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; margin-bottom: 0pt; margin-top: 0pt;" dir="ltr"><span style="background-color: transparent; text-decoration: none; vertical-align: baseline;"><span style="font-size: large;">Introduzione alla rubrica</span></span></h3>
<div class="separator" style="clear: both; text-align: left;"><img src="http://3.bp.blogspot.com/-cGS9QUZkSX0/TxaUYq-58lI/AAAAAAAABXg/vf6Zvcg69_4/s200/agenda_tazza.jpg" alt="" width="200" height="193" border="0" /></div>
<p><span style="font-family: inherit;"><br />
</span></p>
<blockquote class="tr_bq"><p>Fare degli script a volte è proprio facile, se solo si sa come farlo!! Ma, per chi non sa farlo, trovarli già pronti a volte è proprio un gran colpo di fortuna.</p></blockquote>
<div style="text-align: left;">L&#8217;obiettivo di questa rubrica, che uscirà periodicamente sul <a href="http://blogbi.miriade.it/">blog</a>, è raccogliere alcuni <a href="http://it.wikipedia.org/wiki/Script">scripts</a> per agevolare il compito di chi disegna un flusso etl, ad esempio per il caricamento di un <a href="http://it.wikipedia.org/wiki/Datawarehouse">datawarehouse</a>.</div>
<div style="text-align: left;">Li abbiamo scritti ed usati in differenti progetti e contesti e ci siamo stufati di averli sparpargliati qua e là.</div>
<div style="text-align: left;">Proveremo ad inserire ognuno di questi script nel contesto di una situazione concreta in cui potranno essere usati (o in cui li abbiamo effettivamente usati).</div>
<div style="text-align: left;">Sono tutti script molto semplici, banali per chi conosce un minimo di <a href="http://www.oracle.com/technetwork/database/features/plsql/index.html">PL/SQL</a>, ma che saranno di grande aiuto per chi non ha tali competenze. Il loro utilizzo infatti potrà rendere più pulito e dinamico il flusso di caricamento.</div>
<div style="text-align: left;">La maggior parte degli script sarà per database <a href="http://www.oracle.com/">Oracle </a>e scritto in PL/SQL, ma cercheremo anche, dove possibile, di fornire i corrispettivi per <a href="http://www.postgresql.org/">Postgresql </a>in linguaggio PL/pgsql.</div>
<div style="text-align: left;">Ecco a voi i primi due esempi, fatene buon uso!</div>
<div style="text-align: left;">Paolo Z. ed Elena C.</div>
<div style="text-align: left;"><span style="color: #222222; font-family: inherit; font-size: 13px;"><br />
</span></div>
<p><span style="font-size: large;"><strong>1^ Puntata<br />
SCRIPT? EASY IF YOU KNOW HOW!</strong></span></p>
<p><span id="more-1555"></span><br />
<a name="more"></a><span style="font-size: large;"><strong><br />
</strong></span></p>
<div style="text-align: left;"><span style="vertical-align: baseline;"><span style="color: #222222; font-size: 13px;"><br />
</span></span></div>
<div class="separator" style="clear: both; text-align: left;"><img src="http://3.bp.blogspot.com/-N5W8DhDHlVU/TxaWBCaIn3I/AAAAAAAABXo/WctTv2ZtAgU/s320/ad-esempio-a.jpg" alt="" width="320" height="212" border="0" /></div>
<ol>
<li><strong>Una procedura per disabilitare ed abilitare tutti gli indici </strong></li>
</ol>
<p>Supponiamo che dobbiate momentaneamente disabilitare tutti gli indici di una tabella.<br />
E’ un’ operazione che capita frequentemente di dover fare, ad esempio quando si devono caricare massivamente dati in una tabella.</p>
<p>Fin qui non vi spaventate:</p>
<ul>
<li> accedete al vostro client e controllate la tabella di interesse. A quel punto scoprite che la tabella è stata non solo partizionata, ma anche sub-partizionata! Naturalmente anche gli indici sono stati subpartizionati&#8230;!</li>
</ul>
<p>Il lavoro si fa interessante?!?<br />
Il numero di indici si moltiplica col numero delle partizioni e a sua volta delle sub-partizioni. Diventa non solo noioso, ma anche rischioso perderne qualcuno per strada.</p>
<p>Le procedure che vi mostriamo oggi disabilitano e riabilitano gli indici passando come parametri unicamente il nome della tabella e delle partizioni o subpartizioni.</p>
<div style="text-align: left;">La procedura si può lanciare scrivendo:</div>
<p><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">1) BEGIN</span></span></p>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">    UNUSABLE_INDEXES (&#8216;FACTTABLE&#8217;);  </span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">  END;</span></span></div>
<p>&nbsp;</p>
<p>per disabilitare gli indici su tutta la tabella (cioè su tutta la tabella se l&#8217;indice non è partizionato o su tutte le sue partizioni/subpartizioni se l&#8217;indice è partizionato/subpartizionato).<br />
<span style="text-align: left;"><br />
</span></p>
<div>
<div style="text-align: -webkit-auto;"><span style="text-align: left;">Oppure:</span></div>
<div style="text-align: left;"><span style="color: #222222; font-family: 'Courier New', Courier, monospace; font-size: 15px;">2) BEGIN</span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">    UNUSABLE_INDEXES (‘FACTTABLE’, ‘FACT_2011’);</span></span></div>
<div style="text-align: left;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;"><span style="font-family: 'Courier New', Courier, monospace;">  END;</span></span></div>
<div style="font-family: 'Courier New'; text-align: left;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;"><br />
</span></div>
<p>per disabilitare gli indici sulla partizione (o su tutte le subpartizioni di quella partizione se indice è subpartizionato).</p>
<div style="text-align: left; vertical-align: baseline;">Oppure ancora:</div>
<p><span style="color: #222222; font-size: 15px;">3) BEGIN</span></p>
</div>
<div style="text-align: left;"><span style="color: #222222; font-family: 'Courier New', Courier, monospace; font-size: 15px; text-decoration: none; vertical-align: baseline;">    UNUSABLE_INDEXES (&#8216;FACTTABLE&#8217;,null,&#8217;FACT_2011_<wbr>M01&#8242;) </wbr></span></div>
<div style="text-align: left;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;"><span style="font-family: 'Courier New', Courier, monospace;">  END;</span></span></div>
<div style="font-family: 'Courier New'; text-align: left;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;"><br />
</span></div>
<p>per disabilitare gli indici sulla subpartizione.</p>
<div style="text-align: left; vertical-align: baseline;">Seguono gli script:</div>
<div style="text-align: left; vertical-align: baseline;">create or replace</div>
<p><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222;"><span style="font-size: 15px;"><em>procedure UNUSABLE_INDEXES (P_TABLE varchar, P_PARTITION varchar default null, P_SUBPARTITION varchar default null)</em></span></span></span></p>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">IS</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">CURSOR c_indexes IS SELECT index_name FROM user_indexes WHERE table_name=P_TABLE and index_name not in ( select index_name from user_constraints where constraint_type=&#8217;P&#8217; and table_name=P_TABLE);</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">v_index VARCHAR2(100);</span></span></div>
<div style="text-align: left;">conta_sub INTEGER;</div>
<p>&nbsp;</p>
<div style="text-align: left;">v_partitioned VARCHAR2(10);</div>
<p>&nbsp;</p>
<div style="text-align: left;">CURSOR c_partition IS SELECT partition_name FROM user_ind_partitions WHERE index_name=v_index;</div>
<p>&nbsp;</p>
<div style="text-align: left;">CURSOR c_subpartition IS SELECT subpartition_name FROM user_ind_subpartitions WHERE index_name=v_index AND partition_name=p_partition;</div>
<p>&nbsp;</p>
<div style="text-align: left;">CURSOR c_subpartition2 IS SELECT subpartition_name FROM user_ind_subpartitions WHERE index_name=v_index;</div>
<p>&nbsp;</p>
<div style="text-align: left;">v_sub VARCHAR2(100);</div>
<p>&nbsp;</p>
<div style="text-align: left;">v_part VARCHAR2(100);</div>
<p>&nbsp;</p>
<div style="text-align: left;">BEGIN</div>
<p>&nbsp;</p>
<div style="text-align: left;"><span style="color: #222222; font-size: 13px;"><br />
</span></div>
<p>&nbsp;</p>
<div style="text-align: left;">OPEN c_indexes;</div>
<p>&nbsp;</p>
<div style="text-align: left;">LOOP</div>
<p>&nbsp;</p>
<div style="text-align: left;">FETCH c_indexes INTO v_index;</div>
<p>&nbsp;</p>
<div style="text-align: left;">EXIT WHEN c_indexes%NOTFOUND;</div>
<p>&nbsp;</p>
<div style="text-align: left;">&#8212;- caso subpartizioni</div>
<p>&nbsp;</p>
<div style="text-align: left;">IF P_SUBPARTITION IS NOT NULL THEN</div>
<p>&nbsp;</p>
<div style="text-align: left;">dbms_output.put_line(&#8216;alter index &#8216; || v_index || &#8216; modify subpartition &#8216; || P_SUBPARTITION || &#8216; unusable&#8217;);</div>
<p>&nbsp;</p>
<div style="text-align: left;">EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; modify subpartition &#8216; || P_SUBPARTITION || &#8216; unusable&#8217;;</div>
<p>&nbsp;</p>
<div style="text-align: left;">ELSE</div>
<p>&nbsp;</p>
<div style="text-align: left; vertical-align: baseline;">&#8211; caso partizioni<br />
<span style="color: #222222; font-family: inherit;"><span style="font-size: 15px; font-style: italic; text-decoration: none;"> IF P_PARTITION IS NOT NULL THEN</span></span></div>
<div style="text-align: left;"><span style="color: #222222; font-family: 'Courier New', Courier, monospace; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;"> SELECT subpartition_count INTO conta_sub FROM user_tab_partitions WHERE table_name=P_TABLE AND partition_name=P_PARTITION;</span></div>
<div style="text-align: left;"><span style="color: #222222; font-family: 'Courier New', Courier, monospace; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;"> IF conta_sub = 0 THEN</span></div>
<div style="text-align: left;"><span style="color: #222222; font-family: 'Courier New', Courier, monospace; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">   &#8211; indice non subpartizionato</span></div>
<div style="text-align: left;">   dbms_output.put_line(&#8216;alter index &#8216; || v_index || &#8216; modify partition &#8216; || P_PARTITION || &#8216; unusable&#8217;);</div>
<p>&nbsp;</p>
<div style="text-align: left;">    EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; modify partition &#8216; || P_PARTITION || &#8216; unusable&#8217;;</div>
<p>&nbsp;</p>
<div style="text-align: left;"> ELSE</div>
<p>&nbsp;</p>
<div style="text-align: left; vertical-align: baseline;">  &#8212; indice partizionato<br />
<span style="color: #222222; font-family: inherit;"><span style="font-family: Arial; font-size: 15px; font-style: italic; text-decoration: none;"> </span><span style="font-family: 'Courier New', Courier, monospace; font-size: 15px; font-style: italic; text-decoration: none;">  OPEN c_subpartition;</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">   LOOP</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">     FETCH c_subpartition INTO v_sub;</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">     EXIT WHEN c_subpartition%NOTFOUND;</span></span></div>
<div style="text-align: left;">     dbms_output.put_line(&#8216;<wbr>alter index &#8216; || v_index || &#8216; modify subpartition &#8216; || v_sub || &#8216; unusable&#8217;);</wbr></div>
<p>&nbsp;</p>
<div style="text-align: left;">     EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; modify subpartition &#8216; || v_sub || &#8216; unusable&#8217;;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   END LOOP;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   CLOSE c_subpartition;</div>
<p>&nbsp;</p>
<div style="text-align: left;"> END IF;</div>
<p>&nbsp;</p>
<div style="text-align: left;">  ELSE</div>
<p>&nbsp;</p>
<div style="text-align: left; vertical-align: baseline;">&#8211; caso tutta la tabella<br />
<span style="color: #222222; font-family: inherit;"><span style="font-family: Arial; font-size: 15px; font-style: italic; text-decoration: none;">  </span><span style="font-family: 'Courier New', Courier, monospace; font-size: 15px; font-style: italic; text-decoration: none;">SELECT partitioned INTO v_partitioned FROM user_indexes WHERE index_name=v_index;</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">  IF v_partitioned=&#8217;NO&#8217; THEN</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">  &#8212; caso indice globale</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">   dbms_output.put_line(&#8216;alter index &#8216; || v_index ||  &#8216; unusable&#8217;);</span></span></div>
<div style="text-align: left;">   EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; unusable&#8217;;</div>
<p>&nbsp;</p>
<div style="text-align: left;">  ELSE</div>
<p>&nbsp;</p>
<div style="text-align: left;">   SELECT count(*) INTO conta_sub FROM user_ind_subpartitions WHERE index_name=v_index;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   IF conta_sub=0</div>
<p>&nbsp;</p>
<div style="text-align: left;">   THEN</div>
<p>&nbsp;</p>
<div style="text-align: left;">   &#8211; caso indice partizionato ma non subpartizionato</div>
<p>&nbsp;</p>
<div style="text-align: left;">     OPEN c_partition;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     LOOP</div>
<p>&nbsp;</p>
<div style="text-align: left;">     FETCH c_partition INTO v_part;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     EXIT WHEN c_partition%NOTFOUND;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     dbms_output.put_line(&#8216;<wbr>alter index &#8216; || v_index || &#8216; modify partition &#8216; || v_part || &#8216; unusable&#8217;);</wbr></div>
<p>&nbsp;</p>
<div style="text-align: left;">     EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; modify partition &#8216; || v_part || &#8216; unusable&#8217;;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     END LOOP;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     CLOSE c_partition;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   ELSE</div>
<p>&nbsp;</p>
<div style="text-align: left;">     OPEN c_subpartition2;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     LOOP</div>
<p>&nbsp;</p>
<div style="text-align: left;">     FETCH c_subpartition2 INTO v_sub;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     EXIT WHEN c_subpartition2%NOTFOUND;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     dbms_output.put_line(&#8216;<wbr>alter index &#8216; || v_index || &#8216; modify subpartition &#8216; || v_sub || &#8216; unusable&#8217;);</wbr></div>
<p>&nbsp;</p>
<div style="text-align: left;">     EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; modify subpartition &#8216; || v_sub || &#8216; unusable&#8217;;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     END LOOP;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     CLOSE c_subpartition2;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   END IF;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   END IF;</div>
<p>&nbsp;</p>
<div style="text-align: left;">  END IF;</div>
<p>&nbsp;</p>
<div style="text-align: left;">END IF;</div>
<p>&nbsp;</p>
<div style="text-align: left;">END LOOP;</div>
<p>&nbsp;</p>
<div style="text-align: left;">CLOSE c_indexes;</div>
<p>&nbsp;</p>
<div style="text-align: left;">end;</div>
<p>&nbsp;</p>
<div style="text-align: left;"><span style="color: #222222; font-family: arial, sans-serif; font-size: 13px;"><br />
</span></div>
<p>&nbsp;</p>
<p>Va aggiunta un’ultima precisazione: se gli script si lanciano su una partizione/subpartizione (modalità 2 o 3) tutti gli indici devono essere partizionati/subpartizionati.<br />
Dopo aver caricato tutti i dati, la procedura seguente ricrea gli indici. Il funzionamento è uguale a quella precedente.</p>
<div style="text-align: left;"><span style="vertical-align: baseline;"><span style="color: #222222; font-family: arial, sans-serif; font-size: x-small;"><br />
</span></span></div>
<p>create or replace</p>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace; vertical-align: baseline;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">procedure REBUILD_INDEXES (P_TABLE varchar, P_PARTITION varchar default null, P_SUBPARTITION varchar default null)</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace; vertical-align: baseline;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">IS</span></span></div>
<div style="text-align: left;">CURSOR c_indexes IS SELECT index_name FROM user_indexes WHERE table_name=P_TABLE and index_name not in ( select index_name from user_constraints where constraint_type=&#8217;P&#8217; and table_name=P_TABLE);</div>
<p>&nbsp;</p>
<div style="text-align: left;">v_index VARCHAR2(100);</div>
<p>&nbsp;</p>
<div style="text-align: left;">conta_sub INTEGER;</div>
<p>&nbsp;</p>
<div style="text-align: left;">v_partitioned VARCHAR2(10);</div>
<p>&nbsp;</p>
<div style="text-align: left;">CURSOR c_partition IS SELECT partition_name FROM user_ind_partitions WHERE index_name=v_index;</div>
<p>&nbsp;</p>
<div style="text-align: left;">CURSOR c_subpartition IS SELECT subpartition_name FROM user_ind_subpartitions WHERE index_name=v_index AND partition_name=p_partition;</div>
<p>&nbsp;</p>
<div style="text-align: left;">CURSOR c_subpartition2 IS SELECT subpartition_name FROM user_ind_subpartitions WHERE index_name=v_index;</div>
<p>&nbsp;</p>
<div style="text-align: left;">v_sub VARCHAR2(100);</div>
<p>&nbsp;</p>
<div style="text-align: left;">v_part VARCHAR2(100);</div>
<p>&nbsp;</p>
<div style="text-align: left;">BEGIN</div>
<p>&nbsp;</p>
<div style="text-align: left;"><span style="color: #222222; font-size: 13px;"><br />
</span></div>
<p>&nbsp;</p>
<div style="text-align: left;">OPEN c_indexes;</div>
<p>&nbsp;</p>
<div style="text-align: left;">LOOP</div>
<p>&nbsp;</p>
<div style="text-align: left;">FETCH c_indexes INTO v_index;</div>
<p>&nbsp;</p>
<div style="text-align: left;">EXIT WHEN c_indexes%NOTFOUND;</div>
<p>&nbsp;</p>
<div style="text-align: left;">&#8212;- caso subpartizioni</div>
<p>&nbsp;</p>
<div style="text-align: left;">IF P_SUBPARTITION IS NOT NULL THEN</div>
<p>&nbsp;</p>
<div style="text-align: left;">dbms_output.put_line(&#8216;alter index &#8216; || v_index || &#8216; rebuild subpartition &#8216; || P_SUBPARTITION );</div>
<p>&nbsp;</p>
<div style="text-align: left;">EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; rebuild subpartition &#8216; || P_SUBPARTITION ;</div>
<p>&nbsp;</p>
<div style="text-align: left;">ELSE</div>
<div style="text-align: left; vertical-align: baseline;">&#8211; caso partizioni<br />
<span style="color: #222222; font-family: inherit;"><span style="font-family: Arial; font-size: 15px; font-style: italic; text-decoration: none;"> </span><span style="font-family: 'Courier New', Courier, monospace; font-size: 15px; font-style: italic; text-decoration: none;">IF P_PARTITION IS NOT NULL THEN</span></span></div>
<div style="text-align: left; vertical-align: baseline;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;"> SELECT subpartition_count INTO conta_sub FROM user_tab_partitions WHERE table_name=P_TABLE AND partition_name=P_PARTITION;</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace; vertical-align: baseline;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;"> IF conta_sub = 0 THEN</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace; vertical-align: baseline;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">   &#8211; indice non subpartizionato</span></span></div>
<div style="text-align: left;">   dbms_output.put_line(&#8216;alter index &#8216; || v_index || &#8216; rebuild partition &#8216; || P_PARTITION );</div>
<p>&nbsp;</p>
<div style="text-align: left;">    EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; rebuild partition &#8216; || P_PARTITION ;</div>
<p>&nbsp;</p>
<div style="text-align: left;"> ELSE</div>
<div style="text-align: left; vertical-align: baseline;">&#8211; indice partizionato<br />
<span style="color: #222222; font-family: inherit;"><span style="font-size: 15px; font-style: italic; text-decoration: none;">   OPEN c_subpartition;</span></span></div>
<div style="text-align: left; vertical-align: baseline;"><span style="color: #222222; font-family: 'Courier New', Courier, monospace; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">   LOOP</span></div>
<div style="text-align: left;"><span style="color: #222222; font-family: 'Courier New', Courier, monospace; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">     FETCH c_subpartition INTO v_sub;</span></div>
<div style="text-align: left;"><span style="color: #222222; font-family: 'Courier New', Courier, monospace; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">     EXIT WHEN c_subpartition%NOTFOUND;</span></div>
<div style="text-align: left;">     dbms_output.put_line(&#8216;<wbr>alter index &#8216; || v_index || &#8216; rebuild subpartition &#8216; || v_sub );</wbr></div>
<p>&nbsp;</p>
<div style="text-align: left;">     EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; rebuild subpartition &#8216; || v_sub ;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   END LOOP;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   CLOSE c_subpartition;</div>
<p>&nbsp;</p>
<div style="text-align: left;"> END IF;</div>
<p>&nbsp;</p>
<div style="text-align: left;">  ELSE</div>
<div style="text-align: left; vertical-align: baseline;">&#8211; caso tutta la tabella<br />
<span style="color: #222222; font-family: inherit;"><em style="font-size: 15px; text-decoration: none;"><span style="font-family: Arial;"> </span><span style="font-family: 'Courier New', Courier, monospace;"> SELECT partitioned INTO v_partitioned FROM user_indexes WHERE index_name=v_index;</span></em></span></div>
<div style="text-align: left; vertical-align: baseline;"><span style="font-family: 'Courier New', Courier, monospace;"><span style="color: #222222; font-size: 15px; text-decoration: none; vertical-align: baseline;">  IF v_partitioned=&#8217;NO&#8217; THEN</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace; vertical-align: baseline;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">  &#8212; caso indice globale</span></span></div>
<div style="text-align: left;"><span style="font-family: 'Courier New', Courier, monospace; vertical-align: baseline;"><span style="color: #222222; font-size: 15px; font-style: italic; text-decoration: none; vertical-align: baseline;">   dbms_output.put_line(&#8216;alter index &#8216; || v_index || &#8216; rebuild&#8217;);</span></span></div>
<div style="text-align: left;">   EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; rebuild&#8217;;</div>
<p>&nbsp;</p>
<div style="text-align: left;">  ELSE</div>
<p>&nbsp;</p>
<div style="text-align: left;">   SELECT count(*) INTO conta_sub FROM user_ind_subpartitions WHERE index_name=v_index;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   IF conta_sub=0</div>
<p>&nbsp;</p>
<div style="text-align: left;">   THEN</div>
<p>&nbsp;</p>
<div style="text-align: left;">   &#8211; caso indice partizionato ma non subpartizionato</div>
<p>&nbsp;</p>
<div style="text-align: left;">     OPEN c_partition;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     LOOP</div>
<p>&nbsp;</p>
<div style="text-align: left;">     FETCH c_partition INTO v_part;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     EXIT WHEN c_partition%NOTFOUND;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     dbms_output.put_line(&#8216;<wbr>alter index &#8216; || v_index || &#8216; rebuild partition &#8216; || v_part );</wbr></div>
<p>&nbsp;</p>
<div style="text-align: left;">     EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; rebuild partition &#8216; || v_part ;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     END LOOP;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     CLOSE c_partition;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   ELSE</div>
<p>&nbsp;</p>
<div style="text-align: left;">     OPEN c_subpartition2;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     LOOP</div>
<p>&nbsp;</p>
<div style="text-align: left;">     FETCH c_subpartition2 INTO v_sub;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     EXIT WHEN c_subpartition2%NOTFOUND;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     dbms_output.put_line(&#8216;<wbr>alter index &#8216; || v_index || &#8216; rebuild subpartition &#8216; || v_sub );</wbr></div>
<p>&nbsp;</p>
<div style="text-align: left;">     EXECUTE IMMEDIATE &#8216;alter index &#8216; || v_index || &#8216; rebuild subpartition &#8216; || v_sub ;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     END LOOP;</div>
<p>&nbsp;</p>
<div style="text-align: left;">     CLOSE c_subpartition2;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   END IF;</div>
<p>&nbsp;</p>
<div style="text-align: left;">   END IF;</div>
<p>&nbsp;</p>
<div style="text-align: left;">  END IF;</div>
<p>&nbsp;</p>
<div style="text-align: left;">END IF;</div>
<p>&nbsp;</p>
<div style="text-align: left;">END LOOP;</div>
<p>&nbsp;</p>
<div style="text-align: left;">CLOSE c_indexes;</div>
<p>&nbsp;</p>
<div style="text-align: left;"><span style="color: #222222; font-size: 13px;"><br />
</span></div>
<p>&nbsp;</p>
<div style="text-align: left;"><span style="color: #222222; font-size: 15px; font-style: italic;">end;</span></div>
<p>&nbsp;</p>
<div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7801296779848528908-495419715108795457?l=blogbi.miriade.it" alt="" width="1" height="1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogbi.miriade.it/feeds/495419715108795457/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mysql &amp; floating : an impossible love! L&#8217;azione del DB Evangelist&#8230;</title>
		<link>http://blogdba.miriade.it/2012/01/mysql-floating-impossible-love-lazione.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mysql-floating-an-impossible-love-lazione-del-db-evangelist</link>
		<comments>http://blogdba.miriade.it/2012/01/mysql-floating-impossible-love-lazione.html#comments</comments>
		<pubDate>Thu, 12 Jan 2012 13:30:00 +0000</pubDate>
		<dc:creator>midati</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Database administrator]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=6cd8f8d9cc5c79c2ff04b0f85537ae9c</guid>
		<description><![CDATA[Per chi lavorasse su mysql, attenzione ai float.I problemi sono gravi e sono i seguenti :&#160; &#160; &#160;1) Primo problema, i conti non tornano :CREATE TABLE t1 (i INT, d1 DOUBLE, d2 DOUBLE);INSERT INTO t1 VALUES (1, 101.40, 21.40), (1, -80.00, 0.0...]]></description>
			<content:encoded><![CDATA[<p><img style="text-align: left;" src="http://3.bp.blogspot.com/-yNVbW8jRQEc/TvBtJAHuVmI/AAAAAAAABP0/y-pFjmvaTw0/s320/floating.jpg" alt="" width="320" height="240" border="0" /></p>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Per chi lavorasse su mysql, attenzione ai float.</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">I problemi sono gravi e sono i seguenti :</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">     1) Primo problema, i conti non tornano :</div>
<div style="font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 13px; line-height: 19px;"><span id="more-1537"></span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">CREATE TABLE t1 (i INT, d1 DOUBLE, d2 DOUBLE);</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">INSERT INTO t1 VALUES (1, 101.40, 21.40), (1, -80.00, 0.00),</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">(2, 0.00, 0.00), (2, -13.20, 0.00), (2, 59.60, 46.40),</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">(2, 30.40, 30.40), (3, 37.00, 7.40), (3, -29.60, 0.00),</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">(4, 60.00, 15.40), (4, -10.60, 0.00), (4, -34.00, 0.00),</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">(5, 33.00, 0.00), (5, -25.80, 0.00), (5, 0.00, 7.20),</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">(6, 0.00, 0.00), (6, -51.40, 0.00);</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">SELECT i, SUM(d1) AS a, SUM(d2) AS b</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">FROM t1 GROUP BY i HAVING a &lt;&gt; b;</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">+&#8212;&#8212;+&#8212;&#8212;-+&#8212;&#8212;+</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">| i    | a     | b    |</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">+&#8212;&#8212;+&#8212;&#8212;-+&#8212;&#8212;+</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">|    1 |  21.4 | 21.4 |</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">|    2 |  76.8 | 76.8 |</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">|    3 |   7.4 |  7.4 |</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">|    4 |  15.4 | 15.4 |</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">|    5 |   7.2 |  7.2 |</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">|    6 | -51.4 |    0 |</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">+&#8212;&#8212;+&#8212;&#8212;-+&#8212;&#8212;+</span></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">la soluzione è assumere una tolleranza (!!!) :</div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">SELECT i, SUM(d1) AS a, SUM(d2) AS b FROM t1</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">GROUP BY i HAVING ABS(a &#8211; b) &gt; 0.0001;</span></div>
<ul>
<li><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">Esempio preso dalla doc ufficiale : </span><a style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;" href="http://dev.mysql.com/doc/refman/5.1/en/problems-with-float.html">http://dev.mysql.com/doc/refman/5.1/en/problems-with-float.html</a></li>
</ul>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">      2) Sulla replicazione si generano molteplici problematicità, per chi ha <a href="http://www.alfresco.com/it/">Alfresco</a> verificare le tabelle :</div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">avm_node_properties</span></div>
<div style="font-size: 13px; line-height: 19px;"><span style="font-family: 'Courier New', Courier, monospace;">avm_store_properties</span></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Per tutti gli altri, se avete replicazioni in piedi NON è garantito che i float saranno replicati correttamente dato che li  approssima in binario e poi li riconverte float, ergo slave e master NON danno errori ma i valori potrebbero essere diversi.</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Ciao,</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Matteo</div>
<div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/5121279670533436357-6126833661897540231?l=blogdba.miriade.it" alt="" width="1" height="1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogdba.miriade.it/feeds/6126833661897540231/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L&#8217;eredità di Bertoldo</title>
		<link>http://blog.miriade.it/index.php/2011/12/leredita-di-bertoldo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=leredita-di-bertoldo</link>
		<comments>http://blog.miriade.it/index.php/2011/12/leredita-di-bertoldo/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 20:34:55 +0000</pubDate>
		<dc:creator>Bertoldo</dc:creator>
				<category><![CDATA[Le FAQ (leggi "fuck") dell'IT manager - by Bertoldo]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1526</guid>
		<description><![CDATA[C&#8217;e un tempo per parlare e un tempo per tacere. Grazie allo spazio che Miriade mi ha offerto nel suo Blog ho potuto dire, urlare, esprimere e trasudare tutto quello che pensavo. Senza peli sulla lingua (anche perché per averceli&#8230;), senza falsi pudori o inutili difese autoreferenziali della categoria a cui io stesso appartengo. Ora [...]]]></description>
			<content:encoded><![CDATA[<p>C&#8217;e un tempo per parlare e un tempo per tacere.</p>
<div>Grazie allo spazio che Miriade mi ha offerto nel suo Blog ho potuto dire, urlare, esprimere e trasudare tutto quello che pensavo. Senza peli sulla lingua (anche perché per averceli&#8230;), senza falsi pudori o inutili difese autoreferenziali della categoria a cui io stesso appartengo.<br />
Ora e&#8217; tempo che io mi ritiri, approfittando di una finestra spazio-temporale che mi proietterà direttamente nell&#8217;anno 2024, tanto da avere 72 anni e andare mantinente in pensione.</div>
<div>E come tutti quelli che se ne vanno (sempre i migliori), desidero scrivere le mie ultime volontà:<br />
Lascio a tutti voi, amici IT Manager, la mia inesauribile curiosità, la voglia di cambiare, il coraggio di dire le cose, il coraggio di dirle prima di tutto a noi stessi.</div>
<div>Vi lascio il dono dell&#8217;autoironia, l&#8217;amore per la ricerca su tutto quello che non si può ricondurre all&#8217;ermeneutica binaria di 0 e di 1.</div>
<div>Lascio a Miriade la custodia di tutti i miei Post, chiedendo che vengano magari accuditi da qualcuno che non sia IT manager.</p>
<div>Detto questo, (e)spirò.</div>
</div>
<div><em>Mentr’ egli visse, fu Bertoldo detto,<br />
Fu grato al Re, morì con aspri duoli<br />
Per non poter mangiar rape e fagiuoli.</em></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2011/12/leredita-di-bertoldo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Auguri di Santa Cloud con Miriade</title>
		<link>http://blogdba.miriade.it/2011/12/auguri-di-santa-cloud-con-miriade.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=auguri-di-santa-cloud-con-miriade-2</link>
		<comments>http://blogdba.miriade.it/2011/12/auguri-di-santa-cloud-con-miriade.html#comments</comments>
		<pubDate>Wed, 21 Dec 2011 15:56:00 +0000</pubDate>
		<dc:creator>midati</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Database administrator]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=9fc8b2484a4b4f27e4f618d96f1677dc</guid>
		<description><![CDATA[Santa CloudNell'imminenza delle festività, del&#160;Nataledel Capodanno, dell'Epifaniail nostro particolare regalo si chiama&#160;Santa Cloudil nostro augurio è che ogni desiderio diventi RealtàTanti auguri&#160;e Buone FesteSnapshoti nostri special...]]></description>
			<content:encoded><![CDATA[<p>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"><img alt="" class="size-full wp-image-1489 alignnone" data-mce-src="http://blog.miriade.it/wp-content/uploads/2011/12/CLOUD_xmas-1.jpg" height="176" src="http://blog.miriade.it/wp-content/uploads/2011/12/CLOUD_xmas-1.jpg" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" title="CLOUD_xmas-1" width="230" /></div>
<h2 style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px;"><span style="font-size: large;">Santa Cloud</span></h2>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px;">Nell&#8217;imminenza delle festività, del&nbsp;<strong>Natale</strong>
<div style="font-size: 13px;">del Capodanno, dell&#8217;Epifania</div>
</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">il nostro particolare regalo si chiama&nbsp;<a data-mce-href="http://blog.miriade.it/index.php/2011/12/santa-cloud-regalo-miriade/" href="http://blog.miriade.it/index.php/santa-cloud/" title="Santa Cloud… Un regalo al giorno!">Santa Cloud</a><br />il nostro augurio è che ogni desiderio diventi Realtà<strong><br />Tanti auguri&nbsp;</strong>e Buone Feste</p>
<p><a name='more'></a></div>
<hr size="1" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;" />
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"><img alt="" class="alignnone" data-mce-src="https://lh5.googleusercontent.com/-GkP5hy18AVI/TvHoKF-DHrI/AAAAAAAABQQ/K8Hhs3ghGQQ/s230/CLOUD_snapshot.jpg" height="230" src="https://lh5.googleusercontent.com/-GkP5hy18AVI/TvHoKF-DHrI/AAAAAAAABQQ/K8Hhs3ghGQQ/s230/CLOUD_snapshot.jpg" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" title="snapshotclud" width="230" /></div>
<h2 style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px;"><span style="font-size: large;">Snapshot<br />i nostri speciali auguri per un felice Natale<br />e un anno pieno di «solo per oggi»</span></h2>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Chiudiamo l&#8217;anno invitandovi a&nbsp;leggere&nbsp;gli articoli di questa nuova edizione dove troverete</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">&#8230;approfondimenti tecnici,&nbsp;novità, gli eventi del&nbsp;2012, consigli e la nostra nuova rubrica comics&#8230;</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Non vi resta che&nbsp;<a data-mce-href="http://www.miriade.it/archive/snapshot/2011" href="http://www.miriade.it/archive/snapshot/2011" >Scaricarlo</a><br />Buona lettura!</div>
<hr size="1" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;" />
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"><img alt="" class="alignnone" data-mce-src="https://lh3.googleusercontent.com/-8NQ4h0hThIw/TvHoKO01rRI/AAAAAAAABQM/2RzZurp_04I/s230/CLOUD_drink.jpg" height="230" src="https://lh3.googleusercontent.com/-8NQ4h0hThIw/TvHoKO01rRI/AAAAAAAABQM/2RzZurp_04I/s230/CLOUD_drink.jpg" style="border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;" width="230" /></div>
<h2 style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px;"><span style="font-size: large;">Inaugurazione Mostra ANDOS<br />e Brindisi al Natale</span></h2>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"><strong>Venerdì&nbsp;</strong>23 dicembre, alle 18:00&nbsp;<strong>vi aspettiamo</strong>&nbsp;tutti in Miriade per&nbsp; un&nbsp;<strong>brindisi</strong>, festeggeremo il Natale e inaugureremo una nuova&nbsp;<strong>mostra&nbsp;</strong>di pittura.</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">E&#8217; una mostra speciale perchè si tratta della raccolta di numerose opere donate da artisti locali all&#8217;ANDOS (Associazione Nazionale Donne Operate al Seno): i quadri vengono venduti ad un prezzo simbolico e il<strong>ricavato&nbsp;</strong>andrà a&nbsp;<strong>favore&nbsp;</strong>dell&#8217;acquisto di un macchinario necessario al linfodrenaggio delle donne che hanno subito questa delicata operazione.</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">E&#8217; il secondo anno che Miriade ospita questa iniziativa e vi&nbsp;<strong>ringraziamo&nbsp;</strong>per l&#8217;attenzione che vorrete dedicarle!</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"><a data-mce-href="http://www.miriade.it/events/2011-12-23-INAUGURAZIONE-MOSTRA-ANDOS-E-BRINDISI-AL-NATALE" href="http://www.miriade.it/events/2011-12-23-INAUGURAZIONE-MOSTRA-ANDOS-E-BRINDISI-AL-NATALE" >Orario di apertura della mostra</a>!<br /><span data-mce-style="color: #ffffff;" style="color: white;">.</span></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"><span data-mce-style="color: #ffffff;" style="color: white;">.</span></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"><span data-mce-style="color: #ffffff;" style="color: white;">.&nbsp;</span></div>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121279670533436357-7169316183314136105?l=blogdba.miriade.it' alt='' /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogdba.miriade.it/feeds/7169316183314136105/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Auguri di Santa Cloud con Miriade</title>
		<link>http://blog.miriade.it/index.php/2011/12/auguri-di-santa-cloud-con-miriade/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=auguri-di-santa-cloud-con-miriade</link>
		<comments>http://blog.miriade.it/index.php/2011/12/auguri-di-santa-cloud-con-miriade/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 15:38:17 +0000</pubDate>
		<dc:creator>Miriade</dc:creator>
				<category><![CDATA[Senza categoria]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1476</guid>
		<description><![CDATA[Santa Cloud Nell&#8217;imminenza delle festività, del Natale del Capodanno, dell&#8217;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&#8217;anno invitandovi a leggere gli articoli di questa nuova edizione [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-1489 alignnone" title="CLOUD_xmas-1" src="http://blog.miriade.it/wp-content/uploads/2011/12/CLOUD_xmas-1.jpg" alt="" width="230" height="176" /></p>
<h2>Santa Cloud</h2>
<p>Nell&#8217;imminenza delle festività, del <strong>Natale</strong><br />
del Capodanno, dell&#8217;Epifania</p>
<p>il nostro particolare regalo si chiama <a title="Santa Cloud" href="http://blog.miriade.it/index.php/santa-cloud/">Santa Cloud<br />
</a><br />
il nostro augurio è che ogni desiderio diventi Realtà<strong><br />
Tanti auguri </strong>e Buone Feste</p>
<p><span id="more-1476"></span></p>
<hr size="1" />
<p><img class="alignnone" title="snapshotclud" src="https://lh5.googleusercontent.com/-GkP5hy18AVI/TvHoKF-DHrI/AAAAAAAABQQ/K8Hhs3ghGQQ/s230/CLOUD_snapshot.jpg" alt="" width="230" height="230" /></p>
<h2>Snapshot<br />
i nostri speciali auguri per un felice Natale<br />
e un anno pieno di «solo per oggi»</h2>
<p>Chiudiamo l&#8217;anno invitandovi a leggere gli articoli di questa nuova edizione dove troverete</p>
<p>&#8230;approfondimenti tecnici, novità, gli eventi del 2012, consigli e la nostra nuova rubrica comics&#8230;</p>
<p>Non vi resta che <a href="http://www.miriade.it/archive/snapshot/2011" target="_blank">Scaricarlo</a><br />
Buona lettura!</p>
<hr size="1" />
<p><img class="alignnone" src="https://lh3.googleusercontent.com/-8NQ4h0hThIw/TvHoKO01rRI/AAAAAAAABQM/2RzZurp_04I/s230/CLOUD_drink.jpg" alt="" width="230" height="230" /></p>
<h2>Inaugurazione Mostra ANDOS<br />
e Brindisi al Natale</h2>
<p><strong>Venerdì </strong>23 dicembre, alle 18:00 <strong>vi aspettiamo</strong> tutti in Miriade per  un <strong>brindisi</strong>, festeggeremo il Natale e inaugureremo una nuova <strong>mostra </strong>di pittura.</p>
<p>E&#8217; una mostra speciale perchè si tratta della raccolta di numerose opere donate da artisti locali all&#8217;ANDOS (Associazione Nazionale Donne Operate al Seno): i quadri vengono venduti ad un prezzo simbolico e il<strong>ricavato </strong>andrà a <strong>favore </strong>dell&#8217;acquisto di un macchinario necessario al linfodrenaggio delle donne che hanno subito questa delicata operazione.</p>
<p>E&#8217; il secondo anno che Miriade ospita questa iniziativa e vi <strong>ringraziamo </strong>per l&#8217;attenzione che vorrete dedicarle!</p>
<p><a href="http://www.miriade.it/events/2011-12-23-INAUGURAZIONE-MOSTRA-ANDOS-E-BRINDISI-AL-NATALE" target="_blank">Orario di apertura della mostra</a>!<br />
<span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;">. </span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2011/12/auguri-di-santa-cloud-con-miriade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rollup, cube, grouping functions … totali e subtotali in una sola mossa! 2^ parte&#8230;</title>
		<link>http://blogbi.miriade.it/2011/12/rollup-cube-grouping-functions-totali-e_19.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rollup-cube-grouping-functions-%25e2%2580%25a6-totali-e-subtotali-in-una-sola-mossa-2-parte</link>
		<comments>http://blogbi.miriade.it/2011/12/rollup-cube-grouping-functions-totali-e_19.html#comments</comments>
		<pubDate>Mon, 19 Dec 2011 14:44:00 +0000</pubDate>
		<dc:creator>Mirare</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[Business Intelligence]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=f961ab5eca79c5dc3b2b4f1f96d8d91a</guid>
		<description><![CDATA[Eccomi a pubblicare la seconda parte dell’articolo “Rollup, cube,grouping functions … totali e subtotali in una sola mossa”&#160;La volta precedente avevo presentato le clausole GROUP BY ROLLUP e CUBE, ora completo gli esempi con alcuni approfo...]]></description>
			<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: left;"><img src="http://4.bp.blogspot.com/--9n6rfzbN0w/TuYDETvHF4I/AAAAAAAABOo/BNUFXfhpyqo/s320/ORACLE.png" alt="" width="320" height="240" border="0" /></div>
<div class="MsoNormal">Eccomi a pubblicare la seconda parte dell’articolo “<a href="http://blogbi.miriade.it/2011/12/rollup-cube-grouping-functions-totali-e.html#more">Rollup, cube,grouping functions … totali e subtotali in una sola mossa</a>”</div>
<div class="MsoNormal">La volta precedente avevo presentato le clausole GROUP BY ROLLUP e CUBE, ora completo gli esempi con alcuni approfondimenti. <span id="more-1465"></span></div>
<div class="MsoNormal"><span class="Apple-style-span" style="font-size: 24px; font-weight: bold;"><br />
</span></div>
<div class="MsoNormal"><span class="Apple-style-span" style="font-size: 24px; font-weight: bold;">Grouping functions</span></div>
<h3>GROUPING</h3>
<div class="MsoNormal">Come identificare le righe contenenti subtotali? Cercare la presenza di valori nulli nelle colonne di group by non è certo la cosa più sicura. Allo scopo esiste la funzione GROUPING: accetta come parametro una sola colonna e torna 1 se la colonna contiene un valore nullo generato da un subtotale, 0 per qualsiasi altro valore (anche se fosse un valore nullo generato da dati nulli inseriti sulla colonna stessa).</div>
<div class="MsoNormal">Riprendo quindi la query precedente inserendo questa funzione</div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">select dim1,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       dim2,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       sum(fact_value),</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       grouping(dim1) grouping_dim1,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       grouping(dim2) grouping_dim2</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">  from tab_fact</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> group by cube (dim1, dim2)</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> order by dim1, dim2;</span></span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">DIM1        DIM2      SUM(FACT_VALUE)     GROUPING_DIM1       GROUPING_DIM2</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;-</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1           1         5571,06             0                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1           2         5517,54             0                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1           3         4915,56             0                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1           4         5702,75             0                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1           5         5516,37             0                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                     27223,28            0                   1                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2           1         5222,64             0                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2           2         4063,88             0                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2           3         4907,66             0                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2           4         5368,44             0                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2           5         4604,66             0                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                     24167,28            0                   1                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">            1         10793,7             1                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">            2         9581,42             1                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">            3         9823,22             1                   0                     </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">            4         11071,19            1                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">            5         10121,03            1                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                      51390,56            1                   1                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">18 righe selezionate</span></div>
<p><a name="more"></a></p>
<div class="MsoNormal">Quindi:</div>
<ul>
<li>Grouping_dim_1 = 0, grouping_dim2 = 0: rappresenta un subtotale che ci aspettiamo anche da una clausola GROUP BY</li>
<li>Grouping_dim_1 = 0, grouping_dim2 = 1: indica una riga contenente un subtotale per un valore distinto della colonna DIM1 (ovvero, per la globalità dei valori di DIM2); è ottenuta sia in una ROLLUP sia in una CUBE</li>
<li><span style="font-family: Symbol;"><span style="font: normal normal normal 7pt/normal 'Times New Roman';"> </span></span>Grouping_dim_1 = 1 grouping_dim2 = 0: indica una riga contenente un subtotale per un valore distinto della colonna DIM2 (ovvero, per la globalità dei valori di DIM1); è ottenuta solo in una CUBE</li>
<li>Grouping_dim_1 = 1 grouping_dim2 = 1: indica la riga di totale generale della query, ottenuta sia  con ROLLUP che con CUBE</li>
</ul>
<div class="MsoNormal">Queste nuove colonne si possono utilizzare per ordinamenti e per filtri:</div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">select dim1,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       dim2,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       sum(fact_value),</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       grouping(dim1) grouping_dim1,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       grouping(dim2) grouping_dim2</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">  from tab_fact</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> group by cube (dim1, dim2)</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> having grouping(dim1) = 1 or grouping(dim2) = 1</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> order by dim1, dim2;</span></span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">DIM1      DIM2      SUM(FACT_VALUE)     GROUPING_DIM1       GROUPING_DIM2         </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                   27223,28            0                   1                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                   24167,28            0                   1                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">          1         10793,7             1                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">          2         9581,42             1                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">          3         9823,22             1                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">          4         11071,19            1                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">          5         10121,03            1                   0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                    51390,56            1                   1                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">8 righe selezionate</span></div>
<h3>GROUPING_ID</h3>
<div class="MsoNormal">Questa funzione fornisce un modo più compatto per identificare i subtotali. Accetta in input più colonne, e fornisce il livello di raggruppamento</div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">select dim1,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       dim2,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       sum(fact_value),</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       grouping_id(dim1, dim2) grouping_id</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">  from tab_fact</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> group by cube (dim1, dim2)</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> order by dim1, dim2;</span></span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">DIM1               DIM2               SUM(FACT_VALUE)     GROUPING_ID        </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8211;</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                  1                  5571,06             0                    </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                  2                  5517,54             0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                  3                  4915,56             0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                  4                  5702,75             0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                  5                  5516,37             0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                                     27223,28            1                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                  1                  5222,64             0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                  2                  4063,88             0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                  3                  4907,66             0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                  4                  5368,44             0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                  5                  4604,66             0                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                                     24167,28            1                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                   1                  10793,7             2                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                   2                  9581,42             2                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                   3                  9823,22             2                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                   4                  11071,19            2                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                   5                  10121,03            2                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                                      51390,56            3                      </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">18 righe selezionate</span></div>
<div class="MsoNormal"><span class="Apple-style-span" style="font-size: 24px; font-weight: bold;">Grouping sets</span><br />
<span class="Apple-style-span" style="font-size: 24px; font-weight: bold;"><br />
</span></div>
<p>Il processo di calcolo di tutti i subtotali di un cubo, specialmente per quelli con molte dimensioni, può risultare molto pesanti, e portare ad uno spreco di risorse. Un cubo con 3 dimensioni porta a 8 livelli di subtotali (<a href="https://docs.google.com/open?id=0B4vs2yvfCm3lNzNmOGE5NjAtMzdiZS00NjYxLWE2MjUtMGM2OWQyOTg5NGQ4">v. Grouping functions – query 5</a>)</p>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">select dim1,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       dim2,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       dim3,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       sum(fact_value),</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       grouping_id(dim1, dim2, dim3) grouping_id</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">  from tab_fact</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> group by cube (dim1, dim2, dim3)</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> order by dim1, dim2, dim3;</span></span></div>
<div class="MsoNormal">Se abbiamo bisogno solamente di alcuni livelli di subtotale possiamo usare l’espressione GROUPING SETS e specificare esattamente quelli di cui abbiamo bisogno, evitando di calcolare tutto il cubo.</div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">select dim1,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       dim2,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       dim3,</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       sum(fact_value),</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">       grouping_id(dim1, dim2, dim3) grouping_id</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">  from tab_fact</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> group by grouping sets ((dim1, dim2), (dim1, dim3))</span></span></div>
<div class="Codice"><span lang="EN-US"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> order by dim1, dim2, dim3;</span></span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">DIM1        DIM2               DIM3       SUM(FACT_VALUE)   GROUPING_ID </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;  &#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212; </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1           1                             5571,06           1   </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1           2                             5517,54           1   </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1           3                             4915,56           1     </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1           4                             5702,75           1</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1           5                             5516,37           1    </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                              1          2218,67           2  </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                              2          2659,58           2  </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                              3          3523,35           2  </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                              4          2584,35           2  </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                              5          1953,06           2  </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                              6          2782,02           2 </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                              7          3079,12           2 </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                              8          2603,37           2 </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                              9          3254,72           2  </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                              10         2565,04           2  </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2           1                             5222,64           1   </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2           2                             4063,88           1 </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2           3                             4907,66           1  </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2           4                             5368,44           1   </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2           5                             4604,66           1  </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                              1          3120,1            2 </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                              2          2386,52           2 </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                              3          2594,49           2 </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                              4          2377,35           2    </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                              5          1965,83           2</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                              6          2275,98           2 </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                              7          2554,44           2 </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                              8          2321,32           2 </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                              9          2288,86           2</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                              10         2282,39           2</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><br />
</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">30 righe selezionate</span></div>
<div class="MsoNormal"><span lang="EN-US">Siamo così passati da 198 righe con 8 livelli di subtotale a solamente 30 righe con 2 livelli di subtotale.</span></div>
<div class="MsoNormal">Per maggiori informazioni e approfondimenti:</div>
<ul>
<li><a href="http://docs.oracle.com/cd/E11882_01/server.112/e16579/aggreg.htm">OracleDatabase Data Warehousing Guide, SQL for Aggregation in Data Warehouse</a></li>
</ul>
<div class="MsoNormal"><span lang="EN-US"><br />
</span></div>
<div class="MsoNormal"><span lang="EN-US">Ciao, Valeria</span></p>
<div><span lang="EN-US"><br />
</span></div>
</div>
<div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7801296779848528908-3625845136740855443?l=blogbi.miriade.it" alt="" width="1" height="1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogbi.miriade.it/feeds/3625845136740855443/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asm imbalance disk!  Il DB evangelist suggerisce&#8230;</title>
		<link>http://blogdba.miriade.it/2011/12/asm-imbalance-disk-il-db-evangelist.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=asm-imbalance-disk-il-db-evangelist-suggerisce</link>
		<comments>http://blogdba.miriade.it/2011/12/asm-imbalance-disk-il-db-evangelist.html#comments</comments>
		<pubDate>Thu, 15 Dec 2011 10:43:00 +0000</pubDate>
		<dc:creator>midati</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Database administrator]]></category>
		<category><![CDATA[High Avaiability e Disaster Recovery]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=91a65fe8b83fd7d9c4e30db16572753b</guid>
		<description><![CDATA[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 realitiv...]]></description>
			<content:encoded><![CDATA[<p><img style="text-align: left;" src="http://4.bp.blogspot.com/-VWsFnJKSpvo/Tucu0T50qPI/AAAAAAAABOw/wv7Okl5nh8Y/s320/disk-combobulation.jpg" alt="" width="320" height="320" border="0" /></p>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">In questo appuntamento settimanale vi darò alcune dritte su ASm imbalance disck.</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">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.</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"><a name="more"></a></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"><span id="more-1423"></span>Infatti, a volte, se un operazione di rebalance si interrompe può succedere che non siano sincronizzati i metadata dell&#8217;asm e l&#8217;header dei dischi.</div>
<div style="font-size: 13px; line-height: 19px;"><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">E&#8217; sufficiente fare una verifica tra </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">v$asm_disk (o v$asm_disk_stat) </span><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"> e</span><br />
<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">la seguente query che riporta lo stato </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">REALE</span><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"> delle </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">AU </span><span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">di asm.</span></div>
<blockquote class="tr_bq"><p><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">select GROUP_KFDAT &#8220;group_id&#8221;, number_kfdat &#8220;disk_id&#8221;, v_kfdat &#8220;VF&#8221;, count(*)</span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">from x$kfdat where GROUP_KFDAT = :NUMERODISKGROUP</span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">group by GROUP_KFDAT, number_kfdat, v_kfdat</span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">order by GROUP_KFDAT,number_kfdat ;</span></p></blockquote>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Per mettere a posto le cose :</div>
<blockquote class="tr_bq"><p><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">alter diskgroup NOMEDISKGROUP  check norepair ;</span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">verificate quindi sull&#8217;alert dell&#8217;asm (se vedete messaggi che</span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">riportano mismatch di AU ) :</span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">alter diskgroup NOMEDISKGROUP  check repair ;</span></p></blockquote>
<p>Ovviamente sempre prima avere un backup.</p>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">
<p>Ciao e al prossimo post,</p>
</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Matteo</div>
<div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/5121279670533436357-1116065192484888746?l=blogdba.miriade.it" alt="" width="1" height="1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogdba.miriade.it/feeds/1116065192484888746/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L’IT MANAGER E IL CAOS CALMO</title>
		<link>http://blog.miriade.it/index.php/2011/12/it-manager-e-il-caos-calmo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=it-manager-e-il-caos-calmo</link>
		<comments>http://blog.miriade.it/index.php/2011/12/it-manager-e-il-caos-calmo/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 20:19:24 +0000</pubDate>
		<dc:creator>Bertoldo</dc:creator>
				<category><![CDATA[Le FAQ (leggi "fuck") dell'IT manager - by Bertoldo]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1407</guid>
		<description><![CDATA[Caos Calmo. Il romanzo di Veronesi o il film di Nanni Moretti, prendete voi quello che preferite. Non importa.  Quello che mi interessa è l’immagine di questo top manager seduto su una panchina nel parco di fronte alla scuola del figlio. Fuori dai giochi, fuori dalle grandi manovre della sua azienda, fuori dagli orari obbligati, [...]]]></description>
			<content:encoded><![CDATA[<p class="p1"><em>Caos Calmo. Il romanzo di Veronesi o il film di Nanni Moretti, prendete voi quello che preferite. Non importa. </em></p>
<p class="p1"><em>Quello che mi interessa è l’immagine di questo top manager seduto su una panchina nel parco di fronte alla scuola del figlio. Fuori dai giochi, fuori dalle grandi manovre della sua azienda, fuori dagli orari obbligati, dai meeting, dalle lotte per la successione al vertice. Fuori da tutto, eppure così al centro: di se stesso, delle dinamiche e delle relazioni. Sì ok, state pensando alla scena di sesso da tergo con la Rossellini: lì era dentro, non c’è dubbio, ma non sbrachiamo proprio ora che cerco di fare un discorso serio. Non distinguiamoci sempre, cribbio!</em></p>
<p class="p1"><em>E noi IT Manager?</em></p>
<p class="p1"><span id="more-1407"></span></p>
<p class="p1"><em>Travolti dall’ansia del fare, sospinti da urgenze di ieri divenute emergenze di oggi e pronte a trasformarsi in rogne di domani e disastri di dopodomani. Talmente “dentro” al fare che non riusciamo neppure ad alzare la testa per vedere se sono ancora vivi gli utenti che ci hanno chiesto l’ennesima modifica al gestionale. Talmente di corsa che la pausa pranzo si trasforma in un panino con la mortazza mangiato sopra alla tastiera, che le briciole poi si infilano tra la M e la N e non se ne escono più, neanche soffiando. E se soffiamo troppo forte ci esce uno sputacchio così acido che cancella il J e la K nei tasti neri e… somatizziamo. Sì, somatizziamo: ci freghiamo fegato e cistifellea, imprimiamo l’ansia nelle nostre carni e costringiamo la nostra epidermide ad esprimere con macchie ed eczemi le emozioni che non riusciamo a dire.</em></p>
<p class="p1"><em>E allora mi torna in mente la seconda immagine. Quella cinematografica di Nanni Moretti che –preso nel nulla facendo- stila improbabili elenchi di qualunque cosa gli sia capitato nella vita. Me lo vedo fare un elenco inedito, quello delle malattie psicosomatiche dell’IT Manager [immaginate di ascoltarle dalla voce dell’attore-regista, che fa il suo effetto]:</em></p>
<ul class="ul1">
<li class="li1"><em>dermatiti seborroiche</em></li>
<li class="li1"><em>ulcere duodenali</em></li>
<li class="li1"><em>eczemi dell’epidermide</em></li>
<li class="li1"><em>crisi asmatiche o da soffocamento</em></li>
<li class="li1"><em>cefalee da ipercontrazione muscolare</em></li>
<li class="li1"><em>disturbi della minzione</em></li>
<li class="li1"><em>e –nel caso di IT manager al femminile- quei fastidiosi pruriti intimi che neanche col Vagisil…</em></li>
<li class="li1"><em>ad libitum…</em></li>
</ul>
<p class="p1"><em>Io esco, e mi siedo nella prima panchina che trovo. Voi fate come volete.</em></p>
<p class="p1"><em>Bertoldo</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2011/12/it-manager-e-il-caos-calmo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rollup, cube, grouping functions … totali e subtotali in una sola mossa! 1^ Parte&#8230;</title>
		<link>http://blogbi.miriade.it/2011/12/rollup-cube-grouping-functions-totali-e.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rollup-cube-grouping-functions-%25e2%2580%25a6-totali-e-subtotali-in-una-sola-mossa-1-parte</link>
		<comments>http://blogbi.miriade.it/2011/12/rollup-cube-grouping-functions-totali-e.html#comments</comments>
		<pubDate>Mon, 12 Dec 2011 13:34:00 +0000</pubDate>
		<dc:creator>Mirare</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[Business Intelligence]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=fa4b6864b00b1c18701fad73f969e574</guid>
		<description><![CDATA[Oggi parliamo di come utilizzare alcune funzionalità di OracleSQL, per ottenere totali e subtotali in una query.Rispetto al più classico GROUP BY e query UNION portano unnotevole vantaggio in termini di performance e semplicità di scrittura.Le trovo...]]></description>
			<content:encoded><![CDATA[<div class="MsoNormal">
<div class="separator" style="clear: both; text-align: left;"><img src="http://4.bp.blogspot.com/--9n6rfzbN0w/TuYDETvHF4I/AAAAAAAABOo/BNUFXfhpyqo/s320/ORACLE.png" alt="" width="320" height="240" border="0" /></div>
<div class="separator" style="clear: both; text-align: left;">Oggi parliamo di come utilizzare alcune funzionalità di OracleSQL,<span class="Apple-style-span" style="text-align: -webkit-auto;"> per ottenere totali e subtotali in una query.</span></div>
</div>
<div class="MsoNormal">Rispetto al più classico GROUP BY e query UNION portano unnotevole vantaggio in termini di performance e semplicità di scrittura.</div>
<div class="MsoNormal">Le trovo utili quando voglio portare a livello di databaselo sforzo computazionale, sollevando da ciò i vari strumenti front-end.</div>
<div class="MsoNormal">I seguenti esempi utilizzano un Oracle Database 11gEnterprise Edition Release 11.1.0.7.0 &#8211; Production</div>
<h2>Ambiente d’esempio</h2>
<div class="MsoNormal">Opero per semplicità su una sola tabella dei fatti, con 4campi di tipo dimensione e un campo valore.</div>
<div class="MsoNormal"><span id="more-1397"></span></div>
<p><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">Nome                  Nullo     Tipo                                                               </span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8211;  &#8212;&#8212;&#8212;&#8212;&#8212;-</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">DIM1                  NOT NULL  NUMBER</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">DIM2                  NOT NULL  NUMBER                                                              </span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">DIM3                  NOT NULL  NUMBER  </span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">DIM4                  NOT NULL  NUMBER  </span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">FACT_VALUE            NOT NULL  NUMBER(12,2)   </span></p>
<h2>Group by</h2>
<div class="MsoNormal">Utilizzo la funzione aggregata sum() che riceve  le righe fornite da una query e le aggrega inun risultato di una sola riga:</div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">select sum(fact_value)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">  fromtab_fact;</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">SUM(FACT_VALUE)        </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">51390,56 </span>  </span></div>
<p><a name="more"></a></p>
<div class="MsoNormal">Se inseriamo il group by, per esempio sulla prima dimensione,il risultato aggregato viene fornito per ciascuna combinazione dei valoripresenti nelle colonne elencate nella clausola group by:</div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">select dim1,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      count(*),</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      sum(fact_value)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">  fromtab_fact </span></div>
<div class="Codice" style="line-height: 80%;"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> group by dim1</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> orderby dim1;</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">DIM1                   COUNT(*)               SUM(FACT_VALUE)        </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      522                    27223,28               </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      478                    24167,28               </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><br />
</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><span class="Apple-style-span" style="font-size: x-small;">1 righe selezionate</span></span></div>
<div class="MsoNormal">Inserisco anche la seconda dimensione:</div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">select dim1,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      dim2,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      count(*),</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      sum(fact_value)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">  fromtab_fact </span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> groupby dim1, dim2</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> orderby dim1, dim2;</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"><br />
</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">DIM1              DIM2              COUNT(*)               SUM(FACT_VALUE)    </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8211; </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                  1                 107                    5571,06                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                  2                 103                    5517,54                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                  3                 100                    4915,56                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                  4                 101                    5702,75                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                  5                 111                    5516,37                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                  1                 98                     5222,64                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                  2                 83                     4063,88                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                  3                 100                    4907,66                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                  4                 107                    5368,44                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-size: x-small;"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">2                  5                 90                     4604,66</span>                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-size: x-small;"><br />
</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">10 righe selezionate</span></div>
<div class="MsoNormal">Inserendo anche la terza e la quarta dimensione, il numerodi righe fornito dalla query aumenta di conseguenza</div>
<h2>Rollup</h2>
<div class="MsoNormal">Questa estensione alla clausola group by produce subtotali eun totale complessivo</div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">select dim1,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      dim2,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      sum(fact_value)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">  fromtab_fact </span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> groupby rollup (dim1, dim2)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> orderby dim1, dim2;</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><br />
</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">DIM1                   DIM2               SUM(FACT_VALUE)        </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      1                  5571,06                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      2                  5517,54                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      3                  4915,56                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      4                  5702,75                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      5                  5516,37                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                                         27223,28               </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      1                  5222,64                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      2                  4063,88                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      3                  4907,66                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      4                  5368,44                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      5                  4604,66                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                                         24167,28               </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                                          51390,56               </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">13 righe selezionate</span></div>
<div class="MsoNormal">Si possono facilmente identificare le righe contenentisubtotali perché contengono valori nulli nelle colonne di rollup.</div>
<div class="MsoNormal">Con 3 dimensioni in rollup si ottengono, nel nostro esempio,113 righe (<a href="https://docs.google.com/open?id=0B4vs2yvfCm3lMzFlZGIzNzctZjFmMC00NmY0LWI1NDMtY2RjNTk4ZjhmMWEy">v. Rollup – query 1</a>)</div>
<div class="MsoNormal">È possibile ridurre il numero di righe ottenute impostandoun rollup parziale (<a href="https://docs.google.com/open?id=0B4vs2yvfCm3lOWE1OTdiNDItOTExMi00ZjI4LWI2YTUtNTI5MjU0YzRlOTE2">v. Rollup – query 2</a>)</div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"><br />
</span><br />
<span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">select dim1,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      dim2,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      dim3,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      sum(fact_value)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">  fromtab_fact </span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> groupby dim1, rollup (dim2, dim3)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> orderby dim1, dim2, dim3;</span></div>
<h2>Cube</h2>
<div class="MsoNormal">Oltre ai subtotali generati dall’estensione ROLLUP, la CUBEfornirà i subtotali per tutte le combinazioni delle dimensioni specificate.</div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">select dim1,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      dim2,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      sum(fact_value)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">  fromtab_fact </span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> groupby cube (dim1, dim2)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> orderby dim1, dim2;</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><br />
</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">DIM1                  DIM2                   SUM(FACT_VALUE)        </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      1                      5571,06                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      2                      5517,54                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      3                      4915,56                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      4                      5702,75                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                      5                      5516,37                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">1                                             27223,28               </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      1                      5222,64                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      2                      4063,88                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      3                      4907,66                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      4                      5368,44                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                      5                      4604,66                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">2                                            24167,28               </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                       1                      10793,7                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                       2                      9581,42                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                       3                      9823,22                </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                       4                      11071,19               </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                       5                      10121,03               </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">                                             51390,56               </span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><br />
</span></div>
<div class="Codice"><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">18 righe selezionate</span></div>
<div class="MsoNormal">Se le dimensioni specificate aumentano, così anche isubtotali che vengono calcolati (<a href="https://docs.google.com/open?id=0B4vs2yvfCm3lNzkwNGM0YmYtZGI0My00M2YyLWE4ZmQtN2NjNmVmNmU1Nzgy">v. Cube – query 3</a>)</div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">select dim1,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      dim2,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      dim3,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      sum(fact_value)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">  fromtab_fact </span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> groupby cube (dim1, dim2, dim3)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> orderby dim1, dim2, dim3;</span></div>
<div class="Codice">Anche nel CUBE è possibile ridurre il numero di subtotalicalcolati (<a href="https://docs.google.com/open?id=0B4vs2yvfCm3lZTI4YmUwZDItNTU4Yi00YWYwLWE2ODUtYTZkZjExYjA1OWJm">v. Cube – query 4</a>)</div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">select dim1,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      dim2,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      dim3,</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">      sum(fact_value)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US">  fromtab_fact </span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> groupby dim1, cube (dim2, dim3)</span></div>
<div class="Codice"><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;" lang="EN-US"> orderby dim1, dim2, dim3;</span></div>
<div class="MsoNormal">Per maggiori informazioni e approfondimenti:</div>
<ul>
<li><a href="http://docs.oracle.com/cd/E11882_01/server.112/e16579/aggreg.htm">OracleDatabase Data Warehousing Guide, SQL for Aggregation in Data Warehouse</a></li>
</ul>
<p><strong>La 2^ parte di questo post verrà pubblicata la settimana prossima</strong>: <a href="http://blogbi.miriade.it/feeds/posts/default">iscriviti ai feed rss</a>per ricevere il prossimo post!</p>
<div>Ciao,</div>
<div>Valeria</div>
<div class="blogger-post-footer"><img src="https://blogger.googleusercontent.com/tracker/7801296779848528908-3406677157357051930?l=blogbi.miriade.it" alt="" width="1" height="1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogbi.miriade.it/feeds/3406677157357051930/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sophos Endpoint 10: maggiore efficacia contro attacchi di malware e perdita dei dati</title>
		<link>http://blog.miriade.it/index.php/2011/12/sophos-endpoint-10-maggiore-efficacia-contro-attacchi-di-malware-e-perdita-dei-dati/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sophos-endpoint-10-maggiore-efficacia-contro-attacchi-di-malware-e-perdita-dei-dati</link>
		<comments>http://blog.miriade.it/index.php/2011/12/sophos-endpoint-10-maggiore-efficacia-contro-attacchi-di-malware-e-perdita-dei-dati/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 13:41:55 +0000</pubDate>
		<dc:creator>Miriade</dc:creator>
				<category><![CDATA[Micore]]></category>
		<category><![CDATA[endpoint 10]]></category>
		<category><![CDATA[Sophos]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1361</guid>
		<description><![CDATA[Sophos ha rilasciato la nuova versione Endpoint 10 i cui punti salienti si racchiudono nella rapidità, nel processo di semplificazione di protezione dei dati e nella garanzia di sicurezza data indipendentemente da dove si trova l&#8217;utente. Sophos ha riassunto il rilascio con queste parole: Una sicurezza più rapida, semplice e che vi segue ovunque andiate [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1364" title="endpoint" src="http://blog.miriade.it/wp-content/uploads/2011/12/endpoint.jpg" alt="" width="219" height="208" /></p>
<p>Sophos ha rilasciato la nuova versione Endpoint 10 i cui punti salienti si racchiudono nella rapidità, nel processo di semplificazione di protezione dei dati e nella garanzia di sicurezza data indipendentemente da dove si trova l&#8217;utente.</p>
<p>Sophos ha riassunto il rilascio con queste parole:</p>
<blockquote><p>Una sicurezza più rapida, semplice e che vi segue ovunque andiate</p></blockquote>
<p>I miglioramenti dati dalla nuova versione sono:</p>
<ul>
<li><strong>Migliori prestazioni, con una protezione pronta per la virtualizzazione</strong></li>
<li><strong>Una Web Protection efficace, indipendentemente da come navighino gli utenti o da dove si trovino</strong></li>
<li><strong>Conoscere le minacce significa sapere dove applicare le patch</strong></li>
<li><strong>Delivery e gestione facile della cifratura completa del disco</strong></li>
</ul>
<p><span class="Apple-style-span" style="font-size: 15px;"><strong><span id="more-1361"></span><br />
</strong></span></p>
<p>Sophos ha elencato i 10 motivi principali per cui passare alla nuova versione Endpoint 10:</p>
<p><a href="http://www.sophos.com/it-it/products/endpoint/endpoint-protection/whats-new.aspx">http://www.sophos.com/it-it/products/endpoint/endpoint-protection/whats-new.aspx</a></p>
<h3><strong>Passate a Sophos, compila il <a href="https://spreadsheets.google.com/spreadsheet/viewform?formkey=dFFnbm5STE5kSnFhZ21KMXV0RmoyckE6MQ" target="_blank">Form</a>!</strong></h3>
<p>Passate a Sophos, per ottenere la sicurezza completa di Endpoint 10, con l&#8217;opzione di aggiungere Web Protection, Patch Assessment, e Full Disk Encryption come componenti aggiuntivi.</p>
<p>La Protezione può essere abilitata su molteplici piattaforme  per Windows, Mac, Linux, UNIX e virtuali; tutto da un&#8217;unica<br />
console!</p>
<p>Miriade è partner Platinum Sophos, sì tratta di un&#8217;importante certificazione! In qualità di partner Platinum, i nostri clienti vantaggeranno di un servizio qualitativamente elevato.</p>
<p>Per conoscere meglio Sophos: <a href="http://www.miriade.it/solutions/Sophos-Endpoint-Security">http://www.miriade.it/solutions/Sophos-Endpoint-Security</a></p>
<h3><span class="Apple-style-span" style="font-size: 13px; font-weight: normal;">Di seguito riportiamo i video tutorial rilasciati da Sophos:</span></h3>
<p><object width="520" height="382" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/z0m6_ZW4tV4?version=3&amp;hl=en_US&amp;rel=0" /><param name="allowscriptaccess" value="always" /><param name="allowfullscreen" value="true" /><embed width="520" height="382" type="application/x-shockwave-flash" src="http://www.youtube.com/v/z0m6_ZW4tV4?version=3&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<h3><object style="font-size: 13px; font-weight: normal;" width="520" height="382" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/eNXv30_UM3E?version=3&amp;hl=en_US&amp;rel=0" /><param name="allowscriptaccess" value="always" /><param name="allowfullscreen" value="true" /><embed style="font-size: 13px; font-weight: normal;" width="520" height="382" type="application/x-shockwave-flash" src="http://www.youtube.com/v/eNXv30_UM3E?version=3&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true" /></object></h3>
<h3><object style="font-size: 13px; font-weight: normal;" width="520" height="294" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/ACFDLZEQqhI?version=3&amp;hl=en_US" /><param name="allowscriptaccess" value="always" /><param name="allowfullscreen" value="true" /><embed style="font-size: 13px; font-weight: normal;" width="520" height="294" type="application/x-shockwave-flash" src="http://www.youtube.com/v/ACFDLZEQqhI?version=3&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true" /></object></h3>
<h3></h3>
<p>&nbsp;</p>
<h3></h3>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2011/12/sophos-endpoint-10-maggiore-efficacia-contro-attacchi-di-malware-e-perdita-dei-dati/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BERTOLDO E IL MONDO CAPOVOLTO</title>
		<link>http://blog.miriade.it/index.php/2011/12/bertoldo-e-il-mondo-capovolto/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bertoldo-e-il-mondo-capovolto</link>
		<comments>http://blog.miriade.it/index.php/2011/12/bertoldo-e-il-mondo-capovolto/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 17:32:19 +0000</pubDate>
		<dc:creator>Bertoldo</dc:creator>
				<category><![CDATA[Le FAQ (leggi "fuck") dell'IT manager - by Bertoldo]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1356</guid>
		<description><![CDATA[Credo sia stata la cena a base di baccalà. O il Sauvignon. O la grappa di monovitigno. O tutte e tre le cose insieme. Stavo correndo, pieno di ansia e di fretta maledetta. “Non c’è tempo” , ripetevo tra me e me, “non c’è tempo abbastanza”: andavo a destra (un casino), a sinistra (una ciofeca), [...]]]></description>
			<content:encoded><![CDATA[<div>Credo sia stata la cena a base di baccalà. O il Sauvignon. O la grappa di monovitigno. O tutte e tre le cose insieme.<br />
Stavo correndo, pieno di ansia e di fretta maledetta. “Non c’è tempo” , ripetevo tra me e me, “non c’è tempo abbastanza”: andavo a destra (un casino), a sinistra (una ciofeca), a zig-zag. Senza pace.<br />
Non ricordo come, ma a forza di correre a vanvera mi sono trovato in un corridoio che in tutti questi anni passati in azienda non avevo mai visto: mai! Ma come cazzo è possibile che non l’abbia visto notato fino ad oggi, mi sono detto parlando in francese, eppure ero lì e continuavo a camminare spinto dal tic-tac interiore come il coccodrillo di Peter Pan. E alla fine del corridoio c’era una porta e sono entrato ma cazzo (di nuovo in francese) era la tromba dell’ascensore e son precipitato. Ma piano. Piano.<br />
“Come è possibile?”.  A testa in giù e poi a testa in su e poi fai un salto, fanne un altro, fai la giravolta, falla un’altra volta, guarda in su, guarda in giù… [sento la mia voce sempre più lontana].<br />
Toh, c’è un’altra porta ma non si apre. La maniglia, Bertoldo, la maniglia è rovescia… Ohhh! Ma qui è tutto meraviglioso, tutto in ordine, sembra… sembra il tinello di Monti! No, non è un tinello, è la sala del Consiglio di Amministrazione e c’è il Presidente con l’Amministratore Delegato. Ci sono tutti i top manager: il CFO, l’IT Manager… L’IT Manager?? Sì, e mi somiglia ma è più in forma e non ha l’eczema alle mani.. e sta parlando! L’Amministratore Delegato gli ha chiesto di illustrare i progetti di rinnovamento dell’infrastruttura informatica di gruppo e e vuole che spieghi come attraverso le ICT si intenda migliorare la performance aziendale e facilitare la diffusione e l’accessibilità delle informazioni. E il WEB e il networking. E tutti ascoltano, appuntando sugli iPad e visualizzando le slides della presentazione condivisa sul Cloud.<br />
Non ci posso credere. E infatti: guardando meglio seduto al tavolo c’è un tipo troppo eccentrico, con una tuba in testa. E ora il tipo strano si sta alzando e ha iniziato a versare il the bollente in tazzine senza fondo, cantando “un buon Non-Compleanno a te”.</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2011/12/bertoldo-e-il-mondo-capovolto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pentaho Data Integrator 4.2 &#8211; è uscita la nuova versione con features interessanti</title>
		<link>http://blogbi.miriade.it/2011/12/pentaho-data-integrator-42-e-uscita-la.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pentaho-data-integrator-4-2-e-uscita-la-nuova-versione-con-features-interessanti</link>
		<comments>http://blogbi.miriade.it/2011/12/pentaho-data-integrator-42-e-uscita-la.html#comments</comments>
		<pubDate>Mon, 05 Dec 2011 10:00:00 +0000</pubDate>
		<dc:creator>Mirare</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=c2005a826a84f473661064da4a664234</guid>
		<description><![CDATA[E’ uscita la nuova versione di Pentaho Data Integrator 4.2!Tra le nuove features ne elenchiamo alcune possono divenire molto utili e indispensabili:passo di output Pentaho Reporting: in presenza di un report parametrizzato lo si può lanciare diretta...]]></description>
			<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: left;"><img border="0" height="204" src="http://2.bp.blogspot.com/-LkRlKV7L_Dc/TtiKAuYaCzI/AAAAAAAABOE/uXyas4iagCE/s320/pentaho-wordle.png" width="320" /></div>
<div></div>
<p>E’ uscita la nuova versione di <a href="http://kettle.pentaho.com/" >Pentaho Data Integrator 4.2</a>!
<div>Tra le nuove features ne elenchiamo alcune possono divenire molto utili e indispensabili:</p>
<p><a name='more'></a>
<ul>
<li>passo di output Pentaho Reporting: in presenza di un report parametrizzato lo si può lanciare direttamente in una trasformazione</li>
<li>documentazione base automatica di job e trasformazioni (è però molto scadente)</li>
<li>Talend job execution</li>
<li>LDAP writer</li>
<li>Crittazione dei job con PGP</li>
<li>tuning in parallelo di grosse trasformazioni</li>
<li>import/export dei repository più specifico (cartelle ecc.)</li>
</ul>
<p>Per vedere tutte le nuove features segnaliamo il link: <a href="http://kettle.pentaho.com/" >http://kettle.pentaho.com/</a></p>
<p><b>Ma cos’è Kettle?</b></div>
<blockquote class="tr_bq"><p>Kettle è una soluzione open source per l’integrazione dei dati (<a href="http://it.wikipedia.org/wiki/Extract,_transform,_load" >ETL</a>) che si interfaccia con le più comuni fonti dati (documenti Excel, data base relazionali, fogli di testo ecc.) e permette una modellazione grafica che riduce sensibilimente i tempi di sviluppo.<br />ETL (Extraction, Transform, Load) quindi è un’espressione che rappresenta il processo di estrazione, trasformazione e caricamento dei dati in un data warehouse.<br />Questo significa che i dati vengono estratti da fonti dati eterogenee e subiscono un processo di trasformazione, come ad esempio la normalizzazione dei dati, la selezione dei dati di interesse per l’azienda, la decodifica di dati, join tra dati recuperati da tabelle differenti, derivazione di nuovi calcoli, raggruppamento di dati eccetera.<br />Queste tipologie di trasformazioni hanno lo scopo di consolidare i dati e renderli quindi omogenei e adatti alle analisi che si desiderano effettuare.<br />Per strumento di ETL si intende pertanto quello strumento con il quale è possibile sviluppare questo tipo di alimentazione e Kettle si presta a risolvere facilmente e velocemente la necessità aziendale di integrazione dei dati.</p></blockquote>
<div>Ciao,<br />Giorgia</div>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7801296779848528908-5339655357416495682?l=blogbi.miriade.it' alt='' /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogbi.miriade.it/feeds/5339655357416495682/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Best Pratices ETL: come Riutilizzare il codice con OWB</title>
		<link>http://blogbi.miriade.it/2011/12/best-pratices-etl-come-riutilizzare-il.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=best-pratices-etl-come-riutilizzare-il-codice-con-owb</link>
		<comments>http://blogbi.miriade.it/2011/12/best-pratices-etl-come-riutilizzare-il.html#comments</comments>
		<pubDate>Thu, 01 Dec 2011 15:00:00 +0000</pubDate>
		<dc:creator>Mirare</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[ETL]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=acdb9949ecc86515aa77189a8517c915</guid>
		<description><![CDATA[Una delle best practicesda tenere a mente quando si crea un processo di ETL è senza dubbio lariusabilità del codice, soprattutto dal punto di vista della manutenzione delprocesso.OWB, dalla versione10gR2, mette a siposizione&#160; lafunzionalità &#38;nb...]]></description>
			<content:encoded><![CDATA[<p>
<div class="MsoNormal">Una delle best practicesda tenere a mente quando si crea un processo di <a href="http://it.wikipedia.org/wiki/Extract,_transform,_load">ETL</a> è senza dubbio lariusabilità del codice, soprattutto dal punto di vista della manutenzione delprocesso.<o:p></o:p></div>
<div class="MsoNormal"></div>
<div class="MsoNormal"><a href="http://www.oracle.com/technetwork/developer-tools/warehouse/overview/introduction/index.html">OWB</a>, dalla versione10gR2, mette a siposizione&nbsp; lafunzionalità &nbsp;&#8221;Pluggable mapping&#8221;.<o:p></o:p></div>
<div class="MsoNormal"><v:shapetype coordsize="21600,21600" filled="f" id="_x0000_t75" o:preferrelative="t" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe" stroked="f"> <v:stroke joinstyle="miter"> <v:formulas>  <v:f eqn="if lineDrawn pixelLineWidth 0">  <v:f eqn="sum @0 1 0">  <v:f eqn="sum 0 0 @1">  <v:f eqn="prod @2 1 2">  <v:f eqn="prod @3 21600 pixelWidth">  <v:f eqn="prod @3 21600 pixelHeight">  <v:f eqn="sum @0 0 1">  <v:f eqn="prod @6 1 2">  <v:f eqn="prod @7 21600 pixelWidth">  <v:f eqn="sum @8 21600 0">  <v:f eqn="prod @7 21600 pixelHeight">  <v:f eqn="sum @10 21600 0"> </v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:formulas> <v:path gradientshapeok="t" o:connecttype="rect" o:extrusionok="f"> <o:lock aspectratio="t" v:ext="edit"></o:lock></v:path></v:stroke></v:shapetype><v:shape id="Picture_x0020_11" o:spid="_x0000_i1028" style="height: 52.5pt; mso-wrap-style: square; visibility: visible; width: 170.25pt;" type="#_x0000_t75"> <v:imagedata o:title="" src="file:///C:\Users\A7E21~1.MAR\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png"></v:imagedata></v:shape><o:p></o:p></div>
<div class="MsoNormal"></div>
<div class="MsoNormal">Questo oggetto è &nbsp;sostanzialmente una porzione di codice creataesternamente al mapping, che contiene dei parametri in ingresso ed&nbsp; in uscita, ed al suo interno realizza unprocesso definito (join e/o filtro etc ); logicamente simile a una proceduraPL/SQL.<o:p></o:p></div>
<div class="MsoNormal"></div>
<div class="MsoNormal"></div>
<div class="separator" style="clear: both; text-align: left;"><img border="0" src="http://2.bp.blogspot.com/-OrfJu4f2Cl0/Ttdatcm2IkI/AAAAAAAABNc/qOTKexxSuUs/s1600/image00.png" /></div>
<p>
<div class="MsoNormal">Il pluggable mapping non ha bisogno di essere deployato perchè &nbsp;lo si può usare solamente &nbsp;&nbsp;inserendolo in un altro mapping.<o:p></o:p></div>
<div class="MsoNormal">&nbsp;Quando lo si modifica occorre ri-sincronizzaree deployare tutti i mapping in cui è usato.<o:p></o:p></div>
<div class="MsoNormal"></div>
<p><a name='more'></a></p>
<div class="MsoNormal">&nbsp;Per crearlo</div>
<div class="MsoNormal"></div>
<div class="MsoNormal"></div>
<ul>
<li>andare sul nodo di pluggable mapping &#8220;Standalone&#8221; e con il tasto destro creare un nuovo pluggable mapping</li>
<li>lasciare le impostazioni di default nella schermata &#8220;Step 2&#8243;</li>
<li>definire la signature in ingresso allo &#8220;Step 3&#8243;: questi saranno i parametri in ingresso che il mapping accetterà</li>
</ul>
<div class="separator" style="clear: both; text-align: left;"><img border="0" src="http://4.bp.blogspot.com/-zaO7m3sZpN4/TtdawaqLVfI/AAAAAAAABNo/GartRo_u9gk/s1600/Img1.jpg" /></div>
<ul>
<li>allo &#8220;Step 4&#8243; definire &nbsp;la signature in uscita alla stessa maniera</li>
</ul>
<div class="MsoListParagraphCxSpFirst" style="margin-left: 37.5pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 37.5pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><o:p></o:p></div>
<div class="MsoListParagraph" style="mso-list: l1 level1 lfo2; text-indent: -18.0pt;"><o:p></o:p></div>
<div class="MsoNormal"><v:shape id="Picture_x0020_4" o:spid="_x0000_i1026" style="height: 175.5pt; mso-wrap-style: square; visibility: visible; width: 223.5pt;" type="#_x0000_t75"> </v:shape>
<div class="separator" style="clear: both; text-align: left;"><img border="0" src="http://2.bp.blogspot.com/-dX4cNvtN4k0/Ttdaw386QNI/AAAAAAAABNs/i5vRgXY6dd0/s1600/Img2.jpg" /></div>
<div class="MsoNormal"><o:p><br /></o:p></div>
<div class="MsoNormal"></div>
<ul>
<li><o:p>&nbsp;O</o:p>ra che iparametri in ingresso ed in uscita sono sistemati basta creare il mapping!</li>
</ul>
<p>
<div class="separator" style="clear: both; text-align: left;"><img border="0" height="200" src="http://2.bp.blogspot.com/-uV4ow--e1bw/Ttdaxjvl3HI/AAAAAAAABN8/EM_YUAeXmwE/s320/Img3.jpg" width="320" /></div>
<div class="MsoNormal"><o:p>&nbsp;</o:p>&nbsp;</div>
<div class="MsoNormal">A questo punto ilpluggable mapping è creato.<o:p></o:p></div>
<div class="MsoNormal">Per usarlo o verificarneil codice occorre inserirlo in un mapping trascinandolo con un drag and drop.<o:p></o:p></div>
<div class="MsoNormal"></div>
<div class="MsoNormal" style="text-align: left;">Ciao, Elena.</div>
</div>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7801296779848528908-1789410179618491580?l=blogbi.miriade.it' alt='' /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogbi.miriade.it/feeds/1789410179618491580/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Vicenza è la città premiata con il Google eTowns Award 2011</title>
		<link>http://blog.miriade.it/index.php/2011/12/vicenza-e-la-citta-premiata-con-il-google-etowns-award-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vicenza-e-la-citta-premiata-con-il-google-etowns-award-2011</link>
		<comments>http://blog.miriade.it/index.php/2011/12/vicenza-e-la-citta-premiata-con-il-google-etowns-award-2011/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 13:05:54 +0000</pubDate>
		<dc:creator>Miriade</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google apps]]></category>
		<category><![CDATA[impresa on line]]></category>
		<category><![CDATA[sem]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[webmarketing]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1338</guid>
		<description><![CDATA[Google premia Vicenza con l’eTowns Award 2011. Il capoluogo Berico si è infatti piazzato al terzo posto su 100 città nella speciale classifica stilata dal motore di ricerca più utilizzato al mondo &#8211; Google &#8211;  in merito al maggior incremento nel numero di aziende che promuovono il proprio business sul web con AdWords, il programma [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="alignnone size-full wp-image-1339" title="68918" src="http://blog.miriade.it/wp-content/uploads/2011/12/68918.jpg" alt="Sindaco Vicenza" width="205" height="300" /></p>
<p style="text-align: left;">Google premia Vicenza con l’<a href="http://googleitalia.blogspot.com/2011/11/assegnati-i-google-etowns-award-2011.html" target="_blank">eTowns Award 2011</a>.</p>
<p style="text-align: left;">Il capoluogo Berico si è infatti piazzato al terzo posto su 100 città nella speciale <a href="http://googleitalia.blogspot.com/2011/11/assegnati-i-google-etowns-award-2011.html" target="_blank">classifica </a>stilata dal motore di ricerca più utilizzato al mondo &#8211; Google &#8211;  in merito al maggior incremento nel numero di aziende che promuovono il proprio business sul web con AdWords, il programma di pubblicità online di Google.</p>
<p style="text-align: left;"><span id="more-1338"></span>Vicenza, pur non essendo una città metropolitana ha registrato un annuo del 47,4% dei clienti <a href="http://adwords.google.com/support/aw/?hl=it" target="_blank">AdWords </a>(fonte <a href="http://www.google.it" target="_blank">Google</a>), dietro a Salerno (+62,3%) e Torino (60,5%), ma davanti a Catania, Lecce, Bari, Cagliari, Palermo, Perugia e Bolzano.</p>
<p style="text-align: left;">Classifica completa:</p>
<ul>
<li><a href="http://googleitalia.blogspot.com/2011/11/assegnati-i-google-etowns-award-2011.html">http://googleitalia.blogspot.com/2011/11/assegnati-i-google-etowns-award-2011.html</a></li>
</ul>
<p>Il premio è stato consegnato al sindaco di Vicenza Acchille Variati che ha così <a href="http://www.comune.vicenza.it/ente/settori/staff/staffsindaco/notizie.php/68918" target="_blank">commentato</a>:</p>
<blockquote><p>È un segno della vitalità dell’impresa vicentina, spesso <a href="http://googleapps.miriade.it/acquista-ora/specialeoffertapmi" target="_blank">piccola</a> ma che dimostra capacità di puntare su innovazione e qualità del prodotto, rivolgendosi sempre più anche a internet. Saper sfruttare gli <a href="http://googleapps.miriade.it/acquista-ora/specialeoffertapmi" target="_blank">strumenti di promozione che offre il web</a>, del resto, sta diventando sempre più la chiave per avere successo sui mercati internazionali e globali</p></blockquote>
<p style="text-align: left;">La &#8220;<a href="http://www.silver-retail.it/">Better Silver SpA</a>&#8221; è un esempio d&#8217;impresa,  che, ha visto <strong>aumentare il fatturato</strong> grazie agli strumenti che <a href="http://googleapps.miriade.it/applicazioni-della-suite" target="_blank">Google</a> mette a disposizione per nuove strategie di marketing;  il <a href="http://www.rai.it/dl/tgr/regioni/PublishingBlock-c72e5b2a-769c-42fb-b929-1a5306a084d6.html" target="_blank">TGR Veneto</a> ha proposto questo servizio!</p>
<p><object width="560" height="315" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube-nocookie.com/v/_olWUHXA-Hk?version=3&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed width="560" height="315" type="application/x-shockwave-flash" src="http://www.youtube-nocookie.com/v/_olWUHXA-Hk?version=3&amp;hl=en_US" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>Per dare visibilità all&#8217;azienda il web diviene sempre più quel passo indispensabile e i <a href="http://googleapps.miriade.it/applicazioni-della-suite" target="_blank">servizi</a> che Google offre permettono di ampliare il proprio business!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2011/12/vicenza-e-la-citta-premiata-con-il-google-etowns-award-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stampanti HP: c&#8217;è un rischio intrusione</title>
		<link>http://blog.miriade.it/index.php/2011/12/stampanti-hp-ce-un-rischio-intrusione/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=stampanti-hp-ce-un-rischio-intrusione</link>
		<comments>http://blog.miriade.it/index.php/2011/12/stampanti-hp-ce-un-rischio-intrusione/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 12:00:19 +0000</pubDate>
		<dc:creator>Miriade</dc:creator>
				<category><![CDATA[Micore]]></category>
		<category><![CDATA[Columbia University]]></category>
		<category><![CDATA[hp stampanti]]></category>
		<category><![CDATA[Intrusion Detection Systems]]></category>
		<category><![CDATA[malaware]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1327</guid>
		<description><![CDATA[I ricercatori dell&#8217;Intrusion Detection Systems Lab presso la Columbia University hanno reso pubblica una nota ove si evince una vulnerabilità per determinate stampanti HP laser! Alcuni di questi dispositivi sono esposti all&#8217;installazione di firmware malevoli! HP minimizza l&#8217;allerta diffondendo un comunicato, ma le stampanti potrebbero addirittura prendere fuoco se ricevono un&#8217;indicazione malevole  da remoto. Partiamo riportando quanto HP a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="alignnone size-medium wp-image-1330" title="printer-hack" src="http://blog.miriade.it/wp-content/uploads/2011/12/printer-hack-300x91.gif" alt="" width="300" height="91" /></p>
<p style="text-align: left;">I ricercatori dell&#8217;Intrusion Detection Systems Lab presso la <a href="http://www.columbia.edu/index.html" target="_blank">Columbia University</a> hanno reso pubblica una nota ove si evince una vulnerabilità per determinate stampanti HP laser!</p>
<p style="text-align: left;">Alcuni di questi dispositivi sono esposti all&#8217;installazione di firmware malevoli! HP minimizza l&#8217;allerta diffondendo un <a href="http://blog.miriade.it/wp-content/uploads/2011/12/gp_printersecurity.pdf" target="_blank">comunicato</a>, ma le stampanti potrebbero addirittura prendere fuoco se ricevono un&#8217;indicazione malevole  da remoto.<span id="more-1327"></span></p>
<p style="text-align: left;">Partiamo riportando quanto HP a diffuso, dopoché la nota del team del professore <a href="http://www.cs.columbia.edu/~sal/" target="_blank">Salvatore Stolfo</a> della Columbia University ha fatto il giro del mondo:</p>
<blockquote><p>L&#8217;allarme è ingrandito:  &#8220;nessun cliente ha riferito di accessi non autorizzati&#8221; e &#8220;le speculazioni riguardo il potenziale incendio dei dispositivi a causa di una modifica del firmware sono false&#8221;.</p></blockquote>
<p style="text-align: left;">Detto ciò ecco cosa esce dal laboratorio universitario &#8220;Intrusion Detection Systems&#8221;:</p>
<ul style="text-align: left;">
<li> un malintenzionato potrebbe, grazie alla vulnerabilità <a href="http://betanews.com/2011/11/29/columbia-researchers-show-remote-hp-printer-hijack-video/" target="_blank">identificata</a>,  dare istruzioni alla stampante per far sì che si avvii un update non ufficiale al firmware già montato; fatto ciò  l&#8217;istruzione che si trasmette può essere quella di riscaldare la testina di stampa mandando a fuoco le plastiche della stampante.</li>
</ul>
<p><object width="420" height="315" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube-nocookie.com/v/dXDF0-2c1zc?version=3&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed width="420" height="315" type="application/x-shockwave-flash" src="http://www.youtube-nocookie.com/v/dXDF0-2c1zc?version=3&amp;hl=en_US" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<div style="text-align: left;">Per finire è doveroso dire che un hacker non riuscirebbe ad agire sull&#8217;interruttore termico che spegne improvvisamente la stampante in caso di surriscaldamenti!</div>
<div style="text-align: left;">HP, infine, è al lavoro per lanciare un update che eliminerà questo inconveniente!</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2011/12/stampanti-hp-ce-un-rischio-intrusione/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crosstab / Pivot table in Postgresql &#8211; Istruzioni per l&#8217;uso</title>
		<link>http://blogdba.miriade.it/2011/12/crosstab-pivot-table-in-postgresql.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=crosstab-pivot-table-in-postgresql-istruzioni-per-luso</link>
		<comments>http://blogdba.miriade.it/2011/12/crosstab-pivot-table-in-postgresql.html#comments</comments>
		<pubDate>Wed, 30 Nov 2011 23:30:00 +0000</pubDate>
		<dc:creator>midati</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Database administrator]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=25686a81c16442f3620fc333f1f0b154</guid>
		<description><![CDATA[Il nostro appuntamento settimanale oggi darà qualche suggerimento per ciò che&#160;riguarda&#160;Posgresql: le pivot table!E' possibile abilitare le funzioni di crosstab per avere le pivot table su Postgres.&#60;a href="http://www.postgresql.org/docs/...]]></description>
			<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: left;"><img border="0" height="157" src="http://4.bp.blogspot.com/-t80zW7psg1c/Ttc9pq14jvI/AAAAAAAABNU/FXtclrOxVZY/s320/pivot-table-datasource-csv-or-sql.png" width="320" /></div>
<p>Il nostro appuntamento settimanale oggi darà qualche suggerimento per ciò che&nbsp;riguarda&nbsp;<a href="http://www.postgresql.org/" >Posgresql</a>: le pivot table!</p>
<p>E&#8217; possibile abilitare le funzioni di <b>crosstab </b>per avere le <b>pivot </b>table su Postgres.</p>
<p><a name='more'></a><br />
<blockquote class="tr_bq">&lt;a href=&#8221;http://www.postgresql.org/docs/8.4/static/tablefunc.html&#8221; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;target=&#8221;_blank&#8221;&gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;http://www.postgresql.org/docs/8.4/static/tablefunc.html</p></blockquote>
<p>Ecco come procedere all&#8217;abilitazione, il tutto è ovviamente semplice :
<ul>
<li>psql databasename -f &nbsp;/usr/share/pgsql/contrib/tablefunc.sql</li>
</ul>
<p>Le ho già create sui DB dwh , demo &#8230;etc etc&#8230;</p>
<p>ciao, Matteo
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121279670533436357-8481598318732192762?l=blogdba.miriade.it' alt='' /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogdba.miriade.it/feeds/8481598318732192762/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google applica nuovi metodi SSL per una sicurezza che guarda avanti</title>
		<link>http://blog.miriade.it/index.php/2011/11/google-ssl-sicurezza/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-ssl-sicurezza</link>
		<comments>http://blog.miriade.it/index.php/2011/11/google-ssl-sicurezza/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 13:18:45 +0000</pubDate>
		<dc:creator>Miriade</dc:creator>
				<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google apps]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1289</guid>
		<description><![CDATA[Google ha adottato di default il protocollo di sicurezza SSL - Secure Sockets Layer: tutti gli utenti registrati ai suoi servizi vengono ora indirizzati verso un indirizzo protetto riconoscibile dal prefisso HTTPS. Facebook e Twitter adotteranno, anche loro, un metodo SSL, ma Google usa una precauzione in più: alla cifratura sotto protezione SSL predefinita è stata ora [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1290" title="ssl_logo" src="http://blog.miriade.it/wp-content/uploads/2011/11/ssl_logo.png" alt="" width="275" height="95" /></p>
<p>Google ha adottato di default il protocollo di sicurezza SSL - <em>Secure Sockets Layer:</em> tutti gli utenti registrati ai suoi servizi vengono ora indirizzati verso un indirizzo protetto riconoscibile dal prefisso HTTPS.</p>
<p>Facebook e Twitter adotteranno, anche loro, un metodo SSL, ma Google usa una precauzione in più:</p>
<div>
<div>
<ul>
<li>alla cifratura sotto protezione SSL predefinita è stata ora aggiunta una funzione forward-secrecy che, letteralmente, guarda in avanti. L&#8217;algoritmo genera ad ogni sessione una chiave pubblica differente e non tiene in memoria le chiavi private in modo persistente. Questo significa limitare la portata di un eventuale attacco alle chiavi cifratura e salvaguardare la privacy.</li>
</ul>
<p><span id="more-1289"></span>L&#8217;hacker o il cracker, quind, in possesso di una chiave di decodifica potrà infatti decifrare solo le informazioni scambiate durante una singola sessione, ma non potrà accedere a sessioni HTTPS avvenute prima o in un momento successivo. Neppure gli operatori dei server ufficiali saranno più in grado di tornare indietro nel tempo.</p>
</div>
</div>
<div>Google ha comunicato che la modalità <em>forward-secrecy HTTPS</em> è stata subito implementata per Gmail e molti altri servizi come Google Docs, Google Plus, e anche nel nuovo strumento per la ricerca cifrata raggiungibile all&#8217;indirizzo <a href="https://encrypted.google.com/" rel="nofollow" target="_blank">https://encrypted.google.com</a>.Per far funzionare il sistema forward-secrecy i browser devono però supportare il metodo di scambio di chiavi <a href="http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange" rel="nofollow" target="_blank">Diffie-Hellman</a> (ECDHE), un protocollo incentrato sulla crittografia a curva ellittica. Chrome e Firefox sono compatibili per default con il sistema ECDHE ma ancora manca il supporto di altri software di navigazione, come Internet Explorer.</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2011/11/google-ssl-sicurezza/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambio nome al CRS owner</title>
		<link>http://blogdba.miriade.it/2011/11/cambio-nome-al-crs-owner.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cambio-nome-al-crs-owner-2</link>
		<comments>http://blogdba.miriade.it/2011/11/cambio-nome-al-crs-owner.html#comments</comments>
		<pubDate>Thu, 24 Nov 2011 08:00:00 +0000</pubDate>
		<dc:creator>midati</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Database administrator]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=495b51e6745a5b10bf1f7de1e9ea6cd6</guid>
		<description><![CDATA[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&#160;-verbose -deconfig -forcesull'ultimo nodo:$C...]]></description>
			<content:encoded><![CDATA[<p>
<div class="separator" style="clear: both; text-align: left;"><img border="0" src="http://1.bp.blogspot.com/-Iqqs_8uJDSg/Ts0jtNtuXbI/AAAAAAAABKg/E_hQhAPvydk/s1600/idea1.jpg" /></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Che non vi venga mai in mente di cambiare il nome (mantenendo l&#8217;uid) del owner del crs!</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">&#8230; ma se qualcuno ve lo chiede&#8230;</p>
<p><a name='more'></a></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">occorrerà deinstallare tutto con:</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<ul>
<li>Sul primo nodo:</li>
</ul>
<p>$CRS_HOME/crs/install/<a data-mce-href="http://rootcrs.pl/" href="http://rootcrs.pl/" >rootcrs.pl</a>&nbsp;-verbose -deconfig -force
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<ul>
<li>sull&#8217;ultimo nodo:</li>
</ul>
<p>$CRS_HOME/crs/install/<a data-mce-href="http://rootcrs.pl/" href="http://rootcrs.pl/" >rootcrs.pl</a>&nbsp;-verbose -deconfig -force -lastnode
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<ul>
<li>occorrerà poi modificare alcuni file e shell perché hanno scolpito dentro l&#8217;utente</li>
</ul>
<p>e sono:
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">crsconfig_params<br />root.sh<br />rootmacro.sh</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Bisogna deinstallarlo, perché i file di registro del cluster e altri ne mantengono il nome all&#8217;interno.<br />Ad esempio dopo un ocrdump del nuovo ocr file:</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">[SYSTEM.css.interfaces]<br />UNDEF :<br />SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_CREATE_SUB_KEY, OTHER_PERMISSION : PROCR_READ, USER_NAME :&nbsp;<span data-mce-style="font-family: Times New Roman,serif;" style="font-family: 'Times New Roman', serif;"><span data-mce-style="font-size: small;" style="font-size: x-small;"><strong>ora11g</strong></span></span><span data-mce-style="font-family: Times New Roman,serif;" style="font-family: 'Times New Roman', serif;"><span data-mce-style="font-size: small;" style="font-size: x-small;">, GROUP_NAME : oinstall}</span></span></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Quindi gli step sono:</div>
<ul>
<li>deconfigurazione su tutti i nodi</li>
<li>Verifica che tutti i processi siano giù</li>
<li>modifica del file dei parametri e shell indicate sopra</li>
<li>Verifica che i file di ocr e voting siano stati eliminati.</li>
<li>Riesecuzione del root.sh su un nodo e poi al termine, sull&#8217;altro nodo.</li>
</ul>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">e poi&#8230; fatevi pagare un paio di caffè a chi ve l&#8217;ha chiesto!</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Ciao,<br />Midati</div>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121279670533436357-2513380879648725317?l=blogdba.miriade.it' alt='' /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogdba.miriade.it/feeds/2513380879648725317/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Analytical Reporting/FullClient View was requested</title>
		<link>http://blogbi.miriade.it/2011/11/analytical-reportingfullclient-view-was.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=analytical-reportingfullclient-view-was-requested</link>
		<comments>http://blogbi.miriade.it/2011/11/analytical-reportingfullclient-view-was.html#comments</comments>
		<pubDate>Tue, 22 Nov 2011 23:30:00 +0000</pubDate>
		<dc:creator>Mirare</dc:creator>
				<category><![CDATA[BI]]></category>
		<category><![CDATA[Business Intelligence]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=0f6d0bfc13aa606d45356e24b7e02ddb</guid>
		<description><![CDATA[Usate l'applicativo InfoView Java di Business Objects XI 3.1?&#160;Se provate ad aprire un report col browser Microsoft Internet Explorer (IE) 9 si ha il seguente errore "http 400 - Invalid path / AnalyticalReporting / WebiCreate was requested".Non per...]]></description>
			<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: left;"><img border="0" height="100" src="http://3.bp.blogspot.com/-Z6BBMvRflFI/TsytEngLk-I/AAAAAAAABKM/KbkVnHWQ4m0/s400/infoview.jpg" width="400" /></div>
<div class="separator" style="clear: both; text-align: left;"></div>
<p>Usate l&#8217;applicativo InfoView Java di Business Objects XI 3.1?
<div>
<ul>
<li>&nbsp;Se provate ad aprire un report col browser Microsoft Internet Explorer (IE) 9 si ha il seguente errore &#8220;http 400 &#8211; Invalid path / AnalyticalReporting / WebiCreate was requested&#8221;.</li>
</ul>
<div><a name='more'></a></div>
<p>Non perdete tempo a controllare le richieste di Tomcat o a controllare se la vostra installazione è corretta. IE 9, uscito in marzo 2011, non è supportato da Business Objects.</p></div>
<div></div>
<div>La soluzione più immediata?</div>
<div>
<ul>
<li>Chrome o Firefox, oppure una versione precedente di IE!</li>
</ul>
<p>In alternativa, poichè il problema emerge a causa di una chiamata ajax che non viene correttamente rediretta, si può modificare la pagina di reindirizzamento.</div>
<div></div>
<div>InfoViewAppActions.</div>
<div><a href="http://www.forumtopics.com/busobj/viewtopic.php?t=170250&amp;postdays=0&amp;postorder=asc&amp;start=43">http://www.forumtopics.com/busobj/viewtopic.php?t=170250&amp;postdays=0&amp;postorder=asc&amp;start=43</a> </div>
<div></div>
<div>Ciao, Elena</div>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7801296779848528908-408942127176522722?l=blogbi.miriade.it' alt='' /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogbi.miriade.it/feeds/408942127176522722/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Un appello da Informatici Senza Frontiere</title>
		<link>http://blog.miriade.it/index.php/2011/11/un-appello-da-informatici-senza-frontiere-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=un-appello-da-informatici-senza-frontiere-2</link>
		<comments>http://blog.miriade.it/index.php/2011/11/un-appello-da-informatici-senza-frontiere-2/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 12:01:59 +0000</pubDate>
		<dc:creator>r.zantedeschi</dc:creator>
				<category><![CDATA[Senza categoria]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1241</guid>
		<description><![CDATA[Lo sapete che da sempre sosteniamo e promuoviamo le iniziative di IFS, oggi vogliamo fare da cassa di risonanza per questo nuovo appello sperando che qualcuno possa aderire al progetto: Buongiorno a tutti, in concomitanza con il 2012, proclamato dalla Commissione europea “anno dell’invecchiamento attivo”, Telecom Italia avviera&#8217; a breve una iniziativa che vede come partner le scuole, che [...]]]></description>
			<content:encoded><![CDATA[<p>Lo sapete che da sempre sosteniamo e promuoviamo le iniziative di <a href="http://www.informaticisenzafrontiere.org/" target="_blank">IFS</a>, oggi vogliamo fare da cassa di risonanza per questo nuovo appello sperando che qualcuno possa aderire al progetto:</p>
<p><em>Buongiorno a tutti,</em><br />
<em>in concomitanza con il<strong> 2012</strong>, proclamato dalla Commissione europea<strong> “anno dell’invecchiamento attivo”</strong>,<strong> Telecom Italia</strong> avviera&#8217; a breve una iniziativa che vede come partner le scuole, che saranno coinvolte a partecipare  al progetto come sedi dei corsi e responsabili delle attivita&#8217; di alfabetizzazione.</em></p>
<p><span id="more-1241"></span></p>
<p><em>Il progetto nazionale di Telecom Italia  si pone come obiettivo di coinvolgere i nativi digitali e quelli acquisiti in un <strong>percorso di inclusione per tutti coloro che, per ragioni di età e lavoro, sono al momento esclusi dall’utilizzo dei nuovi strumenti di comunicazione</strong>, in particolare per persone over 60.</em></p>
<p><em><strong>ISF</strong> e&#8217; adesso <strong>partner di progetto</strong>, e in questa fase stiamo organizzando il team e  i volontari disponibili per portare il nostro contributo attivo e qualificato.</em></p>
<p><em>ISF partecipera&#8217; portando l&#8217;esperienza dei sui volontari per la supervisione sul materiale dei corsi di formazione, per la definizione delle Q&amp;A e con il presidio di alcuni centri di supporto per poter aiutare a risolvere problemi e/o a condividere approfondimenti per coloro che avranno terminato le sessioni dei corsi.</em></p>
<p><em>E&#8217; un&#8217;iniziativa molto importante per un Paese come il nostro, che pur essendo molto avanzato, soffre di ampie aree di digital divide tecnologico e culturale..</em></p>
<p><em>Chiunque fosse interessato a partecipare alle fasi operative, perche&#8217; esperto di documentazione o di corsi informatici per la terza eta&#8217;, puo&#8217; scrivere direttamente alla nostra casella <a href="mailto:info@informaticisenzafrontiere.org" target="_blank">info@informaticisenzafrontiere.org</a></em></p>
<p><em>Allo stesso modo chi sara&#8217; disponibile per il presidio nelle sedi ove forniremo supporto post corsi puo&#8217; contattare il coordinatore regionale ISF per avere informazioni e dettagli piu&#8217; specifici.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2011/11/un-appello-da-informatici-senza-frontiere-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Una gestione più flessibile dei dispositivi mobili con Google Apps</title>
		<link>http://blog.miriade.it/index.php/2011/11/una-gestione-piu-flessibile-dei-dispositivi-mobili-con-google-apps/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=una-gestione-piu-flessibile-dei-dispositivi-mobili-con-google-apps</link>
		<comments>http://blog.miriade.it/index.php/2011/11/una-gestione-piu-flessibile-dei-dispositivi-mobili-con-google-apps/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 16:40:52 +0000</pubDate>
		<dc:creator>Miriade</dc:creator>
				<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[dispositivi mobili]]></category>
		<category><![CDATA[google apps]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?p=1236</guid>
		<description><![CDATA[Al giorno d’oggi i dipendenti hanno quasi tutti un dispositivo mobile! E&#8217; importante che i dispositivi siano protetti e mantenuti in sicurezza. A partire da oggi, la completa gestione dei dispositivi mobile è disponibile senza alcun costo aggiuntivo per gli utenti Google Apps for Business. Le organizzazioni aziendali sono, a questo punto, in grado di [...]]]></description>
			<content:encoded><![CDATA[<div>
<p id="internal-source-marker_0.39247543341480196" dir="ltr">Al giorno d’oggi i dipendenti hanno quasi tutti un dispositivo mobile! E&#8217; importante che i dispositivi siano protetti e mantenuti in sicurezza.</p>
<p dir="ltr">A partire da oggi, la completa gestione dei dispositivi mobile è disponibile senza alcun costo aggiuntivo per gli utenti Google Apps for Business. Le organizzazioni aziendali sono, a questo punto, in grado di gestire Android, iOS e Windows Mobile direttamente dal pannello di controllo di Google Apps, senza particolari hardware o software da gestire.</p>
<p dir="ltr"><span id="more-1236"></span></p>
<p>In aggiunta alle <a href="http://googleenterprise.blogspot.com/2011/04/putting-android-to-work-for-your.html">capacità esistenti nella gestione dei dispositivi mobili</a>, gli amministratori IT possono ora vedere una visione olistica di tutti i dispositivi mobili sincronizzati con Google Apps e revocare l&#8217;accesso a singoli dispositivi in base alle esigenze.<br />
<img src="https://lh5.googleusercontent.com/ZwrRIFxySjS1KCkZzpccxwKlp7uCkLZ-4zoHlVv1gMotP32JQrPgH3kvEM0Re5Jpj7BNZIJEr6l96MKTrEzNLdUhkEVKVKJcLzJocobRSIhbW64uLEs" alt="" width="382px;" height="188px;" /></p>
<p>Le aziende possono ora definire le politiche dei dispositivi mobili, come requisiti per le password e le preferenze di sincronizzazione in roaming su una <a href="http://googleenterprise.blogspot.com/2010/07/introducing-user-policy-management-for.html">base granulare per gruppi di utenti</a>.<br />
<img src="https://lh5.googleusercontent.com/WRvc3CcTW63h1ZXPAudifDkXOw7RqUEYcVvnfKrytUIFF2NIi_SKd8h8mna5YpFcHuasD3wfYp_l0EdMbjyfFOhkTzX0WDp7hjBPJ8upBJdZC2to8kM" alt="" width="201px;" height="176px;" /></p>
<p>Gli amministratori hanno già oggi la possibilità di acquisire conoscenze in produttività dei dispositivi mobili all&#8217;interno delle loro organizzazioni, con le tendenze e analisi.<br />
<img src="https://lh5.googleusercontent.com/bu6Hhtg7YvgsBFwGMQ6OBZdTh2NKBKlOCHDU3aAzSbJDifwTtRnJlQAMRDhwB2W6e2_Fr4sRAKPTgw2qd8vikQnt8vVXvxOWIqSRlmI1O2LI9vybGWY" alt="" width="424px;" height="200px;" /><br />
Infine, Google sta anche aggiornando il dispositivo di <a href="https://market.android.com/details?id=com.google.android.apps.enterprise.dmagent">Google Apps Device Policy</a> per Android. La nuova versione offre agli utenti una maggiore trasparenza sulle informazioni disponibili per gli amministratori, e include il supporto per Android 4.0,Ice Cream Sandwich. Queste nuove funzionalità di gestione dei dispositivi mobili si implementeranno per i clienti a partire da questi e l’uscita sarà prevista nel giro di poche settimane. Vi invitiamo ad esplorare il <a href="http://www.google.com/support/a/bin/answer.py?answer=1734200">centro assistenza</a>per maggiori dettagli.</p>
<ul>
<li><a href="http://googleapps.miriade.it/mobile">Maggiori informazioni su Google Apps Mobile</a>!</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.miriade.it/index.php/2011/11/una-gestione-piu-flessibile-dei-dispositivi-mobili-con-google-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connessioni a sql server Due possibilità di azione</title>
		<link>http://blogdba.miriade.it/2011/11/connessioni-sql-server-due-possibilita.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=connessioni-a-sql-server-due-possibilita-di-azione</link>
		<comments>http://blogdba.miriade.it/2011/11/connessioni-sql-server-due-possibilita.html#comments</comments>
		<pubDate>Tue, 15 Nov 2011 23:00:00 +0000</pubDate>
		<dc:creator>midati</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Database administrator]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://blog.miriade.it/?guid=ab0d522663bbcdce7a7f609eac686dc2</guid>
		<description><![CDATA[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 operati...]]></description>
			<content:encoded><![CDATA[<p>
<div class="separator" style="clear: both; text-align: left;"><img border="0" src="http://3.bp.blogspot.com/-2GyMMr7swdE/TsOVYjDafpI/AAAAAAAAA8E/YVFUNMQ4HFg/s1600/Microsoft-SQL-Server.jpg" /></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Ogni tanto ci si blocca su problemi che diamo per scontati, quindi avere una rispolverata su come connettersi al SQL Server non fa male.</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Se ci si collega al server dove risiede il Sql Server, ci sono 2 opzioni:</div>
<ul>
<li>collegarsi con un utente di sistema operativo&nbsp;</li>
<li>collegarsi sia con un utente di sql server, sia con un utente di sistema operativo</li>
</ul>
<p><a name='more'></a></p>
<p>La scelta di tale opzione è fatta a livello di istanza di SQL Server.
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Per la connessione da remoto, bisogna abilitare il flag &#8220;<i>Allow remote connection</i>&#8221; che è un parametro di istanza.<br />Poi bisogna creare un ODBC (e controllare su SQL Server configuration Manager che siano abilitati i protocolli corretti)<br />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&#8217;istanza chiamata SQL2<br />che risponde alla porta 1888</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Bisogna fare i seguenti passi (per collegarsi ad un SQL server 2005):</div>
<ol>
<li>driver: SQL ServerNative Client</li>
<li>server : 192.XXX.XXX.XXX\SQL2,1888</li>
<li>identificazione sql server (con nome utente e password corretta)</li>
<li>&nbsp;scelta db.</li>
</ol>
<p>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Se non si mette la porta a cui risponde il sql server, nella configurazione dell&#8217;ODBC viene presentato un errore di connessione, sembra che non sia visibile dalla rete!</div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;"></div>
<div style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px;">Un Saluto,&nbsp;Giulia</div>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5121279670533436357-5252491205253058188?l=blogdba.miriade.it' alt='' /></div>
]]></content:encoded>
			<wfw:commentRss>http://blogdba.miriade.it/feeds/5252491205253058188/comments/default</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
	</channel>
</rss>

