<?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: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-619781509568623391</id><updated>2011-07-30T14:13:50.245-07:00</updated><category term='SQL'/><category term='Datenbank'/><category term='SQL-Performance'/><category term='PlSQL'/><category term='ORACLE 10g'/><title type='text'>ORACLE Hacker</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://orclhacker.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://orclhacker.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ORCL Hacker</name><uri>http://www.blogger.com/profile/07885476758302526055</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>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-619781509568623391.post-8027121425964468574</id><published>2008-09-24T05:35:00.003-07:00</published><updated>2009-06-23T13:43:46.617-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL-Performance'/><title type='text'>SQL-Tuning als iterativer Prozess</title><content type='html'>&lt;strong&gt;Tuning als iterativer Prozess &lt;/strong&gt;&lt;br /&gt;&lt;p&gt;Unter Tuning wird hier die zielgerichtete Verbesserung von Eigenschaf- &lt;br /&gt;ten des Gesamtsystems aus Datenbank und Anwendung verstanden. &lt;br /&gt;Tuning ist ein Teil der Performancesicherung und immer aufgabenbe- &lt;br /&gt;zogen. Es endet mit dem Erreichen des gesetzten Ziels oder der Fest- &lt;br /&gt;stellung, dass das Ziel mit den gegebenen Ressourcen nicht erreicht &lt;br /&gt;werden kann.&lt;/p&gt; &lt;br /&gt;&lt;br /&gt;&lt;p&gt;Tuning – egal in welcher Umgebung – ist ein iterativer Prozess.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Es ist wichtig, die einzelnen Tuningschritte nacheinander auszufüh- &lt;br /&gt;ren und zu bewerten. Eine Datenbank mit den darauf laufenden An- &lt;br /&gt;wendungen kann als ein (relativ) komplexes System angesehen &lt;br /&gt;werden. Um Aussagen über die Relevanz eines Einflussparameters &lt;br /&gt;zu erhalten, müssen während der Messung die anderen Parameter &lt;br /&gt;gleich gehalten werden. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;br /&gt;Nach jedem Tuningschritt wird geprüft, ob das Ergebnis den definier- &lt;br /&gt;ten Zielen genügt. Falls nicht, wird eine weitere Iteration vorgenom- &lt;br /&gt;men. &lt;br /&gt;Der Nachweis über eine Verbesserung kann nur durch Messungen er- &lt;br /&gt;bracht werden. Verschiedene Varianten können nur über Messungen &lt;br /&gt;verglichen werden. Die Messungen sollen Dokumentiert werden, damit &lt;br /&gt;sie miteinander verglichen werden können.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.finanz-checks.de"&gt;Girokontovergleich&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/619781509568623391-8027121425964468574?l=orclhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://orclhacker.blogspot.com/feeds/8027121425964468574/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=619781509568623391&amp;postID=8027121425964468574' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/8027121425964468574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/8027121425964468574'/><link rel='alternate' type='text/html' href='http://orclhacker.blogspot.com/2008/09/sql-tuning-als-iterativer-prozess.html' title='SQL-Tuning als iterativer Prozess'/><author><name>ORCL Hacker</name><uri>http://www.blogger.com/profile/07885476758302526055</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-619781509568623391.post-7686420650870840521</id><published>2008-09-24T05:35:00.001-07:00</published><updated>2008-09-24T05:35:03.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL-Performance'/><title type='text'>Performanceengpässe und Antwortzeiten</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Performanceengpässe&lt;/strong&gt; werden in der Mehrzahl der Fälle an der Ant- &lt;br /&gt;wortzeit fest gemacht. &lt;/p&gt; &lt;br /&gt;&lt;p&gt;Im Allgemeinen wird unter Antwortzeit die Latenz zwischen dem Ab- &lt;br /&gt;senden eines Requests durch den User und der Reaktion durch das &lt;br /&gt;Anwendungssystem verstanden. Dies ist die abstrakte Antwortzeit aus &lt;br /&gt;Usersicht. Auf technischer Ebene muss diese Zeitspanne als Summe &lt;br /&gt;mehrerer Teilkomponenten betrachtet werden: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; &lt;br /&gt;&lt;p&gt;Programmzeit Client  &lt;br /&gt;+ Netztransfer zur DB  &lt;br /&gt;+ Datenbankzeit  &lt;br /&gt;+ Netztransfer zum Client  &lt;br /&gt;+ Programmzeit Client &lt;br /&gt;--------------------------------- &lt;br /&gt;= Antwortzeit User &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Oftmals wird die Datenbank zu Unrecht für unbefriedigende Antwortzei- &lt;br /&gt;ten verantwortlich gemacht. Punktuelle Netzüberlastung und langwieri- &lt;br /&gt;ge Folgeaktionen im Client-Programm (z. B. Umsetzen der Ergebnis- &lt;br /&gt;menge in eine GUI-Darstellung) gehen in die Antwortzeit ein, sind je- &lt;br /&gt;doch mit den Mitteln der Datenbankoptimierung nicht beeinflussbar. &lt;br /&gt;Zur Gewinnung exakter Angaben über die Laufzeiten von Statements &lt;br /&gt;sollten deshalb alle anderen Teilkomponenten ausgeschlossen werden. &lt;br /&gt;Zeitmessungen innerhalb des &lt;strong&gt;SQL-Optimierung&lt;/strong&gt; erfolgen idealerweise &lt;br /&gt;direkt auf dem &lt;strong&gt;Datenbankserver&lt;/strong&gt;.&lt;/p&gt;&lt;br /&gt;  &lt;br /&gt;&lt;p&gt;Das Messen und Dokumentieren der Antwortzeiten ist wesentlich für &lt;br /&gt;ein qualifiziertes Vorgehen bei der Optimierung. Für jeden DBA oder &lt;br /&gt;Entwickler ist es frustrierend, sich mit der „gefühlten“ Antwortzeit der &lt;br /&gt;Enduser („ist irgendwie langsam“, „könnte manchmal schneller sein“) &lt;br /&gt;auseinanderzusetzen. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/619781509568623391-7686420650870840521?l=orclhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://orclhacker.blogspot.com/feeds/7686420650870840521/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=619781509568623391&amp;postID=7686420650870840521' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/7686420650870840521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/7686420650870840521'/><link rel='alternate' type='text/html' href='http://orclhacker.blogspot.com/2008/09/performanceengpsse-und-antwortzeiten.html' title='Performanceengpässe und Antwortzeiten'/><author><name>ORCL Hacker</name><uri>http://www.blogger.com/profile/07885476758302526055</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-619781509568623391.post-5475896260920881135</id><published>2008-09-24T05:34:00.001-07:00</published><updated>2008-09-24T05:34:52.164-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL-Performance'/><title type='text'>Performancesichernde Maßnahmen </title><content type='html'>Performancesichernde Maßnahmen &lt;br /&gt;&lt;p&gt;Im Allgemeinen sollen potentielle Engpässe früh erkannt und Entwick- &lt;br /&gt;lungskosten reduziert werden. &lt;br /&gt;Die Aufgaben und die Ziele performancesichernder Maßnahmen variie- &lt;br /&gt;ren je nach Projektfortschritt. Im Folgenden sind einige Punkte darge- &lt;br /&gt;stellt. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;• Während der Designphase &lt;br /&gt;⇒ Vergleichsmessungen zur Ermittlung der optimalen Architektur- / &lt;br /&gt;Implementierungsvarianten, &lt;br /&gt;⇒ Bestimmung des zu erwartenden Lastmodells als Grundlage für &lt;br /&gt;Entscheidungen. &lt;br /&gt;• Vor der Produktionseinführung &lt;br /&gt;⇒ Bestimmung des später zu erwartenden Antwortzeitverhaltens, &lt;br /&gt;⇒ Bestimmung des mit dem gegebenen Umfeld realisierbaren &lt;br /&gt;Transaktionsdurchsatzes, &lt;br /&gt;⇒ Lasttest zum ultimativen Nachweis der Erfüllung der Performan- &lt;br /&gt;cevorgaben. &lt;br /&gt;• Nach der Produktionseinführung &lt;br /&gt;⇒ Verbesserung des realen Antwortzeitverhaltens, &lt;br /&gt;⇒ Vorbeugen von Problemen aus dem Anwachsen des Datenbe- &lt;br /&gt;standes. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Basis einer Performanceuntersuchung müssen immer quantifizierbare &lt;br /&gt;Ziele sein. Schwammige Anforderungen, wie z.B.: „Datenbank optimal &lt;br /&gt;aufsetzen“ „CPU-Zeit sparen“ sind wenig hilfreich.  &lt;br /&gt;CPU, I/O oder Speicher sparen &lt;br /&gt;Es fehlt die Quantität. Wann ist dieses Ziel je erreicht? Irgendwo fin- &lt;br /&gt;det sich immer eine Verbesserungsmöglichkeit. Aber wie steht es mit &lt;br /&gt;Aufwand / Nutzen? &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;„Datenbank optimal aufsetzen“ &lt;br /&gt;Es gibt keine optimale Datenbank oder optimale Applikation. Das &lt;br /&gt;“Optimum” ist immer an eine konkrete Umgebung und an die Bedürf- &lt;br /&gt;nisse des Anwenders gebunden &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Wichtig ist das Setzen von Tuningzielen der Art: &lt;br /&gt;⇒ Wir müssen 500 Buchungen je Minute schaffen. &lt;br /&gt;⇒ Zum Monatsende müssen je Stunde 100.000 Rechnungen erstellt &lt;br /&gt;werden. &lt;br /&gt;⇒ Die Instanz muss 5 Reports parallel verarbeiten können. &lt;br /&gt;⇒ Der Programmzweig „Buchen Zahlungseingang / -ausgang“ darf bei &lt;br /&gt;Volllast (100 Transaktionen / Sekunde) maximal 50 % der Anlagen- &lt;br /&gt;CPU binden. &lt;br /&gt;Auf derartige Ziele lässt sich zielstrebig hinarbeiten. Nach dem Errei- &lt;br /&gt;chen des quantifizierten Ziels kann die Entwicklerkapazität an anderer &lt;br /&gt;Stelle eingesetzt werden. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/619781509568623391-5475896260920881135?l=orclhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://orclhacker.blogspot.com/feeds/5475896260920881135/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=619781509568623391&amp;postID=5475896260920881135' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/5475896260920881135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/5475896260920881135'/><link rel='alternate' type='text/html' href='http://orclhacker.blogspot.com/2008/09/performancesichernde-manahmen.html' title='Performancesichernde Maßnahmen '/><author><name>ORCL Hacker</name><uri>http://www.blogger.com/profile/07885476758302526055</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-619781509568623391.post-4483806260443977985</id><published>2008-09-07T20:08:00.001-07:00</published><updated>2008-09-07T20:08:15.932-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL-Performance'/><title type='text'>Performancesicherung als Prozess</title><content type='html'>Performancesicherung als Prozess&lt;br /&gt; &lt;br /&gt;&lt;p&gt;Performance wird oftmals direkt an den Begriff Tuning gebunden. Der &lt;br /&gt;Begriff Tuning wiederum steht in der Praxis viel zu häufig für den Ver- &lt;br /&gt;such, zu retten was zu retten ist. Das Motto lautet: „Erst einmal pro- &lt;br /&gt;grammieren, und am Ende kümmern wir uns um die Performance“. &lt;br /&gt;Dieses Vorgehen reduziert Performancesicherung unzulässig auf das &lt;br /&gt;nachträgliche Optimieren von Abläufen und Strukturen. &lt;/p&gt;&lt;br /&gt; &lt;br /&gt;&lt;p&gt;In späten Projektphasen sind die Freiheitsgrade für Änderungen gering. &lt;br /&gt;Architekturentscheidungen beispielsweise können nur mit enormem &lt;br /&gt;Aufwand geändert werden.  &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Performancesicherung ist ein Prozess! Er beginnt spätestens mit &lt;br /&gt;der Entscheidung für die Realisierung. Performancesicherung ist &lt;br /&gt;Qualitätssicherung!&lt;/strong&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Eine durchgehende Performancesicherung erfordert die Kooperation der an Entwicklung und Betrieb beteiligten Personen. Eine Auswahl an Aktionen sollte dabei immer unter allen Mitwirkenden diskutiert werden. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/619781509568623391-4483806260443977985?l=orclhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://orclhacker.blogspot.com/feeds/4483806260443977985/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=619781509568623391&amp;postID=4483806260443977985' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/4483806260443977985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/4483806260443977985'/><link rel='alternate' type='text/html' href='http://orclhacker.blogspot.com/2008/09/performancesicherung-als-prozess.html' title='Performancesicherung als Prozess'/><author><name>ORCL Hacker</name><uri>http://www.blogger.com/profile/07885476758302526055</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-619781509568623391.post-6850807974963638250</id><published>2008-09-06T04:29:00.001-07:00</published><updated>2008-09-06T04:29:10.990-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL-Performance'/><title type='text'>SQL und seine Laufzeitumgebungen 
</title><content type='html'>&lt;h3&gt;SQL und seine Laufzeitumgebungen &lt;br /&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;SQL ist nicht gleich SQL. Je nach Umgebung variiert, welcher methodi- &lt;br /&gt;sche Ansatz als „gut“ oder „ungünstig“ angesehen wird.  &lt;br /&gt;Im Rahmen des Kurses geht es um „zweckmäßiges“ SQL. Aufbauend &lt;br /&gt;auf dem syntaktischen und theoretischen Basiswissen soll jeder Teil- &lt;br /&gt;nehmer für seine Umgebung entscheiden können, welche konkrete &lt;br /&gt;Ausprägung von SQL-Varianten in seinem Projektumfeld günstig ist. &lt;br /&gt;SQL-Statements lassen sich nach unterschiedlichen Gesichtspunkten &lt;br /&gt;kategorisieren. Dabei finden technische und organisatorische Aspekte &lt;br /&gt;Berücksichtigung: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;• Unterscheidung nach Art der Generierung:  &lt;br /&gt;&lt;br /&gt;⇒ statisches SQL:  &lt;br /&gt;select count(*) from emp where deptno = :nr &lt;br /&gt;&lt;br /&gt;⇒ dynamisches (natives) SQL: &lt;br /&gt;execute immediate ’select count(*) from emp  &lt;br /&gt;  where deptno = 10’ &lt;br /&gt;&lt;br /&gt;• Unterscheidung nach dem Umfeld &lt;br /&gt;&lt;br /&gt;⇒ Data Warehouse (DWH) / Decision Support Service (DSS):  &lt;br /&gt;select produkt, region, zeitraum, sum(betrag)  &lt;br /&gt;from verkauf, produkt, region, zeit where ... &lt;br /&gt;group by produkt, region, zeitraum &lt;br /&gt;&lt;br /&gt;• Unterscheidung nach der Ablaufumgebung: &lt;br /&gt;&lt;br /&gt;⇒ Interaktiv:  &lt;br /&gt;Direkter Datenzugriff durch geschulte Nutzer über interaktive &lt;br /&gt;Front Ends, &lt;br /&gt;&lt;br /&gt;⇒ Embedded SQL (ESQL) / OCI:   &lt;br /&gt;Datenbankaufrufe aus einer 3GL Programmiersprache, meistens &lt;br /&gt;C oder Cobol, &lt;br /&gt;&lt;br /&gt;⇒ ODBC / JDBC:   &lt;br /&gt;Kommunikation über datenbankherstellerunabhängige Stan- &lt;br /&gt;dards, &lt;br /&gt;&lt;br /&gt;⇒ PL/SQL:  &lt;br /&gt;Aufruf von Statements aus Serverprozeduren, welche i. d. R. &lt;br /&gt;wiederum in Applikationen eingebettet sind. &lt;br /&gt;Je nach konkreter Ausprägung der Umgebung treten unterschiedliche &lt;br /&gt;Aspekte der Verarbeitung und Optimierung in den Vordergrund. Diese &lt;br /&gt;Sichtweise wird im Verlauf des Kurses immer wieder aufgenommen. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/619781509568623391-6850807974963638250?l=orclhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://orclhacker.blogspot.com/feeds/6850807974963638250/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=619781509568623391&amp;postID=6850807974963638250' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/6850807974963638250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/6850807974963638250'/><link rel='alternate' type='text/html' href='http://orclhacker.blogspot.com/2008/09/sql-und-seine-laufzeitumgebungen.html' title='SQL und seine Laufzeitumgebungen &#xA;'/><author><name>ORCL Hacker</name><uri>http://www.blogger.com/profile/07885476758302526055</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-619781509568623391.post-6008377028462879029</id><published>2008-09-06T04:27:00.001-07:00</published><updated>2008-09-06T04:27:36.726-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL-Performance'/><title type='text'>SQL und Performancesicherung</title><content type='html'>&lt;h3&gt;SQL und Performancesicherung &lt;br /&gt;&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;Das Ablegen von Informationen in der Datenbank ist kein Selbstzweck. &lt;br /&gt;Die Daten sollen bei Bedarf zeitnah am Bildschirm bzw. im Programm &lt;br /&gt;zur Verfügung stehen. Das Bereitstellen der Daten übernimmt der Orac- &lt;br /&gt;le-Server. Jeder Zugriff ist mit Kosten in Form von CPU-Zeit und Plat- &lt;br /&gt;tenzugriffen verbunden.  &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Wenn Datenbank oder Anwendung nicht performant laufen, sehen wir &lt;br /&gt;die Erscheinungen:  &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;„Lange Antwortzeit“,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;„Datenbankmaschine ist CPU-bound“ oder auch  &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;„IO Subsystem ist überlastet“.  &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Die Ursache, vorausgesetzt das System ist hardwareseitig plausibel &lt;br /&gt;dimensioniert, sind jedoch die Kosten der SQL-Anweisungen oder &lt;br /&gt;Mängel in der Konfiguration. Dabei darf SQL nicht auf „Select“ reduziert &lt;br /&gt;werden, auch DML und periodisch wiederkehrende DDL-Anweisungen &lt;br /&gt;müssen berücksichtigt werden. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Angesichts dieser Betrachtung lässt sich leicht zugespitzt behaupten: &lt;br /&gt;Datenbankoptimierung besteht im Wesentlichen aus 3 Schritten:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;SQL Optimierung&lt;/li&gt;&lt;br /&gt;&lt;li&gt;SQL Optimierung&lt;/li&gt;&lt;br /&gt;&lt;li&gt;SQL Optimierung&lt;/li&gt;&lt;br /&gt; &lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;SQL-Optimierung&lt;/strong&gt; kann – je nach konkretem Umfeld und Statement – &lt;br /&gt;eine Reduzierung des Ressourcenverbrauchs um Faktor 100, Faktor &lt;br /&gt;1000 oder noch mehr nach sich ziehen. Derartige Steigerungen sind mit &lt;br /&gt;den Mitteln des Instanztunings nicht erreichbar.  &lt;br /&gt;Tuningmaßnahmen können sich auf einzelne SQL-Statements oder auf &lt;br /&gt;eine gesamte Applikation erstrecken.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Bei der Auswahl der Aktivitäten ist immer zu berücksichtigen, dass inef- &lt;br /&gt;fiziente Statements im Mehrbenutzerbetrieb auch das Antwortzeitver- &lt;br /&gt;halten anderer User negativ beeinflussen. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/619781509568623391-6008377028462879029?l=orclhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://orclhacker.blogspot.com/feeds/6008377028462879029/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=619781509568623391&amp;postID=6008377028462879029' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/6008377028462879029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/6008377028462879029'/><link rel='alternate' type='text/html' href='http://orclhacker.blogspot.com/2008/09/sql-und-performancesicherung.html' title='SQL und Performancesicherung'/><author><name>ORCL Hacker</name><uri>http://www.blogger.com/profile/07885476758302526055</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-619781509568623391.post-8061266524525665830</id><published>2008-09-06T04:25:00.001-07:00</published><updated>2009-06-12T16:18:57.643-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL-Performance'/><title type='text'>Einflussfaktoren auf SQL-Performance</title><content type='html'>&lt;p&gt;Einflussfaktoren auf SQL-Performance &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;SQL ist mehr als „das Statement an sich“. Unbedingt mitbetrachtet wer- &lt;br /&gt;den muss das Konzept des Datenzugriffs. Die von einem Programm &lt;br /&gt;abgesetzten Statements können für sich performant sein, trotzdem &lt;br /&gt;werden ggf. Ressourcen unnötig beansprucht. Typische Fälle ineffizien- &lt;br /&gt;ter Zugriffe sind z. B. in Einzeltabellenzugriffe aufgelöste Joins.&lt;br /&gt;&lt;/p&gt;  &lt;br /&gt;&lt;p&gt;Von großer Bedeutung ist natürlich das &lt;strong&gt;logische Datenmodell&lt;/strong&gt;: Sind die &lt;br /&gt;Informationen und ihre Beziehungen zueinander klar strukturiert? Müs- &lt;br /&gt;sen u. U. wegen &lt;strong&gt;Designfehlern&lt;/strong&gt; Redundanzen verwaltet werden? Ande- &lt;br /&gt;rerseits kann es sein, dass durch bewusste Verletzung der &lt;strong&gt;Normalisie- &lt;br /&gt;rungsregeln&lt;/strong&gt; (und planmäßiger Verwaltung von Redundanzen) komple- &lt;br /&gt;xe Aktionen sehr viel effizienter ausgeführt werden können. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Nicht zu unterschätzen ist der Einfluss des &lt;strong&gt;&lt;a href="http://www.bodycode.de"&gt;physisch&lt;/a&gt;en Datenmodells&lt;/strong&gt;. &lt;br /&gt;Theoretisch kann eine &lt;a href="http://www.kreditdirekt.com/"&gt;Kredit-Datenbank&lt;/a&gt; von 100 GB auf einer Platte abgelegt &lt;br /&gt;werden. Aber kann eine solche Umgebung 50 konkurrierende User zu- &lt;br /&gt;frieden stellen? Die relativen Kosten eines Plattenzugriffs sind hier sehr &lt;br /&gt;hoch. Verschiedene der im Kurs vorgestellten Features können in einer &lt;br /&gt;solchen Umgebung gar nicht sinnvoll eingesetzt werden. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/619781509568623391-8061266524525665830?l=orclhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://orclhacker.blogspot.com/feeds/8061266524525665830/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=619781509568623391&amp;postID=8061266524525665830' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/8061266524525665830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/8061266524525665830'/><link rel='alternate' type='text/html' href='http://orclhacker.blogspot.com/2008/09/einflussfaktoren-auf-sql-performance.html' title='Einflussfaktoren auf SQL-Performance'/><author><name>ORCL Hacker</name><uri>http://www.blogger.com/profile/07885476758302526055</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-619781509568623391.post-3174711952658947922</id><published>2008-09-06T03:03:00.000-07:00</published><updated>2008-09-06T03:06:44.663-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Datenbank'/><category scheme='http://www.blogger.com/atom/ns#' term='ORACLE 10g'/><category scheme='http://www.blogger.com/atom/ns#' term='PlSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>ORACLE Hacker ist online</title><content type='html'>ORACLE Hacker zeigt dir wie man mit ORACLE arbeitet.&lt;br /&gt;Hole Dir täglich eine Lektion ORACLE auf deinen Computer.&lt;br /&gt;Follow uns bei Twitter.&lt;br /&gt;&lt;br /&gt;Wer ist ORACLE Hacker:&lt;br /&gt;ORACLE Hacker sind EX-ORACLE Mitarbeiter aus den Bereichen Datenbank Programmierung, PL/SQL, XML Publisher, SQL und ORACLE Finance. Wenn du also wirklich was über ORACLE lernen willst, dann bist du hier genau richtig.&lt;br /&gt;&lt;br /&gt;Alle ORACLE Hacker Autoren sind mehrfach von ORACLE Zertifiziert. OCA, OCP, OCM ....&lt;br /&gt;&lt;br /&gt;Viel Spaß bei ORACLE Hacker&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/619781509568623391-3174711952658947922?l=orclhacker.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://orclhacker.blogspot.com/feeds/3174711952658947922/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=619781509568623391&amp;postID=3174711952658947922' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/3174711952658947922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/619781509568623391/posts/default/3174711952658947922'/><link rel='alternate' type='text/html' href='http://orclhacker.blogspot.com/2008/09/oracle-hacker-ist-online.html' title='ORACLE Hacker ist online'/><author><name>ORCL Hacker</name><uri>http://www.blogger.com/profile/07885476758302526055</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>
