在實際生產環境中,咱們經常會遇到表空間不足的問題,針對此類問題,只要咱們的磁盤空間充足,咱們能夠經過更改數據文件大小、添加新的數據文件等方式來解決;
管理數據文件的操做須要 DM服務器處於打開狀態下;數據庫
在達夢數據庫中,一個表空間能夠對應磁盤上的多個數據文件。所以,當表空間的空間被用完的時候,咱們能夠經過在表空間中增長數據文件的形式,來擴大當前表空間的大小。服務器
在用戶表空間中添加數據文件。添加的數據文件大小最小爲 4096頁大小,如頁大小爲 8K,則可添加的文件最小值爲 40968k=32M。好比在 bookshop 表空間中添加大小爲 64M的數據文件。
ALTER TABLESPACE bookshop ADD DATAFILE 'd:\book.dbf' SIZE 64;
一個表空間中,數據文件和鏡像文件一塊兒不能超過 256個。例如,若是建立表空間的時候已經指定了 1個數據文件,那麼添加數據文件的時候,最多隻能添加 255個了。工具
固然,咱們也能夠經過圖形界面管理工具進行操做,打開管理工具,右鍵點擊表空間名稱,點擊修改,在右側窗口點擊添加,而後設定新文件的路徑信息,初始大小,是否自動擴展等信息,點擊肯定便可完成新數據文件的添加;大數據
與添加數據文件相同,數據文件大小的擴展也能夠經過兩種方式:博客
擴展用戶表空間中已存在的數據文件的大小。好比擴展 bookshop表空間中數據文件 book.dbf大小至 128M。
ALTER TABLESPACE bookshop RESIZE DATAFILE 'd:\book.dbf' TO 128;效率
打開管理工具,右鍵點擊表空間名稱,點擊修改,雙擊文件大小處,便可修改增大數據文件的大小(單位是 M)。擴展
經過修改數據文件大小當然能夠解決問題,可是若是每次都由咱們手動來修改大小,第一會下降工做效率,第二是咱們並不知道每次應該把文件大小設置爲多少才較爲合適。爲了應對這種狀況,達夢數據庫內提供了數據文件自動擴展的機制。當表空間的使用接近上限時,數據文件的大小會自動擴展,從而應對空間不足的狀況。
具體操做以下:數據
1.1 建立表空間時可指定文件的擴展屬性。如建立表空間時指定數據文件的擴展屬性爲可自動擴展,每次擴展大小爲 10M,最大可擴展到 100M:
CREATE TABLESPACE bookshop DATAFILE 'd:\book.dbf' SIZE 32 AUTOEXTEND ON NEXT 10 MAXSIZE 100;
1.2 在表空間中添加文件時可指定文件的擴展屬性。如添加數據文件時指定擴展屬性爲不可自動擴展:
ALTER TABLESPACE bookshop ADD DATAFILE 'd:\book.dbf' SIZE 1024 AUTOEXTEND OFF;
1.3 可修改表空間中已存在的數據文件的擴展屬性。如修改數據文件的擴展屬性爲可自動擴展:
ALTER TABLESPACE bookshop DATAFILE 'd:\book.dbf' AUTOEXTEND ON;db
打開管理工具,右鍵點擊表空間名稱,點擊修改,而後在彈出的選項框內,修改自動擴充的設定,把自動擴充變成打開便可。須要注意後面兩個選項卡擴充尺寸和擴充上限,分別對應的是每次數據文件擴展的大小,以及該數據文件擴展的上限,0 的話則表明無上限。
說明:
OFF 表示文件不可擴展,ON 表示文件可擴展。文件擴展大小表示當須要擴展文件時,文件一次增大的空間大小,取值範圍是 0—2048,單位是 M。文件限制大小表示文件可擴展的最大空間大小,爲 0 或者 UNLIMITED 表示無限制,單位是 M。缺省狀況下,文件擴展大小是 1M,文件的最大大小是無限制的。移動
若是出現表空間滿了,而其它文件系統空間充足,那也能夠經過數據文件的遷移來釋放空間壓力,具體的操做參見另外一篇博客《Linux平臺達夢數據庫V7之數據文件的移動》。