一、引言

现如今数据的重要性不言而喻,在MES系统上线之后,客户的生产数据是重中之重的,容不得半点闪失,应该做好万全的准备,定时定点做好备份以防意外情况产生。往往因系统BUG、操作人员失手、病毒感染、恶意删除等原因,导致的后果往往是致命的,轻则现场停机,重则数据丢失。所以要对我们的线上数据库定时做全量备份与增量备份。例如:每天做一次增量备份,定时一月做全量备份。以下所涉及的数据库为MES系统常用的SQL Server和Oracle数据库。

二、SQL Server数据库

备份介绍以及实作教学

备份类别

1. 完整数据备份

简介:

备份整个数据库,恢复时恢复所有。优点是简单,缺点是数据量太大,非常耗时。但其好处是在还原数据库时,也只要将整个数据库从一份数据库备份还原到SQL Server中即可。它是其他备份的基础,再做其他备份之前,必须得先做此方式的备份。

2. 差异数据备份

简介:

所谓增量,就是以某个起始时间点的全量数据为基础,备份该时间点以后的数据。而起始时间点的全量数据,就是通过完整备份而为的。差异备份往往也称"增量备份",所需要的备份时间和备份空间都比完整备份少,所以此方式最合适作为经常性的备份方式。

3. 事务日志备份

简介:

该备份是备份事务记录文件的内容,由于事务日志文件只会记录我们在前一次数据库备份或事务日志记录备份之后,对数据库所做的变动过程,也就是只记录某时间段的数据库变动情况,因此在做事务记录备份之前,必须做一次完全的数据库备份。如果你设置了恢复模式为【简单】,你将无法使用【事务日志】备份。

备份操作方式

  1. 连接上目标数据库,在对象资源管理器找到"管理",选择维护计划,右键点击维护计划向导,并给维护计划命名

  1. 点击下一步创建维护计划

  1. 输入设定的计划名称。这里可设定后续任务是否统一安排或单独安排。若选择统一安排点击下方更改进行设定运行时间。建议选择单独计划,不同备份方式不同频率运行


  1. 勾选要进行的任务,这里选择三种备份数据库的方式,点击下一步

  1. 开始逐一配置任务,下一步

  1. 选择需要备份的数据库,并且配置运行计划,配置界面如步骤3图2所示,点击下一步

  1. 后续任务配置界面跟步骤5相同,不同备份方式请设置不同运行计划的执行时间和频率,可在目标中设定不同的备份文件存放路径


  1. 针对事务日志备份,当数据库的恢复模式为简单模式时不可进行日志备份。建议将数据库的恢复模式改成完整模式再进行日志备份
  2. 设定完备份相关数据后,点击下一步完成维护计划设定



  1. 建立完成维护计划后,可在"管理"->"维护计划"中看到新增的备份计划,并且可以再次进行修改


备份注意事项

数据库长期备份会积压过多的旧备份文件,可通过添加任务清除
**右击修改维护计划,从工具箱中拖动清除历史记录任务、清除维护任务到右侧空白处,设定运行时间定时执行 **
将三个任务连线, 双击清除等任务可设定清除的文件夹及备份文件的保留时间。 注意清除的文件格式,完整和差异的备份文件为bak格式,事务日志为trn格式。

还原备份

  1. 选择对应数据库,右键,选择"任务"->“还原”->“数据库”

  1. 勾选要还原的的备份集,点击"确定"

  1. 等待还原成功

实时备份数据库

当因个案异动、客户需求导致的对数据库产生的增删改查等操作,需要先行备份数据库。

  1. 选择需要异动的数据库,右键,选择"任务"->“备份”

  1. 建议选择完整备份,选择备份路径后点击确定按钮,完成实时备份

  1. 备份完毕数据库后再进行数据库异动处理

三、Oracle数据库

备份实作教学

备份操作方式

1. 备份前设定

使用sqldeveloper(或其他Oracle数据库工具)更改系统参数。执行下面语句:

ALTER SYSTEM SET DEFERRED_SEGMENT_CREATION=FALSE SCOPE=BOTH;

目的:Oracle 使用exp汇出资料时,不会导出空表,更改之后,新创立的table使用exp指令也可以输出了。

2. 获取TNS名称

  • 开启Oracle的NetManager

  • 取得TNS名称,一般为smesdb,有时也会被设定为其它名称:mesdb、orcl、oracle。请优先确保获取的名称可以连线到Oracle

3. 增加自动备份Oracle的批处理文件

请先修改DataBase备份目录、账号、密码、TNSName等信息,并保证能够连接上Oracle数据库
exp [oracle账号]/[oracle密码]@[TNS名称]

@echo off
echo ================================================
echo  Windows环境下Oracle数据库的自动备份脚本
echo  1. 使用当前日期命名备份文件。
echo  2. 自动删除7天前的备份。
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
set nls_lang=american_america.al32utf8
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
::设置用户名、密码和要备份的数据库。
::set USER=system
::set PASSWORD=sys
::set DATABASE=database
::创建备份目录。
if not exist "D:\backup\data"  mkdir D:\backup\data
if not exist "D:\backup\log"   mkdir D:\backup\log
set DATADIR=D:\backup\data\
set LOGDIR=D:\backup\log\
echo %LOGDIR%
echo %BACKUPDATE%
echo %DATADIR%
exp user/password@tnsname file='%DATADIR%exp_user_%BACKUPDATE%.dmp' log='%LOGDIR%exp_user_%BACKUPDATE%.log' statistics=none
::删除7天前的备份。
forfiles /p %DATADIR% /d -7 /s /m *.*  /c "cmd /c del @path"
forfiles /p %LOGDIR% /d -7 /s /m *.*  /c "cmd /c del @path"

4. 试运行批处理文件

备份完成后,DataBase备份目录中,检查是否存在备份文件,如果存在,则运行成功。

5. 建立自动执行计划

  • 在Windows管理工具中找到"任务计划程序"

  • 打开"任务计划程序",选择"创建基本任务"

  • 输入任务名称以及描述,点击下一步

  • 选择触发事件,建议每天备份一次,点击下一步

  • 选择任务开始时间,点击下一步

  • 选择启动程序,点击下一步

  • 点击浏览选中要执行的批处理文件,点击下一步

  • 确认信息正确,点击完成

  • 创建完成后,即可在任务计划程序库中查看到

  • 双击任务,勾选"不管用户是否登录都要运行",点击确定保存,右键任务点击"运行"即可试运行

还原备份

  1. 先删除需要导入的用户 drop user 用户名 cascade;
  2. 通过 imp 用户名/密码@TNSName full=y file=导入文件绝对路径\文件名.dmp ignore=y 进行还原

实时备份数据库

当因个案异动、客户需求导致的对数据库产生的增删改查等操作,需要先行备份数据库。

  1. 通过cmd执行以下语句
exp 用户名/密码@TNSName file=D:\DB_backup\备份文件名.dmp log=D:\DB_backup\备份日志名.log owner=用户名 STATISTICS=NONE
  1. 确认备份成功

SQL和Oracle数据库备份相关推荐

  1. oracle sql 导入mysql数据库备份_使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复...

    使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复 这种操作百度一搜一大片,今天整理以前做的项目时自己备份了一下数据库,试着将数据进行导出备份和导入恢复了一下:下面是操作过程: 1 ...

  2. ORACLE数据库备份

    ORACLE数据库备份 一.意义: 当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的 故障(硬件故障.网络故障.进程故障和系统故障)影响数据库系统的操作,影响数据库中数 ...

  3. Oracle数据导入要多久,oracle数据库备份导入要注意的几个问题

    oracle数据库备份导入要注意的几个问题 (1)oracle数据库备份的导入对数据库的版本有要求,也即源数据库(导出产生备份的数据库)的版本要和目标数据库(导入数据库)的版本一致,否则可能导致导入失 ...

  4. 记录——oracle数据库备份

    oracle数据库备份 Oracle数据库的三种标准的备份方法: 1.导出/导入(EXP/IMP). 2.热备份. 3.冷备份. 注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一.导出/导 ...

  5. python读取oracle数据库中文乱码_PL/SQL连接Oracle数据库,中文乱码,显示问号

    PL/SQL连接oracle数据库 1.简单介绍 在不安装oracle数据库的情况下使用pl/sql连接远程oracle数据库. 2.详细步骤: a)      安装PL/SQL.依据自己的操作系统安 ...

  6. oracle数据备份 full,oracle数据库备份 full

    通过exp命令对Oracle数据库进行备份操作(提供两种情况的备份:备份本地,备份远程的数据库) 通过exp命令可以对Oracle数据库进行备份操作,其命令含义是:exp 用户名/密码@数据库所在ip ...

  7. oracle 作业调度里pl/sql怎么写,PL/SQL实现Oracle数据库任务调度

    PL/SQL实现Oracle数据库任务调度 PL/SQL实现Oracle数据库任务调度 正在看的ORACLE教程是:PL/SQL实现Oracle数据库任务调度.摘要:本文主要就数据库恢复与系统任务的调 ...

  8. PL/SQL连接oracle数据库

    PL/SQL连接oracle数据库 1.简单介绍 在不安装oracle数据库的情况下使用pl/sql连接远程oracle数据库. 2.详细步骤: a)      安装PL/SQL.依据自己的操作系统安 ...

  9. windows 客户端的Navicat PL/SQL 连接Oracle 数据库

    PL/SQL 连接Oracle 数据库 1.下载instantclient_11_2文件 官网可以下载 2.本地的监听文件 D:\Program Files\instantclient_11_2\ne ...

最新文章

  1. 做网页需要学哪些计算机知识,网页美工设计需要掌握的电脑常识
  2. Movavi PDF Editor 3中文版
  3. 中国3G标准开始欧洲征程 中兴通讯先拔头筹
  4. HLS-搭建Nginx流媒体服务器
  5. TCP/IP的层次结构以及各层数据封装的过程 (一)
  6. “自启动”树莓派上的 .NET Core 3.0 环境
  7. 【BZOJ1188】分裂游戏,博弈
  8. Linux系统调用--getrlimit/setrlimit函数详解
  9. 查询端口被什么程序占用及停止的方法及netstat的妙用
  10. 输出素数和排序后的数组和杨辉三角
  11. 贝叶斯定理到贝叶斯滤波器
  12. 无密码退出、卸载趋势防毒墙网络版
  13. 如何快速解决或避免EDI系统磁盘空间不足?
  14. matlab plc控制系统设计,基于MATLAB的PLC温度监控系统设计
  15. 织梦cms里面文章里面的HTML,dede源码在其它页面调用单页文章内容并过滤HTML代码的方法...
  16. log4j自定义新的级别
  17. 直男届的杀手-『小冰』架构解析
  18. vsphere学习笔记系列-vmotion
  19. 编译apache安装
  20. qda二次判别_R语言线性分类判别LDA和二次分类判别QDA实例

热门文章

  1. Linux基础系统优化及常用命令
  2. 神经网络算法是什么意思,神经网络属于算法吗
  3. 2020届校招算法岗面经汇总
  4. 3dmax中如何赋予材质
  5. PHP 抓取接口和网页(爬取方式)
  6. 南邮 OJ 1076 机器狗组装费用
  7. 16种css3动画弹出遮罩层
  8. POI实现一个通用的Excel读取模板
  9. python opcua使用教程
  10. android型号手机怎么截图,如何在Android手机上屏幕截图(仅限Rooted Phone) | MOS86...