表空間是數據庫的邏輯存儲空間,能夠理解爲表空間是數據庫開闢的一個空間,用於存放數據庫的對象。表空間是由一個或者多個數據文件構成的。咱們存放的表,數據庫對象等,都是存放在表空間中的數據文件裏的。
表空間分爲永久表空間,臨時表空間,UNDO表空間。數據庫
在oracle中,使用不一樣用戶登陸,所對應的表空間也有所不一樣。首先介紹兩個數據字典(數據字典是指對數據的數據項、數據結構、數據流、數據存儲、處理邏輯等進行定義和描述)數據結構
用system用戶鏈接到數據庫後,查詢dba_tablespaces。
查詢結果表示dba_tablespaces這個數據字典有列名有TABLESPACE_NAME,NOT NULL表示不能爲空,類型爲可變字符類型,長度爲30。列名爲BOLOCK_SIZE的這一列不能爲空,類型爲NUMBER。後面的以此類推。
而後在查詢一下表空間有哪些。
oracle
能夠看到,用system登陸數據庫後,默認的表空間就有5個。spa
每個用戶對應着默認的表空間,能夠多個用戶共用同一個表空間。也能夠指定一個用戶只用某一個表空間,若是不指定,就默認爲users表空間。
如今有兩個鏈接,一個是system系統管理員用戶登陸了數據庫。一個是scott普通用戶登陸數據庫。
我建立scott用戶的時候沒有指定表空間,因此它指定的是默認表空間。用selcet查詢一下
能夠看到scott用戶指定的表空間是默認的USERS表空間(scott用戶的名字是C##scott),scott用戶建立的表就默認放在USERS表空間
system用戶的指定表空間爲SYSTEM。
sys用戶指定的表空間爲SYSTEM。
sys、system管理員建立的表就放在SYSTEM表空間。視頻
以前邊看視頻邊查資料,對於表空間的理解仍是雲裏霧裏,可是本身動手寫了幾個例子後,仍是有了一個大概的理解。首先表空間是劃分數據庫的邏輯空間。至關於數據庫是一個大倉庫。表空間就是地上畫的粉筆線。用來區分存放物品的位置。用戶就至關於使用倉庫的人。sys和system都是管理員用戶。至關於倉庫管理員。能夠劃分新的表空間。也能夠刪除或者改動表空間。
一開始這個倉庫(數據庫)就劃分了5個區域(表空間)。用來存放東西或者使用。倉庫管理員(sys,system)就負責管理倉庫的事物。除了管理員,還有普通的員工(普通用戶)。好比今天新來了個員工小王,倉庫管理員就告訴小王。我給你劃了塊地方(給用戶指定表空間)。你之後幹什麼就用這塊地。而後又來了個員工小張,倉庫管理員也告訴小張「你和小王用同一塊地就好了」(一個表空間能夠被多個用戶共用)。以後又有一個新員工小李。倉庫管理員沒有告訴他用哪裏。小李就使用了默認的的一塊地(默認使用USER表空間)。對象
、blog