========================================================================
--查看表锁
select * from sys.v_$sqlarea where disk_reads>100
--监控事例的等待
select event,sum(decode(wait_Time,0,0,1)) "Prev",
sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"
from v$session_Wait
group by event order by 4
--回滚段的争用情况
select name, waits, gets, waits/gets "Ratio"
from v$rollstat a, v$rollname b
where a.usn = b.usn
--查看前台正在发出的SQL语句
select user_name,sql_text
from v$open_cursor
where sid in (select sid from (select sid,serial#,username,program
from v$session
where status='ACTIVE'))
--数据表占用空间大小情况
select segment_name,tablespace_name,bytes,blocks
from user_segments
where segment_type='TABLE'
ORDER BY bytes DESC ,blocks DESC
--查看表空间碎片大小
select tablespace_name,round(sqrt(max(blocks)/sum(blocks))*
(100/sqrt(sqrt(count(blocks)))),2) FSFI
from dba_free_space
group by tablespace_name order by 1
--查看表空间占用磁盘情况
select
b.file_id 文件ID号,
b.tablespace_name 表空间名,
b.bytes 字节数,
(b.bytes-sum(nvl(a.bytes,0))) 已使用,
sum(nvl(a.bytes,0)) 剩余空间,
sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id
--查看session使用回滚段
SELECT r.name 回滚段名,
s.sid,
s.serial#,
s.username 用户名,
t.status,
t.cr_get,
t.phy_io,
t.used_ublk,
t.noundo,
substr(s.program, 1, 78) 操作程序
FROM sys.v_$session s,sys.v_$transaction t,sys.v_$rollname r
WHERE t.addr = s.taddr and t.xidusn = r.usn
ORDER BY t.cr_get,t.phy_io
--查看SGA区剩余可用内存
select name,
sgasize/1024/1024 "Allocated(M)",
bytes/1024 "自由空间(K)",
round(bytes/sgasize*100, 2) "自由空间百分比(%)"
from (select sum(bytes) sgasize from sys.v_$sgastat) s, sys.v_$sgastat f
where f.name = 'free memory'
--监控表空间I/O比例
select df.tablespace_name name,df.file_name "file",f.phyrds pyr,
f.phyblkrd pbr,f.phywrts pyw, f.phyblkwrt pbw
from v$filestat f, dba_data_files df
where f.file# = df.file_id
order by df.tablespace_name
--监控SGA命中率
select a.value + b.value "logical_reads",
c.value "phys_reads",
round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) "BUFFER HIT RATIO"
from v$sysstat a, v$sysstat b, v$sysstat c
where a.statistic# = 38 and
b.statistic# = 39 and
c.statistic# = 40
--监控 SGA 中字典缓冲区的命中率
select parameter, gets,Getmisses , getmisses/(gets+getmisses)*100 "miss ratio",
(1-(sum(getmisses)/ (sum(gets)+sum(getmisses))))*100 "Hit ratio"
from v$rowcache
where gets+getmisses <>0
group by parameter, gets, getmisses
--监控 SGA 中共享缓存区的命中率,应该小于1%
select sum(pins) "Total Pins", sum(reloads) "Total Reloads",
sum(reloads)/sum(pins) *100 libcache
from v$librarycache
--监控 SGA 中重做日志缓存区的命中率,应该小于1%
SELECT name, gets, misses, immediate_gets, immediate_misses,
Decode(gets,0,0,misses/gets*100) ratio1,
Decode(immediate_gets+immediate_misses,0,0,
immediate_misses/(immediate_gets+immediate_misses)*100) ratio2
FROM v$latch WHERE name IN ('redo allocation', 'redo copy')
--监控内存和硬盘的排序比率,最好使它小于 .10
SELECT name, value
FROM v$sysstat
WHERE name IN ('sorts (memory)', 'sorts (disk)')
--监控字典缓冲区
SELECT SUM(GETS) "DICTIONARY GETS",SUM(GETMISSES) "DICTIONARY CACHE GET MISSES"
FROM V$ROWCACHE
--非系统用户建在SYSTEM表空间中的表
SELECT owner,table_name
FROM DBA_TABLES
WHERE tablespace_name in('SYSTEM','USER_DATA') AND
owner NOT IN('SYSTEM','SYS','OUTLN', 'ORDSYS','MDSYS','SCOTT', 'HOSTEAC')
--性能最差的SQL
SELECT * FROM ( SELECT PARSING_USER_ID EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,sql_text
FROM v$sqlarea
ORDER BY disk_reads DESC)
WHERE ROWNUM<100
--读磁盘数超100次的sql
select * from sys.v_$sqlarea where disk_reads>100
--最频繁执行的sql
select * from sys.v_$sqlarea where executions>100
--查询使用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 a.sid,s.terminal,s.program,count(a.sid)
FROM V$ACCESS a,V$SESSION s
WHERE a.owner <> 'SYS'AND s.sid = a.sid
GROUP BY a.sid,s.terminal,s.program
ORDER BY count(a.sid)
--表占用的空间
select a.segment_name,sum(bytes)/1024/1024 from user_segments a
where segment_type= 'TABLE'
group by a.segment_name
========================================================================
分享到:
相关推荐
OracleDBA常用语句集粹
以下是一些Oracle DBA常用的SQL语句和相关知识点: 1. **监控数据库性能** - `监控数据库性能的SQL.sql`: 这可能包含`V$SESSION`, `V$INSTANCE`, `V$SESSION_WAIT`等视图的查询,用于检查当前会话的状态,等待事件...
以下是一些ORACLE DBA常用的SQL语句,这些语句涵盖了数据库管理和优化的核心方面: 1. **数据查询**: - `SELECT`:用于从表中检索数据,可以结合`WHERE`子句过滤结果,`GROUP BY`进行分组,`ORDER BY`进行排序,`...
Oracle DBA 学习笔记 标题:Oracle DBA 学习笔记 描述:学习使用维护 Oracle 数据库数年,对认为值得记录的 Oracle 维护脚本进行记录总结,存起来,虽然今后开源是方向,但不可否认 Oracle 仍然非常有水平的,在...
DBA面试题 Oracle 本文总结了 Oracle 数据库管理员(DBA)面试中的一些重要知识点,从表连接方式、执行计划、CBO 和 RBO、SQL 调整、索引、绑定变量、执行计划、排序等方面进行了详细的解释。 一、表连接方式 在 ...
Oracle DBA在日常工作中会频繁使用SQL语句来管理和监控数据库。以下是一些常见的Oracle DBA SQL命令,它们涵盖了表空间、数据文件、回滚段、控制文件、日志文件、会话信息、字符集、SQL优化方式以及系统状态等多个...
接下来将详细介绍一些常用的Oracle系统表语句及其应用场景。 首先,对于统计分析,`ANALYZE TABLE`语句用于收集表或索引的统计信息,这有助于优化器更好地制定执行计划,从而提升查询效率。例如: ```sql ANALYZE ...
### DBA常用SQL总结 #### 一、DBA的基本职责与技能要求 作为一个数据库管理员(DBA),除了具备一定的技术背景之外,还需要深入了解业务流程以及业务对于数据库的具体操作需求。这意味着DBA不仅要能够确保数据库...
DBA角色是最具权限的角色之一,通常赋予那些负责数据库全面管理的用户。当误删除了这个关键角色时,确实不必重新安装整个Oracle数据库,而是可以通过特定步骤来恢复或创建它。以下将详细介绍如何在Oracle中创建系统...
DBA成长之路(ORACLE).pdf可能详细介绍了DBA从入门到精通的过程。DBA的主要职责包括:安装配置Oracle数据库、性能监控与优化、数据安全与备份、故障排查与恢复。理解Oracle体系结构,如内存结构(SGA和PGA)、进程...
它是Oracle DBA最常用的工具之一。 - **启动SQL*Plus**: `sqlplus` - **以默认身份登录**: `/as sysdba` 或 `connect / as sysdba` - **查看当前用户名**: `show user` #### 三、数据库连接 - **不登录SQL*Plus直接...
Oracle 常用查询语句 本文总结了十个常用的 Oracle 查询语句,涵盖了查看表空间、回滚段、控制文件、日志文件、表空间使用情况、数据库对象、数据库版本、数据库创建日期、归档方式、长时间运行的 SQL 语句和数据表...
5. **SQL查询与DML操作**:学习SQL是每个DBA的基础,包括SELECT语句用于数据查询,INSERT、UPDATE和DELETE用于数据插入、修改和删除。了解索引、视图和存储过程也是必要的。 6. **备份与恢复**:数据库的备份和恢复...
### Oracle DBA 常用SQL语句解析与应用 #### 一、管理表空间 在Oracle数据库管理中,了解并掌握如何查看表空间的信息至关重要。以下为两种常见查询: **1.1 查看表空间的名称及大小** ```sql SQL>select t....
通过深入学习Oracle 11g 2天DBA文档,您可以迅速掌握Oracle数据库的基本操作,包括安装、配置和日常管理任务。这对于希望快速入门Oracle数据库管理的新手来说是一份非常宝贵的资源。此外,熟练使用DBCA这样的工具对于...
本压缩包“oracle DBA宝典和教程”显然是一份全面的学习资源,旨在帮助你深入理解和掌握Oracle DBA的相关技能。 在Oracle数据库管理中,你需要了解以下几个关键知识点: 1. **数据库安装与配置**:包括Oracle软件...
在IT领域,尤其是在数据库管理与开发中,Oracle作为一款广泛使用的数据库管理系统,其经典常用的SQL语句对于数据库管理员(DBA)以及开发人员而言至关重要。本文将深入解析Oracle中的关键SQL语句,涵盖表约束、索引...
理解SQL是Oracle DBA的基础技能,因为几乎所有的数据库操作都离不开SQL语句。 这些手册对于Oracle DBA来说,不仅提供了理论知识,还有实践经验的指导。通过学习和查阅这些资料,DBA可以提高其在故障诊断、性能优化...
以下是一些常用的Oracle SQL语句,涵盖了表空间、回滚段、控制文件、日志文件、会话信息、字符集、查询优化器模式以及跟踪文件的查询方法。 1. **查看表空间的名称及大小**: 使用以下SQL语句可以获取所有表空间...
Oracle DBA基础知识是数据库管理的重要领域,特别是在Oracle数据库系统中,DBA...随着Oracle数据库系统的不断升级和发展,DBA的角色也在不断演变,需要持续学习和适应新技术,以确保数据库系统的高效、稳定和安全。