- 物理全系统备份
sys_backup -b
物理脱机全系统备份
脱机全系统备份需要服务器处于停止状态
//使用优化方式
sys_backup -b -D /home/usr/KingbaseES/data -M 6
//指定备份集路径"/home/db/" 指定备份名DATA
sys_backup -b -D /home/KingbaseES/data -n DATA -P /home/db/
物理联机全系统备份
使用SQL语句指定备份信息来完成备份
开启归档模式
vi data/kingbase.conf
log_archive_start = on
log_archive_dest = '/home/test'
//简单备份
BACKUP;
//快速备份(一次最多允许拷贝5个区。对于有空洞的数据文件,此备份方式速度更快,更节省硬盘空间)
BACKUP NUM 5;
//指定备份路径备份
BACKUP FILEPATH '/home/db/backup';
//不备份READ ONLY的数据文件
BACKUP WITHOUT READONLY;
- 物理增量备份
sys_backup -b
物理联机增量备份
//完全备份
BACKUP NAME base1 TYPE FULL;
//插入数据
CREATE TABLE tab(col1 INT, col2 TEXT); INSERT INTO tab VALUES(1,'one');
//增量备份
BACKUP NAME diff1 TYPE DIFFERENTIAL INCREMENT;
物理脱机增量备份
sys_backup –b -D ./data -P ‘/home/db’
sys_backup –b -D ./data -P ‘/home/db’ -t differential
- 物理还原
系统会自动地判断是完全备份还是增量备份
sys_backup –r
//恢复备份名为OFFLINE_B1的备份到新位置
sys_backup -r -P /home/db/backup/OFFLINE_B1 -N /home/db/recover/OFFLINE_B1
//使用归档的日志和尾日志文件,指定时间点
sys_backup -r -P /home/db/backup/ONLINE_B3 –N /home/db/recover/ONLINE_B3 -A /home/db/archive -D /home/KingbaseES/data -t '2011-02-06 13:20:37'
- 逻辑备份
逻辑备份将数据库对象的定义和数据导出到指定文件中。逻辑备份文件的格式有两种:二进制文件(默认方式)和SQL脚本
逻辑备份有三种备份模式,分别为:全库备份、模式备份、表备份(全表备份和水平分区备份)。全库备份是指备份单个数据库中所有的用户可备份的对象;模式备份是指备份用户指定的模式和模式所包含的对象;表备份分为全表备份和水平子分区备份,将指定的表和表的数据进行备份
sys_dump 是 KingbaseES 专有的逻辑备份工具,而 exp 是兼容 oracle 逻辑备份工具,exp 的使用依赖于配置的kingbase服务,所以需要在使用前配置 sys_service.conf 文件
-w选项覆盖原有备份文件
//备份指定数据库
sys_dump -h 192.168.1.8 -p 54321 -U SYSTEM -W MANAGER -f c:\dumpfile.dmp TEST
//备份指定模式
sys_dump -h 192.168.1.8 -p 54321 -U SYSTEM -W MANAGER -n PUBLIC -f c:\dumpfile.dmp TEST
//备份指定表
sys_dump -h 192.168.1.8 -p 54321 -U SYSTEM -W MANAGER -t PUBLIC.T1 -f c:\dumpfile.dmp TEST
//备份指定水平子分区表
sys_dump -h 192.168.1.8 -p 54321 -U SYSTEM -W MANAGER -t PUBLIC.T1:PARTTAB_01 -f c:\dumpfile.dmp TEST
//备份为SQL脚本文件
sys_dump -h 192.168.1.8 -p 54321 -U SYSTEM -W MANAGER -F p -f c:\dumpfile.sql TEST
//备份为对象的定义到SQL脚本文件
sys_dump -h 192.168.1.8 -p 54321 -U SYSTEM -W MANAGER -s -Fp -f c:\dumpfile.sql TEST
//使用加密方式进行备份
sys_dump -h 192.168.1.8 -p 54321 -U SYSTEM -W MANAGER -K 12345678 -f c:\dumpfile.dmp DB_DUMPTEST
- 逻辑还原
逻辑还原时,若不指定还原对象,则对备份文件中的所有备份对象进行还原。逻辑还原方式可以有三种选择:还原整个备份文件,还原指定对象(表、索引、存储过程、触发器)
//还原备份文件中的所有内容
sys_restore -h 192.168.1.8 -p 54321 -U SYSTEM -W MANAGER -d TEST2 c:\dumpfile.dmp
注意,此时还原到数据库”TEST2”的是备份文件”c:\dumpfile.dmp”中的数据库对象和数据。如果备份的是整个数据库,则将还原整个数据库在备份时刻的状态;如果备份的是指定模式,则将还原指定模式在备份时刻的状态;如果备份的是指定表,则将还原指定表在备份时刻的状态
//逻辑还原指定对象
//还原时,可以只还原指定的对象(包括表、索引、存储过程和触发器),通过"-t"选项指定表,"-I"选项指定索引,"-P"选项指定存储过程,"-T"选项指定触发器,"-c"删除已经存在的数据库对象
sys_restore -h 192.168.1.8 -p 54321 -U SYSTEM -W MANAGER -d TEST2 -t PUBLIC.TABLE1 -I SCHEMA1.TABLE1_ID1 c:\dumpfile.dmp
//指定还原时使用的5个线程来恢复表数据和大对象
sys_restore -h 192.168.1.8 -p 54321 -U SYSTEM -W MANAGER -d TEST2 -J 5 c:\dumpfile.dmp
//只还原指定表的水平分区数据
sys_restore -USYSTEM -WMANAGER -p7788 -dTEST -A -t maintab:parttab_02 -tmaintab1:parttab_11 TEST_DUMP.DMP
恢复时可以采用两种策略:
只使用增量备份的备份集进行恢复
使用增量备份的备份集+归档日志+尾日志进行恢复 (归档日志和尾日志必须同时指定)
尾日志:
对全系统备份后,系统中被写的REDO日志部分没有及时归档的,称为尾日志。尾日志通常在KingbaseES系统运行的数据目录中