<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>玉面飞龙的BLOG</title>
	<atom:link href="http://yumianfeilong.com/feed" rel="self" type="application/rss+xml" />
	<link>http://yumianfeilong.com</link>
	<description>Oracle,Finance,Communication,Family,Hobby</description>
	<pubDate>Tue, 08 May 2012 05:48:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>baobao</title>
		<link>http://yumianfeilong.com/html/2012/04/19/567.html</link>
		<comments>http://yumianfeilong.com/html/2012/04/19/567.html#comments</comments>
		<pubDate>Thu, 19 Apr 2012 08:46:00 +0000</pubDate>
		<dc:creator>yumianfeilong</dc:creator>
		
		<category><![CDATA[Family]]></category>

		<guid isPermaLink="false">http://yumianfeilong.com/?p=567</guid>
		<description><![CDATA[带宝宝出来见见世面，免得呆呆傻傻。


在天外天烤鸭店有模有样的看我们吃烤鸭
]]></description>
			<content:encoded><![CDATA[<p>带宝宝出来见见世面，免得呆呆傻傻。<br />
<span id="more-567"></span></p>
<p><a href="http://yumianfeilong.com/wp-content/uploads/2012/04/2012-04-18_19-05-33_860.jpg"><img class="aligncenter size-full wp-image-568" title="2012-04-18_19-05-33_860" src="http://yumianfeilong.com/wp-content/uploads/2012/04/2012-04-18_19-05-33_860.jpg" alt="" width="500" height="373" /></a><br />
在天外天烤鸭店有模有样的看我们吃烤鸭</p>
]]></content:encoded>
			<wfw:commentRss>http://yumianfeilong.com/html/2012/04/19/567.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Understanding the SCN</title>
		<link>http://yumianfeilong.com/html/2012/04/11/566.html</link>
		<comments>http://yumianfeilong.com/html/2012/04/11/566.html#comments</comments>
		<pubDate>Wed, 11 Apr 2012 08:32:22 +0000</pubDate>
		<dc:creator>yumianfeilong</dc:creator>
		
		<category><![CDATA[Boring]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://yumianfeilong.com/?p=566</guid>
		<description><![CDATA[
By sandeep makol
Yong Huang shared a link: &#8220;Took me a while to find the orig author of &#8220;Understanding the SCN&#8221;. It&#8217;s Geoff Ingram, in his 2002 book &#8220;High-performance Oracle&#8221;. You can see a paragraph on books.google.com. Shame on the plagiarist at http://www.dbapool.com/articles/1029200701.html.&#8221;

this is full text.
Understanding the SCN
In order to understand how Oracle performs recovery, it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> <o :OfficeDocumentSettings> <o :AllowPNG /> </o> </xml>< ![endif]--><!--[if gte mso 9]><xml> <w :WordDocument> </w><w :View>Normal</w> <w :Zoom>0</w> <w :TrackMoves /> <w :TrackFormatting /> <w :PunctuationKerning /> <w :DrawingGridVerticalSpacing>7.8 pt</w> <w :DisplayHorizontalDrawingGridEvery>0</w> <w :DisplayVerticalDrawingGridEvery>2</w> <w :ValidateAgainstSchemas /> <w :SaveIfXMLInvalid>false</w> <w :IgnoreMixedContent>false</w> <w :AlwaysShowPlaceholderText>false</w> <w :DoNotPromoteQF /> <w :LidThemeOther>EN-US</w> <w :LidThemeAsian>ZH-CN</w> <w :LidThemeComplexScript>X-NONE</w> <w :Compatibility> <w :SpaceForUL /> <w :BalanceSingleByteDoubleByteWidth /> <w :DoNotLeaveBackslashAlone /> <w :ULTrailSpace /> <w :DoNotExpandShiftReturn /> <w :AdjustLineHeightInTable /> <w :BreakWrappedTables /> <w :SnapToGridInCell /> <w :WrapTextWithPunct /> <w :UseAsianBreakRules /> <w :DontGrowAutofit /> <w :SplitPgBreakAndParaMark /> <w :EnableOpenTypeKerning /> <w :DontFlipMirrorIndents /> <w :OverrideTableStyleHps /> </w> <m :mathPr> <m :mathFont m:val="Cambria Math" /> <m :brkBin m:val="before" /> <m :brkBinSub m:val="&#45;-" /> <m :smallFrac m:val="off" /> <m :dispDef /> <m :lMargin m:val="0" /> <m :rMargin m:val="0" /> <m :defJc m:val="centerGroup" /> <m :wrapIndent m:val="1440" /> <m :intLim m:val="subSup" /> <m :naryLim m:val="undOvr" /> </m> </xml>< ![endif]--><!--[if gte mso 9]><xml> <w :LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w :LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w :LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w :LsdException Locked="false" Priority="39" Name="toc 1" /> <w :LsdException Locked="false" Priority="39" Name="toc 2" /> <w :LsdException Locked="false" Priority="39" Name="toc 3" /> <w :LsdException Locked="false" Priority="39" Name="toc 4" /> <w :LsdException Locked="false" Priority="39" Name="toc 5" /> <w :LsdException Locked="false" Priority="39" Name="toc 6" /> <w :LsdException Locked="false" Priority="39" Name="toc 7" /> <w :LsdException Locked="false" Priority="39" Name="toc 8" /> <w :LsdException Locked="false" Priority="39" Name="toc 9" /> <w :LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w :LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w :LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w :LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w :LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w :LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w :LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w :LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w :LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w :LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w :LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w :LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w :LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w :LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w :LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w :LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w :LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w :LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w :LsdException Locked="false" Priority="37" Name="Bibliography" /> <w :LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w> </xml>< ![endif]--><!--[if gte mso 10]><br />
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
</style>
<p> < ![endif]--><span style="font-size: 8.5pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;" lang="EN-US"><a href="http://www.facebook.com/n/?profile.php&amp;id=100000079980111&amp;mid=5ee74fdG3ff074a7G321eedaG109&amp;bcode=aGs5gDBr&amp;n_m=binzhang%40ebay.com"></a></span></p>
<p><a href="http://www.dbapool.com/articles/1029200701.html">By <strong><span class="graylink">sandeep makol</span></strong></a></p>
<blockquote><p><span style="font-size: 8.5pt; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;" lang="EN-US"><a href="http://www.facebook.com/n/?profile.php&amp;id=100000079980111&amp;mid=5ee74fdG3ff074a7G321eedaG109&amp;bcode=aGs5gDBr&amp;n_m=binzhang%40ebay.com">Yong Huang</a> shared a <a href="http://www.facebook.com/l/vAQGdcmps/www.dbapool.com/articles/1029200701.html">link</a>: &#8220;Took me a while to find the orig author of &#8220;Understanding the SCN&#8221;. It&#8217;s Geoff Ingram, in his 2002 book &#8220;High-performance Oracle&#8221;. You can see a paragraph on books.google.com. Shame on the plagiarist at <a href="http://www.dbapool.com/articles/1029200701.html">http://www.dbapool.com/articles/1029200701.html</a>.&#8221;</span></p></blockquote>
<p><span id="more-566"></span></p>
<p>this is full text.</p>
<blockquote><p><strong>Understanding the SCN</strong></p>
<p align="justify">In order to understand how Oracle performs recovery, it&#8217;s  first necessary to understand Oracle&#8217;s SCN in terms of the various places where  it can be stored and how it&#8217;s used for instance and media recovery.</p>
<p>The SCN is an internal number maintained by the database management system  (DBMS) to log changes made to a database. The SCN increases over time as changes  are made to the database by Structured Query Language (SQL). By understanding  how the SCN is used, you can understand how Oracle recovery works. Oracle9i  enables you to examine the current SCN using the following SQL:</p>
<p>SQL&gt; select dbms_flashback.get_system_change_number from dual;</p>
<p>Whenever an application commits a transaction, the log writer process (LGWR)  writes records from the redo log buffers in the System Global Area (SGA) to the  online redo logs on disk. LGWR also writes the transaction&#8217;s SCN to the online  redo log file. The success of this atomic write event determines whether your  transaction succeeds, and it requires a synchronous (wait-until-completed) write  to disk.</p>
<p><span style="color: #ff0000;">Note: </span>The need for a synchronous write upon commit  is one of the reasons why the online redo log can become a bottleneck for  applications and why you should commit as infrequently as is practical. In  general, Oracle writes asynchronously to the database datafiles for performance  reasons, but commits require a synchronous write because they must be guaranteed  at the time they occur.</p>
<p><strong>SCN and Checkpoints:</p>
<p></strong>A checkpoint occurs when all modified database buffers in the Oracle SGA are  written out to datafiles by the database writer (DBWn) process. The checkpoint  process (CKPT) updates all datafiles and control files with the SCN at the time  of the checkpoint and signals DBWn to write out the blocks. A successful  checkpoint guarantees that all database changes up to the checkpoint SCN have  been recorded in the datafiles. As a result, only those changes made after the  checkpoint need to be applied during recovery. Checkpoints occur automatically  as follows:</p>
<ul>
<li>Whenever a redo log switch takes place</li>
<li>Whenever the time set by the LOG_CHECKPOINT_TIMEOUT initialization        parameter is reached</li>
<li>Whenever the amount of redo written reaches the number of bytes associated  	  with the LOG_CHECKPOINT_INTERVAL</li>
</ul>
<p>Typically, LOG_CHECKPOINT_INTERVAL is chosen so that checkpoints only occur  	  on log switches. Oracle stores the SCN associated with the checkpoint in four  	  places: three of them in the control file and one in the datafile header for  	  each datafile.</p>
<p><strong>The System Checkpoint SCN:</p>
<p></strong>After a checkpoint completes, Oracle stores the system checkpoint SCN in the  	  control file. You can access the checkpoint SCN using the following SQL:</p>
<p>SQL&gt; select checkpoint_change# from v$database;<br />
CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
292767</p>
<p><strong>The Datafile Checkpoint SCN:</strong></p>
<p>After a checkpoint completes, Oracle stores the SCN individually in the  	  control file for each datafile. The following SQL shows the datafile checkpoint  	  SCN for a single datafile in the control file:</p>
<p>SQL&gt; select name,checkpoint_change# from v$datafile where name like  	  &#8216;%users01%&#8217;;<br />
NAME                                  CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
/u02/oradata/OMFD1/users01.dbf                  292767</p>
<p><strong>The Start SCN:<br />
</strong><br />
Oracle stores the checkpoint SCN value in the header of each datafile. This is  	  referred to as the start SCN because it is used at instance startup time to  	  check if recovery is required. The following SQL shows the checkpoint SCN in the  	  datafile header for a single datafile:</p>
<p>SQL&gt; select name,checkpoint_change# from v$datafile_header where name like &#8216;%users01%&#8217;;<br />
NAME                                  CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
/u02/oradata/OMFD1/users01.dbf                  292767</p>
<p><strong>The Stop SCN:</strong></p>
<p>The stop SCN is held in the control file for each datafile. The following SQL  	  shows the stop SCN for a single datafile when the database is open for normal  	  use:</p>
<p>SQL&gt; select name,last_change# from v$datafile where name like &#8216;%users01%&#8217;;<br />
NAME                                LAST_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;<br />
/u02/oradata/OMFD1/users01.dbf</p>
<p align="justify">During normal database operation, the stop SCN is NULL for  	  all datafiles that are online in read-write mode. SCN Values while the Database  	  Is Up Following a checkpoint while the database is up and open for use, the  	  system checkpoint in the control file, the datafile checkpoint SCN in the  	  control file, and the start SCN in each datafile header all match. The stop SCN  	  for each datafile in the control file is NULL. SCN after a Clean Shutdown After  	  a clean database shutdown resulting from a SHUTDOWN IMMEDIATE or SHUTDOWN NORMAL  	  of the database, followed by STARTUP MOUNT, the previous queries on v$database  	  and v$datafile return the following:</p>
<p align="justify">SQL&gt; select checkpoint_change# from v$database;<br />
CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
293184</p>
<p>SQL&gt; select name,checkpoint_change#,last_change# from v$datafile where name like  	  &#8216;%user%&#8217;;<br />
NAME                                  CHECKPOINT_CHANGE#   LAST_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8211;<br />
/u02/oradata/OMFD1/users01.dbf                  293184         293184</p>
<p>SQL&gt; select name,checkpoint_change# from v$datafile_header where name like  	  &#8216;%users01%&#8217;;<br />
NAME                                                   CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
/u02/oradata/OMFD1/users01.dbf                  293184</p>
<p>During a clean shutdown, a checkpoint is performed and the stop SCN for each  	  datafile is set to the start SCN from the datafile header. Upon startup, Oracle  	  checks the start SCN in the file header with the datafile checkpoint SCN. If  	  they match, Oracle checks the start SCN in the datafile header with the datafile  	  stop SCN in the control file. If they match, the database can be opened because  	  all block changes have been applied, no changes were lost on shutdown, and  	  therefore no recovery is required on startup. After the database is opened, the  	  datafile stop SCN in the control file once again changes to NULL to indicate  	  that the datafile is open for normal use.</p>
<p><strong>SCN after an Instance Crash</strong></p>
<p>The previous example showed the behavior of the SCN after a clean shutdown.  	  To demonstrate the behavior of the checkpoints after an instance crash, the  	  following SQL creates a table (which performs an implicit commit) and inserts a  	  row of data into it without a commit:<br />
create table x(x number) tablespace users;</p>
<p>insert into x values(100);</p>
<p>If the instance is crashed by using SHUTDOWN ABORT, the previous queries on  	  v$database and v$datafile return the following after the database is started up  	  in mount mode:</p>
<p>SQL&gt; select checkpoint_change# from v$database;<br />
CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
293185</p>
<p>SQL&gt; select name,checkpoint_change#,last_change# from v$datafile where name  	  like &#8216;%users01%&#8217;;</p>
<p>NAME                                  CHECKPOINT_CHANGE#   LAST_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8211;<br />
/u02/oradata/OMFD1/users01.dbf                  293185</p>
<p>SQL&gt; select name,checkpoint_change# from v$datafile_header where name like  	  &#8216;%users01%&#8217;;<br />
NAME                                  CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
/u02/oradata/OMFD1/users01.dbf                  293185</p>
<p align="justify">In this case, the stop SCN is not set, which is indicated by  	  the NULL value in the LAST_CHANGE# column. This information enables Oracle, at  	  the time of the next startup, to determine that the instance crashed because the  	  checkpoint on shutdown was not performed. If it had been performed, the  	  LAST_CHANGE# and CHECKPOINT_CHANGE# values would match for each datafile as they  	  did during a clean shutdown. If an instance crashes at shutdown, then instance  	  crash recovery is required the next time the instance starts up.</p>
<p align="justify"><strong>Recovery from an Instance Crash</strong></p>
<p align="justify">Upon the next instance startup that takes place after  	  SHUTDOWN ABORT or a DBMS crash, the Oracle DBMS detects that the stop SCN for  	  datafiles is not set in the control file during startup. Oracle then performs  	  crash recovery. During crash recovery, Oracle applies redo log records from the  	  online redo logs in a process referred to as roll forward to ensure that all  	  transactions committed before the crash are applied to the datafiles. Following  	  roll forward, active transactions that did not commit are identified from the  	  rollback segments and are undone before the blocks involved in the active  	  transactions can be accessed. This process is referred to as roll back. In our  	  example, the following transaction was active but not committed at the time of  	  the SHUTDOWN ABORT, so it needs to be rolled back:</p>
<p align="justify">SQL&gt; insert into x values(100);</p>
<p align="justify">After instance startup, the X table exists, but remains  	  empty. Instance recovery happens automatically at database startup without  	  database administrator (DBA) intervention. It may take a while because of the  	  need to apply large amounts of outstanding redo changes to data blocks for  	  transactions that completed and those that didn抰 complete and require roll  	  back.</p>
<p><strong>Recovery from a Media Failure</strong></p>
<p>Up until this point, the checkpoint start SCN in the datafile header has  	  always matched the datafile checkpoint SCN number held in the control file. This  	  is reasonable because during a checkpoint, the datafile checkpoint SCN in the  	  control file and the start SCN in the datafile header are both updated, along  	  with the system checkpoint SCN. The following SQL shows the start SCN from the  	  datafile header and datafile checkpoint SCN from the control file for the same  	  file:</p>
<p align="justify">SQL&gt; select &#8216;controlfile&#8217; &#8220;SCN  	  location&#8221;,name,checkpoint_change# from v$datafile where name like &#8216;%users01%&#8217;<br />
union<br />
select &#8216;file header&#8217;,name,checkpoint_change# from v$datafile_header where name  	  like &#8216;%users01%&#8217;;</p>
<p>SCN location   NAME                                  CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
controlfile    /u02/oradata/OMFD1/users01.dbf                  293188<br />
file header    /u02/oradata/OMFD1/users01.dbf                  293188</p>
<p>Unlike the v$datafile view, there is no stop SCN column in the v$datafile_header  	  view because v$datafile_header is not used at instance startup time to indicate  	  that an instance crash occurred. However, the v$datafile_header does provide the  	  Oracle DBMS with the information it requires to perform media recovery. At  	  instance startup, the datafile checkpoint SCN in the control file and the start  	  SCN in the datafile header are checked for equality. If they don抰 match, it is  	  a signal that media recovery is<br />
required.</p>
<p>For example, media recovery is required if a media failure has occurred and the  	  original datafile has been replaced with a backup copy. In this case, the start  	  SCN in the backup copy is less than the checkpoint SCN value in the control  	  file, and Oracle requests archived redo logs generated at the time of previous  	  log switches in order to reapply the changes required to bring the datafile up  	  to the current point in time.</p>
<p>In order to recover the database from a media failure, you must run the database  	  in ARCHIVELOG mode to ensure that all database changes from the online redo logs  	  are stored permanently in archived redo log files. In order to enable ARCHIVELOG  	  mode, you must run the command ALTERDATABASE ARCHIVELOG when the database is in  	  a mounted state.</p>
<p>You can identify files that need recovery after you have replaced a datafile  	  with an older version by starting the instance in mount mode and running the  	  following SQL:</p>
<p>SQL&gt; select file#,change# from v$recover_file;</p>
<p>FILE#    CHANGE#<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;-<br />
4     313401</p>
<p>In this example, file 4 is the datafile in the USERS  	  tablespace. By reexecuting the previous SQL to display the datafile checkpoint  	  SCN in the control file and the start SCN in the datafile header, you can see  	  that the start SCN is older due to the restore of the backup datafile that has  	  taken place:</p>
<p>SQL&gt; select &#8216;controlfile&#8217; &#8220;SCN location&#8221;,name,checkpoint_change#<br />
from v$datafile where name like &#8216;%users01%&#8217;<br />
union<br />
select &#8216;file header&#8217;,name,checkpoint_change#<br />
from v$datafile_header where name like &#8216;%users01%&#8217;;</p>
<p>SCN location   NAME                                  CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
controlfile    /u02/oradata/OMFD1/users01.dbf                  313551<br />
file header    /u02/oradata/OMFD1/users01.dbf                  313401<br />
If you were to attempt to open the database, you would receive errors like the  	  following:<br />
ORA-01113: file 4 needs media recovery<br />
ORA-01110: datafile 4: &#8216;/u02/oradata/OMFD1/users01.dbf&#8217;<br />
You can recover the database by issuing RECOVER DATABASE from SQL*Plus while the  	  database is in a mounted state. If the changes needed to recover the database to  	  the point in time before the crash are in an archived redo log, then you will be  	  prompted to accept the suggested name:<br />
ORA-00279: change 313401 generated at 11/10/2001 18:50:23 needed for thread<br />
ORA-00289: suggestion : /u02/oradata/OMFD1/arch/T0001S0000000072.ARC<br />
ORA-00280: change 313401 for thread 1 is in sequence #72</p>
<p>Specify log: {&lt;RET&gt;=suggested | filename | AUTO | CANCEL}</p>
<p>If you respond to the prompt using AUTO, Oracle applies any archived redo logs  	  it needs, followed by any necessary changes in the online redo logs, to bring  	  the database right up to the last committed transaction before the media failure  	  that caused the requirement for the restore.</p>
<p>So far, we&#8217;ve considered recovery scenarios where the goal is to recover the  	  database to the most recent transaction. This is known as complete recovery. The  	  RECOVER DATABASE command has several other options that enable you to recover  	  from a backup to a point in time before the most recent transaction by rolling  	  forward and then stopping the application of the redo log changes at a specified  	  point. This is known as incomplete recovery. You can specify a time or an SCN as  	  the recovery point. For example,</p>
<p>recover database until time &#8216;2001-11-10:18:52:00&#8242;;<br />
recover database until change 313459;</p>
<p>Before you perform incomplete recovery, it has recommended that you restore a  	  complete database backup first. After incomplete recovery, you must open the  	  mounted database with ALTER DATABASE OPEN RESETLOGS. This creates a new  	  incarnation of the database and clears the contents of the existing redo logs to  	  make sure they can&#8217;t be applied.</p>
<p><strong>Recovery from a Media Failure Using a Backup Control File</p>
<p></strong>In the previous example, we had access to a current control file at the time  	  of the media failure. This means that none of the start SCN values in the  	  datafile headers exceeded the system checkpoint SCN number in the control file.  	  To recap, the system checkpoint number is given by the following:</p>
<p>SQL&gt; select checkpoint_change# from v$database;</p>
<p>You might be wondering why Oracle needs to maintain the last system checkpoint  	  value in the control file as well as checkpoint SCNs in the control file for  	  each datafile (as used in the previous example). There are two reasons for this.  	  The first is that you might have read-only tablespaces in your database. In this  	  case, the database checkpoint SCN increases, and the checkpoint SCN for the  	  datafiles in the read-only tablespace remains frozen in the control file.</p>
<p>The following SQL report output shows a database with a read-write tablespace  	  (USERS) and read-only tablespace (TEST). The start SCN in the file header and  	  the checkpoint SCN in the control file for TEST are less than the system  	  checkpoint value. Once a tablespace is read only, checkpoints have no effect on  	  the files in it. The other read-write tablespace has checkpoint values that  	  match the system checkpoint:</p>
<p>SCN location         NAME                             CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;-<br />
controlfile          SYSTEM checkpoint                           355390<br />
file header          /u02/oradata/OD2/users01.dbf                355390<br />
file in controlfile  /u02/oradata/OD2/users01.dbf                355390<br />
file header          /u02/oradata/OD2/test01.dbf                 355383<br />
file in controlfile  /u02/oradata/OD2/test01.dbf                 355383</p>
<p>The second reason for the maintenance of multiple checkpoint SCNs in the control  	  file is that you might not have a current control file available at recovery  	  time. In this case, you need to restore an earlier control file before you can  	  perform a recovery. The system checkpoint in the control file may indicate an  	  earlier change than the start SCN in the datafile headers.</p>
<p>The following SQL shows an example where the system checkpoint SCN and datafile  	  checkpoint SCN indicate an earlier change than the start SCN in the datafile  	  header:</p>
<p>SQL&gt; select &#8216;controlfile&#8217; &#8220;SCN location&#8221;,&#8217;SYSTEM checkpoint&#8217;  	  name,checkpoint_change#<br />
from v$database<br />
union<br />
select &#8216;file in controlfile&#8217;,name,checkpoint_change#<br />
from v$datafile where name like &#8216;users01%&#8217;<br />
union<br />
select &#8216;file header&#8217;,name,checkpoint_change#<br />
from v$datafile_header where name like &#8216;%users01%&#8217;;</p>
<p>SCN location        NAME                                            CHECKPOINT_CHANGE#<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;   &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
controlfile         SYSTEM checkpoint                                       333765<br />
file header         /u02/oradata/OD2/users01.dbf                  355253<br />
file in controlfile /u02/oradata/OD2/users01.dbf                 333765</p>
<p>If try you to recover a database in the usual way in this situation, Oracle  	  detects that the control file is older than some of the datafiles, as indicated  	  by the checkpoint SCN values in the datafile headers, and reports the following  	  message:</p>
<p>SQL&gt; recover database<br />
ORA-00283: recovery session canceled due to errors<br />
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done</p></blockquote>
<blockquote><p>If you want to proceed with recovery in this situation, you need to indicate to  	  Oracle that a noncurrent control file possibly containing mismatches in the SCN  	  values identified by the previous error messages is about to be specified for  	  recovery by using the following command:<br />
recover database using BACKUP CONTROLFILE;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://yumianfeilong.com/html/2012/04/11/566.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>宝宝风疹</title>
		<link>http://yumianfeilong.com/html/2012/04/03/564.html</link>
		<comments>http://yumianfeilong.com/html/2012/04/03/564.html#comments</comments>
		<pubDate>Tue, 03 Apr 2012 10:01:16 +0000</pubDate>
		<dc:creator>yumianfeilong</dc:creator>
		
		<category><![CDATA[Family]]></category>

		<guid isPermaLink="false">http://yumianfeilong.com/?p=564</guid>
		<description><![CDATA[前一阵子宝宝生病了，发烧，最高39度，最低38度，虽然经过物理降温，但体温反复好几次，吐奶，无精神。去医院急诊，一个有经验的大夫问道，这是孩子第一次发烧吧，如果是的话，就不是大问题，基本上每个宝宝，6个月大之后，由于母乳喂养，出生时候携带的抵抗力会慢慢消失，6个月到3岁大的时候容易感染病毒，导致发烧。
该发烧会反复，吃什么药都不管用，发烧3天后，温度会自动降低到正常，并且身上会起一些小的红色的疹子；出了疹子之后发烧就会好，疹子也会在1到天后自动消失。这是宝宝增强自身抵抗力的过程。但如果宝宝连续发烧超过3天，则要留意医院就诊最好。
特此提醒广大新生儿家长，宝宝第一次发烧的时候要淡定。
]]></description>
			<content:encoded><![CDATA[<p>前一阵子宝宝生病了，发烧，最高39度，最低38度，虽然经过物理降温，但体温反复好几次，吐奶，无精神。去医院急诊，一个有经验的大夫问道，这是孩子第一次发烧吧，如果是的话，就不是大问题，基本上每个宝宝，6个月大之后，由于母乳喂养，出生时候携带的抵抗力会慢慢消失，6个月到3岁大的时候容易感染病毒，导致发烧。</p>
<p>该发烧会反复，吃什么药都不管用，发烧3天后，温度会自动降低到正常，并且身上会起一些小的红色的疹子；出了疹子之后发烧就会好，疹子也会在1到天后自动消失。这是宝宝增强自身抵抗力的过程。但如果宝宝连续发烧超过3天，则要留意医院就诊最好。</p>
<p>特此提醒广大新生儿家长，宝宝第一次发烧的时候要淡定。</p>
]]></content:encoded>
			<wfw:commentRss>http://yumianfeilong.com/html/2012/04/03/564.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Redis</title>
		<link>http://yumianfeilong.com/html/2012/04/02/562.html</link>
		<comments>http://yumianfeilong.com/html/2012/04/02/562.html#comments</comments>
		<pubDate>Mon, 02 Apr 2012 06:15:35 +0000</pubDate>
		<dc:creator>yumianfeilong</dc:creator>
		
		<category><![CDATA[Boring]]></category>

		<category><![CDATA[NOSQL]]></category>

		<category><![CDATA[Redis]]></category>

		<guid isPermaLink="false">http://yumianfeilong.com/?p=562</guid>
		<description><![CDATA[上周给同事们做过一个redis的功能介绍。PPT这里提供下载redis-io-copy。该ppt里收录了很多与redis相关的一些资料和链接。
Redis是一款开源nosql key-value数据库产品；，使用redis的开发人员很多，它的value可以是几种数据结如数组，链表，因此也常被使用者称为数据结构key-value数据库。其作者和社区都很活跃，得益于其短小精悍，容易上手，发展迅猛，而且国内也有不少标杆用户，如weibo和taobao等。
btw:NoSQLFan是个好网站，至于你信不信，我反正信了
]]></description>
			<content:encoded><![CDATA[<p>上周给同事们做过一个redis的功能介绍。PPT这里提供下载<a href="http://yumianfeilong.com/wp-content/uploads/2012/04/redis-io-copy.ppt">redis-io-copy</a>。该ppt里收录了很多与redis相关的一些资料和链接。</p>
<p>Redis是一款开源nosql key-value数据库产品；，使用redis的开发人员很多，它的value可以是几种数据结如数组，链表，因此也常被使用者称为数据结构key-value数据库。其<a href="http://redis.io/">作者和社区</a>都很活跃，得益于其短小精悍，容易上手，发展迅猛，而且国内也有不少标杆用户，如weibo和taobao等。</p>
<p>btw:<a href="http://blog.nosqlfan.com/html/3537.html">NoSQLFan</a>是个好网站，至于你信不信，我反正信了</p>
]]></content:encoded>
			<wfw:commentRss>http://yumianfeilong.com/html/2012/04/02/562.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>How long is my query being executed?</title>
		<link>http://yumianfeilong.com/html/2012/03/29/561.html</link>
		<comments>http://yumianfeilong.com/html/2012/03/29/561.html#comments</comments>
		<pubDate>Thu, 29 Mar 2012 09:13:15 +0000</pubDate>
		<dc:creator>yumianfeilong</dc:creator>
		
		<category><![CDATA[Boring]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://yumianfeilong.com/?p=561</guid>
		<description><![CDATA[Oracle 11g  introduced V$SESSION.SQL_EXEC_START column. It&#8217;s &#8220;Time when the execution of the SQL currently executed by this session started; NULL if SQL_ID is NULL&#8221;.
Plus LAST_CALL_ET,it&#8217;s easier to identify session status and detect problem SQL.
SQL&#62;   select sid,serial#,LAST_CALL_ET,sql_hash_value,status,(SYSDATE-SQL_EXEC_START)*86400  from v$session where status=&#8217;ACTIVE&#8217; and SQL_EXEC_START is not null order by (SYSDATE-SQL_EXEC_START)*86400 desc;
SID    SERIAL# LAST_CALL_ET SQL_HASH_VALUE STATUS   RUN_SECONDS
&#8212;&#8212;&#8212;- [...]]]></description>
			<content:encoded><![CDATA[<p>Oracle 11g  introduced<a href="http://dioncho.wordpress.com/2009/05/02/how-long-is-my-query-being-executed/"> <strong>V$SESSION.SQL_EXEC_START</strong> </a>column. It&#8217;s <a href="http://docs.oracle.com/cd/B28359_01/server.111/b28320/dynviews_3016.htm">&#8220;Time when the execution of the SQL currently executed by this session started; NULL if <code>SQL_ID</code> is NULL&#8221;.</a></p>
<p>Plus<strong> LAST_CALL_ET</strong>,it&#8217;s easier to identify session status and detect problem SQL.</p>
<blockquote><p>SQL&gt;   select sid,serial#,LAST_CALL_ET,sql_hash_value,status,(SYSDATE-SQL_EXEC_START)*86400  from v$session where status=&#8217;ACTIVE&#8217; and SQL_EXEC_START is not null order by (SYSDATE-SQL_EXEC_START)*86400 desc;</p>
<p>SID    SERIAL# LAST_CALL_ET SQL_HASH_VALUE STATUS   RUN_SECONDS<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8211;<br />
15022      43583            1      404603867 ACTIVE            31<br />
15404      28683           27     3096975108 ACTIVE            26<br />
28569       3837           26     3096975108 ACTIVE            26<br />
28834      28447           26     3096975108 ACTIVE            26<br />
28440      57479           26     3096975108 ACTIVE            26<br />
28487      43835           26     3096975108 ACTIVE            26<br />
28477       1469           26     3096975108 ACTIVE            26<br />
28448      44175           26     3096975108 ACTIVE            26<br />
17793      49565            9     3770652317 ACTIVE             9<br />
28602      12903            7     1278135340 ACTIVE             7<br />
25851         25              5     4149984594 ACTIVE             5</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://yumianfeilong.com/html/2012/03/29/561.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>sync one table in Logical Standby</title>
		<link>http://yumianfeilong.com/html/2012/03/22/559.html</link>
		<comments>http://yumianfeilong.com/html/2012/03/22/559.html#comments</comments>
		<pubDate>Thu, 22 Mar 2012 11:44:25 +0000</pubDate>
		<dc:creator>yumianfeilong</dc:creator>
		
		<category><![CDATA[Boring]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://yumianfeilong.com/?p=559</guid>
		<description><![CDATA[2 way to re-sync one out-of-sync table in Oracle logical standby.
Way 1:

sql&#62; alter database stop logical standby apply ;
sql&#62; exec dbms_logstdby.instantiate_table(‘SCOTT’,’EMP’,’DBLINK’);
sql&#62; alter database start logical standby apply immediate;

The above command also does expdp/impdp using the network_link which is the db link.But it will drop the existing out-of-sync table first, then creates and loads it with [...]]]></description>
			<content:encoded><![CDATA[<p>2 way to re-sync one out-of-sync table in Oracle logical standby.</p>
<p>Way 1:</p>
<blockquote>
<pre>sql&gt; alter database stop logical standby apply ;
sql&gt; exec dbms_logstdby.instantiate_table(‘SCOTT’,’EMP’,’DBLINK’);
sql&gt; alter database start logical standby apply immediate;</pre>
</blockquote>
<p>The above command also does expdp/impdp using the network_link which is the db link.But it will drop the existing out-of-sync table first, then creates and loads it with the data the source using the db link.</p>
<p>Way 2:</p>
<p>manually expdp &amp; impdp out-of-sync tables from master to logical standby.</p>
<blockquote>
<pre>sql&gt; alter database stop logical standby apply;
sql&gt; exec dbms_logstdby.skip (stmnt =&gt;'DML',schema_name =&gt;'SCOTT',table_name =&gt;'EMP');
sql&gt; drop table scott.emp
sql&gt; create table scott.emp (ename varchar(2),........);
sql&gt;SELECT APPLIED_SCN, LATEST_SCN, MINING_SCN, RESTART_SCN FROM<a href="http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_1165.htm"> V$LOGSTDBY_PROGRESS</a>;</pre>
<p><code> <strong>APPLIED_SCN</strong></code> :-All the transactions with COMMIT SCN lower than or equal to this SCN have been applied.</p>
<p>then on Primary, do flashback expdp with SCN=<code>APPLIED_SCN.</code></p>
<pre>expdp system/xxxx tables=scott.emp dumpfile=expemp.dmp flashback_scn=&lt;<code>APPLIED</code>_SCN&gt;
impdp system/xxxx dumpfile=expemp.dmp tables=scott.emp table_exists_actions=append

you can expdp rows only, then create index manually with large sort_area_size and parallel.

Everything is done so far. Start apply.

sql&gt; exec dbms_logstdby.unskip(stmnt =&gt;&#8217;DML&#8217;,schema_name =&gt;&#8217;SCOTT&#8217;,table_name =&gt;&#8217;EMP&#8217;);
sql&gt; alter database start logical standby apply;</pre>
</blockquote>
<pre></pre>
]]></content:encoded>
			<wfw:commentRss>http://yumianfeilong.com/html/2012/03/22/559.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Bug related to resmgr:cpu quantum</title>
		<link>http://yumianfeilong.com/html/2012/03/15/553.html</link>
		<comments>http://yumianfeilong.com/html/2012/03/15/553.html#comments</comments>
		<pubDate>Thu, 15 Mar 2012 08:32:31 +0000</pubDate>
		<dc:creator>yumianfeilong</dc:creator>
		
		<category><![CDATA[Boring]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://yumianfeilong.com/?p=553</guid>
		<description><![CDATA[Some case , there&#8217;re high waits on event &#8216;resmgr:cpu quantum&#8217;, while there is no CPU load on the host.

Resmgr means it&#8217;s related to oracle resource manager, but if you&#8217;ve disabled it in past, why does it come from?
You should &#8220;ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = 'FORCE:' &#8221; to deeply disable it or use underscore parameter _resource_manager_always_on = false.

Resource Manager Plan Changes [...]]]></description>
			<content:encoded><![CDATA[<p>Some case , there&#8217;re high waits on event &#8216;resmgr:cpu quantum&#8217;, while there is no CPU load on the host.</p>
<p><a href="http://yumianfeilong.com/wp-content/uploads/2012/03/res.jpeg"><img class="aligncenter size-full wp-image-554" title="res" src="http://yumianfeilong.com/wp-content/uploads/2012/03/res.jpeg" alt="" width="492" height="172" /></a></p>
<p>Resmgr means it&#8217;s related to oracle resource manager, but if you&#8217;ve disabled it in past, why does it come from?</p>
<p>You should &#8220;<strong><code class="km">ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = 'FORCE:' </code></strong>&#8221; to deeply disable it or use underscore parameter <a href="http://www.eygle.com/archives/2011/07/events_resmgr_cpu_quantum.html"><strong>_resource_manager_always_on = false.</strong></a><br />
<span id="more-553"></span></p>
<blockquote><p><strong>Resource Manager Plan Changes Settings Every Week [ID 759503.1]</strong><br />
<strong>Applies to:</strong></p></blockquote>
<blockquote><p>Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.2.0.1 - Release: 10.2 to 11.2<br />
Information in this document applies to any platform.<br />
<strong>Goal</strong><br />
Detailed description with Example<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
1) Noticed that the resource manager plan was set to</p></blockquote>
<blockquote>
<div class="kmcodeblock" style="width: 95%;"><code class="km">"resource_manager_plan string SCHEDULER[0x22BB]:SYSTEM_PLAN".</code></div>
<p>2) Changed this using the command</p>
<div class="kmcodeblock" style="width: 95%;"><code class="km">ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = '' SCOPE=BOTH;</code></div>
<p>3) Every week when checking on this database setting it goes back to the setting</p>
<div class="kmcodeblock" style="width: 95%;"><code class="km">"SCHEDULER[0x22BB]:SYSTEM_PLAN".</code></div>
<p>I keep having to issue the following command, but the resource manager plan keeps changing back</p>
<div class="kmcodeblock" style="width: 95%;"><code class="km">ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = '' SCOPE=BOTH;</code></div>
<p>The database is not being recycled so why is the setting changing. It is causing performance issues every time it changes back.<br />
What could cause this setting to change back?</p>
<h2 class="km"><a name="FIX"></a>Solution</h2>
<div>It is possible that the scheduler windows are altering the resource  plan. A scheduler window can have a resource plan associated with it.  The default plan associated with default weekend and weeknight windows  is the system_plan.</div>
<p>You can see that by looking at the following view:</p>
<div class="kmcodeblock" style="width: 95%;"><code class="km">select * from V$RSRC_PLAN_HISTORY order by SEQUENCE#;</code></div>
<p>To set the resource plan such that the scheduler cannot alter the plan, do the following:</p>
<div class="kmcodeblock" style="width: 95%;"><code class="km">ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = 'FORCE:Desired_Resource_Plan' scope=both;</code></div>
<p>OR</p>
<div class="kmcodeblock" style="width: 95%;"><strong><code class="km">ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = 'FORCE:' scope=both; --&gt; For Null</code></strong></div>
<p>OR</p>
<p>Change the active windows to use the null resource manager plan (or other unrestrictive plan) using:</p>
<div class="kmcodeblock" style="width: 95%;"><code class="km">execute dbms_scheduler.set_attribute('WEEKNIGHT_WINDOW','RESOURCE_PLAN','');<br />
--And<br />
execute dbms_scheduler.set_attribute('WEEKEND_WINDOW','RESOURCE_PLAN','');</code></div>
<p>(execute the same for any other scheduler windows that exist, changing the window name).</p>
<p>From there on, the scheduler windows will not be able to change the resource plan.</p>
<p>The active resource plan can be shown by:</p>
<div class="kmcodeblock" style="width: 95%;"><code class="km">select * from v$rsrc_plan;</code></div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://yumianfeilong.com/html/2012/03/15/553.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Why 3 copies of data</title>
		<link>http://yumianfeilong.com/html/2012/03/13/552.html</link>
		<comments>http://yumianfeilong.com/html/2012/03/13/552.html#comments</comments>
		<pubDate>Tue, 13 Mar 2012 11:10:28 +0000</pubDate>
		<dc:creator>yumianfeilong</dc:creator>
		
		<category><![CDATA[Boring]]></category>

		<category><![CDATA[Ｒｅｄｉｓ]]></category>

		<guid isPermaLink="false">http://yumianfeilong.com/?p=552</guid>
		<description><![CDATA[原来卖磁盘的销售人员也卖过骆驼的。

骆驼买３个，数据存３份，孩子养３个。
redis-tutorial上看到的。


Last year, Nat and I went to the Royal Geographical Society&#8217;s Explore conference.  One of the sessions was about surviving in the desert with camels, and  the point was made that you should always take three camels in to the  desert with you. That way, if one of them breaks its leg [...]]]></description>
			<content:encoded><![CDATA[<p>原来卖磁盘的销售人员也卖过骆驼的。</p>
<p><img style="vertical-align: middle;" src="http://simonwillison.net/static/2010/redis-tutorial/redis.036.jpg" alt="" width="450" height="337" /></p>
<p>骆驼买３个，数据存３份，孩子养３个。</p>
<p><a href="http://simonwillison.net/static/2010/redis-tutorial/"><span id="more-552"></span>redis-tutorial</a>上看到的。</p>
<blockquote>
<div>
<p>Last year, Nat and I went to the Royal Geographical Society&#8217;s <a href="http://www.rgs.org/OurWork/Fieldwork+and+Expeditions/GO+seminars+and+workshops/Explore/Explore.htm">Explore conference</a>.  One of the sessions was about surviving in the desert with camels, and  the point was made that you should always take three camels in to the  desert with you. That way, if one of them breaks its leg and another one  runs off you can still make it out safely.</p>
<p>When the Guardian hosted <a href="http://www.scalecamp.org.uk/">UK ScaleCamp</a> a few months later, the same principle came up again - this time  referring to data. If your data is on one machine (or in just one data  centre), you have a high risk of losing it no matter how well specced  that individual machine is. If it&#8217;s being served from two machines  you&#8217;re still at risk - if one of them dies, the other one is  dramatically more likely to die shortly afterwards since it now has to  handle twice the load.</p>
<p>(Photo by <a href="http://www.flickr.com/photos/7271760@N04/1345566282">Michael and Donna</a>)</p>
</div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://yumianfeilong.com/html/2012/03/13/552.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Thomas Kyte &#038; ACOUG</title>
		<link>http://yumianfeilong.com/html/2012/02/23/546.html</link>
		<comments>http://yumianfeilong.com/html/2012/02/23/546.html#comments</comments>
		<pubDate>Thu, 23 Feb 2012 07:45:58 +0000</pubDate>
		<dc:creator>yumianfeilong</dc:creator>
		
		<category><![CDATA[Boring]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://yumianfeilong.com/?p=546</guid>
		<description><![CDATA[2月22号参加了ACOUG和Oracle联合组织的一次地面活动，活动中有邀请到Oracle数据库布道者Thomas Kyte，来介绍Oracle的产品策略和技术发展方向。eygle也做了个数据库恢复的演讲，介绍了通过使用工具10046,controlfile / datafile/redo dump来查找问题解决问题，内容涉及到RBA(redo bytes address）的概念，内容深刻，讲的很好。
Tom的演讲内容中，留意到以下几点。

Hybrid Columnar Compression:结合exdata,zfs等号称可以压缩50倍。!T的数据压缩为20G就是。
Oracle Resource Manager可以管理应用程序和实例占用多少CPU,IO等资源。可以作为虚拟化和云的一种控制手段或者补充。
Oracle的 bigdata 从头到尾从里到外的解决方案
cloud.oracle.com
Oracle的发展方向:软硬结合，卖软件卖服务卖硬件卖云没有不卖的。

回来后查了一下Hybrid Columnar Compression，在Oracle EBS上倒是有52倍的压缩比。通常OLTP Compress能实现4倍左右的压缩比，个人感觉已经很强大了。
一些介绍Oracle compression的文档：

Hybrid Columnar Compression (HCC) on Exadata －－ Oracle white paper
Exadata Hybrid Columnar Compression: The Next-Generation Compression Technology
Hybrid Columnar Compression in Oracle Exadata v2 &#8212; Mark
Oracle Advanced Compression in Database 11g Rel. 2: Value/Performance &#8211;oracle 2010 open world
 Oracle [...]]]></description>
			<content:encoded><![CDATA[<p>2月22号参加了ACOUG和Oracle联合组织的一次地面活动，活动中有邀请到Oracle数据库布道者<a href="http://asktom.oracle.com/pls/apex/f?p=100:1:0">Thomas Kyte</a>，来介绍Oracle的产品策略和技术发展方向。<a href="http://www.eygle.com/blog/">eygle</a>也做了个数据库恢复的演讲，介绍了通过使用工具10046,controlfile / datafile/redo dump来查找问题解决问题，内容涉及到<a href="http://www.eygle.com/archives/2011/02/cache_low_rba.html">RBA</a>(redo bytes address）的概念，内容深刻，讲的很好。</p>
<p>Tom的演讲内容中，留意到以下几点。</p>
<ol>
<li>Hybrid Columnar Compression:结合exdata,zfs等号称可以压缩50倍。!T的数据压缩为20G就是。</li>
<li><a href="http://www.oracle.com/technetwork/database/focus-areas/performance/resource-manager-twp-133705.pdf">Oracle Resource Manager</a>可以管理应用程序和实例占用多少CPU,IO等资源。可以作为虚拟化和云的一种控制手段或者补充。</li>
<li><a href="http://www.oracle.com/us/technologies/big-data/index.html">Oracle的 bigdata</a> 从头到尾从里到外的解决方案</li>
<li><a href="http://cloud.oracle.com/mycloud/f?p=service:home:0">cloud.oracle.com</a></li>
<li>Oracle的发展方向:软硬结合，卖软件卖服务卖硬件卖云没有不卖的。</li>
</ol>
<p>回来后查了一下<strong>Hybrid </strong>Columnar Compression，<a href="http://www.oracle.com/technetwork/database/features/availability/311358-132337.pdf">在Oracle EBS上倒是有52倍的压缩比</a>。通常OLTP Compress能实现4倍左右的压缩比，个人感觉已经很强大了。</p>
<p>一些介绍Oracle compression的文档：</p>
<ul>
<li><a rel="bookmark" href="http://www.rittmanmead.com/2010/01/hybrid-columnar-compression-in-oracle-exadata-v2/">Hybrid Columnar Compression (HCC) on Exadata －－ Oracle white paper</a></li>
<li><a rel="bookmark" href="http://www.rittmanmead.com/2010/01/hybrid-columnar-compression-in-oracle-exadata-v2/">Exadata Hybrid Columnar Compression: The Next-Generation Compression Technology</a></li>
<li><a rel="bookmark" href="http://www.rittmanmead.com/2010/01/hybrid-columnar-compression-in-oracle-exadata-v2/">Hybrid Columnar Compression in Oracle Exadata v2</a><a href="http://www.rittmanmead.com/2010/01/hybrid-columnar-compression-in-oracle-exadata-v2/"> &#8212; Mark</a></li>
<li><a href="http://www.morganslibrary.com/pres/oow09_hcc.pdf">Oracle Advanced Compression in Database 11g Rel. 2: Value/Performance</a> &#8211;oracle 2010 open world</li>
<li> <a href="http://www.oracle.com/us/corporate/press/508020">Oracle Announces Hybrid Columnar Compression Support for ZFS Storage Appliances and Pillar Axiom Storage Systems – September 30, 2011</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://yumianfeilong.com/html/2012/02/23/546.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>connection rate limiter feature</title>
		<link>http://yumianfeilong.com/html/2012/02/03/545.html</link>
		<comments>http://yumianfeilong.com/html/2012/02/03/545.html#comments</comments>
		<pubDate>Fri, 03 Feb 2012 09:37:41 +0000</pubDate>
		<dc:creator>yumianfeilong</dc:creator>
		
		<category><![CDATA[Boring]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://yumianfeilong.com/?p=545</guid>
		<description><![CDATA[11g中Listener可以限制每秒能够成功建立的数据库连接数目，通过在listener.ora中设置如下2个参数，然后reload listener。可以用来防止Logon storm。
使用该参数需要注意参数INBOUND_CONNECT_TIMEOUT的设置，以避免发生过多的“ORA-12170: TNS:Connect timeout occurred”错误.

Connection Rate Limiter Parameters

The connection rate limiter  feature in the Oracle Net Listener enables a DBA to limit the number of  new connections handled by the listener. When this feature is enabled,  Oracle Net Listener imposes a user-specified maximum limit on the number  of new connections [...]]]></description>
			<content:encoded><![CDATA[<p>11g中Listener可以限制每秒能够成功建立的数据库连接数目，通过在listener.ora中设置如下2个参数，然后reload listener。可以用来防止<a href="http://www.oracle.com/technetwork/database/enterprise-edition/oraclenetservices-connectionratelim-133050.pdf">Logon storm</a>。</p>
<p>使用该参数需要注意参数INBOUND_CONNECT_TIMEOUT的设置，以避免发生过多的“ORA-12170: TNS:Connect timeout occurred”错误.</p>
<blockquote>
<h2 id="autoId8" class="sect1"><a href="http://docs.oracle.com/cd/E11882_01/network.112/e10835/listener.htm#i503196">Connection Rate Limiter Parameters</a></h2>
</blockquote>
<blockquote><p>The <a id="sthref612" name="sthref612"></a>connection rate limiter  feature in the Oracle Net Listener enables a DBA to limit the number of  new connections handled by the listener. When this feature is enabled,  Oracle Net Listener imposes a user-specified maximum limit on the number  of new connections handled by the listener every second.</p>
<p>Depending on the configuration, the rate can be applied to a collection of endpoints, or to a specific endpoint.</p>
<p>This feature is controlled through the following two <code>listener.ora</code> configuration parameters:</p>
<ul>
<li>
<p style="margin: 0pt;"><a href="http://docs.oracle.com/cd/E11882_01/network.112/e10835/listener.htm#BGBCAFCA">CONNECTION_RATE_<span class="italic">listener name</span></a></p>
</li>
<li>
<p style="margin: 0pt;"><a href="http://docs.oracle.com/cd/E11882_01/network.112/e10835/listener.htm#BGBFBIGD">RATE_LIMIT</a></p>
</li>
</ul>
<p><a id="BGBCAFCA" name="BGBCAFCA"></a></p>
<div class="sect2">
<h3 id="autoId9" class="sect2">CONNECTION_RATE_<span class="italic">listener name</span></h3>
<p class="subhead2"><a id="NETRF1482" name="NETRF1482"></a>Purpose</p>
<p><a id="sthref613" name="sthref613"></a><a id="sthref614" name="sthref614"></a>To  specify a global rate that is enforced across all listening endpoints  that are rate-limited. When this parameter is specified, it overrides  any endpoint-level numeric rate values that might be specified.</p>
<p class="subhead2"><a id="NETRF1483" name="NETRF1483"></a>Syntax</p>
<pre class="oac_no_warn">CONNECTION_RATE_<span class="italic">listener_name</span>=<span class="italic">number_of_connections_per_second</span></pre>
</div>
<p><a id="BGBFBIGD" name="BGBFBIGD"></a></p>
<h3 id="autoId10" class="sect2">RATE_LIMIT</h3>
<p class="subhead2"><a id="NETRF1484" name="NETRF1484"></a>Purpose</p>
<p><a id="sthref615" name="sthref615"></a><a id="sthref616" name="sthref616"></a>To indicate that a particular listening endpoint is rate limited. The parameter is specified in the <code>ADDRESS</code> section of the listener endpoint configuration.</p>
<p class="subhead2"><a id="NETRF1485" name="NETRF1485"></a>Syntax</p>
<pre class="oac_no_warn">LISTENER= (ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)(RATE_LIMIT=yes))
)</pre>
<ul>
<li>When the <code>RATE_LIMIT</code> parameter is set to <code>yes</code>, the end-point is included in the enforcement of a listener-wide connection rate. This is used with the <code>CONNECTION_RATE_</code><code><span class="codeinlineitalic">listener_name</span></code> parameter.</li>
<li>When the <code>RATE_LIMIT</code> parameter is set to a value greater than <code>0</code>, the rate limit is enforced at that endpoint level.</li>
</ul>
<p class="subhead2"><a id="NETRF1486" name="NETRF1486"></a>Examples</p>
<p>The following examples use the <code>CONNECTION_RATE_</code><code><span class="codeinlineitalic">listener name</span></code> and <code>RATE_LIMIT</code> parameters.</p>
<p>Example 1</p>
<pre class="oac_no_warn">CONNECTION_RATE_LISTENER=10
LISTENER=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)(RATE_LIMIT=yes))
(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1522)(RATE_LIMIT=yes))
(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1523))
)</pre>
<p>In the preceding example, the total number of new connections through  ports 1521 and 1522 is limited at 10 every second. Connections through  port 1523 are not limited and do not count towards the overall rate of  10 connections every second.</p>
<p>Example 2</p>
<pre class="oac_no_warn">LISTENER= (ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)(RATE_LIMIT=5))
(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1522)(RATE_LIMIT=10))
(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1523))
)</pre>
<p>In the preceding example, the connection rates are enforced at the  endpoint level. A maximum of 5 connections are processed through port  1521 every second. The limit for connections through port 1522 is 10  every second. Connections through port 1523 are not limited.</p></blockquote>
<p>我在11gr2中测试，如上example 1的设置reload listener后能够起作用；example 2的设置reload &amp; restart listener后不起作用。</p>
]]></content:encoded>
			<wfw:commentRss>http://yumianfeilong.com/html/2012/02/03/545.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

