最近有时候看官方文档,感觉11g里面已经有了很多的变化,无论是使用还是安装上的细节上,11g似乎总是能够带给我更多的惊喜。而从以往的使用情况中感觉10g已经足够了,但是越多的使用11g,逐渐的改变了自己的固有思维,很多原来不好,不方便的操作习惯都得到了很大的改善。我就从10g和11g共有的一些细节之处来一窥两个版本中的差别。细节还是太多,我就扒出小部门。
大体会从下面几个部分进行对比和说明,有一些部分已经写了一些文章了,所以突然回顾一下会发现原来这些看似清汤寡水的文章里面还是有值得推敲的东西。
- RAC的安装
- DATAGUARD
- grid contro的安装
- 文档中的细微差别和改进
- create database语句在10g,11g的差别。
- 数据库软件静默安装的参数差别
- 数据库软件克隆安装的差别
- 控制文件备份的差别和改进
- EM 10g,11g的安装差别和共性
- 闪回区的空间管理
- 文档中的细微差别和改进
- create database语句在10g,11g的差别
RAC的安装
首先要说RAC的安装,第一个重大差别提到RAC除去大量新特性的原因,首先在安装上着实是更稳定了。我估计很多DBA对于10g环境的RAC安装都是心有余悸,因为确确实实碰到了太多的坑,
redhat官方认证版本是4,而那个时候大多数都是rhel5左右的系统,所以安装的时候总会碰到非常多的问题,如果没有专人指点,自己摸索安装着实是让人头疼无奈的一个过程。
自己安装的时候总是在安装clusterware完运行root.sh的时候一边盯着日志,一遍保佑一切安好,因为还需要修改root.sh里面的一个关于内核校验的变量。我记得包括在10g OCM考试中也会提供一个修复的脚本,所以考试的时候还是比较顺利的,但是个人安装的时候还是问题多多。 我之前的公司存在很严格的产品认证,对于RAC还是在11g之后才有了内部的产品认证,大量的应用才开始规划使用11g的RAC,我身边就听到不少的例子,很多DBA一听RAC感觉就有阴影,在11g里面着实这个问题好了很多,自己随便搭了套nfs的环境,一路也没碰到什么大的问题,哪些各路攻略也很少参考。说明这个部分着实还是给DBA带来了很大的便利。至于说性能稳定性这些,那自不必说,而且架构设计上也有了很大的变化,这个就不便于扩展了。
DATAGUARD
相信在10g的生产环境中,使用dataguard也是一种比较纠结的方式,如果一主多备的情况下,如果有一些应用需求要做一些报表查询,那么备库开启READ-ONLY状态,查完之后再设置为ONLINE继续接收归档,这个过程基本都是手工,如果确实是一个很重要的需求,可能会直接使用crontab来完成,但是毕竟这个过程还是不够方便,自己身边的一个例子,有个朋友在备库开启了READ-ONLY之后,结果可能是开发忘了还是自己忘了,最终备库一直在只读状态,归档通过RFS是接收过来了,但是时间一长,有些归档就给删除掉了,通过dg broker来做检查是看不出任何问题的,但是这个时候再设置为ONLINE,那就出大问题了。因为归档删除,MRP压根起不来。11g的active dataguard着实是对于DBA的一个福利。这种方式可以让我们的工作量大大减少,避免了这种反复沟通的情况,而且认为控制更容易出错。也是因为active dataguard,现在很多电信企业都在从存储复制中找到了另外一种更加廉价高效的方式。
grid contro的安装
grid control的安装,如果你是从10g的环境中过来,那么肯定是饱经风霜,因为这个的坑坑坎坎还是不少。毕竟相比于RAC,DATAGUARD使用率要低不少,安装中还是需要一些攻略的。
某一步如果忽略了,遗漏了,需要付出几倍的努力来挽回。花费的时间也很多。如果经历过OCM考试的更加经验深刻。
说了不少笼统的,也说几个细节的。
文档中的细微差别和改进
文档中的差别在10g,11g中真是很多,举个简单的小例子,create database的语句在10g的版本中还是存在语法的问题,文档中提到了默认表空间users但是语法是错误的,在11g里面就进行了改进,把这个语句补齐了,10g中默认的日志成员是1个,在11g中就是两个,更加标准。
create database语句在10g,11g的差别。
至于create database语句,如果直接用改好11g模板语句在10g中执行就会发现还是存在兼容性的差别,问题就在于11g中的blocksize的概念在10g中没有。
可以参考关于create database语句在10g,11g中的不同 http://blog.itpub.net/23718752/viewspace-1722979/
数据库软件静默安装的参数差别
至于静默安装的差别,还是很有意思的,因为静默安装运行的脚本runInstaller.sh中的参数选项 在10g中为responsefile在11g中为responseFile,可以参考10g,11g中数据库静默安装中的细小差别 http://blog.itpub.net/23718752/viewspace-1813789/
数据库软件克隆安装的差别
至于克隆软件安装,两个版本中都有oui,clone的目录,但是使用的方法却大大不同,至于差别,就是这么规定的,用对方法即可。 可以参见 10g,11g中的数据库克隆安装 http://blog.itpub.net/23718752/viewspace-1750141/
控制文件备份的差别和改进
至于控制文件的自动备份,在10g,11g中都有这个特性,但是在细节上就进行了改进。因为在10g中着实碰到了各种各样的问题,觉得控制文件自动备份的生成频率还是太高,会有一些空间和资源的浪费,不是很必要,所以在11g里面还设置了一个隐含参数来控制自动备份的频率时长。
可以参见 11g中关于控制文件自动备份的改进 http://blog.itpub.net/23718752/viewspace-1765887/
EM 10g,11g的安装差别和共性
EM在10g,11g的安装上的差别真是有说不完的差别。 如果使用emca的命令去卸载,很多时候都会发现卸载的不够干净,这个时候就会有一些攻略了,所以自己在卸载11gEM的时候直接创新了攻略,因为10g版本的EM sysman中的数据字典对象大概只有近500个,在11g有1000多个。所以手工清理,删除的部分要多很多。
可以参见 曲折的10g,11g中EM的安装配置过程 http://blog.itpub.net/23718752/viewspace-1516624/
但是今天在测试10g,11g的时候发现如果EM安装失败,还是可以直接使用 emca -config dbcontrol db -repos recreate 这一个命令来完成卸载安装,自己在11g中测试通过,刚在10g环境下竟然也可以,而且速度还很快,这个就算是对于EM处理的独门秘籍把。
闪回区的空间管理
闪回区的空间管理还是有很大的改进,在11g中有了80%这么一个阀值来自动管理,如果超出了还可以自动删除一些过期的归档。具体参考 数据库日志中一条"异常"信息所包含的细节 http://blog.itpub.net/23718752/viewspace-1761853/