- 爱易网页
 
                        - 
                            数据库教程
 
                        - DBA惯用SQL查询 
 
                         
                    
                    
                    日期:2014-05-16  浏览次数:20777 次 
                    
                        
                         DBA常用SQL查询
    (来源:http://www.blogjava.net/pure/archive/2010/08/16/328974.html)
1. 查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
 
2. 查看表空间物理文件的名称及大小
 
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
 
3. 查看回滚段名称及大小
 
select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
max_extents, v.curext CurExtent
From dba_rollback_segs r, v$rollstat v
Where r.segment_id = v.usn(+)
order by segment_name;
 
4. 查看控制文件
 
select name from v$controlfile;
 
5. 查看日志文件
 
select member from v$logfile;
 
6. 查看表空间的使用情况
 
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
 
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
 
7. 查看数据库对象
 
select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;
 
8. 查看数据库的版本 
 
Select version FROM Product_component_version
Where SUBSTR(PRODUCT,1,6)='Oracle';
 
9. 查看数据库的创建日期和归档方式
 
Select Created, Log_Mode, Log_Mode From V$Database;
 
10. 捕捉运行很久的SQL
 
column username format a12
column opname format a16
column progress format a8
 
select username,sid,opname,
     round(sofar*100 / totalwork,0) || '%' as progress,
     time_remaining,sql_text
from v$session_longops , v$sql
where time_remaining <> 0
and sql_address = address
and sql_hash_value = hash_value
/
11. 查看数据表的参数信息
SELECT  partition_name, high_value, high_value_length, tablespace_name,
       pct_free, pct_used, ini_trans, max_trans, initial_extent,
       next_extent, min_extent, max_extent, pct_increase, FREELISTS,
       freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks,
       empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size,
       last_analyzed
  FROM dba_tab_partitions
 --WHERE table_name = :tname AND table_owner = :towner
ORDER BY partition_position
 
12. 查看还没提交的事务
select * from v$locked_object;
select * from v$transaction;
 
13. 查看object为哪些进程所用
select
p.spid,
s.sid,
s.serial# serial_num,
s.username user_name,
a.type object_type,
s.osuser os_user_name,
a.owner,
a.object object_name,
decode(sign(48 - command),
1,
to_char(command), 'Action Code #' || to_char(command) ) action,
p.program oracle_process,
s.terminal terminal,
s.program program,
s.status session_status  
from v$session s, v$access a, v$process p