Oracle數據庫表空間數據文件最大容量以及存滿時處理方法


表空間數據文件最大容量

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)添加表空間創建表分區


免責聲明!

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



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