达梦数据库是通过端口号来进行区分的,只要对应的数据文件存放在不同的目录,就可以在同一台服务器上创建多个同名的实例。
我们这里使用dminit来创建实例,并注册服务。
相关命令的详细说明可以参考我的博客:
DM7 达梦数据库 通过dminit 创建 并 注册 数据库实例
https://www.cndba.cn/dave/article/3580
我们这里直接看操作:
创建第一个dave实例: 注意这里的数据库名和实例名
[dmdba@www.cndba.cn ~]$ dminit PATH=/dm/dmdbms/data DB_NAME=cndba INSTANCE_NAME=dave
initdb V8
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2020-09-16
log file path: /dm/dmdbms/data/cndba/cndba01.log
log file path: /dm/dmdbms/data/cndba/cndba02.log
write to dir [/dm/dmdbms/data/cndba].
create dm database success. 2020-03-02 11:22:14
[dmdba@www.cndba.cn ~]$
创建第二个dave实例:注意这里的DB_NAME我们改成了USTC, 因为达梦的存储路径是根据DBNAME来的,只要DB_NAME 不同,就可以创建同名的实例,另外端口必须不同,否则可以创建成功,但无法启动实例。
[dmdba@www.cndba.cn ~]$ dminit PATH=/dm/dmdbms/data DB_NAME=ustc INSTANCE_NAME=dave PORT_NUM=5237
initdb V8
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2020-09-16
log file path: /dm/dmdbms/data/ustc/ustc01.log
log file path: /dm/dmdbms/data/ustc/ustc02.log
write to dir [/dm/dmdbms/data/ustc].
create dm database success. 2020-03-02 11:24:00
[dmdba@www.cndba.cn ~]$
创建第三个dave实例:注意这里路径发生了变化。
[dmdba@www.cndba.cn ~]$ mkdir /dm/dmdbms/data2
[dmdba@www.cndba.cn ~]$ dminit PATH=/dm/dmdbms/data2 DB_NAME=cndba INSTANCE_NAME=dave PORT_NUM=5239
initdb V8
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2020-09-16
log file path: /dm/dmdbms/data2/cndba/cndba01.log
log file path: /dm/dmdbms/data2/cndba/cndba02.log
write to dir [/dm/dmdbms/data2/cndba].
create dm database success. 2020-03-02 11:27:31
[dmdba@www.cndba.cn ~]$
下面我们开始注册服务,因为服务是根据dm.ini 来注册的,所以路径不同,就可以创建成功:
注册服务1:
[root@www.cndba.cn ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/data/cndba/dm.ini -p dave1
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedave1.service to /usr/lib/systemd/system/DmServicedave1.service.
创建服务(DmServicedave1)完成
[root@www.cndba.cn ~]#
注册服务2:
[root@www.cndba.cn ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/data/ustc/dm.ini -p dave2
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedave2.service to /usr/lib/systemd/system/DmServicedave2.service.
创建服务(DmServicedave2)完成
[root@www.cndba.cn ~]#
注册服务3:
[root@www.cndba.cn ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/data2/cndba/dm.ini -p dave3
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedave3.service to /usr/lib/systemd/system/DmServicedave3.service.
创建服务(DmServicedave3)完成
[root@www.cndba.cn ~]#
启动实例验证:
[root@www.cndba.cn ~]# systemctl start DmServicedave1
[root@www.cndba.cn ~]# systemctl start DmServicedave2
[root@www.cndba.cn ~]# systemctl start DmServicedave3
[root@www.cndba.cn ~]# ps -ef|grep dm.ini
dmdba 15595 1 14 11:31 ? 00:00:07 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/cndba/dm.ini -noconsole
dmdba 15688 1 19 11:31 ? 00:00:07 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/ustc/dm.ini -noconsole
dmdba 15783 1 26 11:31 ? 00:00:05 /dm/dmdbms/bin/dmserver /dm/dmdbms/data2/cndba/dm.ini -noconsole
root 15881 15147 0 11:32 pts/0 00:00:00 grep --color=auto dm.ini
[root@www.cndba.cn ~]#
[dmdba@www.cndba.cn ~]$ disql SYSDBA/SYSDBA@localhost:5236
服务器[localhost:5236]:处于普通打开状态
登录使用时间: 54.656(毫秒)
disql V8
SQL>
SQL> select name,instance_name from v$instance;
行号 NAME INSTANCE_NAME
---------- ---- -------------
1 DAVE DAVE
已用时间: 10.732(毫秒). 执行号:990.
SQL>
[dmdba@www.cndba.cn ~]$ disql SYSDBA/SYSDBA@localhost:5237
服务器[localhost:5237]:处于普通打开状态
登录使用时间: 9.986(毫秒)
disql V8
SQL> select name,instance_name from v$instance;
行号 NAME INSTANCE_NAME
---------- ---- -------------
1 DAVE DAVE
已用时间: 15.440(毫秒). 执行号:989.
SQL>
都可以正常连接。
其他参考参考我的博客:
DM7 达梦数据库 disql 工具连接 数据库的三种方式
https://www.cndba.cn/dave/article/3572
DM7 达梦数据库 修改 Disql 的显示语言
https://www.cndba.cn/dave/article/3573
linux 平台 达梦DM 7 数据库 启动与关闭
https://www.cndba.cn/dave/article/3566
版权声明:本文为博主原创文章,未经博主允许不得转载。