返回首页

gbase数据、南大通用产品文档:GBase8s预恢复核对表

更新日期:2024年09月11日

使用该核对表可确定是否需要恢复,并准备恢复。
要准备恢复:

决定您是否需要进行恢复操作。如果存在其中一个或多个问题,请执行恢复来修
复该问题:

数据是否已丢失或毁坏?

已落实的事务错误需要撤销吗?

数据库服务器是停止运行了还是发生了磁盘故障?

存储空间或块是关闭了还是不一致?

通过使用数据库服务器监视工具来诊断问题。

如果需要恢复根数据库空间或包含物理日志和逻辑日志文件的数据库空间,必须
执行冷恢复。在冷恢复期间,数据库服务器必须处于脱机状态。请要求您的客户
机用户注销系统。

在执行恢复之前,联系相应的供应商以解决以下类型的问题:

存储管理器

XBSA 连接

操作系统

存储介质

存储空间状态和所需操作

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 57 -

要确定每个存储空间及其块的状态,请检查 onstat -d 命令的输出。 存储空间状态决定解
决问题所需执行的操作。数据库服务器必须处于联机状态。
下表描述了有关块状态以及解决问题所需操作的 onstat -d 命令输出。 块状态信息位于输
出的第一部分(存储空间)和第二部分(块)中 flags 列的第二个位置处。
表 1. 块标志描述和所需操作
块标志
存储空间或块状态
需要采取的操作
(无标志)
存储空间不再存在。
对删除存储空间前的时间执行时间
点冷恢复。
D
块已关闭或存储空间被禁用。
对受影响的存储空间执行热恢复。
I
块已进行物理恢复,但还需要逻辑
恢复。
执行逻辑恢复。
L
存储空间在进行逻辑恢复。
请重试逻辑恢复。
N
块已重命名并且已关闭或不一致。
当物理设备可用时对块进行热恢
复。
O
块是联机的。
不需要任何操作。
P
对存储空间进行物理恢复。
如果尚未进行恢复,那么执行逻辑
恢复。
R
正在恢复存储空间。
执行物理或逻辑恢复。
X
存储空间或块是最近镜像的。
不需要任何操作。

使用 Storage Manager 恢复保存集
如果要使用 Storage Manager,可以从存储卷上的保存集恢复数据。当 Storage Manager 服
务器接收到恢复请求时,ism_watch 命令会提示您在存储设备上安装所需的存储卷。安装
该卷后,恢复会继续。
可以为保存集或卷设置保持周期。除非卷上所有的保存集都已到期,否则可以使用 ON-
Bar 将其恢复。
当保存集的保留周期到期后,ON-Bar 无法再恢复它。要重新创建已到期的保存集,请使
用 ism_catalog -recreate from 命令。
如果为卷设置了保留期,那么 Storage Manager 会保留这些保存集,直到该卷上的所有保
存集都到期为止。要恢复到期的卷,请使用 ism_catalog -recover from 命令。

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 58 -

概述
本节描述可以用来操作时间值的函数。参考日期和时间类型来获取每种日期和时
间类型在有效格式下可以表达的值的范围。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
771
返回当前日期或者时间的函数都等于在查询开始执行时的值,仅执行一次。这意
味在一个单查询中多次引用像NOW()这样的函数总会得到一样的结果。
这个原则
也适用于CURDATE()、CURTIME()、UTC_DATE()、UTC_TIME()、
UTC_TIMESTAMP()和它们的同义词。
CURRENT_TIMESTAMP()、CURRENT_TIME()、CURRENT_DATE()和
FROM_UNIXTIME()返回当前时区,这和time_zone 系统变量是一样的。还有
UNIX_TIMESTAMP()假设它的参数是当前时区的datetime 值。
示例
示例1:返回当前日期和时间。
gbase> SELECT NOW() FROM dual;
+---------------------+
| NOW()
|
+---------------------+
| 2020-04-01 14:53:55 |
+---------------------+
1 row in set
示例2:返回当前日期。
gbase> SELECT CURDATE() FROM dual;
+------------+
| CURDATE()
|
+------------+
| 2020-04-01 |
+------------+
1 row in set
示例3:返回当前时间。
gbase> SELECT CURTIME() FROM dual;
+-----------+
| CURTIME() |
+-----------+
| 15:37:04
|
+-----------+
1 row in set
示例4:返回当前UTC 日期。
gbase> SELECT UTC_DATE() FROM dual;
+------------+
| UTC_DATE() |
+------------+
| 2020-04-01 |

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
772
+------------+
1 row in set
示例5:返回当前UTC 时间。
gbase> SELECT UTC_TIME() FROM dual;
+------------+
| UTC_TIME() |
+------------+
| 07:37:32
|
+------------+
1 row in set
示例6:返回当前UTC 时间戳(日期+时间)。
gbase> SELECT UTC_TIMESTAMP() FROM dual;
+---------------------+
| UTC_TIMESTAMP()
|
+---------------------+
| 2020-04-01 07:37:59 |
+---------------------+
1 row in set
示例7:返回当前时间戳(日期+时间)。
gbase> SELECT CURRENT_TIMESTAMP() FROM dual;
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2020-04-01 15:38:14 |
+---------------------+
1 row in set
示例8:返回当前时间。
gbase> SELECT CURRENT_TIME() FROM dual;
+----------------+
| CURRENT_TIME() |
+----------------+
| 15:38:26
|
+----------------+
1 row in set
示例9:返回当前日期。
gbase> SELECT CURRENT_DATE() FROM dual;
+----------------+
| CURRENT_DATE() |
+----------------+

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
773
| 2020-04-01
|
+----------------+
1 row in set
示例10:一次获取多个当前日期、时间取值。
gbase> SELECT NOW(),CURRENT_DATE() as
cur_d,CURTIME(),CURRENT_TIMESTAMP() as cur_ts FROM dual;
+---------------------+------------+-----------+---------------------+
| NOW()
| cur_d
| CURTIME() | cur_ts
|
+---------------------+------------+-----------+---------------------+
| 2020-04-01 17:42:43 | 2020-04-01 | 17:42:43
| 2020-04-01 17:42:43 |
+---------------------+------------+-----------+---------------------+
1 row in set

取值:[0|1]
默认值:0
说明:非全列update 的场景,如果要update 的这行数据在8A 库里查不到,并且此
参数值设置为1,则直接忽略这条数据,不进行同步,也不报错。默认值是0,即,
如果从8A 库里查不到这行数据,就报错。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。