標籤:oracle rac 資料表空間擴充 asm dba_data_files
最近zabbix警示rac庫資料表空間使用率超過75%需要擴容,本文記錄了變更操作。
1.資料表空間查看
set pages 999set linesize 999SELECT a.tablespace_name "資料表空間名稱", 100-ROUND((NVL(b.bytes_free,0)/a.bytes_alloc)*100,2) "佔用率(%)",ROUND(a.bytes_alloc/1024/1024,2) "容量(M)",ROUND(NVL(b.bytes_free,0)/1024/1024,2) "空閑(M)",ROUND((a.bytes_alloc-NVL(b.bytes_free,0))/1024/1024,2) "使用(M)", TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') "採樣時間" FROM (SELECT f.tablespace_name,SUM(f.bytes) bytes_alloc,SUM(DECODE(f.autoextensible,'YES',f.maxbytes,'NO',f.bytes)) maxbytes FROM dba_data_files f GROUP BY tablespace_name) a, (SELECT f.tablespace_name, SUM(f.bytes) bytes_free FROM dba_free_space f GROUP BY tablespace_name) bWHERE a.tablespace_name = b.tablespace_name;
發現資料表空間BMSBAK使用率為75.67%,超閥值
2.asm查看
SQL> select name,total_mb, free_mb from v$asm_diskgroup;NAME TOTAL_MB FREE_MB------------------------------ ---------- ----------ORADATA 1988096 1154582
rac的庫在asm上。
查看剩餘可擴空間,發現剩餘空間有1T多。
3.查看資料檔案
SQL> select a.tablespace_name,a.FILE_NAME,bytes/1024/1024||'M' "size",a.AUTOEXTENSIBLE,a.MAXBYTES,a.INCREMENT_BY from dba_data_files a order by a.FILE_NAME;
發現BMSBAK資料表空間資料檔案有8個,全部為自動擴充,大小由5120M——16384M不等,自動擴充的值由1——16384不等(這兩處顯得很不專業,資料檔案大小和擴充值最好保持一致,不要太隨意)。
加一個資料檔案(16384M)後使用率預期為64%,符合要求。
4.確定擴充大小
SQL> show parameter db_block;NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_block_buffers integer 0db_block_checking string FALSEdb_block_checksum string TRUEdb_block_size integer 8192
擴充大小:8192*16384/1024/1024M=128M(db_block_size*INCREMENT_BY,塊大小*塊數=自動擴充的大小)
5.擴充資料表空間
SQL> alter tablespace BMSBAK add datafile '+ORADATA/callcent/datafile/bmsbak09.dbf' SIZE 16384M AUTOEXTEND ON NEXT 128M;
6.確認擴充後資料表空間使用率
發現使用率下降至64.62%。
至此擴資料表空間變更完成。
oracle rac擴資料表空間