生產環境Oracle RAC擴表空間全記錄

生產環境Oracle RAC擴表空間全記錄

最近zabbix告警rac庫表空間使用率超過75%須要擴容,本文記錄了變動操做。bash

 

1.表空間查看spa

set pages 999 set linesize 999 SELECT 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) b WHERE a.tablespace_name = b.tablespace_name;
 

圖片.png圖片.png

發現表空間BMSBAK使用率爲75.67%,超閥值3d

 

2.asm查看code

SQL> select name,total_mb, free_mb from v$asm_diskgroup; NAME TOTAL_MB FREE_MB ------------------------------ ---------- ---------- ORADATA 1988096 1154582
 

圖片.png

rac的庫在asm上。blog

查看剩餘可擴空間,發現剩餘空間有1T多。圖片

 

3.查看數據文件get

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;
 

圖片.png

發現BMSBAK表空間數據文件有8個,所有爲自動擴展,大小由5120M——16384M不等,自動擴展的值由1——16384不等(這兩處顯得很不專業,數據文件大小和擴展值最好保持一致,不要太隨意)。string

加一個數據文件(16384M)後使用率預期爲64%,符合要求。asm

 

4.肯定擴展大小table

SQL> show parameter db_block; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_block_buffers integer 0 db_block_checking string FALSE db_block_checksum string TRUE db_block_size integer 8192
 

圖片.png

擴展大小: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;
 

圖片.png

 

6.確認擴展後表空間使用率

圖片.png

發現使用率降低至64.62%。

 

至此擴表空間變動完成。

相關文章
相關標籤/搜索