Return-Path: <oracle-l-bounce@freelists.org>
Delivered-To: 2-oracle-l@orafaq.com
Received: (qmail 14629 invoked from network); 2 Dec 2007 15:07:18 -0600
Received: from freelists-180.iquest.net (HELO turing.freelists.org) (206.53.239.180)
  by 69.64.49.119 with SMTP; 2 Dec 2007 15:07:02 -0600
Received: from localhost (localhost [127.0.0.1])
 by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id BF4557CCA1E;
 Sun,  2 Dec 2007 16:06:51 -0500 (EST)
Received: from turing.freelists.org ([127.0.0.1])
 by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 13435-09; Sun, 2 Dec 2007 16:06:51 -0500 (EST)
Received: from turing (localhost [127.0.0.1])
 by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 3AAFE7CC9F7;
 Sun,  2 Dec 2007 16:06:51 -0500 (EST)
Received: with ECARTIS (v1.0.0; list oracle-l); Sun, 02 Dec 2007 15:19:55 -0500 (EST)
Received: from localhost (localhost [127.0.0.1])
 by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 6CE177CBD1E
 for <oracle-l@freelists.org>; Sun,  2 Dec 2007 15:19:55 -0500 (EST)
Received: from turing.freelists.org ([127.0.0.1])
 by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 04869-05 for <oracle-l@freelists.org>;
 Sun, 2 Dec 2007 15:19:55 -0500 (EST)
Received: from tornado.rdtex.ru (tornado.rdtex.ru [194.186.242.209])
 by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id C00BA7CBAF7
 for <oracle-l@freelists.org>; Sun,  2 Dec 2007 15:19:54 -0500 (EST)
Received: by tornado.rdtex.ru (Postfix, from userid 3000)
 id 3CF8A32E44; Sun,  2 Dec 2007 23:19:52 +0300 (MSK)
Received: from orff.int.rdtex.ru (orff.int.rdtex.ru [192.168.30.225])
 by tornado.rdtex.ru (Postfix) with ESMTP
 id 0C61832E44; Sun,  2 Dec 2007 23:19:40 +0300 (MSK)
Received: from [192.168.24.129] by orff.int.rdtex.ru (8.11.6/8.11.2/Nix)
          with ESMTP id lB2KJMh21096; Sun, 2 Dec 2007 23:19:24 +0300
Message-ID: <475313CA.8020808@rdtex.ru>
Date: Sun, 02 Dec 2007 23:21:30 +0300
From: Andrey Kriushin <Andrey.Kriushin@rdtex.ru>
Organization: RDTEX J.S.C.
User-Agent: Thunderbird 1.5.0.9 (Windows/20061207)
MIME-Version: 1.0
To: dannorris@dannorris.com
Cc: sulkdnl@yahoo.com, oracle-l@freelists.org
Subject: Re: Checkpoint in RAC
References: <696342.45756.qm@web35413.mail.mud.yahoo.com>
In-Reply-To: <696342.45756.qm@web35413.mail.mud.yahoo.com>
Content-Type: multipart/alternative; boundary="------------070002020803060708050604"
X-ClamAv-RD-Scan: PASSED [by tornado.rdtex.ru]
X-archive-position: 3669
X-ecartis-version: Ecartis v1.0.0
Sender: oracle-l-bounce@freelists.org
Errors-to: oracle-l-bounce@freelists.org
X-original-sender: Andrey.Kriushin@rdtex.ru
Precedence: normal
Reply-to: Andrey.Kriushin@rdtex.ru
List-help: <mailto:ecartis@freelists.org?Subject=help>
List-unsubscribe: <oracle-l-request@freelists.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: oracle-l <oracle-l.freelists.org>
X-List-ID: oracle-l <oracle-l.freelists.org>
List-subscribe: <oracle-l-request@freelists.org?Subject=subscribe>
List-owner: <mailto:steve.adams@ixora.com.au>
List-post: <mailto:oracle-l@freelists.org>
List-archive: <http://www.freelists.org/archives/oracle-l>
X-list: oracle-l
X-Virus-Scanned: Debian amavisd-new at localhost.localdomain
--------------070002020803060708050604
Content-Type: text/plain; charset=KOI8-R; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

Dan Norris wrote:
> Checkpoints are instance events, not database events
That's a very important point.

By using the thread checkpoints the instance "protects" the changes to 
the blocks in its own buffer cache from being lost.

Of course, there are some implications in RAC. Especially with the dirty 
blocks, which were sent to the other instances due to the cache fusion.

Those blocks are marked with the PI (past image) status in the sending 
instance's buffer header, and their checkpointing presumes some 
communication with the other instances's DBWRs. I.e. one should decide 
which instance's DBWR will checkpoint those blocks, contained in the PI 
buffers of checkpointing instance.

Once this issue is resolved, the recovery of the failed instance is 
logically straitforward. Goran had given a good schema for that process. 
Fortunately, those "cache fussioned" blocks are correctly accounted when 
building the recovery set, as the redo logs + GRD contain enough 
information (with the cache fusion the log flush occurs before the 
modified block is sent to the other instance).

The performance impact (GRD freeze time) should be measured separately. 
Though there is a rule of thumb - if you don't have significant impact 
of  'gc ...' waits during the normal operation, you'll probably will not 
notice that impact at all :-).

The (probably) bad news are that IMU (In-Memory Undo) and private 
strands (both are the 10g features, depending on each other) are 
switched off for the RAC (though I'm not sure for private strands, but 
very likely - sorry, Alex (BAAG). Promise - I'll check that).

-- Andrey

--------------070002020803060708050604
Content-Type: text/html; charset=KOI8-R
Content-Transfer-Encoding: 8bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=KOI8-R" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi,<br>
<br>
Dan Norris wrote:
<blockquote cite="mid696342.45756.qm@web35413.mail.mud.yahoo.com"
 type="cite">
  <style type="text/css"><!-- DIV {margin:0px;} --></style>
  <div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;">
  <div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;">Checkpoints
are instance events, not database events<br>
  </div>
  </div>
</blockquote>
That's a very important point. <br>
<br>
By using the thread checkpoints the instance "protects" the changes to
the blocks in its own buffer cache from being lost.<br>
<br>
Of course, there are some implications in RAC. Especially with the
dirty blocks, which were sent to the other instances due to the cache
fusion. <br>
<br>
Those blocks are marked with the PI (past image) status in the sending
instance's buffer header, and their checkpointing presumes some
communication with the other instances's DBWRs. I.e. one should decide
which instance's DBWR will checkpoint those blocks, contained in the PI
buffers of checkpointing instance.<br>
<br>
Once this issue is resolved, the recovery of the failed instance is
logically straitforward. Goran had given a good schema for that
process. Fortunately, those "cache fussioned" blocks are correctly
accounted when building the recovery set, as the redo logs + GRD
contain enough information (with the cache fusion the log flush occurs
before the modified block is sent to the other instance).<br>
<br>
The performance impact (GRD freeze time) should be measured separately.
Though there is a rule of thumb - if you don't have significant impact
ofš 'gc ...' waits during the normal operation, you'll probably will
not notice that impact at all :-).<br>
<br>
The (probably) bad news are that IMU (In-Memory Undo) and private
strands (both are the 10g features, depending on each other) are
switched off for the RAC (though I'm not sure for private strands, but
very likely - sorry, Alex (BAAG). Promise - I'll check that).<br>
<br>
-- Andrey<br>
</body>
</html>

--------------070002020803060708050604--

--
http://www.freelists.org/webpage/oracle-l


