文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。
数据库的备份与恢复概论
这是一遍综合性描述数据库备份的文章,要把所有的数据库的备份与恢复全部描述清楚,不是 我这遍文章的初衷。我只想给那些想做备份。却不怎么了解备份的人一个整体认识。本人的水 平是有限的。我只能抛砖引玉。很多经验总结也是个人一家之言。有错误请斧正。
一:数据库备份的重要性
硬件总会坏,系统总会崩溃的,数据文件总是会损坏的,人也不可能永远不犯错误的。数据库备 份就是在你硬盘坏了。系统崩溃坏了。数据文件损坏了,工作人员误删除数据的时候让你不伤心, 不害怕。数据库的备份不同与一般的文件备份。一个备份方案总是跟客户的需求有关系的,一个 从来没有新数据增加的查询数据库。一次冷备份就足够了。而对一个7X24小时数据库。数据不 能丢失的系统。备份的方案就复杂多了。怎么样才能保证数据库不丢失数据呢?这将受到两个条 件的制约。一:数据库种类。二:备份的方法。
二:数据库备份与恢复种类
2.1逻辑备份与恢复
逻辑备份是使用软件技术从数据库中提取数据并将结果写入一个输出文件,逻辑备份因为灵活性 受到开发人员的青睐。但是对一个数据库管理员来说。就对它不放心了。一:他是点的逻辑。他 只能描述数据库在一点上逻辑结构。然后抽取这些逻辑对象写入到一个或者多个输出文件。一般 一个完整的备份是一个点另一个点(终止点)的连续发生。逻辑备份是不可能记录连续发生的事 情的过程的。
2.2冷备份与恢复
冷备份。又叫脱机备份。就是停掉数据库服务。拷贝数据库数据目录。一般是data目录。Oracle 一般是oradata目录。Mysql ,postgres都是data目录。而且这些默认举例说明。在实质的生产 中这些目录文件是变化的。不过不用担心。数据库管理员肯定知道在那里。具体他怎么知道。不 同数据库有不同方法。不是本文的重点。为什么要把数据库停掉。才能做数据拷贝?我直接在数 据库运行的时候拷贝不一样吗?如果你运气好的好。那样确实也可以。不过不要因为运气。就证 明你可以那样做。其实一件事物不但要有证据去证明他。就是还需要一个明确的理论去支持他。 不然是容易犯经验主义错误的。一个数据块正被复
制。然后他或许前半部分是修该前。后半部分 是修改后的。这就是split data .但数据库启动时候,数据库读到这样的数据库块就迷糊了。数据 库不一致的错误就出来。数据库肯定提示要你恢复。数据库备份一定要遵循数据库的一致性。
2.3热备份与恢复
Iword格式支持编辑,如有帮助欢迎下载支持。
文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。
热备份也叫在线备份。什么在线备份,就是数据库在运行的时候一种物理备份。(如果是逻辑的 不能叫在线备份。)。不同数据库在线备份都不同。数据库要能热备份。都需要开启数据库归档模 式。并设置归档路径。但是有数据库。特别开源数据库对这方面做的非常不好。Postgres 7.3后 才有 在线备份。Mysql更是乱的。一个引擎一个种方式。而且有的还不是免费的。怪的很。商 用性软件oracledb2 ,Informix ,就做的好的多。归档究竟有什么意义?如果说逻辑备份是一张 照片或者素描,他记录的是点的真实反映或者逻辑印象,那么归档就是录象带。他记录的是一个 连续发生的事物的过程。一个开始点的全备份+这个点后的归档+完好的在线redo。那么在这个 全备份后所有时间都是可以回放的。
三:各数据库的备份恢复对比(以下每种数据库每种备份都可以写一本书,在这里不详细叙述, 只概括其作用,在《数据库备份与恢复》中详细阐述)。(由于第三方备份软件比较,在这个不 讨论第三方的问题)。
数据库名
备份
Oracle
逻辑备份
9i 以前 exp/imp
9 i后:
一:exp/imp具体使用也不是本问的初衷
逻辑备份。可以备份单个表。逻辑查询语句记录,模式,整个数据库,创建对象语 句不包括数据等。花样繁多。不一一列举。
二:expdp/impdp (具体怎么使用也不是本问的初衷)
oracle Database 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以 将数据库元数据对象定义和数据快速移动到另一个oracle数据库中.
数据泵导出导入(EXPDPIMPDP)的作用
1,实现逻辑备份和逻辑恢复.2,在数据库用户之间移动对象.3,在数据库之间移动对象 4,实现表空间搬移.
exp/imp的区别:
expdp/impdp与传统exp / imp的速度相比:要快10的2次方以上。
EXPIMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务段使用. EXPDPIMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客 户端使用
IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP
2word格式支持编辑,如有帮助欢迎下载支持。
文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。
导出文件,而不适用于EXP导出文件.
数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.
逻辑备份优点与缺点:
优点:方便,灵活,不受操作系统,数据库版本等限制。适合处理小数据量,特别
适合开发人员迁移数据库。
缺点:有数据库丢失。不能实时。速度慢。
冷备份
冷备份又叫脱机备份。就是停数据库服务。然后Copy datafile,controlfilespfile,passwdfile。恢复过程也很简单。把相关文件拷贝到相关目录。建立实例。启 动数据库既可。
热备份
Oracle热备份条件:1 .必须起用数据库归档模式。
热备份可以备份一个数据文件,一个表空间,一个数据库等。
热备份备份方式:一:Oracle备份工具:之rman
恢复管理器(Recovery Manager, RMAN)是一个与操作系统无关的数据库备份工 具,可以跨越不同的操作系统进行数据库备份。RMAN必须运行在一个数据库上。 与常用的数据库备份、逻辑数据库备份不同,RMAN使用数据库对数据库进行备份 的原理。
RMAN中,可以使用COPY命令将数据库文件复制到磁盘或磁带上,也可以用 BACKUP命令对整个数据库、一个指定的表空间、控制文件、日志文件进行备份 备份方式:
1full全备份,2:    0级 增量全备份,他与full备份的区别是可以在这个全
备份上做增量备份。而full全备份不可以。3:1级增量备份。4:2级增量 备份 5:三级增量备份。详细过程不多说。见详细文档)。
二:普通的热备份:    alter database begin backup;(9i ,只有 alter tablespace
begin backup;然后拷贝文件。
重点注意:一旦把数据库,或者表空间,数据文件处于备份状态。用copy命令拷 贝完成后。一定要 alter database end backup; alter tablespace end backup;把数据 库或者表空间处于正常状态。
3word格式支持编辑,如有帮助欢迎下载支持。
文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。
Db2
逻辑备份
Db2loook导出创建对象的ddl语句。
db2move导入/导出对象的数据。
如:
1.db2look -d YOURDB -a -e -x -o creatab.sql 导出建库表的 SQL
2.db2move YOURDB export
3.vi creatab.sql如要导入的数据库名与原数据库不同,要修改creatab.sqlCONNECT项 如相同则不用更改
4..执行脚本:db2 -tvf creatab.sql
5.db2move NEWDB load (在该目录执行 db2move 命令)
注:由于某些表数据违反了唯一约束。外键约束可能会有错误出现。不过出错没有 关系。可以把出错的表单独处理。
冷备份
1)、首先确保没有用户使用 DB2:$db2 list applications for db sample
2)、停掉数据库并重新启动,以便断掉所有连接:1.db2stop 2.force db2start
3)、执行备份命令:(使用TSM作为备份的介质)db2 backup db sample use tsm备 份成功,将会返回    一个时间戳。
4)、检查备份成功:Db2 list history backup all for sample ,可以看到多了这个备 份的纪录    Db2adutl query命令也可以看到返回值。
5)、备注:离线备份最重要的就是要数据库在offline.就是数据库在离线的状态.
热备份
1)、首先打开一下支持在线备份的数据库配置参数:
8.2以前备份:
db2 update db cfg for sample using userexit on 启用用户出口
db2 update db cfg for sample using logretain on 启用归档日志
db2 update db cfg for sample using trackmod on 启用增量备份功能
8.2以后
db2 update db cfg for sample using LOGARCHMETH1=.../db2/backup/(常用办法)
需要各个Node都分别做设置开启这些参数后,数据库处于backup pending状态, 要求做数据库的离线全备份。做一下离线全备份,参考上面的命令。
2)、在线备份命令如下:db2 backup db sample online use tsm备份成功,返回一个时
4word格式支持编辑,如有帮助欢迎下载支持。
文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。
间戳。
3)、同样可以用db2adutldb2 list history察看备份纪录。
4)、备注:同样,对每个节点都做这个操作。
3、在线增量备份
1)、在开启了必须的三个参数的情况下,做增量备份:
db2 backup db sample online incremental use tsm 备份成功,返回一个时间戳。
2)、同样可以用db2adutldb2 list history察看备份纪录。
3)、还有一种 delta 的备份:db2 backup db sample online incremental delta use tsm 这两种备份的区别,类似Oracle ExportsIncrementalCumulative方式, db2 incremental对应.oracle cumulative 方式,而 db2 delta 方式则对应 oracle incremental 方式。
4)、备注:同样,对每个节点都做这个操作。
postgresql
逻辑备份
逻辑备份
1.Pg_dump 如:pg_dump dbname > outfile (导出单个数据库)
2.pg_dumpall 如: pg_dumpall > outfile (导出所有数据库)
3.处理大数据库:
3.1:pg_dump dbname | split -b 1m -dbname (备份分片)
3.2:pg_dump dbname 1 gzip > (备份压缩)
逻辑恢复
1.pg_dump -h hostl dbname | psql -h host2 dbname从一■个数据库备份恢复
到另一个数据库)
2.mysql帮助文档psql dbname < infile (直接恢复)
3. 1 gunzip 1 psql dbname(压缩恢复

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。