oracle空間查詢

2021-09-01 19:52:27 字數 3687 閱讀 9365

表空間使用情況:

select upper(f.tablespace_name) "表空間名",

d.tot_grootte_mb "表空間大小(m)",

d.tot_grootte_mb - f.total_bytes "已使用空間(m)",

to_char(round((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100,2),'990.99') || '%' "使用比",

f.total_bytes "空閒空間(m)",

f.max_bytes "最大塊(m)"

from (select tablespace_name,

round(sum(bytes) / (1024 * 1024), 2) total_bytes,

round(max(bytes) / (1024 * 1024), 2) max_bytes

from sys.dba_free_space

group by tablespace_name) f,

(select dd.tablespace_name,

round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb

from sys.dba_data_files dd

group by dd.tablespace_name) d

where d.tablespace_name = f.tablespace_name

order by 1;

查詢表空間的free space:

select tablespace_name,

count(*) as extends,

round(sum(bytes) / 1024 / 1024, 2) as mb,

sum(blocks) as blocks

from dba_free_space

group by tablespace_name;

查詢表空間的總容量:

select tablespace_name, sum(bytes) / 1024 / 1024 as mb

from dba_data_files

group by tablespace_name;

查詢表空間的使用率:

select total.tablespace_name,

round(total.mb, 2) as total_mb,

round(total.mb - free.mb, 2) as used_mb,

round((1 - free.mb / total.mb) * 100, 2) || '%' as used_pct

from (select tablespace_name, sum(bytes) / 1024 / 1024 as mb

from dba_free_space

group by tablespace_name) free,

(select tablespace_name, sum(bytes) / 1024 / 1024 as mb

from dba_data_files

group by tablespace_name) total

where free.tablespace_name = total.tablespace_name;

監控oracle使用者sql運**況:

select osuser, username, sql_text  

from v$session a, v$sqltext b

where a.sql_address =b.address order by address, piece;

找使用cpu多的使用者session:

select a.sid,spid,status,substr(a.program,1,40) prog, a.terminal,osuser,value/60/100 value 

from v$session a,v$process b,v$sesstat c

where c.statistic#=12 and

c.sid=a.sid and

a.paddr=b.addr

order by value desc;

檢視死鎖資訊:

select (select username

from v$session

where sid = a.sid) blocker, a.sid, 'is blocking',

(select username

from v$session

where sid = b.sid) blockee, b.sid

from v$lock a, v$lock b

where a.block = 1 and b.request > 0 and a.id1 = b.id1 and a.id2 = b.id2;

查詢當前連線會話數:

select s.value,s.sid,a.username

from

v$sesstat s,v$statname n,v$session a

where

n.statistic#=s.statistic# and

name='session pga memory'

and s.sid=a.sid

order by s.value;

檢視消耗資源最多的sql:

select hash_value, executions, buffer_gets, disk_reads, parse_calls

from v$sqlarea

where buffer_gets > 10000000 or disk_reads > 1000000

order by buffer_gets + 100 * disk_reads desc;

檢視某條sql語句的資源消耗:

select hash_value, buffer_gets, disk_reads, executions, parse_calls

from v$sqlarea

where hash_value = 228801498 and address = hextoraw('cbd8e4b0');

查詢會話執行的實際sql:

select   a.sid, a.username, s.sql_text

from v$session a, v$sqltext s

where a.sql_address = s.address

and a.sql_hash_value = s.hash_value

and a.status = 'active'

order by a.username, a.sid, s.piece;

顯示正在等待鎖的所有會話:

select * from dba_waiters;

oracle 表空間 查詢

知道表空間名,顯示該錶空間包括的所有表。select from all tables where tablespace name 表空間名 知道表名,檢視該錶屬於那個表空間 select tablespace name,table name from user tables where table ...

Oracle表空間查詢

查詢表空間使用情況 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes 已使用空間 m to char round d.tot grootte mb f.total b...

oracle表空間查詢

1.查詢使用者 資料 表空間 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes 已使用空間 m to char round d.tot grootte mb f.to...