Oracle表空間

Oracle真正存放數據的是數據文件data file ,Oracle表空間 table space 實際上是一個邏輯上的概念,他在物理上並不存在,把一組data file 打包在一起就成了一個表空間了
這裏寫圖片描述

表空間作用:

  • 控制數據庫所佔用的磁盤空間
  • 控制用戶所佔用的表空間配額
  • 通過表空間控制數據流向,從而提高I/O性能
  • 表空間提供了一個備份和恢復單位

表空間的分類

創建表空間時要指定表空間類型
這裏寫圖片描述

1.按是否存放系統數據分

  • 系統表空間
    SYSTEM 放數據字典等系統數據
    SYSAUX 存放其他可選組件的系統數據
  • 非系統表空間

2.按表空間內容分

  • 永久表空間 permanent tablespace

  • 臨時表空間 temporary tablespace
    存放臨時性的數據,order by等SQL語句會產生大量的臨時數據,一般創建用戶時要給該用戶指定一個臨時表空間,存放其操作產生的臨時數據,如果沒有指定,將佔用系統表空間,影響服務器效率

  • 撤銷表空間 undo tablespace
    存放回滾段數據,當你對一張表或一條記錄進行修改的時候,它會對修改之前的信息進行保存,這樣可以保證數據的回滾。

3.按表空間大小分

  • 大文件表空間
    只能對應一個數據文件data_file,這個data_file可以包括4G個數據塊,最大可達32TB
  • 小文件表空間
    可以放1022個data_file

表空間的區管理

  • 數據字典管理(Dictionary managed tablespace)
    在表空間裏,有的區間被佔用了,有的沒被佔用,這些數據是放在數據字典裏的。當你對這個表空間進行分配或釋放的時候,數據文件裏相關的表就會做修改.傳統管理方式,10g已經不使用
  • 本地管理(locally managed tablespace)
    11g默認的管理方式,用位圖bitmap來自由的管理區間。一個區間對一個位,如果這個位是1表示已經被佔用,0表示未被佔用
  • 二者區別
    詞典管理空間表示“中央集權治”,本地管理表空間表示“省市自治區”,一個databases表示中國,tablespaces表示一個省或直轄市。詞典管理統一由中央調配。而本地管理表示有高度的自治權利,自已各種資源的分配不用上報中央。

表空間管理操作

查看

  • 查看錶空間
    V$TABLESPACE displays tablespace information from the control file.
select name from V$tablespace
  • 查看錶空間有哪些文件
desc dba_data_files;

這裏寫圖片描述

select file_name from dba_data_files

這裏寫圖片描述

創建

  • 創建大小爲50M的表空間test,禁止自動擴展數據文件
create tablespace test
logging
datafile
'C:\oracle\oradata\orcl\TEST01.DBF'
size 50M
reuse autoextend off;
  • 將表空間test離線
alter tablespace test offline;
  • 查看test是否離線
select tablespace_name,status from dba_tablespaces;
  • 將表空間test聯機
alter tablespace test online;
  • 使表空間test只讀,從而保持靜態數據
alter tablespace test read only;

注:查看錶空間是否只讀時,也是查找dba_tablespaces的status字段
這裏寫圖片描述

  • 使表空間可讀可寫
alter tablespace test read write;
  • 在Oracle 11g總可直接更名永久表空間和臨時表空間,但是system和sysaux表空間不能更名
alter tablespace test rename to test1

刪除

drop_tablespace::=
這裏寫圖片描述
刪除表空間,使用命令drop tablespace ‘表空間名’ 但是有3個選項需要注意:

INCLUDING CONTENTS:指刪除表空間中的segments;

INCLUDING CONTENTS AND DATAFILES:指刪除segments和datafiles;

CASCADE CONSTRAINTS:刪除所有與該空間相關的完整性約束條件。

例子
刪除表空間test之前
這裏寫圖片描述
刪除

drop tablespace test including contents and datafiles cascade constraints;

這裏寫圖片描述

這裏寫圖片描述

刪除之後
這裏寫圖片描述

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