<?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: Concatenating LOBs</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Wed, 22 May 2013 12:40:08 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Valentin Nikotin</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/#comment-54333</link>
		<dc:creator><![CDATA[Valentin Nikotin]]></dc:creator>
		<pubDate>Wed, 27 Mar 2013 20:57:50 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1694#comment-54333</guid>
		<description><![CDATA[Hi Jonathan, here is another funny thing - &quot;invisible brackets&quot;...
[sourcecode language=&quot;SQL&quot; collapse=&quot;true&quot;]
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning and Data Mining options

SQL&gt; @test
SQL&gt; -- 1.1
SQL&gt; declare
  2    l_stmt clob;
  3    cl clob;
  4    N pls_integer := (1 + 255) + 4000;
  5  begin
  6    l_stmt := &#039;select to_clob(&#039;&#039;x&#039;&#039;)&#039;;
  7    for i in 2 .. N loop
  8      l_stmt := l_stmt &#124;&#124; &#039;&#124;&#124;&#039;&#039;x&#039;&#039;&#039;;
  9    end loop;
 10    l_stmt := l_stmt &#124;&#124; &#039;from dual&#039;;
 11    execute immediate l_stmt into cl;
 12    dbms_output.put_line(length(cl));
 13  end;
 14  /

PL/SQL procedure successfully completed.

SQL&gt; -- 1.2
SQL&gt; declare
  2    l_stmt clob;
  3    cl clob;
  4    N pls_integer := (1 + 255) + (4000 + 1); -- =4257
  5  begin
  6    l_stmt := &#039;select to_clob(&#039;&#039;x&#039;&#039;)&#039;;
  7    for i in 2 .. N loop
  8      l_stmt := l_stmt &#124;&#124; &#039;&#124;&#124;&#039;&#039;x&#039;&#039;&#039;;
  9    end loop;
 10    l_stmt := l_stmt &#124;&#124; &#039;from dual&#039;;
 11    execute immediate l_stmt into cl;
 12    dbms_output.put_line(length(cl));
 13  end;
 14  /
declare
*
ERROR at line 1:
ORA-01489: result of string concatenation is too long
ORA-06512: at line 11


SQL&gt; -- 1.3
SQL&gt; declare
  2    l_stmt clob;
  3    cl clob;
  4    N pls_integer := (100 + 255) + 3902; -- =4257
  5  begin
  6    l_stmt := &#039;select (to_clob(&#039;&#039;x&#039;&#039;)&#039;;
  7    for i in 2 .. N loop
  8      l_stmt := l_stmt &#124;&#124; &#039;&#124;&#124;&#039;&#039;x&#039;&#039;&#039;&#124;&#124;case i when 100 then &#039;)&#039; end; -- enclosed first 100 into brackets
  9    end loop;
 10    l_stmt := l_stmt &#124;&#124; &#039;from dual&#039;;
 11    execute immediate l_stmt into cl;
 12    dbms_output.put_line(length(cl));
 13  end;
 14  /

PL/SQL procedure successfully completed.

SQL&gt; -- 1.4
SQL&gt; declare
  2    l_stmt clob;
  3    cl clob;
  4    N pls_integer := (100 + 255) + 4000;
  5  begin
  6    l_stmt := &#039;select (to_clob(&#039;&#039;x&#039;&#039;)&#039;;
  7    for i in 2 .. N loop
  8      l_stmt := l_stmt &#124;&#124; &#039;&#124;&#124;&#039;&#039;x&#039;&#039;&#039;&#124;&#124;case i when 100 then &#039;)&#039; end; -- enclosed first 100 into brackets
  9    end loop;
 10    l_stmt := l_stmt &#124;&#124; &#039;from dual&#039;;
 11    execute immediate l_stmt into cl;
 12    dbms_output.put_line(length(cl));
 13  end;
 14  /

PL/SQL procedure successfully completed.

SQL&gt; -- 1.5 :
SQL&gt; declare
  2    l_stmt clob;
  3    cl clob;
  4    N pls_integer := (100 + 255) + (4000 + 1);
  5  begin
  6    l_stmt := &#039;select (to_clob(&#039;&#039;x&#039;&#039;)&#039;;
  7    for i in 2 .. N loop
  8      l_stmt := l_stmt &#124;&#124; &#039;&#124;&#124;&#039;&#039;x&#039;&#039;&#039;&#124;&#124;case i when 100 then &#039;)&#039; end; -- enclosed first 100 into brackets
  9    end loop;
 10    l_stmt := l_stmt &#124;&#124; &#039;from dual&#039;;
 11    execute immediate l_stmt into cl;
 12    dbms_output.put_line(length(cl));
 13  end;
 14  /
declare
*
ERROR at line 1:
ORA-01489: result of string concatenation is too long
ORA-06512: at line 11
[/sourcecode]]]></description>
		<content:encoded><![CDATA[<p>Hi Jonathan, here is another funny thing &#8211; &#8220;invisible brackets&#8221;&#8230;</p>
<pre class="brush: sql; collapse: true; light: false; title: ; toolbar: true; notranslate">
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning and Data Mining options

SQL&gt; @test
SQL&gt; -- 1.1
SQL&gt; declare
  2    l_stmt clob;
  3    cl clob;
  4    N pls_integer := (1 + 255) + 4000;
  5  begin
  6    l_stmt := 'select to_clob(''x'')';
  7    for i in 2 .. N loop
  8      l_stmt := l_stmt || '||''x''';
  9    end loop;
 10    l_stmt := l_stmt || 'from dual';
 11    execute immediate l_stmt into cl;
 12    dbms_output.put_line(length(cl));
 13  end;
 14  /

PL/SQL procedure successfully completed.

SQL&gt; -- 1.2
SQL&gt; declare
  2    l_stmt clob;
  3    cl clob;
  4    N pls_integer := (1 + 255) + (4000 + 1); -- =4257
  5  begin
  6    l_stmt := 'select to_clob(''x'')';
  7    for i in 2 .. N loop
  8      l_stmt := l_stmt || '||''x''';
  9    end loop;
 10    l_stmt := l_stmt || 'from dual';
 11    execute immediate l_stmt into cl;
 12    dbms_output.put_line(length(cl));
 13  end;
 14  /
declare
*
ERROR at line 1:
ORA-01489: result of string concatenation is too long
ORA-06512: at line 11


SQL&gt; -- 1.3
SQL&gt; declare
  2    l_stmt clob;
  3    cl clob;
  4    N pls_integer := (100 + 255) + 3902; -- =4257
  5  begin
  6    l_stmt := 'select (to_clob(''x'')';
  7    for i in 2 .. N loop
  8      l_stmt := l_stmt || '||''x'''||case i when 100 then ')' end; -- enclosed first 100 into brackets
  9    end loop;
 10    l_stmt := l_stmt || 'from dual';
 11    execute immediate l_stmt into cl;
 12    dbms_output.put_line(length(cl));
 13  end;
 14  /

PL/SQL procedure successfully completed.

SQL&gt; -- 1.4
SQL&gt; declare
  2    l_stmt clob;
  3    cl clob;
  4    N pls_integer := (100 + 255) + 4000;
  5  begin
  6    l_stmt := 'select (to_clob(''x'')';
  7    for i in 2 .. N loop
  8      l_stmt := l_stmt || '||''x'''||case i when 100 then ')' end; -- enclosed first 100 into brackets
  9    end loop;
 10    l_stmt := l_stmt || 'from dual';
 11    execute immediate l_stmt into cl;
 12    dbms_output.put_line(length(cl));
 13  end;
 14  /

PL/SQL procedure successfully completed.

SQL&gt; -- 1.5 :
SQL&gt; declare
  2    l_stmt clob;
  3    cl clob;
  4    N pls_integer := (100 + 255) + (4000 + 1);
  5  begin
  6    l_stmt := 'select (to_clob(''x'')';
  7    for i in 2 .. N loop
  8      l_stmt := l_stmt || '||''x'''||case i when 100 then ')' end; -- enclosed first 100 into brackets
  9    end loop;
 10    l_stmt := l_stmt || 'from dual';
 11    execute immediate l_stmt into cl;
 12    dbms_output.put_line(length(cl));
 13  end;
 14  /
declare
*
ERROR at line 1:
ORA-01489: result of string concatenation is too long
ORA-06512: at line 11
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lizhuohua(John)</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/#comment-53249</link>
		<dc:creator><![CDATA[Lizhuohua(John)]]></dc:creator>
		<pubDate>Tue, 29 Jan 2013 05:31:23 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1694#comment-53249</guid>
		<description><![CDATA[After enabling archivelog, the redo size is 1.7M for the same testing. (data size : 10000, loop count : 100)]]></description>
		<content:encoded><![CDATA[<p>After enabling archivelog, the redo size is 1.7M for the same testing. (data size : 10000, loop count : 100)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lizhuohua(John)</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/#comment-53245</link>
		<dc:creator><![CDATA[Lizhuohua(John)]]></dc:creator>
		<pubDate>Tue, 29 Jan 2013 00:37:47 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1694#comment-53245</guid>
		<description><![CDATA[Hi Jonathan,
  I created the clob by default. Even I set database force logging, I get the same output:
[sourcecode]
SQL&gt; select FORCE_LOGGING from v$database;

FOR
---
YES

SQL&gt;
SQL&gt; select table_name, DEDUPLICATION,COMPRESSION, LOGGING,IN_ROW,CACHE  from user_lobs;

TABLE_NAME                     DEDUPLICATION   COMPRE LOGGING IN_ CACHE
------------------------------ --------------- ------ ------- --- ----------
LIZH_CLOB                      NONE            NONE   YES     YES NO

SQL&gt;
SQL&gt; col redosizeb new_value redosizeb
SQL&gt;  SELECT value redosizeb
  2     FROM v$mystat
  3    WHERE statistic# = (  SELECT statistic# FROM v$statname WHERE name=&#039;redo size&#039;   );

 REDOSIZEB
----------
     80980

SQL&gt;
SQL&gt; declare
  2  lc_clob clob;
  3  begin
  4   lc_clob := rpad(&#039;a&#039;,10000,&#039;a&#039;);
  5  for i in 1..100 loop
  6    insert into lizh_clob values(lc_clob);
  7  end loop;
  8  commit;
  9  end;
 10  /

PL/SQL procedure successfully completed.

SQL&gt;
SQL&gt;  SELECT value - &amp;redosizeb
  2     FROM v$mystat
  3    WHERE statistic# =  (  SELECT statistic# FROM v$statname WHERE name=&#039;redo size&#039; );
old   1:  SELECT value - &amp;redosizeb
new   1:  SELECT value -      80980

VALUE-80980
-----------
      75712

[/sourcecode]

Acctually , I&#039;m evaluating Clob and Long, and find Long is faster than Clob , not sure if there is any way to improve the performance of CLOB.


Thanks,
John]]></description>
		<content:encoded><![CDATA[<p>Hi Jonathan,<br />
  I created the clob by default. Even I set database force logging, I get the same output:</p>
<pre class="brush: plain; title: ; notranslate">
SQL&amp;gt; select FORCE_LOGGING from v$database;

FOR
---
YES

SQL&amp;gt;
SQL&amp;gt; select table_name, DEDUPLICATION,COMPRESSION, LOGGING,IN_ROW,CACHE  from user_lobs;

TABLE_NAME                     DEDUPLICATION   COMPRE LOGGING IN_ CACHE
------------------------------ --------------- ------ ------- --- ----------
LIZH_CLOB                      NONE            NONE   YES     YES NO

SQL&amp;gt;
SQL&amp;gt; col redosizeb new_value redosizeb
SQL&amp;gt;  SELECT value redosizeb
  2     FROM v$mystat
  3    WHERE statistic# = (  SELECT statistic# FROM v$statname WHERE name='redo size'   );

 REDOSIZEB
----------
     80980

SQL&amp;gt;
SQL&amp;gt; declare
  2  lc_clob clob;
  3  begin
  4   lc_clob := rpad('a',10000,'a');
  5  for i in 1..100 loop
  6    insert into lizh_clob values(lc_clob);
  7  end loop;
  8  commit;
  9  end;
 10  /

PL/SQL procedure successfully completed.

SQL&amp;gt;
SQL&amp;gt;  SELECT value - &amp;amp;redosizeb
  2     FROM v$mystat
  3    WHERE statistic# =  (  SELECT statistic# FROM v$statname WHERE name='redo size' );
old   1:  SELECT value - &amp;amp;redosizeb
new   1:  SELECT value -      80980

VALUE-80980
-----------
      75712

</pre>
<p>Acctually , I&#8217;m evaluating Clob and Long, and find Long is faster than Clob , not sure if there is any way to improve the performance of CLOB.</p>
<p>Thanks,<br />
John</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lizhuohua(John)</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/#comment-53244</link>
		<dc:creator><![CDATA[Lizhuohua(John)]]></dc:creator>
		<pubDate>Tue, 29 Jan 2013 00:34:31 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1694#comment-53244</guid>
		<description><![CDATA[Hi Jonathan,
  Thanks for your excellent explanation, I didn&#039;t know there is an index for lob.
   For 10g , I created the table by default like this :
[sourcecode]
   DROP TABLE lizh_clob;
   create table lizh_clob(a clob);
  (not the first insertion)
   SQL&gt; select LOGGING,IN_ROW,CACHE from user_lobs where table_name=&#039;LIZH_CLOB&#039;;

LOGGING IN_ CACHE                                                               
------- --- ----------                                                          
YES     YES NO                                                                  

SQL&gt; col redosizeb new_value redosizeb
SQL&gt;  SELECT value redosizeb
  2     FROM v$mystat
  3    WHERE statistic# = (  SELECT statistic# FROM v$statname WHERE name=&#039;redo size&#039;   );

 REDOSIZEB                                                                      
----------                                                                      
  25173192                                                                      

SQL&gt; 
SQL&gt; declare
  2  lc_clob clob;
  3  begin
  4   lc_clob := rpad(&#039;a&#039;,10000,&#039;a&#039;);
  5  for i in 1..100 loop
  6    insert into lizh_clob values(lc_clob);
  7  end loop;
  8  commit;
  9  end;
 10  /

PL/SQL procedure successfully completed.

SQL&gt; 
SQL&gt;  SELECT value - &amp;redosizeb
  2     FROM v$mystat
  3    WHERE statistic# =  (  SELECT statistic# FROM v$statname WHERE name=&#039;redo size&#039; );
old   1:  SELECT value - &amp;redosizeb
new   1:  SELECT value -   25173192

VALUE-25173192                                                                  
--------------                                                                  
       2560392
[/sourcecode]
]]></description>
		<content:encoded><![CDATA[<p>Hi Jonathan,<br />
  Thanks for your excellent explanation, I didn&#8217;t know there is an index for lob.<br />
   For 10g , I created the table by default like this :</p>
<pre class="brush: plain; title: ; notranslate">
   DROP TABLE lizh_clob;
   create table lizh_clob(a clob);
  (not the first insertion)
   SQL&amp;gt; select LOGGING,IN_ROW,CACHE from user_lobs where table_name='LIZH_CLOB';

LOGGING IN_ CACHE                                                               
------- --- ----------                                                          
YES     YES NO                                                                  

SQL&amp;gt; col redosizeb new_value redosizeb
SQL&amp;gt;  SELECT value redosizeb
  2     FROM v$mystat
  3    WHERE statistic# = (  SELECT statistic# FROM v$statname WHERE name='redo size'   );

 REDOSIZEB                                                                      
----------                                                                      
  25173192                                                                      

SQL&amp;gt; 
SQL&amp;gt; declare
  2  lc_clob clob;
  3  begin
  4   lc_clob := rpad('a',10000,'a');
  5  for i in 1..100 loop
  6    insert into lizh_clob values(lc_clob);
  7  end loop;
  8  commit;
  9  end;
 10  /

PL/SQL procedure successfully completed.

SQL&amp;gt; 
SQL&amp;gt;  SELECT value - &amp;amp;redosizeb
  2     FROM v$mystat
  3    WHERE statistic# =  (  SELECT statistic# FROM v$statname WHERE name='redo size' );
old   1:  SELECT value - &amp;amp;redosizeb
new   1:  SELECT value -   25173192

VALUE-25173192                                                                  
--------------                                                                  
       2560392
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/#comment-53233</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Mon, 28 Jan 2013 17:55:37 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1694#comment-53233</guid>
		<description><![CDATA[John,

Again you haven&#039;t shown how you defined the CLOB. The obvious anomaly here is that the volume of redo (83KB) is less than the total volume of data you&#039;ve inserted (1MB). Since your CLOB is set to logging I&#039;d have to guess that you&#039;ve enabled some securefiles deduplication or compression feature.]]></description>
		<content:encoded><![CDATA[<p>John,</p>
<p>Again you haven&#8217;t shown how you defined the CLOB. The obvious anomaly here is that the volume of redo (83KB) is less than the total volume of data you&#8217;ve inserted (1MB). Since your CLOB is set to logging I&#8217;d have to guess that you&#8217;ve enabled some securefiles deduplication or compression feature.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/#comment-53232</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Mon, 28 Jan 2013 17:50:46 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1694#comment-53232</guid>
		<description><![CDATA[John,

You haven&#039;t told us how you&#039;ve defined the LOB, but I&#039;d guess that it&#039;s defined as &quot;disable storage in row&quot;, cached, and logged.

The LOB data would be 1,000 bytes plus a little overhead. Then you have the LOB index entry, and the table entry. The LOB index and table entries would also generate some undo. As a starting point I&#039;d expect about 250 - 300 bytes of redo for each of the three entries over and above their raw data - so 1,750 to 1,900 bytes. That&#039;s still not enough to cover your 2,452 - but possibly this is the first insertion into the table, so there&#039;s some space management stuff going on as well.]]></description>
		<content:encoded><![CDATA[<p>John,</p>
<p>You haven&#8217;t told us how you&#8217;ve defined the LOB, but I&#8217;d guess that it&#8217;s defined as &#8220;disable storage in row&#8221;, cached, and logged.</p>
<p>The LOB data would be 1,000 bytes plus a little overhead. Then you have the LOB index entry, and the table entry. The LOB index and table entries would also generate some undo. As a starting point I&#8217;d expect about 250 &#8211; 300 bytes of redo for each of the three entries over and above their raw data &#8211; so 1,750 to 1,900 bytes. That&#8217;s still not enough to cover your 2,452 &#8211; but possibly this is the first insertion into the table, so there&#8217;s some space management stuff going on as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lizhuohua(John)</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/#comment-53224</link>
		<dc:creator><![CDATA[Lizhuohua(John)]]></dc:creator>
		<pubDate>Mon, 28 Jan 2013 05:09:43 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1694#comment-53224</guid>
		<description><![CDATA[My test env is 10GR2. 
I tested it on 11g, Redo size is much smaller, most likely it is not logged. But I do set it logging.
[sourcecode]
SQL&gt; SELECT LOGGING FROM DBA_LOBS WHERE TABLE_NAME=&#039;LIZH_CLOB&#039;;

LOGGING
-------
YES

SQL&gt;  SELECT value redosizeb
  2     FROM v$mystat
  3    WHERE statistic# = (  SELECT statistic# FROM v$statname WHERE name=&#039;redo size&#039;   );

 REDOSIZEB
----------
    787760

SQL&gt;
SQL&gt; declare
  2  lc_clob clob;
  3  begin
  4   lc_clob := rpad(&#039;a&#039;,10000,&#039;a&#039;);
  5  for i in 1..100 loop
  6    insert into lizh_clob values(lc_clob);
  7  end loop;
  8  commit;
  9  end;
 10  /

PL/SQL procedure successfully completed.

SQL&gt;
SQL&gt;  SELECT value - &amp;redosizeb
  2     FROM v$mystat
  3    WHERE statistic# =  (  SELECT statistic# FROM v$statname WHERE name=&#039;redo size&#039; );
old   1:  SELECT value - &amp;redosizeb
new   1:  SELECT value -     787760

VALUE-787760
------------
       83308
[/sourcecode]
]]></description>
		<content:encoded><![CDATA[<p>My test env is 10GR2.<br />
I tested it on 11g, Redo size is much smaller, most likely it is not logged. But I do set it logging.</p>
<pre class="brush: plain; title: ; notranslate">
SQL&amp;gt; SELECT LOGGING FROM DBA_LOBS WHERE TABLE_NAME='LIZH_CLOB';

LOGGING
-------
YES

SQL&amp;gt;  SELECT value redosizeb
  2     FROM v$mystat
  3    WHERE statistic# = (  SELECT statistic# FROM v$statname WHERE name='redo size'   );

 REDOSIZEB
----------
    787760

SQL&amp;gt;
SQL&amp;gt; declare
  2  lc_clob clob;
  3  begin
  4   lc_clob := rpad('a',10000,'a');
  5  for i in 1..100 loop
  6    insert into lizh_clob values(lc_clob);
  7  end loop;
  8  commit;
  9  end;
 10  /

PL/SQL procedure successfully completed.

SQL&amp;gt;
SQL&amp;gt;  SELECT value - &amp;amp;redosizeb
  2     FROM v$mystat
  3    WHERE statistic# =  (  SELECT statistic# FROM v$statname WHERE name='redo size' );
old   1:  SELECT value - &amp;amp;redosizeb
new   1:  SELECT value -     787760

VALUE-787760
------------
       83308
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lizhuohua(John)</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/#comment-53220</link>
		<dc:creator><![CDATA[Lizhuohua(John)]]></dc:creator>
		<pubDate>Mon, 28 Jan 2013 01:33:17 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1694#comment-53220</guid>
		<description><![CDATA[Hi Jonathan,
  I have a question about inserting clob. (Sorry maybe not related to this thread excatly).
  I&#039;m wondering why the redo size is more than twice of the inserting data:
  Please take a look at this testing:
[sourcecode]
  SQL&gt; desc lizh_clob
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 A                                                  CLOB

SQL&gt; col redosizeb new_value redosizeb
SQL&gt;  SELECT value redosizeb
  2     FROM v$mystat
  3    WHERE statistic# = (  SELECT statistic# FROM v$statname WHERE name=&#039;redo size&#039;   );

 REDOSIZEB
----------
     16108

SQL&gt; insert into lizh_clob values(rpad(&#039;a&#039;,1000,&#039;a&#039;));

1 row created.

SQL&gt;  SELECT value - &amp;redosizeb
  2     FROM v$mystat
  3    WHERE statistic# =  (  SELECT statistic# FROM v$statname WHERE name=&#039;redo size&#039; );
old   1:  SELECT value - &amp;redosizeb
new   1:  SELECT value -      16108

VALUE-16108
-----------
       2452
[/sourcecode]
Could you please give me any clue?

Thanks,
John]]></description>
		<content:encoded><![CDATA[<p>Hi Jonathan,<br />
  I have a question about inserting clob. (Sorry maybe not related to this thread excatly).<br />
  I&#8217;m wondering why the redo size is more than twice of the inserting data:<br />
  Please take a look at this testing:</p>
<pre class="brush: plain; title: ; notranslate">
  SQL&amp;gt; desc lizh_clob
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 A                                                  CLOB

SQL&amp;gt; col redosizeb new_value redosizeb
SQL&amp;gt;  SELECT value redosizeb
  2     FROM v$mystat
  3    WHERE statistic# = (  SELECT statistic# FROM v$statname WHERE name='redo size'   );

 REDOSIZEB
----------
     16108

SQL&amp;gt; insert into lizh_clob values(rpad('a',1000,'a'));

1 row created.

SQL&amp;gt;  SELECT value - &amp;amp;redosizeb
  2     FROM v$mystat
  3    WHERE statistic# =  (  SELECT statistic# FROM v$statname WHERE name='redo size' );
old   1:  SELECT value - &amp;amp;redosizeb
new   1:  SELECT value -      16108

VALUE-16108
-----------
       2452
</pre>
<p>Could you please give me any clue?</p>
<p>Thanks,<br />
John</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gavin Liao</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/#comment-34935</link>
		<dc:creator><![CDATA[Gavin Liao]]></dc:creator>
		<pubDate>Tue, 01 Dec 2009 07:00:17 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1694#comment-34935</guid>
		<description><![CDATA[thanks for your clarification.]]></description>
		<content:encoded><![CDATA[<p>thanks for your clarification.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/09/concatenating-lobs/#comment-34923</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Mon, 30 Nov 2009 09:52:39 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1694#comment-34923</guid>
		<description><![CDATA[Gavin,
Updating the existing data in the LOB column - although, since we are talking about a temporary LOB at this point, it&#039;s not a &quot;column&quot; as such.]]></description>
		<content:encoded><![CDATA[<p>Gavin,<br />
Updating the existing data in the LOB column &#8211; although, since we are talking about a temporary LOB at this point, it&#8217;s not a &#8220;column&#8221; as such.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
