Mailing List
Home
Forum Home
Oracle List - by freelists.org
Oracle on SUSE Linux - Runing Oracle on SUSE Linux
Oracle database error code ...
www.freelists.org
Subjects
ORA 12540: TNS:internal limit restriction exceeded
ORA 12838 please : Is possible to append two times to the same table befo
ORA 12838 please : Is possible to append two times to the same table before
ora 04031
ora 12500 on windows
ORA 32004: obsolete and/or deprecated parameter(s) specified
ORA 01925: maximum of 30 enabled roles exceeded
ORA 01925: maximum of 30 enabled roles exceeded
ora 12500 on windows
ORA 01650, one idea
ORA 01650
ORA 4030
ORA 12838 please : Is possible to append two times to thesametable before do
ORA 12838 please : Is possible to append two times to thesame table before d
ORA 01536
ORA 03113 end of file on communication channel
ORA 32004: obsolete and/or deprecated parameter(s) specified
ORA 00600:
ORA 00020: maximum number of processes (%s) exceeded
ORA 01925: maximum of 30 enabled roles exceeded
ORA 3113 while creating a cluster database 9201 RAC on Linux with OCFS
ora 12500 on windows
ora 12500 on windows
ora 12500 on windows
ORA 01650, one idea
ora 12500 on windows
ora 12500 on windows
ora 12500 on windows
ORA 2000 Error Using DBMS STATS GATHER SCHEMA STATS
ORA 01650, one idea
ORA 01650, one idea
ORA 01650, one idea
ORA 01650
ORA 01650
ORA 01031
ORA 4030
ORA 4030
ORA 06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind
ORA 01722 invalid number
 
-none-

-none-

2007-10-02       - By qihua wu

 Back
Hi, Alberto,

Thanks very much for your message.

Based on the formula you mentioned, if the cpu is always 100%busy for a long
time. Then the time that actually wating to be scheduled will be counted as
"wait for IO". If this is the case, then oracle will mislead us that IO is
too busy with the fact that CPU is too busy.
 t0 := get wallclock time [ gettimeofday() system call ]
 issue read request to the OS (a system call)
 ---> the time between the read is completed and oracle process get running
(if cpu is busy, then this time maybe long) <--
 t1 := get wallclock time
Am I right?

Thanks,
Qihua

On 10/2/07, Alberto Dell'Era <alberto.dellera@(protected)> wrote:
>
> As far as I know, Oracle doesn't communicate anything to
> the OS, it is the other way around - Oracle reads OS
> instrumentation data from the OS ;). Unless that has changed
> in some recent version, in which case I'd like to be corrected ...
>
> A read from a datafile (a physical read, either sequential or scattered)
> is instrumented this way:
>   t0 := get wallclock time [ gettimeofday() system call ]
>   issue read request to the OS (a system call)
>   t1 := get wallclock time
> wait time := t1 - t0;
>
> As soon as the process issues the read system call, the OS
> scheduler removes it from the CPU and puts it in the "waiting for I/O"
> state. When the I/O is completed (i.e. the requested blocks have
> been copied to the buffers) the process is put in the "runnable"
> state (queued for the CPUs), and later put back on a CPU ("running"
> state).
>
> So "wait time" includes the time spent waiting for the disks
> AND the time spent in the "runnable" state (the latter is far
> from being negligible if your instance has many processes
> contending for the CPU) plus some time to issue gettimeofday()
> etcetera.
>
> Not sure what "CPU I/O wait" is - maybe it is simply "I/O wait",
> the time a process (Oracle or not) spends waiting for the
> disks, so definitely NOT on the CPU ?
> Or maybe the CPU used for copying the buffers and
> other activities performed inside the read system call ?
> Or the two figures added together ?
>
> BTW If you're interested in a detailed discussion, an excellent
> reference is Cary Millsap/Jeff Holt's "Optimizing Oracle Performance",
> where you can find these things explained in a much more
> correct and precise way than mine.
>
> HTH
> Alberto
>
> On 10/1/07, David Taft <oradbt054@(protected)> wrote:
> > Qihua,
> >
> > Others are more knowledgeable than myself on this, but I will give this
> a
> > shot.  As I understand it, whenever Oracle is waiting on IO, the
> > instrumentation is such that this time is reported to OS kernel. Hence
> any
> > IO waits in Oracle are also reported at the OS level, but not all IO
> waits
> > at the OS level are necessarily correlated to Oracle IO waits.  When an
> > Oracle process is waiting on IO to complete, it voluntarily takes itself
> off
> > the CPU since it can't continue processing until the required IO
> completes.
> > The Unix kernel requires this info from Oracle processes for CPU time
> slice
> > scheduling.  If I got any of this wrong, please someone correct
> me.  Anyway,
> > you may find the following article worth reading:
> >
> > http://www.quest-pipelines.com/newsletter-v3/0402_C.htm
> > Tuning Oracle Without Cache-Hit Ratios
> >
> > Of particular interest with regard to your question is the section,
> > IDENTIFYING THE OS BOTTLENECKS - PRONG II.
> >
> > You may also want to read the following post that shows a correlation
> > between the OS-level IO waits and those reported in Statspack.
> >
> > http://www.freelists.org/archives/oracle-l/11-2005/msg00411.html
> > High wio on New Hitachi SAN Storage of DB Server
> >
> > Hope this is of some help.
> >
> > Cheers,
> >
> > David
> >
> >
> >
> > On 9/29/07, qihua wu <staywithpin@(protected)> wrote:
> > > the same or at least related to the "CPU I/O wait' at the unix level?
> > >
> >
> >
>
>
> --
> Alberto Dell'Era
> "the more you know, the faster you go"
>

Hi, Alberto,<br><br>Thanks very much for your message.<br><br>Based on the
formula you mentioned, if the cpu is always 100%busy for a long time. Then the
time that actually wating to be scheduled will be counted as &quot;wait for IO
&quot;. If this is the case, then oracle will mislead us that IO is too busy
with the fact that CPU is too busy.
<br>&nbsp; t0 := get wallclock time [ gettimeofday() system call ]<br>&nbsp;
&nbsp;issue read request to the OS (a system call)<br>&nbsp; ---&gt; the time
between the read is completed and oracle process get running (if cpu is busy,
then this time maybe long) &lt;--
<br>&nbsp;&nbsp;t1 := get wallclock time<br>Am I right?<br><br>Thanks,<br>Qihua
<br><br><div><span class="gmail_quote">On 10/2/07, <b class="gmail_sendername"
>Alberto Dell&#39;Era</b> &lt;<a href="mailto:alberto.dellera@(protected)">alberto
.dellera@(protected)
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">As far
as I know, Oracle doesn&#39;t communicate anything to<br>the OS, it is the
other way around - Oracle reads OS
<br>instrumentation data from the OS ;). Unless that has changed<br>in some
recent version, in which case I&#39;d like to be corrected ...<br><br>A read
from a datafile (a physical read, either sequential or scattered)<br>
is instrumented this way:<br>&nbsp;&nbsp;t0 := get wallclock time [
gettimeofday() system call ]<br>&nbsp;&nbsp;issue read request to the OS (a
system call)<br>&nbsp;&nbsp;t1 := get wallclock time<br>wait time := t1 - t0;
<br><br>As soon as the process issues the read system call, the OS
<br>scheduler removes it from the CPU and puts it in the &quot;waiting for I/O
&quot;<br>state. When the I/O is completed (i.e. the requested blocks have<br
>been copied to the buffers) the process is put in the &quot;runnable&quot;
<br>state (queued for the CPUs), and later put back on a CPU (&quot;running
&quot; state).<br><br>So &quot;wait time&quot; includes the time spent waiting
for the disks<br>AND the time spent in the &quot;runnable&quot; state (the
latter is far
<br>from being negligible if your instance has many processes<br>contending for
the CPU) plus some time to issue gettimeofday()<br>etcetera.<br><br>Not sure
what &quot;CPU I/O wait&quot; is - maybe it is simply &quot;I/O wait&quot;,
<br>the time a process (Oracle or not) spends waiting for the<br>disks, so
definitely NOT on the CPU ?<br>Or maybe the CPU used for copying the buffers
and<br>other activities performed inside the read system call ?<br>Or the two
figures added together ?
<br><br>BTW If you&#39;re interested in a detailed discussion, an excellent<br
>reference is Cary Millsap/Jeff Holt&#39;s &quot;Optimizing Oracle Performance
&quot;,<br>where you can find these things explained in a much more
<br>correct and precise way than mine.<br><br>HTH<br>Alberto<br><br>On 10/1/07,
David Taft &lt;<a href="mailto:oradbt054@(protected)">oradbt054@(protected)</a>&gt;
wrote:<br>&gt; Qihua,<br>&gt;<br>&gt; Others are more knowledgeable than myself
on this, but I will give this a
<br>&gt; shot.&nbsp;&nbsp;As I understand it, whenever Oracle is waiting on IO,
the<br>&gt; instrumentation is such that this time is reported to OS kernel.
Hence any<br>&gt; IO waits in Oracle are also reported at the OS level, but not
all IO waits
<br>&gt; at the OS level are necessarily correlated to Oracle IO waits.&nbsp;
&nbsp;When an<br>&gt; Oracle process is waiting on IO to complete, it
voluntarily takes itself off<br>&gt; the CPU since it can&#39;t continue
processing until the required IO completes.
<br>&gt; The Unix kernel requires this info from Oracle processes for CPU time
slice<br>&gt; scheduling.&nbsp;&nbsp;If I got any of this wrong, please someone
correct me.&nbsp;&nbsp;Anyway,<br>&gt; you may find the following article worth
reading:
<br>&gt;<br>&gt; <a href="http://www.quest-pipelines.com/newsletter-v3/0402_C
.htm">http://www.quest-pipelines.com/newsletter-v3/0402_C.htm</a><br>&gt; Tuning
Oracle Without Cache-Hit Ratios<br>&gt;<br>&gt; Of particular interest with
regard to your question is the section,
<br>&gt; IDENTIFYING THE OS BOTTLENECKS - PRONG II.<br>&gt;<br>&gt; You may
also want to read the following post that shows a correlation<br>&gt; between
the OS-level IO waits and those reported in Statspack.<br>&gt;<br>&gt;
<a href="http://www.freelists.org/archives/oracle-l/11-2005/msg00411.html">http
://www.freelists.org/archives/oracle-l/11-2005/msg00411.html</a><br>&gt; High
wio on New Hitachi SAN Storage of DB Server<br>&gt;<br>&gt; Hope this is of
some help.
<br>&gt;<br>&gt; Cheers,<br>&gt;<br>&gt; David<br>&gt;<br>&gt;<br>&gt;<br>&gt;
On 9/29/07, qihua wu &lt;<a href="mailto:staywithpin@(protected)">staywithpin
@(protected)</a>&gt; wrote:<br>&gt; &gt; the same or at least related to the &quot
;CPU I/O wait&#39; at the unix level?
<br>&gt; &gt;<br>&gt;<br>&gt;<br><br><br>--<br>Alberto Dell&#39;Era<br>&quot
;the more you know, the faster you go&quot;<br></blockquote></div><br>