首页 > 其他分享 >KingbaseES V8R3集群运维案例之---用户自定义表空间管理

KingbaseES V8R3集群运维案例之---用户自定义表空间管理

时间:2022-08-27 09:25:17浏览次数:78  
标签:Aug V8R3 自定义 运维 23 SYSTEM kingbase ------ data

案例说明:
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目录下时,难免出现不必要的故障问题。

标签:Aug,V8R3,自定义,运维,23,SYSTEM,kingbase,------,data
From: https://www.cnblogs.com/kingbase/p/16629810.html

相关文章

  • 深圳华锐视点:3D虚拟钢铁厂仿真展示推动企业运维精准可控
    随着计算机、传感、网络通信等技术的飞速发展,虚拟现实也逐渐渗透到工业领域,给制造业的研发、生产、管理和服务带来了深刻的变化,进一步推动了智能工厂的发展。三维虚拟......
  • VSCode添加自定义的Vue3.2标准模板
    创建新的用户片段 点击文件——首选项——用户片段或者用快捷Ctrl+Shift+P唤出控制台然后输入“snippets”并选择接着输入vuevscode自动生成vue.json文件{......
  • Mysql 自定义随机字符串
    Mysql自定义随机字符串-搬砖工奶爸-博客园 https://www.cnblogs.com/--net/p/5784371.html 前几天在开发一个系统,需要用到随机字符串,但是mysql的库函数有没有直......
  • 使用函数计算自定义运行时快速部署一个 SpringBoot 项目 | 文末有礼
    作者:谱一段风华笔墨什么是函数计算阿里云函数计算FC是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准......
  • 在uniapp目录下的uni_module中创建自定义组件
    一、前言  在使用uni-app框架时,可能里面的内置组件和扩展组件都不是我们想要的,或者不能满足我们的需求,这时就必须得创建自定义组件了,在低版本的HbuilderX中所有的组......
  • 注解-JDK内置注解以及自定义注解-格式&本质
    JDK内置注解JDK中预定义的一些注解:1,@Override-检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。2,@Deprecated-标记过时方......
  • arduino自定义库c与c++的区别
    起初是想把手头的红牛开发板的基于stm32标准库的例子都改成用arduino库的   发现arduino库是基于hal库的 不是直接把c文件挪过来就能用的arduino是c++编译器 如......
  • Mysql——运维
    慢日志可以进行对数据库系统查询方面大于设定值进行的日志记录。慢日志-执行时间>10-未命中索引-日志文件路径配置:-内存showvariablesli......
  • zabbix自定义监控
    zabbix深入自定义监控zabbix多条件触发监控内存可用的百分比UserParameter=mem.available,free-m|awk'NR==2{print$NF/$2*100}'目前属于单条件触发器,因为内存低......
  • 运维篇 后端开发后期
          例:  taskkill-f-pid “9740”    ......