<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5121279670533436357</id><updated>2015-09-17T09:15:48.247+02:00</updated><category term="Database administrator"/><category term="Large Amount of Data"/><category term="High Avaiability e Disaster Recovery"/><category term="Partitioning"/><category term="Sql Server"/><category term="database"/><category term="Partitioned Table"/><category term="how to"/><category term="cloud db"/><category term="DWH"/><category term="confio ignite"/><category term="Oracle"/><category term="Partition Column"/><category term="PostgreSQL"/><category term="Postgres"/><category term="etl"/><category term="odi"/><category term="CLRPFM"/><category term="as400"/><category term="bug"/><category term="datamart"/><category term="performance hog"/><category term="Error"/><category term="Error: 9002"/><category term="Facebook"/><category term="Job"/><category term="Kettle"/><category term="MGR_SERVERSTOPPINGEVENT"/><category term="MoSQL"/><category term="Oracle VM 3.2.2"/><category term="Severity: 17"/><category term="State: 2."/><category term="VLDB"/><category term="amazon web services"/><category term="full text search"/><category term="mysql"/><category term="news"/><category term="oracle vm"/><title type='text'>Data Base Blog</title><subtitle type='html'>by &lt;img src=&quot;https://lh6.googleusercontent.com/-ciublxV4o8A/UrAZdUwq34I/AAAAAAAABEw/HR5aSMYcS7c/w200-h45-no/Logo_MI-200_no+payoff.png&quot; alt=&quot;Miriade&quot; title=&quot;Miriade&quot;&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogdba.miriade.it/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default?max-results=8&amp;redirect=false'/><link rel='alternate' type='text/html' href='http://blogdba.miriade.it/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default?start-index=9&amp;max-results=8&amp;redirect=false'/><author><name>Miriade</name><uri>http://www.blogger.com/profile/10590762065069802941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>74</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>8</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5121279670533436357.post-1045514291425299502</id><published>2014-10-01T08:53:00.003+02:00</published><updated>2014-10-01T08:53:21.761+02:00</updated><title type='text'></title><content type='html'>&lt;center style=&quot;background-color: white; font-family: arial, verdana, helvetica, clean, sans-serif; font-size: 13px; line-height: 15.8599996566772px;&quot;&gt;&lt;h1 style=&quot;font-size: 1.9em; line-height: 1.22em; margin: 0px 0px 15px; padding: 0px;&quot;&gt;Open Enterprise: The PostgreSQL Open Source Database Blog from EnterpriseDB&lt;/h1&gt;&lt;/center&gt;&lt;div class=&quot;navigation&quot; style=&quot;background-color: white; color: #484848; font-family: arial, verdana, helvetica, clean, sans-serif; font-size: 13px; line-height: 15.8599996566772px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;alignleft&quot; style=&quot;line-height: 1.22em; margin: 0px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;alignright&quot; style=&quot;line-height: 1.22em; margin: 0px; padding: 0px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;br style=&quot;background-color: white; color: #484848; font-family: arial, verdana, helvetica, clean, sans-serif; font-size: 13px; line-height: 15.8599996566772px;&quot; /&gt;&lt;div class=&quot;post-2385 post type-post status-publish format-standard hentry category-mongodb category-nosql category-postgresql-9-4 category-uncategorized tag-mongodb-2 tag-postgresql&quot; id=&quot;post-2385&quot; style=&quot;background-color: white; color: #484848; font-family: arial, verdana, helvetica, clean, sans-serif; font-size: 13px; line-height: 15.8599996566772px; margin: 0px; padding: 0px;&quot;&gt;&lt;h2 style=&quot;font-size: 1.2em; line-height: 1.22em; margin: 0px 0px 5px; padding: 0px;&quot;&gt;&lt;a href=&quot;http://blogs.enterprisedb.com/2014/09/24/postgres-outperforms-mongodb-and-ushers-in-new-developer-reality/&quot; target=&quot;_blank&quot;&gt;Postgres Outperforms MongoDB and Ushers in New Developer Reality&lt;/a&gt;&lt;/h2&gt;&lt;br style=&quot;line-height: 1.22em;&quot; /&gt;&lt;br style=&quot;line-height: 1.22em;&quot; /&gt;&lt;div class=&quot;entry&quot; style=&quot;line-height: 1.22em; margin: 0px; padding: 0px;&quot;&gt;&lt;div style=&quot;line-height: 1.22em; margin-bottom: 10px; padding: 0px; text-align: justify;&quot;&gt;The newest round of performance comparisons of PostgreSQL and MongoDB produced a near repeat of the results from the first tests that proved PostgreSQL can outperform MongoDB. The advances Postgres has made with JSON and JSONB have transformed Postgres’ ability to support a document database.&lt;/div&gt;&lt;div style=&quot;line-height: 1.22em; margin-bottom: 10px; padding: 0px; text-align: justify;&quot;&gt;Creating document database capabilities in a relational database that can outperform the leading NoSQL-only solution is an impressive achievement. But perhaps more important is what this means to the end user – new levels of speed, efficiency and flexibility for developers with the protections of ACID compliance enterprises require for mission critical applications.&lt;/div&gt;&lt;div style=&quot;line-height: 1.22em; margin-bottom: 10px; padding: 0px 0px 0px 120px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.22em; margin-bottom: 10px; padding: 0px;&quot;&gt;&lt;b style=&quot;line-height: 1.22em;&quot;&gt;Postgres vs. Mongo&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.22em; margin-bottom: 10px; padding: 0px; text-align: justify;&quot;&gt;EnterpriseDB (EDB) began running comparative evaluations to help users correctly assess Postgres’ NoSQL capabilities. The initial set of tests compared MongoDB v2.6 to Postgres v9.4 beta, on single machine instances. Both systems were installed on Amazon Web Services M3.2XLARGE instances with 32GB of memory.&lt;/div&gt;&lt;div style=&quot;line-height: 1.22em; margin-bottom: 10px; padding: 0px; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.enterprisedb.com/sites/default/files/50Mil-chart.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.enterprisedb.com/sites/default/files/50Mil-chart.png&quot; height=&quot;240&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;span style=&quot;line-height: 15.8599996566772px;&quot;&gt;EDB found that Postgres outperforms MongoDB in selecting, loading and inserting complex document data in key workloads involving 50 million records:&lt;/span&gt;&lt;/div&gt;&lt;ul style=&quot;line-height: 15.8599996566772px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 15px 40px; padding: 0px;&quot;&gt;&lt;li style=&quot;line-height: 1.22em; list-style-image: url(http://blogs.enterprisedb.com/wp-content/themes/EnterpriseDB/images/common/bullet-lev1.gif); margin: 0px; padding: 0px 0px 5px; text-align: justify;&quot;&gt;Ingestion of high volumes of data was approximately 2.1 times faster in Postgres&lt;/li&gt;&lt;li style=&quot;line-height: 1.22em; list-style-image: url(http://blogs.enterprisedb.com/wp-content/themes/EnterpriseDB/images/common/bullet-lev1.gif); margin: 0px; padding: 0px 0px 5px; text-align: justify;&quot;&gt;MongoDB consumed 33% more the disk space&lt;/li&gt;&lt;li style=&quot;line-height: 1.22em; list-style-image: url(http://blogs.enterprisedb.com/wp-content/themes/EnterpriseDB/images/common/bullet-lev1.gif); margin: 0px; padding: 0px 0px 5px; text-align: justify;&quot;&gt;Data inserts took almost 3 times longer in MongoDB&lt;/li&gt;&lt;li style=&quot;line-height: 1.22em; list-style-image: url(http://blogs.enterprisedb.com/wp-content/themes/EnterpriseDB/images/common/bullet-lev1.gif); margin: 0px; padding: 0px 0px 5px;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;line-height: 1.22em;&quot;&gt;Data selection took more than 2.5 times longer in MongoDB than in Postgres&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;line-height: 1.22em;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.enterprisedb.com/sites/default/files/50Mil-Records-numeric.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.enterprisedb.com/sites/default/files/50Mil-Records-numeric.png&quot; height=&quot;102&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 15.8599996566772px; margin-bottom: 10px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 15.8599996566772px; margin-bottom: 10px; padding: 0px; text-align: justify;&quot;&gt;The data is almost identical to the results found in testing with&amp;nbsp;&lt;a href=&quot;http://bit.ly/EDB-NoSQL-Postgres-Benchmark&quot; style=&quot;color: #007dd7; line-height: 1.22em; text-decoration: none;&quot;&gt;10 million records&lt;/a&gt;. However, it’s important to note a Correction to earlier versions. PostgreSQL community member Alvaro Tortosa found that the MongoDB console does not allow for INSERT of documents &amp;gt; 4K. This led to truncation of the MongoDB size by approx. 25% of all records in the benchmark.&lt;/div&gt;&lt;div style=&quot;line-height: 15.8599996566772px; margin-bottom: 10px; padding: 0px; text-align: justify;&quot;&gt;We have published the testing framework for public scrutiny and invite input on the results and our methods as well as suggestions on new testing frameworks. The testing framework is located&amp;nbsp;&lt;a href=&quot;http://bit.ly/X0bfve&quot; style=&quot;color: #007dd7; line-height: 1.22em; text-decoration: none;&quot;&gt;here&lt;/a&gt;&amp;nbsp;on the EDB Github repository.&lt;/div&gt;&lt;div style=&quot;line-height: 15.8599996566772px; margin-bottom: 10px; padding: 0px; text-align: justify;&quot;&gt;&lt;b style=&quot;line-height: 1.22em;&quot;&gt;Developer Freedom&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 15.8599996566772px; margin-bottom: 10px; padding: 0px; text-align: justify;&quot;&gt;With the newest version, PostgreSQL has ushered in a new era of developer flexibility exceeding the freedom they discovered with NoSQL-only solutions. The use of niche solutions, like MongoDB, increased because developers needed freedom from the structured data model required by relational databases. They needed to move quickly and work with new data types. They choose powerful but limited solutions that addressed immediate needs, that let them make changes without having to wait for a DBA.&lt;/div&gt;&lt;div style=&quot;line-height: 15.8599996566772px; margin-bottom: 10px; padding: 0px;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;line-height: 15.8599996566772px;&quot;&gt;However, many organizations have discovered that successful applications often require structure down the road, as data becomes more valuable across the organization.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;line-height: 15.8599996566772px;&quot;&gt;Postgres gives developers broad new powers to start out unstructured, and then when the need arises, combine unstructured and structured data using the same database engine and within an ACID-compliant environment.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;line-height: 15.8599996566772px; margin-bottom: 10px; padding: 0px; text-align: justify;&quot;&gt;The code shows Postgres has the capability, and now our performance comparisons demonstrate Postgres can handle the loads.&lt;/div&gt;&lt;div style=&quot;line-height: 15.8599996566772px; margin-bottom: 10px; padding: 0px; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 15.8599996566772px; margin-bottom: 10px; padding: 0px;&quot;&gt;&lt;i style=&quot;line-height: 1.22em;&quot;&gt;By Marc Linster is Senior Vice President, Products and Services, at EnterpriseDB.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i style=&quot;line-height: 1.22em;&quot;&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdba.miriade.it/feeds/1045514291425299502/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blogdba.miriade.it/2014/10/open-enterprise-postgresql-open-source.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/1045514291425299502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/1045514291425299502'/><link rel='alternate' type='text/html' href='http://blogdba.miriade.it/2014/10/open-enterprise-postgresql-open-source.html' title=''/><author><name>Miriade</name><uri>http://www.blogger.com/profile/10590762065069802941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121279670533436357.post-6686174255813014506</id><published>2014-02-25T10:55:00.000+01:00</published><updated>2014-02-25T10:55:00.296+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="Database administrator"/><category scheme="http://www.blogger.com/atom/ns#" term="Large Amount of Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="Partitioned Table"/><category scheme="http://www.blogger.com/atom/ns#" term="Partitioning"/><category scheme="http://www.blogger.com/atom/ns#" term="performance hog"/><title type='text'>Quarta puntata - Bitmap Indexes</title><content type='html'>&lt;h1 dir=&quot;ltr&quot; id=&quot;docs-internal-guid-675f617a-9bc3-6db2-5cad-04342d912b56&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Trebuchet MS&#39;; font-size: 21px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Riprendiamo in questo post il racconto delle scelte effettuate in un nostro progetto reale per gestire grosse moli di dati. Dopo aver parlato del partitioning, affrontiamo qua il tema dei bitmap indexes, partendo da un’introduzione generale per poi vedere l’applicazione al nostro caso.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Trebuchet MS&#39;; font-size: 17px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Gli indici bitmap in generale&lt;/span&gt;&lt;/h2&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Gli indici bitmap sono uno strumento che chi si occupa di VLDB, ed in generale di datawarehouse, non può di certo ignorare. L’utilizzo degli indici bitmap, specie se usati in combinazione tra di loro, può aumentare notevolmente le performance nelle query di select con filtri.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Ma cosa sono gli indici bitmap?&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Gli indici normalmente utilizzati, e che vengono creati con la normale DDL “&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;create index…&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;” sono di tipo b-tree, ossia dei classici alberi di ricerca ben conosciuti da chiunque abbia studiato informatica.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Con un indice di tipo bitmap, invece, vengono create tante liste di bit quanti sono i possibili valori che sono assunti dal campo dell’indice. Supponiamo, ad esempio, di avere una tabella di ordini di acquisti e un campo con lo stato dell’ordine, che può assumere i valori APERTO, CHIUSO o DA CONFERMARE. Poniamo inoltre di avere le seguenti 5 righe.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;98&quot;&gt;&lt;/col&gt;&lt;col width=&quot;138&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;ORDINE&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;STATO&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;APERTO&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;CHIUSO&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;3&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;IN ATTESA&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;4&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;APERTO&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;5&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid #000000; padding: 7px 7px 7px 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;APERTO&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Oracle creerà le seguenti tre 3 liste di bit (uno per ognuno dei possibili valori del campo) per indicare le posizioni delle righe in cui quel valore è presente:&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;APERTO: &amp;nbsp;&amp;nbsp;&amp;nbsp;1 0 0 1 1&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;CHIUSO: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0 1 0 0 0&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;IN ATTESA: 0 0 1 0 0&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Queste liste vengono ovviamente modificate ad ogni insert, delete o update sulla tabella.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Da questa breve spiegazione su cosa è un indice bitmap seguono abbastanza intuitivamente le seguenti indicazioni su quandoè conveniente utilizzare un indice bitmap rispetto ad un indice b-tree. Un indice bitmap è conveniente quando:&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- la tabella è molto numerosa, mentre i possibili valori assunti dalla colonna sono limitati (caso tipico, i flag sì/no). Questo perchè per ogni valore viene creata una lista.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- la tabella non ha un’alta transazionalità. Infatti la modifica delle liste bitmap è sicuramente più dispendiosa della modifica su un albero.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- più indici bitmap vengono utilizzati sulla stessa tabella (ad esempio una select con CAMPO1=’A’ and CAMPO2=’B’, dove CAMPO1 e CAMPO2 sono campi su cui sono definiti due indici bitmap). La velocità è dovuta alla possibilità di utilizzare le operazioni binarie tra le liste di bit per le operazioni di “and” e “or”.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Sono anche facilmente comprensibili anche le seguenti limitazioni:&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- gli indici bitmap non possono essere definiti su un insieme di campi, ma solo un singolo campo.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- gli indici bitmap non possono essere funzionali.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- gli indici bitmap non vengono utilizzati nei filtri di tipo &amp;lt;,&amp;lt;=,&amp;gt;,&amp;gt;=,like ecc…&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- gli indici bitmap su tabelle partizionate devono essere locali alla partizione.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;A queste limitazioni se ne aggiunge un’altra di tipo non tecnico: è possibile utilizzare gli indici bitmap solo nella versione Enterprise di Oracle.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Come sempre rimandiamo alla documentazione ufficiale Oracle &lt;/span&gt;&lt;a href=&quot;http://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;&quot;&gt;http://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; per una trattazione più completa.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Trebuchet MS&#39;; font-size: 17px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Il nostro caso&lt;/span&gt;&lt;/h2&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Il caso concreto che stiamo raccontando in questa serie di post si prestava perfettamente all’utilizzo degli indici bitmap. Innanzitutto per la grande mole di dati. Inoltre, trattandosi di un datawarehouse, i problemi di performance non riguardavano i tempi di insert e update, quanto i tempi delle query di select generate durante il giorno dagli strumenti di analisi. Il numero di righe caricate ogni giorno, più di 400.000, certo non è esiguo, ma il caricamento avviene in un unico momento della giornata, e quindi i tempi necessari per aggiornare gli indici bitmap non rappresentano un problema.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Di seguito alcuni dei campi su cui abbiamo creato indici bitmap locali:&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- rete vendita (3 valori possibili)&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- causale di vendita (13 valori)&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- azienda (5 valori)&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- reparto (29 valori)&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;- categoria merceologica (1400 valori).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;In effetti, se si esclude un indice b-tree sul campo con la data di caricamento, tutti gli indici della tabella in questione sono di tipo bitmap.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Le performance, utilizzando gli indici bitmap, sono decisamente ottime e, insieme al partizionamento, portano, ad esempio la seguente query:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;select sum(VALCOSTOVENDUTO) from F_VENDITE&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;where ANNO=&#39;2013&#39; and MESE=&#39;12&#39; and RETEVENDCOD=555 and ECR2CANALECOD=&#39;022&#39; and CAUSALESTATCOD=&#39;RW&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;a rispondere in circa 0,6 secondi. &lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Non male, per una tabella di circa 500 milioni di righe.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Trebuchet MS&#39;; font-size: 17px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Prossima puntata&lt;/span&gt;&lt;/h2&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Nella prossima puntata parleremo di indici viste materializzate.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Ciao&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Paolo &lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdba.miriade.it/feeds/6686174255813014506/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blogdba.miriade.it/2014/02/quarta-puntata-bitmap-indexes.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/6686174255813014506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/6686174255813014506'/><link rel='alternate' type='text/html' href='http://blogdba.miriade.it/2014/02/quarta-puntata-bitmap-indexes.html' title='Quarta puntata - Bitmap Indexes'/><author><name>Dba Miriade</name><uri>http://www.blogger.com/profile/05439487050776749903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121279670533436357.post-8701242871489408134</id><published>2014-02-11T11:00:00.000+01:00</published><updated>2014-02-11T11:00:03.644+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="Database administrator"/><category scheme="http://www.blogger.com/atom/ns#" term="etl"/><category scheme="http://www.blogger.com/atom/ns#" term="Large Amount of Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="Partitioning"/><title type='text'>Terza puntata - Partitioning </title><content type='html'>&lt;div dir=&quot;ltr&quot; id=&quot;docs-internal-guid-675f617a-9bc2-5edf-5757-04aaa3cc3305&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Spiegate nella scorsa puntata le scelte riguardanti la modellazione della fact principale e l’ETL, parliamo questa settimana di uno degli strumenti principali che è bene utilizzare (quando il licensing Oracle lo permette) per gestire tabelle con grandi moli di dati.&lt;/span&gt;&lt;/div&gt;&lt;h2 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Trebuchet MS&#39;; font-size: 17px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Il partitioning in generale&lt;/span&gt;&lt;/h2&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Come ben noto, partizionare una tabella è una delle tecniche fondamentali nei VLDB. Il riferimento fatto sopra al licensing è dovuto al fatto che la possibilità di utilizzare il partitioning si ha solo con la versione Enterprise di Oracle e l’aggiunta dello opzione chiamata appunto “Partitioning”.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Da un punto di vista fisico, al posto di un unico segmento in cui vengono immagazzinati i record di una tabella, vengono creati segmenti distinti per ogni partizione (o sottopartizione nel caso di doppio livello di partitioning). Questo spesso permette all’ottimizzatore di Oracle, in modo totalmente trasparente per la sintassi lato utente, di andare a cercare i dati di interesse direttamente nel segmento che li contiene, piuttosto che eseguire un full scan su una tabella (e quindi un segmento) enormi. Permette anche all’ottimizzatore di parallelizzare in modo migliore le query, anche nel caso di full scan.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Anche gli indici possono essere partizionati o sotto-partizionati, ed è di solito conveniente utilizzare indici partizionati su tabelle partizionate. Il principio dal punto di vista fisico è sempre lo stesso delle tabelle, ossia avere tanti segmenti invece che un unico grande segmento unico. Un indice su una tabella partizionata può essere partizionato “localmente”, ossia seguire la stessa logica di partizionamento della tabella, oppure essere partizonato “globalmente”, cioè avere una logica di partizionamento indipendente.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Come vedremo in una delle prossime puntate, oltre che per le performance, la scelta del partitioning presenta notevoli vantaggi dal punto di vista della gestione di tabelle e indici. E’ possibile infatti eseguire alcune operazioni di tipo DDL su una singola partizione o sottopartizione) invece che sull’intera tabella o indice. Truncate, move, rebuild, drop sono solo alcuni esempi di queste operazioni.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Come sempre rimandiamo alla documentazione ufficiale Oracle &lt;/span&gt;&lt;a href=&quot;http://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #1155cc; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;&quot;&gt;http://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;per una trattazione completa del tema del partitioning, e passiamo alle scelte nel nostro caso concreto.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;h2 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Trebuchet MS&#39;; font-size: 17px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Il nostro caso&lt;/span&gt;&lt;/h2&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Avendo a disposizione la versione Enterprise o l’opzione Partitioning, la scelta di utilizzare il partitioning per la nostra tabella F_VENDITE è stata abbastanza scontata. Così come è stato abbastanza semplice scegliere i cui campi su cui effettuare il primo livello di partizionamento. E’ risultato evidente che la principale dimensione su cui sarebbero state effettuate le analisi sarebbe stata quella del tempo. Ossia i dati sarebbero stati sicuramente filtrati da una certa data in poi e raggruppati su un periodo temporale, o si sarebbero effettuati confronti mese su mese o anno su anno. Abbiamo quindi partizionato by range sulla coppia di colonne ANNO e MESE.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;La scelta di partizionare su ANNO e MESE avrebbe permesso inoltre (e lo vedremo in seguito) di trattare in modo diverso dati storici ormai non più movimentati e dati recenti ancora soggetti a modifiche.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Più complicata è stata la scelta del secondo livello di partizione. Diversi campi, infatti, erano buoni candidati per la scelta. Non avendo ancora un quadro completo delle analisi che sarebbero state effettuate, non è emersa una dimensione che sarebbe stata sempre utilizzata da tutti i report. Si è scelto comunque di sotto-partizionare by hash sulla dimensione del punto vendita, ma si sarebbe potuto fare probabilmente anche su altri campi, ad esempio rete di vendita o insegna.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Per quanto riguarda gli indici abbiamo creato tutti indici partizionati localmente, ossia con le stesse partizioni e sottopartizioni della tabella.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;h2 dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Trebuchet MS&#39;; font-size: 17px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;La sintassi&lt;/span&gt;&lt;/h2&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Di seguito riportiamo una parte della sintassi utilizzata per creare la tabella F_VENDITE e un indice.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;CREATE TABLE &amp;nbsp;&quot;F_VENDITE&quot;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;(&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;AZIENDACOD&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR2(3 CHAR),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;RETEVENDCOD&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR2(3 CHAR),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;ANNO&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR2(4 CHAR),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;MESE&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR2(2 CHAR),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;DATA&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR2(10 CHAR),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;PTOCONSEGNACOD&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR2(6 CHAR),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;ARTICOLO_SK&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NUMBER(*,0),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;ARTICOLOCOD&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR2(9 CHAR),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;ARTICOLOVARCOD&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR2(3 CHAR),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;FORNITOREULTIMOCARICO_SK&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;NUMBER(*,0),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;FORNITOREULTIMOCARICOCOD&quot; &amp;nbsp;&amp;nbsp;&amp;nbsp;VARCHAR2(7 CHAR),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;FORNITOREULTIMOCARICOVARCOD&quot; VARCHAR2(3 CHAR),&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;..... altri campi&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; PARTITION BY RANGE&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;(&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;ANNO&quot;,&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;MESE&quot;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;)&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;SUBPARTITION BY HASH&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;(&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;PTOCONSEGNACOD&quot;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;)&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;SUBPARTITION TEMPLATE&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;(&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SUBPARTITION &quot;SP1&quot;,&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SUBPARTITION &quot;SP2&quot;,&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SUBPARTITION &quot;SP3&quot;,&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SUBPARTITION &quot;SP4&quot;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;)&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;(&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PARTITION &quot;FACTVENDITE_201101&quot; VALUES LESS THAN (&#39;2011&#39;, &#39;02&#39;) &amp;nbsp;,&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PARTITION &quot;FACTVENDITE_201102&quot; VALUES LESS THAN (&#39;2011&#39;, &#39;03&#39;) &amp;nbsp;,&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PARTITION &quot;FACTVENDITE_201103&quot; VALUES LESS THAN (&#39;2011&#39;, &#39;04&#39;) &amp;nbsp;,&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PARTITION &quot;FACTVENDITE_201104&quot; VALUES LESS THAN (&#39;2011&#39;, &#39;05&#39;) &amp;nbsp;,&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PARTITION &quot;FACTVENDITE_201105&quot; VALUES LESS THAN (&#39;2011&#39;, &#39;06&#39;) &amp;nbsp;,&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;….... altre partizioni&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PARTITION &quot;FACTVENDITE_FUTURE&quot; VALUES LESS THAN (MAXVALUE, &#39;01&#39;) &lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;)&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt; &amp;nbsp;PARALLEL 4 ;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 13px; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;create index F_VENDITE_IDX01 on F_VENDITE (DATA) local;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 dir=&quot;ltr&quot; id=&quot;docs-internal-guid-675f617a-9bc3-c5c8-27d0-7305806f5dc3&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &#39;Trebuchet MS&#39;; font-size: 17px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;&quot;&gt;Prossima puntata&lt;/span&gt;&lt;/h2&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Nella prossima puntata parleremo di indici bitmap.&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;&quot;&gt;Ciao Paolo &lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdba.miriade.it/feeds/8701242871489408134/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blogdba.miriade.it/2014/02/terza-puntata-partitioning.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/8701242871489408134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/8701242871489408134'/><link rel='alternate' type='text/html' href='http://blogdba.miriade.it/2014/02/terza-puntata-partitioning.html' title='Terza puntata - Partitioning '/><author><name>Dba Miriade</name><uri>http://www.blogger.com/profile/05439487050776749903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121279670533436357.post-8856121644917529946</id><published>2014-01-21T11:00:00.001+01:00</published><updated>2014-01-22T10:27:59.948+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="Database administrator"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql Server"/><title type='text'>Funzione SQL OVER PARTITION </title><content type='html'>Spesso abbiamo il problema di eliminare dei &quot;duplicati&quot; su delle tabelle di database, o di raggruppare i dati secondo uno schema predeterminato e non c&#39;è la possibilità di usare strumenti evoluti di Business Intelligence come QlikView.&lt;br /&gt;&lt;br /&gt;Allora per MsSql Server ci può venire in aiuto la funzione OVER.&lt;br /&gt;&lt;span style=&quot;color: blue;&quot;&gt;OVER ( &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ &amp;lt;PARTITION BY clause&amp;gt; ]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ &amp;lt;ORDER BY clause&amp;gt; ] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ &amp;lt;ROW or RANGE clause&amp;gt; ]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Questa funzione permette di partizionare ed eventualmente ordinare&amp;nbsp; un set di righe prima dell&#39;applicazione di una funzione. In altre parole, la clausola OVER definisce una finestra o un set di righe specificato dall&#39;utente all&#39;interno di un set di risultati della query. &lt;br /&gt;Successivamente una funzione calcola un valore per ogni riga del set. È possibile utilizzare la clausola OVER con le funzioni per calcolare i valori aggregati, ad esempio medie, aggregazioni cumulative, totali parziali o i primi N risultati per gruppo. &lt;br /&gt;&lt;br /&gt;Le funzioni che si possono utilizzare sono ad esempio&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Funzioni di rango( ad esempio Rank, Row_number..)&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Funzioni di aggregazione (AVG,MIN, MAX, SUM, COUNT...)&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &lt;br /&gt;La clausola &lt;br /&gt;PARTITION BY&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Suddivide il set di risultati della query in partizioni. La funzione viene applicata a ogni singola partizione e il calcolo viene effettuato per ogni partizione.&lt;br /&gt;Si deve specificare la colonna (o più colonne)&amp;nbsp; secondo la quale il risultato della query viene partizionato. Ovviamente deve essere una (o più) colonne estratte dalla query.&lt;br /&gt;&lt;br /&gt;ORDER BY &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; E&#39; possibile definire l&#39;ordine logico delle righe di ogni partizione. Quindi specifica l&#39;ordine logico secondo il quale la funzione viene eseguita.&lt;br /&gt;&lt;br /&gt;ROWS | RANGE&lt;br /&gt;&amp;nbsp;&amp;nbsp; Limita ulteriormente le righe all&#39;interno della partizione specificando i punti iniziali e finali.&lt;br /&gt;La clausola ROWS limita le righe all&#39;interno di una partizione  specificando un numero fisso di righe precedenti o successive alla riga  corrente.&lt;br /&gt;In alternativa, la clausola RANGE limita logicamente le righe  all&#39;interno di una partizione specificando un intervallo di valori  rispetto al valore nella riga corrente. Le righe sono determinate come precedenti o successive secondo la definizione data dall&#39; ORDER BY.&lt;br /&gt;Ad Esempio ROWS BETWEEN 2 PRECEDING AND CURRENT ROW significa che la finestra di righe a cui viene applicata la funzione è  di tre righe, a partire dalle 2 righe precedenti fino alla riga corrente  inclusa.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Esempio:&lt;/u&gt;&lt;br /&gt;Abbiamo una tabella chiamata DatiTimbrature che indica gli accessi a un posto di lavoro, effettuati tramite tessera.&lt;br /&gt;Le colonne della tabella&amp;nbsp; sono Cod_tessera, Codice_Sede_Lavoro, Matricola e&amp;nbsp; TimeStamp che indica l&#39;orario di timbratura.&lt;br /&gt;Se vogliamo eliminare gli accessi che sono duplicati, ovvero che sono&amp;nbsp; stati registrati all&#39;interno di 1 minuto, possiamo usare la funzione OVER raggruppando per&amp;nbsp; Cod_tessera, Codice_Sede_Lavoro, Matricola e prendendo il minimo timeStamp quando ho due record che differiscono di 60 secondi.&lt;br /&gt;Ecco come si scrive:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: blue;&quot;&gt;select [Cod_tessera]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Codice_Sede_Lavoro]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Matricola]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,max_temp as orario_entrata&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select *&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,(max_temp -min_temp)as delta&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,datediff (second,max_temp ,min_temp) as secdeltaint&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SELECT [Cod_tessera] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Codice_Sede_Lavoro]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Matricola]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[TimeStamp]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , min([TimeStamp]) OVER(PARTITION BY [Cod_tessera] ,[Codice_Sede_Lavoro],[Matricola] ) AS min_temp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , max([TimeStamp]) OVER(PARTITION BY [Cod_tessera] ,[Codice_Sede_Lavoro],[Matricola] ) AS man_temp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM [dbo].[DatiTimbrature]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )as g&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )as w&lt;br /&gt;&lt;br /&gt;where secdeltaint&amp;nbsp;&amp;nbsp; between -60 and -0.1&lt;br /&gt;group by&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Cod_tessera]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Codice_Sede_Lavoro]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Matricola]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , max_temp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ciao&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Giulia &lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdba.miriade.it/feeds/8856121644917529946/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blogdba.miriade.it/2014/01/funzione-sql-over-partition.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/8856121644917529946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/8856121644917529946'/><link rel='alternate' type='text/html' href='http://blogdba.miriade.it/2014/01/funzione-sql-over-partition.html' title='Funzione SQL OVER PARTITION '/><author><name>Dba Miriade</name><uri>http://www.blogger.com/profile/05439487050776749903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121279670533436357.post-6420430318913737780</id><published>2013-12-10T10:33:00.000+01:00</published><updated>2013-12-10T10:33:00.377+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DWH"/><category scheme="http://www.blogger.com/atom/ns#" term="Error: 9002"/><category scheme="http://www.blogger.com/atom/ns#" term="High Avaiability e Disaster Recovery"/><category scheme="http://www.blogger.com/atom/ns#" term="Large Amount of Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Severity: 17"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql Server"/><category scheme="http://www.blogger.com/atom/ns#" term="State: 2."/><title type='text'>Come tenere sotto controllo il transaction log</title><content type='html'>&lt;!--[if !mso]&gt;&lt;style&gt;v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} &lt;/style&gt;&lt;![endif]--&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:WordDocument&gt;  &lt;w:View&gt;Normal&lt;/w:View&gt;  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;  &lt;w:TrackMoves&gt;false&lt;/w:TrackMoves&gt;  &lt;w:TrackFormatting/&gt;  &lt;w:HyphenationZone&gt;14&lt;/w:HyphenationZone&gt;  &lt;w:PunctuationKerning/&gt;  &lt;w:ValidateAgainstSchemas/&gt;  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;  &lt;w:DoNotPromoteQF/&gt;  &lt;w:LidThemeOther&gt;IT&lt;/w:LidThemeOther&gt;  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;  &lt;w:Compatibility&gt;   &lt;w:BreakWrappedTables/&gt;   &lt;w:SnapToGridInCell/&gt;   &lt;w:WrapTextWithPunct/&gt;   &lt;w:UseAsianBreakRules/&gt;   &lt;w:DontGrowAutofit/&gt;   &lt;w:SplitPgBreakAndParaMark/&gt;   &lt;w:DontVertAlignCellWithSp/&gt;   &lt;w:DontBreakConstrainedForcedTables/&gt;   &lt;w:DontVertAlignInTxbx/&gt;   &lt;w:Word11KerningPairs/&gt;   &lt;w:CachedColBalance/&gt;  &lt;/w:Compatibility&gt;  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;m:mathPr&gt;   &lt;m:mathFont m:val=&quot;Cambria Math&quot;/&gt;   &lt;m:brkBin m:val=&quot;before&quot;/&gt;   &lt;m:brkBinSub m:val=&quot;&amp;#45;-&quot;/&gt;   &lt;m:smallFrac m:val=&quot;off&quot;/&gt;   &lt;m:dispDef/&gt;   &lt;m:lMargin m:val=&quot;0&quot;/&gt;   &lt;m:rMargin m:val=&quot;0&quot;/&gt;   &lt;m:defJc m:val=&quot;centerGroup&quot;/&gt;   &lt;m:wrapIndent m:val=&quot;1440&quot;/&gt;   &lt;m:intLim m:val=&quot;subSup&quot;/&gt;   &lt;m:naryLim m:val=&quot;undOvr&quot;/&gt;  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt; &lt;w:LatentStyles DefLockedState=&quot;false&quot; DefUnhideWhenUsed=&quot;true&quot;   DefSemiHidden=&quot;true&quot; DefQFormat=&quot;false&quot; DefPriority=&quot;99&quot;   LatentStyleCount=&quot;267&quot;&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;0&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Normal&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;heading 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 7&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 8&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 9&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 7&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 8&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 9&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;35&quot; QFormat=&quot;true&quot; Name=&quot;caption&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;10&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Title&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; Name=&quot;Default Paragraph Font&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;11&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtitle&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;22&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Strong&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;20&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Emphasis&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;59&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Table Grid&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Placeholder Text&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;No Spacing&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Revision&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;34&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;List Paragraph&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;29&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Quote&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;30&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Quote&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 1&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 2&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 3&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 4&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 5&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 6&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;19&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Emphasis&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;21&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Emphasis&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;31&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Reference&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;32&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Reference&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;33&quot; SemiHidden=&quot;false&quot;    UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Book Title&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;37&quot; Name=&quot;Bibliography&quot;/&gt;  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; QFormat=&quot;true&quot; Name=&quot;TOC Heading&quot;/&gt; &lt;/w:LatentStyles&gt;&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;&lt;style&gt; /* Style Definitions */  table.MsoNormalTable  {mso-style-name:&quot;Tabella normale&quot;;  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:&quot;&quot;;  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin-top:0cm;  mso-para-margin-right:0cm;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0cm;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-fareast-language:EN-US;} &lt;/style&gt;&lt;![endif]--&gt; &lt;br /&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Dba e non, tutti coloro che han a che fare con qualsivoglia&amp;nbsp; versione di Sql Server, si sono imbattuti nel seguente errore:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Error: 9002, Severity: 17, State: 2.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;The transaction log for database &#39;MyDB&#39; is full.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Per scoprire, almeno una volta tanto il motivo per cui&amp;nbsp; lo spazio nel log non può essere riutilizzato, basta estrarsi la colonna log_reuse_wait_desc della tabella sys.databases.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;&quot;Ma, ma, ma ...&quot; mormora il tecnico che ha appena ricevuto un’altra strigliata dal capo o dagli utenti… &quot;I backup dei log sono in esecuzione, perché è il log si è riempito?&quot; &lt;br /&gt;Beh, &amp;nbsp;il&amp;nbsp; backup dei log mancante o fallito è solo uno dei motivi per cui un&amp;nbsp; transaction log &lt;/span&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;si riempie.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;background-attachment: scroll; background-clip: border-box; background-image: none; background-origin: padding-box; background-position: 0% 0%; background-repeat: repeat; background-size: auto auto; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;Altra cosa che si tenta di fare, per non avere questo sgradevole problema è mettere in db in recovery mode simple….Lasciando così gestire a Sql server i log, e non potendo &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;così farne il backup per poterli poi shrinkare.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Ci sono diverse altre possibili cause. &lt;br /&gt;&lt;span style=&quot;background: white;&quot;&gt;Da dove cominciare? &lt;br /&gt;Facciamo una query sulla tabella sys.databases nel db incriminato, &amp;nbsp;&amp;nbsp;per vedere il valore della colonna log_reuse_wait_desc . &lt;br /&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;DECLARE @ DatabaseName VARCHAR (50); &lt;br /&gt;&amp;nbsp;SET @ DatabaseName = &#39;&lt;/span&gt;&lt;/i&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt; MyDB&lt;span style=&quot;background: white;&quot;&gt; &#39; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;SELECT name, recovery_model_desc, log_reuse_wait_desc &lt;br /&gt;&amp;nbsp;&amp;nbsp; FROM&amp;nbsp; sys.databases &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHERE Name = @ DatabaseName&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;Il valore della colonna log_reuse_wait_desc mostra il motivo per cui lo spazio attualmente utilizzato dai log &amp;nbsp;non può essere riutilizzato. &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;E&#39; possibile ci sia più di un motivo per cui&amp;nbsp; non si riesca a riutilizzare il log, ma nella tabella &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Sys.databases ne è visualizzato solo uno. &lt;span style=&quot;background: white;&quot;&gt;Quindi leggendo questa tabella di sistema è possibile risolvere almeno un problema. Basterà poi lanciare un’altra query sulla stessa tabella sys.databases &amp;nbsp;e controllare nuovamente se c’è un &amp;nbsp;diverso motivo per il mancato &amp;nbsp;riutilizzo dei&amp;nbsp; log. &lt;br /&gt;I valori possibili per log_reuse_wait_desc sono elencati nella documentazione on line di Microsoft Sql Server. &amp;nbsp;Ma prima di arrivare a una spiegazione dei vari motivi, un breve excursus &amp;nbsp;di teoria. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;u&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Architettura &amp;nbsp;dei Transaction log&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;Il log delle transazioni è un file circolare, che è diviso internamente in un certo numero di file di log virtuale (VLF). SQL scrive le voci di log in sequenza nei VLF. Quando un VLF si riempie, SQL si muove a quello successivo. Quando raggiunge la fine del file, (in teoria) riparte da capo e iniziare a utilizzare il &amp;nbsp;primo VLF (e quindi circolare). &lt;br style=&quot;mso-special-character: line-break;&quot; /&gt;&lt;br style=&quot;mso-special-character: line-break;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Un VLF può trovarsi in uno dei seguenti due stati: &lt;br /&gt;1. Attivo &lt;br /&gt;&lt;span style=&quot;background: white;&quot;&gt;2. &lt;/span&gt;Inattivo &lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;background: white;&quot;&gt;Attivo &lt;br /&gt;Un VLF attivo è quello che contiene uno o più record di log che sono necessari per il motore del database. I record di log possono &amp;nbsp;contenere informazioni riguardanti operazioni attive, &amp;nbsp;record di log che sono necessari per la replica o il mirroring, oppure &amp;nbsp;necessari per un backup, o&amp;nbsp; associate a cambiamenti che non sono ancora state scritte nel file di dati, ecc &lt;/span&gt;. &lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;background: white;&quot;&gt;Inattivo &lt;br /&gt;Un VLF inattivo non contiene record di log necessari per il motore di database: non ci sono transazioni attive, i record di log non sono necessari per la replica o il mirroring e tutti i cambiamenti associati a quei &amp;nbsp;record di log&amp;nbsp; sono stati scritti nel file di dati. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Se il database è in &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;full o bulk-logged&lt;span style=&quot;background: white;&quot;&gt; &amp;nbsp;recovery mode questi sono i VLF di cui è stato eseguito il backup, se il database è in simple i VLF inattivi sono quelli che hanno subito checkpoint.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;u&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Riutilizzo dei log&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt; &lt;br /&gt;Perché&amp;nbsp; un VLF possa &amp;nbsp;essere riutilizzato da SQL, ha bisogno di essere inattivo. Se tutte le VLF nel registro sono attive e SQL ha riempito quella che sta scrivendo, il transaction log &amp;nbsp;crescerà o, se non può crescere, alla prima modifica dei dati verrà generato un errore 9002. (Il log delle transazioni per il database &#39;MyDB’ &amp;nbsp;è pieno) &lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;L&#39;atto di segnare uno o più VLF&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;come inattivo è generalmente chiamato troncamento del log (log truncation). Malgrado sia stato utilizzato da Microsoft questo termine, quello che succede con un truncation non&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;è un’accorciamento…non si riduce lo spazio utilizzato, viene solo reso disponibile lo spazio per il riutilizzo . Quindi se il nostro log era già da 10 GB, dopo il troncamento, sarà ancora da 10 GB.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;&lt;u&gt;Cause di ritardo del troncamento dei log&lt;/u&gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Questi sono&amp;nbsp; i principali motivi di mancato &amp;nbsp;di riutilizzo log che si possono trovare nelle colonne &lt;/span&gt;&lt;span style=&quot;font-size: 12.0pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT; mso-hansi-font-family: Calibri;&quot;&gt;log_reuse_wait&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt; e &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12.0pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT; mso-hansi-font-family: Calibri;&quot;&gt;log_reuse_wait_desc&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt; della vista&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&amp;nbsp;sys.databases.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;&lt;u&gt;&lt;span style=&quot;background: white;&quot;&gt;Active transaction&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;background: white;&quot;&gt;&lt;br /&gt;Il trancaction log ovviamente è attivo se &amp;nbsp;c&#39;è una transazione aperta che sta mantenendo la VLF attivo. &lt;br /&gt;Con i &amp;nbsp;due comandi DBCC OPENTRAN e sys.dm_exec_sessions potremmo individuare la fonte della transazione aperta. Però questo motivo è insito nella vita del database.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;DBCC OPENTRAN elenca le &amp;nbsp;informazioni &amp;nbsp;della più vecchia transazione aperta nel database. &lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Esempio:&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;SPID (server ID di processo): 51 &lt;span style=&quot;background: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background: white;&quot;&gt;UID (user ID): -1 &lt;/span&gt;&lt;span style=&quot;background: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background: white;&quot;&gt;Nome: user_transaction &lt;/span&gt;&lt;span style=&quot;background: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;LSN: (10861:3200:1) &lt;span style=&quot;background: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background: white;&quot;&gt;Ora di inizio: 14 GENNAIO 2013 1:04:26:017 AM &lt;/span&gt;&lt;span style=&quot;background: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background: white;&quot;&gt;SID: 0x0105000000000005150000002e86f8cbc457a001b905c7e95e040000 &lt;/span&gt;&lt;span style=&quot;background: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background: white;&quot;&gt;Esecuzione DBCC completata. Se DBCC stampata i messaggi di errore, contattare l&#39;amministratore di sistema. &lt;/span&gt;&lt;span style=&quot;background: red;&quot;&gt;&lt;br style=&quot;mso-special-character: line-break;&quot; /&gt;&lt;br style=&quot;mso-special-character: line-break;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;In questo esempio, la connessione con SPID 51 ha avuto una transazione aperta dal 01:04 del 14 gennaio. Mentre non c&#39;è nulla &amp;nbsp;che ci permetta di&amp;nbsp; identificare chi gestisce tale operazione,ma &amp;nbsp;la SPID può essere utilizzato insieme con alcuni dei DMV per ottenere tali informazioni. &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;SELECT program_name, original_login_name, st.text &lt;/span&gt;&lt;/i&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span style=&quot;background: red; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;from sys.dm_exec_sessions es &lt;/span&gt;&lt;/i&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span style=&quot;background: red; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;INNERJOIN sys.dm_exec_connections ec &lt;/span&gt;&lt;/i&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span style=&quot;background: red; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;ON es.session_id = ec.session_id &lt;span style=&quot;background: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CROSSAPPLY sys.dm_exec_sql_text (ec.most_recent_sql_handle) st &lt;span style=&quot;background: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;where ec.session_id = 51 &lt;span style=&quot;background: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;background: red; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Questo dovrebbe fornirci &amp;nbsp;abbastanza informazioni per prendere una decisione se killare la connessione, o attendere che finisca se è troppo importante per essere killata. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Checkpoint&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt; &lt;br /&gt;&lt;span style=&quot;background: white;&quot;&gt;Il &amp;nbsp;&lt;/span&gt;checkpoint log reuse wait &lt;span style=&quot;background: white;&quot;&gt;dovrebbe essere una condizione transitoria della maggior parte dei casi. E’ però più comunemente osservabile &amp;nbsp;in un recovery mode simple. &lt;br /&gt;SQL Server esegue automaticamente i &lt;/span&gt;Checkpoint &lt;span style=&quot;background: white;&quot;&gt;&amp;nbsp;a intervalli regolari per mantenere il numero di record di log di cui ha &amp;nbsp;bisogno per un eventuale ripristino del database. &lt;/span&gt;Viene eseguito &amp;nbsp;il Checkpoint &amp;nbsp;per una serie di altre ragioni. &lt;span style=&quot;background: white;&quot;&gt;Per una lista completa, vedere &lt;/span&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms188748.aspx&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;http://msdn.microsoft.com/en-us/library/ms188748.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background: white;&quot;&gt; &lt;br /&gt;Se il &lt;/span&gt;checkpoint log reuse wait &lt;span style=&quot;background: white;&quot;&gt;&amp;nbsp;appare frequentemente &amp;nbsp;potrebbe indicare che ci sono problemi di i/o o che vi sono un gran numero di pagine modificate che il checkpoint deve processare.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;B&lt;span style=&quot;background: white;&quot;&gt;ackup del database&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;br /&gt;La parte attiva del log &amp;nbsp;è necessaria &amp;nbsp;per il backup del database, dato che il backup deve includere almeno una parte di log tale a&amp;nbsp; garantire un restore&amp;nbsp; coerente. &amp;nbsp;Come tale, &amp;nbsp;un backup del database &amp;nbsp;che duri a lungo può causare la crescita del transaction log,&amp;nbsp; poiché&amp;nbsp; aumenteranno&amp;nbsp; le dimensioni del log necessarie che vengono trattenute durante tutto il tempo di esecuzione del backup. Per questo avere dei tempi di backup limitati è altamente consigliato.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Bisogna quindi ottimizzare i backup stessi (ottimizzazione del sottosistema di I / O, fare &amp;nbsp;striping di backup su dispositivi multipli), o utilizzare backup compresso sia in modo nativo (SQL 2008 Enterprise, SQL Server 2008 R2 Enterprise ed edizioni Standard) o tramite uno strumento di terze parti . &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;u&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Backup dei log&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt; &lt;b&gt;&lt;br /&gt;I backup del log sono il modo più veloce per poter effettuare &amp;nbsp;il riutilizzo dei log&lt;/b&gt;. Nei recovery mode full e bulk-logged , il &amp;nbsp;VLF non può essere contrassegnato come inattivo fino a quando tutti i record del VLF non siano stati sottoposti a backup. Il lo&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;g backup wait &lt;span style=&quot;background: white;&quot;&gt;non apparirà mai in un db con recovery mode simple . &lt;br /&gt;Se vedete questo motivo nella tabella XXX, verificate che i backup dei log siano correttamente pianificati e siano efficaci. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;&quot;&gt;&lt;b&gt;Una volta che abbiamo quindi capito i motivi che possono rallentare il troncamento dei log ( e li abbiamo evitati), potremmo lanciare il comando che effettivamente libera lo spazio occupato dai log inattivi:&lt;br /&gt;&lt;br /&gt;DBCC SHRINKFILE (nome_logico_file_di_log);&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;&quot;&gt;Quindi&amp;nbsp; c’è sempre il modo, efficace di analizzare come mai il log è attivo, renderlo inattivo e&amp;nbsp; fare uno shrink dei log in modo da tenere sotto controllo quei log che arrivavano anche a 100 GB.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Ciao &lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;&lt;span style=&quot;background: white; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;Giulia&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: IT;&quot;&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdba.miriade.it/feeds/6420430318913737780/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blogdba.miriade.it/2013/12/come-tenere-sotto-controllo-il.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/6420430318913737780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/6420430318913737780'/><link rel='alternate' type='text/html' href='http://blogdba.miriade.it/2013/12/come-tenere-sotto-controllo-il.html' title='Come tenere sotto controllo il transaction log'/><author><name>Dba Miriade</name><uri>http://www.blogger.com/profile/05439487050776749903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121279670533436357.post-5874993513711183338</id><published>2013-12-05T16:42:00.002+01:00</published><updated>2013-12-05T16:44:49.901+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PostgreSQL"/><title type='text'>PostgreSQL maintenance release</title><content type='html'>&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #222222; font-weight: normal;&quot;&gt;Oggi, 5 Dicembre, PostgreSQL Global Development Group ha rilasciato un fix molto importante, che richiede l&#39;&lt;/span&gt;&lt;span style=&quot;color: #222222;&quot;&gt;&lt;b&gt;immediato update del database &lt;/b&gt;a tutti gli users.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: #222222;&quot;&gt;In a nutshell, leggete qui sotto le tematiche interessate dall&#39;update che Matteo, il nostro DBA Guru, ci ha sintetizzato:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;span style=&quot;color: #222222; font-weight: normal;&quot;&gt;&quot;Chiunque usi la replicazione o il backup a caldo di Postgres (che implica il meccanismo di point in time recovery in caso appunto di restore e recover), deve urgentemente upgradare alle versioni ultime di fix:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;9.3.2, 9.2.6, 9.1.11, 9.0.15, and 8.4.19.&quot;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;gt;&lt;a href=&quot;http://www.postgresql.org/about/news/1492/&quot; target=&quot;_blank&quot;&gt; Leggi il comunicato originale&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;gt; &lt;a href=&quot;https://wiki.postgresql.org/wiki/Nov2013ReplicationIssue&quot; target=&quot;_blank&quot;&gt;Più informazioni sulla Replication&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&amp;gt; &lt;a href=&quot;http://www.postgresql.org/docs/current/static/release.html&quot; target=&quot;_blank&quot;&gt;Release note&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;background-color: white; line-height: 1.2em; margin: 1.2em 0em;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;A breve l&#39;oracolo ci darà informazioni più dettagliate. Stay tuned!&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; line-height: 1.2em; margin: 1.2em 0em;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; font-family: verdana, sans-serif; font-size: 11px; line-height: 1.2em; margin: 1.2em 0em;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; font-family: verdana, sans-serif; font-size: 11px; line-height: 1.2em; margin: 1.2em 0em;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; font-family: verdana, sans-serif; font-size: 11px; line-height: 1.2em; margin: 1.2em 0em;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdba.miriade.it/feeds/5874993513711183338/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blogdba.miriade.it/2013/12/postgresql-maintenance-release.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/5874993513711183338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/5874993513711183338'/><link rel='alternate' type='text/html' href='http://blogdba.miriade.it/2013/12/postgresql-maintenance-release.html' title='PostgreSQL maintenance release'/><author><name>Miriade</name><uri>http://www.blogger.com/profile/10590762065069802941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121279670533436357.post-5374049983884501361</id><published>2013-12-03T11:00:00.000+01:00</published><updated>2013-12-03T11:00:09.650+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="confio ignite"/><title type='text'>Confio Ignite | Quinta puntata: Lo Scaricabarile</title><content type='html'>&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-JpippCNMJJo/UnZ9Bwwte3I/AAAAAAAAAn4/6ZWBebu24GE/s1600/blame-o-saurus.png&quot; height=&quot;320&quot; width=&quot;271&quot; /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.1500000000000001; margin-bottom: 10pt; margin-top: 0pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;display: inline !important; line-height: 1.1500000000000001; margin-bottom: 10pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Una delle giornate tipiche nel dipartimento IT dell’azienda medio grande: un p&lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot; style=&quot;font-weight: normal; line-height: 1.1500000000000001;&quot;&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;rogetto va male, tutti in crisi per il ritardo e per l&#39;incapacità di capire l&#39;origine della problematica. La produzione riscontra un calo – dal giorno prima ci sono strani fenomeni, mai riscontrati prima, evidente calo di produttività, management infuriato per la sospettata perdita economica. Tensione, panico, le ricerca delle problematiche si sussegue, riunioni che non portano risoluzione, verbali che inseguono il colpevole. &lt;/span&gt;&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.1500000000000001; margin-bottom: 10pt; margin-top: 0pt;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;span style=&quot;font-family: inherit; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Hanno toccato la rete? No, è &amp;nbsp;il codice! La colpa è della nuova release  dell&#39;applicativo? No, il problema sta nel database! Manca un indice? Le statistiche? Tabelle da ricostruire? No, no, è colpa dello storage – &amp;nbsp;dischi non rispondono bene! &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.1500000000000001; margin-bottom: 10pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Il vero problema si perde nel caos delle informazioni puramente soggettive, mentre la sensazione di impotenza cresce sempre più. Si punta il dito, volano insulti, si arriva alle tirate di capelli senza risolvere niente. Osservando queste riunioni mi viene sempre in mente il popolarissimo gioco “Attacca la coda all’asino” dove un concorrente bendato e disorientato cerca di incollare la coda ad una sagoma di un asino, provando ad avvicinarsi il piú possibile al suo posto “naturale”. Il giocatore quasi sempre non appende la coda al posto giusto perché non puó aiutarsi esplorando la sagoma con le mani, e fa divertire chi assiste all&#39;esilarante spettacolo.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.1500000000000001; margin-bottom: 10pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Per non sbagliare basterebbe poter “vedere”: vale a dire, tornando al nostro contesto, poter combattere l&#39;informazione soggettiva con i fatti, affiancare l’intuizione con indizi e prove indiscutibili. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.1500000000000001; margin-bottom: 10pt; margin-top: 0pt;&quot;&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Il database è un naturale crocevia di problematiche diverse. Un bravo DBA Senior riesce trovare le tracce giuste, interpretarle e dimostrare con prove o indizi la risoluzione problemi, che interessano sia l&#39;hardware che il software. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Confio Ignite sostiene questi bravi DBA con un tool intuitivo e semplice, che anche un manager è in grado di leggere, contribuendo alla collaborazione tra diversi team IT e fornitori esterni, condividendo velocemente le informazioni e la vera natura tecnica dei problemi.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit; line-height: 1.1500000000000001; white-space: pre-wrap;&quot;&gt;La collaborazione nell’azienda non è mai facile perché i vari team spesso perseguono obiettivi diversi: &amp;nbsp;gli sviluppatori hanno in sè il seme del cambiamento, mentre il gruppo di assistenza alla produzione richiede stabilità. Tuttavia la possibilità di riconoscere e circoscrivere bene i problemi aiuta queste persone a concentrarsi sul caso pratico ed evitare inutili dibattiti. Confio Ignite può essere utilizzato in piena autonomia dagli sviluppatori, ingegneri QA e personale dell’IT management. I dati e i grafici sono visibili in sola lettura ma con la possibilità di piena analisi ed esplorazione. DBA mantiene il controllo al 100% ma gli sviluppatori possono controllare performance del loro codice in autonomia, gli ingegneri QA sono in grado di trovare iproblemi prima del rilascio in produzione e l&#39;IT management riesce interpretare i fenomeni tecnici.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;font-weight: normal; line-height: 1.1500000000000001; margin-bottom: 10pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;span style=&quot;font-weight: bold; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Un miglioramento che si traduce in una migliore erogazione dei servizi e più rapido time-to-market.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-weight: bold; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;white-space: pre-wrap;&quot;&gt;Vuoi rivedere il video del webinar che si è tenuto il 27 Novembre? &lt;/span&gt;&lt;a href=&quot;http://youtu.be/yRAvunwHfTE&quot; style=&quot;white-space: pre-wrap;&quot; target=&quot;_blank&quot;&gt;Watch now!&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;b&gt;GUARDA I QUICK VIDEOS&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;font-weight: normal; line-height: 1.1500000000000001; margin-bottom: 10pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Performance Monitoring for Development and Operations&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;//www.youtube.com/embed/u2QyP-noKuo&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;display: inline !important; font-weight: normal; line-height: 1.1500000000000001; margin-bottom: 10pt; margin-top: 0pt;&quot;&gt;&lt;div style=&quot;display: inline !important;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b id=&quot;docs-internal-guid-18cc216e-1eac-257b-7c55-ea17f1766460&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;SCARICA IL WHITE PAPER: &lt;a href=&quot;http://www.confio.com/media/351905/DevOps_Essentials_DBAs_%20Developers_WP_Confio_Feb2013.pdf&quot; target=&quot;_blank&quot;&gt;Five DevOps Essentials for Better DBA and Developer Collaboration&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;SCARICA IL CASE: &lt;a href=&quot;http://www.confio.com/media/323164/Dev-Database-Operations_CaseStudy_ConfioSoftware_Jan2013.pdf&quot; target=&quot;_blank&quot;&gt;Database and Application Development Best Practices&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style=&quot;line-height: normal;&quot;&gt;&lt;a href=&quot;http://www.confio.com/ignite-download/?source=miriade&quot; target=&quot;_blank&quot;&gt;SCARICA LA FREE TRIAL!&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Agnieszka&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;font-weight: normal; line-height: 1.1500000000000001; margin-bottom: 10pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href=&quot;http://www.confio.com/media/323164/Dev-Database-Operations_CaseStudy_ConfioSoftware_Jan2013.pdf&quot; style=&quot;font-weight: normal; text-decoration: none;&quot;&gt;&lt;span style=&quot;color: black; font-family: Calibri; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdba.miriade.it/feeds/5374049983884501361/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blogdba.miriade.it/2013/12/confio-ignite-quinta-puntata-lo.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/5374049983884501361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/5374049983884501361'/><link rel='alternate' type='text/html' href='http://blogdba.miriade.it/2013/12/confio-ignite-quinta-puntata-lo.html' title='Confio Ignite | Quinta puntata: Lo Scaricabarile'/><author><name>Miriade</name><uri>http://www.blogger.com/profile/10590762065069802941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-JpippCNMJJo/UnZ9Bwwte3I/AAAAAAAAAn4/6ZWBebu24GE/s72-c/blame-o-saurus.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5121279670533436357.post-453324166597836021</id><published>2013-11-25T11:09:00.000+01:00</published><updated>2013-11-25T11:09:09.098+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="amazon web services"/><category scheme="http://www.blogger.com/atom/ns#" term="PostgreSQL"/><title type='text'>PostgreSQL RDS How To</title><content type='html'>&lt;b id=&quot;docs-internal-guid-1dea3528-8ea4-1152-1a90-2823be510ff6&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea4-1152-1a90-2823be510ff6&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Sull’onda delle novità introdotte da AWS fra Ottobre e Novembre, un breve tutorial tutto dedicato ai DBA per usare le potenzialità di PostgreSQL RDS. &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea4-1152-1a90-2823be510ff6&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;display: inline !important; line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Amazon da qualche tempo offre PostgreSQL (per ora 9.3) come servizio RDS; &amp;nbsp;in altre parole, il database viene offerto come servizio DBaaS, alleggerendo la gestione della base dati per la parte di backup, ripristino, HA / DR (se multi zona) e rendendo più agile l’infrastruttura.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Vedremo quindi di seguito i pochi passi necessari per lanciare una istanza PostgreSQL.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Dalla nostra console AWS, accediamo al settore, dove &amp;nbsp;possiamo selezionare il lancio di un nuovo database. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Selezioniamo l’engine PostgreSQL:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-family: inherit; line-height: normal; white-space: normal;&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;368px;&quot; src=&quot;https://lh3.googleusercontent.com/r9KRgY8EYtj4CkN0lixSSaFRWKfsefUZuSbdmHeWDZtPqJFE7mt1DJYmV2UlpflWr9A7vOJSObbyKEOBb4ixYzgmrojvnPstVs4KSMcd1igfqC5cueurs8ZzzQ&quot; width=&quot;631px;&quot; /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Nella schermata sucessiva ci viene chiesto se si vuole un&#39;istanza Multi Zona [Si] o single instance [No]:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;362px;&quot; src=&quot;https://lh5.googleusercontent.com/RKNQ0VC279iu_un8e-PPLaL4f3QotBxuo5TiMGSzz9Ort1707V1dDu51tkw0pZ3X6fTp9NDvLG0Hp1fsbl9N0eARWGvjKYsaYrlEEQcHZAziACqgofH4rqFX&quot; width=&quot;631px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-0871-c719-3febbb78df47&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;A questo punto, selezioniamo il size dell’istanza (micro, large, in base alle necessità di performance); qui sarà possibile scegliere anche &amp;nbsp;la dimensione, il multi AZ (HA + DR), la possibilità di minor upgrade, il sizing dell’istanza e del db, &amp;nbsp;oltre che &amp;nbsp;il nome utente e password. &amp;nbsp;Attenzione:&lt;/span&gt;&lt;span style=&quot;font-weight: bold; vertical-align: baseline;&quot;&gt; attualmente AWS supporta solo &amp;nbsp;PostgreSQL 9.3.1.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-weight: bold; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;310px;&quot; src=&quot;https://lh5.googleusercontent.com/cmgKZoKpuIhwqWvjS-9-kEyCwRIgNd2yPnkXcLAuSrgzWA-KmjMphVjoGmGEPPgcHQsUvCrf-qo0GPbLBIH0Y7FeTXsl7se59OlUoyIu1aAIX4r8hQD4erRhvA&quot; width=&quot;631px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Nella successiva finestra possiamo scegliere di creare un database (potremo farlo in seguito manualmente):&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;233px;&quot; src=&quot;https://lh6.googleusercontent.com/ehWE3SAxmDNjNbuDa2gq0KnRSd9XAQD46nKYM9nTx9NRhkmPbt1vRQmNHppt3nx6MTsDqxjXxCiYdFuF5uXB3s2pEIn8j0XEKevM-UooQy5fjRWq0QeHMw_3XA&quot; width=&quot;631px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Dopo di che, &amp;nbsp;potremo selezionare le finestre di backup e le finestre di manutenzione (per i minor upgrade, ad esempio)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;276px;&quot; src=&quot;https://lh4.googleusercontent.com/2MPRI4v1-j_HWA8fmSgK0gjw8zW7qRFS_LwMAhqoH4LqwTyuy_TTkItr0BkiQvG6iuMrabVNw40Jl-StgRzuezjcGzEDWaiKiU2Co2q9PXbAV-kyKH9aPdgO0Q&quot; width=&quot;631px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;A questo punto &amp;nbsp;verrà proposto il lancio dell’istanza:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;369px;&quot; src=&quot;https://lh4.googleusercontent.com/mrzoqhb7mD6x1hMsk3Hm_LhzmYC6q1qHmEjBsRkD4X5AhqwDumXvbLjFLHcCAvQAKwK4c1tgZSwkVFOtWCx6FLxZeQScXJGKGkoCX1QV-NITBID1YbbScdf4yg&quot; width=&quot;631px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;A questo punto si dovrà attendere il deploy del servizio; alla fine del processo nella schermata principale apparirà la seguente interfaccia di detail. &amp;nbsp;Da notare che l’endpoint avrà il nome del database inserito:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;298px;&quot; src=&quot;https://lh6.googleusercontent.com/G5D3XK98GpARWimojs9RmajArFwP-t6EMJ8bEPHVfAad66MxtyyzMnaFdn3e3zF6m0Jd3qtLAppGyRMkDe6QX1z0kk5A4BA_lWDi4wt2DxDMNHZi0QjXqFWvpw&quot; width=&quot;625px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Fatto questo, &amp;nbsp;la nostra istanza verrà creata e sarà accessibile previa l’aggiunta delle regole di firewall al security group RDS.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;292px;&quot; src=&quot;https://lh3.googleusercontent.com/577OKQmZGRqBiulsoG3Nr_PHAox34Yh6uKOmqtj_Z3pJd5EnQuqDLBqQBEjWDka33TOw52qeBdcIf5rYtScJYeeDRgImPe3flPmbY0ejbR9E6scQmzXMNOLfZA&quot; width=&quot;631px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;Notiamo che i database presenti sono quelli normali a parte rdsadmin ad uso interno di Amazon:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 17px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;265px;&quot; src=&quot;https://lh5.googleusercontent.com/Yw9bWpr6O9JOIPT7PL_M6uXXufQN2fkSEOf9xU5G-SGJnmlE8y7u5-S6hN5kyv7_eVKPfxuCBlQ7tdd_On9Qrx2_vaZc9CIxbZAi0SmMZAYeEwhUcdomZPDimg&quot; width=&quot;631px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;Anche se abbiamo creato una multi istanza, non sono presenti parametri relativi allo streaming replication [max_wal_senders=0 è disabilitata la streming replication]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;329px;&quot; src=&quot;https://lh5.googleusercontent.com/BsJSOaoJjMYA3ulZtbDySYrjVmAJUv6rvzgFKZ3Zv99c4g9_oxYcYhrLHDlNSxmNVKfHL3eKAuhYmr5DqS-z1CD57otrnAnoWEUsFoiGpePFCJaw_7QET2Q7Yg&quot; width=&quot;635px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.15;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;E’ fissato il wal_buffers a 394*8kb e il backend è in archivelog [wal_level], e si suppone che Amazon stia usando la replicazione warm standby invece della streaming replication, oppure qualcosa di similare ad una logical replication che sfrutti il log:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 17px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;203px;&quot; src=&quot;https://lh6.googleusercontent.com/T9yOi5NF18vBlrPKNWGpOLR4T6ju_YMEjHXgFCPkmwQ0RLmyoQvqTHulyluuyxYVabvUplWPq2Bj3Pr_yIUrASloMfIBuKSqv6YwGAwW-B9eaPwoxrCoFVgS_Q&quot; width=&quot;631px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.15;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Notare archive_command modificato:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; line-height: 17px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img height=&quot;334px;&quot; src=&quot;https://lh4.googleusercontent.com/TIRdU_Qpm6HrcAtSp2G6-3MS2zr619jvR7hsGitAe72erzFryXQbNzh--3zjSWK1gelEK1MV-1UqVIKEXLGZUrPzCT0DUmV51K6JXokrX0wi3fjmbex9M4FCUw&quot; width=&quot;631px;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; line-height: 1.15; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea8-dd05-27ee-160483de0f4d&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;Collegandoci quindi con l’utente creato e &amp;nbsp;relativa password, &amp;nbsp;potremo verificare come è il PostgreSQL di Amazon.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;Nelle prossime appuntate proveremo a mettere alla prova il PostgreSQL in salsa AWS, testandolo su problematiche di restore di database &amp;nbsp;e performance.&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;Ne vedremo delle belle!&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;Ciao&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 1.15;&quot;&gt;&lt;b id=&quot;docs-internal-guid-1dea3528-8ea5-5c16-0e9c-9295ae8b65ad&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 15px; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdba.miriade.it/feeds/453324166597836021/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://blogdba.miriade.it/2013/11/postgresql-rds-how-to.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/453324166597836021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5121279670533436357/posts/default/453324166597836021'/><link rel='alternate' type='text/html' href='http://blogdba.miriade.it/2013/11/postgresql-rds-how-to.html' title='PostgreSQL RDS How To'/><author><name>Miriade</name><uri>http://www.blogger.com/profile/10590762065069802941</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>