安装环境:
操作系统 | CPU | 数据库版本 |
---|---|---|
CentOS7 | x86_64 架构 | dm8_20230418_x86_rh6_64 |
创建用户组、用户
禁止使用root用户安装数据库
# 创建一个dinstall的组。可选参数-g xxxxx:指定组ID
[root@~]$ groupadd -g 12349 dinstall
# 删除组 groupdel dinstall
# 创建dmdba用户。可选参数-u xxxxx:指定用户ID
[root@~]$ useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
# 修改用户密码为Dameng123
[root@~]$ passwd dmdba
2、修改文件打开最大数
编辑 /etc/security/limits.conf
文件,在最后添加4行:
dmdba hard nofile 65536 dmdba soft nofile 65536 dmdba hard stack 32768 dmdba soft stack 16384
3、加载光驱
将安装包iso文件放到虚拟机光驱中,切换到 root 用户,执行如下命令挂载镜像:
[root@~]$ mount -o loop /dev/cdrom /mnt
(mount命令 -o指定选项,loop用来把一个文件当成硬盘分区mount到目录)
4、新建安装目录
[root@~]$ mkdir /dm8
使用 root 用户建立文件夹,待 dmdba 用户建立完成后需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下
5、修改安装目录权限
[root@~]$ chown dmdba:dinstall -R /dm8/
1、切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。
[dmdba@~]$ /mnt/DMInstall.bin -i
2、按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】,选择【典型安装】,设置安装目录为/dm8
。
<img src="https://picturebed-chunlin.oss-cn-beijing.aliyuncs.com/img/202307072012219.png" alt="image-20230707201215190" style="zoom:80%;" />
3、按提示,以root用户执行命令,创建 DmAPService,否则会影响数据库备份。
[root@root]$ /dm8/script/root/root_installer.sh
达梦数据库的逻辑架构和 Oracle 一样,没有数据库的概念,只有:实例、用户、表 这样的等级概念。
上述为安装达梦数据库软件,不包含初始化实例,正面详细描述初始化达梦数据库实例。
根据实际需求,添加不同的初始化参数,具体可看 DM_dminit.pdf 手册:
[dmdba@~]$ cd /dm8/bin
[dmdba@bin]$ ./dminit PATH=/dm8/data EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=2048 CHARSET=1 LENGTH_IN_CHAR=1 CASE_SENSITIVE=0 BLANK_PAD_MODE=1
常见的初始化参数说明:
参数名称 | 作用 |
---|---|
PATH | 初始数据库存放的路径,在该路径下存储数据库实例的数据文件。 |
DB_NAME | 初始化数据库名称,默认为 DAMENG。名称为字符串,长度不能超过 128 个字符。 |
PAGE_SIZE | 数据文件使用的页大小。取值:4、8、16、32,单位:KB。默认值为 8。 |
EXTENT_SIZE | 数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值:16、32。单位:页数。缺省值 16。 |
CASE_SENSITIVE | 标识符大小写敏感。当大小写敏感时,小写的标识符应用””括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,在标识符比较时也不能区分大小写。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。默认值为 Y。 |
CHARSET/UNICODE_FLAG | 字符集选项。取值:0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。默认为 0。 |
LOG_SIZE | 重做日志文件大小。取值:64~2048 之间的整数,单位 MB。默认值为 256。 |
TIME_ZONE | 初始化时区,默认为东八区(+08:00)。 |
INSTANCE_NAME | 初始化数据库实例名称,默认为 DMSERVER。 |
BLANK_PAD_MODE | 设置字符串比较时,结尾空格填充模式是否兼容 Oracle。取值:1 兼容;0 不兼容。默认为 0。 |
首次启动数据库实例最好用前台方式启动,而且不能以mount方式启动
[dmdba@bin]$ ./dmserver /dm8/data/DAMENG/dm.ini
[root@~]cd /dm8/script/root
[root@root]./dm_service_installer.sh -t dmserver -i /data/DAMENG/dm.ini -p DM
# 切换dmdba
[dmdba@~]$ cd /dm8/bin
[dmdba@bin]$ ./DmServiceDM start
注意
通过操作系统服务的方式启动达梦数据库,即使用 root 用户来执行,也会自动切换为 dmdba 用户来启动的。
# 在/dm8/bin目录中使用disql连接数据库:
[dmdba@bin]$ ./disql SYSDBA/SYSDBA@localhost:5236
## 归档文件存放至 /dm8/arch 目录,归档文件大小为128M,修改配置文件后重启数据库
## 修改 ARCH_INI=1,
[dmdba@~]$ vi /dm8/data/DAMENG/dm.ini
## 编辑 dmarch.ini 文件,保存在 dm.ini 所在的目录
[dmdba@~]$ vi /dm8/data/DAMENG/dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 2048
## 备份名为"FULL_BACK",备份 集文件存放在/dm8/backup/FULL_BACK目录中
## 恢复前执行
SQL> BACKUP DATABASE FULL TO "FULL_BACK" BACKUPSET '/dm8/backup/FULL_BACK';
BACKUP DATABASE FULL TO "FULL_BACK" BACKUPSET '/dm8/backup/FULL_BACK';
## 逻辑备份文件存放在/dm8/backup中,备份文件命名为"test.dmp",日志文件命名为"test.log"
./dexp USERID=SYSDBA/Dameng123@localhost:5236 FILE=test.dmp DIRECTORY=/dm8/backup LOG=test.log OWNER=TEST
## 每周三、日23:00对数据库做完全备份
## 开启代理环境
SP_INIT_JOB_SYS(1);
call SP_CREATE_JOB('JOB1',1,0,'',0,0,'',0,'JOB1_FULL');
call SP_JOB_CONFIG_START('JOB1');
call SP_ADD_JOB_STEP('JOB1', 'JOB1_FULL', 6, '00000000/dm8/data/DAMENG/bak', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB1', 'JOB1_FULL', 1, 2, 1, 9, 0, '23:00:00', NULL, '2022-11-01 13:46:24', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB1');
## 每周一、二、四、五、六23:00对数据库做增量备份
call SP_CREATE_JOB('JOB2',1,0,'',0,0,'',0,'JOB2_INCREMENT');
call SP_JOB_CONFIG_START('JOB2');
call SP_ADD_JOB_STEP('JOB2', 'JOB2_INCREMENT', 6, '10000000/dm8/data/DAMENG/bak|/dm8/data/DAMENG/bak', 0, 3, 0, 0, NULL, 0);
call SP_ADD_JOB_STEP('JOB2', 'JOB2_full2', 6, '00000000/dm8/data/DAMENG/bak', 0, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB2', 'JOB2_INCREMENT', 1, 2, 1, 118, 0, '23:00:00', NULL, '2022-11-03 10:05:05', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB2');
文章
阅读量
获赞