sed+awk模拟简单sql查询
经常需要用sqlplus去查询一些数据字典类型的数据,这些数据量不大,而且需要环境之间都是一样的,所以就想使用离线查询的方式,把那些数据以平面文件的形式存放,然后通过系统级的操作来输出。以下使用 sed 和aw...
用shell帮助解决ORA问题
今天碰到一个设计的严重问题,由于使用了外部文件来和sqlplus交互sql大体结构如下select xxxxx from xxxxx where table_name in ( "解析外部文件“)在测试环境中没有什么问题,当某个用户表比较多的时候,就...
数据库环境中的shell脚本应用
维护多个数据库,又没有EM,在各个数据库之间来回切换很是麻烦,今天参照一些资料写了如下的shell脚本。主要来讲dba的账户密码,ORACLE_SID都以环境变量的形式注入,然后在当前session中可以灵活的切...
oracle 定期清理inactive会话
转载于http://www.cnblogs.com/kerrycode/p/3636992.html ORACLE数据库会话有ACTIVE、INACTIVE、KILLED、 CACHED、SNIPED五种状态。INACTIVE状态的会话表示此会话处于非活动、空闲、等待状态。例如PL/SQL Developer连接到数据库,执行一条SQL语句后,如果不继续执行SQL语句,那么此会话就处于INACTIVE状态。一般...
批量kill session实现脚本
转载在:http://www.xifenfei.com/2013/05/%E6%89%B9%E9%87%8Fkill-session%E5%AE%9E%E7%8E%B0%E8%84%9A%E6%9C%AC.html在很多使用,因为各种原因,我们需要定时批量的kill一部分session,用来释放数据库部分资源,这里是因为bug导致temp不能正常释放,也可能是因为bug导致pga不释放,还有可能是因为太多inactive占用资源等等....
stream环境的日常管理
第一部分 stream环境的日常管理1.capture进程管理--capture进程信息SET LINESIZE 200COLUMN CAPTURE_NAME HEADING 'Capture|Process|Name' FORMAT A15COLUMN QUEUE_NAME HEADING 'Capture|Process|Queue' FORMAT A15COLUMN RULE_SET_NAME HEADING 'Positive|Rule Set' FORMAT A15COLUMN NEGATIVE_RULE_SE...
生产sql调优之统计信息分析
今天凌晨,又被电话叫醒了,说是有1个sql,现在跑的很慢。问题已经挺严重了,想让我看看,能不能做点什么。首先就是和他们确认最近有什么改动,他们说这个是用了很久的sql语句了,没有任何的改动,再听他们说,之前也没有任何的问题。然后就和他们确认之前这个jobl处理大概多长时间,那个哥们说他也是最近才进的这个项目...
通过top命令抓取cpu高消耗的sql
top命令在linux环境维护中很实用,虽然功能缺失不够sar那么全面。今天和大家分享一个通过top命令来抓取性能sql的案例。通过top命令抓取了如下的信息。pid是3585的进程对应的sql 之前已经确定是性能问题导致的了,所以先放过,可以看看pid是8879的这个进程,出现的不是很“稳定”。可能通过ash,awr不一定能够及时的抓...
通过shell和sql结合查找性能sql
在生产系统中,会发现一些潜在的sql问题,为了能够及时和准确的定位,我们可以借助sql_monitor来做性能sql的查找。可以在后台启用一个job不定时的去查找。毕竟大半夜的我们去监控也是有难度的,我们希望一切都能很自然的处理,结果我在一个指定的目录下每隔10分钟去查找一次性能sql,如果当天已经有生成报告就不重新生成...
shell脚本自动化采集性能sql
通过v$sql_monitor能够实时采集可能存在的sql性能问题,但是每次问题发生的时候采取采取措施就有点“晚”了,我们需要防患于未然,把一些潜在问题提前发现,并加以解决。如果有些sql执行很频繁,我们需要得到一个执行的报告,但是因为sql执行很频繁,每次都生成一个报告就显得有些过于消耗资源了。现在想达到的目标就是...
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...