<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FSystem_Packages%2FDBMS_PROFILER</id>
		<title>Oracle PL/SQL Tutorial/System Packages/DBMS PROFILER - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FSystem_Packages%2FDBMS_PROFILER"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/System_Packages/DBMS_PROFILER&amp;action=history"/>
		<updated>2026-05-24T04:30:22Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/System_Packages/DBMS_PROFILER&amp;diff=3320&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/System_Packages/DBMS_PROFILER&amp;diff=3320&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/System_Packages/DBMS_PROFILER&amp;diff=3321&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/System_Packages/DBMS_PROFILER&amp;diff=3321&amp;oldid=prev"/>
				<updated>2010-05-26T10:05:58Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Call dbms_profiler.start_profiler to start profiler==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; exec dbms_profiler.start_profiler( &amp;quot;factorial iterative&amp;quot; )&lt;br /&gt;
BEGIN dbms_profiler.start_profiler( &amp;quot;factorial iterative&amp;quot; ); END;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace&lt;br /&gt;
  2  function fact_iterative( n int ) return number&lt;br /&gt;
  3  as&lt;br /&gt;
  4          l_result number default 1;&lt;br /&gt;
  5  begin&lt;br /&gt;
  6          for i in 2 .. n&lt;br /&gt;
  7          loop&lt;br /&gt;
  8                  l_result := l_result * i;&lt;br /&gt;
  9          end loop;&lt;br /&gt;
 10          return l_result;&lt;br /&gt;
 11  end;&lt;br /&gt;
 12  /&lt;br /&gt;
Function created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; begin&lt;br /&gt;
  2      for i in 1 .. 50 loop&lt;br /&gt;
  3          dbms_output.put_line( fact_iterative(50) );&lt;br /&gt;
  4      end loop;&lt;br /&gt;
  5  end;&lt;br /&gt;
  6  /&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; exec dbms_profiler.stop_profiler&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Capture DBMS_PROFILER information for the specified script==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; define script=&amp;quot;&amp;amp;1&amp;quot;;&lt;br /&gt;
Enter value for 1:&lt;br /&gt;
SQL&amp;gt; set verify off;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2&lt;br /&gt;
  3  n_run_number                          number;&lt;br /&gt;
  4&lt;br /&gt;
  5  begin&lt;br /&gt;
  6    DBMS_PROFILER.start_profiler(&amp;quot;&amp;amp;script&amp;quot;||&amp;quot; on &amp;quot;||to_char(SYSDATE, &amp;quot;YYYYMMDD HH24MISS&amp;quot;),&lt;br /&gt;
  7      &amp;quot; &amp;quot;,&lt;br /&gt;
  8      n_run_number);&lt;br /&gt;
  9&lt;br /&gt;
 10    DBMS_OUTPUT.PUT_LINE(&amp;quot;DBMS_PROFILER run_number = &amp;quot;||to_char(n_run_number));&lt;br /&gt;
 11  end;&lt;br /&gt;
 12  /&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; execute DBMS_PROFILER.stop_profiler;&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt; execute DBMS_PROFILER.flush_data;&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; set verify on;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== DBMS_PROFILER.get_version==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2      n_major number;&lt;br /&gt;
  3      n_minor number;&lt;br /&gt;
  4&lt;br /&gt;
  5  begin&lt;br /&gt;
  6    DBMS_PROFILER.get_version(n_major, n_minor);&lt;br /&gt;
  7&lt;br /&gt;
  8    DBMS_OUTPUT.PUT_LINE(&amp;quot;DBMS_PROFILER Version &amp;quot;||to_char(n_major)||&amp;quot;.&amp;quot;||to_char(n_minor));&lt;br /&gt;
  9&lt;br /&gt;
 10    DBMS_OUTPUT.PUT_LINE(DBMS_PROFILER.internal_version_check);&lt;br /&gt;
 11  end;&lt;br /&gt;
 12  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== dbms_profiler.start_profiler==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace procedure do_mod&lt;br /&gt;
  2  as&lt;br /&gt;
  3      cnt number := 0;&lt;br /&gt;
  4  begin&lt;br /&gt;
  5      dbms_profiler.start_profiler( &amp;quot;mod&amp;quot; );&lt;br /&gt;
  6&lt;br /&gt;
  7      for i in 1 .. 500000&lt;br /&gt;
  8      loop&lt;br /&gt;
  9          cnt := cnt + 1;&lt;br /&gt;
 10          if ( mod(cnt,1000) = 0 )&lt;br /&gt;
 11          then&lt;br /&gt;
 12              commit;&lt;br /&gt;
 13          end if;&lt;br /&gt;
 14      end loop;&lt;br /&gt;
 15&lt;br /&gt;
 16      dbms_profiler.stop_profiler;&lt;br /&gt;
 17  end;&lt;br /&gt;
 18  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace procedure no_mod&lt;br /&gt;
  2  as&lt;br /&gt;
  3      cnt number := 0;&lt;br /&gt;
  4  begin&lt;br /&gt;
  5      dbms_profiler.start_profiler( &amp;quot;no mod&amp;quot; );&lt;br /&gt;
  6      for i in 1 .. 500000&lt;br /&gt;
  7      loop&lt;br /&gt;
  8          cnt := cnt + 1;&lt;br /&gt;
  9          if ( cnt = 1000 )&lt;br /&gt;
 10          then&lt;br /&gt;
 11              commit;&lt;br /&gt;
 12              cnt := 0;&lt;br /&gt;
 13          end if;&lt;br /&gt;
 14      end loop;&lt;br /&gt;
 15      dbms_profiler.stop_profiler;&lt;br /&gt;
 16  end;&lt;br /&gt;
 17  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Demonstrate DBMS_PROFILER==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace procedure modtest&lt;br /&gt;
  2  as&lt;br /&gt;
  3  begin&lt;br /&gt;
  4    dbms_profiler.start_profiler(&amp;quot;mod&amp;quot;);&lt;br /&gt;
  5    for x in 1..1000 loop&lt;br /&gt;
  6      if mod(x,100) = 0 then null; end if;&lt;br /&gt;
  7    end loop;&lt;br /&gt;
  8    dbms_profiler.stop_profiler;&lt;br /&gt;
  9  end;&lt;br /&gt;
 10  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Profiler for recursive function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; exec dbms_profiler.start_profiler( &amp;quot;factorial recursive&amp;quot; )&lt;br /&gt;
BEGIN dbms_profiler.start_profiler( &amp;quot;factorial recursive&amp;quot; ); END;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace&lt;br /&gt;
  2  function fact_recursive( n int ) return number&lt;br /&gt;
  3  as&lt;br /&gt;
  4  begin&lt;br /&gt;
  5          if ( n = 1 )&lt;br /&gt;
  6          then&lt;br /&gt;
  7                  return 1;&lt;br /&gt;
  8          else&lt;br /&gt;
  9                  return n * fact_recursive(n-1);&lt;br /&gt;
 10          end if;&lt;br /&gt;
 11  end;&lt;br /&gt;
 12  /&lt;br /&gt;
Function created.&lt;br /&gt;
SQL&amp;gt; begin&lt;br /&gt;
  2      for i in 1 .. 50 loop&lt;br /&gt;
  3          dbms_output.put_line( fact_recursive(50) );&lt;br /&gt;
  4      end loop;&lt;br /&gt;
  5  end;&lt;br /&gt;
  6  /&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
30414093201713378043612608166064768844300000000000000000000000000&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; exec dbms_profiler.stop_profiler&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Use DBMS_PROFILER to compare the performance differences between row-at-a-time processing and bulk processing==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table t1 as select * from dba_objects where 0=1;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; create table t2 as select * from dba_objects where 0=1;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace procedure row_at_a_time_test&lt;br /&gt;
  2  as&lt;br /&gt;
  3  begin&lt;br /&gt;
  4      dbms_profiler.start_profiler(&amp;quot;row test&amp;quot;);&lt;br /&gt;
  5      for x in ( select * from all_objects )&lt;br /&gt;
  6      loop&lt;br /&gt;
  7          insert into t1 values X;&lt;br /&gt;
  8      end loop;&lt;br /&gt;
  9      dbms_profiler.stop_profiler;&lt;br /&gt;
 10  end;&lt;br /&gt;
 11  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt; show errors&lt;br /&gt;
No errors.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace procedure bulk_test&lt;br /&gt;
  2  as&lt;br /&gt;
  3    type array is table of all_objects%rowtype;&lt;br /&gt;
  4    l_data array;&lt;br /&gt;
  5    cursor c is select * from all_objects;&lt;br /&gt;
  6  begin&lt;br /&gt;
  7    dbms_profiler.start_profiler(&amp;quot;bulk test&amp;quot;);&lt;br /&gt;
  8    open c;&lt;br /&gt;
  9    loop&lt;br /&gt;
 10       fetch c bulk collect into l_data LIMIT 100;&lt;br /&gt;
 11&lt;br /&gt;
 12       forall i in 1 .. l_data.count&lt;br /&gt;
 13           insert into t2 values l_data(i);&lt;br /&gt;
 14&lt;br /&gt;
 15       exit when c%notfound;&lt;br /&gt;
 16    end loop;&lt;br /&gt;
 17    dbms_profiler.stop_profiler;&lt;br /&gt;
 18  end;&lt;br /&gt;
 19  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt; show errors&lt;br /&gt;
No errors.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table t1;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt; drop table t2;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>