關於oracle數據庫表空間擴容的問題

1.查看表空間使用率

SELECT
  B.FILE_NAME 物理文件名,
  B.TABLESPACE_NAME 表空間名稱,
  B.BYTES/1024/1024 大小M,
  (B.BYTES-SUM(NVL(A.BYTES,0)))/1024/1024 已使用M,
  SUBSTR((B.BYTES-SUM(NVL(A.BYTES,0)))/(B.BYTES)*100,1,5) 使用率
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.BYTES
ORDER BY B.TABLESPACE_NAME;

2.擴容

擴容有三種方式:

方法一:增大所需表空間大小

alter database datafile '表空間位置' resize 新的尺寸

例如:

alter database datafile 
'+GBPORCL/GBPORCL/DATAFILE/sysaux.262.1029000091' 
resize 5000M;

註意:單個表空間最大為32G;

對於oracle數據庫的表空間,除瞭用手動增加數據文件大小外,還可以增加數據文件數量等方式擴展表空間大小。

方法二:增加數據文件個數

alter tablespace 表空間名稱 add datafile '新的數據文件地址' size 數據文件大小

例如: 

ALTER TABLESPACE "SYSAUX" 
ADD DATAFILE '+GBPORCL/GBPORCL/DATAFILE/sysaux.272.dbf'  
SIZE 100M AUTOEXTEND ON  next 50M Maxsize UNLIMITED

含義:初始分配100M,自增50M;

方法三:設置表空間自動擴展

alter database datafile '數據文件位置' autoextend on next 自動擴展大小 maxsize 最大擴展大小

例如:

alter database datafile 
'+GBPORCL/GBPORCL/DATAFILE/sysaux.262.1029000091' 
autoextend on next 500m maxsize 10000m;

3.遇到的錯誤

SQL 錯誤 [1276] [99999]: ORA-01276: 無法添加文件 +GBPORCL/GBPORCL/DATAFILE/sysaux.264.1029000091。

相應文件具有一個 Oracle Managed Files 文件名。

以為直接改個名字就可以,但是不可行,

原因:這個表空間是通過OMF管理的,加數據文件的時候,不需要添加具體的路徑和文件名,直接添加並指定大小即可: alter tablespace SYSAUX add datafile size xxx;

或者使用方法二 

總結

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: