当前位置:首页 » 操作系统 » 数据库增量备份

数据库增量备份

发布时间: 2022-12-09 06:56:01

1. 如何实现数据库增量备份

1)建立增量备份RMAN>BACKUP INCREMENTAL LEVEL 0 FORMAT='/u01/backup/rmanbk/%d_%s.dbf' tablespace users;RMAN>BACKUP INCREMENTAL LEVEL 1 FORMAT='/u01/backup/rmanbk/%d_%s.dbf' tablespace users;RMAN>BACKUP INCREMENTAL LEVEL 2 FORMAT='/u01/backup/rmanbk/%d_%s.dbf' tablespace users;(2)建立累积备份RMAN>BACKUP INCREMENTAL LEVEL 0 FORMAT='/u01/backup/rmanbk/%d_%s.dbf' tablespace users;RMAN>BACKUP INCREMENTAL LEVEL 2 FORMAT='/u01/backup/rmanbk/%d_%s.dbf' tablespace users;RMAN>BACKUP INCREMENTAL LEVEL 2 cumulative FORMAT='/u01/backup/rmanbk/%d_%s.dbf' tablespace users;RMAN>BACKUP INCREMENTAL LEVEL 1 FORMAT='/u01/backup/rmanbk/%d_%s.dbf' tablespace users;

2. 如何让sql数据库进行增量备份

在SQL Server 2000中,假定我们拥有一个数据库为:Test, 现在需要它每天19:00自动进行一次备份,并且以后一旦发生数据库错误,我们都可以通过备份文件将数据库恢复到任何一个备份过的时刻点。

备份步骤:
1. 在“SQL Server企业管理器”中注册数据库所在的服务器,注意要使用sa用户名和口令,否则以后执行备份调度的时候,会出现权限不足,导致不能进行备份。
2. 确保该服务器的SQL Server Agent服务是开启的,因为所有的调度都是通过该代理进行执行的。
3. 在“SQL Server企业管理器”中选中Test数据库,右键打开“备份数据库”窗口,指定一个新的文件Test-daily.bak,选择“完全”进行一次完全备份。
4. 再次打开“备份数据库”窗口,这次使用“差异备份”,“重写”选项设置为“追加到媒体”,目的文件仍然是前面步骤所指定的Test-daily.bak,并在“调度”选项中设置为每天的19:00,这样,SQL Server会在每天的19:00将数据库自上次备份以来发生的变化,以增量备份的方式追加到Test-daily.bak文件中。(测试的时候,可以设置为每天的每1分钟进行一次备份,以便可以很快的看到备份结果)

在需要进行数据库恢复的时候,可以按照如下还原步骤进行操作:
1. 新建一个数据库,比如名为Back, 右键打开“还原数据库”窗口,选择“从设备”进行还原,然后在“选择设备…”中选定备份所使用的Test-daily.bak文件,回到“还原数据库”窗口,“备份号”默认为1(对应的就是备份步骤3中的初次完全备份),不必更改。在“选项”标签页中,选中“强制还原”,最关键的一步是,在“恢复完成状态”中,选中第2或第3项,即保证“能还原其它事务日志”,这样还原之后,这个新的数据库就回到了我们进行第一次完全备份时候的状态,此时,该Back数据库将处于“正在装载”或“只读”的状态,没有关系,这是正常的,因为我们接下来还需要通过事务日志将该数据库恢复到指定的某个状态。
2. 再次打开“还原数据库”窗口,同样选择“从设备”进行还原,然后在“选择设备…”中选定备份所使用的Test-daily.bak文件,回到“还原数据库”窗口,点击“备份号”后面的“查看内容…”按钮,在新的窗口中,可以看到里面列出了每天19:00左右备份过的备份集(除了最顶上一个是我们初次的完全备份集,其它都是每天的增量备份集),选中想要恢复的某个备份集,单击“确定”回到主窗口,可以看到“还原备份集”默认选中的是“差异”,再单击确定,这样,Back数据库就恢复到了我们选定的某个备份集了。
上述还原步骤可以重复进行,直到我们找到确切需要的某个备份集。

另外,恢复后的数据库名称是Back,如果想将其改名为Test,可以执行
EXEC sp_renamedb 'Back', 'Test'
在重命名数据库之前,应该确保没有人使用该数据库,而且数据库设置为单用户模式。

补充:需要在"备份数据库"->"常规"选项卡里选中"重写现有媒体",这样在"选项"选项卡里才能设定"备份集到期时间",并且发现,这样设定好"到期时间"之后,即使将"重写现有媒体"改为"追加到媒体",所设定的"到期时间"还是有效的,这可以在调度里的"步骤"脚本中看出来,如:
BACKUP DATABASE [model] TO DISK = N'D:\test.bak' WITH NOINIT , NOUNLOAD , RETAINDAYS = 1, DIFFERENTIAL , NAME = N'model 备份', NOSKIP , STATS = 10, NOFORMAT,通过这种方式应该可以实现保留最近N天的备份,测试中....

3. 什么叫“数据库的增量备份”谢谢

比如说 数据库里面已有数据是集合A,然后今天因为一些业务又发生了一些数据,假设为B,那么做备份的时候,只是针对增加了的这一部分进行备份,即 B而不是 (A+B)。

大型企业中涉及业务的数据库基本上都是采用这种方法每天将发生的业务数据进行备份,而不需要从数据库初始备份到现在,即速度上会快很多!

4. 数据库备份有几种方式以及各自有什么特点

第一种是手动备份。直接进入到数据库管理页面,将数据库手动导出到本地即可实现数据库备份。
第二种是适用于虚拟主机的方案。首先进入‘多备份’,然后登陆,进入控制面板。首次进入会有备份环境提示,选择保护服务器

进入页面后,选择web模式,然后选择数据库。如果非首次访问,直接点击添加,然后选择数据库

填入数据库信息,然后设定备份频率,创建任务即可实现备份。
第三种是适用服务器或者VPS。首先进入‘多备份’,如果是首次登录,就如上图选择保护服务器,然后下载客户端。如果非首次登录,直接点击左下角下载客户端

下载好客户端以后打开dbfen.exe,然后登陆‘多备份’账号,选择数据库,填入数据库信息,设定备份频率,即可开始备份

5. 数据库增量备份原理

1.全备份:这是增量备份的基础,必须先有一个全备份
2.增量备份:当你备份的时候它会检索上个增量备份跟现在库相比哪些块使用过了,也就是只备份自上次备份以来已使用过的块(上次是全备份就从全备份里检索,上次是增量的话就从增量里面检索),这样的文件比以前的要小很多。
ORACLE里面可以使用块跟踪进程,它会记录哪些块改变过了并保存到一个单独的文件中,然后增量备份的时候就不必从库中检索,直接检索这个文件就行了,这样的效率很高

6. oracle数据库备份exp命令

oracle数据库备份exp命令:

第一个,表模式,备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。若备份到本地文件,使用如下命令:

exp icdmain/icd rows=y indexes=n compress=n buffer=65536

feedback=100000 volsize=0

file=exp_icdmain_csd_yyyymmdd.dmp

log=exp_icdmain_csd_yyyymmdd.log

tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo

若直接备份到磁带设备,使用如下命令:

exp icdmain/icd rows=y indexes=n compress=n buffer=65536

feedback=100000 volsize=0

file=/dev/rmt0

log=exp_icdmain_csd_yyyymmdd.log

tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo

注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。出于速度方面的考虑,尽量不要直接备份到磁带设备。

第二个,用户模式,备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。若备份到本地文件,使用如下命令:

exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536

feedback=100000 volsize=0

file=exp_icdmain_yyyymmdd.dmp

log=exp_icdmain_yyyymmdd.log

若直接备份到磁带设备,使用如下命令:

exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536

feedback=100000 volsize=0

file=/dev/rmt0

log=exp_icdmain_yyyymmdd.log

注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。如果数据库数据量较小,可采用这种办法备份。

第三个,完全模式,备份完整的数据库。业务数据库不采用这种备份方式。备份命令为:

exp icdmain/icd rows=y indexes=n compress=n buffer=65536

feedback=100000 volsize=0 full=y

file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)

log=exp_fulldb_yyyymmdd.log

对于数据库备份,建议采用增量备份,即只备份上一次备份以来更改的数据。增量备份命令:

exp icdmain/icd rows=y indexes=n compress=n buffer=65536

feedback=100000 volsize=0 full=y inctype=incremental

file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)

log=exp_fulldb_yyyymmdd.log

(6)数据库增量备份扩展阅读:

关于增量备份必须满足下列条件:

1、只对完整数据库备份有效,且第一次需要full=y参数,以后需要inctype=incremental参数

2、用户必须有EXP_FULL_DATABASE的系统角色。

3.、话务量较小时方可采用数据库备份。

4、 如果磁盘有空间,建议备份到磁盘,然后再备份到磁盘。

版权声明:本文为CSDN博主“kalogen”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

7. 数据库如何进行增量备份

增量备份,
增量备份,可以节省很多时间、空间资源,多备份就可以实现增量备份。我自己的VPS就是用的多备份,除了第一次备份时间费时之外,之后都比较快了,也节省了不少流量。

8. 在SYBASE中如何实现增量备份

首先: 在建库的时候,必须把数据库设备与日志设备进行单独的处理,不能把数据库和日志建立在同样的设备上.这样不符合增量备份的要求.因为增量备份就是对数据库事务日志的备份.当然如果能够把索引设备单独分出会更好.

其次: 在进行增量备份以前,最好做一次数据库的完全备份.这样以备数据库故障的发生导致数据库无法恢复.而其后可以进行数据的增量备份.

第三:在进行数据库载入的时候: 特别是对数据库进行全部载入后,先不要对数据库进行online database操作,要把数据库和日志一并载入后再执行online操作.

这样就不会提示 "mp device" is out of sequence 错误了.

9. 如何实现Mysql数据库的差异性备份和增量备份

Ø首先,我们需要开启MySQL服务器的二进制日志功能,其实现方法有很多种,最常用的是在MySQL的配置文件的mysqld项中加入log-bin=[filepath]项;也可以使用mysqld –log-bin=[filepath]重新启动MySQL服务器。

Ø其次,使用mysqlmp对数据库进行完全备份,它可以实现对数据据的联机,非阻塞的热备份,不会影响其他进程对数据库的读写操作。(参考指令:mysqlmp -uroot --password=123 --single-transaction --flush-logs --master-data=2 --all-databases --delete-master-logs > d:/mysql5.0/full_%date:~0,10%_1500_PM.sql)

Ø第三,使用flush logs指令刷新创建新的二进制日志。可以通过mysqladmin flush logs或者flush logs语句实现。最方便有效的方法是将它做成批处理文件,然后让操作系统定期执行。

Ø使用mysql < *.sql进行完全备份的恢复。

Ø使用mysqlbinlog logs-bin.[0-9]* | mysql进行增量备份的恢复。一般的,假设我们周日下午三点进行了完全备份并生成备份文件full_backup_20100415_3_PM.sql,周一周二中午一点进行了两次增量备份,分别生成增量备份文件inc_backup_1_PM.0007和inc_backup_1_PM.0008,周三上午10:00数据库发生崩溃,需要进行数据库恢复,此时正在记录的二进制日志为inc_backup_1_PM.0009,我们还需要恢复其中记录的操作。具体的恢复操作为:

mysql < full_backup_20100415_3_PM.sql

mysqlbinlog inc_backup_1_PM.0007 inc_backup_1_PM.0008 inc_backup_1_PM.0009

u具体应用(结合T8项目)

根据上述分析,我们在T8项目使用MySQL增量备份,也需要三个步骤:

Ø首选修改MySQL启动配置文件my.cnf,在其中的mysqld项中增加log-bin选项,重新启动MySQL服务器以开启二进制日志功能,在生成文件/usr/data/mysql/ t8server-bin.index和t8server-bin..000001。如图所示:

u总结

MySQL提供了很方便的完全+增量备份实现方法,我们只需调用系统内置的方法或者作出一些细微的配置就可以对MySQL数据库进行备份和恢复。对于MyISAM数据库和InnoDB数据库,都可以通过mysqlmp实现数据库的完全逻辑备份,通过启动二进制日志(binary logs),可以记录一个时间段内对数据库的所有可能更新的操作,从而通过flush logs创建新的日志而实现增量备份。

10. MySQL的备份与还原,非常规备份,全量备份,增量备份

1:官方百万级别的测试数据库:

官方测试数据库github网址:https://github.com/datacharmer/test_db

下载到目录,解压即可,运行命令:

2:自己创建简单测试数据库:

快速随机生成测试语言的网站:https://generatedata.com/

选择sql和想生成的字段,点击生成Generate!生成即可。

在MySQL输入生成的语句即可。

3:测试备份还原时用到的命令

删库跑路测试(先备份好)

还原后查询库的表数据是否完整。

采用复制整个数据存放目录

1:查看数据库数据存放位置

有两种方法:

1):在数据库中用命令 show variables like 'datadir' 查看

2):在配置文件中查看,配置了 datadir 目录的可查看。没有配置的默认为 /var/lib/mysql/ 位置

Linux中查看配置文件


2:复制目录或者目录下某个数据库名

3:还原时直接复制文件夹到数据库目录即可


mysqlmp又可叫做全量备份。

参数 --databases 同 -B ,单独一个库,也可省略。

1、备份命令mysqlmp格式

格式:mysqlmp -h主机名 -P端口 -u用户名 -p密码 database 数据库名 > 文件名.sql

备份testDatabase数据库

2、备份MySQL数据库为带删除表的格式

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

3、直接将MySQL数据库压缩备份

备份并压缩

4、备份MySQL数据库某个(些)表

备份testDatabase中的myTable表,不需要用参数 --databases 或者 -B

5、同时备份多个MySQL数据库

同时备份testDatabase和 employees两个库

6、备份服务器上所有数据库

参数 --all-databases 同 -A

7、还原MySQL数据库的命令

1) 不指定数据名还原,默认生成原数据库名称,还原所有数据库。

2) 指定数据名还原,还原指定单个数据库,需在数据库种预先创建一个testDatabase名称。

3) 还原压缩的MySQL数据库

4) 进入数据库用source导入

增量备份是针对于数据库的bin-log日志进行备份的,增量备份是在全量的基础上进行操作的。增量备份主要是靠mysql记录的bin-log日志。

1:查看是否开启bin-log日志

进入mysql输入命令可查看。

显示如下为开启状态,日志文件在/var/lib/mysql/以binlog.00001的格式保存。

如未开启,需要在配置文件种配置


2:查看目前使用的bin-log日志文件

进入mysql查看命令。

显示如下,目前使用的是binlog.000022文件,所有操作都记录在此文件。

查看当前testDatabase的表myTable数据如下,

3:刷新日志,使用新的日志文件(备份)

在命令端执行命令

日志文件从 binlog.000022 变为 binlog.000023

这时相当与已经备份成功,备份文件即为上次的binlog.000022日志文件。

4:删除数量,从日志还原数据

1) 删除ABC行

查询以及没有ABC行列。

2) 恢复数据ABC行

退出mysql,在命令端用mysqlbinlog命令恢复到binlog.000022日志状态。

进入数据库再次查看数据,ABC已经恢复。

增量备份完成。

热点内容
python密码暴力破解 发布:2025-05-16 11:13:28 浏览:591
倒角刀编程 发布:2025-05-16 11:12:55 浏览:349
数据库的酸性 发布:2025-05-16 11:03:17 浏览:123
phpmysql长连接 发布:2025-05-16 10:51:50 浏览:733
android横屏全屏 发布:2025-05-16 10:47:43 浏览:474
服务器直链下载搭建 发布:2025-05-16 10:47:38 浏览:175
编译不成功怎么办 发布:2025-05-16 10:35:54 浏览:612
如何修改密码找回 发布:2025-05-16 10:35:53 浏览:570
怎么才能编译本书 发布:2025-05-16 10:27:47 浏览:759
ssd服务器电脑 发布:2025-05-16 10:26:25 浏览:829