ALTER TABLESPACE SET语句用于更改分布式部署中一个已存在的表空间集的相关属性。
表空间集是YashanDB分布式部署中的一个逻辑存储单位,用于存储分布表及与分布表相关数据信息,物理上对应了各DN节点上的数据文件。
目前只能指定修改非内存映射表空间集。
在分布式部署中,执行本语句时系统会检查是否存在异常未恢复DDL语句,若存在将报错并需等待对应DDL恢复成功后才能执行本语句。
Note:
本文出现的所有CHUNK_NUM,均表示当前分布式部署环境中的Chunk总数量,该值可由建库参数USERS_DATASPACE_SCALE_OUT_FACTOR * 建库时DN组个数计算得到结果,其中,建库参数USERS_DATASPACE_SCALE_OUT_FACTOR在安装过程中配置且后续不可修改,可咨询数据库管理员获得该参数的值。


表空间集的名称。
该语句用于修改表空间集的最大可扩展空间,不能小于原有的最大可扩展空间。
size_clause的取值范围为[128 * DB_BLOCK_SIZE * CHUNK_NUM, 4G * DB_BLOCK_SIZE * CHUNK_NUM],当DB_BLOCK_SIZE参数为默认的8K值时,该范围为[1M * CHUNK_NUM, 32T * CHUNK_NUM]。
增加表空间集的最大可扩展空间会相应地增加所有DN组上的数据文件的最大可扩展空间:
示例(分布式部署)
该语句用于修改表空间集内部的数据文件每次自动扩展的大小。
size_clause的取值范围为[512 * DB_BLOCK_SIZE, 32768 * DB_BLOCK_SIZE],当DB_BLOCK_SIZE参数为默认的8K值时,该范围为[4M,256M]。
示例(分布式部署)
该语句用于修改表空间集数据文件的大小。
size_clause的取值范围为[128 * DB_BLOCK_SIZE * CHUNK_NUM, MAXSIZE],MAXSIZE表示当前表空间集的最大可扩展空间,当DB_BLOCK_SIZE参数为默认的8K时,最小值为1M * CHUNK_NUM。
当用户设置的size小于当前实际大小时,将不会进行修改。
示例(分布式部署)
该语句用于修改表空间集中的databucket(数据桶)信息。
该语句用于增加databucket,可同时挂载多个,以
,
分隔。对于新建databucket的描述与约束与
CREATE TABLESPACE SET章节中databucket_clause语句相同。
同 CREATE TABLESPACE SET章节中bucket_clause语句描述。
同 CREATE TABLESPACE SET章节中s3_bucket_clause语句描述。
示例(分布式部署)
该语句用于修改databucket的读写属性,创建的databucket均默认为可读写属性。
对于不同的Databucket类型,bucket_name具有不同的含义:
对于本地存储的bucket,bucket_name为bucket在本地文件系统的相对路径。
对于S3 bucket,bucket_name为逻辑名称,用于在数据库内查询具体的bucket信息。
readonly表示只读,readwrite表示可读写。
注意databucket修改为只读后不支持任何形式的写入操作,但用户执行的DML语句(非Bulkload操作)不受影响,执行Bulkload操作时由于需要生成SCOL数据,若表空间下没有可写入的databucket则会报错。
示例(分布式部署)
该语句用于删除databucket,每次只允许指定一个databucket删除。
同alter_databucket_clause语句描述。
示例(分布式部署)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3093729/ ,如需转载,请注明出处,否则将追究法律责任。