檢查表空間、資料檔案、OS空間使用情況的指令碼
#!/bin/bash
source ~/.bash_profile
file=/tmp/daily_check.log
sqlplus -s ' / as sysdba' <<eof
set pages 999
set linesize 500
col FILE_ID format 999
col TABLESPACE_NAME format a20
col FILE_PATH format a40
col AUTOEXTENSIBLE format a5
col MAX_M format 999999
col TOTAL_SPACE format a20
col USED_SPACE format a20
col REMIND_SPACE format a20
col REMIND_RATE format a20
spool d_ck.log
--tablespace free
select b.tablespace_name,a.maxsize max_M,a.total total_M,b.free free_M,round((b.free/a.total)*100) "% Free" from
(select tablespace_name, sum(bytes/(1024*1024)) total ,sum(MAXBYTES/(1024*1024)) maxsize from dba_data_files group by tablespace_name) a,
(select tablespace_name, round(sum(bytes/(1024*1024))) free from dba_free_space group by tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name and round((b.free/a.total)*100)<6
order by "% Free";
--datafile free
select b.file_id FILE_ID,
b.tablespace_name TABLESPACE_NAME ,
b.AUTOEXTENSIBLE,b.MAXBYTES/1024/1024 MAX_M,b.file_name FILE_PATH,
ROUND(b.bytes/1024/1024,2) ||'M' TOTAL_SPACE,
ROUND((b.bytes-sum(nvl(a.bytes,0)))/1024/1024,2)||'M' USED_SPACE,
ROUND(sum(nvl(a.bytes,0))/1024/1024,2)||'M' REMIND_SPACE,
ROUND(sum(nvl(a.bytes,0))/(b.bytes),2)*100||'%' REMIND_RATE
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.file_id,b.bytes,b.AUTOEXTENSIBLE,b.MAXBYTES/1024/1024
having ROUND(sum(nvl(a.bytes,0))/(b.bytes),2)<0.06
order by 7;
spool off
exit
EOF
date >$file
echo "###########################" >>$file
echo "." >>$file
echo "." >>$file
echo "Tablespace and Tatafile Space Information" >>$file
echo "###########################" >>$file
cat d_ck.log >> $file
echo "." >>$file
echo "." >>$file
echo "OS Disk Space Information" >>$file
echo "###########################">>$file
df -hP|column -t >>$file
cat $file|mailx -s "MESDB 192.168.130.23 SPACE CHECK" XX@YY.com
</eof
source ~/.bash_profile
file=/tmp/daily_check.log
sqlplus -s ' / as sysdba' <<eof
set pages 999
set linesize 500
col FILE_ID format 999
col TABLESPACE_NAME format a20
col FILE_PATH format a40
col AUTOEXTENSIBLE format a5
col MAX_M format 999999
col TOTAL_SPACE format a20
col USED_SPACE format a20
col REMIND_SPACE format a20
col REMIND_RATE format a20
spool d_ck.log
--tablespace free
select b.tablespace_name,a.maxsize max_M,a.total total_M,b.free free_M,round((b.free/a.total)*100) "% Free" from
(select tablespace_name, sum(bytes/(1024*1024)) total ,sum(MAXBYTES/(1024*1024)) maxsize from dba_data_files group by tablespace_name) a,
(select tablespace_name, round(sum(bytes/(1024*1024))) free from dba_free_space group by tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name and round((b.free/a.total)*100)<6
order by "% Free";
--datafile free
select b.file_id FILE_ID,
b.tablespace_name TABLESPACE_NAME ,
b.AUTOEXTENSIBLE,b.MAXBYTES/1024/1024 MAX_M,b.file_name FILE_PATH,
ROUND(b.bytes/1024/1024,2) ||'M' TOTAL_SPACE,
ROUND((b.bytes-sum(nvl(a.bytes,0)))/1024/1024,2)||'M' USED_SPACE,
ROUND(sum(nvl(a.bytes,0))/1024/1024,2)||'M' REMIND_SPACE,
ROUND(sum(nvl(a.bytes,0))/(b.bytes),2)*100||'%' REMIND_RATE
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.file_id,b.bytes,b.AUTOEXTENSIBLE,b.MAXBYTES/1024/1024
having ROUND(sum(nvl(a.bytes,0))/(b.bytes),2)<0.06
order by 7;
spool off
exit
EOF
date >$file
echo "###########################" >>$file
echo "." >>$file
echo "." >>$file
echo "Tablespace and Tatafile Space Information" >>$file
echo "###########################" >>$file
cat d_ck.log >> $file
echo "." >>$file
echo "." >>$file
echo "OS Disk Space Information" >>$file
echo "###########################">>$file
df -hP|column -t >>$file
cat $file|mailx -s "MESDB 192.168.130.23 SPACE CHECK" XX@YY.com
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2131725/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 查詢表空間使用情況的指令碼指令碼
- 兩種檢視錶空間使用情況的方法
- 查詢表空間使用情況
- 華納雲:如何檢視Linux硬碟空間使用情況Linux硬碟
- 3576.02空間指令碼brain.script,02檔案, 02“XX_brain”資料夾, 01空間資料夾, 04TB檔案指令碼AI
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- 表空間和資料檔案的管理
- CentOS 系統的磁碟空間佔用情況查詢CentOS
- 每天自動統計表空間的使用情況
- oracle dg庫資料檔案空間不足Oracle
- 檢視磁碟使用空間和檔案大小
- Linux技巧--檢視檔案及資料夾佔用空間大小Linux
- 新建的表空間(或資料檔案)丟失以及控制檔案丟失,有新建表空間(或資料檔案)前的控制文
- oracle 普通表空間資料檔案壞塊Oracle
- 表空間(資料檔案shrink)收縮示例
- 2.5.9 在資料庫建立期間支援大檔案表空間資料庫
- PostgreSQL在不同的表空間移動資料檔案SQL
- 表空間與資料檔案的offline和online操作
- Hbase刪除名稱空間指令碼指令碼
- MySQL InnoDB系統表空間資料檔案配置MySql
- Oracle 表空間增加檔案Oracle
- win10怎麼看資料夾所佔空間的大小 windows10如何檢視檔案所佔空間大小Win10Windows
- MySQL 磁碟空間滿導致表空間相關資料檔案損壞故障處理MySql
- Linux伺服器磁碟空間佔用情況分析與清理指南Linux伺服器
- 依靠dba_hist_tbspc_space_usage檢視獲得表空間的歷史使用情況
- SciPy 空間資料
- 檢視temp表空間的消耗明細情況
- 2.5.4 為 SYSAUX 表空間指定資料檔案屬性UX
- ubunt下boot檔案空間滿boot
- 如何使Xcode佔用更少的空間 Xcode佔用空間太大解決方法XCode
- 檢視資料庫佔用磁碟空間的方法資料庫
- 關於丟失表空間資料檔案的處理方式
- Oracle案例11——Oracle表空間資料庫檔案收縮Oracle資料庫
- oracle 檢視錶空間Oracle
- MySQL 系統表空間檔案解析MySql
- 清理oracle資料庫空間Oracle資料庫
- 如何檢查Mac磁碟空間,mac磁碟空間其他怎麼清理Mac
- linux系列之: 你知道檢視檔案空間的兩種方法嗎?Linux
- 檢查交換空間: 可用的交換空間為 0 MB, 所需的交換空間為 150 MB。 未通過