表空間
在資料庫系統中,儲存空間是較為重要的資源,合理利用空間,不但能節省空間,還可以提高系統的效率和工作效能。 oracle 可以存放海量資料,所有資料都在資料檔案中儲存。而資料檔案大小受作業系統限制,並且過大的資料檔案對資料的訪問效能影響非常大。同時oracle 是跨平台的資料庫, oracle 資料可以輕鬆的在不同平台上移植,那麼如何才能提供統一訪問格式的大容量呢? oracle 採用表空間來解決。
表空間只是乙個邏輯概念,若干作業系統檔案(檔案可以不是很大)可以組成乙個表空間。表空間統一管理空間中的資料檔案,乙個資料檔案只能屬於乙個表空間。乙個資料庫空間由若干個表空間組成。如圖所示:
oracle 中所有的資料(包括系統資料),全部儲存在表空間中,常見的表空間有:
ø系統表空間:存放系統資料,系統表空間在資料庫建立時建立。表空間名稱為
system。存放資料字典和檢視以及資料庫結構等重要系統資料資訊,在執行時如
果 system 空間不足,對資料庫影響會比較大,雖然在系統執行過程中可以通過命
令擴充空間,但還是會影響資料庫的效能,因此有必要在建立資料庫時適當的把數
據檔案設定大一些。
øtmep 表空間:臨時表空間,安裝資料庫時建立,可以在執行時通過命令增大臨時
表空間。臨時表空間的重要作用是資料排序。比如當使用者執行了諸如
order by 等
命令後,伺服器需要對所選取資料進行排序,如果資料很大,記憶體的排序區可能裝
不下太大資料,就需要把一些中間的排序結果寫在硬碟的臨時表空間中。
ø使用者表自定義空間:使用者可以通過 create tablespace 命令建立表空間
建立表空間
--建立表空間 linux centos6.9
--建立乙個表空間,包含兩個資料檔案大小分別是 10mb, 5mb,要求 extent 的大小統一為 1m
createtablespacenod_tablespace
datafile'/home/oracle/tablespace/a.ora'size10m,
'/home/oracle/tablespace/b.ora'size5m
extentmanagementlocal
uniformsize1m
windows版本建立表空間
請注意:只有管理員才可以增加表空間
當表空間不足的時候可以用alter tablespace命令向表空間中追加資料檔案並擴充表空間
修改表空間大小
--擴充表空間
altertablespacenod_tablespace
adddatafile'/home/oracle/tablespace/c.ora'size100m
--檢視表空間情況
selectsum(bytes) / (1024* 1024) asfree_space, tablespace_name
fromdba_free_space
groupbytablespace_name;
建立使用者時可以為使用者指定某一表空間,那麼該使用者下所有資料庫物件預設都儲存在該空間中
指定使用者的表空間為
建立表指定表空間
createtablet2(idint)
tablespacenod_tablespace
表和索引一旦建立,表空間無法進行二次修改
oracle的表空間的相關概念
oracle 中邏輯結構包括表空間 段 區和塊。說明一下資料庫由表空間構成,而表空間又是由段構成,而段又是由區構成,而區又是由oracle 塊構成的這樣的一種結構,可以提高資料庫的效率。如下圖 介紹表空間用於從邏輯上組織資料庫的資料,資料庫邏輯上是由乙個或是多個表空間組成的。通過表空間可以達到一下作...
oracle表空間和資料字典的概念
表空間 sql server資料庫與oracle資料庫之間最大的區別要屬表空間設計。oracle資料庫開創性地提出了表空間的設計理念,這為oracle資料庫的高效能做出了不可磨滅的貢獻。可以這麼說,oracle中很多優化都是基於表空間的設計理念而實現的。oracle資料庫被劃分成稱作為表空間的邏輯區...
Oracle表空間 表
表 table 表空間是對儲存系統檔案 使用者資訊等資料的乙個空間。oracle表空間屬於oracle中的儲存結構,是由資料檔案組成,乙個資料庫例項可以有n個表空間,每個資料庫至少有乙個表空間 system表空間 乙個表空間下可以有n張表。可以通過表空間來實現對oracle的調優 oracle資料庫...