注册
DCA学习对一些命令的简单总结
培训园地/ 文章详情 /

DCA学习对一些命令的简单总结

学到了学到了 2023/09/15 912 0 0

DM数据库Linux单机安装

安装环境:

操作系统 CPU 数据库版本
CentOS7 x86_64 架构 dm8_20230418_x86_rh6_64

1 准备工作

创建用户组、用户

禁止使用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/

2 命令行安装

1、切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。

[dmdba@~]$ /mnt/DMInstall.bin -i

2、按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】,选择【典型安装】,设置安装目录为/dm8

image.png<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

3 初始化数据库实例

达梦数据库的逻辑架构和 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

数据备份、定时备份作业

1. 开启数据库归档
## 归档文件存放至 /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
2. 对当前数据库做一个联机完全备份
## 备份名为"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';
3. 对TEST用户逻辑导出
## 逻辑备份文件存放在/dm8/backup中,备份文件命名为"test.dmp",日志文件命名为"test.log" ./dexp USERID=SYSDBA/Dameng123@localhost:5236 FILE=test.dmp DIRECTORY=/dm8/backup LOG=test.log OWNER=TEST
4. 创建JOB1
## 每周三、日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');
5. 创建JOB2
## 每周一、二、四、五、六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');
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服