1. 数据库备份有什么好处
对于Mysql数据库,备份与恢复相关的术语包括:备份(backup)、还原(restore)、恢复(recover)、二进制日志(binlog),其中备份按照其特性可以分为:物理备份和逻辑备份;冷备、温备和热备;完全备份和不完全备份等;常用的备份工具包括:操作系统拷贝、mysqlmp等;还原包括物理备份的还原和逻辑备份的还原;下面分别加以介绍和说明。
数据库备份通俗地说是将数据库的某一时刻的数据复制了一份;数据库还原是将备份出的数据替换掉原来数据库中的数据文件,将备份放回到原来数据库文件的目录位置;二进制日志(BINLOG)记录数据库的变更过程,例如创建数据库、建表、修改表等DDL操作、以及数据表的相关DML操作,这些操作会导致数据库产生变化,开启binlog以后导致数据库产生变化的操作会按照时间顺序以“事件”的形式记录到binlog二进制文件中。
参考上图,在凌晨2:00,管理员将已开启二进制日志的数据库的数据做了一个完整的备份,随着时间的推移,仍然有用户对数据库进行相关的写操作(包括:DDL语句、DML语句中的增删改操作、DCL授权语句和TCL事务处理语句等),导致了二进制日志文件写满(默认1G)后自动切换;在上午9:37时,由于硬盘出现故障,数据库用户不能正常访问存放在硬盘中的数据库数据,此时如果数据库备份和二进制日志没有损坏,管理员是可以通过还原备份和恢复二进制日志的方式挽回数据损失的。
挽回数据损失的过程包括:1.更换新硬盘;2.还原备份;3.重做备份到故障时段的二进制日志中的语句等;正常情况不会造成数据的丢失,损失的仅仅是一段时间的停机时间。
上例中,还原数据备份时,数据库中的数据回到了备份时刻的状态,而二进制日志中记录了从备份到故障前一段时间内所有用户对数据库的写操作的语句,只要把这些语句按照时间顺序重新运行一遍,所还原的数据就会变成为故障前那一刻的状态,不会造成数据丢失。因此通常把保存在二进制日志中的语句重新执行的过程叫做恢复。
2. 备份数据库的主要作用是保证数据的完整性
数据备份就是要保存数据的完整性,防止非法关键,断电,病毒感染等等情况,使数据丢失,有必要的话,最好勤备份,防止数据丢失。
数据还原:就是数据库出现错误或者是崩溃了不可以用,就把原来的数据恢复回来。
提高系统的可用性和灾难可恢复性,在数据库系统崩溃的时候,可以恢复数据。
使用数据库备份还原数据库是数据库系统崩溃时提供数据恢复最小代价的最优方案。
没有数据就没有一切,数据库备份就是一种防范灾难于未然的强力手段。
3. sql数据库备份有什么好处
备份最主要的目的是灾难恢复
另外,备份到脱机系统,抽取数据,做经营分析,也是有好处的..
如果系统没有备份,怎么能睡踏实觉呢....
4. 完整数据库备份适合于怎么样的数据库
完整数据库备份,什么数据库都行啊。
备份分:完整数据库备份 与 增量数据库备份
完整数据库备份 优点是 恢复起来 速度快, 缺点是 占用的空间太大。
如果一个数据库系统,每天晚上都做完整数据库备份,那么需要很大的 磁盘/磁带 存储空间。
从“保留2周的历史备份” 的需求上来说, 你需要有 14个 完整数据库备份的文件。
增量数据库备份 优点是 占用空间少, 缺点是 依赖 完整数据库备份,恢复时间/步骤可能麻烦一些。
如果一个数据库系统,每周日晚上都做完整数据库备份, 周一至周六 做增量备份。
从“保留2周的历史备份” 的需求上来说, 只需要 2个 完整数据库备份 和 12个增量数据库备份的文件。
麻烦的地方在于,如果周六 早上8点 数据库崩溃了。
恢复的时候,首先要 拿上周日的完整备份进行恢复
然后,依次把 周一至周五的 增量备份,进行恢复, 恢复到周五晚上的时间点
然后使用归档日志,将数据库恢复到 周六早上崩溃前。
5. 解释冷备份和热备份的不同点以及各自的优点
一、 热备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:
1、 是非常快速的备份方法(只需拷文件)
2、 容易归档(简单拷贝即可)
3、 容易恢复到某个时间点上(只需将文件再拷贝回去)
4、 能与归档方法相结合,做数据库“最佳状态”的恢复。
5、 低度维护,高度安全。
但冷备份也有如下不足:
1、 单独使用时,只能提供到“某一时间点上”的恢复。
2、 再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
3、 若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。
4、 不能按表或按用户恢复。
如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:
1、 所有数据文件
2、 所有控制文件
3、所有联机REDO LOG文件
4、 Init.ora文件(可选)
值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。
下面是作冷备份的完整例子。
(1) 关闭数据库
sqlplus /nolog
sql>connect /as sysdba
sql>shutdown normal;
注:shutdown normal需要等待所有事务/进程全部结束才能close DB
shutdown immediate可以强行结束或回滚正在执行的事务、进程就可以close DB
(2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
sql>cp
(3) 重启Oracle数据库
sql>startup
二、 热备份
热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:
1. 数据文件一个表空间一个表空间的备份。
(1) 设置表空间为备份状态
(2) 备份表空间的数据文件
(3) 回复表空间为正常状态
2. 备份归档log文件
(1) 临时停止归档进程
(2) log下那些在archive rede log目标目录中的文件
(3) 重新启动archive进程
(4) 备份归档的redo log文件
3. 用alter database bachup controlfile命令来备份控制文件热备份的优点是:
1. 可在表空间或数据库文件级备份,备份的时间短。
2. 备份时数据库仍可使用。
3. 可达到秒级恢复(恢复到某一时间点上)。
4. 可对几乎所有数据库实体做恢复
5. 恢复是快速的,在大多数情况下爱数据库仍工作时恢复。
热备份的不足是:
1. 不能出错,否则后果严重
2. 若热备份不成功,所得结果不可用于时间点的恢复
3. 因难于维护,所以要特别仔细小心,不允许“以失败告终”。
6. 为什么要设置数据库自动备份
数据库的备份是想相当重要的,为了是怕数据的丢失。
像一些特殊的机关部门,比如政府机关、银行等,他们的数据备份不止是一个,更不会在一个地方。像有些大型公司,他们的数据早不止备份了多少,不知在哪里,有的在“云”端,早在千里之外了。。。
假设某个地方发生地震或者其他自然灾害,当地银行坍塌,那么他们在银行里面的资金不变,因为可以从其他地方调用备份的数据。
数据自动备份跟数据库的恢复技术也有着联系,便于在需要时恢复数据
7. 数据库备份有几种方式以及各自有什么特点
1、完全备份
这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一周做一次完全备份。
2、事务日志备份
事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间。为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。
3、差异备份
也叫增量备份。它是只备份数据库一部分的另一种方法,它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的完全备份小,因为它只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。推荐每天做一次差异备份。
4、文件备份
数据库可以由硬盘上的许多文件构成。如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很常用。
数据库备份重要性
尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。为此数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,只有这样才能保证数据的高可用性。
数据库的备份是一个长期的过程,而恢复只在发生事故后进行,恢复可以看作是备份的逆过程,恢复的程度的好坏很大程度上依赖于备份的情况。此外,数据库管理员在恢复时采取的步骤正确与否也直接影响最终的恢复结果。
8. oracle冷热备份和逻辑备份各有什么优缺点
冷热备份都是物理备份:
可以恢复文件大多数错误。
冷备份可以在归档或非归档模式下进行,必须关闭数据库才能进行。
热备份只能是归档模式的数据库才能进行,可以在数据库打开状态下进行。
缺点是备份速度较慢,备份时占用资源较多,备份占用空间大,恢复速度较慢。
逻辑备份:
用数据的导入导出做的,
优点是备份速度快,占用空间小,恢复速度快。
只可以恢复数据库的逻辑错误,例如数据文件损坏等错误是无法恢复的,只能恢复到备份点。
9. 什么是冷/热备份他们各自有什么优点和缺点
冷备份没什么太多可说的,这种备份就是简单的在数据库关闭状态下,用os的cp命令把数据文件,控制文件,以及日志文件复制到存储上,然后就可以了,这种备份的缺点就是等下次恢复的时候是一种不完全恢复,也就是说会有数据丢失,那么在生产库上如果用这种模式是非常危险的。热备份是说在数据库运行的模式下通过运行Begin backup xxx cp end backup这种命令操作来实现的,当运行Begin backup命令的时候系统会冻结这种指定的数据文件的头部scn,但是并不会停止对该数据文件的dml操作,但这就会产生一个问题就是由于在begin backup 与end backup命令之间运行了cp命令,这个是操作系统的命令,那么他复制的单位一般是2k,但是一般oracle数据库的库文件的最小单位是oracle block 一般这个块大小事8k,这就造成了数据块拷贝的时候可能会发生不一致现象,就是当你cp的前2k后,进行对整个数据块都修改了,那么你cp的后6k就与前2k数据不一致了,所以oracle 为了防止这种问题的产生那么就会把所有每个只要发生dml的oracle block的内容完全存储在日志文件中,这就造成了产生大量日志的缺点,等到下一次恢复的时候oracle 会根据日志来进行日志重演,那么可能会比较慢。当发生热备份的时候也有可能会造成很多等待事件的发生 比如log file sync,当然在热备份之前会触发检查点,使数据文件上的脏块列表写入到数据文件上。
冷备份的优点就是操作简单,数据库性能比归档模式稍高