热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

备份和恢复-mysql教程

备份定义:备份是一份数据副本。这个数据副本包含着数据库的主要部分,例如控制文件和数据文件。备份就像是一项安全措施,他可以防止意外的数据丢失,即便原始数据丢失了,我们也可以通过备份来重新构建数据。备份分为物理备份和逻辑备份。物理备份,将实际

备份定义:备份是一份数据副本。这个数据副本包含着数据库的主要部分,例如控制文件和数据文件。备份就像是一项安全措施,他可以防止意外的数据丢失,即便原始数据丢失了,我们也可以通过备份来重新构建数据。 备份分为物理备份和逻辑备份。物理备份,将实际

备份定义:备份是一份数据副本。这个数据副本包含着数据库的主要部分,例如控制文件和数据文件。备份就像是一项安全措施,他可以防止意外的数据丢失,即便原始数据丢失了,我们也可以通过备份来重新构建数据。

备份分为物理备份和逻辑备份。物理备份,将实际组成的数据库的操作系统文件从一处拷贝到另外一处的备份过程,可以使用Oracle的恢复管理器(recovery Manager,RMAN)或操作系统命令进行数据的物理备份。

根据数据库的备份策略可分为:全部数据库备份和部分数据库备份。

全部数据库备份:包含所有数据库文件和至少一个控制文件。部分数据库备份:可能包括0个或多个表空间,或者0个或多个数据文件,归档日志后控制文件。

根据备份类型可以分为完全备份和增量备份。完全备份,在对数据文件进行备份是将数据文件的所有数据块全部备份出来,不论该数据块是否被修改过。增量备份,自上一次备份后,数据文件中发生变化的数据块的一个副本。

根据实施物理备份时的数据库状态分为冷备份和热备份。冷备份又称为一直备份和脱机备份,在数据库没有打开的情况下创建的。热备份是不一致备份或联机备份,当数据库中可读写的数据库文件和控制文件的系统改变号(SCN)在不一致的条件下备份。

逻辑备份与恢复,就是对数据库实施导入和导出,导出,数据库的逻辑备份,实质是读取一个数据库记录集并将这个记录写入一个文件,这些记录的导出与其物理位置无关。

导入,数据库的逻辑恢复,实质是读取被导出的二进制转储文件并将其恢复到数据库。

逻辑备份创建数据库对象的逻辑拷贝并存入一个二进制转储文件,这种二进制转储文件一般都是.dmp文件。

恢复定义:就是当发生故障后,利用已备份的数据文件或者控制文件,重新建立一个完整的数据库。恢复分为实例恢复和介质恢复。实例恢复是当Oracle实例出现失败后,Oracle自动进行的恢复。介质恢复是当存放数据库的介质出现故障时所做的恢复。

数据泵是一种在数据库之间或在数据库与操作系统文件之间传输数据或元数据的高速机制。

数据泵可以用来在两个数据库之间或者单个数据库内把数据库从一个用户复制到另外一个用户,他还可以用来把整个数据库的逻辑结构副本、一个用户列表、一个库表列表或一个表空间列表提取到可移植的操作系统。

数据泵工具可以从命令行实用程序expdp和impdp中调用,或者通过PL/SQL程序包DBMS_DATAPUMP调用。

数据泵技术的特定:1、导入/导出的所有工作都由数据库实例完成。2、可以使用DBMS_DATAPUMPPL/SQL建立、检测和调整数据泵任务。3、可以对IMPDP/EXPDP导入/导出任务进行重新启动(类似于网络下载的断点续传)

如果要将数据导出到一个文件中,首先要做的就是为输出路径建立一个数据库的DIRECTORY对象,然后还要给将要进行数据导入和导出的用户授予访问权限。

使用CREATE DITECTORY创建目录对象window环境下:CREATEDIRECTORY pbdir AS ‘D:\datadump’; Unix环境下:CREATEDIRECTORY pbdir AS ‘/oracle/datapump/dumps’;

为用户授权:grant read,write on directorypbdir to pb;授完权后用户可以使用数据泵导入和导出操作了。

恢复方法分类:完全恢复,将数据库恢复到数据库失败时的状态。不完全备份,将数据库恢复到数据库失败前的某一时刻的状态。

Expdp的导出方式:

数据库方式

整个数据库被导出到操作系统文件中,包括用户账户、公用的同义词、角色及资源

用户模式

可以导出一个或多个用户下的所有数据和元数据

表导出

导出的数据包括用于一组表的所有数据和元数据

表空间方式

导出时提取用于一个表空间中所有对象的数据和元数据,另外还提取依赖于指定表空间列表中所有对象的任何依赖对象。

对于索引之类的某些对象,在导出时只会导出元数据。由数据泵导出程序所创建的文件称为转储文件。

完整的数据库导出要求用户拥有EXP_FULL_DATABASE角色。

windows环境下:使用SYSTEM用户实施完全数据库导出

d:expdpsystem/passwd directory = pbdir dumpfile=alldb.dmp full=y;

unix环境下:$ expdp system/passwd directory=pbdirdumpfile=alldb.dmp full=y;

其中system/passwd是用户和密码;directory:导出数据的目录;dumpfile:转储文件名称;full=y;表示实施的是完全数据库。

用户模式导出方式:可以省略full=y参数,使用schemas=schema_list参数来表示要导出的用户列表,如果有多个用户,则用户之间用逗号分隔。要想导出多个用户,必须具有EXP_FULL_DATABASE角色权限。

例如:expdp pb/123456 directory = pdbirdumpfile = pb.dmp schemas = pb;

表导出方式:需要使用tables = table_list参数取代schemas或full参数。其中table_list是一个用逗号分隔的待导出的表列表。

示例:expdp pb/123456 directory=pbdirdumpfile = pb_tables.dmp tables=person,student nologfile=y cOntent= data_only

nologfile=y表示不会将操作日志写入磁盘,不过仍会在终端显示出来。cOntent= data_only:表示只导出表中的数据而不导出元数据;如果是cOntent= metadata_only,则表示只导出元数据而不导出表中的数据。如果不写这个参数,则二者全部导出。

表空间导出方式:要求数据库用户拥有EXP_FULL_DATABASE角色权限

要想用表空间方式执行表空间导出,需要使用参数tablespaces=tablespace_list指定要导出的表空间

示例:expdp system/passwddirectory=pbdir dumpfile=person_ts.dmp tablespaces=person;

只有用户导入不能导入表和表空间模式导出的数据。

读取导出文件pb.dmp,并且提取所有的DDL,将其放入到pb.sql文件中,不对操作日志进行写入磁盘操作。

d:>impdpsystem/passwd full=y directory=pbdir dumpfile=pb.dmp nologfile=y sqlfile=pb.sql

system/passwd:用户名和密码。directory:数据库目录对象。dumpfile:指定转储文件。full=y表示实施的是全部导入。nologyfile=y:表示不进行写日志操作。sqlfile:表示将元数据(如DDL语句)写入到指定的文件中。

使用exp导出整个数据库,要导出整个数据库仍然需要用户具有EXP_FULL_DATABASE角色权限。

示例:exp userid=pb/123456 direct=yfull=y rows=y file=d:\exp\pb.dmp log=d:\exp\pb.log。

userid:导出操作的用户名和密码;direct:是否按照直接路径导出;full=y:表示试试的是全部数据库导出操作;rows=y表示连同基表中的数据一同导出;file:导出文件,注意,这里不是使用数据泵是的数据库目录对象,而是操作系统的文件目录。log:导出操作日志文件。

导出某个用户的全部数据:与导出整个数据库相比,只是少了参数full=y。导出某个用户中的表,与导出某个用户全部数据相比只是多了tables=(person,student)语句。

使用imp导入整个数据库:imp pb/123456 file=d:\exp\pb.dmp log=d:\exp\pb.log full=y ignore=y;

参数ignore表示可以忽略导入过程中产生的错误。

指定用户的导入:如果导入时设置full=y,那么在导入时就可以通过fromuser和touser实现将一个用户中的数据导入另一个用户中。

例如:imp pn/123456 file=d:\exp\pb.dmpfromuser=pb touser=pbdemo help=y;

就是将pb用户中的数据导入到了pbdemo用户中。

椐]枫熼枫鷌妜犊楗╧yOracle以循环方式,写入联机重做日志文件。

热备份要备份的文件:1、所有数据文件,一个表空间一个表空间备份(设置表空间为备份状态、备份表空间的数据文件、恢复表空间为正常状态。)2、所有归档的重做日志文件(临时停止归档进程、记录下归档重做日志文件、重启归档进程、备份归档的重做日志文件)3、一个控制文件(通过alter database命令进行)

热备份优点:1、提供了完全的时间点恢复。2、在文件系统备份是允许数据库保持打开状态。

热备份缺点:1、难于维护且不能出错。2、若热备份不成功,则多得到的结果不可能用于时间点的恢复。
推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 优化版Windows 10 LTSC 21H2企业版:适用于低内存设备
    此版本为经过优化的Windows 10 LTSC 21H2企业版,特别适合低内存配置的计算机。它基于官方版本进行了精简和性能优化,确保在资源有限的情况下依然能够稳定运行。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
author-avatar
Superficial1987542_y3
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有