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

<channel>
	<title>Performance Tuning &#183; ASPICON Newsarchiv</title>
	<atom:link href="https://www.aspicon.de/news/tag/performance-tuning/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.aspicon.de/news/tag/performance-tuning/</link>
	<description>Database Technology and Service</description>
	<lastBuildDate>Thu, 08 Jan 2026 09:06:16 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.aspicon.de/wp-content/uploads/2023/12/favicon_white_verlauf_2-50x50.png</url>
	<title>Performance Tuning &#183; ASPICON Newsarchiv</title>
	<link>https://www.aspicon.de/news/tag/performance-tuning/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>DBA Tipp: Tablespacefreiplatz und Buffer Cache Hit Ratio erhöhen durch Defragmentierung von Tabellen</title>
		<link>https://www.aspicon.de/news/dba-tipp-tablespacefreiplatz-und-buffer-cache-hit-ratio-erhoehen-durch-defragmentierung-von-tabellen/</link>
		
		<dc:creator><![CDATA[Thilo Solbrig, Oracle Certified Master]]></dc:creator>
		<pubDate>Wed, 04 Jun 2025 07:40:01 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tech Portfolio]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[DBA Tipp]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[Praxistipp]]></category>
		<guid isPermaLink="false">https://www.aspicon.de/?p=24691</guid>

					<description><![CDATA[<p>Wie du stark fragmentierte Tabellen systematisch identifizieren und gezielt per Online-Shrink optimieren kannst.</p>
<p>Der Beitrag <a href="https://www.aspicon.de/news/dba-tipp-tablespacefreiplatz-und-buffer-cache-hit-ratio-erhoehen-durch-defragmentierung-von-tabellen/">DBA Tipp: Tablespacefreiplatz und Buffer Cache Hit Ratio erhöhen durch Defragmentierung von Tabellen</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="24691" class="elementor elementor-24691" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-3d4c97a elementor-section-full_width elementor-section-content-top header-negative-margin elementor-section-height-default elementor-section-height-default" data-id="3d4c97a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c7154db container-diagonal-top-min-height header-positive-margin padding-row-100" data-id="4c7154db" data-element_type="column" data-e-type="column" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-2d7d0f03 colored-headline-on-mobile elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="2d7d0f03" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-68e5c1ce" data-id="68e5c1ce" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6e90bb4d elementor-widget elementor-widget-shortcode" data-id="6e90bb4d" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"> </div>
						</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-443f8023" data-id="443f8023" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7fc67385 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="7fc67385" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5df6a1c5" data-id="5df6a1c5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3cf8113 header-breadcrumbs-black black elementor-widget elementor-widget-breadcrumbs" data-id="3cf8113" data-element_type="widget" data-e-type="widget" data-widget_type="breadcrumbs.default">
				<div class="elementor-widget-container">
					<p id="breadcrumbs"><span><span><a href="https://www.aspicon.de/">Home</a></span> → <span class="breadcrumb_last" aria-current="page">Performance Tuning</span></span></p>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2e6f278 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2e6f278" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a3c0f9a" data-id="7a3c0f9a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-70fb6297 elementor-widget elementor-widget-spacer" data-id="70fb6297" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6f9331f5 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="6f9331f5" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-57d302c9" data-id="57d302c9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5c6a9ad4 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="5c6a9ad4" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">DBA Tipp: Tablespacefreiplatz und Buffer Cache Hit Ratio erhöhen durch Defragmentierung von Tabellen</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-2dcb8e1 ha-has-bg-overlay elementor-widget elementor-widget-global elementor-global-7902 elementor-widget-post-info" data-id="2dcb8e1" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
				<div class="elementor-widget-container">
							<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
								<li class="elementor-icon-list-item elementor-repeater-item-ae89516 elementor-inline-item" itemprop="author">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-user-circle"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author">
							<span class="elementor-post-info__item-prefix">Verfasst von</span>
										Thilo Solbrig, Oracle Certified Master					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-253e24d elementor-inline-item" itemprop="datePublished">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-calendar"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
										<time>04 Juni 2025</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-810d981 elementor-inline-item">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-clock"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-time">
										<time>09:40</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-acd9d0d elementor-inline-item" itemprop="about">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-tags"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms">
										<span class="elementor-post-info__terms-list">
				<a href="https://www.aspicon.de/news/tag/datenbank/" class="elementor-post-info__terms-list-item">Datenbank</a>, <a href="https://www.aspicon.de/news/tag/dba-tipp/" class="elementor-post-info__terms-list-item">DBA Tipp</a>, <a href="https://www.aspicon.de/news/tag/oracle/" class="elementor-post-info__terms-list-item">Oracle</a>, <a href="https://www.aspicon.de/news/tag/performance-tuning/" class="elementor-post-info__terms-list-item">Performance Tuning</a>, <a href="https://www.aspicon.de/news/tag/praxistipp/" class="elementor-post-info__terms-list-item">Praxistipp</a>				</span>
					</span>
								</li>
				</ul>
						</div>
				</div>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-db373fd elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="db373fd" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-2800617" data-id="2800617" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-731920e elementor-widget__width-initial elementor-widget elementor-widget-text-editor" data-id="731920e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Nach größeren Löschoperationen entstehen Lücken in Datenblöcken, die sich negativ auf Performance und Platzbelegung auswirken. Werden sie in der Tabelle nicht zeitnah durch neue Daten aufgefüllt, empfiehlt sich ein Online-Shrink der betroffenen Tabellen. Ein Ansatz zur Abschätzung stark fragmentierter Tabellen wird in diesem DBA-Tipp vorgestellt.&nbsp;</p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-8056916" data-id="8056916" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e01fed9 elementor-widget elementor-widget-image" data-id="e01fed9" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img fetchpriority="high" decoding="async" width="500" height="500" src="https://www.aspicon.de/wp-content/uploads/2024/05/oracle_database_logo.png" class="attachment-large size-large wp-image-22429" alt="Logo Oracle Database" srcset="https://www.aspicon.de/wp-content/uploads/2024/05/oracle_database_logo.png 500w, https://www.aspicon.de/wp-content/uploads/2024/05/oracle_database_logo-300x300.png 300w, https://www.aspicon.de/wp-content/uploads/2024/05/oracle_database_logo-150x150.png 150w, https://www.aspicon.de/wp-content/uploads/2024/05/oracle_database_logo-50x50.png 50w" sizes="(max-width: 500px) 100vw, 500px">															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-ca275e9 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="ca275e9" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-796b342 elementor-widget elementor-widget-heading" data-id="796b342" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Warum überhaupt defragmentieren?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-895369b elementor-widget elementor-widget-text-editor" data-id="895369b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Das Löschen einer größeren Menge von Zeilen aus einer Tabelle führt in aller Regel dazu, dass die Datenblöcke der Tabelle stark fragmentiert werden. Das heißt es gibt dann also viele Blöcke, die nur wenige Daten enthalten. Diese Fragmentierung hat zwei wesentliche Nachteile:</p><ul><li>Verschwendung von Speicherplatz, wenn die Lücken nicht im Laufe der Zeit wieder durch neue Zeilen gefüllt werden. Da der Freiplatz fest von einer bestimmten Tabelle allokiert ist, steht er auch keinen anderen Objekten in der Datenbank zur Verfügung.<br><br></li><li>Auch wenn der Platz nach und nach wiederverwendet wird, wirkt sich diese Fragmentierung bis dahin negativ auf die Performance aus. Der Buffer Cache der Datenbank, eine der wichtigsten Komponenten im Bezug auf Datenbankperformance, arbeitet rein blockbasiert. Folglich verschwenden Datenblöcke einer Tabelle Platz im Buffer Cache, wenn sie fragmentiert sind, da auch der leere Anteil im Block auf den Buffer Cache angerechnet wird. Die „Nutzdatenrate“ ist damit schlechter als bei unfragmentierten Blöcken, die Performance sinkt durch eine geringere Buffer Cache Hit Ratio.</li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-4ab479b elementor-widget elementor-widget-heading" data-id="4ab479b" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Es kann also nach größeren Löschoperationen interessant sein, welche Tabellen mittels:</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-6b44c8f ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="6b44c8f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>alter table … shrink space cascade;</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-aefa74f elementor-widget elementor-widget-text-editor" data-id="aefa74f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>geshrinkt werden können, um zum einen unbelegten Platz freizugeben und zum anderen die Buffer Cache Effizienz hoch zu halten. Dafür kannst du dir zwei Tabellenstatistiken zu Nutze machen – die Zeilenzahl und die durchschnittliche Zeilenlänge – und diese mit der tatsächlichen Platzbelegung in Bezug setzen. Es ist zu beachten, dass es sich dabei nicht um exakte Werte handelt. Wenn die Statistiken jedoch aktuell sind, stellen sie für diesen Zweck recht zuverlässige Schätzungen dar. Grundsätzlich kannst du davon ausgehen, dass Tabellen, in denen große Datenmengen gelöscht wurden, auch vom nächtlichen Autotask „auto optimizer stats collection“ erkannt und analysiert wurden. Andernfalls rechnest du mit geeigneten Prozeduren des dbms_stats-Package die Statistiken einfach selbst neu.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-acfa396 elementor-widget elementor-widget-heading" data-id="acfa396" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Vergleich erwarteter Platzbedarf und tatsächlich belegter Platz</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-bfc92dc elementor-widget elementor-widget-text-editor" data-id="bfc92dc" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Zur Abschätzung des Platzes, den wir durch das Shrinken voraussichtlich einsparen, stellen wir nun einen Vergleich zwischen dem erwarteten Platzbedarf (Zeilenzahl * durchschnittliche Zeilenlänge) und dem tatsächlich belegten Platz (Summe der Segmentgrößen) an:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-115686e ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="115686e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>WITH table_subset AS<br>( SELECT owner,table_name<br>FROM dba_tables<br>WHERE owner='SOE'<br>)<br>SELECT exp.owner,<br>exp.table_name,<br>ROUND((used_space-expected_space)/power(1024,2)) estimated_savings_mb,<br>used_space,<br>expected_space,<br>ROUND((1-expected_space/used_space)*100) estimated_savings_pct<br>FROM<br>(SELECT owner,<br>table_name,<br>num_rows*avg_row_len expected_space<br>FROM dba_tables t<br>WHERE (owner,table_name) IN<br>(SELECT * FROM table_subset s)<br>AND num_rows IS NOT NULL<br>AND avg_row_len IS NOT NULL<br>) exp,<br>(SELECT owner,<br>segment_name,<br>SUM(bytes) used_space<br>FROM dba_segments<br>WHERE (owner,segment_name) IN<br>(SELECT * FROM table_subset s)<br>GROUP BY owner,<br>segment_name<br>HAVING SUM(bytes)&gt;0<br>) used<br>WHERE exp.owner =used.owner<br>AND exp.table_name=used.segment_name<br>ORDER BY estimated_savings_mb DESC</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-2236152 elementor-widget elementor-widget-text-editor" data-id="2236152" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Wie wir sehen, hat in unserem Beispiel die Tabelle SOE.ORDER_ITEMS ein Einsparungspotenzial von ca. 1.1GB. Sie belegt aktuell 1.4 GB Platz, obwohl sie gemäß ihrer Statistiken nur 209 MB belegen müsste. Wir können sie also als einen geeigneten Kandidaten für eine Online-Shrink-Operation ansehen:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-abef9cc ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="abef9cc" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>ALTER TABLE SOE.ORDER_ITEMS ENABLE ROW MOVEMENT;
ALTER TABLE SOE.ORDER_ITEMS SHRINK SPACE CASCADE;
</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-ff3d591 elementor-widget elementor-widget-text-editor" data-id="ff3d591" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Eine erneute Auswertung zeigt, dass die Tabelle, wie erwartet, ihren ungenutzten Platz freigegeben hat. Im Tablespace stehen nun 1.1GB mehr Platz zur freien Verfügung.</p><p>Am Beginn des SELECT-Statements findest du die Inline-View</p>								</div>
				</div>
				<div class="elementor-element elementor-element-ae05d83 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="ae05d83" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>WITH table_subset AS<br>( SELECT owner,table_name<br>FROM dba_tables<br>WHERE owner='SOE'<br>)
</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-9c51dfe elementor-widget elementor-widget-text-editor" data-id="9c51dfe" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Hierüber kannst du einstellen, welche Tabellen in die Betrachtung einbezogen werden sollen. Wir beschränken uns hier zum Beispiel auf das Schema SOE. Eine Auswertung über alle Tabellen einer Datenbank dürfte meist zu lange dauern und auch nur selten erforderlich sein. So ist zum Beispiel das Shrinken von SYS-Objekten ohnehin nicht empfohlen und in vielen Fällen auch nicht möglich.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-1c7d12e elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="1c7d12e" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-0029aa7 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="0029aa7" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-234992d" data-id="234992d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-94e81d4 elementor-widget elementor-widget-heading" data-id="94e81d4" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Fazit</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-da0eeba elementor-widget elementor-widget-text-editor" data-id="da0eeba" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Größere Löschoperationen führen häufig zu Fragmentierung in Oracle-Tabellen – mit negativen Auswirkungen auf Speicherplatz und Performance. Der vorgestellte Ansatz ermöglicht es dir als DBA, stark fragmentierte Tabellen systematisch zu identifizieren und gezielt per Online-Shrink zu optimieren. So lassen sich ungenutzte Reserven im Tablespace freigeben und die Effizienz des Buffer Caches nachhaltig verbessern.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-c6d1c75 elementor-widget elementor-widget-text-editor" data-id="c6d1c75" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Hier findest du weitere Infos rund um <a href="/news/tag/oracle/">Oracle</a> aus unserem News &amp; Insights Bereich.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-58af599d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="58af599d" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-797156f1" data-id="797156f1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-1b2fa61a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1b2fa61a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-1a6b0eae" data-id="1a6b0eae" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-91e2d6a elementor-widget elementor-widget-image" data-id="91e2d6a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="40" height="28" src="https://www.aspicon.de/wp-content/uploads/2021/01/icon-arrow_right_medium-violet-blue.svg" class="attachment-full size-full wp-image-4817" alt="icon-arrow_right_medium-violet-blue.svg">															</div>
				</div>
				<div class="elementor-element elementor-element-a317ae3 elementor-widget elementor-widget-text-editor" data-id="a317ae3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Share this article</p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-36e623f9" data-id="36e623f9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-5133eb60 elementor-share-buttons--view-icon-text elementor-share-buttons--skin-gradient elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="5133eb60" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default">
				<div class="elementor-widget-container">
							<div class="elementor-grid" role="list">
								<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Teilen auf facebook">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-facebook" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Facebook									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Teilen auf twitter">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-twitter" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Twitter									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Teilen auf linkedin">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-linkedin" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										LinkedIn									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_xing" role="button" tabindex="0" aria-label="Teilen auf xing">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-xing" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										XING									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_whatsapp" role="button" tabindex="0" aria-label="Teilen auf whatsapp">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-whatsapp" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										WhatsApp									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_email" role="button" tabindex="0" aria-label="Teilen auf email">
															<span class="elementor-share-btn__icon">
								<i class="fas fa-envelope" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Email									</span>
																	</div>
													</div>
					</div>
						</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-44ee14b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="44ee14b" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2016350" data-id="2016350" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fe61344 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="fe61344" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-74d1969 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="74d1969" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6ad46ac" data-id="6ad46ac" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9c20307 elementor-post-navigation-borders-yes elementor-widget elementor-widget-global elementor-global-8844 elementor-widget-post-navigation" data-id="9c20307" data-element_type="widget" data-e-type="widget" data-widget_type="post-navigation.default">
				<div class="elementor-widget-container">
							<div class="elementor-post-navigation" role="navigation" aria-label="Beitrag Navigation">
			<div class="elementor-post-navigation__prev elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/near-zero-downtime-migration-mit-oracle-goldengate/" rel="prev"><span class="post-navigation__arrow-wrapper post-navigation__arrow-prev"><i aria-hidden="true" class="fas fa-angle-left"></i><span class="elementor-screen-only">Zurück</span></span><span class="elementor-post-navigation__link__prev"><span class="post-navigation__prev--label">Voriger Post</span><span class="post-navigation__prev--title">Near-Zero-Downtime-Migration mit Oracle GoldenGate</span></span></a>			</div>
							<div class="elementor-post-navigation__separator-wrapper">
					<div class="elementor-post-navigation__separator"></div>
				</div>
						<div class="elementor-post-navigation__next elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/haertung-von-oracle-linux-betriebssystemen-teil-2/" rel="next"><span class="elementor-post-navigation__link__next"><span class="post-navigation__next--label">Nächster Post</span><span class="post-navigation__next--title">Härtung von Oracle Linux Betriebssystemen Teil II</span></span><span class="post-navigation__arrow-wrapper post-navigation__arrow-next"><i aria-hidden="true" class="fas fa-angle-right"></i><span class="elementor-screen-only">Nächster</span></span></a>			</div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>Der Beitrag <a href="https://www.aspicon.de/news/dba-tipp-tablespacefreiplatz-und-buffer-cache-hit-ratio-erhoehen-durch-defragmentierung-von-tabellen/">DBA Tipp: Tablespacefreiplatz und Buffer Cache Hit Ratio erhöhen durch Defragmentierung von Tabellen</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DBA Tipp: Cursor-Sharing-Kandidaten in der Anwendung identifizieren</title>
		<link>https://www.aspicon.de/news/dba-tipp-cursor-sharing-kandidaten-in-der-anwendung-identifizieren/</link>
		
		<dc:creator><![CDATA[Thilo Solbrig, Oracle Certified Master]]></dc:creator>
		<pubDate>Fri, 07 Feb 2025 10:55:58 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tech Portfolio]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[DBA Tipp]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[Praxistipp]]></category>
		<guid isPermaLink="false">https://www.aspicon.de/?p=24085</guid>

					<description><![CDATA[<p>Wie du “tunenswerte” Statements in deiner Datenbank findest und welche zwei Möglichkeiten dir zur Optimierung zur Verfügung stehen.</p>
<p>Der Beitrag <a href="https://www.aspicon.de/news/dba-tipp-cursor-sharing-kandidaten-in-der-anwendung-identifizieren/">DBA Tipp: Cursor-Sharing-Kandidaten in der Anwendung identifizieren</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="24085" class="elementor elementor-24085" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-3d4c97a elementor-section-full_width elementor-section-content-top header-negative-margin elementor-section-height-default elementor-section-height-default" data-id="3d4c97a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c7154db container-diagonal-top-min-height header-positive-margin padding-row-100" data-id="4c7154db" data-element_type="column" data-e-type="column" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-2d7d0f03 colored-headline-on-mobile elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="2d7d0f03" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-68e5c1ce" data-id="68e5c1ce" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6e90bb4d elementor-widget elementor-widget-shortcode" data-id="6e90bb4d" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"> </div>
						</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-443f8023" data-id="443f8023" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7fc67385 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="7fc67385" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5df6a1c5" data-id="5df6a1c5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3cf8113 header-breadcrumbs-black black elementor-widget elementor-widget-breadcrumbs" data-id="3cf8113" data-element_type="widget" data-e-type="widget" data-widget_type="breadcrumbs.default">
				<div class="elementor-widget-container">
					<p id="breadcrumbs"><span><span><a href="https://www.aspicon.de/">Home</a></span> → <span class="breadcrumb_last" aria-current="page">Performance Tuning</span></span></p>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2e6f278 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2e6f278" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a3c0f9a" data-id="7a3c0f9a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-70fb6297 elementor-widget elementor-widget-spacer" data-id="70fb6297" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6f9331f5 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="6f9331f5" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-57d302c9" data-id="57d302c9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5c6a9ad4 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="5c6a9ad4" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">DBA Tipp: Cursor-Sharing-Kandidaten in der Anwendung identifizieren</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-2dcb8e1 ha-has-bg-overlay elementor-widget elementor-widget-global elementor-global-7902 elementor-widget-post-info" data-id="2dcb8e1" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
				<div class="elementor-widget-container">
							<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
								<li class="elementor-icon-list-item elementor-repeater-item-ae89516 elementor-inline-item" itemprop="author">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-user-circle"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author">
							<span class="elementor-post-info__item-prefix">Verfasst von</span>
										Thilo Solbrig, Oracle Certified Master					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-253e24d elementor-inline-item" itemprop="datePublished">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-calendar"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
										<time>07 Februar 2025</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-810d981 elementor-inline-item">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-clock"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-time">
										<time>11:55</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-acd9d0d elementor-inline-item" itemprop="about">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-tags"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms">
										<span class="elementor-post-info__terms-list">
				<a href="https://www.aspicon.de/news/tag/datenbank/" class="elementor-post-info__terms-list-item">Datenbank</a>, <a href="https://www.aspicon.de/news/tag/dba-tipp/" class="elementor-post-info__terms-list-item">DBA Tipp</a>, <a href="https://www.aspicon.de/news/tag/oracle/" class="elementor-post-info__terms-list-item">Oracle</a>, <a href="https://www.aspicon.de/news/tag/performance-tuning/" class="elementor-post-info__terms-list-item">Performance Tuning</a>, <a href="https://www.aspicon.de/news/tag/praxistipp/" class="elementor-post-info__terms-list-item">Praxistipp</a>				</span>
					</span>
								</li>
				</ul>
						</div>
				</div>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-db373fd elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="db373fd" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-2800617" data-id="2800617" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-731920e elementor-widget__width-initial elementor-widget elementor-widget-text-editor" data-id="731920e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Cursor Sharing hat zweifellos eine große Bedeutung für die Performance, insbesondere das Vermeiden des Hard Parsing. Auf den ersten Blick nicht offensichtlich, kann das Vorhalten vieler nicht-wiederverwendbarer Statements im Library Cache aber auch zur Verschwendung von Buffer Cache führen. Wie du Cursor-Sharing-Kandidaten in deiner Datenbank findest und welche zwei Möglichkeiten dir zur Optimierung zur Verfügung stehen, zeigt dieser DBA Tipp.&nbsp;</p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-8056916" data-id="8056916" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e01fed9 elementor-widget elementor-widget-image" data-id="e01fed9" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img fetchpriority="high" decoding="async" width="500" height="500" src="https://www.aspicon.de/wp-content/uploads/2024/05/oracle_database_logo.png" class="attachment-large size-large wp-image-22429" alt="Logo Oracle Database" srcset="https://www.aspicon.de/wp-content/uploads/2024/05/oracle_database_logo.png 500w, https://www.aspicon.de/wp-content/uploads/2024/05/oracle_database_logo-300x300.png 300w, https://www.aspicon.de/wp-content/uploads/2024/05/oracle_database_logo-150x150.png 150w, https://www.aspicon.de/wp-content/uploads/2024/05/oracle_database_logo-50x50.png 50w" sizes="(max-width: 500px) 100vw, 500px">															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-ca275e9 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="ca275e9" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-796b342 elementor-widget elementor-widget-heading" data-id="796b342" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Cursor-Sharing datenbankweit erzwingen</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-895369b elementor-widget elementor-widget-text-editor" data-id="895369b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Oracles Diagnosetools AWR und statspack speichern in ihren Repositories neben Ausführungsstatistiken auch Ausführungspläne ab. Diese werden regulär per INSERT-SELECT aus entsprechenden Data Dictionary-Views in die Repositories übertragen. Je mehr Statements sich im Shared Pool befinden, desto mehr SELECT-Statements werden ausgeführt und entsprechend Datenblöcke durch den Buffer Cache geschleust. Das verdrängt unter Umständen in großem Umfang Datenblöcke, die für die eigentliche Datenbankanwendung dort gepuffert waren und performancerelevant wären.</p>
<p>Zudem haben wir oft beobachtet, dass vergleichsweise große Shared Pools mit sehr vielen nicht-wiederverwendbaren Statements zu einer erhöhten Anzahl von „library cache: mutex X“ oder „library cache pin“ Wait-Events führen. Du kannst Cursor Sharing an der Anwendung vorbei datenbankweit mit dem Parameter CURSOR_SHARING=FORCE erzwingen. In diesem Fall ersetzt die Datenbank von sich aus Literale in SQL-Statements durch Bindevariablen.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-b01d68e elementor-widget elementor-widget-heading" data-id="b01d68e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Anpassung über Anwendungshersteller</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-cd6d2d2 elementor-widget elementor-widget-text-editor" data-id="cd6d2d2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Nicht alle Anwendungshersteller gestatten das jedoch. Zum Teil gibt es auch Ressentiments gegen diese Einstellung, die aus sogenannten bind peeking Problemen aus Versionen vor 11.2.0.4, herrühren. Hat man entsprechenden Zugang zum Support des Anwendungsentwicklers, kann es daher von Interesse sein, ihm die konkreten Statements mitzuteilen, die wegen Verzicht auf Bindevariablen den Library Cache besonders exzessiv verschwenden. Diese können dann in puncto Bindevariablen im Code angepasst werden.</p>
<p>Zu Demonstrationszwecken gehen wir von einem Szenario aus, in dem ein SELECT-Statement 10.000 Mal ausgeführt wird – jedes Mal mit einer anderen ID:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-6b44c8f ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="6b44c8f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SELECT ADDRESS_ID, CUSTOMER_ID, DATE_CREATED, HOUSE_NO_OR_NAME, STREET_NAME, TOWN, COUNTY, COUNTRY, POST_CODE, ZIP_CODE FROM ADDRESSES WHERE <b>CUSTOMER_ID = 1</b>;
SELECT ADDRESS_ID, CUSTOMER_ID, DATE_CREATED, HOUSE_NO_OR_NAME, STREET_NAME, TOWN, COUNTY, COUNTRY, POST_CODE, ZIP_CODE FROM ADDRESSES WHERE <b>CUSTOMER_ID = 2</b>;
...
SELECT ADDRESS_ID, CUSTOMER_ID, DATE_CREATED, HOUSE_NO_OR_NAME, STREET_NAME, TOWN, COUNTY, COUNTRY, POST_CODE, ZIP_CODE FROM ADDRESSES WHERE <b>CUSTOMER_ID = 9999</b>;
SELECT ADDRESS_ID, CUSTOMER_ID, DATE_CREATED, HOUSE_NO_OR_NAME, STREET_NAME, TOWN, COUNTY, COUNTRY, POST_CODE, ZIP_CODE FROM ADDRESSES WHERE <b>CUSTOMER_ID = 10000</b>;

NAME                                                VALUE

---------------------------------------------- ----------
execute count                                       10351
parse count (describe)                                  0
parse count (failures)                                  0
<b>parse count (hard)                                  10037</b>
parse count (total)                                 10200
<b>parse time cpu                                        677</b>
parse time elapsed                                    648</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-ffbbe6f elementor-widget elementor-widget-heading" data-id="ffbbe6f" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Wiederverwendbare Statements erstellen</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-aefa74f elementor-widget elementor-widget-text-editor" data-id="aefa74f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Wie unschwer zu erkennen ist, könnte dieses Statement durch Ersetzen des Literals für CUSTOMER_ID zu einem wiederverwendbaren Statement abgeändert werden. Statt 10.000 Hard Parses mit je einer Ausführung, wäre dann nur noch 1 Hard Parse erforderlich. Das geparste Statement könnte dann die nächsten 9999 Mal wiederverwendet werden und würde erheblich ressourcensparender arbeiten. Ob das über den Datenbankparameter CURSOR_SHARING=FORCE oder durch Änderung der Anwendung erfolgt, ist hierbei letztlich unerheblich.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-115686e ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="115686e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SELECT ADDRESS_ID, CUSTOMER_ID, DATE_CREATED, HOUSE_NO_OR_NAME, STREET_NAME, TOWN, COUNTY, COUNTRY, POST_CODE, ZIP_CODE FROM ADDRESSES WHERE <strong>CUSTOMER_ID = :ID</strong>;

NAME                                                 VALUE
----------------------------------------------- ----------
execute count                                        10015
parse count (describe)                                   0
parse count (failures)                                   0
<strong>parse count (hard)                                      39</strong>
parse count (total)                                  10201
<strong>parse time cpu                                          81</strong>
parse time elapsed                                      67</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-acfa396 elementor-widget elementor-widget-heading" data-id="acfa396" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Auffinden der Cursor-Sharing-Kandidaten</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-bfc92dc elementor-widget elementor-widget-text-editor" data-id="bfc92dc" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Zum Auffinden solcher „tunenswerter“ Statements in einer Datenbank bedient man sich der Data-Dictionary-View v$sql. Sie führt zu jedem gecachten Statement in der Spalte FORCE_MATCHING_SIGNATURE eine Signatur seines Äquivalents bei Verwendung von CURSOR_SHARING=FORCE mit. Die Anzahl der Einträge in v$sql mit jeweils gleicher Signatur ist also ein gutes Maß dafür, wie viele Ausprägungen eines Statements im Cache liegen, nur weil unterschiedliche Literale verwendet wurden.</p>
<p>In unserem Beispiel würde das Ergebnis aus der v$sql ohne Cursorsharing in etwa so aussehen:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-48095f1 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="48095f1" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>select force_matching_signature,count(*) anzahl
from v$sql
group by force_matching_signature
order by 2;


FORCE_MATCHING_SIGNATURE 	ANZAHL
------------------------ ----------
 	1253587301725552198     2
 	7928100255923163774     2
	17867806445150202466    3
	10927028642624449365    3
 	5494157341192764346     3
	11682584117507924582    3
	17301900507670644855    3
	17274913944183326537    3
   	    	0    121
 	8094602905134864270  	10000</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-2236152 elementor-widget elementor-widget-text-editor" data-id="2236152" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In unserem Testfall ist das unterste Statement mit der höchsten Ausprägung (10.000 Einträge mit der gleichen FORCE_MATCHING_SIGNATURE 8094602905134864270) vordergründig interessant. Mit einigen Samples könnten wir uns jetzt ein ungefähres Bild verschaffen, um welche Statements es sich handelt:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-abef9cc ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="abef9cc" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>select sql_text from v$sql
where force_matching_signature=8094602905134864270
fetch first 5 rows only;


SQL_TEXT
----------------------------------------------------------------------------------------------------
SELECT ADDRESS_ID, CUSTOMER_ID, DATE_CREATED, HOUSE_NO_OR_NAME, STREET_NAME, TOWN, COUNTY, COUNTRY,
POST_CODE, ZIP_CODE FROM ADDRESSES WHERE CUSTOMER_ID =9933


SELECT ADDRESS_ID, CUSTOMER_ID, DATE_CREATED, HOUSE_NO_OR_NAME, STREET_NAME, TOWN, COUNTY, COUNTRY,
POST_CODE, ZIP_CODE FROM ADDRESSES WHERE CUSTOMER_ID =8082


SELECT ADDRESS_ID, CUSTOMER_ID, DATE_CREATED, HOUSE_NO_OR_NAME, STREET_NAME, TOWN, COUNTY, COUNTRY,
POST_CODE, ZIP_CODE FROM ADDRESSES WHERE CUSTOMER_ID =2080


SELECT ADDRESS_ID, CUSTOMER_ID, DATE_CREATED, HOUSE_NO_OR_NAME, STREET_NAME, TOWN, COUNTY, COUNTRY,
POST_CODE, ZIP_CODE FROM ADDRESSES WHERE CUSTOMER_ID =6237


SELECT ADDRESS_ID, CUSTOMER_ID, DATE_CREATED, HOUSE_NO_OR_NAME, STREET_NAME, TOWN, COUNTY, COUNTRY,
POST_CODE, ZIP_CODE FROM ADDRESSES WHERE CUSTOMER_ID =7514
</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-1c7d12e elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="1c7d12e" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-0029aa7 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="0029aa7" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-234992d" data-id="234992d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-94e81d4 elementor-widget elementor-widget-heading" data-id="94e81d4" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Fazit</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-da0eeba elementor-widget elementor-widget-text-editor" data-id="da0eeba" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Statements, die Literale statt Bindvalues verwenden, können sich durch erhöhten Parseaufwand und Verschwendung von Library und auch Buffer Cache negativ auf die Performance auswirken. Ist eine globale Lösung durch Verwendung des Datenbankparameters CURSOR_SHARING=FORCE nicht möglich, können die potentiell problematischen Statements dynamisch ermittelt und so dem Anwendungshersteller für eine gezielte Anpassung mitgeteilt werden.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-c6d1c75 elementor-widget elementor-widget-text-editor" data-id="c6d1c75" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Hier findest du weitere Infos rund um <a href="/news/tag/oracle/">Oracle</a> aus unserem News &amp; Insights Bereich.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-58af599d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="58af599d" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-797156f1" data-id="797156f1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-1b2fa61a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1b2fa61a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-1a6b0eae" data-id="1a6b0eae" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-91e2d6a elementor-widget elementor-widget-image" data-id="91e2d6a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="40" height="28" src="https://www.aspicon.de/wp-content/uploads/2021/01/icon-arrow_right_medium-violet-blue.svg" class="attachment-full size-full wp-image-4817" alt="icon-arrow_right_medium-violet-blue.svg">															</div>
				</div>
				<div class="elementor-element elementor-element-a317ae3 elementor-widget elementor-widget-text-editor" data-id="a317ae3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Share this article</p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-36e623f9" data-id="36e623f9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-5133eb60 elementor-share-buttons--view-icon-text elementor-share-buttons--skin-gradient elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="5133eb60" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default">
				<div class="elementor-widget-container">
							<div class="elementor-grid" role="list">
								<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Teilen auf facebook">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-facebook" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Facebook									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Teilen auf twitter">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-twitter" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Twitter									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Teilen auf linkedin">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-linkedin" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										LinkedIn									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_xing" role="button" tabindex="0" aria-label="Teilen auf xing">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-xing" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										XING									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_whatsapp" role="button" tabindex="0" aria-label="Teilen auf whatsapp">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-whatsapp" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										WhatsApp									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_email" role="button" tabindex="0" aria-label="Teilen auf email">
															<span class="elementor-share-btn__icon">
								<i class="fas fa-envelope" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Email									</span>
																	</div>
													</div>
					</div>
						</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-44ee14b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="44ee14b" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2016350" data-id="2016350" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fe61344 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="fe61344" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-74d1969 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="74d1969" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6ad46ac" data-id="6ad46ac" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9c20307 elementor-post-navigation-borders-yes elementor-widget elementor-widget-global elementor-global-8844 elementor-widget-post-navigation" data-id="9c20307" data-element_type="widget" data-e-type="widget" data-widget_type="post-navigation.default">
				<div class="elementor-widget-container">
							<div class="elementor-post-navigation" role="navigation" aria-label="Beitrag Navigation">
			<div class="elementor-post-navigation__prev elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/mehr-sicherheit-fuer-deine-systeme-erster-oracle-quartalspatch-fuer-2025-verfuegbar/" rel="prev"><span class="post-navigation__arrow-wrapper post-navigation__arrow-prev"><i aria-hidden="true" class="fas fa-angle-left"></i><span class="elementor-screen-only">Zurück</span></span><span class="elementor-post-navigation__link__prev"><span class="post-navigation__prev--label">Voriger Post</span><span class="post-navigation__prev--title">Mehr Sicherheit für deine Systeme: Erster Oracle Quartalspatch für 2025 verfügbar</span></span></a>			</div>
							<div class="elementor-post-navigation__separator-wrapper">
					<div class="elementor-post-navigation__separator"></div>
				</div>
						<div class="elementor-post-navigation__next elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/dba-tipp-mit-oracle-flashback-in-die-vergangenheit-springen/" rel="next"><span class="elementor-post-navigation__link__next"><span class="post-navigation__next--label">Nächster Post</span><span class="post-navigation__next--title">DBA Tipp: Mit Oracle Flashback in die Vergangenheit springen</span></span><span class="post-navigation__arrow-wrapper post-navigation__arrow-next"><i aria-hidden="true" class="fas fa-angle-right"></i><span class="elementor-screen-only">Nächster</span></span></a>			</div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>Der Beitrag <a href="https://www.aspicon.de/news/dba-tipp-cursor-sharing-kandidaten-in-der-anwendung-identifizieren/">DBA Tipp: Cursor-Sharing-Kandidaten in der Anwendung identifizieren</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Automatische SQL-Planverwaltung in Oracle Datenbanken</title>
		<link>https://www.aspicon.de/news/automatische-sql-planverwaltung-in-oracle-datenbanken/</link>
		
		<dc:creator><![CDATA[Jens Böttcher]]></dc:creator>
		<pubDate>Tue, 21 May 2024 09:00:39 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tech Portfolio]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Hidden Feature]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Oracle Datenbank 12c /18c /19c /21c]]></category>
		<category><![CDATA[Oracle Datenbank 23ai]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<guid isPermaLink="false">https://www.aspicon.de/?p=22605</guid>

					<description><![CDATA[<p>Gute Nachrichten für alle Nutzer der automatischen SQL-Planverwaltung (kurz SPM): Das Feature steht ab sofort für die Enterprise Edition der Oracle Database 23ai bereit und wurde sogar in Oracle Database 19c (ab 19.22) zurück portiert.</p>
<p>Der Beitrag <a href="https://www.aspicon.de/news/automatische-sql-planverwaltung-in-oracle-datenbanken/">Automatische SQL-Planverwaltung in Oracle Datenbanken</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="22605" class="elementor elementor-22605" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-3d4c97a elementor-section-full_width elementor-section-content-top header-negative-margin elementor-section-height-default elementor-section-height-default" data-id="3d4c97a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c7154db container-diagonal-top-min-height header-positive-margin padding-row-100" data-id="4c7154db" data-element_type="column" data-e-type="column" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-2d7d0f03 colored-headline-on-mobile elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="2d7d0f03" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-68e5c1ce" data-id="68e5c1ce" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6e90bb4d elementor-widget elementor-widget-shortcode" data-id="6e90bb4d" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"> </div>
						</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-443f8023" data-id="443f8023" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7fc67385 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="7fc67385" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5df6a1c5" data-id="5df6a1c5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3cf8113 header-breadcrumbs-black black elementor-widget elementor-widget-breadcrumbs" data-id="3cf8113" data-element_type="widget" data-e-type="widget" data-widget_type="breadcrumbs.default">
				<div class="elementor-widget-container">
					<p id="breadcrumbs"><span><span><a href="https://www.aspicon.de/">Home</a></span> → <span class="breadcrumb_last" aria-current="page">Performance Tuning</span></span></p>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2e6f278 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2e6f278" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a3c0f9a" data-id="7a3c0f9a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-70fb6297 elementor-widget elementor-widget-spacer" data-id="70fb6297" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6f9331f5 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="6f9331f5" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-57d302c9" data-id="57d302c9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5c6a9ad4 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="5c6a9ad4" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">Automatische SQL-Planverwaltung in Oracle Datenbanken</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-2dcb8e1 ha-has-bg-overlay elementor-widget elementor-widget-global elementor-global-7902 elementor-widget-post-info" data-id="2dcb8e1" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
				<div class="elementor-widget-container">
							<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
								<li class="elementor-icon-list-item elementor-repeater-item-ae89516 elementor-inline-item" itemprop="author">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-user-circle"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author">
							<span class="elementor-post-info__item-prefix">Verfasst von</span>
										Jens Böttcher					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-253e24d elementor-inline-item" itemprop="datePublished">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-calendar"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
										<time>21 Mai 2024</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-810d981 elementor-inline-item">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-clock"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-time">
										<time>11:00</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-acd9d0d elementor-inline-item" itemprop="about">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-tags"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms">
										<span class="elementor-post-info__terms-list">
				<a href="https://www.aspicon.de/news/tag/datenbank/" class="elementor-post-info__terms-list-item">Datenbank</a>, <a href="https://www.aspicon.de/news/tag/hidden-feature/" class="elementor-post-info__terms-list-item">Hidden Feature</a>, <a href="https://www.aspicon.de/news/tag/oracle/" class="elementor-post-info__terms-list-item">Oracle</a>, <a href="https://www.aspicon.de/news/tag/oracle-database/" class="elementor-post-info__terms-list-item">Oracle Database</a>, <a href="https://www.aspicon.de/news/tag/oracle-datenbank-12c-18c-19c-21c/" class="elementor-post-info__terms-list-item">Oracle Datenbank 12c /18c /19c /21c</a>, <a href="https://www.aspicon.de/news/tag/oracle-datenbank-23ai/" class="elementor-post-info__terms-list-item">Oracle Datenbank 23ai</a>, <a href="https://www.aspicon.de/news/tag/performance-tuning/" class="elementor-post-info__terms-list-item">Performance Tuning</a>				</span>
					</span>
								</li>
				</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-731920e elementor-widget elementor-widget-text-editor" data-id="731920e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Die automatische SQL-Planverwaltung steht seit kurzem für die Enterprise Edition der Oracle Database 23ai bereit. Eine weitere gute Nachricht ist, dass diese Änderung auch in Oracle Database 19c (ab 19.22) zurück portiert wurde und Oracle nicht abgeneigt ist, auf noch weitere Patch-Versionen zurückzugehen. (Quelle: <a href="https://blogs.oracle.com/optimizer/post/license-change-for-auto-spm" target="_blank" rel="noopener">https://blogs.oracle.com/optimizer/post/license-change-for-auto-spm</a>)</p><p>Aber was ist eigentlich die SQL-Planverwaltung, wann brauchst du sie möglicherweise und was solltest du bei der Nutzung beachten? Lies weiter, dann erfährst du mehr.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-36ea676 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="36ea676" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-20bfd9a elementor-widget elementor-widget-heading" data-id="20bfd9a" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Vorteile und Anwendungsfälle der automatischen SQL-Planverwaltung</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-895369b elementor-widget elementor-widget-text-editor" data-id="895369b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-size: var( --e-global-typography-text-font-size ); font-style: var( --e-global-typography-text-font-style ); font-weight: var( --e-global-typography-text-font-weight ); letter-spacing: var( --e-global-typography-text-letter-spacing ); text-transform: var( --e-global-typography-text-text-transform );">Die automatische SQL-Planverwaltung (SPM) in Oracle Datenbanken ist ein intelligentes Feature, das die Leistung und Skalierbarkeit von Anwendungen durch Optimierung der Ausführungspläne für SQL-Abfragen verbessert. Du als Datenbankadministrator musst dich nicht mehr manuell um die Optimierung jedes einzelnen Plans kümmern, da die SPM diese Aufgabe proaktiv übernimmt und dafür sorgt, dass die Abfragen mit maximaler Effizienz ausgeführt werden.</span></p>								</div>
				</div>
				<div class="elementor-element elementor-element-f3f71e2 elementor-widget elementor-widget-text-editor" data-id="f3f71e2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Die Vorteile sind:</p><ul><li><strong>Verbesserte Performance</strong><br>SPM kann die Ausführungszeit von Abfragen erheblich verkürzen, indem es suboptimale Pläne erkennt und optimierte Alternativen generiert. Dies führt zu einer spürbaren Steigerung der Anwendungsleistung und Reaktionszeiten, insbesondere bei komplexen Abfragen oder hohen Datenmengen.</li><li><strong>Geringerer Administrationsaufwand</strong><br>DBAs werden von der zeitraubenden manuellen Planoptimierung entlastet und können sich so auf wichtigere Aufgaben konzentrieren. SPM automatisiert die Planverwaltung und sorgt dafür, dass die Datenbank immer optimal läuft.</li><li><strong>Skalierbarkeit</strong><br>SPM passt sich automatisch an Änderungen in der Arbeitslast und den Datenstrukturen an. Dies gewährleistet, dass die Abfragen auch bei steigenden Anforderungen effizient ausgeführt werden und Engpässe vermieden werden.</li><li><strong>Vereinfachte Fehlersuche<br></strong>SPM protokolliert detaillierte Informationen zu den verwendeten Plänen und deren Leistung. Diese Daten können zur Analyse von Performanceproblemen und zur Identifizierung von Engpässen herangezogen werden.</li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-1986c34 elementor-widget elementor-widget-text-editor" data-id="1986c34" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Besonders hilfreich kann das Feature in Produktionsumgebungen mit hohen Anforderungen an die Performance und Skalierbarkeit, in Umgebungen mit komplexen Abfragen und großen Datenmengen sowie in Umgebungen mit häufigen Änderungen an der Anwendungslogik oder den Datenstrukturen sein.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-386662c elementor-widget elementor-widget-heading" data-id="386662c" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Was du beachten solltest und wie du das Feature aktivieren kannst</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-d8d787b elementor-widget elementor-widget-text-editor" data-id="d8d787b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Bei der Nutzung der automatischen SQL-Planverwaltung solltest du folgende Punkte beachten:</p><ul><li>SPM ist kein Ersatz für eine gute Datenbankarchitektur und ein effizientes Datenmodell.</li><li>Die Aktivierung von SPM kann in einigen Fällen zu einem leichten Leistungsabfall führen, da die Optimierung der Pläne zusätzliche Ressourcen benötigt.</li><li>Bei komplexen Anwendungen kann es ratsam sein, SPM in Zusammenarbeit mit einem erfahrenen Oracle DBA zu implementieren und zu optimieren.</li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-8acdd1a elementor-widget elementor-widget-text-editor" data-id="8acdd1a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Um zu überprüfen, ob SPM aktiviert ist, kannst du folgendes Skript ausführen:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-fad001f ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="fad001f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SQL&gt; SELECT parameter_value spm_status FROM dba_sql_management_config WHERE parameter_name = 'AUTO_SPM_EVOLVE_TASK';
SPM_STATUS
----------
OFF
</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-0c0fa3b elementor-widget elementor-widget-text-editor" data-id="0c0fa3b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Aktivieren kannst du das Feature mit:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-384c6b5 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="384c6b5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SQL&gt; BEGIN
 DBMS_SPM.CONFIGURE('AUTO_SPM_EVOLVE_TASK','ON');
END;
/
</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-7547efa elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="7547efa" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-7962c4c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7962c4c" data-element_type="section" data-e-type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-f714565" data-id="f714565" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c119dec elementor-widget elementor-widget-heading" data-id="c119dec" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Fazit</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-781038e elementor-widget elementor-widget-text-editor" data-id="781038e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Die automatische SQL-Planverwaltung ist ein wertvolles Werkzeug für die Optimierung der Leistung und Skalierbarkeit von Oracle Datenbanken. Sie kann dich bei deiner Arbeit als Datenbankadministrator entlasten, die Performance deiner Systeme verbessern und die Stabilität von Anwendungen in komplexen Umgebungen gewährleisten.</p><p>Beachte jedoch, dass die Optimierung der Pläne zusätzliche Ressourcen benötigt. Solltest du Unterstützung benötigen, ruf uns gern an.&nbsp;</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-9684b6c elementor-widget elementor-widget-spacer" data-id="9684b6c" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-c6d1c75 elementor-widget elementor-widget-text-editor" data-id="c6d1c75" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Hier findest du weitere Features und&nbsp;Infos aus der Welt von <a href="/news/tag/oracle/">Oracle</a> aus unserem News &amp; Insights Bereich.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-58af599d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="58af599d" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-797156f1" data-id="797156f1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-1b2fa61a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1b2fa61a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-1a6b0eae" data-id="1a6b0eae" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-91e2d6a elementor-widget elementor-widget-image" data-id="91e2d6a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="40" height="28" src="https://www.aspicon.de/wp-content/uploads/2021/01/icon-arrow_right_medium-violet-blue.svg" class="attachment-full size-full wp-image-4817" alt="icon-arrow_right_medium-violet-blue.svg">															</div>
				</div>
				<div class="elementor-element elementor-element-a317ae3 elementor-widget elementor-widget-text-editor" data-id="a317ae3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Share this article</p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-36e623f9" data-id="36e623f9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-5133eb60 elementor-share-buttons--view-icon-text elementor-share-buttons--skin-gradient elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="5133eb60" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default">
				<div class="elementor-widget-container">
							<div class="elementor-grid" role="list">
								<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Teilen auf facebook">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-facebook" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Facebook									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Teilen auf twitter">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-twitter" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Twitter									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Teilen auf linkedin">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-linkedin" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										LinkedIn									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_xing" role="button" tabindex="0" aria-label="Teilen auf xing">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-xing" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										XING									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_whatsapp" role="button" tabindex="0" aria-label="Teilen auf whatsapp">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-whatsapp" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										WhatsApp									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_email" role="button" tabindex="0" aria-label="Teilen auf email">
															<span class="elementor-share-btn__icon">
								<i class="fas fa-envelope" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Email									</span>
																	</div>
													</div>
					</div>
						</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-44ee14b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="44ee14b" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2016350" data-id="2016350" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fe61344 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="fe61344" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-74d1969 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="74d1969" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6ad46ac" data-id="6ad46ac" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9c20307 elementor-post-navigation-borders-yes elementor-widget elementor-widget-global elementor-global-8844 elementor-widget-post-navigation" data-id="9c20307" data-element_type="widget" data-e-type="widget" data-widget_type="post-navigation.default">
				<div class="elementor-widget-container">
							<div class="elementor-post-navigation" role="navigation" aria-label="Beitrag Navigation">
			<div class="elementor-post-navigation__prev elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/release-info-oracle-database-23c-heisst-jetzt-23ai/" rel="prev"><span class="post-navigation__arrow-wrapper post-navigation__arrow-prev"><i aria-hidden="true" class="fas fa-angle-left"></i><span class="elementor-screen-only">Zurück</span></span><span class="elementor-post-navigation__link__prev"><span class="post-navigation__prev--label">Voriger Post</span><span class="post-navigation__prev--title">Release Info: Oracle Database 23c heißt jetzt 23ai</span></span></a>			</div>
							<div class="elementor-post-navigation__separator-wrapper">
					<div class="elementor-post-navigation__separator"></div>
				</div>
						<div class="elementor-post-navigation__next elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/release-update-oracle-linux-9-4-ist-da/" rel="next"><span class="elementor-post-navigation__link__next"><span class="post-navigation__next--label">Nächster Post</span><span class="post-navigation__next--title">Release Update: Oracle Linux 9.4 ist da</span></span><span class="post-navigation__arrow-wrapper post-navigation__arrow-next"><i aria-hidden="true" class="fas fa-angle-right"></i><span class="elementor-screen-only">Nächster</span></span></a>			</div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>Der Beitrag <a href="https://www.aspicon.de/news/automatische-sql-planverwaltung-in-oracle-datenbanken/">Automatische SQL-Planverwaltung in Oracle Datenbanken</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DBA Tipp: Frühjahrsputz im Index-Tablespace</title>
		<link>https://www.aspicon.de/news/dba-tipp-fruehjahrsputz-im-index-tablespace/</link>
		
		<dc:creator><![CDATA[Thilo Solbrig, Oracle Certified Master]]></dc:creator>
		<pubDate>Mon, 17 Apr 2023 06:03:00 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Servicewelten]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[DBA Tipp]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[Praxistipp]]></category>
		<guid isPermaLink="false">https://www.aspicon.de/?p=19147</guid>

					<description><![CDATA[<p>Im Rahmen von Performanceuntersuchungen und Healthchecks unserer Kundensysteme treffen wir häufig auf Indizes, die vom Grundsatz her nicht erforderlich sind. Zwei häufige Fälle - und Queries zum Auffinden entsprechender „Kandidaten“ - werden in diesem DBA Tipp vorgestellt.</p>
<p>Der Beitrag <a href="https://www.aspicon.de/news/dba-tipp-fruehjahrsputz-im-index-tablespace/">DBA Tipp: Frühjahrsputz im Index-Tablespace</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="19147" class="elementor elementor-19147" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-3d4c97a elementor-section-full_width elementor-section-content-top header-negative-margin elementor-section-height-default elementor-section-height-default" data-id="3d4c97a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c7154db container-diagonal-top-min-height header-positive-margin padding-row-100" data-id="4c7154db" data-element_type="column" data-e-type="column" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-2d7d0f03 colored-headline-on-mobile elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="2d7d0f03" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-68e5c1ce" data-id="68e5c1ce" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6e90bb4d elementor-widget elementor-widget-shortcode" data-id="6e90bb4d" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"> </div>
						</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-443f8023" data-id="443f8023" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7fc67385 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="7fc67385" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5df6a1c5" data-id="5df6a1c5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3cf8113 header-breadcrumbs-black black elementor-widget elementor-widget-breadcrumbs" data-id="3cf8113" data-element_type="widget" data-e-type="widget" data-widget_type="breadcrumbs.default">
				<div class="elementor-widget-container">
					<p id="breadcrumbs"><span><span><a href="https://www.aspicon.de/">Home</a></span> → <span class="breadcrumb_last" aria-current="page">Performance Tuning</span></span></p>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2e6f278 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2e6f278" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a3c0f9a" data-id="7a3c0f9a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-70fb6297 elementor-widget elementor-widget-spacer" data-id="70fb6297" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6f9331f5 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="6f9331f5" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-57d302c9" data-id="57d302c9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5c6a9ad4 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="5c6a9ad4" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">DBA Tipp: Frühjahrsputz im Index-Tablespace</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-2dcb8e1 ha-has-bg-overlay elementor-widget elementor-widget-global elementor-global-7902 elementor-widget-post-info" data-id="2dcb8e1" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
				<div class="elementor-widget-container">
							<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
								<li class="elementor-icon-list-item elementor-repeater-item-ae89516 elementor-inline-item" itemprop="author">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-user-circle"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author">
							<span class="elementor-post-info__item-prefix">Verfasst von</span>
										Thilo Solbrig, Oracle Certified Master					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-253e24d elementor-inline-item" itemprop="datePublished">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-calendar"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
										<time>17 April 2023</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-810d981 elementor-inline-item">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-clock"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-time">
										<time>08:03</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-acd9d0d elementor-inline-item" itemprop="about">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-tags"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms">
										<span class="elementor-post-info__terms-list">
				<a href="https://www.aspicon.de/news/tag/datenbank/" class="elementor-post-info__terms-list-item">Datenbank</a>, <a href="https://www.aspicon.de/news/tag/dba-tipp/" class="elementor-post-info__terms-list-item">DBA Tipp</a>, <a href="https://www.aspicon.de/news/tag/oracle/" class="elementor-post-info__terms-list-item">Oracle</a>, <a href="https://www.aspicon.de/news/tag/oracle-database/" class="elementor-post-info__terms-list-item">Oracle Database</a>, <a href="https://www.aspicon.de/news/tag/performance-tuning/" class="elementor-post-info__terms-list-item">Performance Tuning</a>, <a href="https://www.aspicon.de/news/tag/praxistipp/" class="elementor-post-info__terms-list-item">Praxistipp</a>				</span>
					</span>
								</li>
				</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-731920e elementor-widget elementor-widget-text-editor" data-id="731920e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Bei unserem internen “Frühjahrsputz” sind wir auf einen Beitrag von Oracle Certified Master Thilo aus dem Jahr 2020 zu genau diesem Thema gestoßen. Konkret geht es hier um den Frühjahrsputz im Index-Tablespace und warum es sich lohnt, diesen ab und zu mal aufzuräumen. Die Grundsätze und Queries treffen heute noch genauso zu wie damals, also Ärmel hochkrempeln und los geht’s!</p><p>Während Indizes grundsätzlich wichtig für eine performante Ausführung von DML und Queries sind, haben sie gleichzeitig auch Nachteile, denn:</p><ul><li>Jeder Index verursacht durch den impliziten Pflegeaufwand Overhead bei DML-Operationen.</li><li>Jeder Index belegt wertvollen Platz in der Datenbank und im Backup.</li><li>Die Berechnung von Indexstatistiken verbraucht Zeit und verursacht Last in der Datenbank.</li></ul><p><br>Ziel sollte es daher sein, nicht mehr Indizes vorzuhalten, als für eine performante Abwicklung der typischen Workload erforderlich sind.</p><p>Im Rahmen von Performanceuntersuchungen und Healthchecks unserer Kundensysteme treffen wir häufig auf Indizes, die vom Grundsatz her nicht erforderlich sind. Zwei häufige Fälle – und Queries zum Auffinden entsprechender „Kandidaten“ – werden in diesem DBA Tipp vorgestellt.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-592b2fc elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="592b2fc" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-536cb09 elementor-widget elementor-widget-heading" data-id="536cb09" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Fall 1 – vertauschte Spaltenreihenfolge</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-41e8c18 elementor-widget elementor-widget-image" data-id="41e8c18" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" width="645" height="254" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_01_d481956d52-1.png" class="attachment-large size-large wp-image-19165" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_01_d481956d52-1.png 645w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_01_d481956d52-1-300x118.png 300w" sizes="(max-width: 645px) 100vw, 645px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 1</figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-8235717 elementor-widget elementor-widget-text-editor" data-id="8235717" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In Abbildung 1 siehst du die Indizes NDX_NAME_OWN_OBJECTS und NDX_OWN_NAME_OBJECTS, welche dieselben Spalten in unterschiedlicher Reihenfolge indizieren. Hintergrund einer derartigen Indizierung ist wahrscheinlich die falsche Annahme, damit sowohl für die Query</p>								</div>
				</div>
				<div class="elementor-element elementor-element-31aaec3 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="31aaec3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SELECT *
FROM scott_objects
<strong>WHERE object_name='EMP'
AND owner='SCOTT'</strong></pre>								</div>
				</div>
				<div class="elementor-element elementor-element-fc18a29 elementor-widget elementor-widget-text-editor" data-id="fc18a29" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>als auch für</p>								</div>
				</div>
				<div class="elementor-element elementor-element-c828648 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="c828648" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SELECT *<br>FROM scott_objects<br><strong>WHERE owner='SCOTT'<br>AND object_name='EMP'</strong></pre>								</div>
				</div>
				<div class="elementor-element elementor-element-86e7ebb elementor-widget elementor-widget-text-editor" data-id="86e7ebb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>jeweils auf einen Index zurückgreifen zu können. Tatsächlich reicht einer der beiden Indizes vollkommen aus. Der Optimizer tauscht bei Bedarf die beiden WHERE-Attribute aus, sodass er auch bei (vermeintlich) falscher Attributreihenfolge vom Index Gebrauch machen kann (Abbildung 2).</p>								</div>
				</div>
				<div class="elementor-element elementor-element-9c44f47 elementor-widget elementor-widget-image" data-id="9c44f47" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="753" height="600" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_02_9498800daf-1.png" class="attachment-large size-large wp-image-19169" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_02_9498800daf-1.png 753w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_02_9498800daf-1-300x239.png 300w" sizes="(max-width: 753px) 100vw, 753px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 2</figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-35080d8 elementor-widget elementor-widget-text-editor" data-id="35080d8" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Den hier beschriebenen Fall einer Indizierung desselben Satzes von Spalten in unterschiedlicher Reihenfolge findest du über folgende Query heraus (hier eingeschränkt auf das Schema SCOTT):</p>								</div>
				</div>
				<div class="elementor-element elementor-element-8c28b5a ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="8c28b5a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>WITH column_list AS<br>&nbsp; ( SELECT DISTINCT index_owner, index_name,<br>&nbsp;&nbsp;&nbsp; listagg(column_name,', ') within GROUP (<br>&nbsp; ORDER BY column_name) over (partition BY index_name) cols<br>&nbsp; FROM dba_ind_columns<br>&nbsp; )<br>SELECT DISTINCT fst.index_owner,<br>&nbsp; fst.index_name,<br>&nbsp; snd.index_owner,<br>&nbsp; snd.index_name,<br>&nbsp; snd_cols.cols<br>FROM dba_ind_columns fst,<br>&nbsp; dba_ind_columns snd,<br>&nbsp; column_list fst_cols,<br>&nbsp; column_list snd_cols<br>WHERE fst.table_owner&nbsp; =snd.table_owner<br>AND fst.table_name&nbsp;&nbsp;&nbsp;&nbsp; =snd.table_name<br>AND fst.index_owner&nbsp;&nbsp;&nbsp; =fst_cols.index_owner<br>AND fst.index_name&nbsp;&nbsp;&nbsp;&nbsp; =fst_cols.index_name<br>AND snd.index_owner&nbsp;&nbsp;&nbsp; =snd_cols.index_owner<br>AND snd.index_name&nbsp;&nbsp;&nbsp;&nbsp; =snd_cols.index_name<br>AND fst_cols.cols&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =snd_cols.cols<br>AND fst.index_owner&nbsp;&nbsp;&nbsp; ='SCOTT'<br>AND fst.index_name!&nbsp;&nbsp;&nbsp; =snd.index_name</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-93d3172 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="93d3172" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-fa2335e elementor-widget elementor-widget-heading" data-id="fa2335e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Fall 2 – Index als linksbündiges Spalten-Subset eines anderen Indexes</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-b64d519 elementor-widget elementor-widget-text-editor" data-id="b64d519" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									In der Regel sind auch Indizes unnötig, die ein linksbündiges Subset eines anderen Indexes sind.

								</div>
				</div>
				<div class="elementor-element elementor-element-2f79ae1 elementor-widget elementor-widget-image" data-id="2f79ae1" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="800" height="284" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_03_bc18f94c35-1.png" class="attachment-large size-large wp-image-19170" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_03_bc18f94c35-1.png 800w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_03_bc18f94c35-1-300x107.png 300w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_03_bc18f94c35-1-768x273.png 768w" sizes="(max-width: 800px) 100vw, 800px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 3</figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-f3203e0 elementor-widget elementor-widget-text-editor" data-id="f3203e0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In Abbildung 3 ist der Index NDX_OWN_NAME_OBJECTS ein linksbündiges Subset von NDX_OWN_NAME_STAT_OBJECTS, da er komplett und in identischer Reihenfolge seiner Spalten<span style="font-size: var( --e-global-typography-text-font-size ); font-style: var( --e-global-typography-text-font-style ); font-weight: var( --e-global-typography-text-font-weight ); letter-spacing: var( --e-global-typography-text-letter-spacing ); text-transform: var( --e-global-typography-text-text-transform );">&nbsp;Bestandteil des Indexes NDX_OWN_NAME_STAT_OBJECTS ist&nbsp;</span><span style="font-size: var( --e-global-typography-text-font-size ); font-style: var( --e-global-typography-text-font-style ); font-weight: var( --e-global-typography-text-font-weight ); letter-spacing: var( --e-global-typography-text-letter-spacing ); text-transform: var( --e-global-typography-text-text-transform );">(beides muss erfüllt sein)</span><span style="font-size: var( --e-global-typography-text-font-size ); font-style: var( --e-global-typography-text-font-style ); font-weight: var( --e-global-typography-text-font-weight ); letter-spacing: var( --e-global-typography-text-letter-spacing ); text-transform: var( --e-global-typography-text-text-transform );">. Grundsätzlich würde der Index NDX_OWN_NAME_OBJECTS zwar für die Query</span></p>								</div>
				</div>
				<div class="elementor-element elementor-element-2d5af6f ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="2d5af6f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SELECT *<br>FROM scott_objects<br><strong>WHERE owner='SCOTT'<br>AND object_name='EMP'</strong></pre>								</div>
				</div>
				<div class="elementor-element elementor-element-f9ee10e elementor-widget elementor-widget-text-editor" data-id="f9ee10e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>gegenüber NDX_OWN_NAME_STAT_OBJECTS bevorzugt werden (Abbildung 4), da der Leseaufwand geringer ist (in NDX_OWN_NAME_STAT_OBJECTS müssten mehrere Leaf-Blocks gelesen werden).</p>								</div>
				</div>
				<div class="elementor-element elementor-element-68c1eac elementor-widget elementor-widget-image" data-id="68c1eac" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="753" height="600" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_04_db801a3acd-1.png" class="attachment-large size-large wp-image-19171" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_04_db801a3acd-1.png 753w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_04_db801a3acd-1-300x239.png 300w" sizes="(max-width: 753px) 100vw, 753px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 4</figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-75d92b1 elementor-widget elementor-widget-text-editor" data-id="75d92b1" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Allerdings könnte dieselbe Query ebenso NDX_OWN_NAME_STAT_OBJECTS nutzen, auch wenn nur ein Teil der Attribute dieses Indexes in der Query angegeben ist (Abbildung 5).</p>								</div>
				</div>
				<div class="elementor-element elementor-element-86cafdb elementor-widget elementor-widget-image" data-id="86cafdb" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="753" height="600" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_05_24e1a338da-1.png" class="attachment-large size-large wp-image-19172" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_05_24e1a338da-1.png 753w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_05_24e1a338da-1-300x239.png 300w" sizes="(max-width: 753px) 100vw, 753px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 5</figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-d95a6af elementor-widget elementor-widget-text-editor" data-id="d95a6af" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Achte aber bitte darauf, dass diese Regel nur für linksbündige Subsets gilt. Auf NDX_NAME_STAT_OBJECT z.B. kann nicht ohne Weiteres zugunsten NDX_OWN_NAME_STAT_OBJECTS verzichtet werden. Letzterer stimmt mit ersterem nämlich erst ab der zweiten Spalte überein (Abbildung 6).</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f5b2d91 elementor-widget elementor-widget-image" data-id="f5b2d91" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="800" height="284" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_06_390a5690b9-1.png" class="attachment-large size-large wp-image-19173" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_06_390a5690b9-1.png 800w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_06_390a5690b9-1-300x107.png 300w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_06_390a5690b9-1-768x273.png 768w" sizes="(max-width: 800px) 100vw, 800px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 6</figcaption>
										</figure>
									</div>
				</div>
				<div class="elementor-element elementor-element-b972a44 elementor-widget elementor-widget-text-editor" data-id="b972a44" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Das würde bei Abfragen ohne OWNER-Attribut in der WHERE-Klausel dazu führen, dass gar kein Index genutzt oder bestenfalls ein INDEX SKIP SCAN durchgeführt wird. Dieser ist jedoch erheblich „teurer“ und langsamer als der INDEX RANGE SCAN auf dem ursprünglichen Index (siehe Abbildung 7 vs. Abbildung 8).</p>								</div>
				</div>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-0e4475f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="0e4475f" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-744e5ed" data-id="744e5ed" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1abc4ef elementor-widget elementor-widget-image" data-id="1abc4ef" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="753" height="600" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_07_7d181da336-1.png" class="attachment-large size-large wp-image-19182" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_07_7d181da336-1.png 753w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_07_7d181da336-1-300x239.png 300w" sizes="(max-width: 753px) 100vw, 753px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 7</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-a7336cb" data-id="a7336cb" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-62f8fc4 elementor-widget elementor-widget-image" data-id="62f8fc4" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="753" height="600" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_08_d415b80062-1.png" class="attachment-large size-large wp-image-19175" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_08_d415b80062-1.png 753w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_08_d415b80062-1-300x239.png 300w" sizes="(max-width: 753px) 100vw, 753px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 8</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-1d4f93c elementor-widget elementor-widget-text-editor" data-id="1d4f93c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Alternativ kannst du auch auf den „breiteren“ Index NDX_OWN_NAME_STAT_OBJECTS zugunsten des „schmaleren“ NDX_OWN_NAME_OBJECTS verzichten, da der schmalere Index per se kleiner als der breitere ist. Hier solltest du allerdings drei nicht unwesentliche Dinge im Hinterkopf behalten:</p><ol><li>Du kannst nicht auf Indizes verzichten, die unique- oder primary key Constraints durchsetzen.<br><br></li><li>Der Verzicht auf eine Spalte, die im verworfenen Index noch enthalten war, erhöht die CPU-Last, da nach dem Indexzugriff jetzt noch ein Filtern in der Tabelle erforderlich wird (Abbildung 9 vs. Abbildung 10).<br><br></li><li>Queries, die bislang die angefragten Spalten schon im Index finden konnten, müssen nun neben dem Index auch noch auf die Tabelle zugreifen und werden folglich teurer und langsamer (Abbildung 11 vs. Abbildung 12).</li></ol>								</div>
				</div>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-c1309b8 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c1309b8" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-3e25e06" data-id="3e25e06" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-32191b9 elementor-widget elementor-widget-image" data-id="32191b9" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="753" height="600" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_09_df3e3e9d28-1.png" class="attachment-large size-large wp-image-19186" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_09_df3e3e9d28-1.png 753w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_09_df3e3e9d28-1-300x239.png 300w" sizes="(max-width: 753px) 100vw, 753px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 9</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-57bce0b" data-id="57bce0b" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8a75add elementor-widget elementor-widget-image" data-id="8a75add" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="753" height="600" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_10_b656334ba2-1.png" class="attachment-large size-large wp-image-19187" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_10_b656334ba2-1.png 753w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_10_b656334ba2-1-300x239.png 300w" sizes="(max-width: 753px) 100vw, 753px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 10</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-e48a21a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e48a21a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-054a558" data-id="054a558" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e022f40 elementor-widget elementor-widget-image" data-id="e022f40" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="753" height="600" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_11_f6b9938b07-1.png" class="attachment-large size-large wp-image-19188" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_11_f6b9938b07-1.png 753w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_11_f6b9938b07-1-300x239.png 300w" sizes="(max-width: 753px) 100vw, 753px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 11</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-96e416e" data-id="96e416e" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1a9346d elementor-widget elementor-widget-image" data-id="1a9346d" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="753" height="600" src="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_12_a586b02123-1.png" class="attachment-large size-large wp-image-19189" alt srcset="https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_12_a586b02123-1.png 753w, https://www.aspicon.de/wp-content/uploads/2023/03/csm_screenshot_dba_tipp_2015-04_12_a586b02123-1-300x239.png 300w" sizes="(max-width: 753px) 100vw, 753px">											<figcaption class="widget-image-caption wp-caption-text">Abbildung 12</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-885f249 elementor-widget elementor-widget-text-editor" data-id="885f249" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Indizes, die linksbündige Subsets anderer Indizes und damit Löschkandidaten im Sinne dieses DBA Tipps sind, findest du mit folgender Query (ebenfalls eingeschränkt auf das Schema SCOTT):</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f3c829d ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="f3c829d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>WITH column_list AS<br>&nbsp; ( SELECT DISTINCT index_owner,<br>&nbsp;&nbsp;&nbsp; index_name,<br>&nbsp;&nbsp;&nbsp; listagg(column_name,', ') within GROUP (<br>&nbsp; ORDER BY column_position) over (partition BY index_name) cols<br>&nbsp; FROM dba_ind_columns<br>&nbsp; )<br>SELECT DISTINCT fst.index_owner superset_owner,<br>&nbsp; fst.index_name superset_index,<br>&nbsp; fst_cols.cols superset_columns,<br>&nbsp; snd.index_owner subset_owner,<br>&nbsp; snd.index_name subset_index,<br>&nbsp; snd_cols.cols subset_columns<br>FROM dba_ind_columns fst,<br>&nbsp; dba_ind_columns snd,<br>&nbsp; column_list fst_cols,<br>&nbsp; column_list snd_cols<br>WHERE fst.table_owner=snd.table_owner<br>AND fst.table_name&nbsp;&nbsp; =snd.table_name<br>AND fst.index_owner&nbsp; =fst_cols.index_owner<br>AND fst.index_name&nbsp;&nbsp; =fst_cols.index_name<br>AND snd.index_owner&nbsp; =snd_cols.index_owner<br>AND snd.index_name&nbsp;&nbsp; =snd_cols.index_name<br>AND fst_cols.cols LIKE snd_cols.cols||',_%'<br>AND fst.index_owner ='SCOTT'<br>AND fst.index_name! =snd.index_name</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-2a6170b elementor-widget elementor-widget-text-editor" data-id="2a6170b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Wahrscheinlich ist es dir bereits in diversen Screenshots aufgefallen: Die bessere Alternative zum Löschen der überflüssigen Indizes ist in diesem Fall das Ändern des Indexstatus auf „invisible“. Unsichtbare Indizes werden vom Optimizer nicht in Betracht gezogen, aber im Hintergrund weiter aktuell gehalten. Sollte sich herausstellen, dass du mit einer Annahme „schwer daneben gelegen hast“ und einen Index wieder aktivieren musst, dann muss er in diesem Fall nur „visible“ gesetzt werden und ist sofort wieder verfügbar. Ein gelöschter (oder unusable gesetzter) Index hingegen müsste erst neu aufgebaut werden. Selbstverständlich sollten die invisible gesetzten Indexes nach angemessener Zeit letztendlich dann doch gelöscht werden, denn nur so bekommst du den ganz oben erwähnten Overhead tatsächlich auch los.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-cb76302 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="cb76302" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-de010ba elementor-widget elementor-widget-heading" data-id="de010ba" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Fazit
</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-664eb21 elementor-widget elementor-widget-text-editor" data-id="664eb21" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Indizes haben konträre Auswirkungen auf eine Datenbank. Auf der einen Seite beschleunigen sie DML und Queries, auf der anderen Seite erhöhen sie den Platzbedarf und DML-Overhead. Daher sollten nicht mehr Indizes als absolut nötig in der Datenbank vorhanden sein. Mit Hilfe der oben erwähnten Queries lassen sich Indizes identifizieren, die Duplikate oder Subsets anderer Indizes sind. Diese Duplikate können tendenziell aus der Datenbank entfernt werden.</p><p>Übrigens: Informationen zum Indexmonitoring findest du in unserem DBA-Tipp <a href="https://www.aspicon.de/news/dba-tipp-index-monitoring-aufspueren-und-droppen-von-ungenutzten-indizes-in-datenbanken/">» Index-Monitoring – Aufspüren und Droppen von ungenutzten Indizes in Datenbanken</a>. Index Monitoring hilft dir, Indizes aufzuspüren, die zwar existieren, aber tatsächlich gar nicht benutzt werden.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-c6d1c75 elementor-widget elementor-widget-text-editor" data-id="c6d1c75" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Hier findest du weitere interessante Posts zum Thema <a href="https://www.aspicon.de/news/tag/oracle">Oracle</a> aus unserem News und Insights Bereich.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-58af599d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="58af599d" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-797156f1" data-id="797156f1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-1b2fa61a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1b2fa61a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-1a6b0eae" data-id="1a6b0eae" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-91e2d6a elementor-widget elementor-widget-image" data-id="91e2d6a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="40" height="28" src="https://www.aspicon.de/wp-content/uploads/2021/01/icon-arrow_right_medium-violet-blue.svg" class="attachment-full size-full wp-image-4817" alt="icon-arrow_right_medium-violet-blue.svg">															</div>
				</div>
				<div class="elementor-element elementor-element-a317ae3 elementor-widget elementor-widget-text-editor" data-id="a317ae3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Share this article</p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-36e623f9" data-id="36e623f9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-5133eb60 elementor-share-buttons--view-icon-text elementor-share-buttons--skin-gradient elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="5133eb60" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default">
				<div class="elementor-widget-container">
							<div class="elementor-grid" role="list">
								<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Teilen auf facebook">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-facebook" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Facebook									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Teilen auf twitter">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-twitter" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Twitter									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Teilen auf linkedin">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-linkedin" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										LinkedIn									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_xing" role="button" tabindex="0" aria-label="Teilen auf xing">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-xing" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										XING									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_whatsapp" role="button" tabindex="0" aria-label="Teilen auf whatsapp">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-whatsapp" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										WhatsApp									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_email" role="button" tabindex="0" aria-label="Teilen auf email">
															<span class="elementor-share-btn__icon">
								<i class="fas fa-envelope" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Email									</span>
																	</div>
													</div>
					</div>
						</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-44ee14b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="44ee14b" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2016350" data-id="2016350" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fe61344 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="fe61344" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-74d1969 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="74d1969" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6ad46ac" data-id="6ad46ac" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9c20307 elementor-post-navigation-borders-yes elementor-widget elementor-widget-global elementor-global-8844 elementor-widget-post-navigation" data-id="9c20307" data-element_type="widget" data-e-type="widget" data-widget_type="post-navigation.default">
				<div class="elementor-widget-container">
							<div class="elementor-post-navigation" role="navigation" aria-label="Beitrag Navigation">
			<div class="elementor-post-navigation__prev elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/dba-tipp-index-monitoring-aufspueren-und-droppen-von-ungenutzten-indizes-in-datenbanken/" rel="prev"><span class="post-navigation__arrow-wrapper post-navigation__arrow-prev"><i aria-hidden="true" class="fas fa-angle-left"></i><span class="elementor-screen-only">Zurück</span></span><span class="elementor-post-navigation__link__prev"><span class="post-navigation__prev--label">Voriger Post</span><span class="post-navigation__prev--title">DBA Tipp: Index-Monitoring – Aufspüren und Droppen von ungenutzten Indizes in Datenbanken</span></span></a>			</div>
							<div class="elementor-post-navigation__separator-wrapper">
					<div class="elementor-post-navigation__separator"></div>
				</div>
						<div class="elementor-post-navigation__next elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/oracle-critical-patch-update-april-2023/" rel="next"><span class="elementor-post-navigation__link__next"><span class="post-navigation__next--label">Nächster Post</span><span class="post-navigation__next--title">Oracle Critical Patch Update April 2023: Werde jetzt aktiv!</span></span><span class="post-navigation__arrow-wrapper post-navigation__arrow-next"><i aria-hidden="true" class="fas fa-angle-right"></i><span class="elementor-screen-only">Nächster</span></span></a>			</div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>Der Beitrag <a href="https://www.aspicon.de/news/dba-tipp-fruehjahrsputz-im-index-tablespace/">DBA Tipp: Frühjahrsputz im Index-Tablespace</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DBA Tipp: Index-Monitoring – Aufspüren und Droppen von ungenutzten Indizes in Datenbanken</title>
		<link>https://www.aspicon.de/news/dba-tipp-index-monitoring-aufspueren-und-droppen-von-ungenutzten-indizes-in-datenbanken/</link>
		
		<dc:creator><![CDATA[Thilo Solbrig, Oracle Certified Master]]></dc:creator>
		<pubDate>Mon, 03 Apr 2023 06:06:00 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Servicewelten]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[DBA Tipp]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[Praxistipp]]></category>
		<guid isPermaLink="false">https://www.aspicon.de/?p=19212</guid>

					<description><![CDATA[<p>Ungenutzte Indizes bringen faktisch nur Nachteile mit sich. Daher ist es durchaus ratsam, sie von Zeit zu Zeit auf ihre Daseinsberechtigung hin zu prüfen.</p>
<p>Der Beitrag <a href="https://www.aspicon.de/news/dba-tipp-index-monitoring-aufspueren-und-droppen-von-ungenutzten-indizes-in-datenbanken/">DBA Tipp: Index-Monitoring – Aufspüren und Droppen von ungenutzten Indizes in Datenbanken</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="19212" class="elementor elementor-19212" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-3d4c97a elementor-section-full_width elementor-section-content-top header-negative-margin elementor-section-height-default elementor-section-height-default" data-id="3d4c97a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c7154db container-diagonal-top-min-height header-positive-margin padding-row-100" data-id="4c7154db" data-element_type="column" data-e-type="column" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-2d7d0f03 colored-headline-on-mobile elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="2d7d0f03" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-68e5c1ce" data-id="68e5c1ce" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6e90bb4d elementor-widget elementor-widget-shortcode" data-id="6e90bb4d" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"> </div>
						</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-443f8023" data-id="443f8023" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7fc67385 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="7fc67385" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5df6a1c5" data-id="5df6a1c5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3cf8113 header-breadcrumbs-black black elementor-widget elementor-widget-breadcrumbs" data-id="3cf8113" data-element_type="widget" data-e-type="widget" data-widget_type="breadcrumbs.default">
				<div class="elementor-widget-container">
					<p id="breadcrumbs"><span><span><a href="https://www.aspicon.de/">Home</a></span> → <span class="breadcrumb_last" aria-current="page">Performance Tuning</span></span></p>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2e6f278 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2e6f278" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a3c0f9a" data-id="7a3c0f9a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-70fb6297 elementor-widget elementor-widget-spacer" data-id="70fb6297" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6f9331f5 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="6f9331f5" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-57d302c9" data-id="57d302c9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5c6a9ad4 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="5c6a9ad4" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">DBA Tipp: Index-Monitoring – Aufspüren und Droppen von ungenutzten Indizes in Datenbanken</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-2dcb8e1 ha-has-bg-overlay elementor-widget elementor-widget-global elementor-global-7902 elementor-widget-post-info" data-id="2dcb8e1" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
				<div class="elementor-widget-container">
							<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
								<li class="elementor-icon-list-item elementor-repeater-item-ae89516 elementor-inline-item" itemprop="author">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-user-circle"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author">
							<span class="elementor-post-info__item-prefix">Verfasst von</span>
										Thilo Solbrig, Oracle Certified Master					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-253e24d elementor-inline-item" itemprop="datePublished">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-calendar"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
										<time>03 April 2023</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-810d981 elementor-inline-item">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-clock"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-time">
										<time>08:06</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-acd9d0d elementor-inline-item" itemprop="about">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-tags"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms">
										<span class="elementor-post-info__terms-list">
				<a href="https://www.aspicon.de/news/tag/datenbank/" class="elementor-post-info__terms-list-item">Datenbank</a>, <a href="https://www.aspicon.de/news/tag/dba-tipp/" class="elementor-post-info__terms-list-item">DBA Tipp</a>, <a href="https://www.aspicon.de/news/tag/oracle/" class="elementor-post-info__terms-list-item">Oracle</a>, <a href="https://www.aspicon.de/news/tag/oracle-database/" class="elementor-post-info__terms-list-item">Oracle Database</a>, <a href="https://www.aspicon.de/news/tag/performance-tuning/" class="elementor-post-info__terms-list-item">Performance Tuning</a>, <a href="https://www.aspicon.de/news/tag/praxistipp/" class="elementor-post-info__terms-list-item">Praxistipp</a>				</span>
					</span>
								</li>
				</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-731920e elementor-widget elementor-widget-text-editor" data-id="731920e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>In komplexen Datenbanksystemen existieren häufig eine Vielzahl von Indizes. Teilweise nehmen sie mehr Platz in Anspruch als die eigentlich indizierten Daten selbst. Indizes müssen bei jeder DML-Operation aktualisiert werden, belegen Platz im Buffer Cache, auf dem Storage der Datenbank und letztendlich auch im Backup. Daher ist es durchaus ratsam, sie von Zeit zu Zeit auf ihre Daseinsberechtigung hin zu prüfen. Denn ungenutzte Indizes bringen faktisch nur Nachteile mit sich.&nbsp;</p><p>Für dieses Indexmonitoring kannst du als DBA auf den Befehl “alter index … monitoring usage” zurückgreifen. Ein mit “monitoring” markierter Index erscheint daraufhin in der v$object_usage View des Indexowners:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-31aaec3 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="31aaec3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>[oracle@dr-02(db19c orcl2) ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Mar 23 18:02:31 2023
Version 19.10.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.10.0.0.0


SQL&gt; ALTER INDEX HR.EMP_DEPARTMENT_IX <strong>MONITORING USAGE</strong>;

Index altered.

SQL&gt; connect hr/hr
Connected.
SQL&gt; select * from v$object_usage;

INDEX_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>MON&nbsp;</strong>USE START_MONITORING&nbsp;&nbsp;&nbsp; 
------------------------- -------------------- --- --- -------------------
<strong>EMP_DEPARTMENT_IX&nbsp;</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EMPLOYEES &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>YES&nbsp;</strong>NO&nbsp; 02/01/2023 12:00:20</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-fc18a29 elementor-widget elementor-widget-text-editor" data-id="fc18a29" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Die Spalte MON(ITORING) zeigt an, dass der Index EMP_DEPARTMENT_IX gemonitort wird, entsprechend der Information in USE(D) allerdings bislang noch nicht verwendet wurde. Greift nun eine Abfrage auf den Index zu, ändert sich das USED-Flag entsprechend:								</div>
				</div>
				<div class="elementor-element elementor-element-c828648 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="c828648" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SQL&gt; select last_name from employees where department_id=110;<br><br>LAST_NAME<br>-------------------------<br>Higgins<br>Gietz<br><br>SQL&gt; select * from v$object_usage;<br><br>INDEX_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MON USE START_MONITORING&nbsp;&nbsp;&nbsp; <br>--------------------- -------------------- --- --- -------------------<br>EMP_DEPARTMENT_IX&nbsp;&nbsp;&nbsp;&nbsp; EMPLOYEES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YES YES 02/01/2023 12:00:20</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-86e7ebb elementor-widget elementor-widget-text-editor" data-id="86e7ebb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Lässt du das Indexmonitoring nun über einen repräsentativen Zeitraum laufen, erhältst du ein gutes Gefühl dafür, welche Indizes wahrscheinlich ohne Nutzen für die Datenbank sind und gedroppt werden können. Das Monitoring übersteht im Übrigen auch den Neustart der Datenbank. Es muss also am Ende des gewünschten Monitoringzeitraumes explizit wieder abgeschaltet werden:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-8c28b5a ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="8c28b5a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SQL&gt; ALTER INDEX HR.EMP_DEPARTMENT_IX<strong>&nbsp;NOMONITORING USAGE</strong>;<br><br>Index altered.<br><br>SQL&gt; select * from v$object_usage;<br><br>INDEX_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TABLE_NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>MON&nbsp;</strong>USE START_MONITORING&nbsp;&nbsp;&nbsp; END_MONITORING<br>--------------------- -------------------- --- --- ------------------- -------------------<br>EMP_DEPARTMENT_IX&nbsp;&nbsp;&nbsp;&nbsp; EMPLOYEES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>NO&nbsp;&nbsp;</strong>YES 02/01/2023 12:00:20 02/01/2023 12:08:08</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-b64d519 elementor-widget elementor-widget-text-editor" data-id="b64d519" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Das USED-Flag wird zurückgesetzt, wenn das Monitoring für den betreffenden Index wieder aktiviert wird. Es gibt alternativ zum sofortigen Löschen (vermeintlich) ungenutzter Indizes noch die charmante Alternative einer Karenzzeit mit Nutzung des “alter index … invisible”. Damit wird der betreffende Index für den Optimizer “unsichtbar” und damit nicht mehr genutzt. Der Index selbst wird allerdings weiterhin aktuell gehalten. Zeigt die Praxis, dass der Index tatsächlich noch erforderlich ist, kann er mittels “alter index … visible” sofort wieder aktiviert werden, ohne dass du ihn neu aufbauen musst. Das Löschen eines Index dagegen sollte wohl überlegt sein, da seine Wiederherstellung im Falle großer Indizes oder auf stark frequentierten Tabellen in der Standard Edition nur schwer im laufenden Betrieb und in der Enterprise Edition (alter index … rebuild online) nur mit erheblichen Performanceeinbußen erfolgen kann.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-cb76302 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="cb76302" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-de010ba elementor-widget elementor-widget-heading" data-id="de010ba" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Fazit
</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-664eb21 elementor-widget elementor-widget-text-editor" data-id="664eb21" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Indizes sind für die Leseperformance einer Datenbank elementar wichtig. Da ihre Haltung und Pflege auf der anderen Seite aber auch einen nennenswerten Aufwand generiert, gilt beim Einsatz von Indizes der Grundsatz: So viel wie nötig, so wenig wie möglich. Diesem Ziel kann man mit Index-Monitoring ein gutes Stück näher kommen.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-c6d1c75 elementor-widget elementor-widget-text-editor" data-id="c6d1c75" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Hier findest du weitere interessante Posts zum Thema <a href="https://www.aspicon.de/news/tag/oracle">Oracle</a> aus unserem News und Insights Bereich.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-58af599d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="58af599d" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-797156f1" data-id="797156f1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-1b2fa61a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1b2fa61a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-1a6b0eae" data-id="1a6b0eae" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-91e2d6a elementor-widget elementor-widget-image" data-id="91e2d6a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="40" height="28" src="https://www.aspicon.de/wp-content/uploads/2021/01/icon-arrow_right_medium-violet-blue.svg" class="attachment-full size-full wp-image-4817" alt="icon-arrow_right_medium-violet-blue.svg">															</div>
				</div>
				<div class="elementor-element elementor-element-a317ae3 elementor-widget elementor-widget-text-editor" data-id="a317ae3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Share this article</p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-36e623f9" data-id="36e623f9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-5133eb60 elementor-share-buttons--view-icon-text elementor-share-buttons--skin-gradient elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="5133eb60" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default">
				<div class="elementor-widget-container">
							<div class="elementor-grid" role="list">
								<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Teilen auf facebook">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-facebook" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Facebook									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Teilen auf twitter">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-twitter" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Twitter									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Teilen auf linkedin">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-linkedin" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										LinkedIn									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_xing" role="button" tabindex="0" aria-label="Teilen auf xing">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-xing" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										XING									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_whatsapp" role="button" tabindex="0" aria-label="Teilen auf whatsapp">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-whatsapp" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										WhatsApp									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_email" role="button" tabindex="0" aria-label="Teilen auf email">
															<span class="elementor-share-btn__icon">
								<i class="fas fa-envelope" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Email									</span>
																	</div>
													</div>
					</div>
						</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-44ee14b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="44ee14b" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2016350" data-id="2016350" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fe61344 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="fe61344" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-74d1969 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="74d1969" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6ad46ac" data-id="6ad46ac" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9c20307 elementor-post-navigation-borders-yes elementor-widget elementor-widget-global elementor-global-8844 elementor-widget-post-navigation" data-id="9c20307" data-element_type="widget" data-e-type="widget" data-widget_type="post-navigation.default">
				<div class="elementor-widget-container">
							<div class="elementor-post-navigation" role="navigation" aria-label="Beitrag Navigation">
			<div class="elementor-post-navigation__prev elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/sicherheit-in-postgresql-unser-vortrag-auf-den-chemnitzer-linux-tagen-2023/" rel="prev"><span class="post-navigation__arrow-wrapper post-navigation__arrow-prev"><i aria-hidden="true" class="fas fa-angle-left"></i><span class="elementor-screen-only">Zurück</span></span><span class="elementor-post-navigation__link__prev"><span class="post-navigation__prev--label">Voriger Post</span><span class="post-navigation__prev--title">Sicherheit in PostgreSQL – Unser Vortrag auf den Chemnitzer Linux-Tagen 2023</span></span></a>			</div>
							<div class="elementor-post-navigation__separator-wrapper">
					<div class="elementor-post-navigation__separator"></div>
				</div>
						<div class="elementor-post-navigation__next elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/dba-tipp-fruehjahrsputz-im-index-tablespace/" rel="next"><span class="elementor-post-navigation__link__next"><span class="post-navigation__next--label">Nächster Post</span><span class="post-navigation__next--title">DBA Tipp: Frühjahrsputz im Index-Tablespace</span></span><span class="post-navigation__arrow-wrapper post-navigation__arrow-next"><i aria-hidden="true" class="fas fa-angle-right"></i><span class="elementor-screen-only">Nächster</span></span></a>			</div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>Der Beitrag <a href="https://www.aspicon.de/news/dba-tipp-index-monitoring-aufspueren-und-droppen-von-ungenutzten-indizes-in-datenbanken/">DBA Tipp: Index-Monitoring – Aufspüren und Droppen von ungenutzten Indizes in Datenbanken</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DBA Tipp: SQL-Statements mit Syntax-Fehlern (Failed Parses) identifizieren</title>
		<link>https://www.aspicon.de/news/sql-statements-mit-syntax-fehlern-identifizieren/</link>
		
		<dc:creator><![CDATA[Jens Böttcher]]></dc:creator>
		<pubDate>Tue, 13 Sep 2022 08:01:03 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Servicewelten]]></category>
		<category><![CDATA[Tech Portfolio]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[DBA Tipp]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<guid isPermaLink="false">https://www.aspicon.de/?p=17244</guid>

					<description><![CDATA[<p>Bereits mit Oracle Bordmitteln lassen sich syntaktisch fehlerhafte SQL-Statements ermitteln.</p>
<p>Der Beitrag <a href="https://www.aspicon.de/news/sql-statements-mit-syntax-fehlern-identifizieren/">DBA Tipp: SQL-Statements mit Syntax-Fehlern (Failed Parses) identifizieren</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="17244" class="elementor elementor-17244" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-3d4c97a elementor-section-full_width elementor-section-content-top header-negative-margin elementor-section-height-default elementor-section-height-default" data-id="3d4c97a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c7154db container-diagonal-top-min-height header-positive-margin padding-row-100" data-id="4c7154db" data-element_type="column" data-e-type="column" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-2d7d0f03 colored-headline-on-mobile elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="2d7d0f03" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-68e5c1ce" data-id="68e5c1ce" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6e90bb4d elementor-widget elementor-widget-shortcode" data-id="6e90bb4d" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"> </div>
						</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-443f8023" data-id="443f8023" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7fc67385 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="7fc67385" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5df6a1c5" data-id="5df6a1c5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3cf8113 header-breadcrumbs-black black elementor-widget elementor-widget-breadcrumbs" data-id="3cf8113" data-element_type="widget" data-e-type="widget" data-widget_type="breadcrumbs.default">
				<div class="elementor-widget-container">
					<p id="breadcrumbs"><span><span><a href="https://www.aspicon.de/">Home</a></span> → <span class="breadcrumb_last" aria-current="page">Performance Tuning</span></span></p>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2e6f278 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2e6f278" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a3c0f9a" data-id="7a3c0f9a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-70fb6297 elementor-widget elementor-widget-spacer" data-id="70fb6297" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6f9331f5 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="6f9331f5" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-57d302c9" data-id="57d302c9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5c6a9ad4 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="5c6a9ad4" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">DBA Tipp: SQL-Statements mit Syntax-Fehlern (Failed Parses) identifizieren</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-2dcb8e1 ha-has-bg-overlay elementor-widget elementor-widget-global elementor-global-7902 elementor-widget-post-info" data-id="2dcb8e1" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
				<div class="elementor-widget-container">
							<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
								<li class="elementor-icon-list-item elementor-repeater-item-ae89516 elementor-inline-item" itemprop="author">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-user-circle"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author">
							<span class="elementor-post-info__item-prefix">Verfasst von</span>
										Jens Böttcher					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-253e24d elementor-inline-item" itemprop="datePublished">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-calendar"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
										<time>13 September 2022</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-810d981 elementor-inline-item">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-clock"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-time">
										<time>10:01</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-acd9d0d elementor-inline-item" itemprop="about">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-tags"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms">
										<span class="elementor-post-info__terms-list">
				<a href="https://www.aspicon.de/news/tag/datenbank/" class="elementor-post-info__terms-list-item">Datenbank</a>, <a href="https://www.aspicon.de/news/tag/dba-tipp/" class="elementor-post-info__terms-list-item">DBA Tipp</a>, <a href="https://www.aspicon.de/news/tag/oracle-database/" class="elementor-post-info__terms-list-item">Oracle Database</a>, <a href="https://www.aspicon.de/news/tag/performance-tuning/" class="elementor-post-info__terms-list-item">Performance Tuning</a>				</span>
					</span>
								</li>
				</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-731920e elementor-widget elementor-widget-text-editor" data-id="731920e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Das Debugging von fehlerhaften SQL-Statements in einer Anwendung kann, insbesondere bei größeren Applikationen, ziemlich aufwendig sein, solange keine Protokollierung der fehlerhaften Statements erfolgt. Dabei lohnt es sich, SQL-Statements mit Syntax-Fehlern zu identifizieren.</p><p>Standardmäßig werden in einer Oracle Datenbank keine fehlerhaften Statements festgehalten. Es werden aber, zumindest für Statements mit Syntaxfehlern, die Zähler „parse count (failures)“, „parse count (hard)“ und „parse count (total)“ für jedes fehlerhafte Statement um eins erhöht.</p><p>Der Wert für diese Zähler kann z.B. mit dem folgenden Statement ermittelt werden:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-1a99934 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="1a99934" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>COLUMN NAME FORMAT A30
SET PAGES 400
SELECT INST_ID, NAME, VALUE
FROM GV$SYSSTAT
WHERE NAME IN (
  'parse count (total)',
  'parse count (hard)',
  'parse count (failures)'
);</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-c4dbbfa elementor-widget elementor-widget-text-editor" data-id="c4dbbfa" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Im Folgenden werden wir das einmal an einem Beispiel erläutern.</p><p>Das fehlerhafte SQL-Statement lautet:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-3291efb ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="3291efb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SELECT FIRST_NAME, LAST_NAME FROM HR.EMPLOYEES WHERE EMPLOYEE__ID = 100;</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-c8b579a elementor-widget elementor-widget-text-editor" data-id="c8b579a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Korrekterweise müsste das Statement aber so lauten:&nbsp;</p>								</div>
				</div>
				<div class="elementor-element elementor-element-b301da9 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="b301da9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SELECT FIRST_NAME, LAST_NAME FROM HR.EMPLOYEES WHERE EMPLOYEE_ID = 100;</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-753d492 elementor-widget elementor-widget-text-editor" data-id="753d492" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Mit diesem PL/SQL-Skript werden wir das fehlerhafte SQL-Statement 10000 mal ausführen:&nbsp;</p>								</div>
				</div>
				<div class="elementor-element elementor-element-44ff4b0 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="44ff4b0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SET TIMING ON;
SET SERVEROUTPUT ON;
DECLARE
  I NUMBER := 1;
  I_MAX NUMBER := 10000;
  FAIL_CNTR NUMBER := 0;
  EXEC_CNTR NUMBER := 0;
BEGIN
  WHILE I &lt;= I_MAX LOOP
    BEGIN
      EXEC_CNTR := EXEC_CNTR + 1;
      EXECUTE IMMEDIATE '
SELECT FIRST_NAME, LAST_NAME FROM HR.EMPLOYEES WHERE EMPLOYEE__ID=100
';
    EXCEPTION
      WHEN OTHERS
      THEN FAIL_CNTR := FAIL_CNTR + 1;
    END;
    I := I + 1;
  END LOOP;
  DBMS_OUTPUT.PUT_LINE(CHR(10) || FAIL_CNTR || ' / ' || EXEC_CNTR || ' statements failed.');
END;
/
SET TIMING OFF;</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-e6e9d44 elementor-widget elementor-widget-text-editor" data-id="e6e9d44" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Vorher sind die Werte für Parse count Total/Hard/Failures so verteilt:&nbsp;</p>								</div>
				</div>
				<div class="elementor-element elementor-element-b99685d ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="b99685d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>   INST_ID NAME                                VALUE
---------- ------------------------------ ----------
         1 parse count (total)                  5909
         1 parse count (hard)                   1444
         1 parse count (failures)                  0</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-9939a0a elementor-widget elementor-widget-text-editor" data-id="9939a0a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Nachdem das korrekte SQL-Statement 10000 mal ausgeführt wurde (Dauer: 0,28 Sekunden):&nbsp;</p>								</div>
				</div>
				<div class="elementor-element elementor-element-03c0304 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="03c0304" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>   INST_ID NAME                                VALUE
---------- ------------------------------ ----------
         1 parse count (total)                  7162
         1 parse count (hard)                   1740
         1 parse count (failures)                  0</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-06f0def elementor-widget elementor-widget-text-editor" data-id="06f0def" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Nachdem das fehlerhafte SQL-Statement 10000 mal ausgeführt wurde (Dauer: 2,69 Sekunden):&nbsp;</p>								</div>
				</div>
				<div class="elementor-element elementor-element-146944f ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="146944f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>   INST_ID NAME                                VALUE
---------- ------------------------------ ----------
         1 parse count (total)                 17195
         1 parse count (hard)                  11746
         1 parse count (failures)              10000</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-f263894 elementor-widget elementor-widget-text-editor" data-id="f263894" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Man sieht, dass für die Ausführung des korrekten SQL-Statements kein Parse mehr notwendig ist, weil das Statement schon im Library Cache vorhanden ist. Das schlägt sich auch in einer schlechteren Performance nieder, da für das Parsing der 10000 Statements 2,41 Sekunden (2,69 – 0,28) benötigt werden.</p><p>Um jetzt die Sessions zu ermitteln, die für die vielen Failed Parses verantwortlich sind, kann die View gv$sesstat verwendet werden:&nbsp;</p>								</div>
				</div>
				<div class="elementor-element elementor-element-5b059a8 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="5b059a8" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SELECT S.INST_ID, S.SID, S.SERIAL#, STATN.NAME, STAT.VALUE
FROM GV$SESSION S
JOIN GV$SESSTAT STAT
  ON S.SID = STAT.SID AND S.INST_ID = STAT.INST_ID
JOIN GV$STATNAME STATN
  ON STAT.STATISTIC# = STATN.STATISTIC# AND STAT.INST_ID = STATN. INST_ID
WHERE STATN.NAME = 'parse count (failures)' AND STAT.VALUE &gt; 0
ORDER BY STAT.VALUE DESC;</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-9ef5006 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="9ef5006" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>   INST_ID        SID    SERIAL# NAME                                VALUE
---------- ---------- ---------- ------------------------------ ----------
         1        386      42069 parse count (failures)              30000</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-83ea57b elementor-widget elementor-widget-text-editor" data-id="83ea57b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Mit Hilfe der SID und der SERIAL# kann man die SQL-Statements mit den Syntaxfehlern ermitteln, in dem man für die betroffene Session ein Tracing einrichtet. Anhand des Beispiels wird das Tracing wie folgt eingerichtet.&nbsp;</p>								</div>
				</div>
				<div class="elementor-element elementor-element-cdd96f2 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="cdd96f2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(386, 42069, waits =&gt; false, binds =&gt; true);</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-dc06251 elementor-widget elementor-widget-text-editor" data-id="dc06251" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Damit wird eine Trace-File auf dem Datenbankserver im Trace-Verzeichnis erstellt. Für jeden fehlgeschlagenen Parse wird ein Log-Eintrag in der folgenden Form erzeugt:&nbsp;</p>								</div>
				</div>
				<div class="elementor-element elementor-element-a600063 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="a600063" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>PARSE ERROR #140737352601368:len=70 dep=1 uid=0 oct=3 lid=0 tim=3707057109080 err=904
SELECT FIRST_NAME, LAST_NAME FROM HR.EMPLOYEES WHERE EMPLOYEE__ID=100</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-10bed6a elementor-widget elementor-widget-text-editor" data-id="10bed6a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Nachdem die betroffenen Statements ermittelt wurden, empfehlen wir das Tracing wieder zu deaktivieren, um nicht unnötig viele Log-Einträge zu erzeugen.&nbsp;</p>								</div>
				</div>
				<div class="elementor-element elementor-element-40292d9 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="40292d9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>EXECUTE DBMS_MONITOR.SESSION_TRACE_DISABLE(386, 42069);</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-de010ba elementor-widget elementor-widget-heading" data-id="de010ba" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Fazit
</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-68738b4 elementor-widget elementor-widget-text-editor" data-id="68738b4" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Syntaktisch fehlerhafte SQL-Statements können gut über die Bordmittel der Oracle Datenbank ermittelt werden. Dabei zeigt sich auch, dass ein Ignorieren dieser Statement für einen erhöhten Parseaufwand sorgt und dadurch die Performance leidet.</p><p>Es lohnt sich also, SQL-Statements mit Syntax-Fehlern zu identifizieren.&nbsp;</p>								</div>
				</div>
				<div class="elementor-element elementor-element-c6d1c75 elementor-widget elementor-widget-text-editor" data-id="c6d1c75" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Hier findest du weitere interessante Posts zu den Themen <a title="Posts zu SQL Tuning" href="https://www.aspicon.de/news/tag/sql-tuning">SQL Tuning</a> oder <a title="Posts zu DBA Tipps" href="https://www.aspicon.de/news/tag/dba-tipp">DBA Tipps</a>&nbsp;aus unserem News und Insights Bereich.								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-58af599d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="58af599d" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-797156f1" data-id="797156f1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-1b2fa61a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1b2fa61a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-1a6b0eae" data-id="1a6b0eae" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-91e2d6a elementor-widget elementor-widget-image" data-id="91e2d6a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="40" height="28" src="https://www.aspicon.de/wp-content/uploads/2021/01/icon-arrow_right_medium-violet-blue.svg" class="attachment-full size-full wp-image-4817" alt="icon-arrow_right_medium-violet-blue.svg">															</div>
				</div>
				<div class="elementor-element elementor-element-a317ae3 elementor-widget elementor-widget-text-editor" data-id="a317ae3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Share this article</p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-36e623f9" data-id="36e623f9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-5133eb60 elementor-share-buttons--view-icon-text elementor-share-buttons--skin-gradient elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="5133eb60" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default">
				<div class="elementor-widget-container">
							<div class="elementor-grid" role="list">
								<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Teilen auf facebook">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-facebook" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Facebook									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Teilen auf twitter">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-twitter" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Twitter									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Teilen auf linkedin">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-linkedin" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										LinkedIn									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_xing" role="button" tabindex="0" aria-label="Teilen auf xing">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-xing" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										XING									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_whatsapp" role="button" tabindex="0" aria-label="Teilen auf whatsapp">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-whatsapp" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										WhatsApp									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_email" role="button" tabindex="0" aria-label="Teilen auf email">
															<span class="elementor-share-btn__icon">
								<i class="fas fa-envelope" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Email									</span>
																	</div>
													</div>
					</div>
						</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-44ee14b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="44ee14b" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2016350" data-id="2016350" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fe61344 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="fe61344" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-74d1969 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="74d1969" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6ad46ac" data-id="6ad46ac" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9c20307 elementor-post-navigation-borders-yes elementor-widget elementor-widget-global elementor-global-8844 elementor-widget-post-navigation" data-id="9c20307" data-element_type="widget" data-e-type="widget" data-widget_type="post-navigation.default">
				<div class="elementor-widget-container">
							<div class="elementor-post-navigation" role="navigation" aria-label="Beitrag Navigation">
			<div class="elementor-post-navigation__prev elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/dbvisit-standby-mp-v11-getestet-fuer-oracle-datenbanken/" rel="prev"><span class="post-navigation__arrow-wrapper post-navigation__arrow-prev"><i aria-hidden="true" class="fas fa-angle-left"></i><span class="elementor-screen-only">Zurück</span></span><span class="elementor-post-navigation__link__prev"><span class="post-navigation__prev--label">Voriger Post</span><span class="post-navigation__prev--title">Dbvisit Standby MP v11 – Getestet für Oracle Datenbanken.</span></span></a>			</div>
							<div class="elementor-post-navigation__separator-wrapper">
					<div class="elementor-post-navigation__separator"></div>
				</div>
						<div class="elementor-post-navigation__next elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/oracle-trace-file-analyzer-reduziert-arbeitsaufwand-dba/" rel="next"><span class="elementor-post-navigation__link__next"><span class="post-navigation__next--label">Nächster Post</span><span class="post-navigation__next--title">DBA Tipp: Der Oracle Trace File Analyzer</span></span><span class="post-navigation__arrow-wrapper post-navigation__arrow-next"><i aria-hidden="true" class="fas fa-angle-right"></i><span class="elementor-screen-only">Nächster</span></span></a>			</div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>Der Beitrag <a href="https://www.aspicon.de/news/sql-statements-mit-syntax-fehlern-identifizieren/">DBA Tipp: SQL-Statements mit Syntax-Fehlern (Failed Parses) identifizieren</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Tuning Tipp: Bindevariablen</title>
		<link>https://www.aspicon.de/news/sql-tuning-tipp-bindevariablen/</link>
		
		<dc:creator><![CDATA[Thilo Solbrig, Oracle Certified Master]]></dc:creator>
		<pubDate>Sun, 24 Oct 2021 06:00:38 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Servicewelten]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[DBA Tipp]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[SQL Tuning]]></category>
		<guid isPermaLink="false">https://www.aspicon.de/?p=15679</guid>

					<description><![CDATA[<p>Die Nutzung von Bindevariablen sollte Vorrang vor der Verwendung von Literalen haben.</p>
<p>Der Beitrag <a href="https://www.aspicon.de/news/sql-tuning-tipp-bindevariablen/">SQL Tuning Tipp: Bindevariablen</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="15679" class="elementor elementor-15679" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-3d4c97a elementor-section-full_width elementor-section-content-top header-negative-margin elementor-section-height-default elementor-section-height-default" data-id="3d4c97a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c7154db container-diagonal-top-min-height header-positive-margin padding-row-100" data-id="4c7154db" data-element_type="column" data-e-type="column" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-2d7d0f03 colored-headline-on-mobile elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="2d7d0f03" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-68e5c1ce" data-id="68e5c1ce" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6e90bb4d elementor-widget elementor-widget-shortcode" data-id="6e90bb4d" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"> </div>
						</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-443f8023" data-id="443f8023" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7fc67385 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="7fc67385" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5df6a1c5" data-id="5df6a1c5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d5797d5 header-breadcrumbs-black black elementor-widget elementor-widget-breadcrumbs" data-id="d5797d5" data-element_type="widget" data-e-type="widget" data-widget_type="breadcrumbs.default">
				<div class="elementor-widget-container">
					<p id="breadcrumbs"><span><span><a href="https://www.aspicon.de/">Home</a></span> → <span class="breadcrumb_last" aria-current="page">Performance Tuning</span></span></p>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2e6f278 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2e6f278" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a3c0f9a" data-id="7a3c0f9a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-70fb6297 elementor-widget elementor-widget-spacer" data-id="70fb6297" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6f9331f5 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="6f9331f5" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-57d302c9" data-id="57d302c9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5321adb elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="5321adb" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">SQL Tuning Tipp: Bindevariablen</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-901fcd4 ha-has-bg-overlay elementor-widget elementor-widget-global elementor-global-7902 elementor-widget-post-info" data-id="901fcd4" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
				<div class="elementor-widget-container">
							<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
								<li class="elementor-icon-list-item elementor-repeater-item-ae89516 elementor-inline-item" itemprop="author">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-user-circle"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author">
							<span class="elementor-post-info__item-prefix">Verfasst von</span>
										Thilo Solbrig, Oracle Certified Master					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-253e24d elementor-inline-item" itemprop="datePublished">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-calendar"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
										<time>24 Oktober 2021</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-810d981 elementor-inline-item">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-clock"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-time">
										<time>08:00</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-acd9d0d elementor-inline-item" itemprop="about">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-tags"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms">
										<span class="elementor-post-info__terms-list">
				<a href="https://www.aspicon.de/news/tag/datenbank/" class="elementor-post-info__terms-list-item">Datenbank</a>, <a href="https://www.aspicon.de/news/tag/dba-tipp/" class="elementor-post-info__terms-list-item">DBA Tipp</a>, <a href="https://www.aspicon.de/news/tag/oracle-database/" class="elementor-post-info__terms-list-item">Oracle Database</a>, <a href="https://www.aspicon.de/news/tag/performance-tuning/" class="elementor-post-info__terms-list-item">Performance Tuning</a>, <a href="https://www.aspicon.de/news/tag/sql-tuning/" class="elementor-post-info__terms-list-item">SQL Tuning</a>				</span>
					</span>
								</li>
				</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-731920e elementor-widget elementor-widget-text-editor" data-id="731920e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Die Nutzung von Literalen führt dazu, dass an sich gleiche (d.h. sich nur durch Literale unterscheidende) Statements nicht als solche erkannt, sondern jeweils einzeln behandelt. Und dann werden sie auch jeweils im Shared Pool gepuffert. Daraus ergeben sich folgende Nachteile:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-0838290 elementor-widget elementor-widget-text-editor" data-id="0838290" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul>
<li>
<p>Es fällt für jedes Statement CPU-Aufwand für Hard Parsing an, das im Ergebnis aber nur zu bereits bekannten Ausführungsplänen führt.</p>
</li>
<li>
<p>Die Pufferung dieser Statements und Ausführungspläne im Shared Pool bringt keinen Mehrwert, da die Wiederverwendung der Statements unwahrscheinlich ist.</p>
</li>
<li>
<p>Im Regelfall sind Oracle-Datenbanken auf Automatisches (Shared) Memory Management konfiguriert. Daher geht verschwendeter Shared Pool zu Lasten des Buffer Caches. Das zieht wiederum erhöhten I/O‑Aufwand zum Nachladen verdrängter Datenblöcke nach sich.</p>
</li>
<li>
<p>Diagnosetools wie AWR, Statspack oder Spotlight übertragen Statements, Ausführungspläne und ‑statistiken aus dem Shared Pool in ihr Repository. Ein mit unnötigen Statements gefüllter Shared Pool führt damit zu</p>
<p>&nbsp;*&nbsp;überproportional längeren Laufzeiten für die Diagnosesnapshots,</p>
<p>&nbsp;*&nbsp;überproportional höherem Platzbedarf in den Diagnoserepositories,</p>
<p>&nbsp;*&nbsp;überproportional &nbsp;höherem Verdrängen von Applikationsdaten aus dem Buffer Cache durch das Übertragen von Diagnosedaten in die Repositories.</p>
</li>
<li>
<p>Im Extremfall kann die so mittelbar von Diagnosetools verursachte Last erhebliche Performanceprobleme nach sich ziehen. Die eigentliche Überwachung der Performance wird so zum Problem für die Performance.</p>
</li>
<li>
<p>Sofern eine Verbesserung der Applikation nicht (mehr) oder nicht mit vertretbarem Aufwand möglich ist, kann die Ersetzung von Literalen durch Bindevariablen datenbankseitig erzwungen werden.</p>
</li>
</ul>								</div>
				</div>
				<div class="elementor-element elementor-element-c6d1c75 elementor-widget elementor-widget-text-editor" data-id="c6d1c75" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Hier findest du weitere Posts zu den Themen <a title="Posts zu SQL Tuning" href="https://www.aspicon.de/news/tag/sql-tuning/">SQL Tuning</a> bzw. <a title="Posts zu Performance Tuning" href="https://www.aspicon.de/news/tag/performance-tuning/">Performance Tuning</a> aus unserem News Bereich.								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-58af599d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="58af599d" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-797156f1" data-id="797156f1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-1b2fa61a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1b2fa61a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-1a6b0eae" data-id="1a6b0eae" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-91e2d6a elementor-widget elementor-widget-image" data-id="91e2d6a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="40" height="28" src="https://www.aspicon.de/wp-content/uploads/2021/01/icon-arrow_right_medium-violet-blue.svg" class="attachment-full size-full wp-image-4817" alt="icon-arrow_right_medium-violet-blue.svg">															</div>
				</div>
				<div class="elementor-element elementor-element-a317ae3 elementor-widget elementor-widget-text-editor" data-id="a317ae3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Share this article</p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-36e623f9" data-id="36e623f9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-443dfb7 elementor-share-buttons--view-icon-text elementor-share-buttons--skin-gradient elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="443dfb7" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default">
				<div class="elementor-widget-container">
							<div class="elementor-grid" role="list">
								<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Teilen auf facebook">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-facebook" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Facebook									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Teilen auf twitter">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-twitter" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Twitter									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Teilen auf linkedin">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-linkedin" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										LinkedIn									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_xing" role="button" tabindex="0" aria-label="Teilen auf xing">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-xing" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										XING									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_whatsapp" role="button" tabindex="0" aria-label="Teilen auf whatsapp">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-whatsapp" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										WhatsApp									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_email" role="button" tabindex="0" aria-label="Teilen auf email">
															<span class="elementor-share-btn__icon">
								<i class="fas fa-envelope" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Email									</span>
																	</div>
													</div>
					</div>
						</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-44ee14b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="44ee14b" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2016350" data-id="2016350" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fe61344 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="fe61344" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6ddf226 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6ddf226" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-da226d5" data-id="da226d5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-f96ca69 elementor-post-navigation-borders-yes elementor-widget elementor-widget-global elementor-global-8844 elementor-widget-post-navigation" data-id="f96ca69" data-element_type="widget" data-e-type="widget" data-widget_type="post-navigation.default">
				<div class="elementor-widget-container">
							<div class="elementor-post-navigation" role="navigation" aria-label="Beitrag Navigation">
			<div class="elementor-post-navigation__prev elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/sql-tuning-tipp-subquery-in-select-klausel/" rel="prev"><span class="post-navigation__arrow-wrapper post-navigation__arrow-prev"><i aria-hidden="true" class="fas fa-angle-left"></i><span class="elementor-screen-only">Zurück</span></span><span class="elementor-post-navigation__link__prev"><span class="post-navigation__prev--label">Voriger Post</span><span class="post-navigation__prev--title">SQL Tuning Tipp: Subquery in SELECT-Klausel</span></span></a>			</div>
							<div class="elementor-post-navigation__separator-wrapper">
					<div class="elementor-post-navigation__separator"></div>
				</div>
						<div class="elementor-post-navigation__next elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/hostname-aenderung-bei-grid-infrastructure-oracle-restart/" rel="next"><span class="elementor-post-navigation__link__next"><span class="post-navigation__next--label">Nächster Post</span><span class="post-navigation__next--title">Hostname-Änderung bei Grid Infrastructure (Oracle Restart)</span></span><span class="post-navigation__arrow-wrapper post-navigation__arrow-next"><i aria-hidden="true" class="fas fa-angle-right"></i><span class="elementor-screen-only">Nächster</span></span></a>			</div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>Der Beitrag <a href="https://www.aspicon.de/news/sql-tuning-tipp-bindevariablen/">SQL Tuning Tipp: Bindevariablen</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Tuning Tipp: Subquery in SELECT-Klausel</title>
		<link>https://www.aspicon.de/news/sql-tuning-tipp-subquery-in-select-klausel/</link>
		
		<dc:creator><![CDATA[Thilo Solbrig, Oracle Certified Master]]></dc:creator>
		<pubDate>Fri, 10 Sep 2021 06:00:26 +0000</pubDate>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Servicewelten]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[DBA Tipp]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[SQL Tuning]]></category>
		<guid isPermaLink="false">https://www.aspicon.de/?p=14827</guid>

					<description><![CDATA[<p>In der SELECT-Klausel sollten keine Subqueries auftauchen. Die so bezogenen Daten können immer auch über einen Join referenziert werden.</p>
<p>Der Beitrag <a href="https://www.aspicon.de/news/sql-tuning-tipp-subquery-in-select-klausel/">SQL Tuning Tipp: Subquery in SELECT-Klausel</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14827" class="elementor elementor-14827" data-elementor-settings="{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-3d4c97a elementor-section-full_width elementor-section-content-top header-negative-margin elementor-section-height-default elementor-section-height-default" data-id="3d4c97a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c7154db container-diagonal-top-min-height header-positive-margin padding-row-100" data-id="4c7154db" data-element_type="column" data-e-type="column" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-2d7d0f03 colored-headline-on-mobile elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="2d7d0f03" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-68e5c1ce" data-id="68e5c1ce" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6e90bb4d elementor-widget elementor-widget-shortcode" data-id="6e90bb4d" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
							<div class="elementor-shortcode"> </div>
						</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-443f8023" data-id="443f8023" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7fc67385 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="7fc67385" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5df6a1c5" data-id="5df6a1c5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3cf8113 header-breadcrumbs-black black elementor-widget elementor-widget-breadcrumbs" data-id="3cf8113" data-element_type="widget" data-e-type="widget" data-widget_type="breadcrumbs.default">
				<div class="elementor-widget-container">
					<p id="breadcrumbs"><span><span><a href="https://www.aspicon.de/">Home</a></span> → <span class="breadcrumb_last" aria-current="page">Performance Tuning</span></span></p>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2e6f278 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2e6f278" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a3c0f9a" data-id="7a3c0f9a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-70fb6297 elementor-widget elementor-widget-spacer" data-id="70fb6297" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6f9331f5 elementor-section-full_width padding-row-100 elementor-section-height-default elementor-section-height-default" data-id="6f9331f5" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-57d302c9" data-id="57d302c9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5c6a9ad4 elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="5c6a9ad4" data-element_type="widget" data-e-type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">SQL Tuning Tipp: Subquery in SELECT-Klausel</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-2dcb8e1 ha-has-bg-overlay elementor-widget elementor-widget-global elementor-global-7902 elementor-widget-post-info" data-id="2dcb8e1" data-element_type="widget" data-e-type="widget" data-widget_type="post-info.default">
				<div class="elementor-widget-container">
							<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
								<li class="elementor-icon-list-item elementor-repeater-item-ae89516 elementor-inline-item" itemprop="author">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-user-circle"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author">
							<span class="elementor-post-info__item-prefix">Verfasst von</span>
										Thilo Solbrig, Oracle Certified Master					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-253e24d elementor-inline-item" itemprop="datePublished">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-calendar"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
										<time>10 September 2021</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-810d981 elementor-inline-item">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-clock"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-time">
										<time>08:00</time>					</span>
								</li>
				<li class="elementor-icon-list-item elementor-repeater-item-acd9d0d elementor-inline-item" itemprop="about">
										<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-tags"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms">
										<span class="elementor-post-info__terms-list">
				<a href="https://www.aspicon.de/news/tag/datenbank/" class="elementor-post-info__terms-list-item">Datenbank</a>, <a href="https://www.aspicon.de/news/tag/dba-tipp/" class="elementor-post-info__terms-list-item">DBA Tipp</a>, <a href="https://www.aspicon.de/news/tag/oracle-database/" class="elementor-post-info__terms-list-item">Oracle Database</a>, <a href="https://www.aspicon.de/news/tag/performance-tuning/" class="elementor-post-info__terms-list-item">Performance Tuning</a>, <a href="https://www.aspicon.de/news/tag/sql-tuning/" class="elementor-post-info__terms-list-item">SQL Tuning</a>				</span>
					</span>
								</li>
				</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-731920e elementor-widget elementor-widget-text-editor" data-id="731920e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Im Rahmen von SQL-Tuning-Maßnahmen sieht man zuweilen, dass Subqueries zur Ermittlung von Spaltenwerten direkt in der SELECT-Klausel verwendet werden. Obwohl syntaktisch korrekt, ist das regelmäßig ein Stolperstein für den Optimizer. Er kommt offenkundig mit der Abschätzung “echter” Joins besser zurecht.</p><p>Da der Rückgabewert der Subquery nur ein einzeiliger Skalar oder NULL sein kann (da andernfalls die Query fehlschlagen würde), erreicht man mit Umstellung auf LEFT OUTER JOIN das selbe Ergebnis. Aus dem genannten Grund sind weder mehr als eine Zeile auf der “rechten” Seite des Joins zu erwarten noch besteht die Gefahr der Eliminierung von Ergebniszeilen der “linken” Seite durch den Join, da es sich ja um einen OUTER Join handelt.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-055c688 elementor-widget elementor-widget-heading" data-id="055c688" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Subquery in der SELECT-Klausel</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-66853592 ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="66853592" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SELECT first_name, last_name,<br>&nbsp; (SELECT department_name<br>&nbsp; FROM departments<br>&nbsp; WHERE department_id = e.department_id)<br>FROM employees e;</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-fad001f ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="fad001f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>-------------------------------------------------------------------------------------------<br>| Id &nbsp;| Operation &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | Name &nbsp; &nbsp; &nbsp; &nbsp;| Rows &nbsp;| Bytes | Cost (%CPU)| Time &nbsp; &nbsp; |<br>-------------------------------------------------------------------------------------------<br>| &nbsp; 0 | SELECT STATEMENT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 107 | &nbsp;1926 | &nbsp; &nbsp;14 &nbsp; (0)| 00:00:01 |<br>| &nbsp; 1 | &nbsp;TABLE ACCESS BY INDEX ROWID| DEPARTMENTS | &nbsp; &nbsp; 1 | &nbsp; &nbsp;16 | &nbsp; &nbsp; 1 &nbsp; (0)| 00:00:01 |<br>|* &nbsp;2 | &nbsp; INDEX UNIQUE SCAN &nbsp; &nbsp; &nbsp; &nbsp; | DEPT_ID_PK &nbsp;| &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; 0 &nbsp; (0)| 00:00:01 |<br>| &nbsp; 3 | &nbsp;TABLE ACCESS FULL &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| EMPLOYEES &nbsp; | &nbsp; 107 | &nbsp;1926 | &nbsp; &nbsp; 3 &nbsp; (0)| 00:00:01 |<br>-------------------------------------------------------------------------------------------</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-436da03 elementor-widget elementor-widget-text-editor" data-id="436da03" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Die ursprüngliche Query wird ähnlich einem NESTED LOOP ausgeführt. Für jede der 107 Zeilen aus EMPLOYEES wird über je einen INDEX UNIQUE SCAN der Indexeintrag des zugehörigen Departments gesucht und über je einen weiteren ROWID-Zugriff der department_name aus der DEPARTMENTS-Tabelle ermittelt. Das kann bei ausreichend großer “äußerer” Tabelle ein sehr unperformanter Zugriffspfad sein. NESTED LOOPs performen nur bei geringer Kardinalität der “äußeren” Tabelle gut.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-ad3f800 elementor-widget elementor-widget-heading" data-id="ad3f800" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Ersetzung durch einen Join</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-af1be7c ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="af1be7c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>SELECT first_name, last_name, department_name<br>FROM employees e&nbsp;<br>&nbsp; LEFT JOIN departments d using (department_id);</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-ef3d56b ha-has-bg-overlay elementor-widget elementor-widget-text-editor" data-id="ef3d56b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<pre>----------------------------------------------------------------------------------<br>| Id &nbsp;| Operation &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Name &nbsp; &nbsp; &nbsp; &nbsp;| Rows &nbsp;| Bytes | Cost (%CPU)| Time &nbsp; &nbsp; |<br>----------------------------------------------------------------------------------<br>| &nbsp; 0 | SELECT STATEMENT &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 107 | &nbsp;3638 | &nbsp; &nbsp; 6 &nbsp; (0)| 00:00:01 |<br>|* &nbsp;1 | &nbsp;HASH JOIN OUTER &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; 107 | &nbsp;3638 | &nbsp; &nbsp; 6 &nbsp; (0)| 00:00:01 |<br>| &nbsp; 2 | &nbsp; TABLE ACCESS FULL| EMPLOYEES &nbsp; | &nbsp; 107 | &nbsp;1926 | &nbsp; &nbsp; 3 &nbsp; (0)| 00:00:01 |<br>| &nbsp; 3 | &nbsp; TABLE ACCESS FULL| DEPARTMENTS | &nbsp; &nbsp;27 | &nbsp; 432 | &nbsp; &nbsp; 3 &nbsp; (0)| 00:00:01 |<br>----------------------------------------------------------------------------------</pre>								</div>
				</div>
				<div class="elementor-element elementor-element-68738b4 elementor-widget elementor-widget-text-editor" data-id="68738b4" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Der LEFT OUTER JOIN hingegen wird über einen (outer) HASH JOIN abgewickelt, der insbesondere bei großer “äußerer” Tabelle viel besser performt, als ein NESTED LOOP. Das spiegelt sich im angegebenen Beispiel vor allem in der Cost-Schätzung wider.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-c6d1c75 elementor-widget elementor-widget-text-editor" data-id="c6d1c75" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Hier findest du weitere Posts zu den Themen <a title="Posts zu SQL Tuning" href="https://www.aspicon.de/news/tag/sql-tuning/">SQL Tuning</a> bzw. <a title="Posts zu Performance Tuning" href="https://www.aspicon.de/news/tag/performance-tuning/">Performance Tuning</a> aus unserem News Bereich.								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-58af599d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="58af599d" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-797156f1" data-id="797156f1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-1b2fa61a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1b2fa61a" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-1a6b0eae" data-id="1a6b0eae" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-91e2d6a elementor-widget elementor-widget-image" data-id="91e2d6a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="40" height="28" src="https://www.aspicon.de/wp-content/uploads/2021/01/icon-arrow_right_medium-violet-blue.svg" class="attachment-full size-full wp-image-4817" alt="icon-arrow_right_medium-violet-blue.svg">															</div>
				</div>
				<div class="elementor-element elementor-element-a317ae3 elementor-widget elementor-widget-text-editor" data-id="a317ae3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Share this article</p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-36e623f9" data-id="36e623f9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				<div class="elementor-element elementor-element-5133eb60 elementor-share-buttons--view-icon-text elementor-share-buttons--skin-gradient elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="5133eb60" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default">
				<div class="elementor-widget-container">
							<div class="elementor-grid" role="list">
								<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Teilen auf facebook">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-facebook" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Facebook									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Teilen auf twitter">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-twitter" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Twitter									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Teilen auf linkedin">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-linkedin" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										LinkedIn									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_xing" role="button" tabindex="0" aria-label="Teilen auf xing">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-xing" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										XING									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_whatsapp" role="button" tabindex="0" aria-label="Teilen auf whatsapp">
															<span class="elementor-share-btn__icon">
								<i class="fab fa-whatsapp" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										WhatsApp									</span>
																	</div>
													</div>
					</div>
									<div class="elementor-grid-item" role="listitem">
						<div class="elementor-share-btn elementor-share-btn_email" role="button" tabindex="0" aria-label="Teilen auf email">
															<span class="elementor-share-btn__icon">
								<i class="fas fa-envelope" aria-hidden="true"></i>							</span>
																						<div class="elementor-share-btn__text">
																			<span class="elementor-share-btn__title">
										Email									</span>
																	</div>
													</div>
					</div>
						</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-44ee14b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="44ee14b" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2016350" data-id="2016350" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fe61344 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="fe61344" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-74d1969 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="74d1969" data-element_type="section" data-e-type="section" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6ad46ac" data-id="6ad46ac" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9c20307 elementor-post-navigation-borders-yes elementor-widget elementor-widget-global elementor-global-8844 elementor-widget-post-navigation" data-id="9c20307" data-element_type="widget" data-e-type="widget" data-widget_type="post-navigation.default">
				<div class="elementor-widget-container">
							<div class="elementor-post-navigation" role="navigation" aria-label="Beitrag Navigation">
			<div class="elementor-post-navigation__prev elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/sql-tuning-tipp-not-in-vs-not-exists/" rel="prev"><span class="post-navigation__arrow-wrapper post-navigation__arrow-prev"><i aria-hidden="true" class="fas fa-angle-left"></i><span class="elementor-screen-only">Zurück</span></span><span class="elementor-post-navigation__link__prev"><span class="post-navigation__prev--label">Voriger Post</span><span class="post-navigation__prev--title">SQL Tuning Tipp: NOT IN vs NOT EXISTS</span></span></a>			</div>
							<div class="elementor-post-navigation__separator-wrapper">
					<div class="elementor-post-navigation__separator"></div>
				</div>
						<div class="elementor-post-navigation__next elementor-post-navigation__link">
				<a href="https://www.aspicon.de/news/sql-tuning-tipp-bindevariablen/" rel="next"><span class="elementor-post-navigation__link__next"><span class="post-navigation__next--label">Nächster Post</span><span class="post-navigation__next--title">SQL Tuning Tipp: Bindevariablen</span></span><span class="post-navigation__arrow-wrapper post-navigation__arrow-next"><i aria-hidden="true" class="fas fa-angle-right"></i><span class="elementor-screen-only">Nächster</span></span></a>			</div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>Der Beitrag <a href="https://www.aspicon.de/news/sql-tuning-tipp-subquery-in-select-klausel/">SQL Tuning Tipp: Subquery in SELECT-Klausel</a> erschien zuerst auf <a href="https://www.aspicon.de">ASPICON</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
