目录
一、安装准备
二、安装过程
三、开发驱动配置
最近参加了达梦DCA课程的培训,培训内容主要包括国内外数据库现状介绍、DM8单机版部署、数据库创建及实例管理、SQL部分、DM8体系结构、表空间管理、用户与模式、备份与还原、作业管理、开发驱动配置等。
由于DM8很多概念类似Oracle,本文主要介绍DM8的安装部署及开发驱动配置,供大家参考。
一、安装准备
操作系统:RedHat7.7
备注:软件安装在普通用户dmdba下
0.软件安装包。 dm8_20211021_x86_rh6_64_ent.zip(官网下载的redhat7下的安装包) dm.key(老师上课给的试用key)1.操作系统内核设置 vi /etc/sysctl.conf kernel.shmall = 2097152 # 可以使用的共享内存的总量,单位:页。 kernel.shmmax = 2147483648 # 最大单个共享内存段大小。取物理内存大小的一半,单位为字节 kernel.shmmni = 4096 # 整个系统共享内存段的最大数目。 kernel.sem = 250 32000 100 128 # 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。 sysctl -p 设置生效
vi /etc/security/limits.conf ,添加以下内容 dmdba soft nofile 65536 dmdba hard nofile 65536 dmdba soft nproc 65536 dmdba hard nproc 65536 检查命令 ulimit -a
2.防火墙设置 systemctl status firewalld systemctl stop firewalld systemctl disable firewalld3.SeLinux设置 vi /etc/selinux/config,设置SELINUX=disabled,重启系统reboot 重启后检查 /usr/sbin/sestatus -v 4.磁盘调度算法 cat /sys/block/vda/queue/scheduler --根据实际按需设置 echo deadline > /sys/block/vda/queue/scheduler5.内存参数 cat /proc/sys/vm/overcommit_memory 建议设置为0。6.禁用透明大页 cat /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled7.禁用numa 检查numa禁用 dmesg | grep -i numa cat /proc/cmdline 如未禁用,参照以下步骤禁用: vi /etc/default/grub , 加上:numa=off GRUB_CMDLINE_LINUX="rhgb quiet intel_idle.max_cstate=0 processor.max_cstate=1 transparent_hugepage=never numa=off" 重新生成/etc/grub2.cfg 配置文件: grub2-mkconfig -o /etc/grub2.cfg 重启系统reboot
二、安装过程
命令行方式1.解压挂载软件包 unzip dm8_20211021_x86_rh6_64_ent.zip mkdir /dm8soft mount /root/soft/dm8_20211021_x86_rh6_64_ent/dm8_20211021_x86_rh6_64_ent_8.1.2.84.iso /dm8soft2.添加组、用户 groupadd dmdba useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba3.安装文件系统规划 mkdir /dm8 chown -R dmdba.dinstall /dm84.安装软件:注意key的路径写全,选择典型安装即可 cd /dm8soft
./DMInstall.bin 为图形化安装 ./DMInstall.bin -i 命令行安装 是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:y 请输入Key文件的路径地址 [dm.key]:/home/dmdba 文件不存在,请检查此key文件路径是否正确:/home/dmdba 是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:y 请输入Key文件的路径地址 [dm.key]:/home/dmdba/dm.key vi .bash_profile添加 PATH=$PATH:$HOME/bin:/dm8/bin source .bash_profile5.创建数据库 图形化 /dm8/tool/dbca.sh --图形化方式按照选项提示,一步一步点下去即可。 命令行
[dmdba@dev3-bu-poc-dm8-test-1 ~]$ dminit help
initdb V8
db version: 0x7000c
License will expire on 2022-09-25
格式: ./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, 64,单位:页
PAGE_SIZE 数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE 日志文件大小(256),单位为:M,范围为:256M ~ 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],2[EVAL]
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)
BUFFER 系统缓存大小(100),单位M
TIME_ZONE 设置时区(+08:00)
PAGE_CHECK 页检查模式(0),可选值:0/1/2
PAGE_HASH_NAME 设置页检查HASH算法
EXTERNAL_CIPHER_NAME 设置默认加密算法
EXTERNAL_HASH_NAME 设置默认HASH算法
EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎
RLOG_ENC_FLAG 设置日志文件是否加密(N),可选值:Y/N,1/0
USBKEY_PIN 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE 设置页加密分片大小,可选值:0、512、4096,单位:Byte
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)
ELOG_PATH 指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM ECS模式下AP协同工作的监听端口
DFS_FLAG 初始化时设置dm.ini中的DFS_INI(0)
DFS_PATH 启用dfs时指定数据文件的缺省路径
DFS_HOST 指定连接分布式系统DFS的服务地址(localhost)
DFS_PORT 指定连接分布式系统DFS的服务端口号(3332)
DFS_COPY_NUM 指定分布式系统的副本数(3)
DFS_DB_NAME 指定分布式系统的中数据库名(默认与DB_NAME一致)
SHARE_FLAG 指定分布式系统中该数据库的共享属性(0)
REGION_MODE 指定分布式系统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略
HUGE_WITH_DELTA 是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE 是否生成HUGE表REDO日志(0) 1:是 0:否
PSEG_MGR_FLAG 是否仅使用管理段记录事务信息(0) 1:是 0:否
CHAR_FIX_STORAGE CHAR是否按定长存储(N),可选值:Y/N,1/0
SQL_LOG_FORBID 是否禁止打开SQL日志(N),可选值:Y/N,1/0
HELP 打印帮助信息
mkdir /dm8/DAMENG dminit path=/dm8/DAMENG db_name=DAMENG instance_name=DMSERVER port_num=5236 root执行以下命令注册服务
/dm8/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm8/DAMENG/DAMENG/dm.ini -p DMSERVER systemctl start DmServiceDMSERVER systemctl status DmServiceDMSERVER
连接数据库 disql sysdba/SYSDBA@192.168.122.9:5236
6.配置客户端连接串 配置文件路径 /etc/dm_svc.conf --Linux环境 C:\Windows\SysWOW64\dm_svc.conf --Windows环境 [root@dev3-bu-poc-dm8-test-1 ~]# cat /etc/dm_svc.conf TIME_ZONE=(480) LANGUAGE=(cn) AAA=(192.168.122.9:5236)
连接测试:
disql sysdba/SYSDBA@AAA
三、开发驱动配置
1.jdbc方式配置
测试文件
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test
{
private static String url = "jdbc:dm://192.168.122.9:5236";
private static String username = "SYSDBA";
private static String password = "SYSDBA";
private static String sql = "select sysdate";
public static void main(String[] args)
{
Connection connection = null;
Statement stmt = null;
try
{
Class.forName("dm.jdbc.driver.DmDriver");
connection = DriverManager.getConnection(url, username, password);
stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next())
{
System.out.println(rs.getString(1));
}
}
catch (SQLException e)
{
e.printStackTrace();
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
finally
{
try
{
if (stmt != null)
{
stmt.close();
}
if (connection != null)
{
connection.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}
驱动包在安装目录drivers下:/dm8/drivers/jdbc/DmJdbcDriver18.jar /dm8/jdk/bin/javac Test.java /dm8/jdk/bin/java -Xbootclasspath/a:/dm8/drivers/jdbc/DmJdbcDriver18.jar Test
2.odbc方式配置 yum install unixODBC 注意生成的文件权限 644 -rw-r--r-- 1 root root 660 Apr 8 16:48 odbcinst.ini -rw-r--r-- 1 root root 126 Apr 8 16:51 odbc.ini
[root@dev3-bu-poc-dm8-test-1 ~]# cat /etc/odbc.ini [DM8] Description = DM ODBC DSN Driver = DM8 ODBC DRIVER SERVER = 192.168.122.9 UID = SYSDBA PWD = SYSDBA TCP_PORT = 5236
cat /etc/odbcinst.ini [DM8 ODBC DRIVER] Description = ODBC DRIVER FOR DM8 Driver = /dm8/bin/libdodbc.so
测试
相关文章
发表评论