session_cached_cursors is one of the neglected parameter in oracle environment which specifies the number cursor cached in the PGA of a session. Any SQL executed multiple times will be cached and executed with a softer soft parsing. There can be 3 scenarios for any parse request.
SQL parsing (more...)
When I wrote this article for The Register in October 2010, there was a torrent of naysayers and witch hunters spewing their opinions in the comments section. I don't have a problem with that, I was only expressing an opinion myself, after all. I don't actually own a time machine (more...)
This is just a pointer post to a tool which I discovered today. It is ORATOP, to monitor databases real time like top of unix flavours. It is pretty much like MOATS (tool from Tanel Poder and Adrian Billington and RAC version by Jagjeet Singh), with a bit better output (more...)
Got a question: What will happen a running curosr got invalidated? SQL execution will fail or invalidation is not at all possible?
There are two components for an executing cursor. A session cached cursor (private area where row source are getting processed) in PGA and sharable execution plan (shared excution (more...)
One “feature” to be aware of in old-fashioned Oracle 11g – took me a while to figure it out, so just in case anyone else gets hit by it…
I changed the password of a schema in a test database to stop anything connecting whilst that schema was being logically (more...)
In this post, I would like to share some knowledge about optimizing indexes in Oracle Coherence.
Normally you should not abuse queering features of your data grid and, hence, you are unlikely to ever need to tune indexing/queering (besides choosing which indexes to create). But sometimes, you really need to (more...)
XMLIndex support for Hash Partitioning is now also supported in Oracle 12c. In Oracle 11 this was already supported for RANGE and LIST partitioning, but not yet for HASH partitioning. Some examples for the later two could have been LIST Partitioning on XMLType -- -- Create partitioned LIST partitioned XMLType (more...)
is a great tool to measure and investigate latency for performance troubleshooting. DTrace is now coming to the Linux platform too and I would like to share a few tests I did with it. The following is meant to be a short technology exploration but hopefully it can also highlight (more...)
This is a first articles in series, where I would like to study effect of various HotSpot JVM options on duration of STW pauses associated with garbage collection.
This article will study how number of parallel threads affects duration of young collection Stop-the-World pause. HotSpot JVM has several young GC (more...)
This is the last post in this series and I’ll not introduce anything new here, but rather just summarise the changes explained and talk a bit about the value the solution delivers to the organisation.
Let’s first review the situation we faced before implementing the changes.
The cost of writing (more...)
produced a world record single-server SPECjEnterprise2010 benchmark
result of 27,843.57 SPECjEnterprise2010 EjOPS using one of Oracle's
SPARC T5-8 servers for both the application and the database tier.
SPARC T5-8 server ran the Oracle Solaris 11.1 operating system and used
Oracle Solaris Zones to consolidate eight Oracle (more...)
Reducing storage requirements
In the last post in this series I talked about how we sped up the move of data from operational to historical tables from around 16 hours down to just seconds. You find that post here.
The last area of concern was the amount of storage this (more...)
OraLatencyMap v1.1 is an updated versions of a performance tool aimed at collecting and displaying Oracle wait event histogram data as latency heat maps. We will also briefly discuss an example of the usage of OraLatencyMap in the context of storage testing.OraLatencyMap v1.1 is now available (more...)
Moving to history tables
In the last post I talked about how we made the speed of actually writing all those log-records much faster. It has to date been so fast that no a single report of a problem has been filed. you find that post here.
Once the data (more...)
Writing log records
The last post in this series introduced the problem briefly. You find that post here.
In this post I’ll talk about the changes made to make that writing of log records fast enough. There were 50 million records that was written. Each of them pretty much in its (more...)
In my work among other things I tune and tweak solutions for EXADATA. Today I’ll write about a big improvement we achieved with a process that moves data from the operational tables to the ones where the history is stored.
This will not be a technical post. While I (more...)
This post is about the use of heat maps
to investigate wait event latency in Oracle (and in particular I/O-related latency). This post also discusses a SQL*plus-based script/tool I have developed to help with this type of monitoring and performance drill-down (OraLatencyMap
Oracle (since version 11gR1) exposes (more...)