18. 10. 2018.

Undo impact on Oracle Db performance

Many times I’ve been hearing how REDO is the most important to tune in order to have database running fast, but very rare I can hear that someone is mention UNDO as another piece of puzzle that is also extremely important to keep in good shape. In this article I’ll try to avoid what you […]

06. 09. 2018.

Performance tuning by using optimistic instead of pessimistic locking – Part 2

In the previous blog I described how to implement optimistic locking logic by using ORA_HASH function call. Here I’ll explore another option that I frequently use – last time when the row has been changed. Let’s create test table by using DEPT table as a base with one additional column – MOD_TIME. For MOD_TIME column […]

24. 08. 2018.

Performance tuning by using optimistic instead of pessimistic locking

Even though Oracle Db started with optimistic locking many years back, old fashion programming style can still be observed too often. In this article I’ll explain why you should avoid using pessimistic locking as mach as possible, and will show one of the alternative way to do the same task by using optimistic locking. I’ll […]

16. 08. 2018.

Exadata / Linux crash – capturing kernel dump on Linux systems

This article has been motivated from real life issue experienced on Exadata system running a few dozen of Oracle databases. I have already written about Exadata shortcoming in one of previous articles where I stressed that one of the main disadvantages of Exadata machine is non-existent virtualization technology. Oracle recognizes Oracle VM as the only […]

28. 07. 2018.

Supplemental logging – when to use it (and when not)

Supplemental logging feature along with streaming and CDC (change data capture) is available for a long time and is used mainly as one of the integration options especially for loading data from transactional (OLTP) into DW (Data Warehouse) staging tables. During my engagement on project for one large retailer, I noticed significant performance penalties due […]

08. 05. 2018.

Oracle tracing mechanism and when not to use it

Quite recently I had to trace/profile an extremely intensive batch job to provide information to Oracle for a further analysis. At very first moment it was obvious that this is a wrong approach and whatever we’ll get, it cannot server as evidence of performance issue that we have, as TKProf is designed to trace single […]

09. 04. 2018.

Resource Manager – internal plan

In this article I’m going to disclose Oracle Resource Manager Internal plan and how it can influence on database performances. Many of Oracle DBA are convinced that Resource Manager is not active, and that RM has to be enabled to be active. To confirm that theory, DBA can execute the following statement: select name, display_value, […]

05. 02. 2018.

Number of columns in RPM Worksheet tables – impact on performance

This time I’ll explain a challenge that I had with optimization of RPM worksheet tables. Even if you have all elements of enterprise architecture tuned, there is still something you can do to speed up the Query or DML operations. Here I’ll present what impact from the physical design you can expect. All examples will […]

13. 09. 2017.

How to clone Oracle Grid/Cluster database to a new server

Goal of this exercise is to clone Oracle database that is using Grid / Clusterware components to a separate server. Although you can find some articles on the Internet, problem is they are covering how to change the host name and/or IP address in case of Oracle Restart. This article will show you much more: […]

06. 09. 2017.

AWR migration between databases

This time I’ll explain AWR statistics migration between databases. This is not a new feature (available from 10g) but many DBA/Architects doesn’t know how to use it properly or even that this feature exist. Basically, the migration itself is very simple, and Oracle has provided scripts (awrextr.sql & awrload.sql) to make migartion as simple as […]