oracle 表空間自動擴展


1.Oracle表空間數據文件大小的限制

由於Oracle的Rowid使用22位來代表數據塊號,因此Oracle表空間數據文件每個數據文件最多只能包含2^22個數據塊。

也因此數據庫表空間的數據文件不是無限增長的,例如:

在數據塊為8k的情況下,單個數據文件的最大容量為8K*2^22 = 32G

同理,

數據塊為2K,數據文件最大約8G

數據塊為32,數據文件最大約16*8G

故若達到這個最大容量之后,則即便是設置了自增長,也不是無限自增長,此時則需要為這個表空間添加數據文件

2.當表空間不足時


(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

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

 

修改某數據文件為不限制大小
ALTER DATABASE DATAFILE 'D:\oracle_data\xxx.DBF' AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;

增加新的數據文件
alter tablespace 表空間名 add datafile 'E:/oracle_data/data/xxx.dbf' size 1000M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;

刪除指定的表空間文件

ALTER TABLESPACE 表空間名  DROP DATAFILE  'D:\oracle_data\xxx.DBF';

 

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

 

如何查詢oracle用戶對應 表空間及對應的DBF文件

 

1.oracle查詢用戶以及用戶對應的表空間

select username,default_tablespace from dba_users;

2.Oracle,查詢 表空間對應的數據文件,用戶和表空間對應關系

select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;

 


免責聲明!

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



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