达梦数据库是一款优秀的国产数据库,在设计时参考了oracle的架构。所以从oracle转到达梦相对比较容易。

本文简单列举一些达梦数据库和oracle之间的不同。以下以麒麟v10平台上的dm8版本为例。

1.软件安装:
 达梦数据库软件安装比oracle相对简单,大概步骤:
 创建安装目录,如:mkdir /opt/dm8
 与oracle类似,创建专用用户和组:groupadd dinstall;   useradd  -g dinstall -m -d /home/dmdba -s /bin/bash dmdba;
 修改安装目录归属:chown -R dmdba:dinstall /opt/dm8
 将安装介质iso挂载后,直接运行命令进行安装:./DMInstall.bin -i  安装过程中:
  是否输入 Key 文件路径? (Y/y:是 N/n:否) [Y/y]:n
  设置时区,选择21 中国标准时间,  根据需求选好安装类型,安装目录输入:/opt/dm8 
  最后,根据提示,【请以 root 系统用户执行命令:,此脚本将修改权限,创建软连接,创建并启动DmAPService】  
                                /dm8/script/root/root_installer.sh

2.创建实例:
类似于oracle,使用工具:/opt/dm8/tool/dbca.sh ,此为图形工具,根据指引进行实例创建即可。最后,按说明使用root用户执行3个命令即可。
 【说明:麒麟v10中设置图形环境:root用户查看DISPLAY的值,并执行 xhost +,在dmdba用户下设置相同的DISPLAY值即可。】

3.数据库文件组成:
类似于oracle,达梦数据库的数据库文件也由如下几部分组成:参数文件dm.ini, 控制文件,重做日志文件,数据文件,归档日志文件等。不同之处主要有:
-- 达梦开启归档模式后,归档配置信息单独保存在一个归档配置文件dmarch.ini中,而oracle是保存在参数文件中。
-- 参数文件dm.ini为文本格式,可以直接编辑;而oracle的参数文件有二进制和文本两种格式。
-- 查看参数信息,达梦没有show parameter ...的方法,而是需要查看系统动态视图【v$parameter】或【v$dm_ini】:
-- 达梦库在命令行修改参数,在指明修改范围时少了【scope=】,如:alter system set 'COMPATIBLE_MODE' = 2 spfile; 范围同样有三种选项:memory/spfile/both
-- 达梦数据库同样有mount/open启动步骤,不同之处在于,达梦没有nomount模式,且达梦库的mount/open两种模式间可直接进行转换,而oracle实例mount到open只能单向转换。
    达梦open模式的实例可以通过【alter database mount;】回退到mount模式,而不必重启实例,这个功能比较方便。
-- 除了使用命令直接修改参数,达梦还提供了函数来进行参数变更。
-- 达梦系统工具dmctlcvt.sh可以将控制文件在文本和二进制间进行转换。
-- 重做日志文件,在创建实例时,达梦默认创建2组redo日志,实例创建成功后,可以按需要增加或减少日志文件。
-- 归档日志文件清理,达梦使用函数SF_ARCHIVELOG_DELETE_BEFORE_LSN或SF_ARCHIVELOG_DELETE_BEFORE_TIME实现,而oracle在rman中处理。

4.表空间:
和oracle一样,达梦在逻辑上也使用表空间来管理存储。一个初始生成的实例默认包含5个表空间【SYSTEM/ROLL/TEMP/MAIN/HMAIN】:
-- ROLL类比于oracle的UNDOTBS1,为undo表空间,存放回滚段信息;
-- MAIN类比于oracle的USER表空间,为达梦创建的用户表空间;
-- HMAIN在oracle中没有对应,是达梦新添加的功能,为默认 HTS 表空间(HUGE 列存储表的默认表空间)。
-- TEMP即临时表空间。不同于oracle,达梦临时表空间的初始相关配置信息存储在参数文件中,比如临时数据文件目录,临时数据文件初始大小,数据库重启时会根据参数中的内容重置临时表空间。达梦同时提供了函数,对临时表空间进行在线收缩【SP_TRUNC_TS_FILE】。
-- 在使用命令创建新表空间时,达梦中不能指定数据文件大小的单位,否则会报错。达梦有默认单位MB。
在表空间数据文件增加,位置变动,重命名,自动扩展等方面的管理均与oracle类似。

5.用户及安全管理:
达梦数据库普通版本默认三权分立,安全版本四权分立;普通版本默认创建四个用户:
SYS:系统内置用户,不能直接登录。
SYSDBA:系统管理员,拥有除强制访问控制和数据库审计之外的几乎所有权限。
SYSAUDITOR:审计管理员,拥有数据库审计权限;
SYSSSO:安全管理员,拥有强制访问控制等权限;
SYSDBO: 安全版本才有此用户,安全操作员。

-- 在口令策略安全管理方面,不同于oracle使用profile机制来控制,达梦通过参数PWD_POLICY来实现密码复杂度控制。而密码历史,有效期,锁定次数,客户端ip白名单,登录时间窗口限制等直接对用户设定即可。

6.脚本执行,数据迁移和备份恢复
-- oracle中在sql命令行执行数据库脚本文件使用@符号引导,在达梦中则使用【start 】或【`】符号引导。
-- 物理备份达梦支持在线备份【在sql命令行使用backup 关键字进行】和脱机备份【在dmrman命令行使用backup关键字,须指定参数文件】。和oracle一样达梦可以使用归档日志和备份集来恢复数据库到指定的时间点。

7.数据库sql命令行管理数据库启停:
-- 达梦sql命令行工具为disql 【disql 用户名/密码:服务端口】,关闭实例可在sql命令行:shutdown immediate;  启动则不像oracle,不能在sql命令行直接启动实例。而是通过启动服务来启动实例。
  使用工具【 DmServiceDMSVR start】 或 【dmserver 参数文件 [mount] 】的方式启动。

以上,简单罗列了达梦相较于oracle的几处不同。可以看出从架构到sql再到日常管理,达梦尽量靠近oracle,对oracle管理员和开发者都非常友好。是数据库国产化的一个非常好的选择。当然,由于本人初次接触达梦数据库,不恰当之处,欢迎指正。谢谢!

资料来源:内容参考达梦培训讲义,及达梦相关技术手册。

国产数据库达梦与ORACLE的异同概述相关推荐

  1. 初学者必看篇之国产数据库---达梦

    初学者必看篇之国产数据库-达梦 需要了解的可以点进去看看----达梦官网 首先,写这篇文章的目的是为了把学到的新知识做个总结梳理,同时我也希望在学习的过程中把一些需要注意的细节和大家分享,正所谓,共同 ...

  2. 国产数据库达梦8新手入门

    前言 本人80后的老程序员,之前只使用过SqlServer和MySQL,最近特殊需要准备学习下国产数据达梦,作为入门学习,先尝试图形化安装的方式快速学习入门. 由于是自己学习,因此使用VMware虚拟 ...

  3. 78 岁华科教授逐梦 40 载,国产数据库达梦冲刺 IPO

    国产数据库或将迎来第一股. 整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 2022 年 6 月 29 日,武汉达梦数据库股份有限公司(以下简称"达梦数据")正式递交 ...

  4. 国产化服务器挂载硬盘,国产化笔记 - 国产数据库达梦在国产银河麒麟系统上的安装与使用...

    1.操作系统准备 本示例以虚拟机安装的形式演示,环境ok的或者在生产环境下跳过1直接看2. (1)在麒麟官网下载[银河麒麟]系统,目前已经提供了多平台试用版本(非企业版),官方地址: https:// ...

  5. 国产数据库达梦初学习

    前言:国产数据库的浪潮已经到来,作为计算机领域的一员有幸得参加了一款国产数据库的培训,对当前国产数据库得概况有了了解.而达梦作为国产数据库得代表之一,以完全自主开发为核心,以人性化易操作为主体.方便了 ...

  6. Linux环境部署国产数据库达梦

    DM数据库简介 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM. 2020年6月,根据摩天轮最新排行榜显示,DM数据库在国产数据库中排名在前三. Linux环境 ...

  7. (四)国产数据库-达梦DCA实操(创建用户、权限)

    1.创建用户 create user liaosongmu identified by lsm123456; //创建用户liaosongmu ,密码lsm123456 2.删除用户 drop use ...

  8. 国产数据库-达梦数据库一

    一.创建数据库及模式 -- 创建示例数据库 create tablespace BOOKSHOP datafile 'BOOKSHOP.dbf' size 150;-- 创建模式 create sch ...

  9. 国产数据库-达梦数据库安装

    cd /dm8/script/root [root@ecs-cd8c-0719363 root]# ./dm_service_installer.sh -t dmserver -p DMSERVER ...

最新文章

  1. 深度学习--TensorFlow(6)神经网络 -- 拟合线性函数非线性函数
  2. python读取csv文件的方法-CSV文件在Python中的几种处理方式
  3. Vagrant配置虚拟机
  4. 引号快捷键_高效率的Excel-Ctrl类快捷键二
  5. java filter函数的用法_5分钟掌握Python | Map、Reduce和Filter如何运用?
  6. 2005年2月24日(星期四) 中午,晴+煙 - Central Incubator。
  7. 转:android.support升级到androidx踩坑记录
  8. i18n调用自己参数_Spring Boot :I18N
  9. 8: springMVC ModelAndView 作用与功能解析
  10. Oracle中报ora-01033
  11. 关于SVN报错问题错误码E175002的解决方案
  12. pmp采购管理--合同类型
  13. SAP 打印自动导出PDF本地文件(自己做的例子)
  14. 举个栗子~Minitab 技巧(6):使用 T 检验 分析产品质量
  15. android 项目编译报错 符号: 类 shape 位置: 程序包 android.widget
  16. 中电信启动超大数据中心交换机招标
  17. c# 开发winform控件
  18. halocn标定找旋转中心_对摄像头进行标定
  19. Discuz中标签及相关帖子的设置使用
  20. does not have write access to 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET File

热门文章

  1. 机器学习:朴素贝叶斯【需要完善】
  2. 【阅读笔记】Partner-Assisted Learning for Few-Shot Image Classification
  3. 喜讯 | 美格智能与美格智联双双荣获2022年深圳市“专精特新”企业荣誉称号
  4. 结合盒子模型,优化明信片
  5. AutoCAD二次开发三种添加插件按钮的方法之二
  6. 简易计时器编写 V2.0
  7. Python tkinter界面编写,制作【法律条文查询工具】
  8. 什么是程序员的优秀品质?
  9. three - 4 - threejs提供的内置几何体
  10. stp实验心得_通信实验心得体会