- 浏览: 184064 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
Martin_Bonnie:
第三个怎么解决的啊?
Eclipse的SVN插件报错 -
tsimgsong:
不错,挺有用的
AWR报告日常分析 -
supercode:
哪几款建模工具有 描述用例规约的功能好像pd里没有找到
[转]用例编写说明 -
iamzealotwang:
我觉得lz说的这种团队太理想化了。
“4,5队去东南方向防守 ...
关于团队的一些思考,玩WOW时候的思考 -
hotjava:
我现在刚开始做PM。
感觉到异常的艰辛。有很多事情真的和想象中 ...
关于团队的一些思考,玩WOW时候的思考
1.1 查看session使用数?(或者称建立的连接数)
select count(*) from v$session;
1.2 查看oracle锁
SELECT substr(v$lock.sid,1,4) "SID",
substr(username,1,12) "UserName",osuser,machine,
substr(object_name,1,25) "ObjectName",
v$lock.type "LockType",
decode(rtrim(substr(lmode,1,4)),
'2','Row-S (SS)','3','Row-X (SX)',
'4','Share', '5','S/Row-X (SSX)',
'6','Exclusive', 'Other' ) "LockMode",
substr(v$session.program,1,25) "ProgramName"
FROM V$LOCK,SYS.DBA_OBJECTS,V$SESSION
WHERE (OBJECT_ID = v$lock.id1
AND v$lock.sid = v$session.sid
AND username IS NOT NULL
AND username NOT IN ('SYS','SYSTEM')
AND SERIAL# != 1);
1.3 数据库分析
语句 execute DBMS_UTILITY.ANALYZE_DATABASE('COMPUTE',10000,NULL,'');
1.4 查看表统计数据
select table_name,num_rows,blocks,empty_blocks,avg_space,chain_cnt,avg_row_len,last_analyzed from all_tables where owner='RMS'
分析单表 analyze table rms.user_port compute statistics
1.5 查看索引统计数据
select index_name,blevel,leaf_blocks,distinct_keys,avg_leaf_blocks_per_key,avg_data_blocks_per_key,clustering_factor,last_analyzed from all_indexes where owner='RMS';
1.6 生成单表分析语句
select 'analyze table rms.'||segment_name||' compute statistics ;'segment_name,sum(bytes)/1024/1024 MB from user_segments,all_tables
where all_tables.owner='RMS' and all_tables.table_name= segment_name GROUP BY segment_name
1.7 发现表链接行
语句 select table_name,chain_cnt from user_tables order by chain_cnt desc
select table_name,chain_cnt from all_tables where owner='RMS' order by chain_cnt desc
1.8 计算高速缓存命中率
语句 "select 1-(phy.value/(cur.value+con.value)) 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'"
db block gets 4709479237
consistent gets 22146942
physical reads 8931785
命中率 0.998112322 1-physical reads/(db block gets+consistent gets)
建议 达到0.90或以上认为是好的
1.9 找出大量消耗Buffer Cache的对象
" column c0 heading 'Owner' format a15
column c1 heading 'Object|Name' format a30
column c2 heading 'Number|of|Buffers' format 999,999
column c3 heading 'Percentage|ofData|Buffer' format 999,999,999
select
owner c0,
object_name c1,
count(1) c2,
(count(1)/(select count(*) from v$bh)) *100 c3
from
dba_objects o,
v$bh bh
where
o.object_id = bh.objd
and
o.owner not in ('SYS','SYSTEM')
group by
owner,
object_name
order by
count(1) desc
;"
1.10 计算库缓存命中率
语句 SELECT SUM(pins-reloads)/SUM(pins) from v$librarycache
建议 低于0.99需要试着改善它,可以增加共享池的规模来改善它,如果有很多可用空间那就得从改善我们的程序
查看当前未使用的共享池 "select to_number(v$parameter.value) value, v$sgastat.BYTES,
(v$sgastat.bytes/v$parameter.value)*100 ""percent free""
from v$sgastat, v$parameter
where v$sgastat.name= 'free memory'
and v$parameter.name = 'shared_pool_size'
and v$sgastat.pool='shared pool'"
1.11 手工方式清空共享池
ALTER SYSTEM FLUSH SHARED_POOL;
1.12 计算字典缓存命中率
语句 select sum(gets-getmisses-usage-fixed)/sum(gets) from v$rowcache
建议 达到0.85或以上认为是可以接受的
1.13 检查回滚段争用
语句 select sum(gets),sum(waits),sum(waits)/sum(gets) from v$rollstat
建议 大于1%需要处理,可以通过更多回滚段来降低争用
查看回滚段的使用情况,哪个用户正在使用回滚段的资源,如果有用户最好更换时间(特别是生产环境)。
"
select s.username, u.name from v$transaction t,v$rollstat r,
v$rollname u,v$session s where s.taddr=t.addr and
t.xidusn=r.usn and r.usn=u.usn order by s.username;
"
"SELECT a.name , b.xacts ""活动事务个数"", b.writes ""写入的字节数"", b.extents as ""区个数""
FROM v$rollname a, v$rollstat b
WHERE a.usn=b.usn;"
1.14 检查回滚段收缩
语句 select name,shrinks from v$rollstat,v$rollname where V$rollstat.usn=v$rollname.usn
1.15 redo日志缓存器
select name,value from v$sysstat where name ='redo buffer allocation retries'
1.16 生成删除约束脚本
select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||CONSTRAINT_NAME||';' from all_constraints where owner='RMS' AND CONSTRAINT_TYPE<>'P'
发现表链接行
select table_name,chain_cnt from user_tables order by chain_cnt desc;
1.17 查看表空间情况
"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 4 DESC"
1.18 合并表空间
alter tablespace trmsdata coalesce;
1.19 查看表占用空间数
"select segment_name,sum(bytes)/1024/1024 MB from user_segments,all_tables
where all_tables.owner='RMS' and all_tables.table_name= segment_name GROUP BY segment_name"
1.20 查看索引占用空间数
"select segment_name,sum(bytes)/1024/1024 MB from user_segments, all_indexes
where all_indexes.owner='RMS' and all_indexes.index_name= segment_name GROUP BY segment_name
"
1.21 查看系统内存使用
swapinfo -atm HP UNIX内核参数 bufpages 61992 缓冲页 dbc_max_pct 10 动态缓存占内存最大百分比 dbc_min_pct 10 动态缓存占内存最小百分比
1.22 查看session使用的内存
select c.sid,c.OSUSER,c.MACHINE,name,value from v$statname n,v$sesstat s,v$session c
1.23 找最耗资源的session
"SELECT ses.sid
, DECODE(ses.action,NULL,'online','batch') ""User""
, MAX(DECODE(sta.statistic#,9,sta.value,0))
/greatest(3600*24*(sysdate-ses.logon_time),1) ""Log IO/s""
, MAX(DECODE(sta.statistic#,40,sta.value,0))
/greatest(3600*24*(sysdate-ses.logon_time),1) ""Phy IO/s""
, 60*24*(sysdate-ses.logon_time) ""Minutes""
FROM V$SESSION ses
, V$SESSTAT sta
WHERE ses.status = 'ACTIVE'
AND sta.sid = ses.sid
AND sta.statistic# IN (9,40)
GROUP BY ses.sid, ses.action, ses.logon_time
ORDER BY
SUM( DECODE(sta.statistic#,40,100*sta.value,sta.value) )
/ greatest(3600*24*(sysdate-ses.logon_time),1) DESC;"
1.24 查找前十条性能差的sql
"SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS,
COMMAND_TYPE,DISK_READS,sql_text.address FROM v$sqlarea
order BY disk_reads DESC )where ROWNUM<10 ;"
1.25 查出SQL的查询计划
"select lpad(' ', 2*(level-1))||operation ""Operation"",
options ""Options"",
decode(to_char(id), '0', 'Cost='||nvl(to_char(position), 'n/a'), object_name) ""Object Name"",
substr(optimizer, 1, 6) ""Optimizer""
from v$sql_plan a
start with address = 'C0000000FCCDEDA0'
and id = 0
connect by prior id = a.parent_id
and prior a.address = a.address
and prior a.hash_value = a.hash_value;"
1.26 查看oracle系统进程
select * from V$PROCESS spid为系统进程ID
1.27 查看进程正在执行的SQL
"SELECT a.username,a.machine,a.program,a.sid,a.serial#,
a.status,c.piece,c.sql_text from v$session a,v$process b,
v$sqltext c WHERE b.spid='ORCL' AND b.addr=a.paddr AND
a.sql_address=c.address(+)order BY c.piece"
1.28 查看占io较大的正在运行的session
"SELECT se.sid,se.serial#,pr.SPID,se.username,se.status,
se.terminal,se.program,se.MODULE,se.sql_address,st.event,st.
p1text,si.physical_reads,
si.block_changes FROM v$session se,v$session_wait st,
v$sess_io si,v$process pr WHERE st.sid=se.sid AND st.
sid=si.sid AND se.PADDR=pr.ADDR AND se.sid>8 AND st.
wait_time=0 AND st.event NOT LIKE '%SQL%' ORDER BY physical_reads DESC"
1.29 查看session正在执行的SQL
select sql_text,piece
from v$sqltext
where (address,hash_value) in ( select decode(sql_hash_value,0,prev_sql_addr,sql_address) ,
decode(sql_hash_value,0,prev_hash_value,sql_hash_value)
from v$session
where sid =&sid)
order by piece
1.30 脏缓冲回写到磁盘去
alter system set events = 'immediate trace name flush_cache';
导记录
insert into tablename
select * from username.tablename
发表评论
-
实用小SQL
2010-04-08 23:57 9361、刷数据 DECLARE CURSOR T1 IS ... -
热表查询
2008-07-03 10:56 1197SELECT Rownum AS Rank, Se ... -
查看临时表空间占用情况
2008-06-18 16:14 2181select (sum (blocks))*8/1000 &q ... -
ORACLE系统进程[转]
2008-06-04 19:00 2053oracle 数据库有五个必需的后台进程,DBWR,LGWR, ... -
ORACLE架构[转]
2008-06-04 18:52 10861、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归 ... -
SQL优化介绍一(转自kiddwyl博客)
2008-06-04 14:07 1238转自: http://ki ... -
查询索引状态
2008-06-04 11:09 1855select t.index_name, t.ta ... -
查询数据库是基于什么查询的
2008-06-03 14:42 1046select * from V$parameterwhere ... -
根据PID查询正在执行的SQL
2008-05-30 10:24 2914select sql_text from v$sqlarea ... -
查询表空间
2008-05-29 21:00 1180PLSQL中,--> REPORT-->Total ... -
根据sid查询SQL
2008-05-22 11:56 2078select t2.sid, t2.serial#, t3.s ... -
AWR报告日常分析
2008-05-17 16:20 205961.1.1. SQL ordered by Elapsed T ... -
查询库中全表扫描的表
2008-05-15 15:14 1047Select sid, serial#, ... -
测试数据库连接命令
2008-05-12 22:04 1119tnsping b22 -
创建位图索引
2008-05-12 20:18 1843create bitmap index ind_flag_bi ... -
转oracle中的hash join详解
2008-05-09 17:34 1793转自:http://blog.csdn.net/4752234 ... -
转:对oracle执行计划相关概念的理解
2008-05-09 17:30 1324转自:http://blog.csdn.net/4 ... -
转:执行计划和执行顺序
2008-05-09 17:29 1078转自:http://blog.csdn.net/4752234 ... -
转:oracle执行计划的一些概念
2008-05-09 17:27 1080转自:http://blog.csdn.net/4752234 ... -
HASH JOIN 和NESTED LOOP
2008-05-08 16:06 4114NESTED LOOP:对于被连接的数据子集较小的情况,嵌套循 ...
相关推荐
### Oracle常用命令详解 #### 一、Oracle的启动与关闭 **1. 在单机环境下的启动与关闭** - **启动Oracle系统** - **切换用户:** 首先需要切换到Oracle用户环境。 ```bash su - oracle ``` - **使用`svrmgrl`...
"Oracle常用监控脚本"通常包含了多种用于检查数据库性能、资源使用情况以及问题排查的工具和脚本。这些脚本可以帮助DBA(数据库管理员)实时了解数据库的状态,及时发现并解决问题,确保系统的健康运行。 1. **SQL ...
Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句Oracle常用脚本与语句...
Oracle 常用 SQL 语句大全 本文档总结了 Oracle 中常用的 SQL 语句,包括数据库的创建、删除、备份、表的创建、删除、修改、索引的创建、视图的创建等基本操作,以及一些高级查询运算符的使用。 一、数据库操作 ...
ORACLE常用傻瓜问题1000问: 1. Oracle安裝完成后的初始口令? internal/oracle sys/change_on_install system/manager scott/tiger sysman/oem_temp 2. ORACLE9IAS WEB CACHE的初始默认用户和密码...
Oracle 常用函数大全 Oracle 中有许多常用函数,以下是其中一些: 字符函数 1. ASCII:返回与指定的字符对应的十进制数。例如:`SELECT ASCII('A') FROM DUAL;` 返回 65。 2. CHR:给出整数,返回对应的字符。...
oracle 常用命令大全 oracle dba 常用命令 1 运行 SQLPLUS 工具 sqlplus 2 以 OS 的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入 SQLPLUS 命令提示符 sqlplus /nolog 5 在命令提示符以 OS 身份...
Oracle 常用 SQL 语句汇总 Oracle 是一个功能强大且复杂的关系数据库管理系统,它提供了多种 SQL 语句来管理和操作数据库。在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义...
"oracle常用sql.rar"这个压缩包文件显然包含了关于Oracle数据库中常用SQL语句的集合,这对于学习和工作中解决常见问题非常有帮助。以下是一些Oracle SQL的重要知识点: 1. **锁表查询**: 在Oracle中,锁定数据是...
### Linux下Oracle常用操作知识点详解 #### 一、概述 在Linux环境下管理Oracle数据库时,掌握一系列常用的命令是非常重要的。这些命令可以帮助我们有效地监控、维护和优化数据库性能。本文将详细介绍Linux下Oracle...
### Oracle 常用命令与操作指南 #### 一、Oracle 安装与卸载注意事项 **1.1 Oracle 的安装** - **安装步骤:** 对于 Oracle 的安装,网络上有很多详细的指导教程。在安装过程中,需要注意的是,管理口令部分确保...
本文将基于"oracle常用sql整理"的主题,深入探讨Oracle SQL的一些核心概念、语句及其实用技巧,适合初级到中级水平的学习者。 一、SQL基础 SQL是标准化的查询语言,分为DDL(Data Definition Language)、DML(Data...
### Oracle常用函数与使用方法详解 #### 一、Oracle SQL函数概述 在Oracle数据库中,SQL函数被广泛用于处理各种数据类型,包括数值、字符、日期等,它们能够帮助我们更高效地进行数据检索和分析。本文将详细介绍...
以下是一些关于Oracle常用SQL技巧的经典要点: 1. **避免在SELECT子句中使用“*”**:在SQL查询中,使用通配符“*”代表选择所有列,虽然方便但效率低下。Oracle在解析时需要查询数据字典获取所有列名,增加了额外...
"ORACLE常用问题1000问"很显然是一部针对Oracle数据库常见问题的集锦,旨在帮助用户解决日常运维中可能遇到的各种挑战。通过阅读这部资料,可以深入理解Oracle数据库的工作原理,提高故障排查和性能优化的能力。 ...
"Oracle常用语句-总结文档汇总"提供了丰富的资源,涵盖了SQL语句的基础到进阶应用,包括列行转换、SQL性能优化等多个关键知识点。 首先,列行转换是数据处理中常见的需求,Oracle提供了多种方法来实现这一操作。...
### Oracle常用语法概述 Oracle是一种广泛使用的数据库管理系统,在企业级应用中非常常见。本文将详细介绍Oracle数据库中的几个关键概念和语法用法,帮助初学者更好地理解和掌握Oracle。 #### 变量声明与赋值 在...
ORACLE 常用分析函数说明 Oracle 分析函数从 8.1.6 版本开始提供,是一种计算基于组的聚合值的函数。它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 开窗函数是分析函数工作的...
"Oracle常用傻瓜问题1000问"显然是一部针对初学者和中级用户设计的指南,涵盖了日常工作中可能遇到的各种常见问题。在这个文档中,我们可以预见到一系列关于安装、配置、管理、查询优化以及故障排查的问答。 1. **...