暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 监控 <3>

Oracle优化大师 2021-01-08
757




   常用字典:

v$开头

v$database数据库信息

v$datafile数据文件信息

v$controlfile控制文件信息

v$logfile重做日志信息

v$instance数据库实例信息

v$log日志组信息

v$loghist日志历史信息

v$sga数据库SGA信息

v$parameter初始化参数信息

v$process数据库服务器进程信息

v$bgprocess数据库后台进程信息

v$controlfile_record_section控制文件记载的各部分信息

v$thread线程信息

v$datafile_header数据文件头所记载的信息

v$archived_log归档日志信息

v$archive_dest归档日志的设置信息

v$logmnr_contents归档日志分析的DMLDDL结果信息

v$logmnr_dictionary日志分析的字典文件信息

v$logmnr_logs日志分析的日志列表信息

v$tablespace表空间信息

v$tempfile临时文件信息

v$filestat数据文件的I/O统计信息

v$undostatUndo数据信息

v$rollname在线回滚段信息

v$session会话信息

v$transaction事务信息

v$rollstat回滚段统计信息

v$pwfile_users特权用户信息

v$sqlarea当前查询过的sql语句访问过的资源及相关的信息

v$sql与v$sqlarea基本相同的相关信息

v$sysstat数据库系统状态信息

all_开头

all_users数据库所有用户的信息

all_objects数据库所有的对象的信息

all_def_audit_opts所有默认的审计设置信息

all_tables所有的表对象信息

all_indexes所有的数据库对象索引的信息

session_开头

session_roles会话的角色信息

session_privs会话的权限信息

index_开头

index_stats索引的设置和存储信息

伪表

dual系统伪列表信息


数据字典常用SQL查询

1)查看表空间的名称及大小

select t.tablespace_name,

round(sum(d.bytes/(1024*1024)),0) tbs_size

from dba_tablespaces t,

dba_data_files d

where t.tablespace_name = d.tablespace_name

group by t.tablespace_name;

若需要查看指定表空间的大小,则可以直接添加where条件指定,否则结果集是所有表空间。

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 tablespace_name,

round(sum(bytes) 1024 1024, 2) AS free_space,

count(*) AS extends,

sum(blocks) AS blocks

from dba_free_space

group by tablespace_name;

4)查看表空间使用率

SELECT total.tablespace_name,

Round(total.total, 2)             AS Total_MB,

Round(total.total - free.free, 2) AS Used_MB,

Round(( 1 - free.free / total.total ) * 100, 2)

|| '%'                            AS Used_PCT

FROM   (SELECT tablespace_name,

sum(bytes) / 1024 / 1024 AS free

FROM dba_free_space

GROUP BY tablespace_name) free,

(SELECT tablespace_name,

sum(bytes) / 1024 / 1024 AS total

FROM dba_data_files

GROUP BY tablespace_name) total

WHERE  free.tablespace_name = total.tablespace_name;

5)查看控制文件

select name from v$controlfile;

6)查看日志文件

select member from v$logfile;

7)查看消耗资源最多的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;

8)捕捉运行很久的SQL

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;

9)查看回滚段名称及大小

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;

10)查看还没提交的事务

select * from v$locked_object;

select * from v$transaction;



文章转载自Oracle优化大师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论