數據文件相關知識數據庫
想查看系統中有多少個數據文件咱們能夠經過動態數據字典或靜態數據字典來查看:經過靜態數據字典查看數據文件
經過動態數據字典來查看數據文件
直接查看數據文件的內容是看不到的,必須經過一個邏輯的結構即表空間來查看數據文件的內容。表空間是一個邏輯存儲結構,而數據文件是一個物理的結構。服務器
如何查看錶空間
也能夠經過dba_tablespaces查看錶空間
數據字典是一個邏輯的存儲結構,而數據文件是一個真實的存儲結構,若是有了表空間,而沒有數據文件是不能夠,表空間和數據文件是相對應的,若是沒有數據文件,表空間不可能獨立存在,若是隻有表空間沒有數據文件也是不行的,就比如若是電腦沒有硬盤,你不能再邏輯上看到C盤D盤,在這裏硬盤就至關因而數據文件,而C盤就至關因而表空間。咱們能夠把多個數據文件組成一個表空間,而後在表空間裏面存儲數據,表空間和數據文件是對應的,一個表空間能夠是由一個或多個數據文件組成的,可是一個數據文件只能在一個表空間當中,咱們如何查看錶空間和數據文件之間的對應關係呢?
也能夠查看錶空間的大小
也能夠在上述的表空間中建立新的數據文件。若是表空間不夠用了,只需建立相應的數據文件便可。表空間大小就是組成數據文件的大小的總和,最終數據文件存放在硬盤裏的,可是咱們能夠把數據文件存放在不一樣的硬盤裏面,只要在一個表空間便可,這樣就解決了硬盤大小對文件的限制,能夠將多個硬盤中的數據文件組成一個表空間。微信
因此在表空間中DBA會存放不少的表,視圖,索引,同義詞等對象。oracle
段:例如在xx表空間DBA建立了一個名爲test的表,這張表表空間所佔用的空間,咱們稱之爲段。根據段中存儲的對象的不一樣分爲了數據段,索引段,回退段,臨時段等ide
能夠查看段的信息
對於段又有個更小的單位,稱之爲「區」spa
區(extent):區是磁盤空間分配的最小單位,磁盤按區劃分,每次至少分配一個區,區由連續的數據塊組成,段主要由一個或多個區構成,當段建立時,它至少包含一個區,當段中全部空間已經使用完成時,系統自動爲該段分配一個新區,區不能跨數據文件存在,只能存在於一個數據文件中。操作系統
段是由區組成的,段必須是區的整數倍,假如一張表是25MB,一個區大小是4MB,那麼段的大小是28MB,若是在表裏添加了3MB的數據,此時段的空間還能容納表,如今表的大小是28MB,若是又添加了1MB,此時29MB,那麼段的空間是32MB.
查看EXAMPLE表空間的區和段的分佈狀況
在oracle數據庫中最小的存儲單位是塊(block)--8KB,oracle數據庫中的數據存儲於數據塊中。數據塊是oracle服務器所能讀取或寫入的最小存儲單元,oracle服務器以數據塊爲單位管理數據文件的存儲空間,數據塊的取值範圍爲2-64KB,其默認大小與oracle版本有關。
查看操做系統的最小存儲單元3d
[root@orclsrv ~]# tune2fs -l /dev/sda1對象
經過OEM也能夠查看這些信息
建立表空間和數據文件blog
SQL>create tablespace xx datafile '/u01/xx.dbf' size 100m autoextend on
2 next 5m maxsize 200m;
表空間已建立。
修改表空間的名字爲yy
爲了好管理,咱們但願表空間的名字和數據文件的名字一致。
解決辦法:
使用操做系統命令將數據文件拷貝一份
把表空間offline
而後對數據文件重命名
將表空間offline
對數據文件重命名
查看修改狀況
將表空間online
提示須要恢復/u01/yy.dbf
將表空間online
如何擴展表空間大小
若是表空間所在的分區的空間不夠用了
刪除表空間
建立臨時表空間
刪除臨時表空間與刪除表空間的命令是同樣的。
若是對此文有什麼問題的話,請加下面微信一塊兒探討