#!/bin/sh
1
source /home/oracle/.bash_profile
2
export con_user='sqlplus -s system/oracle'
3
f_check_tablespaces(){
4
A='TableSpace used value:'
5
TableSpace_UsedPrc=`$con_user << EOF
6
set colsep' ';
7
set feedback off;
8
set heading off;
9
set pagesize 0;
10
set termout off;
11
set trimout on;
12
set trimspool on;
13
select a.TABLESPACE_NAME||':'||
14
ROUND((1 - (a.Free_Mb + b.Free_Mb) / a.total_mb) * 100,
2)
15
from (select TABLESPACE_NAME,
16
ROUND(sum(case
17
when autoextensible = 'NO' then
18
BYTES
19
when autoextensible = 'YES' then
20
MAXBYTES
21
end) / 1024 / 1024,
22
2) TOTAL_MB,
23
ROUND(sum(case
24
when MAXBYTES - BYTES >= 0 then
25
MAXBYTES - BYTES
26
when MAXBYTES - BYTES < 0 then
27
0
28
end) / 1024 / 1024,
29
2) Free_MB
30
from dba_data_files
31
group by TABLESPACE_NAME) a
32
inner join (SELECT dfs.TABLESPACE_NAME,
33
SUM(dfs.bytes / 1024 / 1024) FREE_MB
34
FROM dba_free_space dfs
35
GROUP BY dfs.TABLESPACE_NAME) b
36
文档被以下合辑收录
评论