转:长时间latch free等待——记一次系统异常的诊断过程
转:长时间latch free等待——记一次系统异常的诊断过程 [@more@]转:长时间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 (ID,REQUEST_QTY,SALER_ID,PRODUCT_ID,UNIT_PRICE,CREATE_DATE,ANSWER_DATE,BUYER_ID)SELECTA.RECORD_ID,A.REQUEST_QTY,A.SALE
查看oracle的锁的相关信息
查看oracle的锁的相关信息[@more@]查看锁的用户和等待锁的用户相关信息select 'blockers('||sb.sid||':'||sb.serial#||'-'||sb.username||')-'||qb.sql_text blockers,'waiters('||sw.sid||':'||sw.serial#||'-'||sw.username||')-'||qw.sql_text waitersfrom v$lock lb,v$lock lw,v$session sb,v$session sw,v$sql qb,v$sql qwwhere lb.sid=sb.sidand lw.sid=sw.sidand sb.prev_sql_addr=qb.addressand sw.sql_address=qw.addressand lb.id1=lw.id1and sb.lockwait is nulland sw.lockwait is not nulland lb.block=1;BLOCKERS WAITERS--
Oracle的db_name和instance_name
Oracle的db_name和instance_name[@more@]Oracle的db_name和instance_name对于Oracle数据库来说,db_name和instance_name可以不同。我们来看一下Oracle文档中对于db_name的定义:DB_NAME必须是一个不超过8个字符的文本串.在数据库创建过程中,db_name被记录在数据文件,日志文件和控制文件中。如果数据库实例启动过程中参数文件中的db_name和控制文件中的数据库名称不一致,则数据库不能启动。一个实例可以mount并打开任何数据库,但是同一时间一个实例只能打开一个数据库。一个数据库可以被一个或多个实例所mount并打开(在OPS/RAC环境下,一
Oracle10g的ORA-3136错误
Oracle10g的ORA-3136错误WARNING: inbound connection timed out (ORA-3136)。[@more@]WARNING: inbound connection timed out (ORA-3136)。在metalink上查询了一下,发现这个错误在10g当中是很常见的。Metalink上有专门的bug和note对这个问题进行了说明。不过Oracle虽然给出了解决方案,但是并没有详细说明问题产生的原因。只是说明这是一个内部错误。Oracle给出的解决方法就是通过修改listener.ora和sqlnet.ora中的这个参数值:1.在listener.ora中添加INBOUND_CONNECT_TIMEOUT_instener name=02.在服务器上的sqlnet.ora文件中添加SQLNET
ORACLE之常用FAQ
ORACLE之常用FAQ V1.0http://www.itpub.net/showthread.php?s=&threadid=180363FAQ第二版http://www.itpub.net/705130,1.html[@more@]
Import Fails with IMP-00058, ORA-1438
symptom: IMP-00058: ORACLE error 1438 encounteredsymptom: ORA-01438: value larger than specified precision allows for this event="1438 trace name errorstack level 10"例如imp-00058 oracle错误1438出现ora-01438:值大于此列指定的允许精确度imp-00018:上一个表的部分导入完成,导入6605531行[@more@]Subject: Import Fails with IMP-00058, ORA-1438 Errors Doc ID: Note:185229.1Type: PROBLEM Last Revision Date: 28-JUL-2005Status: PUBLISHED fact: Oracle Server - Enterprise Edition fact: Export Util
TKProf Simplistic Overview
Example Output (Partial) File-----------------------------TKPROF: Release 7.2.2.3.0 - Production on Wed Aug 7 11:29:43 1996Copyright (c) Oracle Corporation 1979, 1994. All rights reserved.Trace file: <filename>.trcSort options: default********************************************************************************count = number of times OCI procedure was executedcpu = cpu time in seconds executingelapsed = elapsed time in seconds executingdisk = number of physical reads of b
How to Enable SQL_TRACE for Another Session Using ORADEBUG:
How to Enable SQL_TRACE for Another Session Using ORADEBUG:The ORADEBUG utility can enable/disable setting the SQL tracing for another user's session. [@more@]How to Enable SQL_TRACE for Another Session Using ORADEBUG:=========================================================== The ORADEBUG utility can enable/disable setting the SQL tracing for another user's session. To enable tracing for another session, the Oracle process identifier (PID) or the Operating System processes identifier (SPID) mu
oracle Event:10046
10046 EVENT levels: 1 - Enable standard SQL_TRACE functionality (Default) 4 - As Level 1 PLUS trace bind values 8 - As Level 1 PLUS trace waits This is especially useful for spotting latch wait etc. but can also be used to spot full table scans and index scans. 12 - As Level 1 PLUS both trace bind values and waits[@more@]Event:10046Text: enable SQL statement timing---------------------------------------------------------------------------
IMP-00058, ORA-1438
Subject: Import Fails with IMP-00058, ORA-1438 Errors Doc ID: Note:185229.1 Type: PROBLEM Last Revision Date: 28-JUL-2005 Status: PUBLISHED fact: Oracle Server - Enterprise Edition fact: Export Utility (EXP) fact: Import Utility (IMP) symptom: Running an import fails symptom: IMP-00058: ORACLE error 1438 encountered symptom: ORA-01438: value larger than specified precision allows for this column symptom: IMP-00018: partial import of previous table completed: 178731 rows imported cause: These sym
oracle error -- ora-03106
ORA-03106 fatal two-task communication protocol error这个信息表明,在ORACLE进行网络通信工作时,发生了错误。比如,客户应用程序使用SQL*NET访问服务器数据库时,不能进行,ORACLE显示ORA-03106错误。首先,应当检查客户应用与数据库服务器之间的兼容性,这是ORA-03106错误中最常见的原因。现已发现,Developer/2000 V1.3预版与ORACLE V8.0.5 for Digital UNIX不兼容;ORACLE V7.0.1.6 for ScoUNIX与ORACLE V8.0.5 for Digital UNIX不兼容,等等。再检查客户应用与数据库服务器之间的NLS(字符集)兼容性。前些年计算机上的中文字符集
oracle parameter -- 一些优化时候要考虑的参数
在对Oracle数据库进行优化时,需要用到许多的参数,其中有一部分参数对系统性能影响较大,这部分参数叫可变参数。可变参数按其作用可以分为两大类,一大类是起限制作用的,如OPEN_LINKS;另一大类是影响系统性能的,如DB_BLOCK_BUFFERS。在进行数据库系统性能优化时,需要熟练掌握和了解一些可变参数。本文讨论了一些对系统性能有较大影响的参数。(1)DML_LOCKS该参数表明多少个用户,可同时能修改多少张表。例如:有三个用户同时修改二张表,则要求表上的总数为6。若置为0,则组织队列不起作用,其性能会稍有提高。使用该参数时不能用DROP T
oracle wait -- SQL*Net message from client
通过 SQL*Net ,oracle server process wait message from client,比如说命令[@more@]