一条sql语句导致的数据库宕机问题及分析
之前分享过一篇博文,是一条sql语句"导致"的数据库宕机,上次是另有原因,这次真碰到一个案例,而且是在重要的环境上,希望大家引以为戒。数据库是基于Linux64的版本,版本是11.2.0.2.0,已经打了最新的psu.数据库的访问用户数大约在1000左右,当时查看服务器的cpu已经是100%了,有大约10个进程都是cpu 100%,数据库逻辑读...
impdp/expdp 并行时出现wait for unread message on broadcast channel等待事件
昨晚有个朋友说加班在IMPDP数据, 在导入中途突然没有了进展,挂在那里不动了,impdp 窗口也没有报错, 一直等了1个多小时,说是impdp使用了parallel,怀疑是parallel参数出了问题, 最终其实原因很简单。这里只是简单的描述遇到这类问题时的处理思路。 set lines 150 pages 100 numwidth 7 col program...
redo_log_switch_date
select sequence#, to_char(first_time, 'yyyy-mm-dd hh24:mi') || ' ' || to_char(nexttime, 'hh24:mi'), round(((first_time - nexttime) * 24) * 60, 2) diff from (select sequence#, ...
archive_log_size_group_by_day
--每天产生的archive_log_sizeselect trunc(completion_time), sum(G)
rman_trun_arch.sh
<span style="font-family:宋体;line-height:normal;orphans:2;text-align:-webkit-auto;white-space:normal;widows:2;font-size:medium;"><br />#!/bin/bash</span><br style="font-family:宋体;line-height:normal;orphans:2;text-align:-webkit-auto;white-space:normal;widows:2;font-size:medium;" /><span style="f...
格式化DBMS_METADATA获得DDL
<span style="font-family:宋体;line-height:normal;orphans:2;white-space:normal;widows:2;font-size:medium;">--输出信息采用缩排或换行格式化</span><br style="font-family:宋体;line-height:normal;orphans:2;white-space:normal;widows:2;font-size:medium;" /><span style="font-family:宋体;line-height:normal;o...
等待事件脚本
SELECT t1.sid, t1.serial#, t1.machine, t1.username, t1.event, t2.sql_text, t1.sql_id, t1.seconds_in_wait, ...
Query temp ts use
--Query temp ts useSELECT b.tablespace, ROUND(((b.blocks * p.value) / 1024 / 1024), 2) || 'M' AS temp_size, a.sid || ',' || a.serial# AS sid_serial, NVL(a.username, '(oracle)') AS username, a...
Query undo ts use
--Query undo ts useSELECT TO_CHAR(s.sid) || ',' || TO_CHAR(s.serial#) AS sid_serial, NVL(s.username, '(oracle)') AS username, s.program, r.name undoseg, t.used_ublk * TO_NUMBER(x.value) / 102...
关于session leak的问题分析
在生产环境中,作为dba需要对系统的负载有一个很清晰的认识。能够在很快的时间内能够发现系统潜在的问题,并且及时定位问题,高效的响应和处理问题。比如说对于生产环境的session leak问题,这个部分是awr都很难捕捉到的信息,如果问题比较隐蔽,连ash也很难定位。比如说在早上9点的时候某个程序出现了session leak的问题...
通过shell脚本监控oracle session
最近数据库碰到了连接紧张的问题,想通过一个脚本对数据库的session情况一目了然。以下是自己写的脚本。实现的效果如下。对session的总体情况,那些program主要在占用,每个用户所拥有的session(active,inactive,killed,sniped...)都能够一目了然。STATUS CNT-------- ----------...
find命令详解
Linux find 命令是所有 Linux 命令中最有用的一个,同时也是最混乱的一个。它很难,因为它的语法与其他 Linux 命令的标准语法不同。但是,它很强大,因为它允许您按文件名、文件类型、用户甚至是时间戳查找文件。使用 find 命令,您不但可以找到具这些属性任意组合的文件,还可以对它找到的文件执行...
和开发人员讨论一个业务需求和简单实现
前几天一个开发的同事来找我咨询一个问题,说是咨询,其实是开发的同事也不是非常清楚里面的逻辑,因为历史系统,历史原因,各种原因吧,所以我也是带着试试看的态度来帮助了这位同事。这位同事知道这个咨询我的是一个存储过程。基本思路是从千万级的表table1中查出结果集,然后在table2,table3,table4都插入数据。这个存...
保持 RAC 群集环境稳定当前必须要做的 11 件事 (文档 ID 1525819.1)
保持 RAC 群集环境稳定当前必须要做的 11 件事 (文档 ID 1525819.1)转到底部文档内容...
提升自己oracle分析能力一些思考及方法论
AIX中快速定位引起大量磁盘IO操作的进程
公司的一个生产应用发生异常,无法正常运行。当时应用系统异常后,登录主机发现/tmp文件系统写满了,删除了一些不用的文件后,应用正常,但df -k 查看后发现 /tmp 剩余空间仍然在不断增长,而且速度很快。看来没有找到问题的实质。最后应用开发人员的协助下,发现是一个应用进程在不断的向 /tmp 中写一个临时文件,这个...
sql version count引发cursor:pin s wait x及library cache latch library cache lock
背景 某Q友在其生产系统AWR发现library cache latch及library cache lock及cursor:pin s wait x等待事件非常严重,经排查发生某些底层SQL的多版本现象非常严重,最高达到4000多左右结论 1,oracle为了控制某个SQL的子游标个数不止过高过多,采用绑定变量分级机制,即绑定变量的长度(字节)在...
帮网友现场解决11204 data guard备库大量报PMON failed to acquire latch
Oracle体系结构理论篇
我们先看下面几个我们实际工作中经常会遇到的问题:1、通常说Oracle数据库是什么?2、如何理解Oracle实例?3、Oracle实例由哪些部分组成,它们之间的作用是什么?4、如何理解Oracle的物理结构?5、Oracle的物理结构由哪些部分组成,它们之间的作用是什么?6、如何理解Oracle的逻辑结构?7、O...
Redo Log之二:迁移redo log到不同的存储路径
迁移redo log到不同的存储路径实际运维过程中,我们也经常需要迁移redo log到不同的存储路径,或者修改redo log的大小等等,下面整理了两种迁移redo log的方式。1) 方案1:停止数据库实例迁移redo loga、 查询数据redo logSQL> select group#,type,memberf...