达梦数据库使用详解

Posted QQ-458510729

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了达梦数据库使用详解相关的知识,希望对你有一定的参考价值。

一、简介

    达梦数据库是一款自主研发的大型通用关系型数据库,融合了分布式、弹性计算与云计算的优势,高度兼容国外主流数据库,可以实现系统的低成本、快速移植,提供高安全、高可靠、灵活易用的全国产关系数据库服务。自主研发并吸取了国内外数据库的优势,达梦数据库的优势是显而易见的:

1、安全可靠

基于持续化改进的安全措施,提供丰富的安全策略选择,保障数据与业务服务的安全可靠。

2、运维便捷

提供可视化的基础运维和集中式运维管理工具、SQL语法检查及输入助手等增强运维功能,免去用户运维烦恼。

3、赋能信创

达梦数据库是具有完全自主知识产权的国产数据库,顺应信创产业发展的趋势和潮流,为数据库信创建设赋能。

4、赋能信创

支持广泛的、与多种数据库语法兼容的SQL使用方法。开发人员无需学习不同的SQL编写方式,就能完成应用系统的迁移和开发。

二、达梦数据库的安装

达梦数据库提供了图形化命令行、静默安装等安装方式,接下来介绍命令行安装方式。

1、规划安装用户和用户组: 不推荐使用 root 安装,规划单独的用户安装。

[root@KylinDCA03 opt]# groupadd dinstall
[root@KylinDCA03 opt]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@KylinDCA03 opt]# passwd dmdba
更改用户 dmdba 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。


2、规划安装目录: 创建安装目录/dm8,并修改安装目录的所属组给 dmdba 用户和该用户所属组

[root@KylinDCA03 opt]# mkdir /dm8
[root@KylinDCA03 opt]# ls -ld /dm8
drwxr-xr-x 2 root root 6 12 月 20 18:50 /dm8
[root@KylinDCA03 opt]# chown dmdba:dinstall /dm8
[root@KylinDCA03 opt]# ls -ld /dm8
drwxr-xr-x 2 dmdba dinstall 6 12 月 20 18:50 /dm8

3、挂载 iso 镜像文件:

[root@KylinDCA03 opt]# mkdir /mnt/dm
[root@KylinDCA03 opt]# mount /opt/dm8_20210818_x86_rh6_64_ent_8.4.2.18_pack14.iso 
/mnt/dm
mount: /mnt/dm: WARNING: source write-protected, mounted read-only.
[root@KylinDCA03 opt]# su - dmdba
[dmdba@KylinDCA03 ~]$ cd /mnt/dm
[dmdba@KylinDCA03 dm]$ ll
总用量 739440
-r-xr-xr-x 1 root root 2784248 8 月 23 14:36 'DM8 Install.pdf'
-r-xr-xr-x 1 root root 754402133 8 月 23 14:40 DMInstall.bin

4、安装命令

执行 DMInstall.bin -i 命令行方式安装 DM 数据库

[dmdba@KylinDCA03 dm]$ ./DMInstall.bin -i

请选择安装语言(C/c:中文 E/e:英文) [C/c]:

解压安装程序.......... 欢迎使用达梦数据库安装程序

是否输入 Key 文件路径? (Y/y:是 N/n:否) [Y/y]:n

是否设置时区? (Y/y:是 N/n:否) [Y/y]: 设置时区

安装类型: 1 典型安装 2 服务器 3 客户端 4 自定义 请选择安装类型的数字序号 [1 典型安装]: 所需空间: 1178M

请选择安装目录 [/home/dmdba/dmdbms]:/dm8 目录(/dm8)下不为空,请选择其他目录。 请选择安装目录 [/home/dmdba/dmdbms]:/dm8 可用空间: 14G 是否确认安装路径(/dm8)? (Y/y:是 N/n:否) [Y/y]:y

安装前小结 安装位置: /dm8 所需空间: 1178M 可用空间: 14G 版本信息: 有效日期: 安装类型: 典型安装 是否确认安装? (Y/y:是 N/n:否):y

请以 root 系统用户执行命令: /dm8/script/root/root_installer.sh 安装结束

5、启动服务

使用 root 用户执行脚本

[root@KylinDCA03 ~]# /dm8/script/root/root_installer.sh
移动 /dm8/bin/dm_svc.conf 到/etc 目录
修改服务器权限
创建 DmAPService 服务
Created symlink /etc/systemd/system/multi-user.target.wants/DmAPService.service →
/usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动 DmAPService 服务

三、数据库的管理、增删改查

1、连接数据库

[dmdba@KylinDCA03 ~]$ cd /dm8/bin
[dmdba@KylinDCA03 bin]$ ./disql sysdba/Dameng123:5236
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.829(ms)
disql V8
SQL> select name from V$database;
行号 NAME
---------- ----
1 DM
已用时间: 2.913(毫秒). 执行号:51600.
SQL> select instance_name from v$instance;
行号 INSTANCE_NAME
---------- -------------
1 DMSERVER
已用时间: 0.434(毫秒). 执行号:51601.
SQL> exit
[dmdba@KylinDCA03 bin]$ ./disql sysdba/Dameng123:5238
服务器[LOCALHOST:5238]:处于普通打开状态
登录使用时间 : 12.397(ms)
disql V8
SQL> select name from V$database;
行号 NAME 
---------- ------
1 DMTEST
已用时间: 8.418(毫秒). 执行号:50600.
SQL> select instance_name from v$instance;
行号 INSTANCE_NAME
---------- -------------
1 DMTESTSVR
已用时间: 0.563(毫秒). 执行号:50601.
SQL>

2、网络配置

网络配置助手实际写的是 dm_svc.conf 文件,也可以直接手工编辑该文件。
[dmdba@KylinDCA03 tool]$ cat /etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(cn)
DM=(127.0.0.1:5236)
DMTEST=(127.0.0.1:5238)

3、增删改查

DML(Data Mannipulation Language)数据操纵语言: 查询、操纵数据表资料行,包含 SELECT、INSERT、UPDATE、DELETE,MERGE。

默认情况下,DML 不自动提交,需要手工提交(commit)和回滚(rollback);对数据的操作 会产生 REDO 和 UNDO;

DL(Data Definition Language)数据定义语言: 建立、修改、删除数据库中数据表对象,包含 CREATE、ALTER、DROP、TRUNCATE、 COMMENT。默认情况下,DDL 自动提交。

DCL(Data Control Language)数据控制语言: 用于执行权限授予与收回操作,包含 GRANT、REVOKE。

TCL(Transactional Control Language)事物控制语言: 维护数据的一致性,包含 COMMIT、ROLLBACK、SAVEPOINT。

DELETE 和 TRUNCATE 的区别:

DELETE:DML 语言,产生 redo 和 undo,删除大量数据会很慢;可以带 where 条件,支持 回滚,delete 的数据支持闪回查询、不立即释放空间(DM 中系统定时自动清理回滚页,时 长由参数 undo_retention 指定)。

truncate:DDL 语句,不产生 redo 和 undo,只能删除整张表的数据,且立即释放空间, 不支持回滚,不支持 where 条件,truncate 表很快(大表也依然很快)。TRUNCATE 可以降 低表的水位线。

SELECT:查询列,聚合函数、distinct 去重 FROM:查询的表 WHERE:查询条件 GROUP by:分组列 Having:聚合的过滤条件(配合 group by 使用) OREDER by :排序,默认 asc, 倒序排 desc , NULL 默认排在最前面( 由 参 数 ORDER_BY_NULLS_FLAG,oracle 默认排在最后面) DISTINCT 只去重,不排序。 UNION 只去重,不排序。

四、达梦8整体架构

四、springboot整合达梦数据库

1、导入依赖

        <dependency>
            <groupId>com.dm</groupId>
            <artifactId>jdbc</artifactId>
            <scope>system</scope>
            <version>1</version>                   <systemPath>$project.basedir/src/main/resources/lib/DmJdbcDriver18.jar</systemPath>
        </dependency>
<dependency>
            <groupId>com.dm</groupId>
            <artifactId>hibernate5</artifactId>
            <version>1</version>
            <scope>system</scope>
            <systemPath>$project.basedir/src/main/resources/lib/DmDialect-for-hibernate5.3.jar</systemPath>
        </dependency>
<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.0</version>
        </dependency>

 2、配置文件

spring:
  datasource:
    driver-class-name: dm.jdbc.driver.DmDriver
    url: jdbc:dm://192.168.16.32:5236
    username: SYSDBA
    password: SYSDBA

3、mapper

package com.example.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.model.UserModel;

/**
 * @author :lzz
 * @BelongsProject: com.example.demo.mapper
 * @date :Created in 2020/11/5
 * @description :
 * @modified By:
 */
public interface UserMapper extends BaseMapper<UserModel> 

Linux平台达梦数据库V7之dminit工具使用详解

一 前言

系统管理员可以利用 dminit 工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感、以及是否使用 UNICODE 等,创建出满足用户需要的数据库。该工具位于安装目录的/bin 目录下。

二 dminit入门

2.1 启动dminit

dminit 工具需要从命令行启动。找到 dminit 所在安装目录/bin,输入 dminit 和参数后回车。
语法如下:
dminit KEYWORD=value { KEYWORD=value }
KEYWORD :dminit 参数关键字。多个参数之间排列顺序无影响,参数之间使用空格间隔。value:参数取值。
说明:dminit 如果没有带参数,系统会引导用户 进行 设置。参数、等号和值之间不能有空格,例如 PAGE_SIZE=16。HELP 参数的后面不用添加 “= ”
例如,初始化一个数据库,放在/home/test/dmdbms 目录下,数据页 PAGE_SIZE 大小为16K。
./dminit PATH=/home/test/dmdbms PAGE_SIZE=16
如果创建成功,则屏幕显示如下:
initdb V7.1.5.22-Build(2015.11.17-62910trunc)
db version: 0x70009
createdm database succe$$. 2015-12-21 15:46:27
此时在/home/test/dmdbms 目录下会出现一个 DAMENG 文件夹,内容包含初始数据库DAMENG 的相关文件和 DM 数据库启动所必须的配置文件 dm.ini。

2.2 查看dminit参数

dminit 使用较为灵活,参数较多。用户可使用“dminit HELP”快速查看各参数。
[dmdba@dm3 ~]$ dminit help
initdb V7.6.0.171-Build(2019.07.02-109059)ENT
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2020-07-02
格式: ./dminit KEYWORD=value

例程: ./dminit     PATH=/public/dmdb/dmData PAGE_SIZE=16

关键字                     说明(默认值)
---------------------------------------------------------------------------
INI_FILE                   初始化文件dm.ini存放的路径
PATH                       初始数据库存放的路径
CTL_PATH                   控制文件路径
LOG_PATH                   日志文件路径
EXTENT_SIZE                数据文件使用的簇大小(16),可选值:16、32,单位:页
PAGE_SIZE                  数据页大小(8),可选值:4、8、16、32,单位:K
LOG_SIZE                   日志文件大小(256),单位为:M,范围为:64M ~ 2G
CASE_SENSITIVE             大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG       字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE              权限管理模式(0),可选值:0[TRADITION],1[BMJ]
LENGTH_IN_CHAR             VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD                 设置SYSDBA密码(SYSDBA)
SYSAUDITOR_PWD             设置SYSAUDITOR密码(SYSAUDITOR)
DB_NAME                    数据库名(DAMENG)
INSTANCE_NAME              实例名(DMSERVER)
PORT_NUM                   监听端口号(5236)
TIME_ZONE                  设置时区(+08:00)
PAGE_CHECK                 页检查模式(0),可选值:0/1/2
EXTERNAL_CIPHER_NAME       设置默认加密算法
EXTERNAL_HASH_NAME         设置默认HASH算法
EXTERNAL_CRYPTO_NAME       设置根密钥加密引擎
RLOG_ENC_FLAG              设置日志文件是否加密(N),可选值:Y/N,1/0
USBKEY_PIN                 设置USBKEY PIN
ENCRYPT_NAME               设置全库加密算法
BLANK_PAD_MODE             设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH         SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH           MAIN数据文件镜像
ROLL_MIRROR_PATH           回滚文件镜像路径
MAL_FLAG                   初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG                  初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG                   Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL                    初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE             是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH               是否使用改进的字符类型HASH算法(1)
DCP_MODE                   是否是DCP代理模式(0)
DCP_PORT_NUM               DCP代理模式下管理端口
ELOG_PATH                  指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM                ECS模式下AP协同工作的监听端口
HELP                       打印帮助信息

2.3 部分重要参数说明

2.3.1 INI_FILE

初始化文件 dm.ini 存放的路径,指定一个已经存在的 dm.ini 文件所在的绝对路径。作用是将现有 INI 文件,拷贝到新库,作为新库的 INI 文件直接使用。文件路径长度最大为 256个字符。可选参数。
如果不指定该参数,那么 dminit 工具会直接生成一个新的 dm.ini 文件。如果指定了该参数但指定的 INI 文件不存在,那么 dminit 工具会报错无效的 INI 文件,同时生成一个新的 dm.ini 文件。
例如,指定现有/home/test/dmdbms 库中 dm.ini,给新创建的/home/dest/dmdbms库使用。
./dminit INI_FILE=/home/test/dmdbms/DAMENG/dm.ini PATH=/home/dest/dmdbms

2.3.2 PATH

初始数据库存放的路径。默认路径为 dminit/dminit.exe 当前所在的工作目录。文件路径长度最大为 256 个字符。可选参数。

2.3.3 CTL_PATH

初始数据库控制文件的路径,默认值 Windows 下为 PATHDB_NAMEdm.ctl,Linux下为/PATH/DM_NAME/dm.ctl(PATH 和 DB_NAME 表示各自设置的值)。文件路径长度最大为 256 个字符。可选参数。

2.3.4 LOG_PATH

初始数据库日志文件的路径。默认值 Windows下为 PATHDB_NAMEDB_NAME01.log和 PATHDB_NAMEDB_NAME02.log,Linux 下为 PATH/DB_NAME/DB_NAME01.log 和PATH/DB_NAME/DB_NAME02.log(PATH 和 DB_NAME 表示各自设置的值)。文件路径长度最大为 256 个字符。日志文件路径个数不能超过 10 个。可选参数。
修改日志文件大小可以使用 LOG_SIZE 参数。
例如,创建一个数据库,包含两个日志文件 DATA01.log 和 DATA02.log。
./dminit PATH=/home/dest/dmdbms LOG_PATH=/home/dest/dmdbms/DATA01.log
LOG_PATH=/home/dest/dmdbms/DATA02.log

2.3.5 EXTENT_SIZE

数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值:16、32。单位:页数。缺省值 16。可选参数。

2.3.6 PAGE_SIZE

数据文件使用的页大小。取值:4、8、16、32,单位:K。默认值为 8。可选参数。选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降。

2.3.7 LOG_SIZE

重做日志文件大小。取值:64~2048 之间的整数,单位 M。默认值为 256。可选参数。
每个 DM 数据库实例至少有两个重做日志文件,循环使用,LOG_SIZE 设置每个重做日志文件的大小。
修改日志文件路径可以使用 LOG_PATH 参数。

2.3.8 CASE_SENSITIVE

标识符大小写敏感。当大小写敏感时,小写的标识符应用""括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,在标识符比较时也不能区分大小写。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。默认值为 Y。可选参数。

一些重要的参数就介绍到这里,其它参数可以参考官方文档或者自行查看帮助。

三 dminit使用

CONTROL参数是dminit工具的高级功能,用于初始化数据库时指定初始化配置文件。初始化配置文件是一个保存了各数据文件路径和大小设置、所有dminit工具的命令行参数设置等信息的文本,名称由用户自己选取,例如:dminit.ini 、abc.txt、dminit.ctl等。
dminit工具使用CONTROL参数,就不能再指定其他参数,CONTROL参数只能单独使用。
DM既支持初始化单机数据库,又支持初始化RAC集群的数据库。操作非常简单,只要在使用dminit工具创建数据库的时候,使用CONTROL参数指定初始化配置文件即可。
例如:初始化配置文件为dminit.ini。
./dminit CONTROL=/home/data/dminit.ini
初始化配置文件(本章统一命名为dminit.ini)内容如何书写,单机和RAC环境下略有不同,下面分别详细介绍。

3.1 初始化单机库

DM 支持初始化数据库到一个普通机器上或是一个共享存储上。本节以文件系统为例,初始化单机数据库。
涉及路径和文件大小的参数配置,详细参考官方文档。
例如,在文件系统上创建数据库。参数path、main、system、roll、ctl_path、log01、log02都指定了文件系统,单机配置文件(命名dminit.ini)书写如下:
[dmdba@dm3 dm7]$ cat dminit.ini
[semiter] --实例名使用control配置文件指定实例不能使用instance_name参数
db_name = semiter
path =/dm7/data
main = /dm7/data/semiter/main.dbf
main_size = 256
system = /dm7/data/semiter/system.dbf
system_size = 256
roll = /dm7/data/semiter/roll.dbf
roll_size = 256
ctl_path = /dm7/data/semiter/dm.ctl
log_path = /dm7/data/semiter/log01.log
log_path = /dm7/data/semiter/log02.log
log_size = 128
auto_overwrite = 2
初始化数据库
[dmdba@dm3 bin]$ ./dminit control=/dm7/dminit.ini
initdb V7.1.6.46-Build(2018.02.08-89107)ENT
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2020-06-05
log file path: /dm7/data/semiter/log01.log
log file path: /dm7/data/semiter/log02.log
write to dir [/dm7/data/semiter].
create dm database succe$$. 2020-05-22 22:36:10
注册数据库服务
[root@dm3 root]# ./dm_service_installer.sh -t dmserver -p semiter -i /dm7/data/semiter/dm.ini -m open
ln -s ‘/usr/lib/systemd/system/DmServicesemiter.service‘ ‘/etc/systemd/system/multi-user.target.wants/DmServicesemiter.service‘
Finished to create the service (DmServicesemiter)
[root@dm3 root]# systemctl start DmServicesemiter
[root@dm3 root]# ps -ef
grep dmserver
dmdba 31843 1 21 01:29 ? 00:00:05 /dm7/bin/dmserver /dm7/data/semiter/dm.ini –noconsole
root 31901 3225 0 01:30 pts/2 00:00:00 grep --color=auto dmserver
连接数据库
[dmdba@dm3 ~]$ disql SYSDBA/SYSDBA@10.13.13.140:5236
Server[10.13.13.140:5236]:mode is normal, state is open
login used time: 10.975(ms)
disql V7.1.6.46-Build(2018.02.08-89107)ENT
Connected to: DM 7.1.6.46
SQL> select * from v$version;
LINEID BANNER
1   DM Database Server x64 V7.1.6.46-Build(2018.02.08-89107)ENT  
2   2          DB Version: 0x7000a
used time: 3.827(ms). Execute id is 807.

3.2 初始化RAC数据库

DM RAC是一个单数据库、多实例的集群系统,数据库部署在共享存储上,供所有节点访问,具有高可用性、高性能、低成本等特性。DM支持在RAC环境下创建数据库。RAC的初始化库配置文件dminit.ini中涉及到的参数,是在单机dminit.ini基础上,增加了RAC节点信息。同时,把单机dminit.ini中node_instance参数去掉,log_size,log_path二个参数下放到每个RAC节点里。
准备dminit.ini 配置文件
在2个节点的/dm/dmdbms/data目录下创建 dminit.ini 配置文件,添加如下内容。 在2个节点都创建。
[dmdba@dmrac1 data]$ vi dminit.ini
db_name = rac
system_path = +DMDATA/data
system = +DMDATA/data/rac/system.dbf
system_size = 128
roll = +DMDATA/data/rac/roll.dbf
roll_size = 128
main = +DMDATA/data/rac/main.dbf
main_size = 128
ctl_path = +DMDATA/data/rac/dm.ctl
ctl_size = 8
log_size = 256
dcr_path = /dev/raw/raw1 #dcr 磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1
[RAC0] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /dm7/data/rac0_config
port_num = 5236
mal_host = 10.10.10.161
mal_port = 9340
log_path = +DMLOG/log/rac0_log01.log
log_path = +DMLOG/log/rac0_log02.log
[RAC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /dm7/data/rac1_config
port_num = 5236
mal_host = 10.10.10.162
mal_port = 9341
log_path = +DMLOG/log/rac1_log01.log
log_path = +DMLOG/log/rac1_log02.log
[dmdba@dmrac2 data]$ vi dminit.ini
db_name = rac
system_path = +DMDATA/data
system = +DMDATA/data/rac/system.dbf
system_size = 128
roll = +DMDATA/data/rac/roll.dbf
roll_size = 128
main = +DMDATA/data/rac/main.dbf
main_size = 128
ctl_path = +DMDATA/data/rac/dm.ctl
ctl_size = 8
log_size = 256
dcr_path = /dev/raw/raw1 #dcr 磁盘路径,目前不支持 asm,只能是裸设备
dcr_seqno = 0
auto_overwrite = 1
[RAC0] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /dm7/data/rac0_config
port_num = 5236
mal_host = 10.10.10.161
mal_port = 9340
log_path = +DMLOG/log/rac0_log01.log
log_path = +DMLOG/log/rac0_log02.log
[RAC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应
config_path = /dm7/data/rac1_config
port_num = 5236
mal_host = 10.10.10.162
mal_port = 9341
log_path = +DMLOG/log/rac1_log01.log
log_path = +DMLOG/log/rac1_log02.log
使用dminit初始化数据库
在任意节点启动 dminit 工具初始化数据库。dminit 执行完成后,会在 config_path 目录(/dm7/data/rac0_config 和/dm7/data/rac1_config)下生成配置文件 dm.ini 和 dmmal.ini。
[dmdba@dmrac1 data]$ dminit control=/dm7/data/dminit.ini
initdb V7.1.6.46-Build(2018.02.08-89107)ENT
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2020-05-08
log file path: +DMLOG/log/rac0_log01.log
log file path: +DMLOG/log/rac0_log02.log
log file path: +DMLOG/log/rac1_log01.log
log file path: +DMLOG/log/rac1_log02.log
write to dir [+DMDATA/data/rac].
create dm database succe$$. 2020-04-24 16:39:03
将节点一的配置文件复制到节点二:
[dmdba@dmrac1 data]$ scp -r rac1_config 10.13.13.162:pwd
The authenticity of host ‘10.13.13.162 (10.13.13.162)‘ can‘t be established.
RSA key fingerprint is 89:fc:3e:e3:2d:27:94:07:0e:6b:fc:c5:e8:89:44:1f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘10.13.13.162‘ (RSA) to the list of known hosts.
dmdba@10.13.13.162‘s pa$$word:
sqllog.ini 100% 479 0.5KB/s 00:00
dm.ini 100% 40KB 39.8KB/s 00:00
dmmal.ini 100% 204 0.2KB/s 00:00
[dmdba@dmrac1 data]$
启动数据库服务器
1、在2个节点分别注册DM 数据库服务:
节点一:
[root@dmrac1 init.d]# /dm7/script/root/dm_service_installer.sh -t dmserver -i /dm7/data/rac0_config/dm.ini -d /dm7/data/dmdcr.ini -p rac1
Move the service script file(/dm7/bin/DmServicerac1 to /etc/rc.d/init.d/DmServicerac1)
Finished to create the service (DmServicerac1)
节点二:
[root@dmrac2 ~]# /dm7/script/root/dm_service_installer.sh -t dmserver -i /dm7/data/rac1_config/dm.ini -d /dm7/data/dmdcr.ini -p rac2
Move the service script file(/dm7/bin/DmServicerac2 to /etc/rc.d/init.d/DmServicerac2)
Finished to create the service (DmServicerac2)
2、启动数据库
[root@dmrac1 init.d]# service DmServicerac1 start
Starting DmServicerac1: [ OK ]
[root@dmrac2 ~]# service DmServicerac2 start
Starting DmServicerac2: [ OK ]
手工启动命令如下,手工启动后窗口不能关闭,所以
./dmserver /dm7/data/rac0_config/dm.ini dcr_ini=/dm7/data/dmdcr.ini
./dmserver /dm7/data/rac1_config/dm.ini dcr_ini=/dm7/data/dmdcr.ini
连接数据库验证
1 配置服务名文件
[dmdba@dmrac1 ~]$ vi /etc/dm_svc.conf
TIME_ZONE=(480)
rac=(10.13.13.161:5236,10.13.13.162:5236)
SWITCH_TIME=(10000)
SWITCH_INTERVAL=(10)
TIME_ZONE=(480)
LANGUAGE=(en)
[dmdba@dmrac2 ~]$ vi /etc/dm_svc.conf
TIME_ZONE=(480)
rac=(10.13.13.161:5236,10.13.13.162:5236)
SWITCH_TIME=(10000)
SWITCH_INTERVAL=(10)
TIME_ZONE=(480)
LANGUAGE=(en)
2连接RAC集群
[dmdba@dmrac1 ~]$ disql SYSDBA/SYSDBA@rac
Server[10.13.13.161:5236]:mode is normal, state is open
login used time: 10.365(ms)
disql V7.1.6.46-Build(2018.02.08-89107)ENT
Connected to: DM 7.1.6.46
SQL> select instance_name from v$instance;
LINEID INSTANCE_NAME


1          RAC0
used time: 18.248(ms). Execute id is 807.
SQL> select * from v$rac_ep_info;
LINEID     EP_NAME EP_SEQNO    EP_GUID              EP_TIMESTAMP         EP_MODE EP_STATUS
---------- ------- ----------- -------------------- -------------------- ------- ---------
1          RAC0    0           2067076818           2067077298           MASTER  OK
2          RAC1    1           2067098084           2067098537           SLAVE   OK
used time: 2.741(ms). Execute id is 808.

以上是关于达梦数据库使用详解的主要内容,如果未能解决你的问题,请参考以下文章

达梦数据库探索-数据库实例文件详解

Linux平台达梦数据库V7之dminit工具使用详解

Linux平台达梦数据库V7之dminit工具使用详解

DM8达梦数据库体系结构详解

今晚直播丨SQL编译器详解,含SQL优化&达梦数据库体系结构介绍

达梦数据库适配问题