注册
建立DM8实例时修改实例的默认端口
培训园地/ 文章详情 /

建立DM8实例时修改实例的默认端口

Run_LeoCat 2024/12/05 392 0 0

总的来说,DM数据库在安装还是比较轻量的,复杂度介于Oracle和MySQL之间——比Oracle的安装简单(当然,获得图形界面还是一样的步骤),但是并不像MySQL或者PGSQL那样可以直接yum install直接完成(话说,为什么不能提供Yum源直接安装完成呢?)。然后再创建实例部分,与Oracle的DBCA真的非常的像。不过呢,在实际创建实例的时候,图形界面还是明显慢于命令行的。而且,DM创建实例的命令行,和Oracle的DBCA也不一样,使用的是dminit命令,使用这个命令,在提供少量的参数,就能快速的获得一个可以启动运行的DM实例(当然,如果要订制很多参数,可能dbca就会更有优势了吧,因为操作直观,而dminit可能就需要更多的命令行参数,或者是参数文件了吧)。下面来讨论的问题,就是如何在使用dminit的时候,修改实例端口。
之所以会有这样的诉求,其实是因为有时候需要在一个机器上面安装两个数据库实例,无论哪种数据库,都会有这样的诉求。而这个时候,能够在初始化实例的时候,方便的修改端口号,就会非常的有帮助。我们一般dminit建立实例的时候,可能直接就默认端口了,过程如下:

[dmdba@Kylin02 bin]$ ./dminit path=/dm8/data DB_NAME=DM02 INSTANCE_NAME=DMSVR02 PAGE_SIZE=16 EXTENT_SIZE=32 LOG_SIZE=500 CASE_SENSITIVE=Y SYSDBA_PWD=DM01SYSDBA initdb V8 db version: 0x7000c file dm.key not found, use default license! License will expire on 2025-09-25 Normal of FAST Normal of DEFAULT Normal of RECYCLE Normal of KEEP Normal of ROLL log file path: /dm8/data/DM02/DM0201.log log file path: /dm8/data/DM02/DM0202.log write to dir [/dm8/data/DM02]. create dm database success. 2024-12-02 09:28:17 [dmdba@Kylin02 bin]$

这样建立完实例后,最后手动加入服务,使用systemctl命令停止和启动实例服务

[root@Kylin02 ~]# /dm8/script/root/dm_service_installer.sh -t dmserver -p DM02 -dm_ini /dm8/data/DM02/dm.ini Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDM02.service → /usr/lib/systemd/system/DmServiceDM02.service. 创建服务(DmServiceDM02)完成 [root@Kylin02 ~]# systemctl start DmServiceDM02.service [root@Kylin02 ~]# ps -ef | grep -i dmserver dmdba 3226 1 8 09:28 ? 00:00:05 /dm8/bin/dmserver path=/dm8/data/DM02/dm.ini -noconsole root 3355 2902 0 09:30 pts/1 00:00:00 grep -i dmserver [root@Kylin02 ~]#

但是,这样建立起来的实例,还是默认端口,

[dmdba@Kylin01 ~]$ netstat -anp | grep -i dm (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp6 0 0 :::4236 :::* LISTEN 1390/dmap tcp6 0 0 :::5236 :::* LISTEN 2441/dmserver [dmdba@Kylin01 ~]$

如果想指定其他端口来建立实例,需要这样操作。

./dminit PATH=/home/dmdba/dmdata5246/ PAGE_SIZE=16 EXTENT_SIZE=32 LOG_SIZE=5120 PORT_NUM=5246 CASE_SENSITIVE=Y CHARSET=0 DB_NAME=DM5246 INSTANCE_NAME=DM5246SVR

执行过程如下:

[dmdba@Kylin01 bin]$ ./dminit PATH=/home/dmdba/dmdata5246/ PAGE_SIZE=16 EXTENT_SIZE=32 LOG_SIZE=5120 PORT_NUM=5246 CASE_SENSITIVE=Y CHARSET=0 DB_NAME=DM5246 INSTANCE_NAME=DM5246SVR initdb V8 db version: 0x7000c file dm.key not found, use default license! License will expire on 2025-09-25 Normal of FAST Normal of DEFAULT Normal of RECYCLE Normal of KEEP Normal of ROLL log file path: /home/dmdba/dmdata5246/DM5246/DM524601.log log file path: /home/dmdba/dmdata5246/DM5246/DM524602.log write to dir [/home/dmdba/dmdata5246/DM5246]. create dm database success. 2024-12-03 21:10:27 [dmdba@Kylin01 bin]$

能够看到
首先,实例名和目录都不一样,
其次,指定了端口5246,
最后,加入服务的时候,也需要用不同的目录和文件,包括服务名也不一样,j具体命令如下

/dm8/script/root/dm_service_installer.sh -t dmserver -p DM5246 -dm_ini /home/dmdba/dmdata5246/DM5246/dm.ini

执行过程如下:

[root@Kylin01 ~]# /dm8/script/root/dm_service_installer.sh -t dmserver -p DM5246 -dm_ini /home/dmdba/dmdata5246/DM5246/dm.ini Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDM5246.service → /usr/lib/systemd/system/DmServiceDM5246.service. 创建服务(DmServiceDM5246)完成 [root@Kylin01 ~]#

启动,

[root@Kylin01 ~]# systemctl start DmServiceDM5246.service [root@Kylin01 ~]# systemctl status DmServiceDM5246.service ● DmServiceDM5246.service - DM Instance Service(DmServiceDM5246). Loaded: loaded (/usr/lib/systemd/system/DmServiceDM5246.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2024-12-03 21:16:28 CST; 8s ago Process: 4701 ExecStart=/dm8/bin/DmServiceDM5246 start (code=exited, status=0/SUCCESS) Main PID: 4724 (dmserver) Tasks: 114 Memory: 766.8M CGroup: /system.slice/DmServiceDM5246.service └─4724 /dm8/bin/dmserver path=/home/dmdba/dmdata5246/DM5246/dm.ini -noconsole 12月 03 21:16:13 Kylin01 systemd[1]: Starting DM Instance Service(DmServiceDM5246).... 12月 03 21:16:28 Kylin01 DmServiceDM5246[4701]: [37B blob data] 12月 03 21:16:28 Kylin01 systemd[1]: Started DM Instance Service(DmServiceDM5246).. [root@Kylin01 ~]#

再次查看端口

[root@Kylin01 ~]# netstat -anp | grep -i dm tcp6 0 0 :::4236 :::* LISTEN 1390/dmap tcp6 0 0 :::5236 :::* LISTEN 2441/dmserver tcp6 0 0 :::5246 :::* LISTEN 4724/dmserver unix 3 [ ] STREAM CONNECTED 48492 1346/lightdm unix 3 [ ] STREAM CONNECTED 48323 1346/lightdm unix 2 [ ] STREAM CONNECTED 48490 1346/lightdm unix 2 [ ] DGRAM 49247 1517/lightdm unix 3 [ ] STREAM CONNECTED 49231 1517/lightdm unix 3 [ ] STREAM CONNECTED 49167 1346/lightdm unix 2 [ ] STREAM CONNECTED 49241 1517/lightdm [root@Kylin01 ~]#

这样,就看到了第二个端口,同时,也在一个server上面启动了两个实例。

PS:这个命令,还为那些无法用图形界面安装的同学,提供了命令的方法。

-End

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服