<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Fragmentation ?</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2012/08/27/fragmentation/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2012/08/27/fragmentation/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Fri, 24 May 2013 13:27:07 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Noons</title>
		<link>http://jonathanlewis.wordpress.com/2012/08/27/fragmentation/#comment-49516</link>
		<dc:creator><![CDATA[Noons]]></dc:creator>
		<pubDate>Wed, 29 Aug 2012 13:21:03 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9357#comment-49516</guid>
		<description><![CDATA[Same here!   I need to change that script to have more meaningful/mnemonic names!]]></description>
		<content:encoded><![CDATA[<p>Same here!   I need to change that script to have more meaningful/mnemonic names!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/08/27/fragmentation/#comment-49511</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Wed, 29 Aug 2012 09:49:02 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9357#comment-49511</guid>
		<description><![CDATA[Rajesh,

Thank you for trying to help, but before making any suggestions it would be sensible to find out where Suddhasatwa Bhaumik is getting that measure of 32GB from, and where he&#039;s seeing the 40MB. He hasn&#039;t said anything about table segments or LOB segments or high water marks, or space management views, or stats collection. Given that &quot;exp/imp&quot; didn&#039;t help he is either missing something very simple, or has found a bug - you need to know what he&#039;s looking at before making any suggestions about fixing a problem that simply may not exist.]]></description>
		<content:encoded><![CDATA[<p>Rajesh,</p>
<p>Thank you for trying to help, but before making any suggestions it would be sensible to find out where Suddhasatwa Bhaumik is getting that measure of 32GB from, and where he&#8217;s seeing the 40MB. He hasn&#8217;t said anything about table segments or LOB segments or high water marks, or space management views, or stats collection. Given that &#8220;exp/imp&#8221; didn&#8217;t help he is either missing something very simple, or has found a bug &#8211; you need to know what he&#8217;s looking at before making any suggestions about fixing a problem that simply may not exist.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/08/27/fragmentation/#comment-49509</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Wed, 29 Aug 2012 09:24:50 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9357#comment-49509</guid>
		<description><![CDATA[Suddhasatwa Bhaumik,

You are right - this is not a forum.

Your description is sufficiently vague that the first problem is finding out what you are looking at and how you have determined that something is wrong. Your comment that you had &quot; no luck with exp/imp&quot; doesn&#039;t help since you don&#039;t tell us how you used exp/imp - but it does suggest that either you&#039;ve hit a bug or you&#039;re not looking at the right information. 

I suggest you take this question to the OTN database forum: http://forums.oracle.com/forums/forum.jspa?forumID=61]]></description>
		<content:encoded><![CDATA[<p>Suddhasatwa Bhaumik,</p>
<p>You are right &#8211; this is not a forum.</p>
<p>Your description is sufficiently vague that the first problem is finding out what you are looking at and how you have determined that something is wrong. Your comment that you had &#8221; no luck with exp/imp&#8221; doesn&#8217;t help since you don&#8217;t tell us how you used exp/imp &#8211; but it does suggest that either you&#8217;ve hit a bug or you&#8217;re not looking at the right information. </p>
<p>I suggest you take this question to the OTN database forum: <a href="http://forums.oracle.com/forums/forum.jspa?forumID=61" rel="nofollow">http://forums.oracle.com/forums/forum.jspa?forumID=61</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/08/27/fragmentation/#comment-49508</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Wed, 29 Aug 2012 08:59:41 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9357#comment-49508</guid>
		<description><![CDATA[Noons,

Thanks for the example. 

I keep a copy of something similar on my laptop for those occasions when I need the extra detail.  I can never remember whether fs1 means one quarter full or one quarter free - until I check my notes, that is.]]></description>
		<content:encoded><![CDATA[<p>Noons,</p>
<p>Thanks for the example. </p>
<p>I keep a copy of something similar on my laptop for those occasions when I need the extra detail.  I can never remember whether fs1 means one quarter full or one quarter free &#8211; until I check my notes, that is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rajesh</title>
		<link>http://jonathanlewis.wordpress.com/2012/08/27/fragmentation/#comment-49487</link>
		<dc:creator><![CDATA[rajesh]]></dc:creator>
		<pubDate>Tue, 28 Aug 2012 20:12:40 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9357#comment-49487</guid>
		<description><![CDATA[1. If LMT tablespace, check if it is in extent alloc is system managed.  If there are lot of extents in the tablespace then there could be really large extents.  Check if few extents hold lot of space:  select sum(bytes)/1024/1024,count(1) extents from dba_extents where segment_name=&#039;tablename&#039; and owner=&#039;owner&#039;;   If so, try export/import with compress option or alter table shrink space.  Can also try switching to uniform size extent alloc. for a long term solution.
2. If the issue is the LOB with IN ROW disabled, then check if the lob segment is large.  LOB are separate segments and to check their size lookup dba_lobs.segment_name and compare the size of the lobs using dbms_lob package.  If there is a big difference then it may be better to store them IN ROW.]]></description>
		<content:encoded><![CDATA[<p>1. If LMT tablespace, check if it is in extent alloc is system managed.  If there are lot of extents in the tablespace then there could be really large extents.  Check if few extents hold lot of space:  select sum(bytes)/1024/1024,count(1) extents from dba_extents where segment_name=&#8217;tablename&#8217; and owner=&#8217;owner&#8217;;   If so, try export/import with compress option or alter table shrink space.  Can also try switching to uniform size extent alloc. for a long term solution.<br />
2. If the issue is the LOB with IN ROW disabled, then check if the lob segment is large.  LOB are separate segments and to check their size lookup dba_lobs.segment_name and compare the size of the lobs using dbms_lob package.  If there is a big difference then it may be better to store them IN ROW.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Suddhasatwa Bhaumik</title>
		<link>http://jonathanlewis.wordpress.com/2012/08/27/fragmentation/#comment-49476</link>
		<dc:creator><![CDATA[Suddhasatwa Bhaumik]]></dc:creator>
		<pubDate>Tue, 28 Aug 2012 16:28:17 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9357#comment-49476</guid>
		<description><![CDATA[Thank you Jonathan for the above example. 

Although this is not a place to ask a question, but ... I am in a situation wherein there are LOB objects in a tablespace of 8KB block size. There are some tables whose physical size is like 32GB but the used space is only 40MB! Any ways you can suggest to reduce the space wasted .. like increasing block size? Note: I have tried with exp/imp but with no luck. DB Version 10.2.0.3, front end is PeopleSoft 8.8. 

Thanks.]]></description>
		<content:encoded><![CDATA[<p>Thank you Jonathan for the above example. </p>
<p>Although this is not a place to ask a question, but &#8230; I am in a situation wherein there are LOB objects in a tablespace of 8KB block size. There are some tables whose physical size is like 32GB but the used space is only 40MB! Any ways you can suggest to reduce the space wasted .. like increasing block size? Note: I have tried with exp/imp but with no luck. DB Version 10.2.0.3, front end is PeopleSoft 8.8. </p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noons</title>
		<link>http://jonathanlewis.wordpress.com/2012/08/27/fragmentation/#comment-49454</link>
		<dc:creator><![CDATA[Noons]]></dc:creator>
		<pubDate>Tue, 28 Aug 2012 00:16:49 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9357#comment-49454</guid>
		<description><![CDATA[I&#039;ve found good old dbms_space.space_usage useful, at least since 10g.
It doesn&#039;t handle LOBs gracefully either, but at least gives me a good picture of how much space I can get back and how/why/where:
[sourcecode]
SQL&gt; @gdstst
Enter owner name=&gt;prd_wljms
Enter tname=&gt;JBM_MSG
PL/SQL procedure successfully completed.
Press Enter to continue...
          UNFB
--------------
             0
          FS4B
--------------
      27115520
          FS3B
--------------
       2449408
          FS2B
--------------
        294912
          FS1B
--------------
         16384
         FULLB
--------------
     170917888
Script follows:
WPPRD$cat gdstst.sql
accept towner char prompt &#039;Enter owner name=&gt;&#039;
accept tname char prompt &#039;Enter tname=&gt;&#039;
variable unf number;
variable unfb number;
variable fs1 number;
variable fs1b number;
variable fs2 number;
variable fs2b number;
variable fs3 number;
variable fs3b number;
variable fs4 number;
variable fs4b number;
variable full number;
variable fullb number;
begin
dbms_space.space_usage(upper(&#039;&amp;towner&#039;),upper(&#039;&amp;tname&#039;),
                        &#039;TABLE&#039;,
                        :unf, :unfb,
                        :fs1, :fs1b,
                        :fs2, :fs2b,
                        :fs3, :fs3b,
                        :fs4, :fs4b,
                        :full, :fullb);
end;
/
print unfb ;
print fs4b;
print fs3b;
print fs2b;
print fs1b;
print fullb;
undefine tname
undefine towner
[/sourcecode]
]]></description>
		<content:encoded><![CDATA[<p>I&#8217;ve found good old dbms_space.space_usage useful, at least since 10g.<br />
It doesn&#8217;t handle LOBs gracefully either, but at least gives me a good picture of how much space I can get back and how/why/where:</p>
<pre class="brush: plain; title: ; notranslate">
SQL&gt; @gdstst
Enter owner name=&gt;prd_wljms
Enter tname=&gt;JBM_MSG
PL/SQL procedure successfully completed.
Press Enter to continue...
          UNFB
--------------
             0
          FS4B
--------------
      27115520
          FS3B
--------------
       2449408
          FS2B
--------------
        294912
          FS1B
--------------
         16384
         FULLB
--------------
     170917888
Script follows:
WPPRD$cat gdstst.sql
accept towner char prompt 'Enter owner name=&gt;'
accept tname char prompt 'Enter tname=&gt;'
variable unf number;
variable unfb number;
variable fs1 number;
variable fs1b number;
variable fs2 number;
variable fs2b number;
variable fs3 number;
variable fs3b number;
variable fs4 number;
variable fs4b number;
variable full number;
variable fullb number;
begin
dbms_space.space_usage(upper('&amp;towner'),upper('&amp;tname'),
                        'TABLE',
                        :unf, :unfb,
                        :fs1, :fs1b,
                        :fs2, :fs2b,
                        :fs3, :fs3b,
                        :fs4, :fs4b,
                        :full, :fullb);
end;
/
print unfb ;
print fs4b;
print fs3b;
print fs2b;
print fs1b;
print fullb;
undefine tname
undefine towner
</pre>
]]></content:encoded>
	</item>
</channel>
</rss>
