oracle之 redo过高诊断】的更多相关文章

一.诊断过度redo 要找到生成大量重做的会话,您可以使用以下任何一种方法.这两种方法都检查生成的撤销量.当一个事务生成撤销,它将自动生成重做. 当需要检查生成大量的程序时,使用第一个查询.当这些程序激活多个事务时重做.后者查询,可以用来发现哪些特定事务正在生成重做. 1)法一 (针对某程序累计redo生成量) 查询 V$SESS_IO ,此视图包含指示的列BLOCK_CHANGES.该会话更改了多少块.比较高的值表明,会话生成大量重做. SELECT s.sid, s.serial#, s.u…
一.什么是redo?redo:oracle在在线或者归档重做日志文件中的记录的信息,外以出现失败时可以利用这些数据来"重放"事务.每个oracle数据都至少有二个在线重做日志组,每个组中的至少有一个成员,这些在线重做日志组以循环方式使用. 二.什么是undo?undo:oracle在undo段中记录的信息,用于取消或者回滚事务.undo在数据库内部存储在一组特殊的段中,称作undo段.利 用undo段恢复数据,不是将数据库物理地恢复到执行语句或者事务之前的样子,只是从逻辑上恢复到原来的…
使用过Oracle的人都知道,Oracle的运行速度与效率,在同类数据库中是名列前茅的,特别是对大量数据进行访问时,更加有出色的表现.那么,Oracle数据库是靠什么实现的呢?笔者下面将通过一系列的文章,向大家展示Oracle数据库提供高性能运算的秘密. Oracle数据库作为复杂运算的首选数据库,其首先是通过所谓的数据高速缓存来实现对数据的高速运算与操作的. 数据高速缓存跟操作系统的缓存类似,其存储最近从数据文件中读取的数据块,其中的数据可以被所有的用户所访问.如当我们利用Select语句从数…
删除Oracle Online Redo 测试 SQL> select * from v$log; ​   GROUP#   THREAD# SEQUENCE#     BYTES BLOCKSIZE   MEMBERS ARC STATUS ---------- ---------- ---------- ---------- ---------- ---------- --- --------                                                 N…
关于Oracle和MySQL的高可用方案,其实一直想要总结了,就会分为几个系列来简单说说.通过这样的对比,会对两种数据库架构设计上的细节差异有一个基本的认识.Oracle有一套很成熟的解决方案.用我在OOW上的ppt来看,是MAA的方案,今年是这个方案的16周年了. 而MySQL因为开源的特点,社区里推出了更多的解决方案,个人的见解,InnoDB Cluster会是MySQL以后的高可用方案标配. 而目前来看,MGR固然不错,MySQL Cluster方案也有,PXC,Galera等方案,个人还…
Oracle数据库经常会遇到CPU利用率很高的情况,这种时候大都是数据库中存在着严重性能低下的SQL语句,这种SQL语句大大的消耗了CPU资源,导致整个系统性能低下.当然,引起严重性能低下的SQL语句的原因是多方面的,具体的原因要具体的来分析,下面通过一个实际的案例来说明如何来诊断和解决CPU利用率高的这类问题. 操作系统:solairs8 数据库:Oracle9.2.0.4 问题描述:现场工程师汇报数据库非常慢,几乎所有应用操作均无法正常进行. 首先登陆主机,执行top发现CPU资源几乎消耗殆…
PLSQL_性能优化系列14_Oracle High Water Level高水位分析 http://www.cnblogs.com/eastsea/p/4005814.html 一.摘要 PLSQL_性能优化系列14_Oracle High Water Level高水位分析 高水位线好比水库中储水的水位线,用于描述数据库中段的扩展方式.高水位线对全表扫描方式有着至关重要的影响. 当使用delete 操作表记录时,高水位线并不会下降,随之导致的是全表扫描的实际开销并没有任何减少. 本文给出高水位…
Undo是干嘛用的?          简单理解,就相当于Windows下的回收站.        你对数据执行修改时,数据库会生成undo信息,这样万一你执行的事务或语句由于某种原因失败了,或者如果你用一条ROLLBACK语句请求回滚,就可以利用这些undo信息将数据放回到修改前的样子.而redo用于在失败时重放事务(即恢复事务),undo则用于取消一条语句或一组语句的作用.                                     在介绍undo之前,先说一下另外一个东西 tr…
今天在吃饭的时候我的朋友的数据库出现了问题,cpu占用率为97%,当我看到这个问题的时候我就想到了或许是sql导致的此问题,由于忍不住吃饭,暂时没有帮他看这个问题,这是我饭后自己模拟的故障,进行的分析: 1)查看一下cpu进程占用情况: 看到oracle进程为6331,6517等这几个进程占用cpu过高. 2)查看相关进程信息: [oracle@oracle-one ~]$ ps -ef | grep oracle : ? :: ora_vktm_RHYS oracle : pts/ :: gr…
1.redo redo 有在线redo日志和归档redo日志, 从Oracle 10g开始还新增加了flashback技术. 每个Oracle数据库至少有2个在线重做日志组,循环写. 只有INSERT, DELETE, UPDATE,MERGE才会生成redo日志, redo日志用于数据库故障恢复,比如系统崩溃,磁盘介质问题. 2.undo undo 与redo相反, 修改数据时,会生成undo信息,以便回到更改前的状态. undo存放在数据库中一组undo变空间和undo段中. 每次用undo…
1.确定当前使用的redo文件 SQL> select member from v$logfile where group# = ( select group# from v$log where status = 'CURRENT'); MEMBER -------------------------------------------------------------------------------- /home/oracle/oradata/orcl/redo02.log 2. 进行转…
浏览了一下Oracle官方的网页以及非官方的ppt,简单了解了一下Oracle提供的高可用方案. 主要有三种: 1. RAC RAC,  Real Application Clusters 多个Oracle服务器组成一个共享的Cache,而这些Oracle服务器共享一个基于网络的存储.这个系统可以容忍单机/或是多机失败. 不过系统内部的多个节点需要高速网络互连,基本上也就是要全部东西放在在一个机房内,或者说一个数据中心内.如果机房出故障,比如网络不通,那就坏了.所以仅仅用RAC还是满足不了一般互…
oracle媒介恢复(Media Recovery) 官方资料 https://docs.oracle.com/database/121/ADMQS/GUID-CBC5870F-2C9A-4F67-B5E9-D65049AD1E8E.htm#ADMQS09112 翻译如下: 如果还原存档的重做日志文件和数据文件,则必须先执行介质恢复,然后才能打开数据库.归档重做日志文件中未反映在数据文件中的任何数据库事务都将应用于数据文件,从而在打开数据库之前将它们置于事务一致状态. 介质恢复需要控制文件,数据…
因为数据仓库ETL过程中,某个mapping的执行时间超过了一个小时, select event,count(*) fromv$session_wait group by event order bycount(*) desc 发现日志切换占用了大量的时间,估尝试增大redo log的大小. (1) redo log的大小可以影响  DBWR 和 checkpoint : (2)larger redo log files provide better performance. Undersize…
(1)redo log的大小可以影响 DBWR 和 checkpoint : (2)arger redo log files provide better performance. Undersized logfiles increase checkpoint activity and reduce performance.          大的log file可以提供更好的性能,小的logfile 会增加checkpoint 和降低性能: (3) A rough guide is to sw…
今天把本地环境升到了12.2.12c应该来说无论从性能和功能性方面都得到了很大的加强,就是不知道实际license怎么卖...原来有些功能在exadata中可用的,现在在12c中可用了,估计很大程度上还是受到了云服务的冲击影响所致. 从功能和易用性上,12c和12.2真的新增了很多实用特性.有条件的升级吧. Oracle Database 12c Release 1 0. 12.1最大的变化多租户,in-memory(需要额外license)列式存储 多租户架构下CDB和PDB的资源独占/共享如…
1.Oracle log 每次切换会记录到告警日志中 设想写个方案来查看log切换频率来判断Oracle log是否应该更改大小. 2.sql a.查看redo日志信息 select * from v$log b.查看日志切换频率 )*,) and b.THREAD#= order by a.SEQUENCE# desc; 或者 )*,) diff ) order by sequence# desc;…
一 .redo(重做信息) 是Oracle在线(或归档)重做日志文件中记录的信息,万一出现失败时可以利用这些数据来“重放”(或重做)事务.Oracle中记录这些信息的文件叫做redo log file(重做日志文件). redo log file分online和archived两类,它们都用于恢复. 当实例失败时,Oracle会使用在线重做日志将系统恰好恢复到故障前的提交点:如果磁盘等介质失败时,Oracle会使用归档重做日志以及在线重做日志将该磁盘上的数据备份恢复到适当的时间点.当一张表被tr…
今天,在自己机器上装了oracle 12c,发现Oracle的服务Oracle RDBMS Kenel  Executable (OracleServiceORCL)占用内存高达5G,本人电脑内存才16G.如此高的占用率,真让人心疼.于是就对Oracle的内存进行调整.具体办法如下: 1. 在cmd命令中输入如下命令启动sqlplus: sqlplus /nolog 2. sql启动后,连接数据库,命令如下: conn / as sysdba; 3. 如果是oracle 11g以后版本,可以修改…
原文地址:http://czmmiao.iteye.com/blog/2124373   昨天帮朋友解决11g RAC SCAN问题,当时为这朋友简单解答了一些SCAN特性相关的问题,但我知道这仅仅是一小部分.Oracle从11g开始推出SCAN特性可不是我解答那样简单的,SCAN特性在Oracle RAC高可用连接里占据着非常重要的地位,也是以后的重点推进方向.昨天处理完问题比较晚自己又比较累,所以没有整理出SCAN特性相关资料,今天就抽出点时间把SCAN高可用连接特性介绍出去. 说在前头:文…
1异常出现      8月30日下午2时左右,接同事电话,说数据库异常宕机了,现在启动不了. 2初步分析 我让现场把alert.log发过来,先看看是什么问题.   关于ORA-00353和ORA-00334,先查一查是什么错误:   根据上述信息可知,30日10点39分,在进行crash recovery时,REDO03.LOG文件的block=3759889处存在corruption block(坏块.属物理损坏,一般与介质异常与操作系统调用失败有关). 当发现坏块后,oracle后台进程将…
前言: qslice是一个win2000的工具包,能分析进程的cpu占用率,我们用于分析oracle的性能 这是绿色的软件无需安装. 我们经常会碰到oracle的CPU占用居高不下,无法快速定位到问题SQL,就需要这个神器:qslice. 分析过程: 1.进入qslice,打开oracle进程,双击进入 2.最大化弹出的窗口,发现连接Oracle的子线程在跳动. 3.观察几分钟,揪出频繁出现的TID:1640 4.此时就可以按1640查询到问题SQL了 SELECT sql_text FROM…
IBM AIX Java 1. topas 命令定位 CPU 使用高的进程,比如下面 PID 614852 Name            PID  CPU% java         614852  23.9 java         450806  20.5 2. 使用命令 ps -mp <PID> -o THREAD 定位 CPU 使用高的线程 TID 比如下显示线程 (TID)11219165 消耗了 22% CPU.  把 11219165 换成 16 进制得到 AB30DD ps…
1.下载Process Explorer 2.打开Process Explorer,查看CPU使用情况最高的进程 3.双击该进程,查看详情 \ 4.    获取cpu使用最好的线程tid 5.    查询sql_id select sql_id from v$session where paddr in( select addr from v$process where spid in('16796','11972','9812','11652','5484') ) 6.根据5中的sql_id查…
转自-阿里巴巴许春值 1.scan概念 什么叫 SCAN,SCAN (Single Client Access Name) 是 Oracle 从11g R2 开始推出的,客户端可以通过 SCAN 特性负载均衡地连接到 RAC 数据库.SCAN 提供一个域名来访问 RAC,域名可以解析 1个 到 3个 SCAN IP,我们可以通过 DNS 或者 GNS 来解析实现.其中 DNS 大家都很熟悉,这里不多说.GNS (Grid Naming Service) 则是 Oracle 11g R2 的新功能…
1.cmd sqlplus system账户登录 2.show parameter sga; --显示内存分配情况 3.alter system set sga_max_size=200m scope=spfile; --修改占用内存的大小 4.alter system set memory_target = 256M scope=spfile: 5.重启oracle服务 注意: sga_target < memory_target<memory_max_target…
----------------------------------------- --Lerning Content :Oracle 下马观花看redo --Author :如人饮水冷暖自知 --版权所有 :首发于ORA-600团队微信公众号: <Oracle 蓝莲花>:转载请注明出处以及作者 技术分享交流QQ群:851604218 2019年3月中旬,有技术分享交流课程,欢迎加群探讨 ----------------------------------------- 引言 下马看花-red…
第5章  Buffer Cache与Shared Pool原理 5.1 Buffer Cache原理 Buffer Cache是Oracle SGA中的一个重要部分,通常的数据访问和修改都需要通过Buffer Cache来完成.当一个进程需要访问数据时,首先需要确定数据在内存中是否存在,如果数据在Buffer中存在,则需要根据数据的状态来判断是否可以直接访问还是需要构造一致性读取:如果数据在Buffer中不存在,则需要Buffer Cache中寻找最后的空间以装载需要的数据,如果Buffer C…
一.MySQL MySQL小型高可用架构 方案:MySQL双主.主从 + Keepalived主从自动切换   服务器资源:两台PC Server 优点:架构简单,节省资源 缺点:无法线性扩展,主从失败之后需要手动恢复主从架构     MySQL中型高可用架构 方案:MMM + MySQL双主 + 多从高可用方案   服务器资源: 1.至少五台PC Server,2台MySQL主库,2台MySQL从库,1台MMM Monitor: 2.1台MMM Monitor选择低配: 3.如果不采用F5作为…