Oracle數據庫基本操作——表空間管理
阿新 • • 發佈:2018-10-10
mage acl 刪除 建數據庫 contents dff 分享 至少 ext 簡介:ORACLE物理上是由磁盤上的以下幾種文件:數據文件和控制文件和LOGFILE構成的
表空間就只談相關的數據文件
首先明確概念:表空間是ORACLE內部定義的一個概念,是為了統一ORACLE物理和邏輯
上的結構而專門建立的,從物理上來說,一個表空間是由具體的一個或多個磁盤上數
據文件構成的(至少1對1,可以1對多),從邏輯上來說一個表空間是由具體的一個或
多個用戶模式下的表,索引等等裏面的數據所構成的.
因此從用戶的角度來看是不應該看到磁盤上物理的數據文件的,其從小到大的視角關系:
字段值 --> 記錄值 --> 表數據 --> 用戶 --> 表空間 --> ORACLE
而從一個ORACLE DBA的視角來看應是這樣的關系:數據文件 --> 表空間 --> ORACLE
綜合一下,也就是說在ORACLE中表不可能單獨存在,一定隸屬於某一個用戶,而某一用戶的數據必定存在於某個表空間中.
臨時表空間用於排序,索引表空間用於放置索引,UNDO表空間用於回滾,用戶表空間用於存放用戶表。
系統表空間用於存放數據字典。oracle這樣分是為了提高系統性能和系統的安全性。
因為oracle不僅有用戶權限也有資源權限,可以更好的控制和分配權限的使用。
Oracle數據庫關系圖:
4 size 50M autoextend on;
表空間就只談相關的數據文件
首先明確概念:表空間是ORACLE內部定義的一個概念,是為了統一ORACLE物理和邏輯
上的結構而專門建立的,從物理上來說,一個表空間是由具體的一個或多個磁盤上數
據文件構成的(至少1對1,可以1對多),從邏輯上來說一個表空間是由具體的一個或
多個用戶模式下的表,索引等等裏面的數據所構成的.
因此從用戶的角度來看是不應該看到磁盤上物理的數據文件的,其從小到大的視角關系:
字段值 --> 記錄值 --> 表數據 --> 用戶 --> 表空間 --> ORACLE
綜合一下,也就是說在ORACLE中表不可能單獨存在,一定隸屬於某一個用戶,而某一用戶的數據必定存在於某個表空間中.
臨時表空間用於排序,索引表空間用於放置索引,UNDO表空間用於回滾,用戶表空間用於存放用戶表。
系統表空間用於存放數據字典。oracle這樣分是為了提高系統性能和系統的安全性。
因為oracle不僅有用戶權限也有資源權限,可以更好的控制和分配權限的使用。
Oracle數據庫關系圖:
具體實驗步驟:
1創建數據庫:
2創建表空間:
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> create tablespace tbs_work
2 datafile ‘/orc/app/oracle/oradata/worktbs01.dbf‘
3 size 10M autoextend on;
表空間已創建。
3調整表空間大小:
方法一:直接修改大小
SQL> alter database datafile
2 ‘/orc/app/oracle/oradata/worktbs01.dbf‘
3 resize 100M;
方法二:添加文件
SQL> alter tablespace tbs_work
2 add datafile
3 ‘/orc/app/oracle/oradata/worktbs02.dbf‘
表空間已更改。
表空間權限:
SQL> alter tablespace tbs_work read only;
表空間已更改。(只讀)
SQL> alter tablespace tbs_work read write;
表空間已更改。(默認:讀寫)
刪除表空間:
SQL> drop tablespace tbs_work including contents;
表空間已刪除。(including contents 可選刪除有內容的表空間)
Oracle數據庫基本操作——表空間管理