修改表空間
隨著數(shù)據(jù)庫的數(shù)據(jù)量不斷增加,原來創(chuàng)建的表空間可能不能滿足數(shù)據(jù)存儲的需要喇聊,應(yīng)當(dāng)適時對表空間進(jìn)行修改,增加數(shù)據(jù)文件或者擴(kuò)展數(shù)據(jù)文件的大小堪簿。同樣,對表空間的修改同樣可以通過運(yùn)用 SQL 命令和 DM 管理工具來修改表空間皮壁。
- 用 DM 管理工具修改表空間
【示例1】將 EXAMPLE2 表空間名稱改為 EXAMPLE1椭更,并為該表空間增加一個名為 EXAMPLE1.dbf 的數(shù)據(jù)文件,設(shè)置該文件初始大小為改為 768MB蛾魄,且不能自動擴(kuò)展虑瀑。 步驟1:在 DM 管理工具中,右鍵點(diǎn)擊“表空間”節(jié)點(diǎn)下的“EXAMPLE2”節(jié)點(diǎn)滴须,彈出如下圖所示菜單。
步驟2:在上圖中描馅,點(diǎn)擊“重命名”菜單而线,彈出如下圖所示重命名對話框,在對話框中膀篮,設(shè)置名稱為 EXAMPLE1嘹狞,然后點(diǎn)擊“確定”按鈕,完成表空間的重命名誓竿。
步驟3:在表空間 EXAMPLE1 處點(diǎn)擊“修改”菜單,進(jìn)入下圖所示修改表空間對話框涧偷。
步驟4:在上圖中,點(diǎn)擊“添加”按鈕毙死,添加一行記錄燎潮,并如下圖所示設(shè)置文件路徑、文件大小扼倘、自動擴(kuò)展等參數(shù),并點(diǎn)擊“確定”按鈕完成數(shù)據(jù)文件的添加再菊。
2.用SQL語句修改表空間
隨著數(shù)據(jù)庫的數(shù)據(jù)量不斷增加,原來創(chuàng)建的表空間不能滿足數(shù)據(jù)存儲的需要秉剑,應(yīng)當(dāng)適時對表空間進(jìn)行修改稠诲,增加數(shù)據(jù)文件或擴(kuò)展數(shù)據(jù)文件的大小候址。
1.語法格式
修改表空間的SQL命令格式如下:
- `ALTER TABLESPACE <表空間名> [ONLINE|OFFLINE|<表空間重命名子句>|<數(shù)據(jù)文件重命名子句
其中各子句說明如下:
<表空間重命名子句> ::= RENAME TO <表空間名>
<數(shù)據(jù)文件重命名子句>::= RENAME DATAFILE <文件路徑>{,<文件路徑>} TO <文件路徑>{,<文件路徑>}
<增加數(shù)據(jù)文件子句> ::= ADD <數(shù)據(jù)文件子句>
<修改文件大小子句> ::= RESIZE DATAFILE <文件路徑> TO <文件大小>
<修改文件自動擴(kuò)展子句> ::= DATAFILE <文件路徑>{,<文件路徑>}[<自動擴(kuò)展子句>]
通過這條命令种柑,可以設(shè)置表空間脫機(jī)或聯(lián)機(jī)岗仑,可以修改表空間的名稱聚请,可以修改數(shù)據(jù)文件的名稱,可以增加數(shù)據(jù)文件炸卑,可以修改數(shù)據(jù)文件大小煤傍,還可以修改數(shù)據(jù)文件的自動擴(kuò)展特性等盖文。
2.應(yīng)用舉例
【例2】修改表空間舉例蚯姆。 (1)給TS1表空間增加數(shù)據(jù)文件TS103.DBF,大小為128MB疙驾。
ALTER TABLESPACE ts1 ADD DATAFILE '/opt/dmdbms/TS103.DBF' SIZE 128;
(2)修改TS1表空間數(shù)據(jù)文件TS103.DBF的大小為256MB郭毕。
ALTER TABLESPACE ts1 RESIZE DATAFILE '/opt/dmdbms/TS103.DBF' TO 256;
(3)重命名數(shù)據(jù)文件TS103.DBF為TS_103.DBF。 重命名數(shù)據(jù)文件時必須先將數(shù)據(jù)文件設(shè)置為離線狀態(tài)显押,然后才能重命名文件。
1)設(shè)置數(shù)據(jù)文件離線乘碑。
ALTER TABLESPACE ts1 OFFLINE;
2)修改數(shù)據(jù)文件名。
ALTER TABLESPACE ts1 RENAME DATAFILE '/opt/dmdbms/TS103.DBF' TO '/opt/dmdbms/TS_103.DBF';
3)設(shè)置數(shù)據(jù)文件在線旋讹。
ALTER TABLESPACE ts1 ONLINE;
(4)修改數(shù)據(jù)文件TS102.DBF為自動增長轿衔,每次增長4MB沉迹,最大為1024MB害驹。
ALTER TABLESPACE ts1 DATAFILE 'D:\dmdbms\data\DAMENG\TS102.DBF' AUTOEXTEND ON NEXT 4 MAXSIZE 1024;
(5)將TS1表空間改名為TS_1鞭呕。
ALTER TABLESPACE ts1 RENAME TO ts_1;
(6)修改TS_1表空間緩沖池名字為KEEP宛官。
ALTER TABLESPACE ts_1 CACHE="KEEP";
注意:KEEP要大寫并加上雙引號瓦糕。
(三)修改表空間注意事項(xiàng)
1.修改表空間的用戶必須具有修改表空間的權(quán)限腋么,一般登錄具有DBA權(quán)限的用戶進(jìn)行創(chuàng)建咕娄、修改、刪除等表空間管理活動圣勒。
2.修改表空間數(shù)據(jù)文件大小時摧扇,其大小必須大于自身大小圣贸。
3.如果表空間有未提交事務(wù)扛稽,表空間不能修改OFFLINE狀態(tài)。
4.重命名表空間數(shù)據(jù)文件時用含,表空間必須處于OFFLINE狀態(tài)瞧掺,修改成功后再將表空間修改為ONLINE狀態(tài)凡傅。