首页 > 精品范文库 > 12号文库
informix_online数据库三种备份方法的选择
编辑:深巷幽兰 识别码:21-896843 12号文库 发布时间: 2024-02-03 00:44:20 来源:网络

第一篇:informix_online数据库三种备份方法的选择

【IT168 服务器学院】INFORMIX-ONLINE数据库因其具有高性能、高可靠性、支持数据完整性定义和检查等特性而被广泛应用。数据库被使用后,数据备份的安全可靠性便成为人们普遍关注的问题。下面根据笔者多年的学习和使用经验,对INFORMIX-ONLINE数据库常用的三种数据备份方式加以归纳和比较。

一、使用ontape工具进行数据备份

1.ontape工具的功能

ontape工具具有如下功能:备份和恢复ONLINE数据、备份和恢复逻辑日志、改变数据库日志状态等。在此着重介绍数据备份功能。

2.执行ontape备份数据的语法

ontape备份语法为:

ontape -s -L 备份级别(0、1、2)

在ONLINE处于联机或静止方式时,informix用户或具有DBA权限的用户可以通过执行上面的命令进行备份。根据备份方案安排进行0级、1级、2级备份。0级备份是对整个数据库的所有数据进行完整备份,1级备份是只对0级备份以后修改过的数据进行备份,2级备份只是对1级备份以后修改过的数据进行备份。

3.需要注意的问题

(1)在执行ontape备份前要对ONCONFIG文件中的TAPEDEV、TAPEBLK、TAPESIZE参数进行正确的设置。

(2)为了缩短数据恢复时间,应以进行0级为主,尽量减少1级和2级备份。对银行等重要部门数据,应每天进行0级备份。

(3)如果需要将ontape备份的数据恢复到另一台服务器上时,要求两台服务器机型、操作系统、ONCONFIG配置文件及非临时分配的dbspace磁盘空间数量和大小必须一致,否则数据不能正常恢复。

(4)必须保证有足够可用的逻辑日志文件。如果剩余的逻辑日志空间小于单个逻辑日志的50%,INFORMIX-ONLINE将拒绝执行备份操作,必须先备份已使用过的逻辑日志,然后才能进行数据备份。

(5)保留ONCONFIG文件副本。在进行0级备份后,应备份ONCONFIG文件,因为在恢复0级备份时需要读ONCONFIG文件信息,如果ONLINE配置被修改,数据恢复将失败,如果恢复此0级备份,必须恢复当时的配置。

(6)备份可以在ONLINE联机或静止方式下进行,在备份过程中不能改变ONLINE运行方式,否则备份会被中断。

(7)不要使用后台方式执行备份命令(UNIX下的&),因为备份采用交互方式进行。

二、使用dbexport命令进行数据备份

1.dbexport命令简介

dbexport命令以ASCII码格式将数据写到文件或备份介质上(如磁带)。dbexport卸出的文件包括数据库模式文件和数据文件。

2.dbexport 命令语法

dbexport [-X] [-c] [-q] [-d] [-ss] [{-o

| -t -b -s [-f ]}]

以上参数代表的意义如下:

< >中包括的内容为必选项,[ ]中的内容为可选项。

-c 指示如果没有错误,则输出全部信息。

-q 在标准输出设备上不显示错误信息、警告和所生成的SQL数据定义语句。

-d 仅输出blob描述符,不输出blob数据。

-ss 在模式文件中输出特定于服务器的用于创建数据库和表的信息,比如:初始的extent和附加的extent的大小、上锁方式、表所驻留的dbspace等信息。

-o 指定数据输出文件的磁盘目录。

-t 指定数据输出文件的备份介质名称。

-b 指定备份介质块大小。

-s 指定备份介质的最大存储量。

-f 用于指定存储在备份介质上的模式文件名。

database 指定备份的数据库名称。

3.dbexport功能及使用时需注意的问题

(1)执行dbexport命令必须是informix用户或具有DBA访问权限的用户。

(2)用dbexport备份的数据必须用dbimport命令恢复。

(3)用户可以通过编辑模式文件来改变dbimport生成的数据库,如改变数据库名称或相关的表信息。

(4)dbexport以独占方式(exclusive mode)占用数据库,备份期间其他用户不能对数据库进行查询和修改及插入操作。

(5)模式文件不保留数据库的日志文件,用户使用dbimport命令建立数据库时必须为新建数据库选择一种日志方式(ANSI、buffered、nobuffered类型)。

(6)用户可以使用dbexport/dbimport命令,将INFORMIX-ONLINE和INFORMIX-SE下的数据进行相互转换;也可以将数据在INFORMIX-ONLINE的不同版本之间转换。这种转换对数据库服务器的结构和ONLINE的配置没有特别要求。

(7)使用dbexport/dbimport命令备份/恢复数据,可以起到消除数据分配空间碎块的作用,提高数据库整体运行效率。

三、使用onunload命令进行数据备份

1.onunload命令简介

onunload命令以页为单位,使用二进制形式卸出数据,备份效率比dbexport高。

2.onunload命令的语法

onunload [-l] [-t ] [-b ] [-s ] [:[owner>.]]

以上参数代表的意义如下:

< >中包括的内容为必选项,[ ]中的内容为可选项。

-l 指示onunload分别从配置参数TAPEDEV、TAPEBLK和TAPESIZE中读入磁带设备、块大小和备份设备容量值。

-t 指定备份设备名。

-b 指定备份设备的块大小。

-s 指定备份设备的存储容量。

database 指定要备份的数据库。

owner 指定表的属主。

table 指定要卸出的表。

3.使用onunload需要注意的问题

(1)onunload备份的数据必须用onload命令进行恢复。

(2)onunload/onload不能实现不同版本的ONLINE之间的数据转移。

(3)onunload/onload是以磁盘页大小为单元存储的二进制数据,卸出和接受数据的计算机必须具有相同的磁盘页大小。

(4)只能将onunload卸出的数据装入ONLINE管理的数据库或表。

(5)用户必须具有DBA访问权限,才能执行onunload命令。

(6)onunload不保留初始表上定义的访问特权。

(7)onunload不保留初始表

第二篇:Oracle数据库的不同备份方法

Oracle数据库的备份方法

1、引言

Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统。比如使用export实用程序导出数据库对象、使用Oracle备份数据库、使用Oracle对称复制、使用Oracle并行服务器、使用Oracle冷备份、使用Oracle热备份等各种备份方法都有其优缺点、适用的场合和相应的软硬件要求。本文主要就用export实用程序导出数据库对象、Oracle冷备份、Oracle热备份这三种最基本的备份方法进行详细的探讨,分析各自的优缺点和适用的场合,并给出自动执行这些备份方案的脚本文件。

2、三种备份方案的比较

2.1 冷备份

冷备份是Oracle最简单的一种备份;执行冷备份前必须关闭数据库;然后使用操作系统实用工具或者第三方工具备份所有相关的数据库文件。

优点:能简单快速地备份。能简单快速地恢复。执行简单。缺点:必须关闭数据库,不能进行点恢复。

2.2 热备份

热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是:数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统。

优点:备份时数据库可以是打开的。热备份可以用来进行点恢复。初始化参数文件、归档日志在数据库正常运行时是关闭的,可用操作系统命令拷贝。

缺点:执行过程复杂。由于数据库不间断运行,测试比较困难。不能用操作系统实用工具拷贝打开的文件。必须使用Oracle提供的ocopy工具来拷贝打开的文件。热备份可能造成CPU、I/O过载,应在数据库不太忙时进行。

2.3 Export导出数据库对象

冷备份和热备份都备份物理数据库文件,因而被称为物理备份。而export备份的是数据库对象,因此被称为逻辑备份。

优点:能执行对象或者行恢复。备份和恢复速度更快。能够跨操作系统平台迁移数据库。数据库可一直运行。

缺点:export并不是冷备份和热备份的替代工具。冷、热备份可保护介质失效。export备份可保护用户或应用错误。

3、冷备份方案的实施

3.1 冷备份数据库的步骤

(1)关闭数据库;

(2)备份所有相关的数据库文件:初始化参数文件、控制文件(可用select

第1页

name from v$controlfile;列出所有控制文件)、数据文件(可用select name from v$datafile;列出所有数据文件)、Redo日志(可用select member from v$logfile;列出所有redo日志文件)、归档的Redo日志(可用select sequence#,first_time from v$loghist;列出所有归档redo日志文件的顺序号和产生时间)。

3.2 冷备份数据库的脚本文件

coldbackup.bat

4、热备份方案的实施

4.1 热备份数据库的前提条件:数据库运行在归档模式

Oracle数据库的redo日志记录在数据库上进行的所有活动。LGWR后台进程以一种循环方式写这些日志文件,从第一个redo日志到下一个,直到该组的最后一个,然后由从第一个日志写起。

在非归档模式下,当循环写到最后一个日志文件后,就重写第一个日志。因此,非归档模式下唯一的数据库恢复办法就是使用冷备份。

在归档模式下,当redo日志满时,一个ARCH后台进程就读取全部redo日志,然后将其写到归档日志。因此,可以使用热备份和点恢复。在归档日志模式下,如果归档日志目的空间已满,数据库活动将暂时停止,只有释放一些空间后,数据库才能继续运行。通常,background_dump_destination将产生一个跟踪文件来显示归档方面的问题。

Oracle数据库安装默认运行在非归档模式,通过以下步骤可以从非归档模式转换为归档模式:

(1)编辑参数文件init.ora,设置以下参数 # 设置数据库自动归档 log_archive_start = true

# 设置归档日志文件的目录,该目录必须事先已建立,并有大量可利用的空间

log_archive_dest_1=“location=%oracle_base% oradata%oracle_sid%archive” # 设置归档日志文件名的格式。%s表示顺序号,%t表示线程号。log_archive_format = “%oracle_sid%%T%S.ARC”(2)在sqlplus上运行以下命令 sqlplus>;connect sys/qazwsx as sysdba sqlplus>;shutdown immediate;sqlplus>;startup mount exclusive;sqlplus>;alter database archivelog;sqlplus>;alter database open;sqlplus>;shutdown immediate;(3)执行数据库冷备份

当数据库运行在归档模式下,数据库恢复过程要求使用冷备份时,归档日志是必需的。

(4)正常启动数据库,并确认数据库运行在归档模式 sqlplus>;startup;

第2页

sqlplus>;select * from v$database;其log_mode会显示数据库是否归档模式 sqlplus>;archive log list;也会显示数据库是否归档模式

如果Oracle数据库运行在归档模式,当进行数据库维护时,可能需要暂停数据库的归档,在完成维护后,再重新启动归档模式。通过以下步骤可以从归档模式转换为非归档模式:

sqlplus>;connect sys/qazwsx as sysdba sqlplus>;shutdown immediate;sqlplus>;startup mount exclusive;sqlplus>;alter database noarchivelog;sqlplus>;alter database open;

sqlplus>;select * from v$database;其log_mode会显示数据库是否归档模式 sqlplus>;archive log list;也会显示数据库是否归档模式

4.2 热备份数据库的步骤

(1)拷贝init.ora文件到备份目录(参数文件在数据库启动后处于关闭状态)。(2)将需要备份的某个表空间置于开始备份模式。

(3)使用ocopy.exe拷贝表空间,然后将该表空间置于结束备份模式中(ocopy.exe不能用于直接拷贝联机的数据库文件)。

(4)对数据库中的每个表空间执行步骤2和3(可以通过视图dba_tablespaces和v$datafile查看数据库中有哪些表空间和数据文件)。

(5)通过在sqlplus上执行archive log list命令获取当前的日志顺序号,从oldest online log sequence开始到current log sequence的联机redo日志应该是热备份的一部分。

(6)在sqlplus上执行alter system switch logfile;命令来强迫日志切换,以便所有的日志都被归档。

(7)使用alter database backup controlfile to trace;命令获得控制文件的一个备份,可以到%oracle_base%admin%oracle_sid%udump目录中寻找最新的跟踪文件,其中有重建控制文件的全部命令。

(8)使用windows nt的命令从%log_archive_dest%中拷贝归档的日志文件到备份目录。

4.3 热备份数据库的脚本文件

hotbackup.bat

5、使用export作为备份策略

5.1 export的命令选项说明

Oracle数据库的exp工具提供tables、users、full database、tablespace四种级别的导出方式,把指定的数据库内容导出到一个或者多个oracle二进制文件中,该文件只允许用imp工具来读取,imp的命令选项可用imp help=y来查阅。您可以通过输入 EXP 命令以及各种自变量来控制“导出”的运行方式。要指定参数,您可以使用关键字:

格式:EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)

第3页

实例:EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)或 TABLES=(T11,T12),如果 T1 是分区表 USERID 必须是命令行中的第一个参数。

下列关键字仅用于可传输的表空间

TRANSPORT_TABLESPACE 导出可传输的表空间元数据(N)TABLESPACES 将传输的表空间列表

5.2 export备份数据库的脚本文件

expbackup.bat

6、各种备份策略的自动执行方法

不管是冷备份、热备份,还是export备份;不管是unix平台,还是windows平台,都可以利用at命令来定时、自动执行上述备份策略。AT 命令安排在特定日期和时间运行命令和程序,在windows nt平台上必须首先运行调度服务(schedule),才能使用at命令。

AT命令用法如下:

AT [computername] [ [id] [/DELETE] | /DELETE [/YES]] AT [computername] time [/INTERACTIVE] [ /EVERY:date[,...] | /NEXT:date[,...]] “command”

computername 指定远程计算机。如果省略这个参数,会计划在本地计算机上运行命令。

id 指定给已计划命令的识别号。

/delete 删除某个已计划的命令。如果省略 id,计算机上所有已计划的命令都会被删除。

/yes 不需要进一步确认时,跟删除所有作业的命令一起使用。time 指定运行命令的时间。

/interactive 允许作业在运行时,与当时登录的用户桌面进行交互。

/every:date[,...] 每个月或每个星期在指定的日期运行命令。如果省略日期,则默认为在每月的本日运行。

/next:date[,...] 指定在下一个指定日期(如下周四)运行命令。如果省略日期,则默认为在每月的本日运行。

“command” 准备运行的 Windows NT 命令或批处理程序。举例如下:

(1)每周五19:00执行冷备份 at 19:00 /every:F “coldbak.cmd”(2)每周二20:00执行热备份 at 20:00 /every:T “coldbak.cmd”

(3)每周一、二、三、四、五21:00执行export备份 at 20:00 /every:M,T,W,Th,F “expbak.cmd”

第4页

第三篇:数据库备份方案

1、完全备份(Full Backup)

备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件。在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份。换言之,清除存档属性。

完全备份就是指对某一个时间点上的所有数据或应用进行的一个完全拷贝。实际应用中就是用一盘磁带对整个系统进行完全备份,包括其中的系统和所有数据。这种备份方式最大的好处就是只要用一盘磁带,就可以恢复丢失的数据。因此大大加快了系统或数据的恢复时间。然而它的不足之处在于,各个全备份磁带中的备份数据存在大量的重复信息;另外,由于每次需要备份的数据量相当大,因此备份所需时间较长。

2、差异备份(Differential Backup)

备份自上一次完全备份之后有变化的数据。差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,也即备份后不标记为已备份文件。换言之,不清除存档属性。

差异备份是指在一次全备份后到进行差异备份的这段时间内,对那些增加或者修改文件的备份。在进行恢复时,我们只需对第一次全备份和最后一次差异备份进行恢复。差异备份在避免了另外两种备份策略缺陷的同时,又具备了它们各自的优点。首先,它具有了增量备份需要时间短、节省磁盘空间的优势;其次,它又具有了全备份恢复所需磁带少、恢复时间短的特点。系统管理员只需要两盘磁带,即全备份磁带与灾难发生前一天的差异备份磁带,就可以将系统恢复。

3、增量备份(Incremental Backup)

备份自上一次备份(包含完全备份、差异备份、增量备份)之后有变化的数据。增量备份过程中,只备份有标记的选中的文件和文件夹,它清除标记,既:备份后标记文件,换言之,清除存档属性。

增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加和者被修改的文件。这就意味着,第一次增量备份的对象是进行全备后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,如此类推。这种备份方式最显著的优点就是:没有重复的备份数据,因此备份的数据量不大,备份所需的时间很短。但增量备份的数据恢复是比较麻烦的。您必须具有上一次全备份和所有增量备份磁带(一旦丢失或损坏其中的一盘磁带,就会造成恢复的失败),并且它们必须沿着从全备份到依次增量备份的时间顺序逐个反推恢复,因此这就极大地延长了恢复时间。

第四篇:Sybase数据库备份方案

Sybase数据库备份方案

Sybase数据备份方案,Sybase数据库产品自从1987年问世以来,它的客户机/服务器(client/server)工作模式、分布处理的基础体系结构、完善的安全保密性能、高速快捷的运行方式、多平台跨操作系统的广泛应用等优点,迅速被IT界接受并推广应用。

我们作为金融业的用户,也在1995年开始使用Sybase10版本。在具体的使用中,发现集中式的数据管理有其优点,就是数据风险范围大为缩小,但是作为Sybase的服务器一端,数据风险比较集中,如何做好数据库的数据备份,成为至关重要的问题。

在实际应用中,我们总结出了两种全量备份方案:

一、Sybase数据备份方案之使用Sybase的BackupServer(备份服务器),做Dump备份

转储数据库(Dumpdatabase),就是为整个数据库(包括数据、表结构、触发器、游标、存储过程、事务日志等)做一次物理备份。转储数据库时,系统自动执行一次checkpoint,即将日志和数据从缓冲区拷贝到硬盘(只拷贝脏页),把已被分配的页(日志和数据)转储到设备。命令格式为:

dumpdatabase数据库名to设备文件名with参数

如果备份到硬盘的文件上,可以不预先估算备份文件的大小,只要硬盘有足够的存储空间就可以。如果是备份到dds磁带上,那么就要估算一下备份后的大小,90米的dds磁带压缩存储空间为4G,120米的磁带压缩存储空间为8G,如果数据库的备份文件超过了这个尺寸,就要考虑多文件转储,使用stripe参数。命令格式为:

dumpdatabase数据库名to设备文件名1 stripeon设备文件名2 stripeon设备文件名3…… with参数 这种数据备份方式是将整个数据库的运行环境完整的复制一份,包括数据库的脏页和碎片,在使用load命令恢复时,只能恢复到同样大小的数据库中(数据和日志的大小都只能和原来完全一致),适用于在每天的日终营业网点下班后的日常备份。优点是数据库完整无误,缺点是不能直接查看备份内容。

二、Sybase数据备份方案之分数据结构和数据记录做两次备份

在一般情况下,生产机的数据库都比较庞大,而实验机则相对较小,难以在实验环境中以load命令恢复工作机的内容。所以,在工作实践中,我们摸索出了第二种全量备份方案。

1、数据结构备份

在windows平台的SybaseSQLServerManager(数据库管理)平台中选择ServeràGenerateddl则产生整个数据库服务器的所有信息,如果选择databaseàgenerateddl则产生所选定数据库的信息,以master库为例,产生的文件主要包括:config.ddl(配置)、devices.ddl(设备)、database.ddl(数据库)、logins.ddl(用户)、remote.ddl(远程)、cache.ddl(缓冲)、segment.ddl()、group.ddl(用户组)、user.ddl(用户)、default.ddl(确省)、rule.ddl(规则)、udt.ddl、table.ddl(表)、view.ddl(视图)、proc.ddl(存储过程)、triger.ddl(触发器)。

2、数据记录备份

将数据库各表以Sybase自代的bcp(bulkcopy)工具的方式导成一定格式的文本文件,命令格式:

bcp表名out路径名文件名-c-t分隔符-u(用户名)-p(密码)-S(服务器名)如果将一个数据库中的所有表都做一个bcp备份,就需要针对每一个表都做一次bcp,在一般情况下,一个数据库有100多个表,工作量比较大。可以利用数据库中的系统表信息做一个bcp备份脚本。原理是每一个用户表在系统表中都有信息记载,可以通过isql语句查询得到。现举一例说明: 1)、先编辑一个名为mkbcpout.sql的文件,内容如下: select“echobcp'”+name+“out……………………'

”+“bcp”+name+“out./+”name+“.table-c-t'|'-Uuser-Ppassword-SSERVER”fromsysobjectswheretype='U' go 2)、执行isql命令,以此文件作为输入,执行结果输出到另外一个文件里: isql-Uuser-Ppassword-Sserver-Imkbcpout.sql-Obcpout 3)、对bcppout文件稍微修改,增加可执行权限 chmod+xbcpout 4)、执行bcpout,导出数据文本./bcpout

3、数据库恢复

业务生产机可能为小型机,而实验开发环境的硬件环境为PCserver,安装好winnt或SCOunix下的Sybase服务器后,根据需要创建空间足够大的数据库和tempdb(系统临时数据库),创建数据库用户,并将其更改为此数据库的所有者,要注意两点:1)此数据库允许bcp拷贝,2)此数据库自动清除log。命令格式为:

1>sp_dboptiondatabasedbname,“selectinto/bulkcopy”,true 2>go 1>sp_dboptiondatabasename,“trunclogonchkpt”,true 2>go 上述两个配置可能与生产机的配置不同。

然后以新创建的数据库用户登录,导入数据结构,注意要首先导入表结构,然后才是存储过程、触发器等等。命令格式:

1、isql-Uusername-Ppassword-Itable.ddl-oerror.log.table

2、isql-Uusername-Ppassword-Iproc.ddl-oerror.log.proc ……

为了提高bcp导入数据的速度,需要将比较大的表的索引和主键删除,否则的话,每bcp进一条数据,数据库都自动写一条log日志,记载此数据的上一条和下一条记录,确定本记录在此表中的准确位置,一是影响bcp速度,二是数据库的log飞速膨胀。数据库的自动清除log功能只有在一个事务结束后才起作用。准备工作做完后,开始倒入数据记录。使用类似做bcpout的方法做一个bcpin的脚本,然后执行:./bcpin|teeerror.bcpin 使用tee管道输出的目的是让计算机完整记录下倒入过程,自动存入error.bcpin文件中,待倒入结束后,我们只需要检查日志文件,不需要一直紧盯着计算机屏幕。所有工作做完之后,不要忘记重新将删除的主键和索引建上。

如果有现成的数据库,只需要单纯地导入数据记录,则首先将数据库中所有用户表(也就是所有type=“U”的表)清空,命令格式: 1>truncatetabletablename 2>go 当然最好也是利用做bcpout脚本的做一个truncate脚本,通过执行此脚本将所有用户表清空。然后的数据导入、处理索引和主键的过程与上面类似。

三、Sybase数据备份方案之利用做bcp备份脚本的方法做数据库碎片整理 Sybase数据库作为联机事务处理应用服务器,每天应用程序都对数据库做大量的插入、修改和删除等操作,不可避免的在数据库的物理存储介质上留下页碎片和扩展单元碎片,从而影响数据库的存储效率和运行速度。具体表现为:业务繁忙时出现死锁(deadlock),数据库的输入/输出资源被大量占用,业务处理速度慢。其解决办法是:

1、清空数据库中的所有表,命令格式:

isql-Uusername-Ppassword-Itruncate.sql-oerror.truncate

2、删除所有表的索引和主键

isql-Uusername-Ppassword-Idropindex.sql-oerror.dropindex

3、导入数据./bcpin

4、添加索引和主键

isql-Uusername-Ppassword-Iaddindex.sql-oerror.addindex

5、更新数据库状态

1>updatestatisticstablename 2>go 上述操作都是针对数据库中的所有用户表进行的,利用做bcp备份脚本的方法做出相应的脚本,使繁琐的数据库维护变得简便易行,还克服了直接使用isql语句操作风险大、没有操作日志的毛病。以上就是对Sybase数据备份方案的简单介绍。

第五篇:hbase数据库表snapshot备份方法

Hbase的表备份方法

一、hbase表级备份原理

对当前表做快照,可以使用恢复快照命令将表到某个时间点。

Snapshot 命令通常在秒级即可完成、快照只生成一些元数据,不会对文件本身产生影响。HBase 提供导出快照功能,可以将快照文件导出到另外的HBase集群进行恢复。也可以在原集群进行恢复。恢复在秒级完成。目前仅支持对当前时间点做全量快照,无法增量备份。HBase 配置支持快照功能:

hbase.snapshot.enabledtrue bin/hbase shell

执行快照:

hbase>snapshot 'myTable','myTable20170801'

列出快照:

hbase>list_snapshots

删除快照:

hbase>delete_snapshot 'myTable20170801'

从快照中克隆一个表

hbase>clone_snapshot 'myTable20170801','myNewTestTable'

恢复快照:

恢复快照需要先disable 表

hbase>disable 'myTable' hbase>restore_snapshot 'myTable20170801'

导出快照到另外集群:

bin/hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot-snapshot MySnapshot-copy-to hdfs://srv2:8082/hbase-mappers 16

二、hbase表备份具体执行方法

1、建立备份目录

Mkdir-p /home/hbasebackup

2、编写备份脚本,按天创建hbase表的snapshot,数据保存7天

bak_hbase.sh

注意:脚本中hbase_1102为测试表,实际应用需根据需要备份表进行更改

3、编写crontab任务,定期执行备份脚本

2 * * * sh /home/hbasebackup/bak_hbase.sh >> /home/hbasebackup/hbasebackup.log 2>&1

informix_online数据库三种备份方法的选择
TOP