作为一个有3年多ORACLE数据库运维经验的DBA,对ORACLE 数据库也算是比较熟悉了。ORACLE数据库也确实不愧是老牌的数据库,各种功能,诊断信息、文档都很全面,性能也不错。
但是因为一些国际关系和国家安全性方面的考虑,去O肯定是势在必行了。
不过去O,也要讲究一个方法,如果有对以往ORACLE数据库的一些特性兼容比较好的数据库,那肯定是优先考虑。
达梦可以说就是这样一款数据库。
不论是在我看官方文档还是在进行DCA培训时,都能明显感觉到两者之间的相似性。这样不但便于系统的迁移去O,也能减少有ORACLE基础的DBA的学习成本。
这里我列一下学习过程中了解到的一些ORACLE和达梦的异同点,有利于大家进行对比学习。
当然,由于细节比较多,这里只列一下比较粗的方面的区别。内容不一定准确,大家发现有问题可以再提出。
另外,这里加一个不同点。oracle的spfile类型的参数文件中的参数都是直接在数据库中修改,虽然有些需要重启生效。但与之对比,达梦有一些参数是需要手动去文件中修改的。也就是说相比ORACLE,参数只分为动态和静态不同,达梦还有一个手动参数。
进程方面差异较大:
但oracle的相关进程达梦基本也有对应作用的线程。
不过,我注意到一点,相比ORACLE比较常用的专有连接的一个会话连接对应一个进程的模式。达梦更类似ORACLE的共享连接的模式。工作线程是共享的,任务先由任务进程放到队列,再由工作线程进行处理。
另外,oralce需要单独配置监听进程,而达梦数据库则不需要。这也是进程结构差异导致
二者有类似的内存池种类、包括sql缓冲区、日志缓冲区、数据缓冲区、字典缓冲区等等。
由于ORACLE 是多进程结构,所以分成了SGA(全局缓冲区)和PGA(程序缓冲区),其中PGA是进程单独有的,排序和hash等会放在pga。
而达梦由于是单进程,所以没有了PGA,所以看起来每个区都是独立的。但可以类比为多了hash、排序区的ORACLE SGA。
ORACLE 各区内存不足时会进行自动调节SGA内各区大小。达梦则是向共享内存池申请内存。
虽然二者都提供了安装的图形化界面,但相比与ORACLE的安装,达梦的安装更为简单,快速。
总体来说,达梦在设计之初应该就是为了对标ORACLE,替代ORACLE。所以在很多方面都比较类似,而且在SQL或者对象类型上的兼容度也都很高。对于去O来说,是一个比较好的选择。
文章
阅读量
获赞