oracle 創建表空間及oracle 11g表空間之最大最小


/*分為四步 */
/*第1步:創建臨時表空間 */
create temporary tablespace emaoyi_temp 
tempfile 'D:\app\Administrator\product\11.2.0\dbhome_1\database\emaoyi_temp.dbf' 
size 10m 
autoextend on 
next 10m maxsize 20480m 
extent management local; 

/*第2步:創建數據表空間 */
create tablespace emaoyi 
logging 
datafile 'D:\app\Administrator\product\11.2.0\dbhome_1\database\emaoyi.dbf' 
size 10m 
autoextend on 
next 10m maxsize 20480m 
extent management local; 

/*第3步:創建用戶並指定表空間 */
create user emaoyi identified by emaoyi 
default tablespace emaoyi
temporary tablespace emaoyi_temp; 

/*第4步:給用戶授予權限 */
grant connect,resource,dba to emaoyi;


--查詢當前表空間
select tablespace_name,file_id,file_name,bytes
from dba_data_files
order by file_id

where tablespace_name='emaoyi'

--刪除表空間
drop tablespace em;
--刪除用戶
drop user e [CASCADE];

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

oracle支持的文件大小和他的db_block_size和db_block的數量決定的。在oracle 9i以前,oracle 的db_block的數量最大只能為2的22次方個,而我們通過oracle默認的模板建的數據庫實例的db_block_size是8K。所以oracle 9i以前支持的單個文件的默認大小是32GB。雖然在oracle 11g沒有這個限制,但是它默認的能力也是這么多。所以我在前面講如果你遇到這個問題,說明你不是一般人,你在創建一個單個文件超過32GB的表空間。


那么怎么解決這個問題呢,我這里提供三個參考方案,你使用選擇其中對你合適的,呵呵:


一)不要創建單個文件超過32GB的表空間


如果你創建的表空間超過32GB,請把這個表空間存儲為多個數據文件,每個文件不大於32GB。這樣,就可以成功的創建表空間。

二)擴大db_block_size


根據oracle的算法,我們很容易想到這個解決方法。數目衡定,但是db_block_size可以更改(db_block_size的最大大小為32KB)。如果把db_block_size擴大到32KB(32位系統好像是16KB,我在Red Hat 企業版的操作系統創建32KB的block_size失敗。),那么我們的系統就可以支持單個數據文件最大128GB。


這個方案聽起來好像很迷人,但是實際上並不是那么回事。因為要修改db_block_size並不是很容易的事。因為這個db_block_size在創建實例的時候就要指定。而且不能通過簡單修改參數來指定db_block_size。創建更大的db_block_size的數據庫實例我會在以后講。


三)創建bigfile表空間


在oracle11g中引進了bigfile表空間,他充分利用了64位CPU的尋址能力,使oracle可以管理的數據文件總量達到8EB。單個數據文件的大小達到128TB,即使默認8K的db_block_size也達到了32TB。

 

創建bigfile的表空間使用的sql語句也很簡單。


create bigfile tablespace...


后面的語句和普通的語句完全一樣。


需要注意的是使用bigfile表空間,他只能支持一個數據文件。也就是說這個文件的最大大小就是表空間最大大小,你不可能通過增加數據文件來擴大該表空間的大小。所以oracle說,如果你的這個文件沒有剩余空間的話,你還是不要使用bigfile表空間了,這個表空間你沒有擴展的余地了,呵呵。


oracle也同樣告訴你了,建議你使用lvm或者別的軟件管理磁盤,以使你的空間可以動態擴大。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM