简介

适用于密集交易型场景的共享存储集群,采用单库多实例架构,基于共享存储上的多个节点对外提供服务,实现高吞吐量;自动接管故障节点,保证系统高可用性;对标 RAC 架构,是适合金融行业核心生产系统的解决方案

主机名 public ip private ip 实例名 端口 用途
dm180 192.168.137.180 192.168.137.180 dsc1 5236 数据库实例 dmrw1 监听端口
dm180 192.168.137.180 192.168.137.180 dsc1 9741 节点 1 DCR 检查数据库实例监听端口
dm180 192.168.137.180 192.168.137.180 dsc1 9341 节点 1 CSS 进程 TCP 连接端口
dm180 192.168.137.180 192.168.137.180 dsc1 9351 节点 1 ASM 进程 TCP 连接的端口
dm180 192.168.137.180 192.168.137.180 dsc1 7236 节点 1 ASM 的 MAL 系统 TCP 连接的端口
dm180 192.168.137.180 192.168.137.180 dsc1 9236 节点 1 数据库实例的 MAL 系统 TCP 连接的端口
dm181 192.168.137.181 192.168.137.181 dsc2 5236 数据库实例 dmrw2 监听端口
dm181 192.168.137.181 192.168.137.181 dsc2 9741 节点 2 DCR 检查数据库实例监听端口
dm181 192.168.137.181 192.168.137.181 dsc2 9341 节点 2 CSS 进程 TCP 连接端口
dm181 192.168.137.181 192.168.137.181 dsc2 9351 节点 2 ASM 进程 TCP 连接的端口
dm181 192.168.137.181 192.168.137.181 dsc2 7236 节点 2 ASM 的 MAL 系统 TCP 连接的端口
dm181 192.168.137.181 192.168.137.181 dsc2 9236 节点 2 数据库实例的 MAL 系统 TCP 连接的端口

1、裸设备共享存储配置

1.1 创建虚拟机共享磁盘

-- 切换目录

cd C:\Program Files (x86)\VMware\VMware Workstation

-- 创建虚拟机共享磁盘

vmware-vdiskmanager.exe -c -s 2000MB -a lsilogic -t 2 "E:\bingo\VM_ALL\rac_sharedisk\dcrdisk.vmdk"

vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 "E:\bingo\VM_ALL\rac_sharedisk\votedisk.vmdk"

vmware-vdiskmanager.exe -c -s 4000Mb -a lsilogic -t 2 "E:\bingo\VM_ALL\rac_sharedisk\redodisk.vmdk"

vmware-vdiskmanager.exe -c -s 4000Mb -a lsilogic -t 2 "E:\bingo\VM_ALL\rac_sharedisk\datadisk.vmdk"

-- 修改2个虚拟机的vmx配置文件,在虚拟机的安装目录下的.vmx文件最后加上以下信息(如果发现预留磁盘错误,请更改,如scsi1:7,修改为scsi1:8):

scsi0:1.present = "TRUE"

scsi0:1.fileName = "E:\bingo\VM_ALL\rac_sharedisk\dcrdisk.vmdk"

scsi0:1.mode = "independent-persistent"

scsi0:1.redo = ""

scsi0:2.present = "TRUE"

scsi0:2.fileName = "E:\bingo\VM_ALL\rac_sharedisk\votedisk.vmdk"

scsi0:2.mode = "independent-persistent"

scsi0:2.redo = ""

scsi0:3.present = "TRUE"

scsi0:3.fileName = "E:\bingo\VM_ALL\rac_sharedisk\redodisk.vmdk"

scsi0:3.mode = "independent-persistent"

scsi0:3.redo = ""

scsi0:4.present = "TRUE"

scsi0:4.fileName = "E:\bingo\VM_ALL\rac_sharedisk\datadisk.vmdk"

scsi0:4.mode = "independent-persistent"

scsi0:4.redo = ""

disk.EnableUUID="TRUE"

disk.locking="FALSE"

scsi0.shared="TRUE"

diskLib.dataCacheMaxSize="0"

diskLib.dataCacheMaxReadAheadSize="0"

diskLib.dataCacheMinReadAheadSize="0"

diskLib.dataCachePageSize="4096"

diskLib.maxUnsyncedWrites="0"

scsi0.sharedBus="VIRTUAL"

1.2 配置共享存储

注意:2个节点均需要执行

运行命令lsblk,确认磁盘名称

-- 切换目录

cd C:\Program Files (x86)\VMware\VMware Workstation

-- 创建虚拟机共享磁盘

vmware-vdiskmanager.exe -c -s 2000MB -a lsilogic -t 2 "E:\bingo\VM_ALL\rac_sharedisk\dcrdisk.vmdk"

vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 "E:\bingo\VM_ALL\rac_sharedisk\votedisk.vmdk"

vmware-vdiskmanager.exe -c -s 4000Mb -a lsilogic -t 2 "E:\bingo\VM_ALL\rac_sharedisk\redodisk.vmdk"

vmware-vdiskmanager.exe -c -s 4000Mb -a lsilogic -t 2 "E:\bingo\VM_ALL\rac_sharedisk\datadisk.vmdk"

-- 修改2个虚拟机的vmx配置文件,在虚拟机的安装目录下的.vmx文件最后加上以下信息(如果发现预留磁盘错误,请更改,如scsi1:7,修改为scsi1:8):

scsi0:1.present = "TRUE"

scsi0:1.fileName = "E:\bingo\VM_ALL\rac_sharedisk\dcrdisk.vmdk"

scsi0:1.mode = "independent-persistent"

scsi0:1.redo = ""

scsi0:2.present = "TRUE"

scsi0:2.fileName = "E:\bingo\VM_ALL\rac_sharedisk\votedisk.vmdk"

scsi0:2.mode = "independent-persistent"

scsi0:2.redo = ""

scsi0:3.present = "TRUE"

scsi0:3.fileName = "E:\bingo\VM_ALL\rac_sharedisk\redodisk.vmdk"

scsi0:3.mode = "independent-persistent"

scsi0:3.redo = ""

scsi0:4.present = "TRUE"

scsi0:4.fileName = "E:\bingo\VM_ALL\rac_sharedisk\datadisk.vmdk"

scsi0:4.mode = "independent-persistent"

scsi0:4.redo = ""

disk.EnableUUID="TRUE"

disk.locking="FALSE"

scsi0.shared="TRUE"

diskLib.dataCacheMaxSize="0"

diskLib.dataCacheMaxReadAheadSize="0"

diskLib.dataCacheMinReadAheadSize="0"

diskLib.dataCachePageSize="4096"

diskLib.maxUnsyncedWrites="0"

scsi0.sharedBus="VIRTUAL"

1.3 udev方式绑定裸设备

执行以下命令,新建 udev 规则文件:

vi /etc/udev/rules.d/90-raw.rules

添加以下内容:

ACTION=="add",KERNEL=="sdb",RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add",KERNEL=="sdc",RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add",KERNEL=="sdd",RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add",KERNEL=="sde",RUN+="/bin/raw /dev/raw/raw4 %N"

KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

-- 使udev配置生效

udevadm trigger --type=devices --action=change

-- 重启udev服务

systemctl restart systemd-udev-trigger.service

检查udev是否配置成功

2 安装DM8数据库

请参考资料

https://blog.csdn.net/sjj51812580/article/details/124377008

说明:如果使用静默安装,请取消数据库初始化以及启动服务等(修改配置项即可)

3、配置DMDSC

3.1 配置 DCR 初始化文件

1、创建配置文件存放目录

pssh -h /opt/list -i "mkdir -p /home/dmdba/config"

2、新建 dmdcr_cfg.ini 文件,节点 1 使用 dmdba 用户,执行以下命令

echo "DCR_N_GRP             = 3

DCR_VTD_PATH          = /dev/raw/raw2

DCR_OGUID             = 63635

[GRP]

DCR_GRP_TYPE         = CSS

DCR_GRP_NAME         = CSS

DCR_GRP_N_EP         = 2

DCR_GRP_DSKCHK_CNT   = 60

[CSS]

DCR_EP_NAME          = CSS1

DCR_EP_HOST          = 192.168.137.180

DCR_EP_PORT          = 9341

[CSS]

DCR_EP_NAME          = CSS2

DCR_EP_HOST          = 192.168.137.181

DCR_EP_PORT          = 9341

[GRP]

DCR_GRP_TYPE         = ASM

DCR_GRP_NAME         = ASM

DCR_GRP_N_EP         = 2

DCR_GRP_DSKCHK_CNT   = 60

[ASM]

DCR_EP_NAME          = ASM1

DCR_EP_SHM_KEY       = 93360

DCR_EP_SHM_SIZE      = 10

DCR_EP_HOST          = 192.168.137.180

DCR_EP_PORT          = 9351

DCR_EP_ASM_LOAD_PATH  = /dev/raw

[ASM]

DCR_EP_NAME          = ASM2

DCR_EP_SHM_KEY       = 93361

DCR_EP_SHM_SIZE      = 10

DCR_EP_HOST          = 192.168.137.181

DCR_EP_PORT          = 9351

DCR_EP_ASM_LOAD_PATH  = /dev/raw

[GRP]

DCR_GRP_TYPE         = DB

DCR_GRP_NAME         = DSC

DCR_GRP_N_EP         = 2

DCR_GRP_DSKCHK_CNT   = 60

[DSC]

DCR_EP_NAME         = DSC1

DCR_EP_SEQNO        = 0

DCR_EP_PORT         = 5236

DCR_CHECK_PORT      = 9741

[DSC]

DCR_EP_NAME         = DSC2

DCR_EP_SEQNO        = 1

DCR_EP_PORT         = 5236

DCR_CHECK_PORT      = 9741" > /home/dmdba/config/dmdcr_cfg.ini

3.2 创建 ASM 磁盘

使用 dmdba 用户,到 DM 数据库软件安装目录的 bin 目录执行以下命令(只需在一个节点执行)

/home/dmdba/dmdbms/bin/dmasmcmd SCRIPT_FILE=/home/dmdba/tmp/asm_init.txt

初始化配置文件内容(后期自动化脚本需要):

#asm script file

create dcrdisk '/dev/raw/raw1' 'dcr'

create votedisk '/dev/raw/raw2' 'vote'

create asmdisk '/dev/raw/raw3' 'LOG0'

create asmdisk '/dev/raw/raw4' 'DATA0'

init dcrdisk '/dev/raw/raw1' from '/home/dmdba/config/dmdcr_cfg.ini' identified by '123456'

init votedisk '/dev/raw/raw2' from '/home/dmdba/config/dmdcr_cfg.ini'

3.3 配置ASM的MAL系统配置文件

2 个节点都需要配置,且文件内容相同,执行以下命令

配置文件内容

echo "[MAL_INST1]

MAL_INST_NAME              = ASM1

MAL_HOST                   = 192.168.137.180

MAL_PORT                   = 7236

[MAL_INST2]

MAL_INST_NAME              = ASM2

MAL_HOST                   = 192.168.137.181

MAL_PORT                   = 7236" > /home/dmdba/config/dmasvrmal.ini

复制到所有主机

pscp -h /opt/list /home/dmdba/config/dmasvrmal.ini /home/dmdba/config/dmasvrmal.ini

3.4 配置 DCR 启动配置文件

节点1配置内容:

节点1配置内容:

echo "DMDCR_PATH     = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO   = 0

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr  dcr_ini=/home/dmdba/config/dmdcr.ini

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  path= /home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini" > /home/dmdba/config/dmdcr.ini

节点2配置内容:

echo "DMDCR_PATH     = /dev/raw/raw1

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO   = 1

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL =10

DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr  dcr_ini=/home/dmdba/config/dmdcr.ini

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  path= /home/dmdba/config/dsc2/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini" > /home/dmdba/config/dmdcr.ini

注意

两个节点的 DMDCR_SEQNO 参数不能相同要唯一,DMDCR_DB_STARTUP_CMD 中启动脚本路径和配置文件路径要配置准确。如果不配置 css 自动启动 asm 和 db 则需要配置 DMDCR_ASM_RESTART_INTERVAL 和DMDCR_DB_RESTART_INTERVAL 为 0

-- 查看配置内容

pssh -h /opt/list -i "cat /home/dmdba/config/dmdcr.ini"

4、初始化及启动集群

4.1 启动 DMCSS 服务

2 个节点启动 dmcss,dmdba 用户到数据库安装目录 bin 下执行以下命令

-- 启动服务,必须切换到bin目录,否则出现共享文件找不到的问题

pssh -h /opt/list -i --timeout 0 "cd /home/dmdba/dmdbms/bin && nohup ./dmcss dcr_ini=/home/dmdba/config/dmdcr.ini &"

-- 查看日志

tail -f /home/dmdba/dmdbms/log/dm_CSS1_202204.log

4.2 创建ASM磁盘组(磁盘服务已启动后)

./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini

在 ASM 提示符下创建 asm 磁盘组,创建 REDO 日志磁盘组,执行以下命令:

create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

创建数据文件磁盘组,执行以下命令:

create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

asm 磁盘组创建成功,执行以下命令:

-- 查看磁盘组列表

ASM>ls

+

disk groups total [4]......

NO.1         name: DMLOG

NO.2         name: DMDATA

NO.3         name: VOTE

NO.4         name: DCR

Used time: 0.892(ms).

ASM>

4.3 初始化数据库

配置 dminit 控制文件,节点 1 使用 dmdba 用户执行以下命令:

vi /home/dmdba/config/dminit.ini

添加以下内容:

db_name        = DSC

system_path       = +DMDATA/data

system        = +DMDATA/data/dsc/system.dbf

system_size       = 128

roll     = +DMDATA/data/dsc/roll.dbf

roll_size     = 128

main     = +DMDATA/data/dsc/main.dbf

main_size     = 128

ctl_path     = +DMDATA/data/dsc/dm.ctl

ctl_size     = 8

log_size     = 1024

dcr_path     = /dev/raw/raw1   #dcr 磁盘路径,目前不支持 asm,只能是裸设备

dcr_seqno     = 0

auto_overwrite   = 1

[DSC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path    = /home/dmdba/config/dsc1

port_num     = 5236

mal_host     = 192.168.137.180

mal_port     = 9236

log_path     = +DMLOG/log/DSC1_log01.log

log_path     = +DMLOG/log/DSC1_log02.log

[DSC2] #inst_name 跟 dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_NAME 对应

config_path    = /home/dmdba/config/dsc2

port_num     = 5236

mal_host     = 192.168.137.181

mal_port     = 9236

log_path     = +DMLOG/log/DSC2_log01.log

log_path     = +DMLOG/log/DSC2_log02.log

初始化实例,节点 1 使用 dmdba 用户执行以下命令:

./dminit control=/home/dmdba/config/dminit.ini

初始化完成后会在 init 控制文件配置的目录下生成 2 个实例的配置文件

将 dsc2 目录复制到节点 2 上对应的目录下。

scp -r dsc2 192.168.137.181:/home/dmdba/config/

4.4 注册服务

注册服务

以上启动方式为前台启动,仅用于验证集群配置过程。配置成功后需要注册为系统服务,方便启动和关闭集群,以及实现开机自动启动。

2 个节点都需要注册,使用 root 用户执行,到数据库安装目录的 script/root 目录。

节点 1 执行以下命令:

./dm_service_installer.sh -t dmcss -p css -dcr_ini /home/dmdba/config/dmdcr.ini

节点执行节点1相同命令即可

关闭前台启动的 css,以服务方式启动 css。

节点 1 执行以下命令:

systemctl start DmCSSServicecss1

节点 2 执行以下命令:

systemctl start DmCSSServicecss2

验证集群状态

配置监视器查看

任意节点新建监视器配置文件,执行以下命令:

vi /home/dmdba/config/dmcssm.ini

添加以下内容:

#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致

CSSM_OGUID = 63635

#配置所有 CSS 的连接信息,

#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致

CSSM_CSS_IP = 192.168.137.180:9341

CSSM_CSS_IP = 192.168.137.181:9341

CSSM_LOG_PATH =/home/dmdba/dmdbms/log #监视器日志文件存放路径

CSSM_LOG_FILE_SIZE = 1024 #每个日志文件最大 1024 MB

CSSM_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

启动监视器,dmdba 用户执行,到数据库软件安装目录 bin 下执行以下命令:

./dmcssm ini_path=/home/dmdba/config/dmcssm.ini

输入 show 命令,查看 css、asm 和 db 的状态。

以 db 为例,inst_status 字段为 OPEN,vtd_status 字段为 WORKING,active 字段为 TRUE 说明 db 服务正常。

4.5 客户端验证

任意节点配置 dm_svc.conf 文件,执行以下命令:

vi /etc/dm_svc.conf

添加以下内容:

dmdsc=(192.168.137.180:5236,192.168.137.181:5236)

使用 disql 工具登录集群(数据库安装目录的 bin 下):

disql SYSDBA/SYSDBA@dmdsc

查询视图 v$dsc_ep_info,查看集群状态,执行以下命令:

select * from v$dsc_ep_info;

5、集群管理

5.1 重启集群

关闭数据库:监视器中执行 ep stop dsc

关闭 asm:监视器中执行 ep stop asm

关闭 css:各节点关闭各自的 css 服务 systemctl stop DmCSSServicecss1/DmCSSServicecss2

启动 css: 各节点启动各自的 css 服务 systemctl start DmCSSServicecss1/DmCSSServicecss2

启动 asm:配置了自动拉起,等待 asm 自动启动

启动数据库:配置了自动拉起,等待数据库自动启动

5.2 归档配置

生产环境必须开启归档日志,且必须限制归档日志保留量,限制方法:

设置归档空间大小限制即指定 SPACE_LIMIT 参数(单位是 MB)。

定期删除归档日志(设置定时作业)。

共享存储集群归档需要配置本地归档和远程归档(保证每个节点都有所有归档日志)。

实例 dsc1 上配置,执行以下命令:

alter database mount;

alter database archivelog;

alter database add archivelog 'DEST=/home/dmdba/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=102400';

alter database add archivelog 'DEST=dsc2, TYPE=REMOTE, FILE_SIZE=1024, SPACE_LIMIT=102400, INCOMING_PATH=/home/dmdba/remote_arch';

alter database open;

实例 dsc2 上配置,执行以下命令:

alter database mount;

alter database archivelog;

alter database add archivelog 'DEST=/home/dmdba/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=102400';

alter database add archivelog 'DEST=dsc1, TYPE=REMOTE, FILE_SIZE=1024, SPACE_LIMIT=102400, INCOMING_PATH=/home/dmdba/remote_arch';

alter database open;

更多资料,请查阅官方网站:https://eco.dameng.com

达梦共享存储集群DMDSC-2节点部署手册相关推荐

  1. DM 共享存储集群架构DSC讲解

    达梦共享存储集群(DMDSC)整体架构如左图所示 涉及很多功能模块,为了方便理解我划分为一下几大组件 1.DmServer 服务        保证事务一致和MVCC的锁管理(GLS.LLS)     ...

  2. 达梦v8版本集群搭建

    达梦v8版本集群搭建 单节点搭建 1.配置需求 主机 用户 软件安装目录 实例目录 端口 归档日志目录 192.168.12.88 4c 8G 存储至少20G dmdba /home/dmdba/dm ...

  3. 达梦数据库DSC集群安装文档

    达梦数据库DSC集群安装文档 一. DSC安装准备工作 1 1.1. 创建安装用户 2 1.2. 配置udev存储 2 二. DMDSC 搭建 8 三. 搭建DW容灾架构 39 修改dm.ini,数据 ...

  4. 达梦数据库DSC集群搭建

    目录 1 DMDSC集群介绍 1.1 概述 1.2 系统特性 2 环境准备 2.1 创建共享磁盘 2.2 使用裸设备搭建 2 节点 DMDSC 3 安装达梦数据库 4 配置文件 4.1 dmdcr_c ...

  5. 共享存储集群规范化部署

    搭建 2 节点 DMDSC(DMASM) DMDSC 启动.关闭流程 DMDSC 是基于共享存储的数据库集群系统,包含多个数据库实例,因此,与单节点的 达梦数据库不同,DMDSC 集群需要在节点间进行 ...

  6. 达梦数据库DSC集群的搭建(DM8+CentOS7.7+dmcss+dmasm)

    达梦数据库DSC集群的搭建DM8+CentOS7.7+dmcss+dmasm 1 环境准备 2 安装DM 软件 3 共享存储环境准备(虚拟化环境配置注意) 3.1 规划6个共享磁盘如下: 3.2 VM ...

  7. 达梦主备集群,主库部分redo被删除或损坏,故障恢复。

    记录一次在虚拟机上安装达梦主备集群,搭建完成后,由于主库新添加3个2G redo.log,造成虚拟机空间不足,无法归档.然后删除3个redo,实例无法启动又到恢复过程.详细步骤如下: 主库报错: 20 ...

  8. 搭建K8S集群之node节点部署

    在上一篇文章中,我们完成了K8S系列之K8S集群之Master节点部署,在这篇文章中,我们将开始部署Node节点相关的组件.在node节点上,需要部署kubelet和kube-proxy两个K8S组件 ...

  9. DM共享存储集群搭建

    文章目录 一.相关概念 1.CSS服务 2.ASM服务 二.配置共享磁盘 二.搭建集群 1.安装前准备 2.存储准备 3.搭建DSC 4.配置监视器 5.启停服务 总结 一.相关概念 1.CSS服务 ...

  10. 达梦数据库守护集群安装

    目录 数据库守护集群安装... 1 主备集群原理介绍... 1 搭建DM数据守护环境... 2 环境检查... 2 主备集群搭建思路... 3 安装前工作... 3 数据库安装... 6 主机配置数据 ...

最新文章

  1. 负离子发生器模块 ANION GENERATOR
  2. iOS支付宝支付集成
  3. 能打羽毛球又能击穿墙壁,戴上这款机械臂,秒变蜘蛛侠反派「章鱼博士」
  4. 通过Excel访问Kylin
  5. web python php golang_python go 语言完成最简单的web应用
  6. SAP BC417 课程中文自学笔记
  7. 昂着头的艺术-伯爵在城堡的日记
  8. 华为慧通值不值得去_华为 Mate 40太难抢,上半年的P40Pro还香吗?
  9. 文件服务器配件,文件服务器 硬件配置
  10. 数据分析数据可视化(二)
  11. citrix4.5无法进入发布程序界面The supplied credentials could not be validated
  12. HDU 4825 (01字典树)
  13. smote算法 不平衡数据集处理方法
  14. 斐讯k2怎么设置虚拟服务器,设置斐讯K2路由器上网连接教程 | 192路由网
  15. Mount is denied because the NTFS volume is already exclusively opened.The volume may be already ...
  16. 计算机毕业设计ssm家具商城hog7l系统+程序+源码+lw+远程部署
  17. 在Ubuntu上安装jdk,tomcat8, mysql5.7
  18. 如何在线程之间共享资源?
  19. 数字电路实验一 组合逻辑电路的设计预实验报告
  20. Linux上的天翼云盘客户端,支持上传下载

热门文章

  1. vfp和python比较_vfp-和vfp相关的内容-阿里云开发者社区
  2. Java基础资料整理
  3. 硬盘数据恢复方法 固态硬盘数据恢复方法
  4. 在Winfrom中双击Ctrl键打开窗体
  5. 《涂抹Oracle—三思笔记之一步一步学Oracle》看书笔记(序言)
  6. [推荐电子图书]-[jquery视频教程 初级+高级][25课程]
  7. 15.3 实时时钟芯片DS1302介绍
  8. java 报表 存储过程_快逸报表数据集类型采用存储过程介绍
  9. 量化指标公式源码_最牛通达信量化副图指标公式源码
  10. 在Eclipse上用JAVA连接数据库