<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/47522341" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/47522341" type="application/rss+xml"></fs:self_link><lastBuildDate>Wed, 24 Jun 2009 09:10:00 GMT</lastBuildDate><title>47522341的专栏</title><description>在去dba的路上</description><link>http://blog.csdn.net/47522341/</link><item><title>分析函数ratio_to_report的使用</title><link>http://blog.csdn.net/47522341/archive/2009/06/24/4293266.aspx</link><wfw:comment>http://blog.csdn.net/47522341/comments/4293266.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/47522341/comments/commentRss/4293266.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4293266</trackback:ping><description>&lt;br /&gt;Ratio_to_report函数&lt;br /&gt;Syntax&lt;br /&gt;&lt;br /&gt;分析函数RATIO_TO_REPORT 用来计算当前记录的指标expr占开窗函数over中包含记录的所有同一指标的百分比. 这里如果开窗函数的统计结果为null或者为0,就是说占用比率的被除数为0或者为null, 则得到的结果也为0. &lt;br /&gt;开窗条件query_partition_clause决定被除数的值, 如果用户忽略了这个条件, 则计算查询结果中所有记录的汇总值.&lt;br /&gt;用户不能使用其他分析函数或者ratio_to_report作为分析函数ratio_to_report的参数expr, 也就是说这个函数不能循环使用. 但我们可以使用其他普通函数作为这个分析函数的查询结果.&lt;br /&gt; Examples 1&lt;br /&gt;     下面的示例演示了如何计算每一个员工的工资占部门全部工资的比例.&lt;br /&gt;创建表&lt;br /&gt;createtable T_salary(&lt;br /&gt;F_depart varchar2(20),&lt;br /&gt;F_EMP varchar2(20),&lt;br /&gt;F_&lt;img src =&quot;http://blog.csdn.net/47522341/aggbug/4293266.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236373662/47522341/csdn.net/s.gif?r=http://blog.csdn.net/47522341/archive/2009/06/24/4293266.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/47522341/236373662/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/47522341/236373662/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 24 Jun 2009 17:10:00 +0800</pubDate><author>ZHANGJAX</author><comments>http://blog.csdn.net/47522341/archive/2009/06/24/4293266.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/47522341/archive/2009/06/24/4293266.aspx</guid><dc:creator>ZHANGJAX</dc:creator><fs:srclink>http://blog.csdn.net/47522341/archive/2009/06/24/4293266.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/47522341/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/47522341/~1111466/236373662/1111463</fs:itemid></item><item><title>oracle的多表insert操作</title><link>http://blog.csdn.net/47522341/archive/2009/06/11/4259875.aspx</link><wfw:comment>http://blog.csdn.net/47522341/comments/4259875.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/47522341/comments/commentRss/4259875.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4259875</trackback:ping><description>&lt;br /&gt;在一般操作中,我们可能会碰到一些相同或者雷同的数据源要插入到不同的数据表中的情况. 在oracle9i之前的版本中, 我们必须执行多次insert语句, 因此, 为了填充不同的表, 就在源表上添加了一些不必要的IO操作. Oracle9i引入了多表insert操作, 采用以下三个形式.&lt;br /&gt;Unconditional(无条件的): 没有任何限制地向多个表中插入给定表的数据;&lt;br /&gt;Pivoting: 用一个非规范化的结构把数据插入到一个或多个表中.&lt;br /&gt;Conditional(有条件的): 根据已有的特定条件对每个约束进行控制.测试环境建立&lt;br /&gt;createtable z_test(idinteger, namevarchar2(100));&lt;br /&gt;createtable z_test1(idinteger, namevarchar2(100));&lt;br /&gt;createtable z_test2(idinteger);&lt;br /&gt;createtable z_test3( namevarchar2(100));&lt;br /&gt;&lt;br /&gt;inserti&lt;img src =&quot;http://blog.csdn.net/47522341/aggbug/4259875.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236373664/47522341/csdn.net/s.gif?r=http://blog.csdn.net/47522341/archive/2009/06/11/4259875.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/47522341/236373664/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/47522341/236373664/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 11 Jun 2009 18:58:00 +0800</pubDate><author>ZHANGJAX</author><comments>http://blog.csdn.net/47522341/archive/2009/06/11/4259875.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/47522341/archive/2009/06/11/4259875.aspx</guid><dc:creator>ZHANGJAX</dc:creator><fs:srclink>http://blog.csdn.net/47522341/archive/2009/06/11/4259875.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/47522341/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/47522341/~1111466/236373664/1111463</fs:itemid></item><item><title>独家：程序员五大层次，你属于哪一层？</title><link>http://blog.csdn.net/47522341/archive/2009/06/10/4257810.aspx</link><wfw:comment>http://blog.csdn.net/47522341/comments/4257810.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/47522341/comments/commentRss/4257810.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4257810</trackback:ping><description>独家：程序员五大层次，你属于哪一层？本文发表于 2009-06-10 09:08 |

8490次阅读 | 共有评论(53)条 发表评论关键词：新闻资讯  | 感谢max_yuki的提供 | 收藏这篇新闻&lt;br /&gt;软件界一个无可争议的事实是，不同程序员的效率有差别，而且差别很大。许多专家将优秀程序员和一般程序员区分地很清楚。&lt;br /&gt;大多数研究得出结论认为，一般程序员跟优秀程序员之间在工作效率和质量上存在10：1的关系：优秀程序员和水平较差的程序员的编码时间比例为1：20；debugging时间比为1：25；代码数量比是5：1；程序执行速度比例是10：1。而且发现，程序员的代码质量和效率跟工作经验没有关系。&lt;br /&gt;让我们看看一些软件大腕们是如何看待优秀程序员和一般程序员的：&lt;br /&gt;Randall E. Stross：无论是从软件标准、创造性、开发速度、还是设计思路或者解决问题的能力上来说，优秀程序员比差的程序员都何止好一点。&lt;br /&gt;Bill Gates：一个优秀的机床工值一个一般机床工的好几倍，而一个优秀程序员值一个一般程序员的10000倍。&lt;br /&gt;Robert&lt;img src =&quot;http://blog.csdn.net/47522341/aggbug/4257810.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236373666/47522341/csdn.net/s.gif?r=http://blog.csdn.net/47522341/archive/2009/06/10/4257810.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/47522341/236373666/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/47522341/236373666/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 10 Jun 2009 23:35:00 +0800</pubDate><author>ZHANGJAX</author><comments>http://blog.csdn.net/47522341/archive/2009/06/10/4257810.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/47522341/archive/2009/06/10/4257810.aspx</guid><dc:creator>ZHANGJAX</dc:creator><fs:srclink>http://blog.csdn.net/47522341/archive/2009/06/10/4257810.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/47522341/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/47522341/~1111466/236373666/1111463</fs:itemid></item><item><title>索引的特性与优化</title><link>http://blog.csdn.net/47522341/archive/2009/06/10/4257784.aspx</link><wfw:comment>http://blog.csdn.net/47522341/comments/4257784.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/47522341/comments/commentRss/4257784.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4257784</trackback:ping><description>&lt;br /&gt;一, 索引的概念... 1&lt;br /&gt;二, 索引的文件存储... 1&lt;br /&gt;2.0 转储索引结构... 3&lt;br /&gt;2.1 索引头内容分析... 4&lt;br /&gt;2.2 索引root节点分析... 6&lt;br /&gt;2.3 索引叶子节点分析... 7&lt;br /&gt;三, 如何建立最佳索引... 9&lt;br /&gt;何时使用索引... 9&lt;br /&gt;什么是最佳索引... 10&lt;br /&gt;最佳索引的参数(CF)10&lt;br /&gt;有效使用索引的几个问题... 11&lt;br /&gt;四, 导致索引无效的情况... 12&lt;br /&gt;五, 创建索引选择合适的可选项... 12&lt;br /&gt;六, 索引相关的hints. 15&lt;br /&gt;6.1 index. 15&lt;br /&gt;6.2  index_combine. 16&lt;br /&gt;6.3 index_join:18&lt;br /&gt;6.4 and_equal19&lt;br /&gt; 一, 索引的概念&lt;br /&gt;在使用oracle的过程中,我们就不能不考虑性能和SQL优化, 而正确的使用索引在优化过程中是很关键的.&lt;br /&gt;索引是建立在表的一列或多列上的辅助对象, 它有助于&lt;img src =&quot;http://blog.csdn.net/47522341/aggbug/4257784.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236373667/47522341/csdn.net/s.gif?r=http://blog.csdn.net/47522341/archive/2009/06/10/4257784.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/47522341/236373667/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/47522341/236373667/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 10 Jun 2009 23:31:00 +0800</pubDate><author>ZHANGJAX</author><comments>http://blog.csdn.net/47522341/archive/2009/06/10/4257784.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/47522341/archive/2009/06/10/4257784.aspx</guid><dc:creator>ZHANGJAX</dc:creator><fs:srclink>http://blog.csdn.net/47522341/archive/2009/06/10/4257784.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/47522341/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/47522341/~1111466/236373667/1111463</fs:itemid></item><item><title>在pldeveloper中输出超过255个的字符串</title><link>http://blog.csdn.net/47522341/archive/2009/06/10/4257773.aspx</link><wfw:comment>http://blog.csdn.net/47522341/comments/4257773.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/47522341/comments/commentRss/4257773.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4257773</trackback:ping><description>&lt;br /&gt;Oracle编程人员经常会在pl/developer界面中打印输出超过255个长度的字符, 正常使用dbms_output.put_line(&amp;out_str)会产生错误提示. &lt;br /&gt;declare&lt;br /&gt;  out_str varchar2(2000);&lt;br /&gt;begin&lt;br /&gt;  out_str := lpad('001',1000,'*');&lt;br /&gt;  dbms_output.put_line(out_str);&lt;br /&gt;end;&lt;br /&gt;ORA-20000: ORU-10028: line length overflow, limit of 255 chars per line&lt;br /&gt;ORA-06512: at &quot;SYS.DBMS_OUTPUT&quot;, line 35&lt;br /&gt;ORA-06512: at &quot;SYS.DBMS_OUTPUT&quot;, line 133&lt;br /&gt;ORA-06512: at line 5&lt;br /&gt;&lt;br /&gt;查看错误堆栈的程序源？&lt;br /&gt;这里给出了一种解决方式.&lt;br /&gt;将如下代码copy到测试窗体中, 并&lt;img src =&quot;http://blog.csdn.net/47522341/aggbug/4257773.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236373669/47522341/csdn.net/s.gif?r=http://blog.csdn.net/47522341/archive/2009/06/10/4257773.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/47522341/236373669/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/47522341/236373669/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 10 Jun 2009 23:29:00 +0800</pubDate><author>ZHANGJAX</author><comments>http://blog.csdn.net/47522341/archive/2009/06/10/4257773.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/47522341/archive/2009/06/10/4257773.aspx</guid><dc:creator>ZHANGJAX</dc:creator><fs:srclink>http://blog.csdn.net/47522341/archive/2009/06/10/4257773.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/47522341/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/47522341/~1111466/236373669/1111463</fs:itemid></item><item><title>借助内存表处理复杂的oracle查询要求</title><link>http://blog.csdn.net/47522341/archive/2009/06/10/4257755.aspx</link><wfw:comment>http://blog.csdn.net/47522341/comments/4257755.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/47522341/comments/commentRss/4257755.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=4257755</trackback:ping><description>借助内存表处理复杂的oracle查询要求.&lt;br /&gt;在日常业务处理过程中,我们经常会碰到一些非常规的查询需求, 这些需求我们或者可以借助动态语句,或者其他现有的oracle函数完成查询结果, 但效率往往差强人意. &lt;br /&gt;假设我们有一个客户订单业务表{订单号, 订单客户, 订单日期, 数量, 金额}存储了订单的往来明细数据,订单表中保存最近3个月的往来明细共1000w条记录, 其中客户总量约500000. 并假定在订单表上有针对日期和客户的单独索引.&lt;br /&gt;现在要求提供对任意集合的多个客户的某段时间的订单明细数据.&lt;br /&gt;Select 订单号, 订单客户, 订单日期, 数量, 金额&lt;br /&gt;From 订单业务表&lt;br /&gt;Where 订单日期 between 开始日期 and 结束日期&lt;br /&gt;  And 订单客户 in (客户1, 客户2, 客户3…)&lt;br /&gt;面对这种需求, 我们可以要求前台程序传回三个参数, 开始日期, 结束日期, 客户列表(类似于客户1, 客户2, 客户3, 客户4…)一, 创建测试用表.&lt;br /&gt;Create table t_order_&lt;img src =&quot;http://blog.csdn.net/47522341/aggbug/4257755.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/236373670/47522341/csdn.net/s.gif?r=http://blog.csdn.net/47522341/archive/2009/06/10/4257755.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/47522341/236373670/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/47522341/236373670/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 10 Jun 2009 23:27:00 +0800</pubDate><author>ZHANGJAX</author><comments>http://blog.csdn.net/47522341/archive/2009/06/10/4257755.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/47522341/archive/2009/06/10/4257755.aspx</guid><dc:creator>ZHANGJAX</dc:creator><fs:srclink>http://blog.csdn.net/47522341/archive/2009/06/10/4257755.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/47522341/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/47522341/~1111466/236373670/1111463</fs:itemid></item><item><title>用户管理的和基于RMAN的不完全恢复</title><link>http://blog.csdn.net/47522341/archive/2009/02/27/3942971.aspx</link><wfw:comment>http://blog.csdn.net/47522341/comments/3942971.aspx</wfw:comment><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/47522341/comments/commentRss/3942971.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3942971</trackback:ping><description>用户管理的和基于RMAN的不完全恢复&lt;br /&gt;执行不完全的数据库恢复操作,需要理解重做日志和archivelog进程/oracle数据库的同步和允许执行不完全恢复使用的选项.&lt;br /&gt;不完全恢复是出现某些类型的错误时,唯一可以使用的恢复方法.理解何时以及怎样使用不完全恢复方法是很重要的.在任何时候,只要出现了一个可以导致你不能恢复到改变以前的数据库状态的错误,就需要使用下面几种不完全恢复方法之一.&lt;br /&gt;Cancel:基于删除的不完全介质恢复;&lt;br /&gt;Time:基于时间的不完全介质恢复;&lt;br /&gt;Change:基于变化的不完全介质恢复.&lt;br /&gt;每一个选项都可以恢复到出错的那一刻.出现三种选项的主要原因是,如果有三个选项的话,DBA就会有更大的灵活性,并且在恢复过程中能够控制到何处停止恢复.在下面的部分中,讲详细地描述每一个选项.&lt;br /&gt;只要不想把所有的在线和归档日志文件都应用到数据库中,在任何时间都可以执行不完全恢复.&lt;br /&gt;&lt;br /&gt;可能会需要这种类型恢复的情况是:数据文件损坏,重做日志损坏,或者由于用户的错误丢失了一个表.&lt;br /&gt;有些情况下只能执行不&lt;img src =&quot;http://blog.csdn.net/47522341/aggbug/3942971.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/47522341/236373672/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/47522341/236373672/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 27 Feb 2009 23:53:00 +0800</pubDate><author>47522341</author><comments>http://blog.csdn.net/47522341/archive/2009/02/27/3942971.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/47522341/archive/2009/02/27/3942971.aspx</guid><dc:creator>47522341</dc:creator><fs:srclink>http://blog.csdn.net/47522341/archive/2009/02/27/3942971.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/47522341/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/47522341/~1111466/236373672/1111463</fs:itemid></item><item><title>一个数据库完全一致恢复的测试实例</title><link>http://blog.csdn.net/47522341/archive/2009/02/26/3940076.aspx</link><wfw:comment>http://blog.csdn.net/47522341/comments/3940076.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/47522341/comments/commentRss/3940076.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3940076</trackback:ping><description>&lt;br /&gt;一个oracle数据库的恢复测试&lt;br /&gt;1,关闭数据库完全备份&lt;br /&gt;SQL&gt; shutdown immediate&lt;br /&gt;Database closed.&lt;br /&gt;Database dismounted.&lt;br /&gt;ORACLE instance shut down.&lt;br /&gt;&lt;br /&gt;$ cp *.dbf backup1&lt;br /&gt;$cp control01.ctl backup1&lt;br /&gt;2,创建表并插入数据&lt;br /&gt;SQL&gt; startup&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area 1511484856 bytes&lt;br /&gt;Fixed Size                   736696 bytes&lt;br /&gt;Variable Size             553648128 bytes&lt;br /&gt;Database Buffers      956301312 bytes&lt;br /&gt;Redo Buffers              798&lt;img src =&quot;http://blog.csdn.net/47522341/aggbug/3940076.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/47522341/236373674/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/47522341/236373674/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Fri, 27 Feb 2009 01:05:00 +0800</pubDate><author>47522341</author><comments>http://blog.csdn.net/47522341/archive/2009/02/26/3940076.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/47522341/archive/2009/02/26/3940076.aspx</guid><dc:creator>47522341</dc:creator><fs:srclink>http://blog.csdn.net/47522341/archive/2009/02/26/3940076.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/47522341/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/47522341/~1111466/236373674/1111463</fs:itemid></item><item><title>RMAN冗余备份概念与方法</title><link>http://blog.csdn.net/47522341/archive/2009/02/18/3906644.aspx</link><wfw:comment>http://blog.csdn.net/47522341/comments/3906644.aspx</wfw:comment><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/47522341/comments/commentRss/3906644.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3906644</trackback:ping><description>冗余备份概念&lt;br /&gt;RMAN提供了一种更谨慎的备份策略：duplexed方式备份，其实质就是在生成备份集的同时，向指定位置copy指定份数（最大不超过4）的备份集复制，以避免在灾难性事故时数据库损坏和备份丢失的情况下导致完全崩溃，提高备份可用性。&lt;br /&gt;RMAN有三种方式的duplexed备份。在RMAN中执行backup命令时指定copies参数&lt;br /&gt;RMAN&gt; backup copies 2 tablespace users format 'D:\backup\USER_%U_1','D:\backup\U&lt;br /&gt;SER_%U_2';&lt;br /&gt;&lt;br /&gt;启动 backup 于 18-2月 -09&lt;br /&gt;使用通道 ORA_DISK_1&lt;br /&gt;通道 ORA_DISK_1: 正在启动 full 数据文件备份集&lt;br /&gt;通道 ORA_DISK_1: 正在指定备份集中的数据文件&lt;br /&gt;输入数据文件 fno=00009 name=E:\ORACLE\ORADATA\ORADB\USERS01.DBF&lt;br /&gt;通道 ORA_DISK_1: 正在启动段 1 &lt;img src =&quot;http://blog.csdn.net/47522341/aggbug/3906644.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/47522341/236373675/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/47522341/236373675/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 19 Feb 2009 01:23:00 +0800</pubDate><author>47522341</author><comments>http://blog.csdn.net/47522341/archive/2009/02/18/3906644.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/47522341/archive/2009/02/18/3906644.aspx</guid><dc:creator>47522341</dc:creator><fs:srclink>http://blog.csdn.net/47522341/archive/2009/02/18/3906644.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/47522341/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/47522341/~1111466/236373675/1111463</fs:itemid></item><item><title>RMAN未使用catalog备份丢失控制文件的恢复方法</title><link>http://blog.csdn.net/47522341/archive/2009/02/16/3896943.aspx</link><wfw:comment>http://blog.csdn.net/47522341/comments/3896943.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/47522341/comments/commentRss/3896943.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3896943</trackback:ping><description>&lt;br /&gt;情况描述&lt;br /&gt;客户报告数据库故障，新来的系统管理员误操作。删掉了一些文件。具体情况是：删掉了所有重要数据文件、所有控制文件。数据库原来是归档模式，用rman备份数据，而rman 使用控制文件。幸运的是，最后一次 rman full 备份是包括了控制文件在内。系统没有设定自动备份控制文件。现在状况是数据库无法启动。&lt;br /&gt;不用说，客户的备份方案不够完善，但是这时候再去说这些话责备用户有事后诸葛亮之嫌，&quot;用户是上帝，不要去得罪他&quot;。还有，客户有Full备份（虽然不是自动备份控制文件，这样无法用常规的恢复步骤来进行恢复）。这对我们来说是个绝对的好消息。&lt;br /&gt;下面我们通过一次模拟操作来演示这个问题的解决办法。&lt;br /&gt;背景知识&lt;br /&gt;在Oracle 816 以后的版本中,Oracle提供了一个包:DBMS_BACKUP_RESTORE.DBMS_BACKUP_RESTORE 包是由dbmsbkrs.sql 和 prvtbkrs.plb 这两个脚本创建的.catproc.sql 脚本运行后会调用这两个包.所以是每个数据库都有的这个包是Oracle服务器和操作系统&lt;img src =&quot;http://blog.csdn.net/47522341/aggbug/3896943.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/csdn.net/47522341/236373677/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/csdn.net/47522341/236373677/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 17 Feb 2009 01:06:00 +0800</pubDate><author>47522341</author><comments>http://blog.csdn.net/47522341/archive/2009/02/16/3896943.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/47522341/archive/2009/02/16/3896943.aspx</guid><dc:creator>47522341</dc:creator><fs:srclink>http://blog.csdn.net/47522341/archive/2009/02/16/3896943.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/47522341/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/47522341/~1111466/236373677/1111463</fs:itemid></item></channel></rss>