GBASE南大通用GBase 8s数据库基于ON-Bar的备份与恢复实验
ON-Bar体系架构
ON-Bar 由各种组件组成,它需要与存储管理器一起使用,来备份和恢复数据。
ON-Bar组件:
sysutils 数据库,其中包含ON-Bar目录表
onbar 和 onbar_d 命令行实用程序
系统上存储管理器的 XBSA 共享库
用于存储备份的存储介质
ON-Bar活动日志
ON-Bar紧急引导文件
南大通用GBase 8s 的ON-Bar支持第三方的存储管理器,进行数据库的备份与恢复。GBase 8s也内置了一个存储管理器PSM(Primary Storage Manager)。
对于备份会话,ON-Bar 从数据库服务器请求存储空间和逻辑日志的内容,并将它们传递到存储管理器。存储管理器将数据存储在存储介质上。
对于恢复会话,ON-Bar 从存储管理器请求已备份的数据,然后在数据库服务器上恢复该数据。
GBASE南大通用技术分享:GBase 8s
环境准备
配置存储管理器OSM的共享库
ON-Bar 和存储管理器通过“备份服务应用程序编程接口 (XBSA)”通信,该接口支持将存储管理器作为数据库服务器的备份介质。
通过使用存储管理器的开放式系统接口,ON-Bar 可以与各种同样使用 XBSA 的存储管理器一起协同工作。
GBase 8s 内置了一个存储管理器PSM,该存储管理器的接口库位置为/opt/gbase/lib/libbsapsm.so
[gbasedbt@devsvr ~]$ cd /opt/gbase/lib
[gbasedbt@devsvr lib]$ pwd
/opt/gbase/lib
[gbasedbt@devsvr lib]$ ll
total 38572
-rwxr-xr-x. 1 gbasedbt gbasedbt 8846 Mar 23 18:02 iosm11a.so
-rwxr-xr-x. 1 gbasedbt gbasedbt 326676 Mar 23 17:46 libAPI.jar
-rwxr-xr-x. 1 gbasedbt gbasedbt 174756 Mar 23 18:02 libastool.so
-rwxr-xr-x. 1 gbasedbt gbasedbt 14130 Mar 23 18:14 libbsanull.so
-r-xr-xr-x. 1 gbasedbt gbasedbt 1920732 Mar 23 18:14 libbsapsm.so
-rwxr-xr-x. 1 gbasedbt gbasedbt 11644279 Mar 23 18:13 libdwa.udr
-rwxr-xr-x. 1 gbasedbt gbasedbt 74921 Mar 23 17:46 libencrypt_f.so
-rwxr-xr-x. 1 gbasedbt gbasedbt 283227 Mar 23 18:02 libmisc.udr
-rwxr-xr-x. 1 gbasedbt gbasedbt 239980 Mar 23 17:46 libnativeAPI.so
-rwxr-xr-x. 1 gbasedbt gbasedbt 403608 Mar 23 18:02 liboracle.udr
-r-xr-xr-x. 1 gbasedbt gbasedbt 59340 Mar 23 18:20 libtxbsa.so
-rwxr-xr-x. 1 gbasedbt gbasedbt 24322266 Mar 23 18:04 libxml.udr
[gbasedbt@devsvr lib]$
保用ON-Bar时,需要做一些简单的配置,配置参数如下:
[gbasedbt@devsvr ~]$ onstat -c | grep BAR_BSALIB_PATH
Your evaluation license will expire on 2022-07-30 00:00:00
# BAR_BSALIB_PATH - The shared library for ON-Bar and the
BAR_BSALIB_PATH
[gbasedbt@devsvr ~]$ onmode -wf BAR_BSALIB_PATH=/opt/gbase/lib/libbsapsm.so
Your evaluation license will expire on 2022-07-30 00:00:00
Value of BAR_BSALIB_PATH has been changed to /opt/gbase/lib/libbsapsm.so.
[gbasedbt@devsvr ~]$ onstat -c | grep BAR_BSALIB_PATH
Your evaluation license will expire on 2022-07-30 00:00:00
# BAR_BSALIB_PATH - The shared library for ON-Bar and the
BAR_BSALIB_PATH /opt/gbase/lib/libbsapsm.so
[gbasedbt@devsvr ~]$
[gbasedbt@devsvr ~]$ onmode -wf LTAPEDEV=/opt/gbase/backups
Your evaluation license will expire on 2022-07-30 00:00:00
Value of LTAPEDEV has been changed to /opt/gbase/logpool.
[gbasedbt@devsvr ~]$ onstat -c | grep LTAPEDEV
Your evaluation license will expire on 2022-07-30 00:00:00
# LTAPEDEV - The tape device path for logical logs
LTAPEDEV /opt/gbase/backups
[gbasedbt@devsvr ~]$
说明:LTAPEDEV是ontape中的一个参数,在使用onbar时,该参数不能为/dev/null。我们可以临时为参数设置一个目录,实际备份时,逻辑日志并不保存在该目录中。
PSM配置
初始化Catalog
[gbasedbt@devsvr ~]$ ll /opt/gbase/etc/psm
ls: cannot access /opt/gbase/etc/psm: No such file or directory
[gbasedbt@devsvr ~]$ onpsm -C init
The __PSM__ catalog is not present in the '/opt/gbase/etc/psm/' directory.
The system will try to create it.
__PSM__ catalog creation in the '/opt/gbase/etc/psm/' directory succeeded.
This option deletes the __PSM__ catalogs.
Are you sure you want to delete these items? (y/n) n
[gbasedbt@devsvr ~]$ ll /opt/gbase/etc/psm
total 60
-rw-rw-r--. 1 gbasedbt gbasedbt 1024 Jul 30 10:14 device.dat
-rw-rw-r--. 1 gbasedbt gbasedbt 5120 Jul 30 10:14 device.idx
-rw-rw-r--. 1 gbasedbt gbasedbt 1024 Jul 30 10:14 lock.dat
-rw-rw-r--. 1 gbasedbt gbasedbt 2048 Jul 30 10:14 lock.idx
-rw-rw-r--. 1 gbasedbt gbasedbt 0 Jul 30 10:14 object.dat
-rw-rw-r--. 1 gbasedbt gbasedbt 0 Jul 30 10:14 object_detail.dat
-rw-rw-r--. 1 gbasedbt gbasedbt 3072 Jul 30 10:14 object_detail.idx
-rw-rw-r--. 1 gbasedbt gbasedbt 4096 Jul 30 10:14 object.idx
-rw-rw-r--. 1 gbasedbt gbasedbt 0 Jul 30 10:14 pool.dat
-rw-rw-r--. 1 gbasedbt gbasedbt 4096 Jul 30 10:14 pool.idx
-rw-rw-r--. 1 gbasedbt gbasedbt 1024 Jul 30 10:14 serial.dat
-rw-rw-r--. 1 gbasedbt gbasedbt 2048 Jul 30 10:14 serial.idx
-rw-rw-r--. 1 gbasedbt gbasedbt 1024 Jul 30 10:14 session.dat
-rw-rw-r--. 1 gbasedbt gbasedbt 3072 Jul 30 10:14 session.idx
-rw-rw-r--. 1 gbasedbt gbasedbt 1024 Jul 30 10:14 volume.dat
-rw-rw-r--. 1 gbasedbt gbasedbt 5120 Jul 30 10:14 volume.idx
[gbasedbt@devsvr ~]$
查看PSM设备情况
[gbasedbt@devsvr ~]$ onpsm -D list
__PSM__ Device List
Type Prio Block/Size (MB) Pool Name Device Name
FILE LOW --/-- DBSPOOL /opt/gbase/backups
FILE LOW --/-- LOGPOOL /opt/gbase/backups
[gbasedbt@devsvr ~]$
配置PSM设备
我们不使用默认的PSM设备,使用下面的方法,添加一个自己的设备,并将原来的设备删除。
[gbasedbt@devsvr ~]$ mkdir -p /opt/gbase/dbspool
[gbasedbt@devsvr ~]$ mkdir -p /opt/gbase/logpool
[gbasedbt@devsvr ~]$ onpsm -D add /opt/gbase/dbspool -g DBSPOOL -p HIGHEST -t FILE
[gbasedbt@devsvr ~]$ onpsm -D add /opt/gbase/logpool -g LOGPOOL -p HIGHEST -t FILE
[gbasedbt@devsvr ~]$ onpsm -D del /opt/gbase/backups -d
Delete the device from ALL pools and DELETE ALL backup objects stored in
FILE devices? (y/n) y
[gbasedbt@devsvr ~]$ onpsm -D list
__PSM__ Device List
Type Prio Block/Size (MB) Pool Name Device Name
FILE HIGHEST --/-- DBSPOOL /opt/gbase/dbspool
FILE HIGHEST --/-- LOGPOOL /opt/gbase/logpool
[gbasedbt@devsvr ~]$ ll /opt/gbase/dbspool
total 0
[gbasedbt@devsvr ~]$ ll /opt/gbase/logpool
total 0
[gbasedbt@devsvr ~]$
实验说明
业务场景说明:
数据空间文件被删除时的数据完全恢复
表删除后基于时间点的不完全恢复
备份与恢复演示
创建数据库和表(t1)
[gbasedbt@devsvr ~]$ dbaccess - -
Your evaluation license will expire on 2022-07-30 00:00:00
creat