长命百岁和死而复生

长命百岁和死而复生-书评《Oracle备份与恢复培训教程》

Author:Kamus
Mail:
kamus@itpub.net
Date:2004-4

我们都曾经梦想有一天会长命百岁,就算不能长命百岁,那么再不济,也应该能死而复生,哪怕是少了点什么只要能活着,那就很好:)
可惜的是,在目前我们自己的生活还不能这样。

如果我们不能,那么就让我们的工作能吧,假设我们都是Oracle DBA,就让我们能够保证我们管理的数据库长命百岁,就算天灾人祸的也能死而复生,阿门。。。

如果大家常去AskTOM站点,那么应该可以看到Tom在推荐读Oracle的文档时候,有一个建议,第一篇应该读的Concept,然后是Administrator Guide,然后是Backup and Recovery,再之后是Backup and Recovery,最后还是Backup and Recovery。由此可见备份和恢复对于一个数据库管理员是有多么重要的地位,也许数次成功的优化能够让你获得鹊起的名声和满足感,但是一次不成功的备份导致的无法恢复就很可能让你一次坠入地狱,数据库不能死而复生的结果,往往就是你也无法生还。

其实Oracle的联机文档是最可信赖,最应该去常常阅读的文档,但是对于一些很好的书籍,我们也应该有选择得去阅读,有些书籍提纲挈领,有些书籍经验之谈,有些书籍例证精确,往往还会收到比阅读Oracle联机文档更好得成效。

这里推荐一下Oracle Press的101系列。
101的来历不是很明了,感觉上是指详尽或者出彩的意思。不过总是让我想到一千零一夜。想来书名也是吸引眼球的一个好办法。
言规正传,Oracle Press的101系列国内已经有翻译出版的我见过的是4本,分别是Oracle Backup & Recovery 101,Oracle DBA 101,Oracle Performance Tuning 101,Oracle Enterprise Manager 101,自己买过两本,调优和备份,从eygle那个又借了DBA的那本,至于EM的那本,说实话倒不是特感兴趣,因为EM这个东东平时用的也极少。
所以决定这个系列就前面的三本书来谈谈自己看书的感受,同时也向大家推荐一下。

感觉101系列跟Oreily的Nut In Shell系列一样,颇有些品牌含义在内了,不过也确实如此,这个系列的书都还不错。

今天先聊一下Oracle备份与恢复培训教程这本书,英文原名是Oracle Backup & Recovery 101。
先聊这本书的原因是正在手边上放着,刚读完没多久的第一章也是印象极为深刻,直接就说说自己的感觉了,也不用回忆太多,要知道我这人也是属于记忆力不是很好的那种。

其实说句老实话,自己也还没有完整且系统地看过Oracle联机文档中的备份恢复部分,只是碰到问题会去查一下。
但是这本书倒是现在正在看的,一是中文翻译得不错,几乎没有什么生僻的外行话,二是简明扼要却又不失指导意义。

本书的脉络很清楚。
第一个部分是备份与恢复的概念,第二部分是用户管理的备份和恢复,也就是我们平常说的手工备份和恢复,第三部分是服务管理器的备份和恢复,也就是平常我们说的RMAN。
所有在第二部分涉及到的场景,包括关闭数据库的备份恢复,打开数据库的备份恢复,复制数据库,表空间时间点恢复,Standby数据库搭建的这些章节均在第三张通过RMAN重新实现了一遍。这样的排列对于我们理解备份和恢复的本质以及RMAN的使用方法都有个比较,同时书中提供的很多脚本都是具有实际意义的,完全可以在现有的产品库中使用。脚本都可以去本书的站点上下载,全部是free的。

最值的一题的是本书的第一章,作者极富想象力地将Oracle比喻成一个大家庭,这个大家庭中有很多成员,他们有一个自己的房子,每天干着一些事情,而每一个部分都或对应了Oracle的一个后台进程,或对应了Oracle的一个基本概念。这一章节读下来,简直可以用有趣这个词来形容,在你的脑子里面是一个忙忙碌碌有条不紊的家庭,这个家庭里的每个人干着自己份内的事情,哦,想一想这种情形,这就是Oracle,当你完全迷恋上这一家人的时候,你就已经陷入Oracle中而无法自拔。

Matrix中的那个神神叨叨的黑女人名字叫Oracle,说句实话,我挺烦她的。
我们不能控制这个世界,但是我们可以控制眼前实实在在存在的这个Oracle,备份是我们的手段,恢复是我们的战争,金戈铁马,你需要一副好的盔甲,仔细地去读一下这本书吧,这才是保护神,这才是长命百岁的灵丹,死而复生的妙药。

2004年4月
Kamus

《Oracle备份与恢复培训教程》/Kenny Smith, Stephan Haisley著/周琦等译/机械工业出版社

阅读更多

Come on,everybody!!!我被这个【类模板】搞晕了头,高手急救!!!回帖的长命百岁,只看不回的你看着办~~~~~~~~~~~~~~~~~~

09-15

代码见下。问题:rnrn☆1. 首先我的程序编译都通不过,希望大侠帮我看看哪些地方写错了?我这是从清华课本上原本抄下来的 代码。其次我纳闷的是从头到尾没看到它用到gpa那个东西,搞什么啊?!rnrn★2.程序中构造函数的实现那段为什么写成“Store::Store():haveValue(0)”这样??一个冒号的那个不是用在组合类里的吗?!怎么可以用到这里?如果这里是错误的印刷,请问正确的写法怎么写?其次havaValue是int型,怎么写成跟函数一样的带括弧的?rnrn★3.在main之前,只看到 “template ”,那就是说声明的Store类对象中的必须是一个类类型吗?怎么main中一下有了各种其他的类型??(这个问题可以参见另一个帖子http://community.csdn.net/Expert/topic/3373/3373061.xml?temp=.3973047 回答在那边也可以)rnrn(ps:打☆的是一般问题,打★的是关键问题,即本人很想知道的)rnrn--------------rn#include rn#include rnrnusing namespace std; /*不知道前三行有没有什么地方写的不伦不类或者不规范的,请指点*/rnrnstruct Studentrnrn int id;rn float gpa;rn;rnrntemplate rnclass Storernrn public:rn Store();rn T GetElem();rn void PutElem(T x);rn private:rn T item;rn int havaValue;rn;rnrntemplate rnStore::Store():haveValue(0) /*此处极为纳闷*/rnrnrntemplate rnT Store::GetElem()rnrn if ( havaValue == 0 )rn rn cout<<"No item present!"<rnvoid Store::PutElem(T x)rnrn haveValue++;rn item = x;rnrnrnint main()rnrn Student g = 1000,23;rn StoreS1,S2;rn StoreS3;rn StoreD;rn rn S1.PutElem(3);rn S2.PutElem(-7);rn cout<::Store()':rnC:/Documents and Settings/Administrator/My Documents/DevCpp/类模板.cpp:25: classrn `Store' does not have any field named `haveValue'rnrnC:/Documents and Settings/Administrator/My Documents/DevCpp/类模板.cpp: In rn member function `void Store::PutElem(T) [with T = int]':rnC:/Documents and Settings/Administrator/My Documents/DevCpp/类模板.cpp:53: instantiated from herernC:/Documents and Settings/Administrator/My Documents/DevCpp/类模板.cpp:42: `rnrn haveValue' undeclared (first use this function)rnC:/Documents and Settings/Administrator/My Documents/DevCpp/类模板.cpp:42: (Eachrn undeclared identifier is reported only once for each function it appears rn in.)rnrn执行结束rn

没有更多推荐了,返回首页