乾貨分享|優炫資料庫管理之表空間

優炫資料庫發表於2022-04-28

資料庫的表空間管理 DBA 的日常管理工作之一 。優炫資料庫 UXDB 中的表空間允許 DBA 在檔案系統中定義用來存放表示資料庫物件的檔案的位置。一旦被建立,表空間就可以在建立資料庫物件時通過名稱引用。通過使用表空間,管理員可以控制一個 UXDB安裝的磁碟佈局。


定義表空間
 


使用CREATE TABLESPACE命令,如:


CREATE TABLESPACE fastspace LOCATION'/ssd1/uxsino/data';


必須是一個已有的空目錄,並且屬於UXDB作業系統使用者,所有後續在該表空間中建立的物件都將被存放在這個目錄下的檔案中。如果表空間丟失,將會導致集簇無法工作,故位置不能放在可移動或者瞬時儲存上。


表空間的建立必須是一個資料庫超級使用者完成 ,但在建立完之後,可以允許普通資料庫使用者來使用。同時給資料庫普通使用者授予表空間上的CREATE許可權。


表、索引和整個資料庫都可以被分配到特定的表空間。在給定表空間上有CREATE許可權的使用者,必須把表空間的名字以引數的形式傳遞給相關的命令。


表空間space1中建立一個表:


CREATE TABLE foo(i int) TABLESPACE space1;

另外,還可以使用default_tablespace引數:


SET default_tablespace = space1;

CREATE TABLE foo(i int);


default_tablespace 被設定為非空字串,那麼它就為沒有顯式TABLESPACE子句的CREATE TABLE和CREATE INDEX命令提供一個隱式TABLESPACE子句。


temp_tablespaces引數 ,它決定臨時表和索引的位置,以及用於大資料集排序等目的的臨時檔案的位置。這可以是一個表空間名的列表。


因此,與臨時物件有關的負載可以散佈在多個表空間上。每次要建立一個臨時物件時,將從列表中隨機取一個成員來存放它。


此外,如果沒有給出TABLESPACE子句並且沒有default_tablespace或temp_tablespaces中指定其他選擇,它還是在該資料庫中建立表、索引和臨時檔案的預設表空間。


在初始化資料庫集簇的時候,會自動建立兩個表空間。

ux_global表空間 被用於共享系統目錄。

ux_default表空間 是template1和template0資料庫的預設表空間。


表空間一旦被建立,就可以被任何資料庫使用,前提是請求的使用者具有足夠的許可權。這也意味著,一個表空間只有在所有使用它的資料庫中所有物件都被刪除掉之後才可以被刪掉。


刪除一個空的表空間
 


使用DROP TABLESPACE命令。要確定現有表空間的集合,可檢查ux_tablespace系統目錄。


例如 SELECT spcname FROM ux_tablespace;

uxsql程式的\db元命令也可以用來列出現有的表空間。UXDB使用符號連線來簡化表空間的實現。這就意味著表空間只能在支援符號連線的系統上使用。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70009096/viewspace-2889246/,如需轉載,請註明出處,否則將追究法律責任。

相關文章