注册
初学达梦总结与oracle的区别
培训园地/ 文章详情 /

初学达梦总结与oracle的区别

小谢姐姐😘 2023/08/21 1769 1 0

达梦在近几年的发展越来越好,作为国产数据库的龙头,身边常听到有人评价达梦就是国产ORACLE,作为一个ORACLE也用过有些年的IT人员,我认为达梦语法上确实是和Oracle兼容比较友好,还是有一定差别的。以下我从初学者的几个角度浅谈达梦和oracle数据库特点:

关于体系架构

  • Oracle
    多进程结构,比如个核心后台进程(PMON、SMON、CKPT、DBWn、LGWR)。
  • 达梦数据库
    单进程多线程服务架构,如监听线程、工作线程、IO线程、调度线程、日志相关线程等所有的线程都集成到了dmserver进程中。
    image.png

关于状态的切换

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

结束符的使用

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

关于备份

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

监听程序

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

修改联机日志文件大小

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

用户模式上有较大区别

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

关于表

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

关于参数修改的格式

  • Oracle数据库
alter system set xxx scope=spfile/memory/both;
  • 达梦数据库
alter system set xxx spfile/memory/both;

查询实例状态和在线日志文件的语句

  • 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;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服