達夢數據庫表空間管理

表空間

數據庫的物理結構:文件系統—數據文件
數據庫的邏輯結構:數據庫—表空間(多個數據文件構成)—段—簇—頁
(一) 達夢默認有哪些表空間及其作用
1、查看錶空間
【語句】SQL>select tablespace name from dba tablespaces;
(1) SYSTEM:系統表空間,存放數據字典信息
(2) ROLL:回滾表空間,存放回滾數據,對一個數據進行更新操作,存放的是更新前的版本信息,可以支持MVCC(事務多版本機制)
(3) TEMP:臨時表空間,存放臨時數據,可不做備份
(4) MAIN:main表空間,如果用戶創建數據對象不指定存儲位置,默認存放到main表空間上
(5) HMAIN:hmain表空間,存放的是huge table的信息
(二) 創建表空間
1、 規劃表空間
案例一:創建一個表空間tbs,放在$DM_HOME /data/DB_NAME數據,處室文件大小爲31M【注意,初始文件的大小是page的4096倍】
【語句】
SQL>create tablespace tbs datafile ‘/dm7/data/DAMENG/TBS.dbf’SIZE 31
案例二:,建一個表空間tbs2,有兩個數據文件,分別存放到不同的disk上,初始大小爲32M,單個文件最大爲100M
【語句】
首先cd到dm7下,使用mkdir disk{1,2}
SQL>create tablespace tbs2 datafile’/dm7/data/DAMENG/disk1/TBS2_1.DBF’SIZE 32 autoextend on maxsize 100,’/dm7/ data/DAMENG/disk1/TBS2_2.DBF’SIZE 32 autoextend on maxsize 100,’
未指定擴展的大小是多少?
【語句】???
案例三:規劃表空間tbs3,初始文件大小爲32M,每次自動擴展1M,最大爲33M
【語句】
SQL>create tablespace tbs3 datafile ‘/dm7/data/DAMENG/TBS3.dbf’SIZE 32 autoextend on next 1 maxsize 100,
2、 如何查詢表可用表空間的大小
【語句】??
(三) 如何維護和管理表空間
1. 表空間不足(報錯爲磁盤空間不足)
(1) 創建大的表空間數據,導出再導入(不推薦使用)
(2) 把表空間的數據文件resize(變大某一個表空間,不推薦使用)
(3) 增加數據文件(推薦使用)
【語句】
SQL>alter tablespace tbs3 add datafile ‘/dm7/data/DAMENG/TBS3_1.dbf’ size 32 autoextend on maxsize 100;
2. 表空間更換存儲位置
案例一:將tbs表空間放置到增加的新空間
先查找目前tbs所在位置
【語句】SQL>select tablespace_name ,file_name from dba_data_files where tablespace_name=’TBS’;
表空間更換存儲位置時,要求表offline,0=online,1=offline
【語句】
SQL>select tablespace_name,status from dba_tablespaces;
更換表空間位置
【語句】
SQL>alter tablespace tbs rename datafile‘/dm7/data/DAMENG/TBS.dbf’ to ‘/dm7/tbs/ TBS.dbf’;
SQL>???
3. 刪除表空間
刪除TBS3表空間(如果表空間存在數據,不允許直接刪除)
【語句】
SQL>drop tablespace tbs3
4. 利用管理工具創建表空間更簡單

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章