单机部署达梦8+定时备份
单机部署比较简单,之前没打算整理出一篇博客,但是后来发现每个人的习惯不同,部署方式、部署目录等有些区别,现在参考其他同事的习惯,总结出一个适合自己的部署方式。
1. 环境部署说明
1.1 软硬件资源
1.1.1常用命令
1.1.1.1查看是否支持图形化
rpm -qa | grep -i xorg-x11
没有任何输出的话就是不支持图形化。
1.1.1.2查看系统发行版本
cat /etc/redhat-release
1.1.1.3查cup
lscpu
1.1.1.4处理器
cat /proc/cpuinfo
只有一个英特尔处理器.
1.1.1.5内存大小
free -g
1.1.1.6虚拟机还是物理机
dmidecode -s system-product-name
或者lshw -class system
或者dmesg | grep -i virtual
如果结果返回包含virtual,则是虚拟机
1.1.2配置信息
(1)服务器配置:
硬件类别 |
硬件名称 |
配置 |
数量 |
备注 |
数据服务器 |
虚拟机 |
CPU:x86_64 OS: CentOS Linux release 7.5.1804 (Core) 核数:1 内存:1GB |
1 |
|
(2)软件配置信息如下:
软件类别 |
操作系统 |
备注 |
达梦数据库 |
dm8_20210618_x86_rh7_64_ent_8.1.2.18_pack3 |
|
(3)网络IP规划
服务器类别 |
IP1地址 |
IP2地址 |
备注 |
英特尔服务器1 |
192.168.202.133 |
|
|
(4)目录与存储规划
目录 |
说明 |
容量 |
/home/dmdba/dmdbms |
软件程序安装目录 |
|
/home/dmdba/dmdbms/bin |
达梦执行程序所在目录 |
|
/home/dmdba/dmdbms/data/DAMENG |
存放数据库文件(数据文件、REDO日志文件、控制文件等) |
|
/home/dmdba/dmdbms/data/ DAMENG /arch |
存放归档日志 |
|
/home/dmdba/dmdbms/data/DAMENG/bak |
存放数据库备份
|
|
1.2 数据库部署环境
现场共部署1台达梦数据库单机。
初始化信息:./dminit path=/home/dmdba/dmdbms/data case_sensitive=n
1.2.1服务器部署环境说明
1)配置信息
数据库配置详情
IP地址 |
初始状态 |
默认用户名/密码:端口号 |
启动服务 |
192.168.202.133 |
单机 DMSERVER |
SYSDBA/SYSDBA:5236 |
启动实例: systemctl start DmServiceDMSERVER 停止实例: systemctl stop DmServiceDMSERVER
|
2.安装达梦数据库
2.1安装达梦数据库管理系统DM8.1
[root@dameng1 home]# groupadd dinstall
[root@dameng1 home]# useradd -g dinstall dmdba
[root@dameng1 home]# chown -R dmdba:dinstall /home
[root@dameng1 home]# vi /etc/security/limits.conf
* hard nonfile 65536
* soft nonfile 65536
[root@dameng1 mnt]# su - dmdba
dmdba口令:略
[dmdba@dameng1 home]$ mkdir dmdbms
[dmdba@dameng1 home]$ mkdir soft --上传DMInstall.bin到soft
[dmdba@dameng1 soft]$ chmod -R 755 DMInstall.bin
[dmdba@dameng1 soft]$ ./DMInstall.bin -i
[dmdba@dameng1 soft]$ ./DMInstall.bin -i
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c
解压安装程序..........
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7190
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
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
可打开文件数过少,建议至少设置为65536或更多。
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:n
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:
所需空间: 1263M
请选择安装目录 [/home/dmdba/dmdbms]:
可用空间: 6G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1263M
可用空间: 6G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2021-08-09 09:29:42
[INFO] 安装达梦数据库...
2021-08-09 09:29:42
[INFO] 安装 基础 模块...
2021-08-09 09:30:11
[INFO] 安装 服务器 模块...
2021-08-09 09:30:17
[INFO] 安装 客户端 模块...
2021-08-09 09:30:55
[INFO] 安装 驱动 模块...
2021-08-09 09:31:14
[INFO] 安装 手册 模块...
2021-08-09 09:31:22
[INFO] 安装 服务 模块...
2021-08-09 09:31:28
[INFO] 移动日志文件。
2021-08-09 09:31:28
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
安装结束
[root@dameng1 bin]# cd /home
[root@dameng1 home]# /home/dmdba/dmdbms/script/root/root_installer.sh
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
mv: cannot stat ‘/home/dmdba/dmdbms/bin/dm_svc.conf’: No such file or directory
修改服务器权限
创建DmAPService服务
创建服务(DmAPService)完成
启动DmAPService服务
注意:我一开始做个卸载操作,在root用户下注册DmAPService服务的时候报错,如下图:
该错误表示 getcwd 命令无法定位到当前工作目录。一般来说是因为你 cd 到了某个目录之后 rm 了这个目录,这时去执行某些 service 脚本的时候就会报 getcwd 错误。只需要 cd 到任何一个实际存在的目录下在执行命令即可。我的处理方法是cd到home下再执行。
2.2创建数据库
[dmdba@dameng1 /]$ cd /home/dmdba/dmdbms/bin
[dmdba@dameng1 bin]$ ./dminit path=/home/dmdba/dmdbms/data case_sensitive=n
[dmdba@dameng1 bin]$ ./dminit path=/home/dmdba/dmdbms/data CASE_SENSITIVE=n
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2022-06-17
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /home/dmdba/dmdbms/data/DAMENG/DAMENG01.log
log file path: /home/dmdba/dmdbms/data/DAMENG/DAMENG02.log
write to dir [/home/dmdba/dmdbms/data/DAMENG].
create dm database success. 2021-08-09 09:39:38
2.3启动达梦数据库服务
[dmdba@dameng1 bin]$ ./dmserver /home/dmdba/dmdbms/data/DAMENG/dm.ini
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-18-21.06.17-141777-10013-ENT startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2022-06-17
file lsn: 0
ndct db load finished
ndct fill fast pool finished
iid page's trxid[1002]
NEXT TRX ID = 1003
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 mgr pages, 0 mgr recs!
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
trx: 2004 purged 1 pages
trx: 2023 purged 1 pages
trx: 2024 purged 1 pages
trx: 2025 purged 1 pages
trx: 2026 purged 1 pages
trx: 2036 purged 1 pages
trx: 2156 purged 1 pages
trx: 2169 purged 1 pages
trx: 2170 purged 1 pages
trx: 2171 purged 1 pages
trx: 2172 purged 1 pages
trx: 2173 purged 1 pages
trx: 2175 purged 1 pages
trx: 2176 purged 1 pages
trx: 2178 purged 1 pages
trx: 2180 purged 1 pages
trx: 2186 purged 1 pages
trx: 2192 purged 1 pages
trx: 2202 purged 1 pages
trx: 2215 purged 1 pages
trx: 2216 purged 1 pages
trx: 2217 purged 1 pages
trx: 2218 purged 1 pages
trx: 2230 purged 1 pages
trx: 2232 purged 1 pages
trx: 2233 purged 1 pages
trx: 2234 purged 1 pages
trx: 2247 purged 1 pages
trx: 2250 purged 23 pages
trx: 2277 purged 1 pages
trx: 2278 purged 1 pages
trx: 2279 purged 1 pages
trx: 2280 purged 1 pages
trx: 2286 purged 1 pages
trx: 2288 purged 1 pages
trx: 2290 purged 1 pages
trx: 2295 purged 1 pages
trx: 2300 purged 1 pages
trx: 2305 purged 1 pages
trx: 2307 purged 1 pages
trx: 2310 purged 1 pages
trx: 2312 purged 1 pages
trx: 2318 purged 1 pages
trx: 2319 purged 1 pages
trx: 2468 purged 1 pages
trx: 2494 purged 8 pages
trx: 2516 purged 1 pages
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
SYSTEM IS READY.
2.4 注册数据库服务
2.4.1 注册数据库实例服务
[root@dameng1 home]# cd /home/dmdba/dmdbms/script/root
[root@dameng1 root]# ls
dm_service_installer.sh dm_service_uninstaller.sh root_installer.sh
[root@dameng1 root]# ./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini
创建服务(DmServiceDMSERVER)完成
注意:
1、 必须用root用户注册服务
2、 如果不知道注册服务的命令,可以./dm_service_installer.sh -h查看帮助。
2.4.2用服务方式启动数据库
[dmdba@dameng1 root]$ cd /home/dmdba/dmdbms/bin
[dmdba@dameng1 bin]$ ./DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]
注意:
1、 启动服务最好用dmdba用户
2、 还可以用systemctl start DmServiceDMSERVER在任意目录启动数据库。
2.4.3验证是否启动成功
[dmdba@dameng1 bin]$ ./disql
disql V8
用户名:
密码:
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 24.605(ms)
SQL> exit;
注意:
1、 安装的时候没有修改用户名密码,则默认直接回车即可,默认(SYSDBA/ SYSDBA)
2、 用服务的方式验证
2.5定时备份
注意:备份一般建议和数据库实例分开放置,我暂时用的是默认路径。
增量备份和全量备份可以都放在bak目录下,如果觉得不好区分,可以在bak目录下分别创建full_bak(全量备份)和inc_bak(增量备份)目录分开存储。
2.5.1打开归档
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'DEST = home/dmdba/dmdbms/data/DAMENG/arch, TYPE = local,FILE_SIZE = 1024, SPACE_LIMIT = 2048';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
select arch_mode from v$database;--查看是否打开归档
2.5.2全库备份
backup database full to "DB_DAMENG_FULL_2021_08_09_10_21_15" backupset '/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_2021_08_09_10_21_15';
注意,我执行全库备份时报如下错误:
解决方式:
[dmdba@dameng1 bin]$ ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
[dmdba@dameng1 bin]$ ./dmrman
dmrman V8
RMAN> repair archivelog database '/home/dmdba/dmdbms/data/DAMENG/dm.ini';
repair archivelog database '/home/dmdba/dmdbms/data/DAMENG/dm.ini';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[29463], file_lsn[29463]
repair archive log successfully.
repair time used: 212.885(ms)
time used: 225.800(ms)
RMAN> exit
time used: 0.505(ms)
[dmdba@dameng1 bin]$ ./DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]
修复归档后再备份就成功了。
2.5.3创建代理环境
SP_INIT_JOB_SYS(1);
注意:
1、 如果不创建代理环境,会报如下错误
2、 关闭代理环境
SP_INIT_JOB_SYS(10);
2.5.3定时增量备份
每周一到周六23点执行增量备份。
call SP_CREATE_JOB('增量备份',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('增量备份');
call SP_ADD_JOB_STEP('增量备份', 'Step1', 6, '11000000/home/dmdba/dmdbms/data/DAMENG/bak|/home/dmdba/dmdbms/data/DAMENG/bak', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('增量备份', 'Step2', 1, 2, 1, 126, 0, '23:00:00', NULL, '2021-08-09 11:00:16', NULL, '');
call SP_JOB_CONFIG_COMMIT('增量备份');
2.5.3定时全库备份
每周日22点进行全库备份
call SP_CREATE_JOB('全库备份',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('全库备份');
call SP_ADD_JOB_STEP('全库备份', 'Step1', 6, '01000000/home/dmdba/dmdbms/data/DAMENG/bak', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('全库备份', 'Step2', 1, 2, 1, 1, 0, '22:00:00', NULL, '2021-08-09 11:02:31', NULL, '');
call SP_JOB_CONFIG_COMMIT('全库备份');
2.6修改redo日志大小
单位是M
ALTER DATABASE RESIZE LOGFILE '/home/dmdba/dmdbms/data/DAMENG/DAMENG01.log' to 2048;
ALTER DATABASE RESIZE LOGFILE '/home/dmdba/dmdbms/data/DAMENG/DAMENG02.log' to 2048;
3.配置服务名
编辑dm_svc.conf,添加如下内容:
# 全局配置区
NORMAL=(127.0.0.1:5236)
TIME_ZONE=(+480) #表示+8:00 时区
LOGIN_ENCRYPT=(0)
DIRECT=(Y)
# 服务配置区
# 常规环境,两个没有关系的 IP
[ NORMAL ]
TIME_ZONE=(+540) #表示+9:00 时区
LOGIN_MODE=(4)
SWITCH_TIMES=(3)
SWITCH_INTERVAL=(100)
4.其他
1、我是在虚拟机里创建的达梦数据库,为了节省空间,未支持图形化,所以不能在bin下./manager打开管理工具.但是,我本地安装了达梦数据库,可以用我本地的manager连接虚拟机里的数据库实例,如下图,可以看到我新建的数据库备份以及作业.
2、
在dm.ini中修改manager管理工具中库备份默认查找目录。
更多资讯请上达梦技术社区了解: https://eco.dameng.com