现在的位置: 首页 > 综合 > 正文

常用 采集 sql 指标语句

2012年06月09日 ⁄ 综合 ⁄ 共 2387字 ⁄ 字号 评论关闭

获取数据库名称:

select NAME from v$database

 

获取数据库实例名:

select instance_name from v$instance

 

获取数据库版本:

select value from v$parameter where name='compatible'

 

获取安装选项:

select OPEN_MODE from v$database

 

获取归档方式:

select LOG_MODE from v$database

 

获取归档日志目录:

select name||' value '||value from v$parameter where name = 'log_archive_dest'

 

获取共享内存大小:

select VALUE  from v$parameter where NAME = 'shared_pool_size'

 

获取操作系统共享内存配置值:

select sum(value) from v$sga

 

获取回滚段名:

select value  from v$parameter where NAME = 'undo_tablespace'

 

获取回滚段大小:

SELECT sum(bytes/1024/1024) FROM dba_data_files where tablespace_name='UNDOTBS1'

 

获取session最大连接数:

select count(*) from v$session

 

获取sga的最大值:

select value from v$sga  where name='Variable Size'

 

获取sga自动管理最大值:

select value from v$parameter where NAME = 'sga_max_size'

 

获取数据库缓存大小:

select value from v$parameter where name = 'db_cache_size'

 

获取数据库日志缓存:

select value from v$parameter where name like 'log_buffer'

 

获取cpu个数:

select value from v$parameter where name = 'cpu_count'

 

获取数据库总容量:

select sum(a.bytes/1024/1024) from dba_data_files a

 

获取数据库空闲容量:

select sum(bytes/1024/1024) from dba_free_space

 

获取oracle位数:

select substr(BANNER,60) from v$version where BANNER like 'Oracle%'

 

获取数据库锁数量:

select count(*) from v$locked_object

 

获取数据库锁等待数量:

select count(*) from v$lock where request<>0

 

获取db buffer cache命中率

SELECT (1 - phy.value  / (cur.value + con.value))*100
 "CACHE HIT RATIO" FROM   v$sysstat cur, v$sysstat con, v$sysstat phy
 WHERE  cur.name = 'db block gets' AND    con.name = 'consistent gets' AND phy.name = 'physical reads'

 

获取Dictionary Cache 命中率

select (1-( sum(getmisses/1024/1024)/ sum(gets/1024/1024)))*100 from v$rowcache

 

获取Library Cache 命中率

select gethitratio*100 from v$librarycache where namespace in ('SQL AREA','TABL/PROCEDURE')

 

获取表空间信息(包括名称、总大小、已使用大小、空余大小):

SELECT upper(d.tablespace_name),
          round(d.total_bytes, 3),
          round(d.total_bytes - f.total_free_bytes, 3),
          round(f.total_free_bytes, 3),
          round((d.total_bytes - f.total_free_bytes) / d.total_bytes * 100, 2)
          FROM (SELECT tablespace_name, SUM(bytes) / (1024 * 1024) total_free_bytes
          FROM dba_free_space
          GROUP BY tablespace_name) f,
          (SELECT dd.tablespace_name, SUM(dd.bytes) / (1024 * 1024) total_bytes
           FROM dba_data_files dd
          GROUP BY dd.tablespace_name) d
          WHERE d.tablespace_name = f.tablespace_name
          ORDER BY upper(d.tablespace_name)

 

获取数据文件相关信息:

 SELECT df.file_name,df.status,round((df.bytes-sum(fs.bytes))/df.bytes*100,2) FROM dba_free_space fs,dba_data_files df WHERE fs.file_id=df.file_id GROUP BY df.file_name,df.bytes,df.status ORDER BY df.file_name"

 

 

抱歉!评论已关闭.