Kingbase金仓更改表空间
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;
總結
以上是生活随笔為你收集整理的Kingbase金仓更改表空间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网贷失败征信会有借款记录吗 带你详细的
- 下一篇: Kingbase金仓查看表空间占用率