<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Chanel [K]</title>
	
	<link>http://www.dbform.com</link>
	<description>面朝大海，春暖花开</description>
	<lastBuildDate>Sat, 11 Jul 2009 14:53:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>39.9</geo:lat><geo:long>116.3</geo:long><image><link>http://www.feedburner.com</link><url>http://www.feedburner.com/fb/images/pub/fb_pwrd.gif</url><title>This Feed Powered by FeedBurner.com</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/dbform" type="application/rss+xml" /><feedburner:emailServiceId>dbform</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>DUL is Life</title>
		<link>http://feedproxy.google.com/~r/dbform/~3/tY4WOIbgUy0/831.html</link>
		<comments>http://www.dbform.com/html/2009/831.html#comments</comments>
		<pubDate>Sat, 11 Jul 2009 14:52:55 +0000</pubDate>
		<dc:creator>kamus</dc:creator>
				<category><![CDATA[Oracle RDBMS]]></category>
		<category><![CDATA[dul]]></category>

		<guid isPermaLink="false">http://www.dbform.com/?p=831</guid>
		<description><![CDATA[系统情况如下：
1. Oracle版本是10.2.0.1，操作系统是Linux x86-64
2. 数据文件存储在OCFS2上
3. 需要恢复的表是普通表
4. 未知故障引起online日志文件损坏，使用隐含参数启动数据库之后，已经将大部分表通过exp导出到新库中，但是个别表无论是使用exp还是使用select都会报ORA-01555 snapshot too old错误，很明显回滚段数据存在不一致。
由于只有小部分数据无法导出，因此决定使用DUL直接从数据块中读取数据。
对于OCFS2文件系统无需特殊处理，在control.dul中按照路径写入系统表空间数据文件和故障表所处的用户表空间数据文件即可。
由于system表空间正常，数据字典都存在，因此unload table的过程很简单，bootstrap之后直接unload table即可。
这次unload出的表中最多记录数为580万多。
最后将生成的dat文件通过SQL Loader加载回新建的数据库中，对于中文的处理需要将操作系统NLS_LANG环境参数设置为跟数据库字符集相同。
本来这次想测试老熊的ODU执行效率，很可惜，在执行linux版本的odu时报无法找到某lib，因此作罢（由于时间充裕，在等待后续处理的过程中，将系统表空间文件和其中一个数据文件ftp到windows中，然后使用windows版本的odu测试了一下，unload table功能完全正常）。
]]></description>
			<content:encoded><![CDATA[<p>系统情况如下：<br />
1. Oracle版本是10.2.0.1，操作系统是Linux x86-64<br />
2. 数据文件存储在OCFS2上<br />
3. 需要恢复的表是普通表<br />
4. 未知故障引起online日志文件损坏，使用隐含参数启动数据库之后，已经将大部分表通过exp导出到新库中，但是个别表无论是使用exp还是使用select都会报ORA-01555 snapshot too old错误，很明显回滚段数据存在不一致。</p>
<p>由于只有小部分数据无法导出，因此决定使用DUL直接从数据块中读取数据。</p>
<p>对于OCFS2文件系统无需特殊处理，在control.dul中按照路径写入系统表空间数据文件和故障表所处的用户表空间数据文件即可。</p>
<p>由于system表空间正常，数据字典都存在，因此unload table的过程很简单，bootstrap之后直接unload table即可。</p>
<p>这次unload出的表中最多记录数为580万多。</p>
<p>最后将生成的dat文件通过SQL Loader加载回新建的数据库中，对于中文的处理需要将操作系统NLS_LANG环境参数设置为跟数据库字符集相同。</p>
<p>本来这次想测试老熊的ODU执行效率，很可惜，在执行linux版本的odu时报无法找到某lib，因此作罢（由于时间充裕，在等待后续处理的过程中，将系统表空间文件和其中一个数据文件ftp到windows中，然后使用windows版本的odu测试了一下，unload table功能完全正常）。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dbform.com%2Fhtml%2F2009%2F831.html&amp;linkname=DUL%20is%20Life"><img src="http://www.dbform.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/3EuY3GLDE0t66ALS9Ukv8ZSTXvo/0/da"><img src="http://feedads.g.doubleclick.net/~a/3EuY3GLDE0t66ALS9Ukv8ZSTXvo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/3EuY3GLDE0t66ALS9Ukv8ZSTXvo/1/da"><img src="http://feedads.g.doubleclick.net/~a/3EuY3GLDE0t66ALS9Ukv8ZSTXvo/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dbform?a=tY4WOIbgUy0:fZFKf3B-ghE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dbform?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=tY4WOIbgUy0:fZFKf3B-ghE:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/dbform?i=tY4WOIbgUy0:fZFKf3B-ghE:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=tY4WOIbgUy0:fZFKf3B-ghE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/dbform?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=tY4WOIbgUy0:fZFKf3B-ghE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dbform?i=tY4WOIbgUy0:fZFKf3B-ghE:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.dbform.com/html/2009/831.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://www.dbform.com/html/2009/831.html</feedburner:origLink></item>
		<item>
		<title>How to Install older extention for Firefox 3.5</title>
		<link>http://feedproxy.google.com/~r/dbform/~3/vFmxR7GvWns/827.html</link>
		<comments>http://www.dbform.com/html/2009/827.html#comments</comments>
		<pubDate>Tue, 07 Jul 2009 06:50:14 +0000</pubDate>
		<dc:creator>kamus</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.dbform.com/?p=827</guid>
		<description><![CDATA[Firefox已经升级到最新的3.5版本，暂且不论是不是启动速度和页面渲染都变快（实际上我并没有感觉出来 Orz），以前可以使用的一些扩展如果作者没有及时更新的话，在新版本下就无法安装了。
比如Scrapbook这样优秀的扩展，如果无法使用的话简直是一种折磨。
通过以下的方法可以将旧版本的扩展从Mozilla Addons的官方网站上直接安装到Firefox 3.5中。
1. 安装MR Tech Toolkit扩展，该扩展除了自己的强大功能之外，还可以允许其它扩展安装的时候，跳过版本验证步骤。安装完毕以后，将该扩展功能选项中“Enable AddOn Compatibility Checking”之前的勾取消，如下图。

2. 在Mozilla Addons站点注册一个免费的用户，登录之后，才可以在安装扩展的页面上看到“Ignore version check”这样的字样，点击它，本来不允许安装的按钮将变为绿色的“Add to Firefox”。如下图。

3. 像之前一样安装，然后重启Firefox，就可以正常使用扩展了。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mozilla.com/en-US/firefox/upgrade.html">Firefox</a>已经升级到最新的3.5版本，暂且不论是不是启动速度和页面渲染都变快（实际上我并没有感觉出来 Orz），以前可以使用的一些扩展如果作者没有及时更新的话，在新版本下就无法安装了。</p>
<p>比如<a href="http://amb.vis.ne.jp/mozilla/scrapbook/">Scrapbook</a>这样优秀的扩展，如果无法使用的话简直是一种折磨。</p>
<p>通过以下的方法可以将旧版本的扩展从Mozilla Addons的官方网站上直接安装到Firefox 3.5中。</p>
<p>1. 安装<a href="https://addons.mozilla.org/en-US/firefox/addon/421">MR Tech Toolkit</a>扩展，该扩展除了自己的强大功能之外，还可以允许其它扩展安装的时候，跳过版本验证步骤。安装完毕以后，将该扩展功能选项中“Enable AddOn Compatibility Checking”之前的勾取消，如下图。</p>
<p><a href="http://picasaweb.google.com/lh/photo/fT6-81P-x_yawZSbyttjzg?feat=embedwebsite"><img src="http://lh5.ggpht.com/_PdhHhDzFZCs/SlLvRjiQl6I/AAAAAAAAFy8/rN17wh6VK_M/s400/mwsnap424.jpg" /></a></p>
<p>2. 在Mozilla Addons站点注册一个免费的用户，登录之后，才可以在安装扩展的页面上看到“Ignore version check”这样的字样，点击它，本来不允许安装的按钮将变为绿色的“Add to Firefox”。如下图。</p>
<p><a href="http://picasaweb.google.com/lh/photo/XsbYjCwTXshbCsJNTIM5aQ?feat=embedwebsite"><img src="http://lh3.ggpht.com/_PdhHhDzFZCs/SlLvbATsoZI/AAAAAAAAFzY/nmbWrCH0l9E/s400/mwsnap425.jpg" /></a></p>
<p>3. 像之前一样安装，然后重启Firefox，就可以正常使用扩展了。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dbform.com%2Fhtml%2F2009%2F827.html&amp;linkname=How%20to%20Install%20older%20extention%20for%20Firefox%203.5"><img src="http://www.dbform.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/sUsbHU89dpJS1yscWLPstnJfDRU/0/da"><img src="http://feedads.g.doubleclick.net/~a/sUsbHU89dpJS1yscWLPstnJfDRU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/sUsbHU89dpJS1yscWLPstnJfDRU/1/da"><img src="http://feedads.g.doubleclick.net/~a/sUsbHU89dpJS1yscWLPstnJfDRU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dbform?a=vFmxR7GvWns:b1jWlHzEScg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dbform?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=vFmxR7GvWns:b1jWlHzEScg:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/dbform?i=vFmxR7GvWns:b1jWlHzEScg:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=vFmxR7GvWns:b1jWlHzEScg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/dbform?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=vFmxR7GvWns:b1jWlHzEScg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dbform?i=vFmxR7GvWns:b1jWlHzEScg:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.dbform.com/html/2009/827.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://www.dbform.com/html/2009/827.html</feedburner:origLink></item>
		<item>
		<title>In Memory of Michael Jackson</title>
		<link>http://feedproxy.google.com/~r/dbform/~3/zG3hrk-FJqM/823.html</link>
		<comments>http://www.dbform.com/html/2009/823.html#comments</comments>
		<pubDate>Fri, 26 Jun 2009 04:03:30 +0000</pubDate>
		<dc:creator>kamus</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.dbform.com/?p=823</guid>
		<description><![CDATA[北京时间6月26日，一代歌王迈克尔·杰克逊因心脏停动在洛杉矶逝世，享年50岁。

伴随了大多数人多年时光的天王Michael Jackson忽然间就逝去了，耀眼和平凡都是一瞬间的事情，Heal the World言犹在耳，却无法拯救自己。

对这位全球以个人名义资助慈善事业最多的人，我们心存敬意。
]]></description>
			<content:encoded><![CDATA[<p>北京时间6月26日，一代歌王迈克尔·杰克逊因心脏停动在洛杉矶逝世，享年50岁。</p>
<p><a href="http://picasaweb.google.com/lh/photo/Y7JEEoA1IiKIRZaMhDWVCQ?feat=embedwebsite"><img src="http://lh5.ggpht.com/_PdhHhDzFZCs/SkRGItlKv5I/AAAAAAAAFdw/vG8SUssJRgs/s400/18697840.jpg" /></a></p>
<p>伴随了大多数人多年时光的天王Michael Jackson忽然间就逝去了，耀眼和平凡都是一瞬间的事情，Heal the World言犹在耳，却无法拯救自己。</p>
<p><embed src="http://player.youku.com/player.php/sid/XMzgwNTI0MA==/v.swf" quality="high" width="480" height="400" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"></embed></p>
<p>对这位全球以个人名义资助慈善事业最多的人，我们心存敬意。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dbform.com%2Fhtml%2F2009%2F823.html&amp;linkname=In%20Memory%20of%20Michael%20Jackson"><img src="http://www.dbform.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/ohzc6KbUzayfIPfE7ZJV3B7Dwso/0/da"><img src="http://feedads.g.doubleclick.net/~a/ohzc6KbUzayfIPfE7ZJV3B7Dwso/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ohzc6KbUzayfIPfE7ZJV3B7Dwso/1/da"><img src="http://feedads.g.doubleclick.net/~a/ohzc6KbUzayfIPfE7ZJV3B7Dwso/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dbform?a=zG3hrk-FJqM:PquIi9lYwbw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dbform?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=zG3hrk-FJqM:PquIi9lYwbw:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/dbform?i=zG3hrk-FJqM:PquIi9lYwbw:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=zG3hrk-FJqM:PquIi9lYwbw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/dbform?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=zG3hrk-FJqM:PquIi9lYwbw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dbform?i=zG3hrk-FJqM:PquIi9lYwbw:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.dbform.com/html/2009/823.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://www.dbform.com/html/2009/823.html</feedburner:origLink></item>
		<item>
		<title>How to tuning your wordpress blog</title>
		<link>http://feedproxy.google.com/~r/dbform/~3/OhP_O6AJj54/804.html</link>
		<comments>http://www.dbform.com/html/2009/804.html#comments</comments>
		<pubDate>Thu, 18 Jun 2009 05:40:36 +0000</pubDate>
		<dc:creator>kamus</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.dbform.com/?p=804</guid>
		<description><![CDATA[因为最近提供了Free Hosting的计划，有不少朋友入住我共享的免费虚拟主机，也给每个朋友都安装了Wordpress（之前是2.7版本，现在登陆后台界面应该已经可以看到升级到2.8的提示了，不用担心，直接点Upgrade升级吧）。
如何让你的Wordpress Blog显得更专业，更美观，更让他人容易浏览呢？总结一下这几年自己用Wordpress的心得。
1. 选择合适的Theme
如果是技术性的blog，会粘贴大量的实验代码（包括SQL语句等）请选择两栏的Theme，其实就是让文章区更宽一些，这样可以容纳下绝大多数长度的SQL语句和输出结果，而三栏的Theme由于要预留两个侧边栏，通常文章区就比较窄，这样很多SQL语句会换行，让他人浏览起来很不舒服。
2. 首页全文输出
作为个人blog，如果不在乎你的首页到底有多长（再长恐怕也长不过新浪、网易啥的首页吧），也并不在乎你到底能获得多少点击率，那么还是在首页全文显示文章吧，没有&#8221;Read More&#8221;可以让别人少进行一次鼠标点击，这是很体贴的设计。
3. RSS全文输出
同样，对于RSS聚合输出，也请输出全文，这样方便通过RSS阅读器订阅你的blog的人群，我个人就很讨厌在Google Reader中只能看到一篇文章第一段话前几句的这种情况。对于RSS聚合，推荐使用Feedburner或者国内的Feedsky进行RSS烧制。这样做的好处是，统一且更加灵活设置RSS输出格式，另外，即使以后你改变了自己的域名，也只需要在feedburner中绑定一下新域名即可，对于其它订阅者来说，仍然是之前的RSS地址。
4. 代码美化插件
对于粘贴代码的文章，请一定要使用语法高亮的插件来进行美化，最常用的插件是WP-Syntax，在最新版本的Wordpress中可以直接从后台进行插件的安装（Plugins->Add New->Search Plugins），非常方便。
这是没有美化过的效果。
SQL> DROP tablespace SUMM_DATA07;
DROP tablespace SUMM_DATA07
                *
ERROR at line 1:
ORA-14404: partitioned TABLE contains partitions IN a different tablespace appears.
这是美化过后的效果。

SQL&#62; DROP tablespace SUMM_DATA07;
DROP tablespace SUMM_DATA07
       [...]]]></description>
			<content:encoded><![CDATA[<p>因为最近提供了<a href="http://www.dbform.com/html/2009/734.html">Free Hosting</a>的计划，有不少朋友入住我共享的免费虚拟主机，也给每个朋友都安装了Wordpress（之前是2.7版本，现在登陆后台界面应该已经可以看到升级到2.8的提示了，不用担心，直接点Upgrade升级吧）。</p>
<p>如何让你的Wordpress Blog显得更专业，更美观，更让他人容易浏览呢？总结一下这几年自己用Wordpress的心得。</p>
<p><strong>1. 选择合适的Theme</strong><br />
如果是技术性的blog，会粘贴大量的实验代码（包括SQL语句等）请选择两栏的Theme，其实就是让文章区更宽一些，这样可以容纳下绝大多数长度的SQL语句和输出结果，而三栏的Theme由于要预留两个侧边栏，通常文章区就比较窄，这样很多SQL语句会换行，让他人浏览起来很不舒服。</p>
<p><strong>2. 首页全文输出</strong><br />
作为个人blog，如果不在乎你的首页到底有多长（再长恐怕也长不过新浪、网易啥的首页吧），也并不在乎你到底能获得多少点击率，那么还是在首页全文显示文章吧，没有&#8221;Read More&#8221;可以让别人少进行一次鼠标点击，这是很体贴的设计。</p>
<p><strong>3. RSS全文输出</strong><br />
同样，对于RSS聚合输出，也请输出全文，这样方便通过RSS阅读器订阅你的blog的人群，我个人就很讨厌在Google Reader中只能看到一篇文章第一段话前几句的这种情况。对于RSS聚合，推荐使用<a href="http://www.feedburner.com/">Feedburner</a>或者国内的<a href="http://www.feedsky.com/">Feedsky</a>进行RSS烧制。这样做的好处是，统一且更加灵活设置RSS输出格式，另外，即使以后你改变了自己的域名，也只需要在feedburner中绑定一下新域名即可，对于其它订阅者来说，仍然是之前的RSS地址。</p>
<p><strong>4. 代码美化插件</strong><br />
对于粘贴代码的文章，请一定要使用语法高亮的插件来进行美化，最常用的插件是<a href="http://wordpress.org/extend/plugins/wp-syntax/">WP-Syntax</a>，在最新版本的Wordpress中可以直接从后台进行插件的安装（Plugins->Add New->Search Plugins），非常方便。</p>
<p>这是没有美化过的效果。<br />
SQL> DROP tablespace SUMM_DATA07;<br />
DROP tablespace SUMM_DATA07<br />
                *<br />
ERROR at line 1:<br />
ORA-14404: partitioned TABLE contains partitions IN a different tablespace appears.</p>
<p>这是美化过后的效果。</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">SQL<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">DROP</span> tablespace SUMM_DATA07;
<span style="color: #993333; font-weight: bold;">DROP</span> tablespace SUMM_DATA07
                <span style="color: #66cc66;">*</span>
ERROR at line <span style="color: #cc66cc;">1</span>:
ORA<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">14404</span>: partitioned <span style="color: #993333; font-weight: bold;">TABLE</span> contains partitions <span style="color: #993333; font-weight: bold;">IN</span> a different tablespace appears<span style="color: #66cc66;">.</span></pre></div></div>

<p>发表完文章之后自己先读一下，错别字尽量改正，自己看着舒服，别人才可能觉得赏心悦目。请以专业的心态对待自己的每一篇文章。</p>
<p><strong>5. 垃圾留言屏蔽插件</strong><br />
垃圾留言是每个blogger头疼的事情，幸好有优秀的Spam Block插件可以使用，在新版的Wordpress中自带了<a href="http://akismet.com/">Akismet</a>，但是启用这个插件需要一个Wordpress.com API Key，这个Key可以通过免费注册Wordpress.com用户来获取，但是很可惜Wordpress.com在国内被GFW了，有需要的朋友可以翻墙出去。如何翻墙，可以查看这篇经典的<a href="http://docs.google.com/View?id=dcp5x843_14cwnngfds">翻墙教程</a>。</p>
<p>在注册完Wordpress.com用户之后，可以通过后台管理界面的Users->Your Profile页面获知自己的API Key。大致信息如下。</p>
<p><a href="http://picasaweb.google.com/lh/photo/4767gYwqgmP0W5q_6_oRHw?feat=embedwebsite"><img src="http://lh5.ggpht.com/_PdhHhDzFZCs/SjnNKAV_x7I/AAAAAAAAFOc/AxKSwh4t8A8/s400/FireShot%20capture%20%2314%20-%20%27Profile%20_%20Chanel%20%5BK%5D%20%E2%80%94%20WordPress%27%20-%20kamus_wordpress_com_wp-admin_profile_php.jpg" /></a></p>
<p>如果确实无法注册Wordpress.com用户，无法得到API Key，也就无法启用Akismet，那么推荐使用<a href="http://unknowngenius.com/blog/wordpress/spam-karma/">Spam Karma 2</a>插件，后台安装之后，几乎无需任何设置，也能很有效地进行垃圾留言屏蔽。</p>
<p><strong>6. 数据库备份</strong><br />
作为一个Oracle技术人员，备份是时刻要放在心上的，那么对于Wordpress来说，后台使用的MySQL数据库也同样需要经常备份。同样可以通过插件来实现 &#8211; <a href="http://lesterchan.net/portfolio/programming/php/">WP-DBManager</a>，此插件可以实现定期对Wordpress后台数据库惊醒备份，并将备份文件压缩发送至指定的邮件地址。</p>
<p><strong>7. 贴图</strong><br />
如果要贴图，我通常都是将图片通过<a href="http://picasa.google.com">Picasa3</a>传到Google Web Album中，然后将Google Web Album中的地址粘贴到文章中，因为在这里可以选择到底将图片以多大px显示，这样就不会由于图片宽度过大而将整个blog页面布局损坏。如下图选择的是400px，这在一般的文章中会有很好的效果。</p>
<p><a href="http://picasaweb.google.com/lh/photo/aCoqfceR16BaoSQYnbZL_w?feat=embedwebsite"><img src="http://lh3.ggpht.com/_PdhHhDzFZCs/SjnSSk7X_SI/AAAAAAAAFPA/DxfjBg8GVR4/s800/mwsnap421.jpg" /></a></p>
<p><strong>8. 介绍自己</strong><br />
为了介绍自己，请在Pages里面写一份完整的<a href="http://www.dbform.com/about-me">About me</a>，对你的文章感兴趣的人通常对你到底是怎样的人也感兴趣。</p>
<p><strong>9. 善用插件</strong><br />
没有插件的Wordpress就好比没有插件的Firefox，也好比没有插件的World of Warcraft，都让人无法忍受。我目前在使用的插件有：<br />
<a href="http://akismet.com/">Akismet</a>：垃圾留言过滤。<br />
<a href="http://semperfiwebdesign.com/">All in One SEO Pack</a>：简单地进行SEO设置。<br />
<a href="http://www.coolcode.cn/?p=26">CoolCode</a>：之前使用的代码美化插件，现在已经用WP-Syntax替代，但是为了保留之前文章的格式，还是保留了此插件。<br />
<a href="http://onetruebrace.com/custom-smilies">Custom Smilies</a>：在文章或者留言中可以插入笑脸，这纯属是好玩。<br />
<a href="http://www.deanlee.cn/wordpress/permalinks-migration-plugin/">Dean&#8217;s Permalinks Migration</a>：重定向不同格式的permalinks。之前有修改过文章 Permalinks的格式，为了自动转化，使用了此插件，具体用处参看<a href="http://www.dbform.com/html/2006/72.html">如何无风险的修改Permalink</a>。<br />
<a href="http://nicasiodesign.com/blog/category/wordpress-plugins/">Dynamic Headers by Nicasio Design</a>：在站点header处或者需要的地方，动态显示不同的图片。<br />
<a href="http://plugins.spiralwebconsulting.com/analyticator.html">Google Analyticator</a>：在站点中自动添加Google Analytics代码。<br />
<a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps</a>：自动生成易于Google抓取的站点结构图。<br />
<a href="http://unknowngenius.com/blog/wordpress/spam-karma/">Spam Karma 2</a>：垃圾留言过滤。<br />
<a href="http://lesterchan.net/portfolio/programming/php/">WP-DBManager</a>：提供Wordpress后台数据库管理，包括自动备份。<br />
<a href="http://lesterchan.net/portfolio/programming/php/">WP-PageNavi</a>：提供文章分页。<br />
<a href="http://wordpress.org/extend/plugins/wp-syntax/">WP-Syntax</a>：提供代码高亮及美化。</p>
<p><strong>10. 多学习别人的经验</strong><br />
在国内，<a href="http://fairyfish.net/">我爱水煮鱼</a>这个站点专门介绍使用Wordpress的经验，还有多种模板和插件推荐。适合不定期去浏览一下。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dbform.com%2Fhtml%2F2009%2F804.html&amp;linkname=How%20to%20tuning%20your%20wordpress%20blog"><img src="http://www.dbform.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/ucNRtHXzg1LRvDUfNMV45YcEHRE/0/da"><img src="http://feedads.g.doubleclick.net/~a/ucNRtHXzg1LRvDUfNMV45YcEHRE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ucNRtHXzg1LRvDUfNMV45YcEHRE/1/da"><img src="http://feedads.g.doubleclick.net/~a/ucNRtHXzg1LRvDUfNMV45YcEHRE/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dbform?a=OhP_O6AJj54:n6TyjcqEwCk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dbform?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=OhP_O6AJj54:n6TyjcqEwCk:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/dbform?i=OhP_O6AJj54:n6TyjcqEwCk:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=OhP_O6AJj54:n6TyjcqEwCk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/dbform?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=OhP_O6AJj54:n6TyjcqEwCk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dbform?i=OhP_O6AJj54:n6TyjcqEwCk:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.dbform.com/html/2009/804.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://www.dbform.com/html/2009/804.html</feedburner:origLink></item>
		<item>
		<title>Adaptive Cursor Sharing in Oracle Database 11g</title>
		<link>http://feedproxy.google.com/~r/dbform/~3/NYMXPh-dR18/799.html</link>
		<comments>http://www.dbform.com/html/2009/799.html#comments</comments>
		<pubDate>Tue, 09 Jun 2009 14:54:52 +0000</pubDate>
		<dc:creator>kamus</dc:creator>
				<category><![CDATA[Oracle RDBMS]]></category>
		<category><![CDATA[Oracle11g]]></category>

		<guid isPermaLink="false">http://www.dbform.com/?p=799</guid>
		<description><![CDATA[还记得2007年时候遭遇过一次由于cursor_sharing = similar导致的系统问题，大量游标无法共享，产生巨大的version count，最终让整个系统崩溃。
在这个案例中我提到有4个条件导致了问题的发生：
1. cursor_sharing = similar
2. 收集了列上的histogram
3. SQL中使用到了此列作为条件，并且条件是“等于”
4. 这个SQL是没有绑定变量的
在最近Optimizer Development Group的Why do I have hundreds of child cursors when cursor_sharing set to similar in 10g文章中又再次提到这个现象。

This is in fact the expected behavior when
1. CURSOR_SHARING is set to similar
2. Bind peeking is in use
3. And a histogram is present on the column used in the where [...]]]></description>
			<content:encoded><![CDATA[<p>还记得2007年时候遭遇过一次由于<a href="http://www.dbform.com/html/2007/341.html">cursor_sharing = similar</a>导致的系统问题，大量游标无法共享，产生巨大的version count，最终让整个系统崩溃。</p>
<p>在这个案例中我提到有4个条件导致了问题的发生：<br />
1. cursor_sharing = similar<br />
2. 收集了列上的histogram<br />
3. SQL中使用到了此列作为条件，并且条件是“等于”<br />
4. 这个SQL是没有绑定变量的</p>
<p>在最近<a href="http://optimizermagic.blogspot.com">Optimizer Development Group</a>的<a href="http://optimizermagic.blogspot.com/2009/05/why-do-i-have-hundreds-of-child-cursors.html">Why do I have hundreds of child cursors when cursor_sharing set to similar in 10g</a>文章中又再次提到这个现象。</p>
<blockquote><p>
This is in fact the expected behavior when<br />
1. CURSOR_SHARING is set to similar<br />
2. Bind peeking is in use<br />
3. And a histogram is present on the column used in the where clause predicate of query</p></blockquote>
<p>在Oracle10g中这是正常的现象，如果在某列上收集了histograms信息，那么就等于告诉CBO这一列上的数据是不平衡的，如果都使用同一个执行计划那么就可能产生问题，因此对于每一个distinct值，CBO都会产生一个child cursor，这一点无法避免。当然，由于这是child cursor，因此比cursor_sharing = exact时候产生的parent cursor还是要节省内存空间，至少SQL语句本身不需要重复存储了。</p>
<p>在Oracle10g中解决方法是：<br />
1. 去掉这列上的histograms统计信息，或者<br />
2. 将CURSOR_SHARING = FORCE</p>
<p>虽然源于对Oracle Database的热爱，我们无条件接受了10g中的这个方式，并且不认为这是bug，但是实际上心里一定暗暗骂过，傻啊，我收集了histogram你就要每个值产生1个cursor吗？自己再分析一下不行吗？都是一样的执行计划何必要用不同的cursor空间呢？</p>
<p>我想Oracle自己也一定意识到了这点，于是在Oracle11g中这一切有了变化，Oracle推出了称为Adaptive Cursor Sharing（自适应游标共享）的游标共享机制，可以阅读这几篇相关文章。</p>
<p>Optimizer Development Group：<a href="http://optimizermagic.blogspot.com/2007/12/why-are-there-more-cursors-in-11g-for.html">Adaptive Cursor Sharing</a><br />
Optimizer Development Group：<a href="http://optimizermagic.blogspot.com/2009/04/update-on-adaptive-cursor-sharing.html">Update on Adaptive Cursor Sharing</a><br />
Arup Nanda：<a href="http://www.oracle.com/technology/pub/articles/oracle-database-11g-top-features/11g-sqlplanmanagement.html">Adaptive Cursors and SQL Plan Management</a><br />
Tim Hall：<a href="http://www.oracle-base.com/articles/11g/AdaptiveCursorSharing_11gR1.php">Adaptive Cursor Sharing in Oracle Database 11g Release 1</a></p>
<p>什么是Adaptive Cursor Sharing就不重复叙述了，上面的几篇文章说的非常清楚，那么ACS机制对于之前在10g中碰到的child cursor过多的情况有何种改善呢？</p>
<p>简单地说，在Oracle11g中我们可以保留cursor_sharing=similar并且也保留列上的histograms统计信息，ACS机制将不会对每一个distinct值都产生一个child cursor，而是对每一个不同的执行计划产生一个child cursor，这大大减少了子游标的数量。这种处理方式无疑是合理的，只有在执行计划确实需要不相同的时候才产生额外的child cursor，当然，在bind peeking之后，CBO是否确实能够选择一个最优的执行计划那另当别论，是另外的话题。</p>
<p>注意，实际上产生的child cursor数量仍然是会大于execution plan数量的，也就是加入对于一个绑定变量的SQL一共有2种执行计划，那么child cursor数量会大于2，因为CBO始终在监控SQL的执行效率，如果认为变量的某一个真实值跟其它值的分布情况有很大的不同，那么CBO就会让这个SQL再做一次hard parse，这样就会产生出来一个新的child cursor，即使最终这个cursor的执行计划还是跟之前的相同。但是我们不用担心这些多余的cursor，因为这些cursor被标志为无法共享（可以通过v$sql.is_shareable字段得知），在需要的时候将会被age out出去。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dbform.com%2Fhtml%2F2009%2F799.html&amp;linkname=Adaptive%20Cursor%20Sharing%20in%20Oracle%20Database%2011g"><img src="http://www.dbform.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/XTC2oy8jwNbKnP81n5YFD_VCdSQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/XTC2oy8jwNbKnP81n5YFD_VCdSQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/XTC2oy8jwNbKnP81n5YFD_VCdSQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/XTC2oy8jwNbKnP81n5YFD_VCdSQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dbform?a=NYMXPh-dR18:gUn7QW91QaE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dbform?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=NYMXPh-dR18:gUn7QW91QaE:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/dbform?i=NYMXPh-dR18:gUn7QW91QaE:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=NYMXPh-dR18:gUn7QW91QaE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/dbform?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=NYMXPh-dR18:gUn7QW91QaE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dbform?i=NYMXPh-dR18:gUn7QW91QaE:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.dbform.com/html/2009/799.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://www.dbform.com/html/2009/799.html</feedburner:origLink></item>
		<item>
		<title>那些在魔兽世界的日子</title>
		<link>http://feedproxy.google.com/~r/dbform/~3/l1rVXMsux1Q/793.html</link>
		<comments>http://www.dbform.com/html/2009/793.html#comments</comments>
		<pubDate>Sat, 06 Jun 2009 02:49:23 +0000</pubDate>
		<dc:creator>kamus</dc:creator>
				<category><![CDATA[Feeling]]></category>
		<category><![CDATA[魔兽世界]]></category>
		<category><![CDATA[Wow]]></category>

		<guid isPermaLink="false">http://www.dbform.com/?p=793</guid>
		<description><![CDATA[第九城市今天宣布:在中国大陆地区由第九城市所运营的《魔兽世界》,将于2009年6月7日凌晨0时起终止服务.感谢大家对第九城市四年来努力专心运营 《魔兽世界》的支持和宽容!
从2005年4月份某天开始，进入了这个叫作《魔兽世界》的游戏，经历过赞叹、疯狂、沉迷、疲劳、厌倦、回归、游荡、休闲各种不一而足的状态，断断续续地走到今天，回首算来，居然已经过了4年多。
曾经如此着迷于在这个世界中团队合作的氛围，沉浸于每次齐心协力闯过难关时无以言表的快乐与兴奋，可是随着朋友们的慢慢离去，它几乎已经蜕变为我的机器中一个单机游戏。只是每次用小号奔跑在贫瘠之地的月夜原野中，耳边那悠扬而又忧伤的音乐像流水一样潺潺而过，心中那份柔情总是会被不经意地触碰到。
我仍然怀念在魔兽世界中最初的那段日子，清晰地记得40个人历经艰难推到熔火之心第一个BOSS时的激动，我还保留着那些珍贵的截图，可惜，只能用物是人非来形容了。

在这张图上的朋友们现在还有几个仍然游荡在魔兽世界中？（很可惜，我只拖出了4个小组的名单，加上我自己这个小组才25人）

今天是九城魔兽世界的最后一天，谨以此文送给那些跟我一起在这个世界里挥霍了青春的朋友们。新的世界在等待吗？
]]></description>
			<content:encoded><![CDATA[<blockquote><p>第九城市今天宣布:在中国大陆地区由第九城市所运营的《魔兽世界》,将于2009年6月7日凌晨0时起终止服务.感谢大家对第九城市四年来努力专心运营 《魔兽世界》的支持和宽容!</p></blockquote>
<p>从2005年4月份某天开始，进入了这个叫作《魔兽世界》的游戏，经历过赞叹、疯狂、沉迷、疲劳、厌倦、回归、游荡、休闲各种不一而足的状态，断断续续地走到今天，回首算来，居然已经过了4年多。</p>
<p>曾经如此着迷于在这个世界中团队合作的氛围，沉浸于每次齐心协力闯过难关时无以言表的快乐与兴奋，可是随着朋友们的慢慢离去，它几乎已经蜕变为我的机器中一个单机游戏。只是每次用小号奔跑在贫瘠之地的月夜原野中，耳边那悠扬而又忧伤的音乐像流水一样潺潺而过，心中那份柔情总是会被不经意地触碰到。</p>
<p>我仍然怀念在魔兽世界中最初的那段日子，清晰地记得40个人历经艰难推到熔火之心第一个BOSS时的激动，我还保留着那些珍贵的截图，可惜，只能用物是人非来形容了。</p>
<p><a href="http://picasaweb.google.com/lh/photo/H9xLvvsUhFrEkNEj_zDU-g?feat=embedwebsite"><img src="http://lh6.ggpht.com/_PdhHhDzFZCs/SinZ3QO7kVI/AAAAAAAAFKI/0MGf3SaZgUA/s400/l2.jpg" /></a></p>
<p>在这张图上的朋友们现在还有几个仍然游荡在魔兽世界中？（很可惜，我只拖出了4个小组的名单，加上我自己这个小组才25人）</p>
<p><a href="http://picasaweb.google.com/lh/photo/JxrJgJm5hNI-hVBZz1lEjw?feat=embedwebsite"><img src="http://lh3.ggpht.com/_PdhHhDzFZCs/SinZ1HipcCI/AAAAAAAAFKE/y8_adHewncU/s400/l1.jpg" /></a></p>
<p>今天是九城魔兽世界的最后一天，谨以此文送给那些跟我一起在这个世界里挥霍了青春的朋友们。新的世界在等待吗？</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dbform.com%2Fhtml%2F2009%2F793.html&amp;linkname=%E9%82%A3%E4%BA%9B%E5%9C%A8%E9%AD%94%E5%85%BD%E4%B8%96%E7%95%8C%E7%9A%84%E6%97%A5%E5%AD%90"><img src="http://www.dbform.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/CNFW60DipOnolonyh4thn60Z8PA/0/da"><img src="http://feedads.g.doubleclick.net/~a/CNFW60DipOnolonyh4thn60Z8PA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/CNFW60DipOnolonyh4thn60Z8PA/1/da"><img src="http://feedads.g.doubleclick.net/~a/CNFW60DipOnolonyh4thn60Z8PA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dbform?a=l1rVXMsux1Q:9CSd3OAbeeo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dbform?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=l1rVXMsux1Q:9CSd3OAbeeo:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/dbform?i=l1rVXMsux1Q:9CSd3OAbeeo:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=l1rVXMsux1Q:9CSd3OAbeeo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/dbform?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=l1rVXMsux1Q:9CSd3OAbeeo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dbform?i=l1rVXMsux1Q:9CSd3OAbeeo:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.dbform.com/html/2009/793.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://www.dbform.com/html/2009/793.html</feedburner:origLink></item>
		<item>
		<title>How to resolve ORA-14117: partition resides in offlined tablespace</title>
		<link>http://feedproxy.google.com/~r/dbform/~3/jJ_pm0cYw-s/790.html</link>
		<comments>http://www.dbform.com/html/2009/790.html#comments</comments>
		<pubDate>Wed, 27 May 2009 08:03:01 +0000</pubDate>
		<dc:creator>kamus</dc:creator>
				<category><![CDATA[Oracle RDBMS]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.dbform.com/?p=790</guid>
		<description><![CDATA[
SQL&#62; DROP tablespace SUMM_DATA07;
DROP tablespace SUMM_DATA07
                *
ERROR at line 1:
ORA-14404: partitioned TABLE contains partitions IN a different tablespace appears.
&#160;
SQL&#62; ALTER TABLE CCDAWORK.S_ACCT_FIX DROP partition P6;
ALTER TABLE CCDAWORK.S_ACCT_FIX DROP partition P6
           [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">SQL<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">DROP</span> tablespace SUMM_DATA07;
<span style="color: #993333; font-weight: bold;">DROP</span> tablespace SUMM_DATA07
                <span style="color: #66cc66;">*</span>
ERROR at line <span style="color: #cc66cc;">1</span>:
ORA<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">14404</span>: partitioned <span style="color: #993333; font-weight: bold;">TABLE</span> contains partitions <span style="color: #993333; font-weight: bold;">IN</span> a different tablespace appears<span style="color: #66cc66;">.</span>
&nbsp;
SQL<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> CCDAWORK<span style="color: #66cc66;">.</span>S_ACCT_FIX <span style="color: #993333; font-weight: bold;">DROP</span> partition P6;
<span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> CCDAWORK<span style="color: #66cc66;">.</span>S_ACCT_FIX <span style="color: #993333; font-weight: bold;">DROP</span> partition P6
                                               <span style="color: #66cc66;">*</span>
ERROR at line <span style="color: #cc66cc;">1</span>:
ORA<span style="color: #66cc66;">-</span><span style="color: #cc66cc;">14117</span>: partition resides <span style="color: #993333; font-weight: bold;">IN</span> offlined tablespace</pre></div></div>

<p>这样就处于了一个很尴尬的境地，面对着一个无法online的表空间，既不能将这个表空间drop了重建，也不能将这个表空间中包含的表分区删除掉。</p>
<p>解决方法是：通过exchange partition的方法，将位于offline表空间中的表分区置换到一个普通表中，这是数据字典的操作，不会检查表空间是否处于online状态，然后再将普通表删除，之后就可以将表空间删除了。</p>
<p>1. 将离线表空间中的所有表分区都选择出来，对于subpartition也同理操作。</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> owner<span style="color: #66cc66;">,</span>segment_name<span style="color: #66cc66;">,</span> partition_name<span style="color: #66cc66;">,</span>segment_type
<span style="color: #993333; font-weight: bold;">FROM</span> dba_segments
<span style="color: #993333; font-weight: bold;">WHERE</span> segment_type<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'TABLE PARTITION'</span> <span style="color: #993333; font-weight: bold;">AND</span> 
tablespace_name <span style="color: #993333; font-weight: bold;">IN</span><span style="color: #66cc66;">&#40;</span>list of the offlined tablespces <span style="color: #993333; font-weight: bold;">IN</span> upper case<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> segment_name;</pre></div></div>

<p>2. 对于所有的表分区循环执行2.1到2.3的步骤。<br />
2.1. 创建一个临时表，表结构同分区表一样，OWNER.SEGMENT_NAME都是从第一步的SQL中获得的。</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> TEMP <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> OWNER<span style="color: #66cc66;">.</span>SEGMENT_NAME 
<span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">=</span><span style="color: #cc66cc;">2</span>;</pre></div></div>

<p>2.2. 置换表分区。</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> OWNER<span style="color: #66cc66;">.</span>SEGMENT_NAME 
exchange partition PARTITION_NAME <span style="color: #993333; font-weight: bold;">WITH</span> <span style="color: #993333; font-weight: bold;">TABLE</span> TEMP;</pre></div></div>

<p>2.3. 删除临时表。</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">DROP</span> <span style="color: #993333; font-weight: bold;">TABLE</span> TEMP;</pre></div></div>

<p>3. 当所有的表分区都已经置换出来以后，就可以删除表空间了。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dbform.com%2Fhtml%2F2009%2F790.html&amp;linkname=How%20to%20resolve%20ORA-14117%3A%20partition%20resides%20in%20offlined%20tablespace"><img src="http://www.dbform.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/O1zE7RU2dc0ma6hFrL3Tyor28r4/0/da"><img src="http://feedads.g.doubleclick.net/~a/O1zE7RU2dc0ma6hFrL3Tyor28r4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/O1zE7RU2dc0ma6hFrL3Tyor28r4/1/da"><img src="http://feedads.g.doubleclick.net/~a/O1zE7RU2dc0ma6hFrL3Tyor28r4/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dbform?a=jJ_pm0cYw-s:SnMg_Zs3xmI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dbform?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=jJ_pm0cYw-s:SnMg_Zs3xmI:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/dbform?i=jJ_pm0cYw-s:SnMg_Zs3xmI:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=jJ_pm0cYw-s:SnMg_Zs3xmI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/dbform?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=jJ_pm0cYw-s:SnMg_Zs3xmI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dbform?i=jJ_pm0cYw-s:SnMg_Zs3xmI:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.dbform.com/html/2009/790.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://www.dbform.com/html/2009/790.html</feedburner:origLink></item>
		<item><title>Links for 2009-05-26 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dbform/~3/nfsKEQrQkfk/kamus</link><pubDate>Wed, 27 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/kamus#2009-05-26</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.cnbeta.com/articles/84831.htm"&gt;&amp;#26292;&amp;#39118;&amp;#38271;&amp;#32769;, &amp;#35831;&amp;#25910;&amp;#20102;&amp;#31070;&amp;#36890;&amp;#21543;!_cnBeta&lt;/a&gt;&lt;br/&gt;
暴风长老, 请收了神通吧!&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/kamus#2009-05-26</feedburner:origLink></item><item>
		<title>Tuning VMM kernel parameter in AIX for Oracle</title>
		<link>http://feedproxy.google.com/~r/dbform/~3/qd3uuUACIEo/787.html</link>
		<comments>http://www.dbform.com/html/2009/787.html#comments</comments>
		<pubDate>Tue, 26 May 2009 08:56:23 +0000</pubDate>
		<dc:creator>kamus</dc:creator>
				<category><![CDATA[Operating System]]></category>
		<category><![CDATA[Oracle RDBMS]]></category>
		<category><![CDATA[AIX]]></category>

		<guid isPermaLink="false">http://www.dbform.com/?p=787</guid>
		<description><![CDATA[对于运行Oracle数据库的AIX操作系统VMM（Virtual Memory Management）层面的系统内核参数如何进行调整，这是一个很古老的话题。这篇文章力图解释一些概念，同时与时俱进地提出一些设置的建议。
通常对VMM系统内核调优的目的，在于最大限度的保护计算内存页（computational memory）不被page-out到paging space中，因为对于计算内存页（特定于Oracle数据库来说就比如是SGA和PGA）来说被page-out出去的内存页总在之后的某一时刻又会被重新page-in，通常这样会对系统性能产生负面影响。另外对于像Oracle数据库这样拥有自己的数据缓存机制（data buffer cache）的数据库应用来说，保护计算内存页更显得格外重要。
在IBM AIX 5.3 ML1之前，对于作为Oracle Database Server用途并且使用裸设备作为Datafile存储的的AIX操作系统内核参数调优的经验通常如下：
maxperm%=maxclient%=(通常是一个很低的值，小于20或者30)
设置较小maxperm%值的原因在于，如果文件内存页在内存中的比例高过该参数值，那么VMM换页算法将只从文件内存页中进行偷页。将maxperm%值降低就意味着有更大的机会让VMM只从文件内存页中偷页。
minperm%=5（通常是一个比maxperm%更低的值）
lru_file_repage = 1（这是默认值）
比如以下的VMM参数设置就符合该种调优方式。

root@hostname:/&#62; vmo -a &#124;grep &#34;maxclient%&#34;
            maxclient% = 15            
root@hostname:/&#62; vmo -a &#124;grep &#34;maxperm%&#34;
        [...]]]></description>
			<content:encoded><![CDATA[<p>对于运行Oracle数据库的AIX操作系统VMM（Virtual Memory Management）层面的系统内核参数如何进行调整，这是一个很古老的话题。这篇文章力图解释一些概念，同时与时俱进地提出一些设置的建议。</p>
<p>通常对VMM系统内核调优的目的，在于最大限度的保护计算内存页（computational memory）不被page-out到paging space中，因为对于计算内存页（特定于Oracle数据库来说就比如是SGA和PGA）来说被page-out出去的内存页总在之后的某一时刻又会被重新page-in，通常这样会对系统性能产生负面影响。另外对于像Oracle数据库这样拥有自己的数据缓存机制（data buffer cache）的数据库应用来说，保护计算内存页更显得格外重要。</p>
<p>在IBM AIX 5.3 ML1之前，对于作为Oracle Database Server用途并且使用裸设备作为Datafile存储的的AIX操作系统内核参数调优的经验通常如下：</p>
<p>maxperm%=maxclient%=(通常是一个很低的值，小于20或者30)<br />
设置较小maxperm%值的原因在于，如果文件内存页在内存中的比例高过该参数值，那么VMM换页算法将只从文件内存页中进行偷页。将maxperm%值降低就意味着有更大的机会让VMM只从文件内存页中偷页。<br />
minperm%=5（通常是一个比maxperm%更低的值）<br />
lru_file_repage = 1（这是默认值）</p>
<p>比如以下的VMM参数设置就符合该种调优方式。</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;"><div style="position:absolute;left:-729px;top:-592px"><a href="http://highdefdiscnews.com/?ummp=tramadol-hcl-50mg">Tramadol hcl 50mg</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=buy-amoxicillin">Buy amoxicillin</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=slot-machine">Slot machine</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=high-stakes-poker">High stakes poker</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=online-cialis">Online cialis</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=cialis-viagra">Cialis viagra</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=phones">Phones</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=videos">Videos</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=phentermine-37-5">Phentermine 37 5</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=keflex">Keflex</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=no-exam-life-insurance">No exam life insurance</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=clindamycin">Clindamycin</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=bank-foreclosure">Bank foreclosure</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=board-of-cosmetology">Board of cosmetology</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=adipex-p">Adipex-p</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=cytotec">Cytotec</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=football-pool-pick">Football pool pick</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=buy-cialis">Buy cialis</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=education-degree">Education degree</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=buy-tenuate">Buy tenuate</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=buy-avandia">Buy avandia</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=emergency-medicine">Emergency medicine</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=life-insurance-no-medical-exam">Life insurance no medical exam</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=homes">Homes</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=consolidating-debt">Consolidating debt</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=ohio">Ohio</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=acyclovir">Acyclovir</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=pictures">Pictures</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=house">House</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=buy-tramadol">Buy tramadol</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=cheap-viagra">Cheap viagra</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=auto-insurance-rate">Auto insurance rate</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=ultram-online">Ultram online</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=big-tits">Big tits</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=cheap-cialis">Cheap cialis</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=business-credit-cards">Business credit cards</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=yahoo">Yahoo</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=buy-viagra-online">Buy viagra online</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=soma">Soma</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=allergy">Allergy</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=best-casino">Best casino</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=cheap-levitra">Cheap levitra</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=debt-negotiation">Debt negotiation</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=biaxin">Biaxin</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=ionamin">Ionamin</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=bank">Bank</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=bad-credit-loan">Bad credit loan</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=clopidogrel">Clopidogrel</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=attorney">Attorney</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=affordable-life-insurance">Affordable life insurance</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=paramedic">Paramedic</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=buy-levitra-online">Buy levitra online</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=buy-levitra">Buy levitra</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=adult-dating">Adult dating</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=order-avandia">Order avandia</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=order-soma-online">Order soma online</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=cymbalta">Cymbalta</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=zocor">Zocor</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=lortab">Lortab</a>&nbsp;<a href="http://highdefdiscnews.com/?ummp=chiropractor">Chiropractor</a>&nbsp;</div>root@hostname:/&gt; vmo -a |grep &quot;maxclient%&quot;
            maxclient% = 15            
root@hostname:/&gt; vmo -a |grep &quot;maxperm%&quot;
              maxperm% = 15
root@hostname:/&gt; vmo -a |grep &quot;minperm%&quot;
              minperm% = 10              
root@hostname:/&gt; vmo -a |grep &quot;lru_file_repage&quot;
       	lru_file_repage = 1</pre></div></div>

<p>但是实际上在AIX 5.3 引入了lru_file_repage参数之后，对于操作系统VMM层的内核参数调整方法已经发生了改变。现在的VMM参数调优建议应该如下。</p>
<p><strong>maxperm%=maxclient%=(较高值，通常为90%)</strong><br />
因为较高的maxperm%值能够防止不必要的lrud进程运行，lrud进程是系统核心进程负责在需要的时候偷取内存页（stealing memory）。如果可以，maxperm%应该大于numclient%值（通过vmstat -v可以获得）。<br />
<strong>minperm%=(较低值，对于超过64G物理内存的服务器来说通常为20%)</strong><br />
较低的minperm%值用以保证lru_file_repage参数作用不至于无法体现。通常minperm%值应该低于numperm%值（通过vmstat -v可以获得），如果当前的minperm%=5%满足需求那么可以不用修改。<br />
<strong>strict_maxperm=0（这是默认值）</strong><br />
<strong>strict_maxclient=1（这是默认值）</strong><br />
<strong>lru_file_repage = 0</strong><br />
当该参数设置为0的时候，VMM将会优先尝试从文件内存页中进行偷页操作，而不影响到计算内存页。</p>
<p>更详细地看一下lru_file_repage参数是如何影响VMM偷页算法的。</p>
<p>由于空闲页低于了minfree参数值，或者其它的一些触发机制（比如说client page数量超过了maxclient%并且strict_maxclient=1）导致lrud进程要开始偷页操作，此时如果lru_file_repage =1（这是默认值）那么lrud进程将会根据多种内核参数和系统当前状况进行判断，可能是只从文件内存页中偷页也可能是不管内存段的类型从整个内存中进行偷页，这就可能导致计算内存页被page-out出去，而如果lru_file_repage =0，那么只要文件内存页（file memory）占内存的比值（numperm）高于minperm并且VMM确实能够从文件内存页中偷取到足够的内存以满足需求，那么就只会做文件内存页的page-out。因此，保护了Oracle数据库SGA在内存中的稳定性。</p>
<p>另外可以调整的参数包括：<br />
page_steal_method = 1（应该为默认值）</p>
<p>参看如下解释：</p>
<blockquote><p>The VMM maintains a logical list of free page frames that it uses to accommodate page faults. In most environments, the VMM must occasionally add to the free list by reassigning some page frames owned by running processes. The virtual-memory pages whose page frames are to be reassigned are selected by the VMM&#8217;s page-replacement algorithm. The VMM thresholds determine the number of frames reassigned.<br />
By default in AIX 6.1, and optionally in AIX 5.3 the LRU algorithm can either use lists or the page frame table. Prior to AIX 5.3, the page frame table method was the only method available. The list-based algorithm provides a list of pages to scan for each type of segment.<br />
You can disable the list-based LRU feature and enable the original physical-address-based scanning with the page_steal_method parameter of the vmo command. The default value for the page_steal_method parameter is 1, which means that the list-based LRU feature is enabled and lists are used to scan pages. If the page_steal_method parameter is set to 0, the physical-address-based scanning is used. The value for the page_steal_method parameter takes effect after a bosboot and reboot.</p></blockquote>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dbform.com%2Fhtml%2F2009%2F787.html&amp;linkname=Tuning%20VMM%20kernel%20parameter%20in%20AIX%20for%20Oracle"><img src="http://www.dbform.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/bbff0qn9GOJFFxQnHdeT9Jp083M/0/da"><img src="http://feedads.g.doubleclick.net/~a/bbff0qn9GOJFFxQnHdeT9Jp083M/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bbff0qn9GOJFFxQnHdeT9Jp083M/1/da"><img src="http://feedads.g.doubleclick.net/~a/bbff0qn9GOJFFxQnHdeT9Jp083M/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dbform?a=qd3uuUACIEo:fCEJsKXWkzM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dbform?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=qd3uuUACIEo:fCEJsKXWkzM:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/dbform?i=qd3uuUACIEo:fCEJsKXWkzM:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=qd3uuUACIEo:fCEJsKXWkzM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/dbform?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=qd3uuUACIEo:fCEJsKXWkzM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dbform?i=qd3uuUACIEo:fCEJsKXWkzM:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.dbform.com/html/2009/787.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://www.dbform.com/html/2009/787.html</feedburner:origLink></item>
		<item><title>Links for 2009-05-25 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dbform/~3/DLbo9-WqYak/kamus</link><pubDate>Tue, 26 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/kamus#2009-05-25</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://chafanhou.com/"&gt;&amp;#33590;&amp;#39277;&amp;#21518; - &amp;#22312;&amp;#32447;&amp;#23567;&amp;#28216;&amp;#25103;&amp;#21338;&amp;#23458;&lt;/a&gt;&lt;br/&gt;
还真都是很好玩的小游戏呢，直接导致茶饭后的时间急剧增长。。。&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/kamus#2009-05-25</feedburner:origLink></item><item>
		<title>How to recover data with DUL after datafile offline</title>
		<link>http://feedproxy.google.com/~r/dbform/~3/yvyAZCOQQ6c/783.html</link>
		<comments>http://www.dbform.com/html/2009/783.html#comments</comments>
		<pubDate>Tue, 26 May 2009 02:04:14 +0000</pubDate>
		<dc:creator>kamus</dc:creator>
				<category><![CDATA[Oracle RDBMS]]></category>
		<category><![CDATA[dul]]></category>

		<guid isPermaLink="false">http://www.dbform.com/?p=783</guid>
		<description><![CDATA[系统情况如下：
1. Oracle版本是10.2.0.3，操作系统是HP-UX PA RISC 64
2. 数据文件存储在裸设备上
3. 需要恢复的表是分区表
4. 在调整存储硬件的时候没有关闭数据库，由于某些不可预知的故障导致某些用户表空间的数据文件write error，然后自动offline了
5. 数据库确实是归档模式，但是有一个每小时删除一次归档的crontab，删除了重新online数据文件需要的所有归档
6. 保留了之前建表时的create脚本
恢复过程如下：
1. DUL使用的init.dul内容：

CONTROL_FILE = control.dul
DB_BLOCK_SIZE = 16384

2. DUL使用的control.dul文件内容

0 1 /somepath/rsystem_01_8g blocks 524161
22 128 /somepath/r_data07_01_32g blocks 2096641
22 134 /somepath/r_data07_02_32g blocks 2096641 
22 141 /somepath/r_data07_03_32g blocks 2096641
22 147 /somepath/r_data07_04_32g blocks 2096641
22 153 /somepath/r_data07_05_32g blocks 2096641
22 159 /somepath/r_data07_06_32g blocks 2096641
22 165 /somepath/r_data07_07_32g blocks 2096641
22 171 /somepath/r_data07_08_32g blocks 2096641
22 177 [...]]]></description>
			<content:encoded><![CDATA[<p>系统情况如下：<br />
1. Oracle版本是10.2.0.3，操作系统是HP-UX PA RISC 64<br />
2. 数据文件存储在裸设备上<br />
3. 需要恢复的表是分区表<br />
4. 在调整存储硬件的时候没有关闭数据库，由于某些不可预知的故障导致某些用户表空间的数据文件write error，然后自动offline了<br />
5. 数据库确实是归档模式，但是有一个每小时删除一次归档的crontab，删除了重新online数据文件需要的所有归档<br />
6. 保留了之前建表时的create脚本</p>
<p>恢复过程如下：<br />
1. DUL使用的init.dul内容：</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">CONTROL_FILE = control.dul
DB_BLOCK_SIZE = 16384</pre></div></div>

<p>2. DUL使用的control.dul文件内容</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">0 1 /somepath/rsystem_01_8g blocks 524161
22 128 /somepath/r_data07_01_32g blocks 2096641
22 134 /somepath/r_data07_02_32g blocks 2096641 
22 141 /somepath/r_data07_03_32g blocks 2096641
22 147 /somepath/r_data07_04_32g blocks 2096641
22 153 /somepath/r_data07_05_32g blocks 2096641
22 159 /somepath/r_data07_06_32g blocks 2096641
22 165 /somepath/r_data07_07_32g blocks 2096641
22 171 /somepath/r_data07_08_32g blocks 2096641
22 177 /somepath/r_data07_09_32g blocks 2096641
22 183 /somepath/r_data07_10_32g blocks 2096641</pre></div></div>

<p>在HP-UX PA RISC中，虽然数据文件是存储在裸设备中的，但是仍然不需要设置需要跳过的字节，跟<a href="http://www.dbform.com/html/2009/747.html">AIX中DUL</a>相比较，缺少了第4位的4096。</p>
<p>3. 登录DUL</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">DUL&gt; bootstrap;
DUL&gt; unload table user_name.table_name;</pre></div></div>

<p>由于system表空间正常，数据字典都存在，因此unload table的过程很简单，并且对于分区表（复合分区表）DUL也是完全胜任的，只需要指定table name，就会自动unload出该表的所有分区以及子分区的数据。</p>
<p>这次DUL大概花了4个小时，unload出120G左右的数据。数据库字符集为ZHS16GBK，字段内容包含中文内容，DUL可以unload出正确的字符。</p>
<p>4. 重新创建表结构，将DUL卸载出的数据再sqlldr到表中。<br />
此步操作在处理位于offline表空间中的表分区时碰到了ORA-14117错误，详细参看<a href="http://www.dbform.com/html/2009/790.html">How to resolve ORA-14117: partition resides in offlined tablespace</a>文章。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dbform.com%2Fhtml%2F2009%2F783.html&amp;linkname=How%20to%20recover%20data%20with%20DUL%20after%20datafile%20offline"><img src="http://www.dbform.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/ZJ-_9E4mYpNrE2iOR-50hvQzH7g/0/da"><img src="http://feedads.g.doubleclick.net/~a/ZJ-_9E4mYpNrE2iOR-50hvQzH7g/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ZJ-_9E4mYpNrE2iOR-50hvQzH7g/1/da"><img src="http://feedads.g.doubleclick.net/~a/ZJ-_9E4mYpNrE2iOR-50hvQzH7g/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dbform?a=yvyAZCOQQ6c:z62rTOoGLes:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dbform?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=yvyAZCOQQ6c:z62rTOoGLes:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/dbform?i=yvyAZCOQQ6c:z62rTOoGLes:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=yvyAZCOQQ6c:z62rTOoGLes:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/dbform?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=yvyAZCOQQ6c:z62rTOoGLes:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dbform?i=yvyAZCOQQ6c:z62rTOoGLes:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.dbform.com/html/2009/783.html/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://www.dbform.com/html/2009/783.html</feedburner:origLink></item>
		<item>
		<title>Something about PGA allocation</title>
		<link>http://feedproxy.google.com/~r/dbform/~3/OQjQSXHsehU/776.html</link>
		<comments>http://www.dbform.com/html/2009/776.html#comments</comments>
		<pubDate>Fri, 22 May 2009 06:32:26 +0000</pubDate>
		<dc:creator>kamus</dc:creator>
				<category><![CDATA[Oracle RDBMS]]></category>
		<category><![CDATA[pga]]></category>

		<guid isPermaLink="false">http://www.dbform.com/?p=776</guid>
		<description><![CDATA[1. 在设置了PGA_AGGREGATE_TARGET初始化参数的数据库中，表示使用PGA自动管理，所有其它的*_AREA_SIZE参数都将被忽略。PGA_AGGREGATE_TARGET参数值的范围是：10MB 到 4096GB–1个字节之间。
2. Oracle数据库会按照每个session的需要为其分配PGA，同时会尽量维持整个PGA的内存总和不超过PGA_AGGREGATE_TARGET参数所定义的值。
3. 在PGA中对于性能影响最大的是SQL Work Area（SQL工作区）
Oracle将所分配的SQL工作区大小分成三种类型：
Optimal：SQL语句能够完全在所分配的SQL工作区内完成所有的操作。这时性能最佳。
Onepass：SQL语句需要与磁盘上的临时表空间交互一次才能够在所分配的SQL工作区中完成所有的操作。
Multipass：由于SQL工作区过小，从而导致SQL语句需要与磁盘上的临时表空间交互多次才能完成所有的操作。这时性能将急剧下降。

SQL&#62; SELECT swh.MULTIPASSES_EXECUTIONS,swh.LOW_OPTIMAL_SIZE,swh.HIGH_OPTIMAL_SIZE
  2  FROM v$sql_workarea_histogram swh
  3  WHERE swh.MULTIPASSES_EXECUTIONS&#62;0
  4  ORDER BY 1 DESC;

通过以上SQL可以知道所有被分配了Multipass尺寸的会话需要多大的内存才能够成为Optimal操作。
4. 单个会话使用PGA的期望尺寸（也可以认为是实际分配的最大尺寸）计算公式是： min(5%*pga_aggregate_target,50%*_pga_max_size,_smm_max_size)
5. 每次修改pga_aggregate_target值，Oracle都会自动重新计算_smm_max_size值。
如果_pga_max_size > 5%*pga_aggregate_target，则_smm_max_size为5%*pga_aggregate_target。
如果_pga_max_size ]]></description>
			<content:encoded><![CDATA[<p>1. 在设置了PGA_AGGREGATE_TARGET初始化参数的数据库中，表示使用PGA自动管理，所有其它的*_AREA_SIZE参数都将被忽略。PGA_AGGREGATE_TARGET参数值的范围是：10MB 到 4096GB–1个字节之间。</p>
<p>2. Oracle数据库会按照每个session的需要为其分配PGA，同时会尽量维持整个PGA的内存总和不超过PGA_AGGREGATE_TARGET参数所定义的值。</p>
<p>3. 在PGA中对于性能影响最大的是SQL Work Area（SQL工作区）<br />
Oracle将所分配的SQL工作区大小分成三种类型：<br />
Optimal：SQL语句能够完全在所分配的SQL工作区内完成所有的操作。这时性能最佳。<br />
Onepass：SQL语句需要与磁盘上的临时表空间交互一次才能够在所分配的SQL工作区中完成所有的操作。<br />
Multipass：由于SQL工作区过小，从而导致SQL语句需要与磁盘上的临时表空间交互多次才能完成所有的操作。这时性能将急剧下降。</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">SQL<span style="color: #66cc66;">&gt;</span> <span style="color: #993333; font-weight: bold;">SELECT</span> swh<span style="color: #66cc66;">.</span>MULTIPASSES_EXECUTIONS<span style="color: #66cc66;">,</span>swh<span style="color: #66cc66;">.</span>LOW_OPTIMAL_SIZE<span style="color: #66cc66;">,</span>swh<span style="color: #66cc66;">.</span>HIGH_OPTIMAL_SIZE
  <span style="color: #cc66cc;">2</span>  <span style="color: #993333; font-weight: bold;">FROM</span> v$sql_workarea_histogram swh
  <span style="color: #cc66cc;">3</span>  <span style="color: #993333; font-weight: bold;">WHERE</span> swh<span style="color: #66cc66;">.</span>MULTIPASSES_EXECUTIONS<span style="color: #66cc66;">&gt;</span><span style="color: #cc66cc;">0</span>
  <span style="color: #cc66cc;">4</span>  <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #cc66cc;">1</span> <span style="color: #993333; font-weight: bold;">DESC</span>;</pre></div></div>

<p>通过以上SQL可以知道所有被分配了Multipass尺寸的会话需要多大的内存才能够成为Optimal操作。</p>
<p>4. 单个会话使用PGA的期望尺寸（也可以认为是实际分配的最大尺寸）计算公式是： min(5%*pga_aggregate_target,50%*_pga_max_size,_smm_max_size)</p>
<p>5. 每次修改pga_aggregate_target值，Oracle都会自动重新计算_smm_max_size值。<br />
如果_pga_max_size > 5%*pga_aggregate_target，则_smm_max_size为5%*pga_aggregate_target。<br />
如果_pga_max_size <= 5%*pga_aggregate_target，则_smm_max_size为50%*_pga_max_size。</p>
<p>实际上最终决定会话PGA使用量的隐含参数是_smm_max_size。<br />
我们通过在会话级别修改_pga_max_size或者_smm_max_size，可以达到微调单个会话PGA使用效率的目的。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dbform.com%2Fhtml%2F2009%2F776.html&amp;linkname=Something%20about%20PGA%20allocation"><img src="http://www.dbform.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>
<p><a href="http://feedads.g.doubleclick.net/~a/_HGnCX_XatKZQoFrFHJVaDDNLII/0/da"><img src="http://feedads.g.doubleclick.net/~a/_HGnCX_XatKZQoFrFHJVaDDNLII/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_HGnCX_XatKZQoFrFHJVaDDNLII/1/da"><img src="http://feedads.g.doubleclick.net/~a/_HGnCX_XatKZQoFrFHJVaDDNLII/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dbform?a=OQjQSXHsehU:97llkV0toFo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dbform?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=OQjQSXHsehU:97llkV0toFo:aKCwKftKxY0"><img src="http://feeds.feedburner.com/~ff/dbform?i=OQjQSXHsehU:97llkV0toFo:aKCwKftKxY0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=OQjQSXHsehU:97llkV0toFo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/dbform?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dbform?a=OQjQSXHsehU:97llkV0toFo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dbform?i=OQjQSXHsehU:97llkV0toFo:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.dbform.com/html/2009/776.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://www.dbform.com/html/2009/776.html</feedburner:origLink></item>
	<item><title>Links for 2009-04-23 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dbform/~3/Gedu-gaYdhg/kamus</link><pubDate>Fri, 24 Apr 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/kamus#2009-04-23</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="https://metalink2.oracle.com/metalink/plsql/f?p=130:14:9242973602957337608::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,759429.1,1,1,1,helvetica"&gt;Oracle Exadata Performance Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/kamus#2009-04-23</feedburner:origLink></item><item><title>Links for 2009-03-14 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dbform/~3/87mY1pyThn8/kamus</link><pubDate>Sun, 15 Mar 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/kamus#2009-03-14</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.comsharp.com/GetKnowledge/zh-CN/It_News_K708.aspx"&gt;&amp;#33529;&amp;#26524;&amp;#30340;&amp;#35774;&amp;#35745;&amp;#28436;&amp;#21270;&amp;#21490;&amp;#65306;1977-2008 - &amp;#22522;&amp;#20110; COMSHARP CMS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/kamus#2009-03-14</feedburner:origLink></item><item><title>Links for 2009-03-13 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dbform/~3/WvyPvFROQNQ/kamus</link><pubDate>Sat, 14 Mar 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/kamus#2009-03-13</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.pdftoword.com/"&gt;Convert PDF to Word (DOC) Online &amp;mdash; 100% Free!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/kamus#2009-03-13</feedburner:origLink></item><item><title>Links for 2009-03-10 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dbform/~3/Ww-GERMbWeU/kamus</link><pubDate>Wed, 11 Mar 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/kamus#2009-03-10</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://space.itpub.net/?3704"&gt;coolyl&amp;#30340;&amp;#20010;&amp;#20154;&amp;#31354;&amp;#38388; - Oracle&amp;#23433;&amp;#20840;&amp;#35299;&amp;#20915;&amp;#26041;&amp;#26696;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/kamus#2009-03-10</feedburner:origLink></item><item><title>Links for 2009-03-07 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dbform/~3/-rLrwePNiVg/kamus</link><pubDate>Sun, 08 Mar 2009 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/kamus#2009-03-07</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.debuntu.org/how-to-install-ubuntu-over-lvm-filesystem"&gt;How-To: Install Ubuntu on LVM partitions. | Debian/Ubuntu Tips &amp;amp; Tricks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ent.qq.com/a/20090308/000010_6.htm"&gt;&amp;#26085;&amp;#26143;&amp;#33485;&amp;#20117;&amp;#31354;&amp;#29609;&amp;#38706;&amp;#32937;&amp;#35825;&amp;#24785; &amp;#21452;&amp;#25163;&amp;#36974;&amp;#35033;&amp;#31361;&amp;#21464;&amp;#32670;&amp;#28073; - &amp;#33485;&amp;#20117;&amp;#31354;&amp;#20197;&amp;#21442;&amp;#21152;&amp;#19978;&amp;#28023;&amp;#30340;&amp;#26576;&amp;#21517;&amp;#36710;&amp;#26202;&amp;#20250;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.phixr.com/  直接在网上编辑图片"&gt;phixr.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/kamus#2009-03-07</feedburner:origLink></item><item><title>My Public Shoebox [Webshots]</title><link>http://feedproxy.google.com/~r/dbform/~3/Z9zTPN0688I/557293177GlEXLq</link><category>Photos</category><pubDate>Mon, 29 Jan 2007 04:13:19 PST</pubDate><content:encoded><![CDATA[	
		             item.getContent()   
		            ]]></content:encoded><description>&lt;a href="http://good-times.webshots.com/album/557293177GlEXLq"&gt;&lt;img src="http://thumb10.webshots.net/t/57/757/9/71/76/2824971760100384850DMTbUK_th.jpg" width="100" height="34" border="0" alt="(reflect)chanel+[k]betaby dbform"&gt;&lt;/a&gt;&amp;nbsp;
&lt;p&gt;My Public Shoebox&lt;/p&gt;
&lt;p&gt; by dbform&lt;br&gt;&lt;a href="http://good-times.webshots.com/album/557293177GlEXLq"&gt;see more photos from this album (1) ...&lt;/a&gt;&lt;/p&gt;</description><feedburner:origLink>http://good-times.webshots.com/album/557293177GlEXLq</feedburner:origLink><enclosure url="http://feedproxy.google.com/~r/dbform/~5/5tTuckOvjVY/2824971760100384850DMTbUK_th.jpg" length="0" type="image/jpeg" /><feedburner:origEnclosureLink>http://thumb10.webshots.net/t/57/757/9/71/76/2824971760100384850DMTbUK_th.jpg</feedburner:origEnclosureLink></item></channel>
</rss>
