DM8:达梦数据库dexp-DMP逻辑导出按用户模式定时自动备份数据库
环境介绍1 编写脚本&配置文件1.1编写shell脚本备份数据库1.2 编写dm_conf 配置文件1.3 编写用户名密码配置文件(用空格分隔多个用户,不能换行)1.4 编写ip:port 配置文件1.5 编写bak_path备份路径配置文件 2 编写linux 定时任务3 执行dmp.sh 脚本输出的日志4 dmp 命令参数介绍5 达梦数据库学习使用列表环境介绍
在某些特殊情况无法使用全库备份,需要按用户备份部分重要的数据表,适合使用dexp逻辑备份若实际配置文件路径,数据库安装路径与博文不符,只需修改dmp.sh脚本中的两处:dm_conf.txt路径与/home/dmdba/dmdbms/bin 路径
1 编写脚本&配置文件
1.1编写shell脚本备份数据库
vi /home/dmdba/dmp.sh#!/bin/bashecho -e '\n\n\n'time=$(date "+%Y-%m-%d-%H-%M-%S")echo "开始时间是:"$time#读取配置文件路径exec < /home/dmdba/dmp_conf.txtread dmp_conf#读取用户名密码#多个用户中间用空格分开exec < $dmp_conf/dm_user.txtread dm_userpwd#读取ip:portexec < $dmp_conf/ip_port.txtread ip_port#读取备份路径exec < $dmp_conf/bak_path.txtread bak_path#创建备份路径mkdir -p $bak_path/DATA$time#linux 中定义一个数据的语法为var_dm=("$dm_userpwd")var_count=0#数组的下标从0开始。#for遍历for i in ${var_dm[@]}; do#获取用户名dm_user=${i%/*}echo 备份数据库名称: $dm_usercd /home/dmdba/dmdbms/bin&&./dexp USERID=$i@$ip_port FILE=$bak_path/DATA$time/$dm_user.dmp LOG=$bak_path/DATA$time/$dm_user.log SCHEMAS=$dm_user CONSTRAINTS=N TABLESPACE=N GRANTS=N TRIGGERS=N COMPRESS=Y >> /dev/null#过滤不要导出的表#EXCLUDE=TABLES:A#打印日志cat $bak_path/DATA$time/$dm_user.log |grep SCHEMAcat $bak_path/DATA$time/$dm_user.log |grep 警告#计数器var_count=$[$var_count+1]done#任务执行完成echo "------------------------------------------------"echo "共 "$var_count" 个 数据库用户备份完成"echo "------------------------------------------------"echo "开始时间是:"$timetime2=$(date "+%Y-%m-%d-%H-%M-%S")echo "结束时间是:"$time2echo -e '\n\n\n'
1.2 编写dm_conf 配置文件
vi /home/dmdba/dm_conf.txt/home/dmdba/dmp_conf
1.3 编写用户名密码配置文件(用空格分隔多个用户,不能换行)
vi /home/dmdba/dmp_conf/dm_user.txtSYSDBA/SYSDBASYSDBA DM/SYSDBASYSDBA
1.4 编写ip:port 配置文件
vi /home/dmdba/dmp_conf/ip_port.txt192.168.248.19:5236
1.5 编写bak_path备份路径配置文件
vi /home/dmdba/dmp_conf/bak_path.txt/home/dmdba/backup
2 编写linux 定时任务
每晚23点 20分开始备份定时任务配置介绍- -点我[root@localhost backup]$ crontab -e20 23 * * * cd /home/dmdba;./dmp.sh >> /home/dmdba/dmp.log[root@localhost backup]$
3 执行dmp.sh 脚本输出的日志
[root@localhost backup]$ /home/dmdba/dmp.sh开始时间是:-08-25-18-19-35备份数据库名称: SYSDBA成功导出 第1 个SCHEMA :SYSDBA共导出 1 个SCHEMA成功终止导出, 没有出现警告备份数据库名称: DM成功导出 第1 个SCHEMA :DM共导出 1 个SCHEMA成功终止导出, 没有出现警告------------------------------------------------共 2 个 数据库用户备份完成------------------------------------------------开始时间是:-08-25-18-19-35结束时间是:-08-25-18-19-36[root@localhost backup]$
4 dmp 命令参数介绍
USERID:用户名/MiMa@IP:端口如果MiMa带特殊字符,双引号外边加一层单引号 '"abc@)16"'FILE:导出路径LOG:导出日志OWNER:导出用户拥有权限的所有数据库对象SCHEMAS:以哪个模式导出TRIGGERS:触发器 Y=导出,N=不导出GRANTS:权限 Y=导出,N=不导出CONSTRAINTS:约束 Y=导出,N=不导出TABLESPACE:表空间 默认不导COMPRESS:压缩导出 Y=压缩,N=不压缩TABLE_EXISTS_ACTION=TRUNCATE:表如果存在,就删除REMAP_SCHEMA:源模式:目标模式(假如以A模式导出来的dmp文件,要导入到B模式里,需要用到这个参数)FAST_LOAD=Y 使用快速装载EXCLUDE= TABLES:A 不导出的表A
5 达梦数据库学习使用列表
欢迎一起学习交流 达梦数据库学习使用列表 点我跳转
如果觉得《DM8:达梦数据库dexp-DMP逻辑导出按用户模式定时自动备份数据库》对你有帮助,请点赞、收藏,并留下你的观点哦!