表空間數據文件最大容量
Oracle數據庫是由一個個表空間構成,表空間是由多個數據文件,數據文件又是區間構成,區由Oracle塊構成。
64位linux 和64位oracle,默認oracle表空間數據文件用的BLOCKSIZE是8k,表空間數據文件最大是32G。
由於Oracle的Rowid使用22位來代表數據塊號,因此Oracle表空間數據文件每個數據文件最多只能包含2^22個數據塊。
也因此數據庫表空間的數據文件不是無限增長的,例如:
登DBA用戶,查詢當前ORACEL數據庫數據庫的大小:
SQL> select name,value from v$parameter where name = 'db_block_size';
NAME VALUE
------------------------------ --------------------
db_block_size 8192
在數據塊為8k的情況下,單個數據文件的最大容量為8K*2^22 = 32G。
當表空間不足時
(1)設置文件的自動增長
首先選擇設置自增長,sql語句:Alter tablespace 表空間名 adddatafile ‘數據文件存放路徑‘ autoextend on next 每次增加的大小 maxsize 數據文件大小的最大值
(2)增加數據文件
在自增長失靈了之后,需要增加數據文件,sql語句:Alter tablespace 表空間名 adddatafile ‘數據文件存放的路徑’ size 數據文件大小M autoextend on next 每次自增長大小M Maxsize UNLIMITED;(后半部分為設置自增長)
這里放個例子:
alter tablespace SDE add datafile 'E:\app\EmmaXu\product\11.1.0\db_1\database\SDE_1.dbf' size 400Mautoextend off
(3)添加表空間創建表分區