各种数据库的备份与恢复.doc

上传人:文库蛋蛋多 文档编号:2392156 上传时间:2023-02-17 格式:DOC 页数:9 大小:46KB
返回 下载 相关 举报
各种数据库的备份与恢复.doc_第1页
第1页 / 共9页
各种数据库的备份与恢复.doc_第2页
第2页 / 共9页
各种数据库的备份与恢复.doc_第3页
第3页 / 共9页
各种数据库的备份与恢复.doc_第4页
第4页 / 共9页
各种数据库的备份与恢复.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《各种数据库的备份与恢复.doc》由会员分享,可在线阅读,更多相关《各种数据库的备份与恢复.doc(9页珍藏版)》请在三一办公上搜索。

1、数据库的备份与恢复概论这是一遍综合性描述数据库备份的文章,要把所有的数据库的备份与恢复全部描述清楚,不是我这遍文章的初衷。我只想给那些想做备份。却不怎么了解备份的人一个整体认识。本人的水平是有限的。我只能抛砖引玉。很多经验总结也是个人一家之言。有错误请斧正。一:数据库备份的重要性硬件总会坏,系统总会崩溃的,数据文件总是会损坏的,人也不可能永远不犯错误的。数据库备份就是在你硬盘坏了。系统崩溃坏了。数据文件损坏了,工作人员误删除数据的时候让你不伤心,不害怕。数据库的备份不同与一般的文件备份。一个备份方案总是跟客户的需求有关系的,一个从来没有新数据增加的查询数据库。一次冷备份就足够了。而对一个7X2

2、4小时数据库。数据不能丢失的系统。备份的方案就复杂多了。怎么样才能保证数据库不丢失数据呢?这将受到两个条件的制约。一:数据库种类。二:备份的方法。二:数据库备份与恢复种类2.1逻辑备份与恢复逻辑备份是使用软件技术从数据库中提取数据并将结果写入一个输出文件,逻辑备份因为灵活性受到开发人员的青睐。但是对一个数据库管理员来说。就对它不放心了。一:他是点的逻辑。他只能描述数据库在一点上逻辑结构。然后抽取这些逻辑对象写入到一个或者多个输出文件。一般一个完整的备份是一个点另一个点(终止点)的连续发生。逻辑备份是不可能记录连续发生的事情的过程的。2.2冷备份与恢复冷备份。又叫脱机备份。就是停掉数据库服务。拷

3、贝数据库数据目录。一般是 data 目录。Oracle 一般是oradata目录。Mysql ,postgres 都是data目录。而且这些默认举例说明。在实质的生产中这些目录文件是变化的。不过不用担心。数据库管理员肯定知道在那里。具体他怎么知道。不同数据库有不同方法。不是本文的重点。为什么要把数据库停掉。才能做数据拷贝?我直接在数据库运行的时候拷贝不一样吗?如果你运气好的好。那样确实也可以。不过不要因为运气。就证明你可以那样做。其实一件事物不但要有证据去证明他。就是还需要一个明确的理论去支持他。不然是容易犯经验主义错误的。一个数据块正被复制。然后他或许前半部分是修该前。后半部分是修改后的。这

4、就是split data .但数据库启动时候,数据库读到这样的数据库块就迷糊了。数据库不一致的错误就出来。数据库肯定提示要你恢复。数据库备份一定要遵循数据库的一致性。2.3热备份与恢复热备份也叫在线备份。什么在线备份,就是数据库在运行的时候一种物理备份。(如果是逻辑的不能叫在线备份。)。不同数据库在线备份都不同。数据库要能热备份。都需要开启数据库归档模式。并设置归档路径。但是有数据库。特别开源数据库对这方面做的非常不好。Postgres 7.3后才有 在线备份。Mysql更是乱的。一个引擎一个种方式。而且有的还不是免费的。怪的很。商用性软件oracle,db2 ,Informix ,就做的好的

5、多。归档究竟有什么意义?如果说逻辑备份是一张照片或者素描,他记录的是点的真实反映或者逻辑印象,那么归档就是录象带。他记录的是一个连续发生的事物的过程。一个开始点的全备份+这个点后的归档+完好的在线redo。那么在这个全备份后所有时间都是可以回放的。三:各数据库的备份恢复对比(以下每种数据库每种备份都可以写一本书,在这里不详细叙述,只概括其作用,在数据库备份与恢复中详细阐述)。(由于第三方备份软件比较,在这个不讨论第三方的问题)。数据库名备份Oracle逻辑备份9i以前 exp/imp i后: 一:exp/imp具体使用也不是本问的初衷逻辑备份。可以备份单个表。逻辑查询语句记录,模式,整个数据库

6、,创建对象语句不包括数据等。花样繁多。不一一列举。 二:expdp/impdp(具体怎么使用也不是本问的初衷)oracle Database 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中.数据泵导出导入(EXPDP和IMPDP)的作用1,实现逻辑备份和逻辑恢复.2,在数据库用户之间移动对象.3,在数据库之间移动对象4,实现表空间搬移.与exp/imp的区别:expdp/impdp与传统expimp的速度相比:要快的次方以上。EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务段

7、使用.EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件.数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.逻辑备份优点与缺点:优点:方便,灵活,不受操作系统,数据库版本等限制。适合处理小数据量,特别适合开发人员迁移数据库。缺点:有数据库丢失。不能实时。速度慢。冷备份冷备份又叫脱机备份。就是停数据库服务。然后Copydatafile,controlfile,spfile,passwdfile。恢复过程也很简单。把相关文件

8、拷贝到相关目录。建立实例。启动数据库既可。热备份Oracle 热备份条件:.必须起用数据库归档模式。热备份可以备份一个数据文件,一个表空间,一个数据库等。热备份备份方式:一:Oracle 备份工具:之rman恢复管理器(Recovery Manager,RMAN)是一个与操作系统无关的数据库备份工具,可以跨越不同的操作系统进行数据库备份。RMAN必须运行在一个数据库上。与常用的数据库备份、逻辑数据库备份不同,RMAN使用数据库对数据库进行备份的原理。在RMAN中,可以使用COPY命令将数据库文件复制到磁盘或磁带上,也可以用BACKUP命令对整个数据库、一个指定的表空间、控制文件、日志文件进行备

9、份备份方式:1:full 全备份,:级增量全备份,他与full备份的区别是可以在这个全备份上做增量备份。而full全备份不可以。:级增量备份。:级增量备份:三级增量备份。详细过程不多说。见详细文档)。二:普通的热备份:alter database begin backup;(9i无),只有alter tablespace begin backup;然后拷贝文件。重点注意:一旦把数据库,或者表空间,数据文件处于备份状态。用copy命令拷贝完成后。一定要alter database end backup; alter tablespace end backup;把数据库或者表空间处于正常状态。Db

10、2逻辑备份Db2loook 导出创建对象的ddl语句。db2move 导入导出对象的数据。如:db2look -d YOURDB -a -e -x -o creatab.sql 导出建库表的SQL db2move YOURDB export vi creatab.sql 如要导入的数据库名与原数据库不同,要修改creatab.sql中CONNECT 项 如相同则不用更改 执行脚本:db2 -tvf creatab.sql db2move NEWDB load (在该目录执行db2move 命令)注:由于某些表数据违反了唯一约束。外键约束可能会有错误出现。不过出错没有关系。可以把出错的表单独处理

11、。冷备份 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 做.

12、就是数据库在离线的状态.热备份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都分别做设置)开启这

13、些参数后,数据库处于backup pending状态,要求做数据库的离线全备份。做一下离线全备份,参考上面的命令。2)、在线备份命令如下:db2 backup db sample online use tsm备份成功,返回一个时间戳。3)、同样可以用db2adutl 和db2 list history察看备份纪录。4)、备注:同样,对每个节点都做这个操作。3、 在线增量备份1)、在开启了必须的三个参数的情况下,做增量备份:db2 backup db sample online incremental use tsm备份成功,返回一个时间戳。2)、同样可以用db2adutl 和db2 list

14、history察看备份纪录。3)、还有一种delta的备份:db2 backup db sample online incremental delta use tsm这两种备份的区别,类似Oracle Exports的Incremental和Cumulative方式,db2的incremental对应.oracle的cumulative方式,而db2的delta方式则对应oracle的incremental方式。4)、备注:同样,对每个节点都做这个操作。postgresql逻辑备份逻辑备份1Pg_dump 如:pg_dump dbname outfile(导出单个数据库)2pg_dumpall

15、 如: pg_dumpall outfile(导出所有数据库)3处理大数据库:3.1:pg_dump dbname | split -b 1m dbname (备份分片)3.2:pg_dump dbname | gzip filename.gz(备份压缩)逻辑恢复1pg_dump -h host1 dbname | psql -h host2 dbname(从一个数据库备份恢复到另一个数据库)2psql dbname mysqlhotcopy db_name /path/to/some/dir只要服务器不再进行更新,还可以只复制所有表文件(*.frm、*.MYD和*.MYI文件)。mysqlh

16、otcopy脚本使用该方法。(但请注意如果数据库包含InnoDB表,这些方法不工作。InnoDB不将表的内容保存到数据库目录中,mysqlhotcopy只适合MyISAM表)。 mysqldumpmysqldump提供在线逻辑备份,我们在备份的时候使用single-transaction参数的话,MYSQL为我们提供一致性地读,并且保证mysqldump所看见的数据不会更改。(其它客户端对InnoDB表进行的更改不会被mysqldump进程看见)该参数自动关闭-lock-tables。如果我们还有其它类型的表,我们必须假定在备份过程中它们不会更改。例如,对于mysql数据库中的MyISAM表,我们必须假定在备份过程中没有对MySQL账户进行管理更改。mysqldump命令产生的.sql文件包含一系列SQL INSERT语句,可以用来重载转储的表。这里只简单说明一下,详细见以后阐述。InformixSqlserver其他

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号