‘Performance’ Archives
Poll on Sql Plan Management
Dominic is conducting poll on SPM and Sql Profiles usage on his website. Link can be found here I have been using SPM and SQL Profiles (using coe_xfr_profile.sql) to fix plans for queries and believe me its very easy and quick way of fixing problems in production [Read More]
Optimizer Choosing Nested-Loop Joins Instead of Hash-Joins
In one of my databases, one application query suddenly started to pick Nested-Loop joins instead of Hash-Joins and took almost 6 hours to complete which gets completed in less than 10 secs with Hash-Joins. The same query in another similar database with same configuration [Read More]
Plan Stability using Sql Profiles and SQL Plan Management
PLAN STABILITY How many times you have noticed a query using Index X when you wanted it to use index Y or query performing Nested Loop join when Hash Join would have completed the query much faster.Or take a scenario when the application suddenly starts using wrong plan [Read More]
V$SQL_SHARED_CURSOR in 11.2.0.2
Oracle 11.2.0.2 has introduced new column “REASON” to V$SQL_SHARED_CURSORS. I came across this extremely useful column while debugging multiple child cursor issue (11.2.0.2 seems to have too many bugs which can cause multiple child cursors). As per documentation [Read More]
11gR2: Monitoring Real Time SQL Plan Execution from Oracle Enterprise Manager
Ever since 11gR2 has been released, it has created a lot of buzz in Oracle Blogosphere with various posts on 11g Release 2 (11gR2 ) New Features primarily ASM New features. I would like to introduce you all to a feature which has been incorporated in 11gR2 Oracle [Read More]
dbms_stats.copy_table_stats does not alter low/high value
I was working on a performance issue arising due to missing table stats on a new partition for large Partitioned table.This was a 10.2.0.4 database on IBM AIX 5L. So as to resolve the issue , I used dbms_stats.copy_table_stats to copy the stats to new parition from the [Read More]
Index Access best approach?? Not Always…
There is a common misconception that Index access is the best access method for query execution. This approach leads to people concentrate on removing Full Table Scans (FTS) from the Query execution plan. I recently worked on a performance tuning issue where I found such [Read More]
11g New Feature: Database Replay
Database Replay: In critical production systems, before making changes to the environment( Hardware or software related), lots of testing is required in test systems to know the effect of those changes and this usually takes lots of time to test for the stability and [Read More]
ORA- 4031 – A Case Study
Today I will be taking up one ORA-4031 issue we faced on one of our client database. Please note that SQL statements mentioned below have been changed and does not reveal any confidential information. Our client was facing ORA-4031 on a 9.2 database.This was a new Database [Read More]
Tracing Sessions with Event 10046
10046 Event is used to trace SQL statements (similar to sql_trace=true) with additional details depending on the tracing level which is specified. 10046 EVENT levels: 1 – Enable standard SQL_TRACE functionality (Default) 4 – As Level 1 PLUS trace bind values 8 [Read More]
Application Design and ORA – 4031
Much has been written on designing good application (which uses bind variables) so as to have better performance and avoid shared pool memory issues. Tom Kyte explains this on one of his post consequences of not using bind variables If you do not use bind variables and you [Read More]
Tweaking _Shared_pool_reserved_min_alloc and ORA – 4031
Here comes one more article dedicated towards diagnosing ORA- 4031 and related parameters. While googling on ORA-4031 error or working on TAR with Oracle Support you will most likely hit this parameter “_Shared_pool_reserved_min_alloc “ and find a advice for [Read More]
HW enqueue contention with LOB
DefinitionEnqueues are local locks that serialize access to various resources. Enqueue wait event indicates a wait for a lock that is held by another session (or sessions) in an incompatible mode to the requested mode. HW Enqueue – High Watermark enqueue is acquired [Read More]
Shared Sub Pools
Today I will discuss about Shared pool subpools which have been introduced in release 9iR2 and higher (To be precise >9.2.0.5) and can be controlled by a hidden parameter “_kghdsidx_count “ Most of you would not have come across this term/parameter unless you [Read More]
Diagnostics For Database Hang
Many times Oracle DBA’s are in a situation when the database is hung and does not seem to be responding. In some scenarios, state is such that you cannot even connect to the sqlplus session. Majority people restart the database (Sometimes I wonder if this is due to [Read More]