『壹』 oracle表空間extens是什麼意思
在 Oracle 資料庫中,一個表空間(tablespace)是由一個或多個數據文件(datafile)組成的邏輯存儲單元,用於存儲資料庫對象,如表、索引、存儲過程等。
當一個表空間中的數據文件沒有足夠的空間來存儲新的數據時,Oracle 會自動擴展這個表空間,以便繼續存儲數據。這個擴展過程稱為「表空間的自動擴展」。
在 Oracle 中,表空間的自動擴展有兩種方式:一種是增加數據文件,另一種是使用 EXTENTS。EXTENTS 是一種邏輯數據結構,是用來描述表空間中的空閑空間的。當表空間需要擴展時,Oracle 會從 EXTENTS 中獲取空閑空間,用來存儲新的數據。
一個 EXTENT 是由若干個連續的數據塊組成,可以存儲一個或多個資料庫對象。EXTENTS 在表空間中形成一個鏈,每個 EXTENT 都指向下一個 EXTENT,形成一個鏈式結構,用於存儲數據。當一個資料庫對象需要擴展時,Oracle 會根據這個對象的大小,分配一個或多個新的 EXTENT,並將這些 EXTENT 插入到表空間的鏈中,用於存儲新的數據。
因此,EXTENTS 是 Oracle 中表空間自動擴展的一種方式,用於描述表空間中的空閑空間,以便存儲新的數據。
『貳』 oracle很多表且數據量很大,放在一個表空間好還是多個好
一般來說是多個
我們做個假設,如果放在一個表空間,那麼如果同時有多個請求進入,要求訪問不同的表,而恰好這些要訪問的部分恰好在一個數據文件上(如果都放在一個表空間上,那麼不是不可能),那麼這一個文件的io和讀取量會非常大,而且很慢。如果在不同的表空間上那麼就不會有讀同一個文件的問題。
但是,怎麼劃分表空間,也是一個問題,並不是簡單的將表分開就可以。如果是數據倉庫或者所謂的大數據分析,自然要考慮分層的因素,不過也要考慮訪問因素和數據量因素。
比如,你把兩個進入數據量很大的表放在一起了,看起來分了表空間,但是因為這個表空間的io很大,那麼自然會導致入庫緩慢。至於訪問的例子,你用最開始的假設就可以。所以一般來說分開是一定的,但是怎麼分,就要好好琢磨琢磨了,要考慮的因素太多。
比如:用戶因素,存儲(量/次)因素,訪問(量/次)因素,計算量因素,層級因素,管理因素等等。
『叄』 oracle11g表空間和數據文件不能大於32g是指單個表空間還是單個數據文件不能大於32g
表空間 有最大值 是在創建的時候 設定好的,你可以試著改變表空間的最大值。刪除用戶只會改變表空間的實際大小,佔用率;
查看錶空間使用情況
SELECT tbs 表空間名,
sum(totalM) 總共大小M,
sum(usedM) 已使用空間M,
sum(remainedM) 剩餘空間M,
sum(usedM)/sum(totalM)*100 已使用百分比,
sum(remainedM)/sum(totalM)*100 剩餘百分比
FROM(
SELECT b.file_id ID,
b.tablespace_name tbs,
b.file_name name,
b.bytes/1024/1024 totalM,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM,
sum(nvl(a.bytes,0)/1024/1024) remainedM,
sum(nvl(a.bytes,0)/(b.bytes)*100),
(100 - (sum(nvl(a.bytes,0))/(b.bytes)*100))
FROM dba_free_space a,dba_data_files b
WHERE a.file_id = b.file_id
GROUP BY b.tablespace_name,b.file_name,b.file_id,b.bytes
ORDER BY b.tablespace_name
)
GROUP BY tbs
查看錶空間 文件屬性
select file_name,autoextensible,increment_by from dba_data_files;
更改(主要是擴大)表空間 autoextend是自增長 但是有最大值
alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\QIHANG.DBF' autoextend on next 1M maxsize 5000M;
『肆』 Oracle的表空間過一段時間就100%了,老是增加數據文件的大小也不是個辦法,能有什麼解決方案嗎
具體情況具體分析。哪個表空間用的多。
如果確實數據量大,那必然要擴空間加數據文件。
如果資料庫高水位線過高,浪費空間,那就在線回縮高水位,然後清表。
如果不會的話,教你一招,把你當前用戶或者全庫exp導出dmp,資料庫清空,再imp導入dmp進庫,庫就會壓縮很多。