Archive for the ‘11g’ Category

Reverse Path Filtering and RAC

June 04, 2012  |   11g,Oracle database internals,Performance tuning,RAC   |     |   0 Comment

This is a quick note about reverse path filtering and impact of that feature to RAC. I encountered an interesting problem recently with a client and it is worth blogging about it, with a strong hope that it might help one of you in the future. Problem Environment is 11.2.0.2 GI, Linux 5.6. In a 3 node cluster, Grid Infrastructure (GI) comes up cleanly in just one node, but never comes ...

All about RAC and MTU

Let's first discuss how RAC traffic works before continuing. Environment for the discussion is: 2 node cluster with 8K database block size, UDP protocol is used for cache fusion. (BTW, UDP and RDS protocols are supported in UNIX platform; whereas Windows uses TCP protocol). UDP protocol, fragmentation, and assembly UDP Protocol is an higher level protocol stack, and it is implemented over IP Protocol ( UDP/IP). Cache Fusion uses UDP protocol to send packets over ...

_gc_fusion_compression

April 29, 2012  |   11g,Blog,Oracle database internals,Performance tuning,RAC   |     |   1 Comment

We know that database blocks are transferred between the nodes through the interconnect, aka cache fusion traffic. Common misconception is that packet transfer size is always database block size for block transfer (Of course, messages are smaller in size). That's not entirely true. There is an optimization in the cache fusion code to reduce the packet size (and so reduces the bits transferred over the private network). Don't confuse this note with Jumbo ...

gc buffer busy acquire vs release

April 29, 2012  |   11g,Oracle database internals,Performance tuning,RAC   |     |   0 Comment

Last week (March 2012), I was conducting Advanced RAC Training online. During the class, I was recreating a 'gc buffer busy' waits to explain the concepts and methods to troubleshoot the issue. Definitions Let's define these events first. Event 'gc buffer busy' event means that a session is trying to access a buffer,but there is an open request for Global cache lock for that block already, and so, the session must wait for the ...

Nologging redo size

January 26, 2012  |   11g,Oracle database internals,Performance tuning   |     |   0 Comment

It is probably easy to calculate hourly redo rate or daily redo rate using AWR data. For example, my script awr_redo_size.sql can be used to calculate daily redo rate, and awr_redo_size_history.sql can be used to calculate hourly redo rate. Hourly redo rate is especially useful since you can export to an excel spreadsheet, graph it to see redo rate trend. Introduction to Direct Mode Writes Direct mode operations write directly in to the database file ...

Troubleshooting LMS processes

This was created circa July 2011. Enjoy. [wpvideo mabMGh2o]

SCN – What, why, and how?

In this blog entry, we will explore the wonderful world of SCNs and how Oracle database uses SCN internally. We will also explore few new bugs and clarify few misconceptions about SCN itself. What is SCN? SCN (System Change Number) is a primary mechanism to maintain data consistency in Oracle database. SCN is used primarily in the following areas, of course, this is not a complete list: Every redo record has an SCN version of the redo record ...

Troubleshooting ‘DFS lock handle’ waits

November 08, 2011  |   11g,Blog,Oracle database internals,Performance tuning,RAC   |     |   7 Comments

Waits for 'DFS lock handle' can cause massive performance issues in a busy RAC cluster. In this blog entry, we will explore the DFS lock handle wait event, and understand how to troubleshoot the root cause of these waits. I am also going to use locks and resources interchangeably in this blog, but internally, they are two different types of structures. A little background DFS (stands for Distributed File System) is an ancient name, associated ...

Oracle Open World 2011 – My presentation on RAC topic

September 28, 2011  |   11g,Blog,Performance tuning,Presentations,RAC   |     |   3 Comments

I will be talking about "Administering Parallel Execution in RAC" with demos on Sunday morning 9AM-10AM (session id 28060). This is part of IOUG RAC SIG presentation series. You would enjoy the content and demos I have prepared. I know, it is too early, but hoping to see you there! BTW, if you have attended my RAC Advanced Troubleshooting class series, please don't hesitate to introduce yourself when we meet. Session details: Session ID: 28060 Session Title: IOUG: ...

What’s in a voting disk?

October 29, 2010  |   11g,Blog,Oracle database internals,Performance tuning,RAC   |     |   5 Comments

Introduction In RAC, CSSD processes (Cluster Services Synchronization Daemon) monitor the health of RAC nodes employing two distinct heart beats: Network heart beat and Disk heart beat. Healthy nodes will have continuous network and disk heartbeats exchanged between the nodes. Break in heart beat indicates a possible error scenario. There are few different scenarios possible with missing heart beats: Network heart beat is successful, but disk heart beat is missed. Disk heart beat is successful, but ...