案例说明:

KingbaseES 数据库支持用户自定义表空间的创建,并建议表空间的文件存储路径配置到数据库的data目录之外。本案例复现了,当用户自定义表空间存储路径配置到data下时,出现的故障问题。

适用版本:

KingbaseES V8R3

Tips:

本次案例复现采用的是Kingbase V008R003C002B0290 版本,根据实施人员在现场反馈KingbaseES 8.7.3.160D的版本出现的故障信息不一致。

集群节点信息:

一、创建用户自定义表空间

1、主备库创建表空间存储目录

[kingbase@node102 bin]$ mkdir -p /home/kingbase/cluster/R3HA/db/data/base

Tips:

/home/kingbase/cluster/R3HA/db/data/为集群数据库的存储路径。

2、在主库创建表空间

PROD=# create tablespace system owner system
location '/home/kingbase/cluster/R3HA/db/data/base';
WARNING: tablespace location should not be inside the data directory
CREATE TABLESPACE

=如下所示,将表空间的存储配置到data下,创建表空间系统发出了警告,但是表空间仍可以创建。=

3、查看表空间信息

PROD=# \db+
List of tablespaces
Name | Owner | Location | Access privileges | Options | Size | Description
-------------+--------+------------------------------------------+-------------------+---------+----------+-------------
SYSTEM | SYSTEM | /home/kingbase/cluster/R3HA/db/data/base | | | 0 bytes |
SYS_DEFAULT | SYSTEM | | SYSTEM=C/SYSTEM +| | 104 MB |
| | | =C/SYSTEM | | |
SYS_GLOBAL | SYSTEM | | | | 568 kB |
USERS | SYSTEM | /data/kingbase/tbs/user | | | 18 bytes |
(4 rows) PROD=# select oid ,* from sys_tablespace;
OID | SPCNAME | SPCOWNER | SPCSIZE | SPCACL | SPCOPTIONS
-------+-------------+----------+---------+-----------------------------+------------
1664 | SYS_GLOBAL | 10 | 0 | |
1663 | SYS_DEFAULT | 10 | 0 | {SYSTEM=C/SYSTEM,=C/SYSTEM} |
28340 | USERS | 10 | 0 | |
28552 | SYSTEM | 10 | 0 | |
(4 rows)

4、查看表空间存储信息

# 在data/sys_tblspc目录下建立表空间存储的链接
[kingbase@node102 sys_tblspc]$ ls -lh
total 0
lrwxrwxrwx 1 kingbase kingbase 23 Aug 23 18:59 28340 -> /data/kingbase/tbs/user
lrwxrwxrwx 1 kingbase kingbase 40 Aug 23 19:34 28552 -> /home/kingbase/cluster/R3HA/db/data/base [kingbase@node102 sys_tblspc]$ cd 28552/ # 表空间的实际存储位置(data/base目录下)
[kingbase@node102 28552]$ ls -lh
total 148K
drwx------ 2 kingbase kingbase 8.0K Aug 23 18:54 1
drwx------ 2 kingbase kingbase 8.0K Jun 22 14:09 14927
drwx------ 2 kingbase kingbase 8.0K Aug 23 19:34 14928
drwx------ 2 kingbase kingbase 8.0K Aug 23 19:30 14929
drwx------ 2 kingbase kingbase 12K Aug 23 18:54 14930
drwx------ 2 kingbase kingbase 8.0K Aug 23 18:54 15371
drwx------ 2 kingbase kingbase 8.0K Aug 23 18:54 16398
drwx------ 2 kingbase kingbase 8.0K Aug 23 18:54 16425
drwx------ 2 kingbase kingbase 6 Aug 23 19:34 SYS_V008R003_201608131

二、通过sys_basebackup克隆新的备库

# 执行sys_basebackup克隆新的备库
[kingbase@node101 bin]$ ./sys_basebackup -h 192.168.1.102 -U SYSTEM -W 123456 -Fp -x -P -v
-T /home/kingbase/cluster/R3HA/db/data/base=/data/kingbase/tbs/system
-D /home/kingbase/cluster/R3HA/db/data transaction log start point: 0/4E000028 on timeline 12
17293/17293 kB (100%), 3/3 tablespaces
transaction log end point: 0/4E0000F8
sys_basebackup: base backup completed # 查看备库data/base下文件(文件为空)
[kingbase@node101 bin]$ ls -lh ../data/base
total 0 # 备库表空间存储文件
[kingbase@node101 bin]$ ls -lh /data/kingbase/tbs/system
total 0
drwx------ 3 kingbase kingbase 18 Aug 24 10:31 SYS_V008R003_201608131

Tips:

经测试,只有在主库删除system(用户自定义)表空间后,通过sys_basebackup克隆备库才正常。

三、生产环境的处理

=对于生产环境,不能直接将表空间删除,但是可以通过迁移方式,将表空间的存储路径迁移到data之外,保证系统的稳定性。=

四、总结

在KingbaseES上使用用户自定义的表空间,应该将表空间的存储配置到数据库的data目录之外,尤其是集群环境,在执行集群的切换、节点恢复及物理备份时,如果将自定义表空间存储配置到数据库data目录下时,难免出现不必要的故障问题。

KingbaseES V8R3集群运维案例之---用户自定义表空间管理的更多相关文章

  1. KingbaseES V8R3集群运维案例之---主库系统down failover切换过程分析

    ​ 案例说明: KingbaseES V8R3集群failover时两个cluster都会触发,但只有一个cluster会调用脚本去执行真正的切换流程,另一个有对应的打印,但不会调用脚本,只是走相关的 ...

  2. KingbaseES V8R3集群管理维护案例之---集群迁移单实例架构

    案例说明: 在生产中,需要将KingbaseES V8R3集群转换为单实例架构,可以采用以下方式快速完成集群架构的迁移. 适用版本: KingbaseES V8R3 当前数据库版本: TEST=# s ...

  3. KingbaseES V8R3集群管理和维护案例之---failover切换wal日志变化分析

    ​ 案例说明: 本案例通过对KingbaseES V8R3集群failover切换过程进行观察,分析了主备库切换后wal日志的变化,对应用者了解KingbaseES V8R3(R6) failover ...

  4. KingbaseES V8R3集群维护案例之---在线添加备库管理节点

    案例说明: 在KingbaseES V8R3主备流复制的集群中 ,一般有两个节点是集群的管理节点,分为master和standby:如对于一主二备的架构,其中有两个节点是管理节点,三个数据节点:管理节 ...

  5. PB 级大规模 Elasticsearch 集群运维与调优实践

    PB 级大规模 Elasticsearch 集群运维与调优实践 https://mp.weixin.qq.com/s/PDyHT9IuRij20JBgbPTjFA | 导语 腾讯云 Elasticse ...

  6. 集群运维ansible

    ssh免密登录 集群运维 生成秘钥,一路enter cd ~/.ssh/ ssh-keygen -t rsa 讲id_rsa.pub文件追加到授权的key文件中 cat ~/.ssh/id_rsa.p ...

  7. 阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践

    作者 | 姚捷(喽哥)阿里云容器平台集群管理高级技术专家 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击即可完成下载. 导读:值得阿里巴巴技术人骄傲的是 2019 ...

  8. kingbaseES V8R6集群备份恢复案例之---备库作为repo主机执行物理备份

    ​ 案例说明: 此案例是在KingbaseES V8R6集群环境下,当主库磁盘空间不足时,执行sys_rman备份,将集群的备库节点作为repo主机,执行备份,并将备份存储在备库的磁盘空间. 集群架构 ...

  9. KingbaseES V8R6集群外部备份案例

    案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:集群采用CentOS 7系统,repo采用kylin V10 Server. 一主一备+外部备份 此场景为主备双机常 ...

随机推荐

  1. BUUCTF-九连环

    九连环 这题还是稍微有点难度的 使用16进制打开发现压缩包,用binwalk分离看看 分离得到的压缩包同样16进制看看 可以发现多个压缩包,这种情况应该是伪加密的方式,但是直接使用修复压缩包的方式没法 ...

  2. Windows-matlab简易安装-用于数字图像处理

    安装 下载链接 解压文件得到 双击setup.exe 主要注意几点 使用文件安装密匙 只需安装这三个即可 将两个文件夹里面的dll文件复制到安装目录的 /bin/win64 目录 两个 .lic 文件 ...

  3. 关于Vue 移动端适配 (px2rem 插件将px转为rem)

    一.安装 npm install px2rem-loader lib-flexible --save 二.入口文件main.js加上 import 'lib-flexible/flexible.js' ...

  4. 关于个人全栈项目【臻美IT】博客类出现的问题以及解决方法

    每做一个项目,要记得写下心得哦,别偷懒啊!先上网址:https://www.maomin.club/ 这个项目属于博客类的,因为百度审核的问题就大体做了下,就当来练练手,里面文章链接的是CSDN的博客 ...

  5. java+mybatis实现一个简单的银行系统,实现存取款与账户查询

    先创建数据库和表,使用的是MySQL数据库. create database mybatis; use mybatis; CREATE TABLE `accountdo` ( `id` varchar ...

  6. 7.Spark SQL

    1.分析SparkSQL出现的原因,并简述SparkSQL的起源与发展. SparkSQL出现是因为关系数据库已经不能满足各种在大数据时代新增的用户需求.首先,用户需要在不同的结构化和非结构化数据中执 ...

  7. VMare 设置固定IP和网段

    切换目录 cd /etc/sysconfig/network-scripts ls查看当前目录下的东西 找到ipcfg- 开头的,而且不是iocfg-lo,而上图就是那个ifcfg-ens33. 则进 ...

  8. Taro框架完美使用Axios

    前言 众所周知,在H5前端开发中,axioshttp库几乎是必选.大部分人都对它的使用非常熟悉.然而在小程序开发中,axios怎么没法用,需要使用对应平台提供的http接口,如微信小程序的wx.req ...

  9. CF1612D X-Magic Pair

    题意: 给一个数对 \((a,b)\) ,每次可以进行操作 \((a,b) \to (|a-b|,b)\) 或 \((a,b) \to (a,∣a−b∣)\),问最后能否令 \(a=x\) 或 \(b ...

  10. gitlab+jenkins自动构建jar包并发布

    一.背景介绍: 公司软件都是java开发的,一般都会将java代码打包成jar包发布:为了减轻运维部署的工作量,合理偷懒,就需要自动化流程一条龙服务:开发将代码提交到gitlab--->jenk ...