關於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。
推薦閱讀:
- Oracle查看表空間使用率以及爆滿解決方案詳解
- Oracle縮表空間的完整解決實例
- Oracle導出導入表結構操作實戰記錄
- Oracle 臨時表空間SQL語句的實現
- Oracle手動建庫安裝部署超詳細教程