暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AIX环境达梦库部署文档分享

225


1 版本介绍

达梦数据库支持在多个平台部署,摘取部分信息如下,详细可以去该链接了解https://eco.dameng.com/document/dm/zh-cn/start/dm-version-differences.html



2
部署环境

2.1 部署环境信息

用途

类别

配置

数量

数据库服务器

硬件

处理器架构:Power10

处理器规格:IBM,9080-HEX(共享预分2核16线程,最大12核96线程)

内存规格:256GB

硬盘规格:1.6TB

1

软件

操作系统:AIX 7.2 TL5 SP4

数据库:达梦V8

2.2 单机部署规划

IP规划:

主机名

服务ip

数据库名

实例名

dmdb

dmdb

端口规划:

实例名

实例端口

dmdb

5236

本地存储LVM磁盘规划:(按实际需求调整磁盘空间)

磁盘

LVM磁盘名/用途

/dev/sdc(100G)

/dev/dmappvg/dmapplv (数据库安装磁盘)

/dev/sde(500G)

/dev/dmdatavg/dmdatalv (数据磁盘)

/dev/sdf(500G)

/dev/dmbakvg/dmbaklv (备份磁盘)

目录规划:(在对应服务器上创建目录owner为dmdba组为dinstall)

数据库软件安装目录

/home/dmdba/dmdbms

实例安装目录

/dmdata

归档日志存放目录

/dmdata/arch

备份文件存放目录

/dmdata/dmbak

3 系统参数配置

3.1 创建数据库用户和组

mkgroup dinstall

useradd -g dinstall -d /home/dmdba -m dmdba

passwd dmdba

--密码自己定义即可

Dameng123

3.2 创建目录并授权

mkdir -p /dmdata/arch

mkdir -p /dmdata/dmbak

chown -R dmdba:dinstall /dmdata

chmod -R 775 /dmdata

3.3 配置环境变量

切换到dmdba用户配置环境变量,添加字符集否则disql登录使用中文会乱码

su - dmdba

vi ~/.profile

export LANG=zh_CN.UTF8

export DM_HOME=/dmdata/dmdbms

export PATH=$PATH:$DM_HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin:/opt/freeware/lib64

--使环境变量生效

. ~/.profile

4 数据库部署

4.1 挂载数据库软件iso文件

需要使用root用户挂载数据库软件的iso文件,创建dmiso挂载目录

mkdir -p /dmiso

loopmount -i /dmdata/dm8_20220620_ppc_aix7_64.iso -o "-V cdrfs -o ro" -m /dmiso

4.2 安装数据库软件

切换到dmdba用户下安装

$ cd /dmiso

$ ls -l

total 1730648

-r-xr-xr-x 1 root system 2802614 Jun 20 17:28 dm8 install.pdf

-r-xr-xr-x 1 root system 883286342 Jun 20 17:32 dminstall.bin

$

安装方式与linux环境相同,使用dminstall.bin -i命令安装,如安装的安全版本,安装时一定要放key文件。

$ ./dminstall.bin -i

请选择安装语言(C/c:中文 E/e:英文) [C/c]:c

解压安装程序.........

欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y

设置时区:

[ 1]: GTM-12=日界线西

[ 2]: GTM-11=萨摩亚群岛

[ 3]: GTM-10=夏威夷

[ 4]: GTM-09=阿拉斯加

[ 5]: GTM-08=太平洋时间(美国和加拿大)

[ 6]: GTM-07=亚利桑那

[ 7]: GTM-06=中部时间(美国和加拿大)

[ 8]: GTM-05=东部部时间(美国和加拿大)

[ 9]: GTM-04=大西洋时间(美国和加拿大)

[10]: GTM-03=巴西利亚

[11]: GTM-02=中大西洋

[12]: GTM-01=亚速尔群岛

[13]: GTM=格林威治标准时间

[14]: GTM+01=萨拉热窝

[15]: GTM+02=开罗

[16]: GTM+03=莫斯科

[17]: GTM+04=阿布扎比

[18]: GTM+05=伊斯兰堡

[19]: GTM+06=达卡

[20]: GTM+07=曼谷,河内

[21]: GTM+08=中国标准时间

[22]: GTM+09=汉城

[23]: GTM+10=关岛

[24]: GTM+11=所罗门群岛

[25]: GTM+12=斐济

[26]: GTM+13=努库阿勒法

[27]: GTM+14=基里巴斯

请选择设置时区 [21]:21

安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:1

所需空间: 1618M

请选择安装目录 [/home/dmdba/dmdbms]:/dmdata/dmdbms

可用空间: 1326G

是否确认安装路径(/dmdata/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y

安装前小结

安装位置: /dmdata/dmdbms

所需空间: 1618M

可用空间: 1326G

版本信息:

有效日期:

安装类型: 典型安装

是否确认安装? (Y/y:是 N/n:否):y

2022-11-24 12:16:43

[INFO] 安装达梦数据库...

2022-11-24 12:16:43

[INFO] 安装 基础 模块...

2022-11-24 12:16:47

[INFO] 安装 服务器 模块...

2022-11-24 12:16:48

[INFO] 安装 客户端 模块...

2022-11-24 12:16:53

[INFO] 安装 驱动 模块...

2022-11-24 12:16:54

[INFO] 安装 手册 模块...

2022-11-24 12:16:55

[INFO] 安装 服务 模块...

2022-11-24 12:16:56

[INFO] 移动日志文件。

2022-11-24 12:16:57

[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:

/dmdata/dmdbms/script/root/root_installer.sh

当前用户环境变量已修改。如需环境变量立即生效,请执行". ~/.profile"或"source ~/.profile"命令或重新打开终端。

安装结束

$

切换到root用户注册root脚本

# /dmdata/dmdbms/script/root/root_installer.sh

移动 /dmdata/dmdbms/bin/dm_svc.conf 到/etc目录

修改服务器权限

创建DmAPService服务

移动服务脚本文件(/dmdata/dmdbms/bin/DmAPService 到 /etc/rc.d/init.d/DmAPService

创建服务(DmAPService)完成

启动DmAPService服务

Starting DmAPService: [ OK ]

4.3 使用dminit工具初始化实例

切换到dmdba用户操作,执行以下命令

su - dmdba
cd /dmdata/dmdbms/bin
./dminit path=/dmdata page_size=32 case_sensitive=1 extent_size=32 LENGTH_IN_CHAR=1 charset=1 log_size=2048 db_name=dmdb instance_name=dmdb SYSDBA_PWD="Dameng123" SYSAUDITOR_PWD="Dameng123"


注意:

初始化参数中除了 path 参数必须指定,其它参数都有默认值,如果需求与默认值不同,初始化的时候请指定需要的值。因为部分参数初始化后是无法修改的例如:page_size(页大小),charset(字符集),case_sensitive(大小写敏感)等。更多参数./dminit help 查看,是否无法修改的参数可以查询 v$dm_ini 视图,para_type=’READ ONLY’ 表示无法修改。

数据库初始化过程如下

$

$ HAR=1 charset=1 log_size=2048 db_name=dmdb instance_name=dmdb SYSDBA_PWD="Dameng123" SYSAUDITOR_PWD="Dameng123" <

initdb V8

db version: 0x7000c

file dm.key not found, use default license!

License will expire on 2023-05-12

Normal of FAST

Normal of DEFAULT

Normal of RECYCLE

Normal of KEEP

Normal of ROLL

log file path: /dmdata/dmdb/dmdb01.log

log file path: /dmdata/dmdb/dmdb02.log

write to dir [/dmdata/dmdb].

create dm database success. 2022-11-24 13:04:54

$

4.4 注册数据库服务

以系统服务方式启动实例,DM 提供脚本将数据库实例注册为操作系统服务。

root 用户下切换到 cd /dmdata/dmdbms/script/root/:

cd /dmdata/dmdbms/script/root/

执行以下命令,执行脚本注册服务:

./dm_service_installer.sh -t dmserver -p dmdb -dm_ini /dmdata/dmdb/dm.ini

# cd /dmdata/dmdbms/script/root/

# ./dm_service_installer.sh -t dmserver -p dmdb -dm_ini /dmdata/dmdb/dm.ini

移动服务脚本文件(/dmdata/dmdbms/bin/DmServicedmdb 到 /etc/rc.d/init.d/DmServicedmdb)

创建服务(DmServicedmdb)完成

#

执行以下命令,以服务方式启动实例:

/etc/rc.d/init.d/DmServicedmdb start

# su - dmdba

$ /etc/rc.d/init.d/DmServicedmdb start

Starting DmServicedmdb: [ OK ]

$


5 数据库参数优化

完成以上步骤之后,还需对实例参数优化。可通过手动方式和自动方式进行调整。为增强参数优化的适用性,降低参数修改的过程风险,建议使用达梦数据库提供的 AutoParaAdj.sql 脚本进行实例参数优化,调整完成之后重启数据库使参数生效。


6 配置慢SQL日志

数据文件存放目录修改sqllog.ini(实例路径下),相关参数含义参考管理员手册。

vi /dmdata/dmdb/sqllog.ini

BUF_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 = ../log

PART_STOR = 1

SWITCH_MODE = 2

SWITCH_LIMIT = 512

ASYNC_FLUSH = 1

FILE_NUM = 5

ITEMS = 0

SQL_TRACE_MASK = 2:3:25

MIN_EXEC_TIME = 1500

USER_MODE = 0

USERS =

7 配置归档日志

dmdba用户下执行以下命令:

./disql SYSDBA/'"Hn@dameng123"'@localhost:5236

说明:密码使用单引号+双引号包围起来

生产环境必须开启归档日志(在线方式配置归档),且必须限制归档日志保留量,限制方法:

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

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

例如开启归档并限制归档空间为 100G(按实际存储空间给合适的值),如下所示

alter database mount;
alter database add archivelog 'dest=/dmdata/arch ,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=102400';
alter database archivelog;
alter database open;

8 配置备份策略

根据应用需求,定制备份策略如下所示

l 执行以下命令,创建作业系统表:(提前规划备份的路径)

SP_INIT_JOB_SYS(1);

l 全量备份(每周六 23 点全备):其中有1分钟后的一次性全备调度,执行完成后检查备份是否成功。

call SP_CREATE_JOB('bakfull',1,0,'',0,0,'',0,'每周六 23 点全备');
call SP_JOB_CONFIG_START('bakfull');
call SP_ADD_JOB_STEP('bakfull', 'bak1', 6, '01020000/dmdata/dmbak', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bakfull', 'std1', 1, 2, 1, 64, 0, '23:00:00', NULL, '2021-12-27 11:52:22', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakfull');

l 增量备份(每周除周六外每天 23 点增量备份):

call SP_CREATE_JOB('bakincr',1,0,'',0,0,'',0,'每周除周六外每天 23 点增量备份');
call SP_JOB_CONFIG_START('bakincr');
call SP_ADD_JOB_STEP('bakincr', 'bak2', 6, '41010000/dmdata/dmbak|/dmdata/dmbak', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bakincr', 'std2', 1, 2, 1, 63, 0, '23:00:00', NULL, '2021-12-27 11:52:22', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakincr');

l 备份定期删除(每天 23:30 删除 14 天前备份):

call SP_CREATE_JOB('delbak',1,0,'',0,0,'',0,'每天 23:30 删除 14 天前备份');
call SP_JOB_CONFIG_START('delbak');
call SP_ADD_JOB_STEP('delbak','bak1',0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dmdata/dmbak'');call sp_db_bakset_remove_batch(''DISK'',now()-14);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('delbak', 'del01', 1, 1, 1, 0, 0, '23:30:00', NULL, '2021-12-27 11:52:22', NULL, '');
call SP_JOB_CONFIG_COMMIT('delbak');

l 另外添加自动收集统计信息的任务(每天1点收集全库统计信息)

call SP_CREATE_JOB('statistics',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('statistics');
call SP_ADD_JOB_STEP('statistics', 'statistics1', 0, 'begin
for rs in (select ''sf_set_SESSION_para_value(''''HAGR_HASH_SIZE'''',(select cast(
case when max(table_rowcount(owner,table_name))<=(select max_value from v$dm_ini
where para_Name=''''HAGR_HASH_SIZE'''') and max(table_rowcount(owner,table_name))>=(
select min_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''') then
max(table_rowcount(owner,table_name)) when max(table_rowcount(owner,table_name))<(
select min_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''') then
(select min_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''') else
(select max_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''') end as bigint)
from dba_tables where owner=''''''||NAME||''''''));''
sql1,''DBMS_STATS.GATHER_SCHEMA_STATS(''''''||NAME||'''''',100,TRUE,''''FOR ALL COLUMNS SIZE AUTO'''');''
sql2
from SYS.SYSOBJECTS where TYPE$=''SCH'' ) loop
execute immediate rs.sql1;
execute immediate rs.sql2;
end loop;
end;', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('statistics', 'statistics1', 1, 2, 1, 64, 0, '01:00:00', NULL, '2021-12-27 11:52:22', NULL, '');
call SP_JOB_CONFIG_COMMIT('statistics');


9 数据库启停

切换到dmdba用户启停数据库服务

执行以下命令,以服务方式启停dmap服务:

/etc/rc.d/init.d/DmAPService start

/etc/rc.d/init.d/DmAPService stop

执行以下命令,以服务方式启停数据库实例:

/etc/rc.d/init.d/DmServicedmdb start

/etc/rc.d/init.d/DmServicedmdb stop

最后修改时间:2024-01-28 13:17:35
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论