<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dba_lobs on Oracle Scripts</title><link>https://www.oraclescripts.com/tags/dba_lobs/</link><description>Recent content in Dba_lobs on Oracle Scripts</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>OracleScripts.com</copyright><lastBuildDate>Mon, 05 Feb 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.oraclescripts.com/tags/dba_lobs/index.xml" rel="self" type="application/rss+xml"/><item><title>Listing Objects in an Oracle Tablespace</title><link>https://www.oraclescripts.com/post/list-all-objects-in-the-oracle-tablespace/</link><pubDate>Mon, 05 Feb 2024 00:00:00 +0000</pubDate><guid>https://www.oraclescripts.com/post/list-all-objects-in-the-oracle-tablespace/</guid><description>
&lt;h2 id="sql-lists-every-segment-within-a-specific-tablespace-in-an-oracle-database"&gt;SQL lists every segment within a specific tablespace in an Oracle database&lt;/h2&gt;
&lt;hr&gt;
&lt;p&gt;A detailed explanation of Oracle Database SQL code used to list objects within a tablespace, including purpose, breakdown, key points, and insights.&lt;/p&gt;
&lt;script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1012089347386563"
crossorigin="anonymous"&gt;&lt;/script&gt;
&lt;ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1012089347386563"
data-ad-slot="5317081938"
data-ad-format="auto"
data-full-width-responsive="true"&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;h2 id="sample-sql-command"&gt;Sample SQL Command&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;set&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;999&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;col&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;owner&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;format&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a15&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;col&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;segment_name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;format&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a40&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;col&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;segment_type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;format&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;a20&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;owner&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;segment_name&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;segment_type&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;dba_segments&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;where&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tablespace_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;like&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;%&amp;amp;tablespace%&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;order&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;by&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;owner&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;segment_name&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="sample-oracle-output"&gt;Sample Oracle Output&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;OWNER SEGMENT_NAME SEGMENT_TYPE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;--------------- ---------------------------------------- --------------------
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;LARRY BIN$Q+k4qsgBLNngRAAQg5ZRWg==$0 INDEX
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;LARRY BIN$Q+k4qsgCLNngRAAQg5ZRWg==$0 TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;LARRY BIN$Q+k4qsgELNngRAAQg5ZRWg==$0 INDEX
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;LARRY BIN$Q+k4qsgFLNngRAAQg5ZRWg==$0 TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;LARRY BOX TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;LARRY BOX_PK INDEX
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;LARRY CD TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;LARRY CD_PK INDEX
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;LARRY LOCATION TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;12&lt;/span&gt;&lt;span class="cl"&gt;LARRY LOCATION_PK INDEX
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;13&lt;/span&gt;&lt;span class="cl"&gt;LARRY LOTS_OF_ROWS TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;14&lt;/span&gt;&lt;span class="cl"&gt;LARRY POO TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;15&lt;/span&gt;&lt;span class="cl"&gt;LARRY SERVERS TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;16&lt;/span&gt;&lt;span class="cl"&gt;LARRY SYS_C0023466 INDEX
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;17&lt;/span&gt;&lt;span class="cl"&gt;LARRY SYS_C0023467 INDEX
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;18&lt;/span&gt;&lt;span class="cl"&gt;LARRY SYS_C0027234 INDEX
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;19&lt;/span&gt;&lt;span class="cl"&gt;LARRY TEST_TABLE TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;20&lt;/span&gt;&lt;span class="cl"&gt;LARRY TRACK TABLE
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;21&lt;/span&gt;&lt;span class="cl"&gt;LARRY TRACK_PK INDEX
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;22&lt;/span&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;23&lt;/span&gt;&lt;span class="cl"&gt;19 rows selected.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="purpose"&gt;Purpose&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;To identify and display every segment (tables, indexes, partitions and LOBs that have storage allocated) residing in a chosen tablespace.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="breakdown"&gt;Breakdown&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;set pages 999&lt;/code&gt;&lt;/strong&gt;: This setting sets the number of lines on each page of output to 999, so column headings repeat less often if the tablespace holds a large number of objects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;col owner format a15&lt;/code&gt;&lt;/strong&gt;, &lt;code&gt;col segment_name format a40&lt;/code&gt;**, &lt;code&gt;col segment_type format a20&lt;/code&gt;**: These lines define column formatting in the output. They set specific widths for the &amp;quot;owner&amp;quot;, &amp;quot;segment_name&amp;quot;, and &amp;quot;segment_type&amp;quot; columns to improve readability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;select owner, segment_name, segment_type&lt;/code&gt;&lt;/strong&gt;: This clause selects three specific columns from the &lt;code&gt;dba_segments&lt;/code&gt; system view:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;owner&lt;/code&gt;: The schema (user) who owns the object.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;segment_name&lt;/code&gt;: The actual name of the object.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;segment_type&lt;/code&gt;: The type of segment (TABLE, INDEX, TABLE PARTITION, INDEX PARTITION, LOBSEGMENT, etc.).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;from dba_segments&lt;/code&gt;&lt;/strong&gt;: This specifies the data source for the query. &lt;code&gt;dba_segments&lt;/code&gt; holds information about all database segments, including their type, owner, and tablespace association.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;where lower(tablespace_name) like lower('%&amp;amp;tablespace%')&lt;/code&gt;&lt;/strong&gt;: This clause filters the results based on the tablespace name.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;lower(tablespace_name)&lt;/code&gt;: Converts the tablespace name to lowercase for case-insensitive comparison.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;like lower('%&amp;amp;tablespace%')&lt;/code&gt;: Uses a wildcard comparison with &lt;code&gt;%&lt;/code&gt; to accept any tablespace name passed as the &lt;code&gt;&amp;amp;tablespace&lt;/code&gt; variable.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;order by owner, segment_name&lt;/code&gt;&lt;/strong&gt;: This clause sorts the output first by owner and then by segment name within each owner.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="key-points"&gt;Key Points&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;This code relies on the &lt;code&gt;dba_segments&lt;/code&gt; system view, which requires appropriate privileges to access (typically DBA or SYSDBA).&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;like&lt;/code&gt; clause with wildcards allows for listing objects in any tablespace whose name matches the provided part.&lt;/li&gt;
&lt;li&gt;The code filters for all object types (&lt;code&gt;segment_type&lt;/code&gt;). If you only need specific types (e.g., tables), modify the &lt;code&gt;where&lt;/code&gt; clause accordingly.&lt;/li&gt;
&lt;li&gt;Consider additional filtering using other columns from &lt;code&gt;dba_segments&lt;/code&gt; for more granular results.&lt;/li&gt;
&lt;li&gt;Empty tables created with deferred segment creation (the default, &lt;code&gt;DEFERRED_SEGMENT_CREATION = TRUE&lt;/code&gt;) have no segment until the first row is inserted, so they do not appear. Query &lt;code&gt;dba_tables&lt;/code&gt; or &lt;code&gt;dba_indexes&lt;/code&gt; by &lt;code&gt;tablespace_name&lt;/code&gt; to catch them.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="insights-and-explanations"&gt;Insights and Explanations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;set pages&lt;/code&gt; only controls how many lines SQL*Plus prints on each page, and so how often it repeats column headings; it has no effect on query cost. Use &lt;code&gt;set pages 0&lt;/code&gt; to suppress headings entirely when spooling to a file.&lt;/li&gt;
&lt;li&gt;Because the filter uses &lt;code&gt;'%name%'&lt;/code&gt;, a partial name can match more than one tablespace (for example, USERS also matches USERS2). Enter the full tablespace name when you want only one.&lt;/li&gt;
&lt;li&gt;The code provides a basic listing of segments. To show size, add &lt;code&gt;bytes&lt;/code&gt; or &lt;code&gt;blocks&lt;/code&gt; from &lt;code&gt;dba_segments&lt;/code&gt;. &lt;code&gt;dba_segments&lt;/code&gt; has no creation-date column; for the object creation date, join to &lt;code&gt;dba_objects&lt;/code&gt; (column &lt;code&gt;created&lt;/code&gt;) on owner and &lt;code&gt;object_name = segment_name&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The query lists every segment within a specified tablespace. Empty tables with deferred segment creation are the main gap, so adapt it to your needs.&lt;/p&gt;</description></item></channel></rss>