Pidstat

Recently, I’ve been faced with a strange problem: around 10AM every morning, my database was showing signs of IO contention. Wait times for db file sequential and multipblock reads were increasing for no apparent reason and there were no signs of increased activity reported by the users. Fortunately, my system (more...)

Expert consolidation in Oracle database 12c

Today, I entered the term “Oracle Database 12c” in the books section of Amazon.com, my favourite, and was surprised by the results. There are few books announced for April 2012, some for May and June 2013, without the database even being available to the public. Expert consolidation in 12c? (more...)

The Case of Missing Utility

Recently, I’ve asked to help a client who was having doubts about their backup strategy. The client was considering image backup of database which would be constantly recovered and backed up to tape on the daily basis, by using “backup recovery area” command. However, there was a problem: there is no “restore recovery area” command. The utility to restore the recovery area seems to be missing, thus the name of this article became “The Case of Missing Utility”.

So, let’s see some definitions. This is what the client has envisioned:

RMAN> backup incremental level 1 for recover of copy database;

(more...)

ASM, block devices and SCSI emulation.

Quite recently, I learned that Oracle ASM is now supporting block
devices. The whole process is described here:

http://docs.oracle.com/cd/E11882_01/install.112/e17212/storage.htm#CDEBFDEH

This deserves few additional observations. The main engine that enables
one to add block devices to SCSI is udev. Essentially, one creates SCSI
devices by using a configuration file like this one, pasted directly
from the manual above:

# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL==”sd?1″, BUS==”scsi”, PROGRAM==”/sbin/scsi_id”,
RESULT==”14f70656e66696c00000000″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″
KERNEL==”sd?2″, BUS==”scsi”, PROGRAM==”/sbin/scsi_id”,
RESULT==”14f70656e66696c00000001″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″
KERNEL==”sd?3″, BUS==”scsi”, PROGRAM==”/sbin/scsi_id”,
RESULT==”14f70656e66696c00000002″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″

What does that do? This enables udev to create “SCSI (more...)

Native PLSQL Execution

Native PLSQL execution has changed significantly since the version 10G. The effects are less than spectacular, in the ideal case I got about 10% of the performance boost. This is much easier to administer now, there are no shared libraries in the file system, as was the case with version 10G. Oracle has re-invented the dlopen routine, with the shared library residing in the database. The gory details can be found at:

http://mgogala.byethost5.com/Native_PLSQL_Execution.html

On the same web site, there is also a PDF version of the same page but WordPress displays some inane commercial, rather than to (more...)

Native Compilation and TRCA

Carlos Sierra of Oracle Corp.  created a very useful tool called TRCA, intended for analyzing Oracle trace files, much like tkprof. The tool is written entirely in PL/SQL, so there is no command line interface distributed with the tool. It is easy to write a command line wrapper, like this one:

http://mgogala.byethost5.com/trca_cli

The only problem with the TRCA is the fact that it is written entirely in PL/SQL, which makes it significantly slower than orasrp or Method-R profiler, written in D or Perl, respectively. That can be helped by using native compilation. It is not enough to (more...)