How to used the gdb (GNU Debugger) Collecting Hanganalyze and Systemstate Dumps on Linux systems(操作系统收集hanganalyze和systemstate)

Prior to 10g you can use a unix debugger like gdb, adb or dbx to attach to a shadow process and dump the system state using the function ksudss which is the subroutine in the Oracle source code which does the same.

More about dead transactions recovery and cleanup(死事务的回滚清理)

If you need to recovery the dead transaction record of more than 100(_cleanup_rollback_entries parameter value), PMON only responsible for cleaning up dead session, which is responsible for the SMON recovery dead transaction.

ORA-10631: SHRINK clause should not be specified for this object(原因)

Shrink operations can be performed only on segments in locally managed tablespaces with automatic segment space management (ASSM). Within an ASSM tablespace. Restrictions on the shrink_clause.The shrink_clause is subject to the following restrictions…

ORA-00600: INTERNAL ERROR CODE, ARGUMENTS: [VOPRVL1], [], [], [], [], [], [], [] Issues

insert into table “with” subquery Failing with the following internel error.
ORA-600: internal error code, arguments: [voprvl1], [], [], [], [], [], [], []

ora-600 [2663]/[2662] internal error issue

A description for this ORA-600 [2003] error is not yet published. ora-600 2663/2662 is a data block SCN is ahead of the current SCN.

How to enable SQL*Net Tracing with Oracle Instant Client (二)

Dynamic server tracing allows for tracing at a per-process level and can be enabled ad hoc on any running server process. This is useful for tracing individual server side processes of a specific client connection or for tracing background server processes.

ORA-28002 Even If Default Prpfile PASSWORD_LIFE_TIME Has UNLIMITED Limit(用户profile密码生命周期无限制,密码仍然过期锁定的情形)

上周也就是2013年的最后一天,突然客户反应有些WEB应用页面报错只提到了ora-28002, 我立即用sqlplus 登录提示是ora-28001,显然密码已经过期, 我清清楚记的才因为一起类似问题, 前不久把所有的oracle 数据库应用用户profile PASSWORD_LIFE_TIME改为unlimited,怎么还会这样呢?

How to avoid “ORA-00932: inconsistent datatypes: expected – got CLOB” when distinct CLOB datatypes.

Large objects (LOBs) are not supported in comparison conditions. However, you can use PL/SQL programs for comparisons on CLOB data.

skgpspawn failed:category = 27143 in alert log

skgpspawn failed:category = 27143, depinfo = 24, op = pipe, loc = skgpspawn2

oracle 12c new feature 隐藏列(invisible columns)

oracle 12c release 1版本引入新功能可隐藏列(invisible columns),这个特性有很多的争议,不明白为什么ORACLE会推出这个特性,因为这个特性可能会带来很多麻烦..

Adaptive Cursor Sharing in 11R2 performance issues(自适应游标共享问题案例)

今天开发的同事找我说是一个报表系统的SQL执行第一次很快,再执行就慢的几乎查询无响应,找他要来了SQL,也是常见的表关连LIFT JOIN 、GROUP BY的统计报表, 出于篇幅原因不再贴SQL, 把SQL放到TOAD 中问题依然可以再现,..

,

Adaptive Log File Sync In 11gr2 (_use_adaptive_log_file_sync)

Adaptive Log File sync was introduced in 11.2. the feat […]

,

How to enable SQL*Net Tracing with Oracle Instant Client 11G

Sometimes we need to enable sql*net trace to diagnose sqlplus connection problems such as ora-125*
Below are the steps to configure Sql*Net verbose Client side tracing:

How to get call stack of oracle processes ?

Each time your program performs a function call, information about the call is generated. That information includes the location of the call in your program, the arguments of the call, and the local variables ..

,

Script: Display the sessions distribution and top 50 idle sessions

This script displays the top 50 longest idle times and list distribution of sessions on the instance..

I prefer the version 11.2.0.3 parse_calls (我比较喜欢parse_calls在11203版本上的显示)

高parse calls表示这些SQL不可以re-used 并且每次执行都要重新解析,理想的最佳状态是一次解析多次执行,你也知道频繁的解析会给library cache带来沉重的负担, 一个sql的执行必须先parse,解析过程包含sql 加载到shared pool, 语法检查…

Logon Storms on 11g ,audit maybe cause performance issue.(当创建很多连接时审计可能带来性能问题)

When multiple connection created will insert a lot of rows in aud$ table, there may be contention in the segment header for the table. This contention can manifest itself as a buffer busy wait or a freelist wait.

Unable to change MEMORY_MAX_TARGET (无法修改MEMORY_MAX_TARGET)

alter system set memory_max_target=0 scope=spfile;
shutdown immediate
startup
SQL> show parameter target

memory_max_target big integer 3824M

Logon Storm and Memory shortage issue ORA-07445 dbgtrReserveSpace (记录一次登录风暴致内存不足的问题)

Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x10] [PC:0x938E8C5, dbgtrReserveSpace()+99] [flags: 0x0, count: 1]
Errors in file /oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_13864.trc (incident=60801):
ORA-07445: exception encountered: core dump [dbgtrReserveSpace()+99] [SIGSEGV] [ADDR:0x10] [PC:0x938E8C5] [Address not mapped to object] []
Incident details in: /oracle/diag/rdbms/ora11g/ora11g/incident/incdir_60801/ora11g_ora_13864_i60801.trc
Use ADRCI or Support Workbench to package the incident.

scn format (scn格式)

scn(system change number) 结构主要维护 oracle数据库内部的数据一致性,SCN 有两部分组成: Base and wrap,wrap 是16bit的数字,base是32bit的数字,这样其实就可以算scn的有效范围,它的格式(redo dump trace)是wrap.base,当base超过了2的32次方,然后wrap 就会加1,其实用sql 很好验证。