首页 > 数据库 > 国内数据库 > YashanDB用户表空间管理
关于表空间管理的详细语法描述请参考开发手册 CREATE TABLESPACE、 ALTER TABLESPACE、 DROP TABLESPACE。
数据库管理员在接收到一个创建表空间的申请时,需要从以下方面进行考量:
表空间所服务的业务属性:
HEAP表和TAC表采取段页式结构,挂载普通数据文件
LSC表的稳态数据采取对象结构,需挂载数据桶
对敏感数据或核心数据可定义为加密表空间
对极高性能要求的表空间可定义为MMS表空间,同时配置MMS_DATA_LOADERS参数确定预加载策略
表空间的存储属性:
确定数据文件初始值、扩展值和最大值,默认由系统自动决定
确定extent大小,默认由系统自动决定
对于MMS表空间,确定是否启用大页内存,启用大页内存的前提是操作系统配置大页内存
当某个表空间不再使用,或者不想被访问到时,可将其进行脱机:
通过online操作可以恢复被脱机的表空间:
表空间可挂载的数据文件数量和数据桶数量存在规格约束(YashanDB为64),管理员需关注该限制,避免达到上限(达到上限后将无法增加数据文件,且无法通过删除数据文件的方式释放数量)。当已达到上限仍需增加数据文件或数据桶时,通过创建新的表空间来解决。
增加数据桶时还需考虑BUCKET_RESERVED_SPACE参数,该参数用于控制数据桶占用所在磁盘的空间上限。
对单机部署和分布式部署中的表空间进行收缩,可以回收其空闲空间,供其他表空间使用。
示例(单机、分布式部署)
分布式部署中执行表空间DDL时出现节点故障,YashanDB提供自动恢复功能。
Datafile,Bucketfile文件目录:
${YASDB_DATA}/节点名/dbfiles/${YASDB_DATA}/节点名/local_fs/${YASDB_DATA}/节点名/指定目录/CREATE TABLESPACE
创建表空间时出现节点故障,具体情况和解决方案如下所示:
仅在MN节点(group_id为1)有Tablespace和Datafile或Databucket记录,DV$PUB_STAT视图没有异常Tablespace相关DDL记录,发现仅有MN节点出现故障:
需重启MN节点并手动在CN节点上执行如下语句:
查询
DV$TABLESPACE,
DV$DATAFILE和
DV$DATABUCKET视图,确认没有对应的Tablespace。
查询MN节点下的Datafile和Databucket文件夹,确认没有对应的Tablespace文件残留,若有则需手动清除该文件夹。
重启后,再次执行
CREATE TABLESPACE 命令即可。
MN节点,部分CN/DN节点有Tablespace和Datafile或Databucket记录,MN节点中DV$PUB_STAT视图有异常Tablespace相关DDL推送记录,发现有部分CN/DN节点出现故障:
所有节点都没有Tablespace和Datafile或Databucket记录,MN节点中DV$PUB_STAT视图没有异常Tablespace相关DDL记录,发现仅有MN节点出现故障:
CREATE TABLESPACE 命令即可。DROP TABLESPACE
删除表空间时出现节点故障,具体情况和解决方案如下所示:
MN节点有Tablespace和Datafile或Databucket记录,仅有MN节点出现故障:
重启MN节点,并手动在CN节点上执行如下语句:
MN节点不存在Tablespace,CN/DN节点有Tablespace和Datafile或Databucket记录,部分CN/DN节点出现故障:
ALTER TABLESPACE ADD(DATAFILE|TEMPFILE)
修改表空间数据文件时出现节点故障,具体情况和解决方案如下所示:
仅在MN节点(group_id为1)有Tablespace和Datafile或Databucket记录,DV$PUB_STAT视图没有异常Tablespace相关DDL记录,发现仅有MN节点出现故障:
需重启MN节点并手动在CN节点上执行如下语句:
查询
DV$TABLESPACE,
DV$DATAFILE和
DV$DATABUCKET视图,确认没有对应的Tablespace。
查询MN节点下的Datafile和Databucket文件夹,确认没有对应的Tablespace文件残留,若有则需手动清除该文件夹。
重启后,再次执行
ALTER TABLESPACE ADD(DATAFILE|TEMPFILE) 命令即可。
MN节点,部分CN/DN节点有Tablespace和Datafile或Databucket记录,MN节点中DV$PUB_STAT视图有异常Tablespace相关DDL推送记录,发现有部分CN/DN节点出现故障:
所有节点都没有Tablespace和Datafile或Databucket记录,MN节点中DV$PUB_STAT视图没有异常Tablespace相关DDL记录,发现仅有MN节点出现故障:
ALTER TABLESPACE ADD(DATAFILE|TEMPFILE) 命令即可。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3077888/ ,如需转载,请注明出处,否则将追究法律责任。