人大金仓-逻辑备份、还原

1. 物理全系统备份

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;

2. 物理增量备份

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

3. 物理还原

系统会自动地判断是完全备份还是增量备份
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'

4. 逻辑备份

逻辑备份将数据库对象的定义和数据导出到指定文件中。逻辑备份文件的格式有两种:二进制文件(默认方式)和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 

5. 逻辑还原

逻辑还原时,若不指定还原对象,则对备份文件中的所有备份对象进行还原。逻辑还原方式可以有三种选择:还原整个备份文件,还原指定对象(表、索引、存储过程、触发器)

//还原备份文件中的所有内容
# 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

恢复时可以采用两种策略:

  1. 只使用增量备份的备份集进行恢复
  2. 使用增量备份的备份集+归档日志+尾日志进行恢复 (归档日志和尾日志必须同时指定)

尾日志:
对全系统备份后,系统中被写的REDO日志部分没有及时归档的,称为尾日志。尾日志通常在KingbaseES系统运行的数据目录中

你可能感兴趣的:(数据库)