oracle的一個用戶可以有多個表空間,但是默認的表空間只有一個,當創建表、視圖、索引等不指定表空間時,都會存放在默認表空間中;一個用戶可以使用一個或多個表空間,一個表空間也可以供多個用戶使用。
本教程操作環境:windows10系統、Oracle 12c版、Dell G3電腦。
oracle的一個用戶有多個表空間嗎
一個用戶可以同時管理很多表空間,但是默認表空間只有一個,當創建表,視圖,引索等不指定表空間時都會存放在默認表空間中。
一個用戶可以使用一個或多個表空間,一個表空間也可以供多個用戶使用。用戶和表空間沒有隸屬關系,表空是一個用來管理數據存儲邏輯概念,表空間只是和數據文件發生關系,數據文件是物理的,一個表空間可以包含多個數據文件,而一個數據文件只能隸屬一個表空間。?
表空間與用戶的關系
創建用戶時,一個用戶只能指明一個表空間。多個用戶可以指明同一個表空間。是1:N
訪問時表空間時,對用戶授權即可訪問。是N:N
表空間
創建表空間會在物理磁盤上建立一個數據文件,作為數據庫對象(用戶、表、存儲過程等等)的物理存儲空間;
一個表空間只能屬于一個數據庫。所有的數據庫對象都存放在指定的表空間中。但主要存放的是表,所以稱作表空間。
oracle中用戶的所有數據都是存放在表空間中的
表空間(tablespace)是數據庫的邏輯劃分,每個數據庫至少有一個表空間(稱作SYSTEM表空間)
表空間建立在1個或多個數據文件上;
不同的表空間有不同的權限控制。用戶對于表空間A具有完全控制權限,可能對于表空間B就只有查詢權限,甚至連連接的權限的都沒有。
用戶
創建用戶必須為其指定表空間,如果沒有顯性指定默認表空間,則指定為users表空間;創建用戶后,可以在用戶上,創建表、存儲過程等等其他數據庫對象;
一個用戶有一個默認空間
多個用戶可以共用一個默認空間
1)、同一個數據庫用例中,用戶名是不能重復的
2)、不同用戶中可以創建同名的表
3)、表空間創建后需要創建用戶后才能使用,因為任何數據庫對象都需要建立在一個數據用戶上
4)、連接dba權限的用戶可以直接訪問其他用戶的數據庫對象,否則需要相關用戶授權
5)、訪問其他用戶的數據庫對象是時需要加上對象所屬用戶的用戶名
oracle是由用戶和表空間對數據進行管理和存放的。但是表不是由表空間去查詢的,而是由用戶去查的。因為不同用戶可以在同一個表空間建立同一個名字的表
推薦教程:《Oracle視頻教程》