福建众利建设工程网站,郑州哪里培训网站建设优化好一点,网站开发的地图接口,佛山网页设计报价1#xff1a;达梦数据库(DM8)简介
达梦数据库管理系统是武汉达梦公司推出的具有完全自主知识产权的高性能数据库管理系统#xff0c;简称DM。达梦数据库管理系统目前最新的版本是8.0版本#xff0c;简称DM8。 DM8是达梦公司在总结DM系列产品研发与应用经验的基础上#xf…1达梦数据库(DM8)简介
达梦数据库管理系统是武汉达梦公司推出的具有完全自主知识产权的高性能数据库管理系统简称DM。达梦数据库管理系统目前最新的版本是8.0版本简称DM8。 DM8是达梦公司在总结DM系列产品研发与应用经验的基础上坚持开放创新、简洁实用的理念推出的新一代自研数据库。 DM8吸收借鉴当前先进新技术思想与主流数据库产品的优点融合了分布式、弹性计算与云计算的优势对灵活性、易用性、可靠性、高安全性等方面进行了大规模改进多样化架构充分满足不同场景需求支持超大规模并发事务处理和事务-分析混合型业务处理动态分配计算资源实现更精细化的资源利用、更低成本的投入。一个数据库满足用户多种需求让用户能更加专注于业务发展。
2达梦数据在Linux上的安装
产品下载 | 达梦数据库选择X86CentOS7
2.1操作系统环境准备
本次使用的系统版本是CentOS Linux release 7.6.1810 (Core)
[rootlocalhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
2.2上传所需文件到/opt/soft
[rootlocalhost soft]# ls
dm8_20231116_x86_rh6_64.zip
2.3创建安装用户dmdba和组dinstall并设置用户密码
[rootlocalhost ~]# groupadd dinstall
[rootlocalhost ~]# useradd -s /bin/bash -m -d /home/dmdba -g dinstall dmdba
[rootblocalhost ~]# passwd dmdba //这里需要设置一个密码可以设置为 12345678
2.4关闭SELinux
[rootlocalhost soft]# vi /etc/selinux/config
SELINUXdisabled#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2.5给dmdba配置系统资源限制
[rootblocalhost ~]# vi /etc/security/limits.conf
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft stack 16384
dmdba hard stack 32768用dmdba用户登录系统查看ulimit参数是否生效 ulimit -a注意要切换到dmdba用户进行查看
[rootlocalhost soft]# su dmdba
[dmdbalocalhost soft]$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 31078
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
2.6创建相关目录
[rootlocalhost ~]# su - root
[rootlocalhost ~]# mkdir -p /data/{dmdata,dmarch,logcommit,dmbak}
[rootlocalhost ~]# chown -R dmdba:dinstall /data/{dmdata,dmarch,logcommit,dmbak}
2.7解压DM文件并挂载
[rootlocalhost ~]# cd /opt/soft[rootlocalhost soft]#unzip dm8_20220701_x86_rh6_64_ent.zip
//如果这里报错没有找到unzip需要用yum install unzip 如果是离线环境可是去现在一个二进制的包文件进行安装
[rootlocalhost soft]# ll
total 1691232
-rw-r--r-- 1 root root 874342400 Nov 22 14:19 dm8_20231116_x86_rh6_64.iso
-rw-r--r-- 1 root root 100 Nov 22 14:19 dm8_20231116_x86_rh6_64.iso_SHA256.txt
-rw-r--r-- 1 root root 857471599 Dec 27 16:02 dm8_20231116_x86_rh6_64.zip挂载iso文件这样就能像访问目录一样对iso镜像文件进行访问了[rootlocalhost soft]# mkdir -p /mnt/cdrom
[rootlocalhost soft]# mount -o loop /opt/soft/dm8_20231116_x86_rh6_64.iso /mnt/cdrom
mount: /dev/loop0 is write-protected, mounting read-only
2.8安装DM数据库软件
[rootlocalhost soft]# su - dmdba
[dmdbalocalhost ~]$ cd /mnt/cdrom
[dmdbalocalhost cdrom]$ ./DMInstall.bin -i开始安装语言选择中文Key文件先不输入没有key文件默认使用一年后到期
设置时区选择[21]: GTM08中国标准时间 这也是默认的选项。Installer Language:
[1]: 简体中文
[2]: English
Please select the installers language [2]:1是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: (GTM-12:00) 日界线西
[ 2]: (GTM-11:00) 萨摩亚群岛
[ 3]: (GTM-10:00) 夏威夷
[ 4]: (GTM-09:00) 阿拉斯加
[ 5]: (GTM-08:00) 太平洋时间美国和加拿大
[ 6]: (GTM-07:00) 亚利桑那
[ 7]: (GTM-06:00) 中部时间美国和加拿大
[ 8]: (GTM-05:00) 东部部时间美国和加拿大
[ 9]: (GTM-04:00) 大西洋时间美国和加拿大
[10]: (GTM-03:00) 巴西利亚
[11]: (GTM-02:00) 中大西洋
[12]: (GTM-01:00) 亚速尔群岛
[13]: (GTM) 格林威治标准时间
[14]: (GTM01:00) 萨拉热窝
[15]: (GTM02:00) 开罗
[16]: (GTM03:00) 莫斯科
[17]: (GTM04:00) 阿布扎比
[18]: (GTM05:00) 伊斯兰堡
[19]: (GTM06:00) 达卡
[20]: (GTM07:00) 曼谷河内
[21]: (GTM08:00) 中国标准时间
[22]: (GTM09:00) 首尔
[23]: (GTM10:00) 关岛
[24]: (GTM11:00) 所罗门群岛
[25]: (GTM12:00) 斐济
[26]: (GTM13:00) 努库阿勒法
[27]: (GTM14:00) 基里巴斯
请选择时区 [21]:21下面的地址为 /home/dmdba/dmdbms安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1740M请选择安装目录 [/home/dmdba/dmdbms]:
可用空间: 89G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1740M
可用空间: 89G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2023-12-28 04:32:54
[INFO] 安装达梦数据库...
2023-12-28 04:32:54
[INFO] 安装 基础 模块...
2023-12-28 04:32:57
[INFO] 安装 服务器 模块...
2023-12-28 04:32:57
[INFO] 安装 客户端 模块...
2023-12-28 04:32:58
[INFO] 安装 驱动 模块...
2023-12-28 04:32:58
[INFO] 安装 手册 模块...
2023-12-28 04:32:58
[INFO] 安装 服务 模块...
2023-12-28 04:32:58
[INFO] 移动日志文件。
2023-12-28 04:32:59
[INFO] 安装达梦数据库完成。请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh安装结束
安装结束后提示用root用户执行脚本
切换root用户
[dmdbalocalhost cdrom]$ su - root
[rootlocalhost ~]# /home/dmdba/dmdbms/script/root/root_installer.sh
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
2.9创建数据库实例
su - dmdba
[dmdbalocalhost bin]$ pwd
/home/dmdba/dmdbms/bin[dmdbalocalhost bin]$ ./dminit PATH/data/dmdata EXTENT_SIZE32 PAGE_SIZE16 CASE_SENSITIVEn SYSDBA_PWDsysdba123 DB_NAMEdmtest INSTANCE_NAMEdmtest PORT_NUM5236
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-11-09
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLLlog file path: /data/dmdata/dmtest/dmtest01.loglog file path: /data/dmdata/dmtest/dmtest02.logwrite to dir [/data/dmdata/dmtest].
create dm database success. 2023-12-28 19:21:29
2.10注册实例服务的脚本
su - root
[rootlocalhost root]# pwd
/home/dmdba/dmdbms/script/root[rootlocalhost root]# ./dm_service_installer.sh -t dmserver -p TEST -dm_ini /data/dmdata/dmtest/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceTEST.service to /usr/lib/systemd/system/DmServiceTEST.service.
创建服务(DmServiceTEST)完成
2.11启动数据库服务
[rootlocalhost root]# systemctl start DmServiceTEST[rootlocalhost root]# systemctl status DmServiceTEST #查看状态
● DmServiceTEST.service - DM Instance Service(DmServiceTEST).Loaded: loaded (/usr/lib/systemd/system/DmServiceTEST.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2023-12-28 19:28:33 CST; 10s agoProcess: 67672 ExecStart/home/dmdba/dmdbms/bin/DmServiceTEST start (codeexited, status0/SUCCESS)Main PID: 67695 (dmserver)Tasks: 83CGroup: /system.slice/DmServiceTEST.service└─67695 /home/dmdba/dmdbms/bin/dmserver path/data/dmdata/dmtest/dm.ini -noconsoleDec 28 19:28:18 localhost.localdomain systemd[1]: Starting DM Instance Service(DmServiceTEST)....
Dec 28 19:28:33 localhost.localdomain DmServiceTEST[67672]: [35B blob data]
Dec 28 19:28:33 localhost.localdomain systemd[1]: Started DM Instance Service(DmServiceTEST)..
[rootlocalhost root]# 或安装bin目录下进行启动
# ./DmServiceTEST start
3DM数据库配置
3.1配置环境变量
达梦数据库提供了命令行客户端工具disql类似oracle的sqlplus用于连接数据库。
disql工具在安装目录的bin目录下可以把bin目录添加到环境变量PATH中dmdba用户下查看配置文件[rootlocalhost root]# su - dmdba
[dmdbalocalhost ~]$ vi ~/.bash_profile
export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin
export DM_HOME/home/dmdba/dmdbms
export PATH$PATH:$DM_HOME/bin:$DM_HOME/tool
export PATH[dmdbalocalhost ~]$ source ~/.bash_profile这样我们在任何地方都可以使用命令登录数据库了[dmdbalocalhost ~]$ disql SYSDBA/SYSDBA123
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.518(ms)
disql V8
SQL 切换root用户使用软连接
[dmdbalocalhost ~]$ su root
[rootlocalhost ~]# vi ~/.bash_profile把下列数据插入到指定的位置即可
export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin
export DM_HOME/home/dmdba/dmdbms
export PATH$PATH:$DM_HOME/bin:$DM_HOME/tool
3.2创建表空间、用户
create tablespace aaa datafile /data/dmdata/dmtest/AAA.DBF size 128 autoextend on next 4 maxsize 1024;create user dameng identified by dameng123 default tablespace aaa default index tablespace aaa;grant PUBLIC,RESOURCE,VTI to dameng;
grant SELECT on DMHR.CITY to dameng;
alter user dameng limit failed_login_attemps unlimited, password_lock_time unlimited, password_grace_time unlimited;select * from dba_users;CALL SP_TABLEDEF(DAMENG, t1); 查看建表语句
3.3达梦数据库开启归档模式
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG DEST/data/dmarch, TYPELOCAL, FILE_SIZE2048, SPACE_LIMIT102400;
ALTER DATABASE OPEN;
3.4配置 SQL 日志
SQL 日志内容包含系统各会话执行的 SQL 语句、参数信息、错误信息等。 SQL 跟踪日志主要用于分析错误和分析性能问题基于跟踪日志可以对系统运行状态有一个分析比如可以挑出系统现在执行速度较慢的 SQL 语句进而对其进行优化。
打开 SQL 日志会对系统的性能会有较大影响一般用于查错和调优的时候才会打开默认情况下系统是关闭 SQL 跟踪日志的。若需要 SQL 跟踪日志但对日志的实时性没有严格的要求又希望系统有较高的效率可以设置 sqllog.ini 参数 SQL_TRACE_MASK 和 MIN_EXEC_TIME 只记录关注的相关记录减少日志总量设置 sqllog.ini 参数 ASYNC_FLUSH 打开 SQL 日志异步刷盘功能以提高系统性能。
创建 SQL 日志存放目录
su - dmdba
mkdir -p /data/logcommitselect * from v$parameter where name like SVR_LOG%;
修改实例路径下 sqllog.ini 文件如下设置 sql 日志为异步按照文件大小进行切换每个 1024M20 个文件循环写。
cd /data/dmdata/dmtest
vi sqllog.iniBUF_TOTAL_SIZE 10240 #SQLs Log Buffer Total Size(K)(1024~1024000)
BUF_SIZE 1024 #SQLs Log Buffer Size(K)(50~409600)
BUF_KEEP_CNT 6 #SQLs Log buffer keeped count(1~100)[SLOG_ALL]
FILE_PATH /data/logcommit #sql 日志生成路径
PART_STOR 0
SWITCH_MODE 2
SWITCH_LIMIT 1024 #每个日志文件 1024M
ASYNC_FLUSH 1
FILE_NUM 20 #循环收集 20 个可以根据实际情况做调整
ITEMS 0
SQL_TRACE_MASK 1
MIN_EXEC_TIME 0
USER_MODE 0
USERS 执行调用存储过程生效配置文件并开启 SQLLOG 日志。
SP_REFRESH_SVR_LOG_CONFIG();
sp_set_para_value(1,SVR_LOG,1);--检查 SVR_LOG 参数。
select * from v$parameter where name like ‘SVR_LOG’;
3.5备份
达梦数据库中的数据存储在数据库的物理数据文件中数据文件按照页、簇和段的方式进行管理数据页是最小的数据存储单元。任何一个对达梦数据库的操作其根本都是对某个数据文件页的读写操作。因此DM 备份的本质就是从数据库文件中拷贝有效的数据页保存到备份集中这里的有效数据页包括数据文件的描述页和被分配使用的数据页。数据库备份可按照实际需求进行手动备份或设置定时备份。手动备份详细内容可参考数据库安装目录 doc 路径下《DM8 备份与还原》手册。以下主要详细介绍定时备份相关内容。
达梦数据库提供定时备份功能。在设置定时备份前应依据实际业务需求和数据量大小采用不同的备份策略达梦数据库常用备份策略包括全量备份 删除和全量备份 增量备份 删除。可使用命令行或图形化方式设置定时备份。
1. 全量备份 删除推荐使用 此备份策略适用于数据量小于 100G 的场景下。注意开启数据库归档确定备份路径。 例如设置每天 23:00 全量备份、删除 10 天前的全量备份。备份路径为 /data/dmbak。
call SP_INIT_JOB_SYS(1);
call SP_CREATE_JOB(bakall_delall,1,0,,0,0,,0,每天 23:00 全量备份、删除 10 天前的全量备份);
call SP_JOB_CONFIG_START(bakall_delall);
call SP_ADD_JOB_STEP(bakall_delall, bakall, 6, 01020000/data/dmbak, 3, 1, 0, 0, NULL, 0);call SP_ADD_JOB_STEP(bakall_delall, delall, 0, SF_BAKSET_BACKUP_DIR_ADD(DISK,/data/dmbak);
CALL SP_DB_BAKSET_REMOVE_BATCH(DISK,SYSDATE-10);, 1, 1, 0, 0, NULL, 0);call SP_ADD_JOB_SCHEDULE(bakall_delall, bakall_delall_time01, 1, 1, 1, 0, 0, 23:00:00, NULL, 2023-12-29 01:01:01, NULL, );
call SP_JOB_CONFIG_COMMIT(bakall_delall);
2. 全量 增量 删除 配置前明确以下内容 1备份策略。例如每月第一个周六 23:00 全量备份。每天(除周六) 23:00 增量备份、删除 30 天前的增量备份、删除 40 天前的全量备份。 2注意开启数据库归档在 bak 目录下手动创建全备文件夹all和增备文件夹add。即全量备份路径/data/dmbak/all增量备份路径/data/dmbak/add。
--设置 2 分钟后自动进行一次全量备份
call SP_INIT_JOB_SYS(1);
call SP_CREATE_JOB(bakall_one,1,0,,0,0,,0,执行一次全量备份);
call SP_JOB_CONFIG_START(bakall_one);
call SP_ADD_JOB_STEP(bakall_one, bakall, 6, 01020000/data/dmbak/all, 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(bakall_one, bakall_one_time01, 1, 0, 0, 0, 0, NULL, NULL, SYSDATE()0.0014, NULL, );
call SP_JOB_CONFIG_COMMIT(bakall_one);--设置全量备份
call SP_CREATE_JOB(bakall,1,0,,0,0,,0,每月第一个周六23:00全量备份);
call SP_JOB_CONFIG_START(bakall);
call SP_ADD_JOB_STEP(bakall, bakall, 6, 01020000/data/dmbak/all, 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(bakall, bakall_time01, 1, 4, 1, 7, 0, 23:00:00, NULL, 2019-01-01 01:01:01, NULL, );
call SP_JOB_CONFIG_COMMIT(bakall);--设置增量备份 删除备份
call SP_CREATE_JOB(bakadd_delbak,1,0,,0,0,,0,每天(除周六)23:00增量备份、删除30天前的增量备份、删除40天前的全量备份);
call SP_JOB_CONFIG_START(bakadd_delbak);
call SP_ADD_JOB_STEP(bakadd_delbak, bakadd, 6, 11020000/data/dmbak/all|/data/dmbak/add, 3, 1, 0, 0, NULL, 0);call SP_ADD_JOB_STEP(bakadd_delbak, delbak, 0, SF_BAKSET_BACKUP_DIR_ADD(DISK,/data/dmbak/add);
CALL SP_DB_BAKSET_REMOVE_BATCH(DISK,SYSDATE-30);
SF_BAKSET_BACKUP_DIR_ADD(DISK,/data/dmbak/all);
CALL SP_DB_BAKSET_REMOVE_BATCH(DISK,SYSDATE-40);, 1, 1, 0, 0, NULL, 0);call SP_ADD_JOB_SCHEDULE(bakadd_delbak, bakadd_delbak_time01, 1, 2, 1, 63, 0, 23:00:00, NULL, 2019-01-01 01:01:01, NULL, );
call SP_JOB_CONFIG_COMMIT(bakadd_delbak);