您的位置:首页 > 其它

Kingbase金仓更改表空间

2017-03-01 09:21 218 查看
7.1.13. ALTER TABLESPACE

【语法格式】

ALTER TABLESPACE TableSpaceName

{ RENAME TO NewTableSpaceName

| OWNER TO NewOwnerName

| ONLINE

| OFFLINE [NORMAL]

| READ ONLY

| READ WRITE

| ADD DATAFILE (NAME [=] LogicalName FILENAME [=] ‘FileName’ SIZE [=] Size MAXSIZE [=] MaxSize FILEGROWTH [=] Growth)

| REMOVE DATAFILE LogicalName

| MODIFY DATAFILE LogicalName SET MAXSIZE [=] MaxSize

| MODIFY DATAFILE LogicalName SET FILEGROWTH [=] Growth

| MODIFY DATAFILE LogicalName RESIZE [=] TargetSize

| MODIFY DATAFILE LogicalName OFFLINE

| MODIFY DATAFILE LogicalName ONLINE

| MODIFY DATAFILE LogicalName TO ‘FileName’

}

【功能】

1.修改表空间的名字。SYSTEM 表空间不可以被重命名。

2.修改表空间的属主。

3.修改表空间状态为ONLINE。系统表空间不可以被ONLINE或OFFLINE。该语句不能在事务内使用。

4.修改表空间状态为OFFLINE,随后对该表空间内容进行修改的语句会报错。系统表空间不可以被ONLINE或OFFLINE。该语句不能在事务内使用。

5.修改表空间状态为READ ONLY,随后只能对该表空间对象进行读操作。系统表空间不可以被READ ONLY。该语句不能在事务内使用。

6.修改表空间状态为READ WRITE。系统表空间不可以被READ WRITE。该语句不能在事务内使用。

7.在表空间中创建一个数据文件。KingbaseES 为每个数据文件维护以下属性:逻辑名、文件名(物理路径)、初始大小、最大大小和文件增长率。该语句不能在事务内使用。

8.删除表空间中的某个数据文件。注意:只有不包含任何数据库对象的数据文件才能被删除。该语句不能在事务内使用。

9.修改表空间中某个数据文件的最大大小。该语句不能在事务内使用。

10.修改表空间中某个数据文件的文件增长率。该语句不能在事务内使用。

11.对表空间中某个数据文件进行扩展或截断。如果TargetSize大于文件的当前大小,则进行文件扩展;如果TargetSize小于文件的当前大小,则进行文件截断。如果进行文件截断时发现要被截断的部分包含了用户数据,KingbaseES 会将数据文件截断到最后一个非空闲区,并向用户报告warning信息。该语句不能在事务内使用。

12.修改数据文件状态为OFFLINE。随后数据库不能对该数据文件进行访问。SYSFILE不可以被OFFLINE。该语句不能在事务内使用。

13.修改数据文件状态为ONLINE。SYSFILE不可以被ONLINE。该语句不能在事务内使用。

14.修改数据文件位置为新位置,该语句要求数据文件处于OFFLINE状态。该语句不能在事务内使用。

【权限】

调用该命令的用户必须是非受限数据库管理员或者是该表空间的所有者。

【使用说明】

1.TableSpaceName是被修改的表空间的名字。

2.NewTableSpaceName是表空间的新名字,该名字不能以“SYS_”开头。

3.NewOwnerName是表空间的新属主。

4.LogicalName是数据文件的逻辑名。

5.FileName是数据文件的物理路径。该路径可以是绝对路径,也可以是相对路径。相对路径的物理名在MODIFY TO语句时是相对于guc参数BACKUP_PATH指定的目录的,其他时候是相对于集群根目录下的DB子目录的。FileName的最大长度不能超过1023个字节。

6.Size和MaxSize分别是数据文件的初始大小和最大大小,其值域为[1,16000],单位是MB。MaxSize不能小于Size。

7.Growth是数据文件的增长率(百分比),其值域为[1,100]。

8.TargetSize是数据文件的目标大小,其值域为[1,16000],单位是MB。

【示例】

例一:修改表空间的名字

ALTER TABLESPACE test RENAME TO t;

例二:修改表空间的属主

ALTER TABLESPACE test OWNER TO u;

例三:修改表空间ONLINE

ALTER TABLESPACE test ONLINE;

例四:修改表空间OFFLINE

ALTER TABLESPACE test OFFLINE;

例五:修改表空间READONLY

ALTER TABLESPACE test READ ONLY;

例六:修改表空间READWRITE

ALTER TABLESPACE test READ WRITE;

例七:向表空间添加文件

ALTER TABLESPACE test ADD DATAFILE (NAME = df FILENAME = ‘df’ SIZE = 1 MAXSIZE = 20 FILEGROWTH = 10);

例八:修改数据文件的增长率

ALTER TABLESPACE test MODIFY DATAFILE df SET FILEGROWTH = 20;

例九:修改数据文件的最大大小

ALTER TABLESPACE test MODIFY DATAFILE df SET MAXSIZE = 20;

例十:修改数据文件的大小

ALTER TABLESPACE test MODIFY DATAFILE df RESIZE 20;

例十一:修改数据文件ONLINE

ALTER TABLESPACE test MODIFY DATAFILE df ONLINE;

例十二:修改数据文件OFFLINE

ALTER TABLESPACE test MODIFY DATAFILE df OFFLINE;

例十三:修改数据文件位置

ALTER TABLESPACE test MODIFY DATAFILE df TO ‘df’;

例十四:删除表空间中的数据文件

ALTER TABLESPACE test REMOVE DATAFILE df;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: