GBase 8s数据库的备份与恢复-基于ontape

ontape简介

使用ontape,可以进行GBase 8s数据库的备份与恢复。

  • ontape支持L0,L1,L2三级备份与恢复。
  • ontape支持逻辑日志的备份与恢复。
  • ontape本身不支持基于时间点的恢复,但可通过其它工具,将ontape备份的单个表中数据,恢复到指定的时间点(暂不讨论)。基于时间点的数据库备份与恢复,建议使用onbar实现。
    备份命令:
命令 说明
ontape -s -L 0 进行L0级备份
ontape -s -L 1 进行L1级备份
ontape -s -L 2 进行L2级备份
ontape -a 进行自动逻辑日志备份
ontape -c 启动连续逻辑日志备份
ontape -S 抢救逻辑日志

恢复命令:

命令 说明
ontape -r 完成恢复
ontape -p 进行物理恢复
ontape -l 进行逻辑恢复
ontape -C 连续逻辑日志恢复
ontape -X 停止连续逻辑日志恢复

业务场景模拟规划

模拟数据库在遇到数据库空间文件被删除时和表被删除时,如何尽可能的抢救数据。

时间 业务 说明
t1 系统上线 创建t_dept和t_employee
t2 t_dept新增3条数据
t3 t_employee新增5条数据
t4 系统进行L0备份 用于验证L0物理恢复
t5 t_employee新增5条数据
t6 系统进行L1备份
t7 t_employee新增1条数据
t8 系统进行L1备份 用于观察多次备份对文件名的影响
t9 t_employee新增5条数据
t10 系统进行L2备份 用于验证L2物理恢复
t11 t_dept新增1条数据
t12 t_employee更新1条数据
t13 切换逻辑日志 模拟因业务变化导致日志切换
t14 t_employee删除1条数据
t15 删除Chunk文件 模拟灾难
t16 t_dept新增1条数据
t17 备份逻辑日志
t18 进行完全恢复
t19 t_employee新增5条数据
t20 删除t_employee表 模拟灾难
t21 尝试L0级物理恢复
t22 尝试L1级物理恢复
t23 尝试L2级物理恢复
t24 尝试L2级物理恢复+部分逻辑恢复

备份/恢复操作演示

ontape环境参数设置

使用ontape进行数据库的备份与恢复时,需要设置ontape默认使用的存储设备。

可通过修改参数文件,或使用 onmode -wf 命令,设置GBase 8s的参数。可通过 onstat -c 命令,查看GBase 8s的参数设置。

检查 GBase 8s 备份的存储设备参数,发现未指定备份存储设备。

[gbasedbt@devsvr ~]$ onstat -c | grep TAPEDEV | grep -v '#'
Your evaluation license will expire on 2022-06-18 00:00:00
TAPEDEV         /dev/null
LTAPEDEV        /dev/null

创建一个目录,并设置物理备份和逻辑备份的存储设备为新创建的目录。

[gbasedbt@devsvr ~]$ mkdir backup
[gbasedbt@devsvr ~]$ onmode -wf "TAPEDEV=/home/gbasedbt/backup"
Your evaluation license will expire on 2022-06-18 00:00:00
Value of TAPEDEV has been changed to /home/gbasedbt/backup.
[gbasedbt@devsvr ~]$ onmode -wf "LTAPEDEV=/home/gbasedbt/backup"
Your evaluation license will expire on 2022-06-18 00:00:00
Value of LTAPEDEV has been changed to /home/gbasedbt/backup.

查看备份设备参数,已经指向新创建的目录。

[gbasedbt@devsvr ~]$ onstat -c | grep TAPEDEV | grep -v '#'
Your evaluation license will expire on 2022-06-18 00:00:00
TAPEDEV         /home/gbasedbt/backup
LTAPEDEV        /home/gbasedbt/backup

实验步骤

  • 步骤1:创建数据库与表
[gbasedbt@devsvr ~]$ dbaccess - -
Your evaluation license will expire on 2022-06-18 00:00:00
create database mydb in datadbs1 with log;
create table t_dept(f_deptid int, f_deptname varchar(20));
create table t_employee(f_employeeid int, f_deptid int, f_employeename varchar(20));Database created.>
Table created.>
Table created.> info tables;Table namet_dept             t_employee         >
  • 步骤2:L0备份前的数据准备
> select * from t_dept;f_deptid f_deptname           1 dept_1              2 dept_2              3 dept_3              3 row(s) retrieved.> select * from t_employee;f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         5 row(s) retrieved.>

在L0备份前,t_dept表有3条记录,t_employee表有5条记录。在将数据库物理恢复到L0时,可恢复t_dept中的3条记录和t_employee中的5条记录。

  • 步骤3:L0备份
[gbasedbt@devsvr backup]$ ontape -s -L 0
Your evaluation license will expire on 2022-06-18 00:00:00
100 percent done.
File created: /home/gbasedbt/backup/devsvr_120_L0Please label this tape as number 1 in the arc tape sequence.
This tape contains the following logical logs:33Program over.
[gbasedbt@devsvr backup]$ ll
total 43584
-rw-rw----. 1 gbasedbt gbasedbt 44630016 Jul 24 10:08 devsvr_120_L0
[gbasedbt@devsvr backup]$

执行L0备份后,目录中生成一个名称为devsvr_120_L0的备份文件。

备份文件的命名规则:

<L0 | L1 | L2>

  • 步骤4:L1备份前的数据准备
> select * from t_employee;f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         11           1 employee_11         12           1 employee_12         13           2 employee_13         14           2 employee_14         15           3 employee_15         10 row(s) retrieved.>
  • 步骤5:L1备份
[gbasedbt@devsvr backup]$ ontape -s -L 1
Your evaluation license will expire on 2022-06-18 00:00:00
100 percent done.
File created: /home/gbasedbt/backup/devsvr_120_L1Please label this tape as number 1 in the arc tape sequence.
This tape contains the following logical logs:33Program over.
[gbasedbt@devsvr backup]$ ll
total 50176
-rw-rw----. 1 gbasedbt gbasedbt 44630016 Jul 24 10:08 devsvr_120_L0
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:14 devsvr_120_L1
[gbasedbt@devsvr backup]$
  • 步骤6:L1备份前的数据准备(第二次)
> select * from t_employee;f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         11           1 employee_11         12           1 employee_12         13           2 employee_13         14           2 employee_14         15           3 employee_15         16           3 employee_16         11 row(s) retrieved.>

在第二次L1备份前,t_employee表有11条记录。
可通过L1的物理恢复,得到t_employee表的11条记录。

  • 步骤7:L1备份
[gbasedbt@devsvr backup]$ ontape -s -L 1
Your evaluation license will expire on 2022-06-18 00:00:00
100 percent done.
File created: /home/gbasedbt/backup/devsvr_120_L1Please label this tape as number 1 in the arc tape sequence.
This tape contains the following logical logs:33Program over.
[gbasedbt@devsvr backup]$ ll
total 56768
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:14 devsvr_120_20210724_101445_L1
-rw-rw----. 1 gbasedbt gbasedbt 44630016 Jul 24 10:08 devsvr_120_L0
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:17 devsvr_120_L1
[gbasedbt@devsvr backup]$

GBase 8s最后一次的备份文件名为 <L0 | L1 | L2>。当连续使用同一级别进行备份时,前一次的备份会被自动更名为-<L0 | L1 | L2>。

  • 步骤8:L2备份前的数据准备
> select * from t_employee;f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         11           1 employee_11         12           1 employee_12         13           2 employee_13         14           2 employee_14         15           3 employee_15         16           3 employee_16         21           1 employee_21         22           1 employee_22         23           2 employee_23         24           2 employee_24         25           3 employee_25         16 row(s) retrieved.>

在L2备份前,t_employee表有16条记录。
可通过L2的物理恢复,得到t_employee表的16条记录。

  • 步骤9:L2备份
[gbasedbt@devsvr backup]$ ontape -s -L 2
Your evaluation license will expire on 2022-06-18 00:00:00
100 percent done.
File created: /home/gbasedbt/backup/devsvr_120_L2Please label this tape as number 1 in the arc tape sequence.
This tape contains the following logical logs:33Program over.
[gbasedbt@devsvr backup]$ ll
total 63360
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:14 devsvr_120_20210724_101445_L1
-rw-rw----. 1 gbasedbt gbasedbt 44630016 Jul 24 10:08 devsvr_120_L0
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:17 devsvr_120_L1
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:20 devsvr_120_L2
[gbasedbt@devsvr backup]$
  • 步骤10:切换逻辑日志前的数据准备
> select * from t_dept;f_deptid f_deptname           1 dept_1              2 dept_2              3 dept_3              4 dept_4              4 row(s) retrieved.> select * from t_employee;f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         11           1 employee_updated    12           1 employee_12         13           2 employee_13         14           2 employee_14         15           3 employee_15         16           3 employee_16         21           1 employee_21         22           1 employee_22         23           2 employee_23         24           2 employee_24         25           3 employee_25         16 row(s) retrieved.>
  • 步骤11 切换逻辑日志
    切换前,当前的逻辑日志文件是10,唯一编号为33。
[gbasedbt@devsvr ~]$ onstat -l
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 15 days 01:56:16 -- 1135464 KbytesPhysical Logging
Buffer bufused  bufsize  numpages   numwrits   pages/ioP-2  0        1024     6312       454        13.90phybegin         physize    phypos     phyused    %used   3:53             99400      36167      14         0.01    Logical Logging
Buffer bufused  bufsize  numrecs    numpages   numwrits   recs/pages pages/ioL-1  0        512      99535      23065      21000      4.3        1.1     Subsystem    numrecs    Log Space usedOLDRSAM      99037      9833936       HA           452        19888         DDL          46         16008         address          number   flags    uniqid   begin                size     used    %used
4713df88         4        U-B----  27       2:53                 5000        3     0.06
48445970         5        U-B----  28       2:5053               5000        5     0.10
484459d8         6        U-B----  29       2:10053              5000     5000   100.00
48445a40         7        U-B----  30       2:15053              5000     5000   100.00
48445aa8         8        U-B----  31       2:20053              5000     5000   100.00
48445b10         9        U-B----  32       2:25053              5000     5000   100.00
48445b78         10       U---C-L  33       2:30053              5000     3060    61.20
48445be0         11       F------  0        2:35053              5000        0     0.00
48445c48         12       F------  0        2:40053              5000        0     0.00
48445cb0         13       F------  0        2:45053              5000        0     0.00
48445d18         14       F------  0        2:50053              5000        0     0.00
48445d80         15       F------  0        2:55053              5000        0     0.00
48445de8         16       F------  0        2:60053              5000        0     0.00
48445e50         17       F------  0        2:65053              5000        0     0.00
48445eb8         18       F------  0        2:70053              5000        0     0.00
48445f20         19       F------  0        2:75053              5000        0     0.00
48445f88         20       F------  0        2:80053              5000        0     0.00
46f1cf30         21       U-B----  24       2:85053              5000       30     0.60
46f1cf98         22       U-B----  25       2:90053              5000       13     0.26
46febf30         23       U-B----  26       2:95053              5000        3     0.0620 active, 20 total[gbasedbt@devsvr ~]$

执行逻辑日志切换命令

[gbasedbt@devsvr ~]$ onmode -l
Your evaluation license will expire on 2022-06-18 00:00:00

切换后,当前逻辑日志文件为11,唯一编号为34。

[gbasedbt@devsvr ~]$ onstat -l
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 15 days 01:57:06 -- 1135464 KbytesPhysical Logging
Buffer bufused  bufsize  numpages   numwrits   pages/ioP-2  0        1024     6312       454        13.90phybegin         physize    phypos     phyused    %used   3:53             99400      36167      14         0.01    Logical Logging
Buffer bufused  bufsize  numrecs    numpages   numwrits   recs/pages pages/ioL-2  0        512      99535      23065      21000      4.3        1.1     Subsystem    numrecs    Log Space usedOLDRSAM      99037      9833936       HA           452        19888         DDL          46         16008         address          number   flags    uniqid   begin                size     used    %used
4713df88         4        U-B----  27       2:53                 5000        3     0.06
48445970         5        U-B----  28       2:5053               5000        5     0.10
484459d8         6        U-B----  29       2:10053              5000     5000   100.00
48445a40         7        U-B----  30       2:15053              5000     5000   100.00
48445aa8         8        U-B----  31       2:20053              5000     5000   100.00
48445b10         9        U-B----  32       2:25053              5000     5000   100.00
48445b78         10       U-----L  33       2:30053              5000     3061    61.22
48445be0         11       U---C--  34       2:35053              5000        0     0.00
48445c48         12       F------  0        2:40053              5000        0     0.00
48445cb0         13       F------  0        2:45053              5000        0     0.00
48445d18         14       F------  0        2:50053              5000        0     0.00
48445d80         15       F------  0        2:55053              5000        0     0.00
48445de8         16       F------  0        2:60053              5000        0     0.00
48445e50         17       F------  0        2:65053              5000        0     0.00
48445eb8         18       F------  0        2:70053              5000        0     0.00
48445f20         19       F------  0        2:75053              5000        0     0.00
48445f88         20       F------  0        2:80053              5000        0     0.00
46f1cf30         21       U-B----  24       2:85053              5000       30     0.60
46f1cf98         22       U-B----  25       2:90053              5000       13     0.26
46febf30         23       U-B----  26       2:95053              5000        3     0.0620 active, 20 total[gbasedbt@devsvr ~]$
  • 步骤12 灾难前的最后一次数据变更
    在灾难发生前,删除一个记录,用于后续恢复时的验证用例。
> delete from t_employee where f_employeeid = 14;1 row(s) deleted.> select * from t_employee;f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         11           1 employee_updated    12           1 employee_12         13           2 employee_13         15           3 employee_15         16           3 employee_16         21           1 employee_21         22           1 employee_22         23           2 employee_23         24           2 employee_24         25           3 employee_25         15 row(s) retrieved.> select * from t_dept;f_deptid f_deptname           1 dept_1              2 dept_2              3 dept_3              4 dept_4              4 row(s) retrieved.>

在灾难发生前,t_employee表有15条记录,t_dept表有4条记录。
可通过完全恢复,得到t_employee表的15条记录,t_dept表的4条记录。

  • 步骤13 模拟灾难发生
[gbasedbt@devsvr ~]$ cd /opt/gbase/gbaseserver_dbs/
[gbasedbt@devsvr gbaseserver_dbs]$ ll
total 1536000
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:32 datadbs1_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul  9 08:29 datadbs2_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul  9 08:29 datadbs3_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul  9 08:29 datadbs4_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul  9 08:29 datadbs5_1
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:32 llogdbs
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:32 plogdbs
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:32 rootdbs
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul  9 08:29 sbspace1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:22 tmpdbs1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:22 tmpdbs2
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:19 tmpdbs3
[gbasedbt@devsvr gbaseserver_dbs]$ rm -rf datadbs1_1
[gbasedbt@devsvr gbaseserver_dbs]$ ll
total 1433600
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul  9 08:29 datadbs2_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul  9 08:29 datadbs3_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul  9 08:29 datadbs4_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul  9 08:29 datadbs5_1
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:32 llogdbs
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:32 plogdbs
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:32 rootdbs
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul  9 08:29 sbspace1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:22 tmpdbs1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:22 tmpdbs2
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:19 tmpdbs3
[gbasedbt@devsvr gbaseserver_dbs]$

删除数据空间文件成功。

  • 步骤14 灾难后的第一次数据变更
    在数据库空间文件被删除后,对t_dept表的INSERT操作可以成功。
> insert into t_dept values(5, 'dept_5');1 row(s) inserted.> select * from t_dept;f_deptid f_deptname           1 dept_1              2 dept_2              3 dept_3              4 dept_4              5 dept_5              5 row(s) retrieved.>

灾难发生后,对t_dept表的操作成功,t_dept表共有5条记录。

  • 步骤15 重启数据库,出现错误信息。
    数据库报错,信息:Cannot open chunk ‘/opt/gbase/gbaseserver_dbs/datadbs1_1’.

因为这个文件被删除,所以GBase 8s找不到这个文件了。

[gbasedbt@devsvr ~]$ onmode -ky
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ oninit -vy
Your evaluation license will expire on 2022-06-18 00:00:00
Reading configuration file '/opt/gbase/etc/onconfig.gbaseserver'...succeeded
Creating /GBASEDBTTMP/.infxdirs...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 36470 kbytes...succeeded
Creating infos file "/opt/gbase/etc/.infos.gbaseserver"...succeeded
Linking conf file "/opt/gbase/etc/.conf.gbaseserver"...succeeded
Initializing rhead structure...rhlock_t 65536 (2048K)... rlock_t (26562K)... Writing to infos file...succeeded
Initialization of Encryption...succeeded
Initializing ASF...succeeded
Initializing Dictionary Cache and SPL Routine Cache...succeeded
Bringing up ADM VP...succeeded
Creating VP classes...succeeded
Forking main_loop thread...succeeded
Initializing DR structures...succeeded
Forking 1 'soctcp' listener threads...succeeded
Starting tracing...succeeded
Initializing 32 flushers...succeeded
Initializing SDS Server network connections...succeeded
Initializing log/checkpoint information...succeeded
Initializing dbspaces...succeeded
Opening primary chunks...oninit: Cannot open chunk '/opt/gbase/gbaseserver_dbs/datadbs1_1'. errno = 2
succeeded
Validating chunks...succeeded
Initialize Async Log Flusher...succeeded
Starting B-tree Scanner...succeeded
Init ReadAhead Daemon...succeeded
Init DB Util Daemon...succeeded
Initializing DBSPACETEMP list...succeeded
Init Auto Tuning Daemon...succeeded
Checking database partition index...succeeded
Initializing dataskip structure...succeeded
Checking for temporary tables to drop...succeeded
Updating Global Row Counter...succeeded
Forking onmode_mon thread...succeeded
Creating periodic thread...succeeded
Creating periodic thread...succeeded
Starting scheduling system...succeeded
Verbose output complete: mode = 5
[gbasedbt@devsvr ~]$
  • 步骤16 备份逻辑日志。
    执行逻辑日志的备份后,目录中出现两个备份的逻辑日志(devsvr_120_Log0000000033和devsvr_120_Log0000000034)。
[gbasedbt@devsvr backup]$ ontape -a
Your evaluation license will expire on 2022-06-18 00:00:00Performing automatic backup of logical logs.File created: /home/gbasedbt/backup/devsvr_120_Log0000000033
Do you want to back up the current logical log? (y/n) y
File created: /home/gbasedbt/backup/devsvr_120_Log0000000034Program over.
[gbasedbt@devsvr backup]$ ll
total 69664
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:14 devsvr_120_20210724_101445_L1
-rw-rw----. 1 gbasedbt gbasedbt 44630016 Jul 24 10:08 devsvr_120_L0
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:17 devsvr_120_L1
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:20 devsvr_120_L2
-rw-rw----. 1 gbasedbt gbasedbt  6356992 Jul 24 10:48 devsvr_120_Log0000000033
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:48 devsvr_120_Log0000000034
[gbasedbt@devsvr backup]$ 

进行逻辑日志备份时,会产生逻辑日志切换。当前的逻辑日志文件变为12,唯一编号为35。

[gbasedbt@devsvr backup]$ onstat -l
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line (CKPT INP) -- Up 00:07:06 -- 597864 Kbytes
Blocked:OVERRIDE_DOWN_SPACEPhysical Logging
Buffer bufused  bufsize  numpages   numwrits   pages/ioP-1  0        1024     42         1          42.00phybegin         physize    phypos     phyused    %used   3:53             99400      36253      42         0.04    Logical Logging
Buffer bufused  bufsize  numrecs    numpages   numwrits   recs/pages pages/ioL-3  0        512      6          2          2          3.0        1.0     Subsystem    numrecs    Log Space usedOLDRSAM      6          340           address          number   flags    uniqid   begin                size     used    %used
4713df88         4        U-B----  27       2:53                 5000        3     0.06
4844a970         5        U-B----  28       2:5053               5000        5     0.10
4844a9d8         6        U-B----  29       2:10053              5000     5000   100.00
4844aa40         7        U-B----  30       2:15053              5000     5000   100.00
4844aaa8         8        U-B----  31       2:20053              5000     5000   100.00
4844ab10         9        U-B----  32       2:25053              5000     5000   100.00
4844ab78         10       U-B----  33       2:30053              5000     3061    61.22
4844abe0         11       U-B---L  34       2:35053              5000       14     0.28
4844ac48         12       U---C--  35       2:40053              5000        0     0.00
4844acb0         13       F------  0        2:45053              5000        0     0.00
4844ad18         14       F------  0        2:50053              5000        0     0.00
4844ad80         15       F------  0        2:55053              5000        0     0.00
4844ade8         16       F------  0        2:60053              5000        0     0.00
4844ae50         17       F------  0        2:65053              5000        0     0.00
4844aeb8         18       F------  0        2:70053              5000        0     0.00
4844af20         19       F------  0        2:75053              5000        0     0.00
4844af88         20       F------  0        2:80053              5000        0     0.00
46f1cf30         21       U-B----  24       2:85053              5000       30     0.60
46f1cf98         22       U-B----  25       2:90053              5000       13     0.26
46febf30         23       U-B----  26       2:95053              5000        3     0.0620 active, 20 total[gbasedbt@devsvr backup]$
  • 步骤17 恢复数据库。
    为丢失的数据库空间文件,创建一个同名的空文件,并设置好相应的权限。
[gbasedbt@devsvr gbaseserver_dbs]$ pwd
/opt/gbase/gbaseserver_dbs
[gbasedbt@devsvr gbaseserver_dbs]$ ll
total 1433600
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs2_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs3_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs4_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs5_1
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:48 llogdbs
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:44 plogdbs
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:44 rootdbs
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 sbspace1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 tmpdbs1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 tmpdbs2
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 tmpdbs3
[gbasedbt@devsvr gbaseserver_dbs]$ touch datadbs1_1
[gbasedbt@devsvr gbaseserver_dbs]$ ll
total 1433600
-rw-rw-r--. 1 gbasedbt gbasedbt         0 Jul 24 10:55 datadbs1_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs2_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs3_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs4_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs5_1
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:48 llogdbs
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:44 plogdbs
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:44 rootdbs
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 sbspace1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 tmpdbs1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 tmpdbs2
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 tmpdbs3
[gbasedbt@devsvr gbaseserver_dbs]$ chmod o-r datadbs1_1
[gbasedbt@devsvr gbaseserver_dbs]$ ll
total 1433600
-rw-rw----. 1 gbasedbt gbasedbt         0 Jul 24 10:55 datadbs1_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs2_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs3_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs4_1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 datadbs5_1
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:48 llogdbs
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:44 plogdbs
-rw-rw----. 1 gbasedbt gbasedbt 209715200 Jul 24 10:44 rootdbs
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 sbspace1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 tmpdbs1
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 tmpdbs2
-rw-rw----. 1 gbasedbt gbasedbt 104857600 Jul 24 10:44 tmpdbs3
[gbasedbt@devsvr gbaseserver_dbs]$

关闭GBase 8s数据库实例,并进行完全恢复。

[gbasedbt@devsvr gbaseserver_dbs]$ onmode -ky
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr gbaseserver_dbs]$ ontape -r
Your evaluation license will expire on 2022-06-18 00:00:00
Restore will use level 0 archive file /home/gbasedbt/backup/devsvr_120_L0. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:08:47 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  0
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1 Spaces to restore:1 [rootdbs                                                                                                                         ]
2 [llogdbs                                                                                                                         ]
3 [plogdbs                                                                                                                         ]
4 [datadbs1                                                                                                                        ]
5 [datadbs2                                                                                                                        ]
6 [datadbs3                                                                                                                        ]
7 [datadbs4                                                                                                                        ]
8 [datadbs5                                                                                                                        ]
9 [sbspace1                                                                                                                        ] Archive InformationGBase Database Server Copyright 2001, 2021  General Data Corporation
Initialization Time       06/18/2021 17:36:36
System Page Size          2048
Version                   32
Index Page Logging        OFF
Archive CheckPoint Time   07/24/2021 10:08:47Dbspaces
number   flags    fchunk   nchunks  flags    owner                            name
1        40001    1        1        N  BA    gbasedbt                         rootdbs
2        40001    2        1        N  BA    gbasedbt                         llogdbs
3        40001    3        1        N  BA    gbasedbt                         plogdbs
4        48001    4        1        N SBA    gbasedbt                         sbspace1
5        42001    5        1        N TBA    gbasedbt                         tmpdbs1
6        42001    6        1        N TBA    gbasedbt                         tmpdbs2
7        42001    7        1        N TBA    gbasedbt                         tmpdbs3
8        40001    8        1        N  BA    gbasedbt                         datadbs1
9        40001    9        1        N  BA    gbasedbt                         datadbs2
10       40001    10       1        N  BA    gbasedbt                         datadbs3
11       40001    11       1        N  BA    gbasedbt                         datadbs4
12       40001    12       1        N  BA    gbasedbt                         datadbs5                                                                                                                        Chunks
chk/dbs offset   size     free     bpages   flags pathname
1   1   0        102400   89290             PO-B- /opt/gbase/gbaseserver_dbs/rootdbs
2   2   0        102400   2347              PO-B- /opt/gbase/gbaseserver_dbs/llogdbs
3   3   0        102400   2947              PO-B- /opt/gbase/gbaseserver_dbs/plogdbs
4   4   0        51200    2581              POSB- /opt/gbase/gbaseserver_dbs/sbspace1
5   5   0        51200    50712             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs1
6   6   0        51200    50776             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs2
7   7   0        51200    50776             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs3
8   8   0        51200    41768             PO-BE /opt/gbase/gbaseserver_dbs/datadbs1_1
9   9   0        51200    50376             PO-BE /opt/gbase/gbaseserver_dbs/datadbs2_1
10  10  0        51200    50376             PO-BE /opt/gbase/gbaseserver_dbs/datadbs3_1
11  11  0        51200    50776             PO-BE /opt/gbase/gbaseserver_dbs/datadbs4_1
12  12  0        51200    50776             PO-BE /opt/gbase/gbaseserver_dbs/datadbs5_1Continue restore? (y/n)y    --##### 输入y #####--
Do you want to back up the logs? (y/n)y    --##### 输入y #####--
File created: /home/gbasedbt/backup/devsvr_120_Log0000000024
File created: /home/gbasedbt/backup/devsvr_120_Log0000000025
File created: /home/gbasedbt/backup/devsvr_120_Log0000000026
File created: /home/gbasedbt/backup/devsvr_120_Log0000000027
File created: /home/gbasedbt/backup/devsvr_120_Log0000000028
File created: /home/gbasedbt/backup/devsvr_120_Log0000000029
File created: /home/gbasedbt/backup/devsvr_120_Log0000000030
File created: /home/gbasedbt/backup/devsvr_120_Log0000000031
File created: /home/gbasedbt/backup/devsvr_120_Log0000000032
File created: /home/gbasedbt/backup/devsvr_120_Log0000000033
File created: /home/gbasedbt/backup/devsvr_120_Log0000000034
Log salvage is complete, continuing restore of archive.
Your evaluation license will expire on 2022-06-18 00:00:00
Restore a level 1 archive (y/n) y    --##### 输入y #####--
Ready for level 1 tape
Restore will use level 1 archive file /home/gbasedbt/backup/devsvr_120_L1. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:17:11 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  1
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1
Restore a level 2 archive (y/n) y    --##### 输入y #####--
Ready for level 2 tape
Restore will use level 2 archive file /home/gbasedbt/backup/devsvr_120_L2. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:20:04 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  2
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1
Do you want to restore log tapes? (y/n)y    --##### 输入y #####--Roll forward should start with log number 33
Restore will use log backup file /home/gbasedbt/backup/devsvr_120_Log0000000033. Press Return to continue ...Rollforward log file /home/gbasedbt/backup/devsvr_120_Log0000000033 ...
Rollforward log file /home/gbasedbt/backup/devsvr_120_Log0000000034 ...Program over.
[gbasedbt@devsvr gbaseserver_dbs]$
  • 步骤18 查看表数据。
    完全恢复后,在数据空间文件删除前的数据验证通过。即使在数据空间文件被删除后的操作成功的事务数据,也可以被完全恢复。
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Quiescent -- Up 00:03:54 -- 1135464 Kbytes[gbasedbt@devsvr ~]$ onmode -m
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ dbaccess - -
Your evaluation license will expire on 2022-06-18 00:00:00
> database mydb;Database selected.> select * from t_dept;f_deptid f_deptname           1 dept_1              2 dept_2              3 dept_3              4 dept_4              5 dept_5              5 row(s) retrieved.> select * from t_employee;f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         11           1 employee_updated    12           1 employee_12         13           2 employee_13         15           3 employee_15         16           3 employee_16         21           1 employee_21         22           1 employee_22         23           2 employee_23         24           2 employee_24         25           3 employee_25         15 row(s) retrieved.>

检查结果:数据表完全恢复到数据库空间被删除前的状态,且在数据库空间文件被删除后新增的记录,也被正确恢复。

  • 步骤19 删除表之前的数据准备
> select * from t_employee order by f_employeeid;f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         11           1 employee_updated    12           1 employee_12         13           2 employee_13         15           3 employee_15         16           3 employee_16         21           1 employee_21         22           1 employee_22         23           2 employee_23         24           2 employee_24         25           3 employee_25         101           1 employee_101        102           1 employee_102        103           2 employee_103        104           2 employee_104        105           3 employee_105        20 row(s) retrieved.>

此处构造的5条测试数据,由于没有基于时间点的恢复,可能在数据表被删除时,无法正确恢复。

  • 步骤20 删除t_employee数据表
> drop table t_employee;Table dropped.> select * from t_employee;206: The specified table (t_employee) is not in the database.111: ISAM error:  no record found.
Error in line 1
Near character position 24
>
  • 步骤21 L0级物理恢复
[gbasedbt@devsvr ~]$ onmode -ky
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ ontape -p
Your evaluation license will expire on 2022-06-18 00:00:00
Restore will use level 0 archive file /home/gbasedbt/backup/devsvr_120_L0. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:08:47 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  0
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1 Spaces to restore:1 [rootdbs                                                                                                                         ]
2 [llogdbs                                                                                                                         ]
3 [plogdbs                                                                                                                         ]
4 [datadbs1                                                                                                                        ]
5 [datadbs2                                                                                                                        ]
6 [datadbs3                                                                                                                        ]
7 [datadbs4                                                                                                                        ]
8 [datadbs5                                                                                                                        ]
9 [sbspace1                                                                                                                        ] Archive InformationGBase Database Server Copyright 2001, 2021  General Data Corporation
Initialization Time       06/18/2021 17:36:36
System Page Size          2048
Version                   32
Index Page Logging        OFF
Archive CheckPoint Time   07/24/2021 10:08:47Dbspaces
number   flags    fchunk   nchunks  flags    owner                            name
1        40001    1        1        N  BA    gbasedbt                         rootdbs
2        40001    2        1        N  BA    gbasedbt                         llogdbs
3        40001    3        1        N  BA    gbasedbt                         plogdbs
4        48001    4        1        N SBA    gbasedbt                         sbspace1
5        42001    5        1        N TBA    gbasedbt                         tmpdbs1
6        42001    6        1        N TBA    gbasedbt                         tmpdbs2
7        42001    7        1        N TBA    gbasedbt                         tmpdbs3
8        40001    8        1        N  BA    gbasedbt                         datadbs1
9        40001    9        1        N  BA    gbasedbt                         datadbs2
10       40001    10       1        N  BA    gbasedbt                         datadbs3
11       40001    11       1        N  BA    gbasedbt                         datadbs4
12       40001    12       1        N  BA    gbasedbt                         datadbs5                                                                                                                        Chunks
chk/dbs offset   size     free     bpages   flags pathname
1   1   0        102400   89290             PO-B- /opt/gbase/gbaseserver_dbs/rootdbs
2   2   0        102400   2347              PO-B- /opt/gbase/gbaseserver_dbs/llogdbs
3   3   0        102400   2947              PO-B- /opt/gbase/gbaseserver_dbs/plogdbs
4   4   0        51200    2581              POSB- /opt/gbase/gbaseserver_dbs/sbspace1
5   5   0        51200    50712             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs1
6   6   0        51200    50776             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs2
7   7   0        51200    50776             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs3
8   8   0        51200    41768             PO-BE /opt/gbase/gbaseserver_dbs/datadbs1_1
9   9   0        51200    50376             PO-BE /opt/gbase/gbaseserver_dbs/datadbs2_1
10  10  0        51200    50376             PO-BE /opt/gbase/gbaseserver_dbs/datadbs3_1
11  11  0        51200    50776             PO-BE /opt/gbase/gbaseserver_dbs/datadbs4_1
12  12  0        51200    50776             PO-BE /opt/gbase/gbaseserver_dbs/datadbs5_1Continue restore? (y/n)y                       --##### 输入y #####--
Do you want to back up the logs? (y/n)y        --##### 输入y #####--
File created: /home/gbasedbt/backup/devsvr_120_Log0000000035
Log salvage is complete, continuing restore of archive.
Your evaluation license will expire on 2022-06-18 00:00:00
Restore a level 1 archive (y/n) n              --##### 输入n,不进行L1恢复 #####--Program over.
[gbasedbt@devsvr ~]$

查看L0级物理恢复后,被删除表的恢复情况

[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Fast Recovery -- Up 00:01:22 -- 597864 Kbytes[gbasedbt@devsvr ~]$ onmode -m
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:01:38 -- 597864 Kbytes[gbasedbt@devsvr ~]$ echo "select * from t_employee" | dbaccess mydb
Your evaluation license will expire on 2022-06-18 00:00:00Database selected.f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         5 row(s) retrieved.Database closed.[gbasedbt@devsvr ~]$
  • 步骤22 L1级物理恢复
[gbasedbt@devsvr ~]$ onmode -ky
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ ontape -p
Your evaluation license will expire on 2022-06-18 00:00:00
Restore will use level 0 archive file /home/gbasedbt/backup/devsvr_120_L0. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:08:47 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  0
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1 Spaces to restore:1 [rootdbs                                                                                                                         ]
2 [llogdbs                                                                                                                         ]
3 [plogdbs                                                                                                                         ]
4 [datadbs1                                                                                                                        ]
5 [datadbs2                                                                                                                        ]
6 [datadbs3                                                                                                                        ]
7 [datadbs4                                                                                                                        ]
8 [datadbs5                                                                                                                        ]
9 [sbspace1                                                                                                                        ] Archive InformationGBase Database Server Copyright 2001, 2021  General Data Corporation
Initialization Time       06/18/2021 17:36:36
System Page Size          2048
Version                   32
Index Page Logging        OFF
Archive CheckPoint Time   07/24/2021 10:08:47Dbspaces
number   flags    fchunk   nchunks  flags    owner                            name
1        40001    1        1        N  BA    gbasedbt                         rootdbs
2        40001    2        1        N  BA    gbasedbt                         llogdbs
3        40001    3        1        N  BA    gbasedbt                         plogdbs
4        48001    4        1        N SBA    gbasedbt                         sbspace1
5        42001    5        1        N TBA    gbasedbt                         tmpdbs1
6        42001    6        1        N TBA    gbasedbt                         tmpdbs2
7        42001    7        1        N TBA    gbasedbt                         tmpdbs3
8        40001    8        1        N  BA    gbasedbt                         datadbs1
9        40001    9        1        N  BA    gbasedbt                         datadbs2
10       40001    10       1        N  BA    gbasedbt                         datadbs3
11       40001    11       1        N  BA    gbasedbt                         datadbs4
12       40001    12       1        N  BA    gbasedbt                         datadbs5                                                                                                                        Chunks
chk/dbs offset   size     free     bpages   flags pathname
1   1   0        102400   89290             PO-B- /opt/gbase/gbaseserver_dbs/rootdbs
2   2   0        102400   2347              PO-B- /opt/gbase/gbaseserver_dbs/llogdbs
3   3   0        102400   2947              PO-B- /opt/gbase/gbaseserver_dbs/plogdbs
4   4   0        51200    2581              POSB- /opt/gbase/gbaseserver_dbs/sbspace1
5   5   0        51200    50712             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs1
6   6   0        51200    50776             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs2
7   7   0        51200    50776             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs3
8   8   0        51200    41768             PO-BE /opt/gbase/gbaseserver_dbs/datadbs1_1
9   9   0        51200    50376             PO-BE /opt/gbase/gbaseserver_dbs/datadbs2_1
10  10  0        51200    50376             PO-BE /opt/gbase/gbaseserver_dbs/datadbs3_1
11  11  0        51200    50776             PO-BE /opt/gbase/gbaseserver_dbs/datadbs4_1
12  12  0        51200    50776             PO-BE /opt/gbase/gbaseserver_dbs/datadbs5_1Continue restore? (y/n)y                    --##### 输入y #####--
Do you want to back up the logs? (y/n)y     --##### 输入y #####--
No log files to salvage. Logs 33 - 33 already exists in directory /home/gbasedbt/backup/
Log salvage is complete, continuing restore of archive.
Your evaluation license will expire on 2022-06-18 00:00:00
Restore a level 1 archive (y/n) y           --##### 输入y #####--
Ready for level 1 tape
Restore will use level 1 archive file /home/gbasedbt/backup/devsvr_120_L1. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:17:11 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  1
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1
Restore a level 2 archive (y/n) n            --##### 输入n,不进行L2的恢复 #####--Program over.
[gbasedbt@devsvr ~]$

查看L1级物理恢复后,被删除表的恢复情况

[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Fast Recovery -- Up 00:01:17 -- 597864 Kbytes[gbasedbt@devsvr ~]$ onmode -m
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:01:30 -- 597864 Kbytes[gbasedbt@devsvr ~]$ echo "select * from t_employee" | dbaccess mydb
Your evaluation license will expire on 2022-06-18 00:00:00Database selected.f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         11           1 employee_11         12           1 employee_12         13           2 employee_13         14           2 employee_14         15           3 employee_15         16           3 employee_16         11 row(s) retrieved.Database closed.[gbasedbt@devsvr ~]$
  • 步骤23 L2级物理恢复
[gbasedbt@devsvr ~]$ onmode -ky
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ ontape -p
Your evaluation license will expire on 2022-06-18 00:00:00
Restore will use level 0 archive file /home/gbasedbt/backup/devsvr_120_L0. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:08:47 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  0
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1 Spaces to restore:1 [rootdbs                                                                                                                         ]
2 [llogdbs                                                                                                                         ]
3 [plogdbs                                                                                                                         ]
4 [datadbs1                                                                                                                        ]
5 [datadbs2                                                                                                                        ]
6 [datadbs3                                                                                                                        ]
7 [datadbs4                                                                                                                        ]
8 [datadbs5                                                                                                                        ]
9 [sbspace1                                                                                                                        ] Archive InformationGBase Database Server Copyright 2001, 2021  General Data Corporation
Initialization Time       06/18/2021 17:36:36
System Page Size          2048
Version                   32
Index Page Logging        OFF
Archive CheckPoint Time   07/24/2021 10:08:47Dbspaces
number   flags    fchunk   nchunks  flags    owner                            name
1        40001    1        1        N  BA    gbasedbt                         rootdbs
2        40001    2        1        N  BA    gbasedbt                         llogdbs
3        40001    3        1        N  BA    gbasedbt                         plogdbs
4        48001    4        1        N SBA    gbasedbt                         sbspace1
5        42001    5        1        N TBA    gbasedbt                         tmpdbs1
6        42001    6        1        N TBA    gbasedbt                         tmpdbs2
7        42001    7        1        N TBA    gbasedbt                         tmpdbs3
8        40001    8        1        N  BA    gbasedbt                         datadbs1
9        40001    9        1        N  BA    gbasedbt                         datadbs2
10       40001    10       1        N  BA    gbasedbt                         datadbs3
11       40001    11       1        N  BA    gbasedbt                         datadbs4
12       40001    12       1        N  BA    gbasedbt                         datadbs5                                                                                                                        Chunks
chk/dbs offset   size     free     bpages   flags pathname
1   1   0        102400   89290             PO-B- /opt/gbase/gbaseserver_dbs/rootdbs
2   2   0        102400   2347              PO-B- /opt/gbase/gbaseserver_dbs/llogdbs
3   3   0        102400   2947              PO-B- /opt/gbase/gbaseserver_dbs/plogdbs
4   4   0        51200    2581              POSB- /opt/gbase/gbaseserver_dbs/sbspace1
5   5   0        51200    50712             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs1
6   6   0        51200    50776             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs2
7   7   0        51200    50776             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs3
8   8   0        51200    41768             PO-BE /opt/gbase/gbaseserver_dbs/datadbs1_1
9   9   0        51200    50376             PO-BE /opt/gbase/gbaseserver_dbs/datadbs2_1
10  10  0        51200    50376             PO-BE /opt/gbase/gbaseserver_dbs/datadbs3_1
11  11  0        51200    50776             PO-BE /opt/gbase/gbaseserver_dbs/datadbs4_1
12  12  0        51200    50776             PO-BE /opt/gbase/gbaseserver_dbs/datadbs5_1Continue restore? (y/n)y                       --##### 输入y #####--
Do you want to back up the logs? (y/n)y        --##### 输入y #####--
No log files to salvage. Logs 33 - 33 already exists in directory /home/gbasedbt/backup/
Log salvage is complete, continuing restore of archive.
Your evaluation license will expire on 2022-06-18 00:00:00
Restore a level 1 archive (y/n) y              --##### 输入y #####--
Ready for level 1 tape
Restore will use level 1 archive file /home/gbasedbt/backup/devsvr_120_L1. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:17:11 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  1
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1
Restore a level 2 archive (y/n) y             --##### 输入y #####--
Ready for level 2 tape
Restore will use level 2 archive file /home/gbasedbt/backup/devsvr_120_L2. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:20:04 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  2
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1 Program over.
[gbasedbt@devsvr ~]$

查看L2级物理恢复后,被删除表的恢复情况

[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Fast Recovery -- Up 00:01:02 -- 597864 Kbytes[gbasedbt@devsvr ~]$ onmode -m
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:01:14 -- 597864 Kbytes[gbasedbt@devsvr ~]$ echo "select * from t_employee" | dbaccess mydb
Your evaluation license will expire on 2022-06-18 00:00:00Database selected.f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         11           1 employee_11         12           1 employee_12         13           2 employee_13         14           2 employee_14         15           3 employee_15         16           3 employee_16         21           1 employee_21         22           1 employee_22         23           2 employee_23         24           2 employee_24         25           3 employee_25         16 row(s) retrieved.Database closed.[gbasedbt@devsvr ~]$
  • 步骤24 L2级物理恢复+部分逻辑恢复
    查看备份设备中的逻辑日志情况,根据实际情况,尝试移除最近的几个逻辑日志。本次演示,移除了最后2个逻辑日志。
[gbasedbt@devsvr ~]$ cd backup/
[gbasedbt@devsvr backup]$ ll
total 116928
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:14 devsvr_120_20210724_101445_L1
-rw-rw----. 1 gbasedbt gbasedbt  6356992 Jul 24 10:48 devsvr_120_20210724_104845_Log0000000033
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:48 devsvr_120_20210724_104857_Log0000000034
-rw-rw----. 1 gbasedbt gbasedbt 44630016 Jul 24 10:08 devsvr_120_L0
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:17 devsvr_120_L1
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:20 devsvr_120_L2
-rw-rw----. 1 gbasedbt gbasedbt   131072 Jul 24 10:57 devsvr_120_Log0000000024
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:57 devsvr_120_Log0000000025
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:57 devsvr_120_Log0000000026
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:57 devsvr_120_Log0000000027
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:57 devsvr_120_Log0000000028
-rw-rw----. 1 gbasedbt gbasedbt 10321920 Jul 24 10:57 devsvr_120_Log0000000029
-rw-rw----. 1 gbasedbt gbasedbt 10321920 Jul 24 10:57 devsvr_120_Log0000000030
-rw-rw----. 1 gbasedbt gbasedbt 10321920 Jul 24 10:57 devsvr_120_Log0000000031
-rw-rw----. 1 gbasedbt gbasedbt 10321920 Jul 24 10:57 devsvr_120_Log0000000032
-rw-rw----. 1 gbasedbt gbasedbt  6356992 Jul 24 10:57 devsvr_120_Log0000000033
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:57 devsvr_120_Log0000000034
-rw-rw----. 1 gbasedbt gbasedbt   131072 Jul 24 11:56 devsvr_120_Log0000000035
[gbasedbt@devsvr backup]$ mkdir tmp
[gbasedbt@devsvr backup]$ mv devsvr_120_Log0000000034 devsvr_120_Log0000000035 tmp        -- ##### 移除两个逻辑日志文件 #####--
[gbasedbt@devsvr backup]$ ll
total 116704
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:14 devsvr_120_20210724_101445_L1
-rw-rw----. 1 gbasedbt gbasedbt  6356992 Jul 24 10:48 devsvr_120_20210724_104845_Log0000000033
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:48 devsvr_120_20210724_104857_Log0000000034
-rw-rw----. 1 gbasedbt gbasedbt 44630016 Jul 24 10:08 devsvr_120_L0
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:17 devsvr_120_L1
-rw-rw----. 1 gbasedbt gbasedbt  6750208 Jul 24 10:20 devsvr_120_L2
-rw-rw----. 1 gbasedbt gbasedbt   131072 Jul 24 10:57 devsvr_120_Log0000000024
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:57 devsvr_120_Log0000000025
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:57 devsvr_120_Log0000000026
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:57 devsvr_120_Log0000000027
-rw-rw----. 1 gbasedbt gbasedbt    98304 Jul 24 10:57 devsvr_120_Log0000000028
-rw-rw----. 1 gbasedbt gbasedbt 10321920 Jul 24 10:57 devsvr_120_Log0000000029
-rw-rw----. 1 gbasedbt gbasedbt 10321920 Jul 24 10:57 devsvr_120_Log0000000030
-rw-rw----. 1 gbasedbt gbasedbt 10321920 Jul 24 10:57 devsvr_120_Log0000000031
-rw-rw----. 1 gbasedbt gbasedbt 10321920 Jul 24 10:57 devsvr_120_Log0000000032
-rw-rw----. 1 gbasedbt gbasedbt  6356992 Jul 24 10:57 devsvr_120_Log0000000033
drwxrwxr-x. 2 gbasedbt gbasedbt       70 Jul 24 12:08 tmp
[gbasedbt@devsvr backup]$

进行完全恢复。

说明:虽然操作的是完全恢复,但因我们移除了部分最新的逻辑日志,实际上执行的结果是不完全恢复。

[gbasedbt@devsvr backup]$ onmode -ky
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr backup]$ ontape -r
Your evaluation license will expire on 2022-06-18 00:00:00
Restore will use level 0 archive file /home/gbasedbt/backup/devsvr_120_L0. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:08:47 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  0
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1 Spaces to restore:1 [rootdbs                                                                                                                         ]
2 [llogdbs                                                                                                                         ]
3 [plogdbs                                                                                                                         ]
4 [datadbs1                                                                                                                        ]
5 [datadbs2                                                                                                                        ]
6 [datadbs3                                                                                                                        ]
7 [datadbs4                                                                                                                        ]
8 [datadbs5                                                                                                                        ]
9 [sbspace1                                                                                                                        ] Archive InformationGBase Database Server Copyright 2001, 2021  General Data Corporation
Initialization Time       06/18/2021 17:36:36
System Page Size          2048
Version                   32
Index Page Logging        OFF
Archive CheckPoint Time   07/24/2021 10:08:47Dbspaces
number   flags    fchunk   nchunks  flags    owner                            name
1        40001    1        1        N  BA    gbasedbt                         rootdbs
2        40001    2        1        N  BA    gbasedbt                         llogdbs
3        40001    3        1        N  BA    gbasedbt                         plogdbs
4        48001    4        1        N SBA    gbasedbt                         sbspace1
5        42001    5        1        N TBA    gbasedbt                         tmpdbs1
6        42001    6        1        N TBA    gbasedbt                         tmpdbs2
7        42001    7        1        N TBA    gbasedbt                         tmpdbs3
8        40001    8        1        N  BA    gbasedbt                         datadbs1
9        40001    9        1        N  BA    gbasedbt                         datadbs2
10       40001    10       1        N  BA    gbasedbt                         datadbs3
11       40001    11       1        N  BA    gbasedbt                         datadbs4
12       40001    12       1        N  BA    gbasedbt                         datadbs5                                                                                                                        Chunks
chk/dbs offset   size     free     bpages   flags pathname
1   1   0        102400   89290             PO-B- /opt/gbase/gbaseserver_dbs/rootdbs
2   2   0        102400   2347              PO-B- /opt/gbase/gbaseserver_dbs/llogdbs
3   3   0        102400   2947              PO-B- /opt/gbase/gbaseserver_dbs/plogdbs
4   4   0        51200    2581              POSB- /opt/gbase/gbaseserver_dbs/sbspace1
5   5   0        51200    50712             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs1
6   6   0        51200    50776             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs2
7   7   0        51200    50776             PO-B- /opt/gbase/gbaseserver_dbs/tmpdbs3
8   8   0        51200    41768             PO-BE /opt/gbase/gbaseserver_dbs/datadbs1_1
9   9   0        51200    50376             PO-BE /opt/gbase/gbaseserver_dbs/datadbs2_1
10  10  0        51200    50376             PO-BE /opt/gbase/gbaseserver_dbs/datadbs3_1
11  11  0        51200    50776             PO-BE /opt/gbase/gbaseserver_dbs/datadbs4_1
12  12  0        51200    50776             PO-BE /opt/gbase/gbaseserver_dbs/datadbs5_1Continue restore? (y/n)y                        --##### 输入y #####--
Do you want to back up the logs? (y/n)n         --##### 输入n,避免将移除的日志再次抢救到备份目录中 #####--
Your evaluation license will expire on 2022-06-18 00:00:00
Restore a level 1 archive (y/n) y                --##### 输入y #####--
Ready for level 1 tape
Restore will use level 1 archive file /home/gbasedbt/backup/devsvr_120_L1. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:17:11 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  1
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1
Restore a level 2 archive (y/n) y                --##### 输入y #####--
Ready for level 2 tape
Restore will use level 2 archive file /home/gbasedbt/backup/devsvr_120_L2. Press Return to continue ...Archive Tape InformationTape type:      Archive Backup Tape
Online version: GBase Database Server Version 12.10.FC4G1TL
Archive date:   Sat Jul 24 10:20:04 2021
User id:        gbasedbt
Terminal id:    /dev/pts/0
Archive level:  2
Tape device:    /home/gbasedbt/backup/
Tape blocksize (in k): 32
Tape size (in k): system defined for directory
Tape number in series: 1
Do you want to restore log tapes? (y/n)y        --##### 输入y,实现逻辑日志的恢复 #####--Roll forward should start with log number 33
Restore will use log backup file /home/gbasedbt/backup/devsvr_120_Log0000000033. Press Return to continue ...Rollforward log file /home/gbasedbt/backup/devsvr_120_Log0000000033 ...Program over.
[gbasedbt@devsvr backup]$

查看L2级物理恢复+部分逻辑恢复后,被删除表的恢复情况

[gbasedbt@devsvr backup]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Quiescent -- Up 00:02:36 -- 1135464 Kbytes[gbasedbt@devsvr backup]$ onmode -m
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr backup]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:02:44 -- 1135464 Kbytes[gbasedbt@devsvr backup]$ echo "select * from t_employee" | dbaccess mydb
Your evaluation license will expire on 2022-06-18 00:00:00Database selected.f_employeeid    f_deptid f_employeename       1           1 employee_01         2           1 employee_02         3           2 employee_03         4           2 employee_04         5           3 employee_05         11           1 employee_updated    12           1 employee_12         13           2 employee_13         14           2 employee_14         15           3 employee_15         16           3 employee_16         21           1 employee_21         22           1 employee_22         23           2 employee_23         24           2 employee_24         25           3 employee_25         16 row(s) retrieved.Database closed.[gbasedbt@devsvr backup]$

虽然此处恢复的数据仍然是11行,但L2备份后,被更新的记录被恢复成功。

附录

数据库与表

create database mydb in datadbs1 with log;
create table t_dept(f_deptid int, f_deptname varchar(20));
create table t_employee(f_employeeid int, f_deptid int, f_employeename varchar(20));

数据(t2)

insert into t_dept values(1, 'dept_1');
insert into t_dept values(2, 'dept_2');
insert into t_dept values(3, 'dept_3');

数据(t3)

insert into t_employee values(1, 1, 'employee_01');
insert into t_employee values(2, 1, 'employee_02');
insert into t_employee values(3, 2, 'employee_03');
insert into t_employee values(4, 2, 'employee_04');
insert into t_employee values(5, 3, 'employee_05');

数据(t5)

insert into t_employee values(11, 1, 'employee_11');
insert into t_employee values(12, 1, 'employee_12');
insert into t_employee values(13, 2, 'employee_13');
insert into t_employee values(14, 2, 'employee_14');
insert into t_employee values(15, 3, 'employee_15');

数据(t7)

insert into t_employee values(16, 3, 'employee_16');

数据(t9)

insert into t_employee values(21, 1, 'employee_21');
insert into t_employee values(22, 1, 'employee_22');
insert into t_employee values(23, 2, 'employee_23');
insert into t_employee values(24, 2, 'employee_24');
insert into t_employee values(25, 3, 'employee_25');

数据(t11)

insert into t_dept values(4, 'dept_4');

数据(t12)

update t_employee set f_employeename = 'employee_updated' where f_employeeid = 11;

数据(t14)

delete from t_employee where f_employeeid = 14;

数据(t15)

drop table t_employee;

数据(t16)

insert into t_dept values(5, 'dept_5');

数据(t19)

insert into t_employee values(101, 1, 'employee_101');
insert into t_employee values(102, 1, 'employee_102');
insert into t_employee values(103, 2, 'employee_103');
insert into t_employee values(104, 2, 'employee_104');
insert into t_employee values(105, 3, 'employee_105');

数据(t20)

drop table t_employee;

GBase 8s数据库的备份与恢复-基于ontape相关推荐

  1. GBase 8s 数据库操作指南

    一.数据库日常管理指南 简介: GBase 8s数据库日常管理包括数据库模式的切换,以及服务器的监控.监控主要分为两个方面,一方面是系统级别的监控,主要包括对系统cpu的监控,以及内存的占用情况:另一 ...

  2. GBASE 8s 数据库 安装与卸载

    1 系统要求 1.1 硬件要求 1.2 操作系统要求 GBase 8s 产品需要部署于 UOS V20 操作系统,鲲鹏920芯片上,建议以 Software Development Workstati ...

  3. GBASE 8s数据库参数管理

    1.参数文件管理 GBase 8s 数据库服务器的参数文件位于安装目录的etc子目录下,标准参数文件为onconfig.std.我们对onconfig参数文件的管理如下所述. onstat -c打印O ...

  4. GBASE 8s数据库监控

    通过OAT监控数据库 OAT是Open Admin Tool的简称,是Gbase 8s数据库自带的一款数据库图形界面管理工具. 通过SIM(System Monitor Interface)监控数据库 ...

  5. linux进入gbase数据库命令,Linux下Python3通过PYODBC连接到GBase 8s数据库

    操作系统:CentOS 7.8 64-bit 软件需求: GBase 8s CSDK 2.0.1A2_2 Python 3.6.8 及Python-devel 3.6.8 unixODBC 2.3.1 ...

  6. GBase 8s 数据库类型

    数据库数据类型包括:字符类型.数值类型.日期/时间类型.简单大对象数据类型.智能大对象数据类型.布尔类型 字符类型 下表列出了 GBase 8s 所支持的字符类型: 数据类型 存储长度 描述 CHAR ...

  7. 使用GBase 8s数据库

    1.1 启动/停止数据库服务 通常情况下,使用 gbasedbt 用户来启动和停止数据库服务. 成功安装数据库 GBase 8s 后,数据库会自动处于启动状态,可通过以下命令检查服务进程是否存在: [ ...

  8. GBase 8s 数据库问题知识库(2020-06-17更新)

    1, 删除表记录时,报"692: Key value for constraint ( 主键约束名称 ) is still being referenced." 解析: 1,报错信 ...

  9. GBase 8s 数据库空间(dbspace)

    数据库空间是一种可包含 1 到 32766 个块(chunk)的逻辑单元.放置数据库.表.逻辑日志文件以及数据库空间中的物理日志. 要指定数据库或表的存储位置,可使用 CREATE DATABASE ...

最新文章

  1. css text top,text-align属性(css中文本对齐属性)
  2. 利用nodeJs anywhere搭建本地服务器环境
  3. springboot controller 分页查询_Spring Boot实战分页查询附近的人:Redis+GeoHash+Lua
  4. 序列化反序列化api(入门级)
  5. RocketMQ集成SpringBoot
  6. B - A Funny Bipartite Graph
  7. HOW-TO:具有MySQL的JEE应用程序中具有集群功能的Quartz Scheduler
  8. micropython移植教程_【教程】智能编程T-Watch手表初试micropython之电子秤教程
  9. 项目经理让我陪着技术加班
  10. 马化腾生日当天 微信支付居然崩溃了//(ㄒoㄒ)//
  11. 温度传感器硬件编号_打开硬件传感器BITalino进行酷项目
  12. 深入浅出 Proguard
  13. mysql无法通过工具连接_MySQL 8.0版本无法使用 node、Navicat等三方工具连接的问题...
  14. MMORPG大型游戏设计与开发(概述)updated
  15. ITIL与DevOps
  16. Python常用软件包,python使用的软件
  17. Connection error with cocoapods. Proxy CONNECT abo
  18. GPT-3写了一篇论文
  19. Excel 2010 SQL应用105 域聚合函数之第一个和最后一个
  20. Hive修改分区表的分区列类型

热门文章

  1. captcha2 验证码 php,yii2.0-captcha验证码--详细设置
  2. java实现对rar文件和zip文件的解压缩
  3. 【C++】什么是RAII?
  4. shell脚本统计网站pv,每分钟/小时/天~
  5. 2021-08-29 网安实验-WEB专题-捉迷藏
  6. Mysql的全文索引原理的简单理解
  7. 在 JavaScript 比较中应该使用哪个等号运算符(== vs ===)?
  8. 易语言暗色系UI源码分享
  9. glup前端代码打包的使用
  10. 快速简单解决Ubuntu安装后无wifi列表, 连不了网.