Statspack分析报告详解
摘要:Statspack分析报告详解: statspack 输出结果中必须查看的十项内容 1、负载间档(Load profile) 2、实例效率点击率(Instance efficiency hit ratios) 3、首要的5个等待事件(Top 5 wait events) 4、等待事件(Wait events) 5、闩锁等待 6、首要的SQL(Top sql) 7、实例活...
阅读全文
posted @
2009-08-31 00:28
一江水
阅读(1235)
推荐(0) 编辑
latch free 等待事件说明
摘要:当进程想要获取锁存器而此时该锁存器正被其他进程持有时产生Latch Free(锁存器空闲)等待事件,类似于排队,Oracle使用锁存器来保护数据结构。一次只能在一个进程在获得锁存器后修改或检查数据结构。其他需要访问该数据结构的进程必须等到它们获得锁存器后。不同于排队的是,请求锁存器的进程不需要在队列中等待。如果获取锁存器失败,则进程仅仅等待一小段时间就可以再次请求锁存器。这一小段等待时间成为...
阅读全文
posted @
2009-08-31 00:25
一江水
阅读(10321)
推荐(0) 编辑
长时间latch free等待——记一次系统异常的诊断过程
摘要:今天发现一个报表数据库中SQL运行异常,简单记录一下问题的诊断和解决过程。问题是在检查ALERT文件时发现的,一个过程运行时间太长而出现了ORA-1555错误。错误信息:ORA-01555 caused by SQL statement below (Query Duration=38751 sec, SCN: 0x0000.fe5b584a):INSERT INTO MAN_ORDER_ITEM...
阅读全文
posted @
2009-08-30 23:51
一江水
阅读(1540)
推荐(0) 编辑
session_cached_cursors,cursor_space_for_time,gets,pin
摘要:session_cached_cursors,cursor_space_for_time,gets,pin上周末看到asktom上的一个帖子,其中有人提到session_cached_cursors和cursor_space_for_time对library cache gets&pin的影响,帖子的url为http://asktom.oracle.com/pls/ask/f?p=4950...
阅读全文
posted @
2009-08-27 00:18
一江水
阅读(1069)
推荐(0) 编辑
v$open_cursor与session_cached_cursor
摘要:v$open_cursor与session_cached_cursorv$open_cursor是oracle提供的一张查看每个session打开过的cursor的视图,它的表结构如下SQL> desc v$open_cursorName Null? Type----------------------------------------------------- -------- ----...
阅读全文
posted @
2009-08-27 00:17
一江水
阅读(3162)
推荐(0) 编辑
晶晶实验十五 共享SQL区、私有SQL区与游标 篇
摘要:共享SQL区、私有SQL区与游标 一、共享SQL区 共享SQL区,就是Librarycace中的游标对象的句柄和子堆这些数据的另一种叫法。 二、私有SQL区的概念 私有SQL区,在专用服务器模式下,存贮在PGA中。 (复习一下PGA概念: PGA在服务器端分配,记录各种不同的连接至Oracle服务器的进程的信息,如登录时的用户名、密码等。每一个登录至Oracle的会话,都会在服务器端占用一块PGA...
阅读全文
posted @
2009-08-26 23:23
一江水
阅读(626)
推荐(0) 编辑
理解V$OPEN_CURSOR, V$SESSION_CACHED_CURSOR [zt]
摘要:这两个概念很容易混淆。概念: OPEN_CURSOR,定义每个Session最大能够打开的游标数量。在init.ora文件中定义,可以通过select * from v$parameter where name = 'open_cursors'查询。 V$OPEN_CURSOR,当前Session缓存的游标,而不是曾经打开的游标。 V$SESSION_CACHED_CURSOR,当前Session...
阅读全文
posted @
2009-08-26 18:19
一江水
阅读(1333)
推荐(0) 编辑
处理超出打开游标的最大数异常(ORA-01000: maximum open cursors exceeded)
摘要:在执行如下代码时,经常会出现ora-01000: maximum open cursors exceeded异常for(int i=0;i<balancelist.size();i++){ prepstmt = conn.prepareStatement(sql[i]); prepstmt.setBigDecimal(1,nb.getRealCost()); prepstmt.setStri...
阅读全文
posted @
2009-08-26 10:50
一江水
阅读(3833)
推荐(0) 编辑
ora-02085的解决:Database Link与GLOBAL_NAMES参数
摘要:参考: http://space.itpub.net/?uid-69924-action-viewspace-itemid-192128 当GLOBAL_NAMES参数设置为TRUE时,使用DATABASE LINK时,DATABASE LINK的名称必须与被连接库的GLOBAL_NAME一致。下面做一个测试,在测试中,创建数据库链接的库为XJ(WINDOWS 2003 ORACLE 10g 1...
阅读全文
posted @
2009-08-12 19:47
一江水
阅读(11210)
推荐(0) 编辑
表级流复制基本操作
摘要:创建单源流复制数据库源数据库创建流复制管理员CREATE USER STREAMADMIN IDENTIFIED BY STREAMADMIN DEFAULT TABLESPACE USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; GRANT CONNENT TO STREAMADMIN ; GRANT DBA TO STREAMADMIN...
阅读全文
posted @
2009-08-12 19:04
一江水
阅读(2052)
推荐(0) 编辑
Oracle高可用环境之DDL操作
摘要:高可用环境之DDL操作在这之前,应该有锁与阻塞的基础知识。DDL锁Note:执行DDL会先commit当前会话操作,再执行DDL,即DDL是非原子性操作。X类型锁:truncate、drop、alter table drop/add/modify等绝大部分DDl,会在表上持有X类型的TM锁。S类型锁:online操作,会在表上持有RS类型的锁。高可用环境下DDL操作风险分析:1、DDL阻塞DML,...
阅读全文
posted @
2009-08-10 00:25
一江水
阅读(1879)
推荐(0) 编辑
ORACLE的表分析策略[转]
摘要:对表进行分析,通常情况下可以对表,索引,列进行单独分析,或者进行组合分析,但这三者哪些是相对重要的,哪些分析显得不那么重要?通过本篇文章的实验相信大家也会对直方图有更一步的了解.1.首先创建测试表,并插入100000条数据SQL> create table test(id number,nick varchar2(30));Table created.SQL> begin 2 for ...
阅读全文
posted @
2009-08-05 23:24
一江水
阅读(2104)
推荐(0) 编辑
Oracle经验谈:删除DUAL表后的处理
摘要:Oracle系统中dual表是一个“神秘”的表,网上有很多网友都对该表进行了测试,该表只有一行一列,其实该表和系统中的其他表一样,一样可以执行插入、更新、删除操作,还可以执行drop操作。但是不要去执行drop表的操作,否则会使系统不能用,数据库起不了,会报Database startup crashes with ORA-1092错误。 此时也不要慌乱,可以通过执行以...
阅读全文
posted @
2009-08-05 22:08
一江水
阅读(735)
推荐(0) 编辑
oracle autotrace 使用说明
摘要:一、启用Autotrace功能。任何以SQL*PLUS连接的session都可以用Autotrace,不过还是要做一些设置的,否则可能报错。1、报错示例:SQL :> set autotrace on;SP2-0613: Unable to verify PLAN_TABLE format or existenceSP2-0611: Error enabling EXPLAIN report...
阅读全文
posted @
2009-08-05 16:27
一江水
阅读(4785)
推荐(0) 编辑
DBA在系统设计、开发中的重要性
摘要:一、 现阶段DBA对系统性能及稳定性所做的调整工作目前DBA对系统性能的调整工作大致是这么几个方面:1、 在硬件层面进行调优,这通常就是直接花钱,买设备、扩容。2、 在DB层面进行调优,比如调整初始化参数,调整数据库物理结构。3、 对应用的SQL进行优化,比如在数据库分析statspack,调整Top SQL。4、 只有非常少数的,通常是对系统稳定要求较高的一些公司的应用,才会在新的应用上线前,让...
阅读全文
posted @
2009-08-05 12:06
一江水
阅读(990)
推荐(0) 编辑
访问Oracle数据库时如何限制绕过漏洞
摘要:导 读 Oracle 9.2.0.0到10.2.0.3版本允许在基表中仅有SELECT权限的用户通过特制的视图插入/更新/删除数据,成功利用这个漏洞的低权限用户可以通过创建特制的视图导致插入、更新和删除数据。 受影响系统: Oracle Database 9.2.0.0 - 10.2.0.3 描 述: BUGTRAQ ID: 17426 Oracle是大型的商业数据库系统。Oracle 9.2.0...
阅读全文
posted @
2009-08-04 10:47
一江水
阅读(644)
推荐(0) 编辑
动态执行表不可访问,本会话的自动统计被禁止
摘要:第一次打开表的时候会提示"动态执行表不可访问,本会话的自动统计被禁止"的错误,一消息如下: V$SESSION,V$SESSTAT,V$STATNAME没有被授权,授权如下: @$ORACLE_HOME/sqlplus/admin/plustrce.sqlgrant select on v_$statname to user;grant select on v_$sesstat to user;g...
阅读全文
posted @
2009-08-04 10:19
一江水
阅读(3254)
推荐(0) 编辑
ORACLE联机日志文件丢失或损坏的处理方法(转)
摘要:经验总结: 联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题。损坏非当前联机日志:1、启动数据库,遇到ORA-00312 or ORA-00313错误,如:ORA-00313: open failed for members of log group 4 of thread 1ORA-00312: online log 3 threa...
阅读全文
posted @
2009-08-04 09:59
一江水
阅读(821)
推荐(0) 编辑