1. 首页 > 国产数据库教程 > 达梦DM教程 > 正文

DM教程FG006-达梦数据库实例创建与参数初始化实战

内容简介:本文档风哥主要介绍DM达梦数据库实例的创建与参数初始化过程,涵盖实例概念、参数配置、初始化工具、性能优化等内容,风哥教程参考DM官方文档《DM8系统管理员手册》、《DM8性能优化指南》等官方资料。本文档为DM数据库学习系列的第六篇,重点介绍实例创建和参数初始化的详细步骤和实战操作。

Part01-基础概念与理论知识

1.1 实例概念概述

DM数据库实例是数据库管理系统的运行时环境,包含内存结构和后台进程。实例是数据库的载体,负责处理用户请求、管理数据库文件、维护数据一致性等功能。

1.1.1 实例的组成

  • 内存结构:包括SGA(系统全局区)和PGA(程序全局区)
  • 后台进程:包括dmserver主进程和各种子进程
  • 参数文件:控制实例的运行行为
  • 数据库文件:包括数据文件、日志文件、控制文件等

1.1.2 实例与数据库的关系

实例是数据库的运行时环境,数据库是存储数据的物理文件集合。一个实例可以挂载和打开一个数据库,一个数据库可以被多个实例挂载(如集群环境)。

1.2 实例参数介绍

实例参数是控制DM数据库实例运行行为的配置项,通过修改参数可以调整数据库的性能和行为。

1.2.1 参数分类

  • 内存参数:控制内存分配和使用
  • 存储参数:控制存储结构和管理
  • 安全参数:控制安全策略和访问控制
  • 性能参数:控制查询优化和执行计划
  • 日志参数:控制日志记录和归档

1.2.2 主要参数说明

# 主要参数说明
– MEMORY_POOL_SIZE:内存池大小
– BUFFER:缓冲区大小
– SORT_AREA_SIZE:排序区大小
– HASH_AREA_SIZE:哈希区大小
– LOG_SIZE:日志文件大小
– ARCH_DEST:归档目录
– MAX_SESSIONS:最大会话数
– MAX_SESSION_STATEMENT:每个会话最大语句数
– PGA_SIZE:PGA大小
– WORKER_THREADS:工作线程数

1.3 初始化工具介绍

DM数据库提供了多种工具用于实例的创建和初始化。

1.3.1 dminit工具

dminit是DM数据库的实例初始化工具,用于创建新的数据库实例。

1.3.2 数据库配置助手

数据库配置助手是一个图形化工具,用于创建和配置数据库实例。

1.4 参数类型说明

DM数据库的参数根据生效方式和修改时机可以分为不同类型。

1.4.1 参数生效方式

风哥提示:

  • 静态参数:需要重启实例才能生效
  • 动态参数:修改后立即生效,无需重启

1.4.2 参数修改时机

  • 实例启动前:通过修改dm.ini文件
  • 实例运行时:通过SQL语句修改

Part02-生产环境规划与建议

2.1 实例规划与设计

在创建DM数据库实例前,需要进行充分的规划和设计。

2.1.1 实例命名规范

# 实例命名规范
– 数据库名:fgedudb、fgedudb01、fgedudb02等
– 实例名:与数据库名保持一致
– 端口号:默认5236,多个实例时使用不同端口

2.1.2 实例数量规划

  • 单机部署:通常一个实例
  • 集群部署:多个实例
  • 测试环境:可以部署多个实例

2.2 参数规划与调优

参数规划是确保数据库性能和稳定性的关键。

2.2.1 内存参数规划

# 内存参数规划 学习交流加群风哥微信: itpux-com
– 总内存:根据服务器内存大小调整
– BUFFER:通常设置为总内存的50-60%
– SORT_AREA_SIZE:根据排序需求调整
– HASH_AREA_SIZE:根据哈希操作需求调整
– PGA_SIZE:根据并发连接数调整

2.2.2 存储参数规划

# 存储参数规划
– LOG_SIZE:通常设置为1024MB-2048MB
– EXTENT_SIZE:通常设置为16KB
– PAGE_SIZE:根据数据类型和查询需求选择,通常为8KB
– CHAR_SET:根据业务需求选择,通常为UTF-8

2.3 存储规划与布局

合理的存储规划可以提高数据库的性能和可靠性。

2.3.1 目录结构规划

# 目录结构规划
– 安装目录:/dm/app
– 数据目录:/dm/fgdata
– 归档目录:/dm/arch
– 备份目录:/dm/backup
– 临时目录:/dm/temp

2.3.2 磁盘布局建议

  • 数据文件:放置在高性能磁盘上
  • 日志文件:放置在独立的磁盘上
  • 归档文件:放置在大容量磁盘上
  • 备份文件:放置在独立的磁盘或存储设备上

2.4 性能规划与优化

性能规划是确保数据库高效运行的关键。

2.4.1 性能参数规划

# 性能参数规划
– WORKER_THREADS:根据CPU核心数调整
– MAX_SESSIONS:根据并发用户数调整
– SORT_BUF_SIZE:根据排序操作需求调整 学习交流加群风哥QQ113257174
– HASH_BUF_SIZE:根据哈希操作需求调整
– PARALLEL_DEGREE:根据查询并行度需求调整

2.4.2 性能监控规划

  • 设置性能监控参数
  • 配置慢查询日志
  • 建立性能监控系统

Part03-生产环境项目实施方案

3.1 实例创建步骤

详细介绍DM数据库实例的创建步骤。

3.1.1 使用dminit工具创建实例

# 使用dminit工具创建实例
$ dminit path=/dm/fgdata db_name=fgedudb instance_name=fgedudb port_num=5236 \
charset=1 page_size=8 extent_size=16 log_size=1024

3.1.2 使用数据库配置助手创建实例

# 使用数据库配置助手创建实例
1. 启动数据库配置助手
2. 选择”创建数据库实例”
3. 选择”高级配置”
4. 输入数据库名称:fgedudb
5. 输入实例名称:fgedudb
6. 输入端口号:5236
7. 选择字符集:UTF-8
8. 选择页大小:8KB
9. 选择簇大小:16KB
10. 选择日志文件大小:1024MB
11. 选择初始化参数
12. 确认配置信息
13. 开始创建实例
14. 完成创建

3.2 参数初始化配置

实例创建后需要进行参数初始化配置。

3.2.1 修改dm.ini文件

更多视频教程www.fgedu.net.cn
# 修改dm.ini文件
$ vi /dm/fgdata/fgedudb/dm.ini
# 调整内存参数
MEMORY_POOL_SIZE = 200
BUFFER = 8192
SORT_AREA_SIZE = 100
HASH_AREA_SIZE = 100
# 调整性能参数
WORKER_THREADS = 16
MAX_SESSIONS = 1000
MAX_SESSION_STATEMENT = 100
# 调整日志参数
LOG_SIZE = 1024
ARCH_DEST = /dm/arch

3.2.2 使用SQL语句修改参数

# 使用SQL语句修改参数
SQL> alter system set ‘MEMORY_POOL_SIZE’ = 200 both;
SQL> alter system set ‘BUFFER’ = 8192 both;
SQL> alter system set ‘SORT_AREA_SIZE’ = 100 both;
SQL> alter system set ‘HASH_AREA_SIZE’ = 100 both;
SQL> alter system set ‘WORKER_THREADS’ = 16 both;
SQL> alter system set ‘MAX_SESSIONS’ = 1000 both;

3.3 实例验证与测试

实例创建和参数配置后需要进行验证和测试。

3.3.1 实例状态验证

# 实例状态验证
$ disql SYSDBA/SYSDBA
SQL> select status from v$instance;
SQL> select name, open_mode from v$database;
SQL> select version();

3.3.2 参数验证

# 参数验证
SQL> select para_name, para_value from v$dm_ini where para_name in (‘MEMORY_POOL_SIZE’, ‘BUFFER’, ‘SORT_AREA_SIZE’, ‘HASH_AREA_SIZE’);

更多学习教程公众号风哥教程itpux_com

3.3.3 性能测试

# 性能测试
SQL> create table fgedu_test (id int, name varchar(100));
SQL> insert into fgedu_test values (1, ‘fgedu1’);
SQL> insert into fgedu_test values (2, ‘fgedu2’);
SQL> commit;
SQL> select * from fgedu_test;

3.4 服务配置与管理

实例创建后需要配置系统服务。

3.4.1 注册系统服务

# 注册系统服务
$ /dm/app/bin/dmserver /dm/fgdata/fgedudb/dm.ini register

3.4.2 启动服务

# 启动服务
$ systemctl start DmServiceFGEDUDB
$ systemctl status DmServiceFGEDUDB
$ systemctl enable DmServiceFGEDUDB

Part04-生产案例与实战讲解

4.1 实例创建实战演示

通过实际操作演示DM数据库实例的创建过程。

4.1.1 使用dminit工具创建实例

# 使用dminit工具创建实例
[dmdba@fgedu ~]$ dminit path=/dm/fgdata db_name=fgedudb instance_name=fgedudb port_num=5236 \ from DB视频:www.itpux.com
charset=1 page_size=8 extent_size=16 log_size=1024
# 输出信息
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-01-01
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dm/fgdata/fgedudb/fgedudb01.log
log file path: /dm/fgdata/fgedudb/fgedudb02.log
write to dir [/dm/fgdata/fgedudb].
create dm database success. 2023-04-09 12:30:00

4.1.2 查看创建的实例文件

# 查看创建的实例文件
[dmdba@fgedu ~]$ ls -la /dm/fgdata/fgedudb/
总用量 102400
drwxr-xr-x 2 dmdba dinstall 4096 4月 9 12:30 .
drwxr-xr-x 3 dmdba dinstall 4096 4月 9 12:30 ..
-rw-r–r– 1 dmdba dinstall 16384 4月 9 12:30 dmmal.ini
-rw-r–r– 1 dmdba dinstall 16384 4月 9 12:30 dm.ini
-rw-r–r– 1 dmdba dinstall 16384 4月 9 12:30 dm.opt
-rw-r–r– 1 dmdba dinstall 104857600 4月 9 12:30 fgedudb01.log
-rw-r–r– 1 dmdba dinstall 104857600 4月 9 12:30 fgedudb02.log
-rw-r–r– 1 dmdba dinstall 4096 4月 9 12:30 fgedudb.dbf

4.2 参数调优实战演示

演示如何调整DM数据库的参数。

4.2.1 修改内存参数

# 修改内存参数
[dmdba@fgedu ~]$ vi /dm/fgdata/fgedudb/dm.ini
# 调整内存参数
MEMORY_POOL_SIZE = 200
BUFFER = 8192
SORT_AREA_SIZE = 100
HASH_AREA_SIZE = 100

4.2.2 修改性能参数

# 修改性能参数
[dmdba@fgedu ~]$ vi /dm/fgdata/fgedudb/dm.ini
# 调整性能参数
WORKER_THREADS = 16
MAX_SESSIONS = 1000
MAX_SESSION_STATEMENT = 100

4.2.3 使用SQL语句修改参数

# 使用SQL语句修改参数
[dmdba@fgedu ~]$ disql SYSDBA/SYSDBA
SQL> alter system set ‘MEMORY_POOL_SIZE’ = 200 both;
SQL> alter system set ‘BUFFER’ = 8192 both;
SQL> alter system set ‘SORT_AREA_SIZE’ = 100 both;
SQL> alter system set ‘HASH_AREA_SIZE’ = 100 both;
SQL> alter system set ‘WORKER_THREADS’ = 16 both;
SQL> alter system set ‘MAX_SESSIONS’ = 1000 both;

4.3 实例验证实战演示

演示如何验证DM数据库实例的状态和参数配置。

4.3.1 实例状态验证

# 实例状态验证
[dmdba@fgedu ~]$ disql SYSDBA/SYSDBA
Server[LOCALHOST:5236]:mode is normal, state is open
login used time: 1.234(ms)
SQL> select status from v$instance;
STATUS
—————————————
OPEN
SQL> select name, open_mode from v$database;
NAME OPEN_MODE
—————————— ——————–
FGEDUDB READ WRITE
SQL> select version();
LINEID VERSION()
———- ——————————
1 DM Database Server 64 V8

4.3.2 参数验证

# 参数验证
SQL> select para_name, para_value from v$dm_ini where para_name in (‘MEMORY_POOL_SIZE’, ‘BUFFER’, ‘SORT_AREA_SIZE’, ‘HASH_AREA_SIZE’);
PARA_NAME PARA_VALUE
————————- ————————
MEMORY_POOL_SIZE 200
BUFFER 8192
SORT_AREA_SIZE 100
HASH_AREA_SIZE 100

4.3.3 服务状态验证

# 服务状态验证
[root@fgedu ~]# systemctl status DmServiceFGEDUDB
● DmServiceFGEDUDB.service – DM Database Service
Loaded: loaded (/usr/lib/systemd/system/DmServiceFGEDUDB.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2023-04-09 12:35:00 CST; 5min ago
Main PID: 12345 (dmserver)
CGroup: /system.slice/DmServiceFGEDUDB.service
└─12345 /dm/app/bin/dmserver path=/dm/fgdata/fgedudb/dm.ini -noconsole
4月 09 12:35:00 fgedu systemd[1]: Started DM Database Service.

Part05-风哥经验总结与分享

5.1 实例创建技巧与注意事项

基于实际经验,分享一些实例创建的技巧和注意事项。

5.1.1 实例创建注意事项

  • 选择合适的数据库名称和实例名称
  • 根据业务需求选择合适的字符集
  • 根据数据类型和查询需求选择合适的页大小
  • 设置合理的日志文件大小
  • 确保有足够的磁盘空间

5.1.2 实例创建技巧

  • 使用dminit工具可以快速创建实例
  • 使用数据库配置助手可以进行可视化配置
  • 创建实例前规划好目录结构
  • 创建实例后及时备份参数文件

5.2 参数调优技巧与注意事项

基于实际经验,分享一些参数调优的技巧和注意事项。

5.2.1 参数调优注意事项

  • 根据服务器硬件配置调整参数
  • 根据业务负载调整参数
  • 注意静态参数和动态参数的区别
  • 修改参数后进行充分测试
  • 定期监控参数效果并进行调整

5.2.2 参数调优技巧

  • 内存参数:根据服务器内存大小调整
  • 性能参数:根据CPU核心数和并发用户数调整
  • 存储参数:根据存储设备性能调整
  • 日志参数:根据事务量和恢复需求调整
  • 使用系统视图监控参数效果

5.3 最佳实践建议

基于实际经验,提供DM数据库实例创建和参数初始化的最佳实践。

5.3.1 实例创建最佳实践

风哥提示:在创建DM数据库实例时,一定要根据业务需求和服务器配置进行合理规划,选择合适的参数和配置。特别是生产环境,要确保所有的配置都符合最佳实践,这样才能保证数据库系统的稳定运行。

5.3.2 参数调优最佳实践

  • 内存参数:总内存使用不超过服务器内存的80%
  • 缓冲区:设置为总内存的50-60%
  • 工作线程:根据CPU核心数设置,通常为核心数的1-2倍
  • 最大会话数:根据并发用户数设置,预留一定余量
  • 日志大小:根据事务量设置,通常为1-2GB

5.3.3 性能监控最佳实践

  • 定期监控实例状态
  • 监控系统资源使用情况
  • 分析慢查询日志
  • 定期收集性能统计信息
  • 根据监控结果调整参数

5.3.4 维护最佳实践

维护最佳实践:

  • 定期备份数据库
  • 定期检查参数配置
  • 及时安装补丁
  • 建立完善的运维文档
  • 定期进行性能测试

本文档风哥教程参考DM官方文档《DM8系统管理员手册》、《DM8性能优化指南》等资料编写,。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息