ITPub博客

首页 > 数据库 > 国内数据库 > 达梦与Oracle数据库各有千秋

达梦与Oracle数据库各有千秋

原创 国内数据库 作者:tangwuqiao 时间:2022-04-24 14:49:43 0 删除 编辑

      作为国产数据库的领头军,达梦数据库会逐渐替换Oracle数据库,引领国产数据库再上一个台阶,但国产数据库的性能相比Oracle略有一定差距,我们作为IT行业数据库领域工作人员,更应该为国产数据库的发展,惊险绵薄之力。以下我从几个角度阐述达梦和oracle数据库特点:

      1、数据库体系结构
Oracle数据库:多进程结构,大家比较熟悉的dbwr,lgwr,smon,pmon,ckpt等都是进程。
达梦数据库:单进程多线程包含监听线程、工作线程、IO线程、调度线程、日志相关线程等所有的线程都集成到了dmserver进程中。

      2、状态的切换
Oracle数据库:只能从mount状态启动到open状态,但不能从open状态直接切换到mount状态。
达梦数据库:可以在mount状态和open状态之间自由切换,还增加了一个suspend挂起状态。
suspend:只读状态,只能读,不能写。mount和open可以相互转换,suspend和open也可以相互转换。但mount和suspend不能相互转换。

     3、结束符的使用
oracle数据库:命令、SQL以及程序包都是以";"为结束符。
达梦数据库:SQL和命令使用";"结束,但是在执行程序包、创建模式等操作的时候要以"/"为结束符。

     4、关于备份
Oracle数据库:热备在RMAN中进行操作。
达梦数据库:dmrman的使用与RMAN很相似,但是只能做冷备,做热备的时候需要在数据库中进行备份操作。

     5、监听程序
Oracle数据库:有单独的监听程序,使用lsnrctl进程监听操作。
达梦数据库:没有了单独的监听程序,监听变成了线程dm_lsnr_thd集成到了dmserver的进程中。

     6、修改联机日志文件大小
Oracle数据库:需要添加新的日志文件进来,删除原来老的日志进行替换。
达梦数据库:可以直接对logfile的大小进行扩容。

     7、用户模式上有较大区别
Oracle数据库:用户和模式为一一对应关系,一个用户对应一个模式
达梦数据库:用户和模式是一对多的管理,一个用户可以拥有多个模式,一个模式仅能归属于一个用户。
当系统建立一个用户时,会自动生成一个对应的模式用户还可以建立其他模式。

     8、关于表
Oracle数据库:默认创建的是堆表。
达梦数据库:DM默认创建的是索引组织表。
索引组织表和堆表的区别:
索引组织表有且仅有一个聚簇索引键,表数据按照聚簇索引键排序(数据是有序的,插入有序),
rowid是逻辑rowid,占用存储空间,所以索引组织表比堆表占用较多空间。

     9、单个数据文件的大小
Oracle数据库:单个数据文件的大小最大为2^22-1个块,数据块是大小是8k,那么能创建的最大的数据文件大小是:2^22*8K=32G-1,单个数据文件的最小值在实验中创建的最小数据文件为81k;
达梦数据库:最大值为页大小的 2的31次方-1,如果页大小是8K,最大值为2^31*8K=16T-1,
最小值不能低于页大小的 4096倍,如果页大小是8K最小值,将不低于32M。

     10、关于参数修改的格式
Oracle数据库:alter system set xxx scope=spfile/memory/both;
达梦数据库:alter system set xxx spfile/memory/both;

     11、查询实例状态和在线日志文件的语句
Oracle数据库:
select status from v$instance;
select * from v$log;
select * from v$logfile;

达梦数据库:
select status$ from v$instance;
select * from v$rlog;
select * from v$rlogfile;

     以上仅为个人见解,供大家参考,有不对之处请大家指正,谢谢!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28793776/viewspace-2888458/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-03-14

  • 博文量
    23
  • 访问量
    910072