Monday, September 21, 2009
The Oracle Open World 2009 is just a few weeks ahead
The schedule builder is a very important tool during the event. This allows you to better plan ahead how your time will be distributed, when you are going to take breaks, when you are meeting friends and partners, visit the exhibition hall, assist to the demo grounds or perform other relevant activities.
The last time I was there I didn't carry my iPod with me and my cell phone didn't have wireless capabilities. Never do that. It is very useful to have your schedule on your handheld device and it is important to have internet, it becomes a very useful mean of communication. There are computers where you can quickly access your email and internet, but since they are public, it becomes difficult to remain more than ten minutes when several folks are waiting in line. I suggest you to take your portable wireless device with you.
Last year the electronic presentations were not available but for those who buy them. There is a CDRom you can buy. So if you are interested you can get them from Oracle.
This year I will be signing my book, the scheduled time slot will be on Tuesday 13th at 16:30 hrs at the library. I hope to see you there.
This is just the beginning, there will be a lot of things more to comment about this event.
Sunday, August 02, 2009
The Oracle ACE
"Oracle ACEs and Oracle ACE Directors are known for their strong credentials as Oracle community enthusiasts and advocates, with candidates nominated by anyone in the Oracle Technology and Applications communities. The baseline requirements are the same for both designations; however, Oracle ACE Directors work more closely and formally with Oracle in terms of their community activity."

Ref. Oracle ACE Program
Andrew Clarke mentioned in his blog how things have changed since he was first nominated to receive this Award back in 2003: "The bar has certainly been raised since I was nominated. If I look at some of the people who are now ACEs I think I must have walked into the wrong club." He also mentions it is something that happens sometime along the way, and certainly it is, it happens when you least expect it. You cannot nominate yourself, "someone else spotted your efforts" and it is just a way to give you a Big Thank You for providing meaningful and valuable contributions to the Oracle Community.
I have been in the Oracle community for 20 years so far, but it was not because of those 20 years I received this Award, but specifically because of the last five years, I have shared knowledge with the community in several ways, by participating in the Oracle Forums, sharing knowledge by writing an Oracle related blog, and by writing an Oracle book.
In this Universe, whatever you do, right or wrong follows the third Newton's Law "For every action there is an equal and opposite reaction." and this ACE Award is the practical manifestation of this law.
I just want to say a Big Thank You to the Oracle Community.
Friday, July 31, 2009
What does it feel to be twenty?
The 80's, the Glowing Decade
Back in the 80's talking about mobile phones was not popular at all. The cassio fx100 was my programmable scientific calculator used to solve integrals by means of numerical methods. In the music, Madonna, Billy Joel, Elton John, Cindy Lauper, Aerosmith, Brian Adams, Dire Straits, Duran Duran, Eurythmics, Peter Gabriel, Huey Lewis & the news, Robert Palmer, Bruce Springsteen, Survivor, Tears for Fears, Van Halen, ZZ Top, only to name a few, were the singers we used to hear with the walkMan (some sort of iPod of the 80's) wich was our preferred music gadget to play audio tapes.
At that time the fluorescent pink, yellow, green and blue were the fashion colors found in every guard robe. People dressed in those colors easily glowed in the night with the Discotheque lights. These noisy colors still survive today only as text markers.
At that time Java was an Island found in the Pacific Ocean and Cobol was still the programming language for the business applications. Meanwhile Pascal was an emerging structured programming language which mostly remained in the research labs. Most of the people related to informatics at the time felt in love with Pascal but ended married with C Language until the word Java changed its widely known meaning to the programming language for the internet.
20 Years of professional Career devoted to Oracle
Oracle has been evolving and it is as challenging, aggressive and innovative as the first time I met it. It was Oracle version 5.0 the first Oracle version I used to issue my first SQL statements. 16 Mb RAM, two hard disks of 512 Mb and 320Mb inside an HP9000 runnig HPUX 9.0 were the leading edge technology standards capable of carrying the data payload required to move the Metropolitan University data. Today this amount of computer power is hilarious, but if compared with the average PC of the time (640K RAM + Extended memory + 40Mb HD + 256 Colors monitor) this was a powerful Server.
My professional career has evolved side by side with Oracle. I have run at the same pace Oracle runs, stuck to it as its shadow. During this time I have seen a lot of people come and go to the Oracle community, and very few of them still join me today. Even though very few things have changed. The two main Kernel directives were not very different from today's kernel directives,
I. High Availability
II. High Performance
Oracle is conceived as a highly fault tolerate rdbms, whose memory and physical structures provide a good balance between recoverability and performance. I have met all the major and minor releases since then up to the latest available 11g release today and I can say that even though Oracle's main directives are the same, each day it becomes more robust and more complex.
It's been a long journey that has run at a very fast pace. I have met a lot of people, I have met a lot of places. And at the end here I am still working with Oracle. I enjoy this professional activity as much as the first time I met Oracle, it's been some sort of falling in love at the first sight that has ended in a marriage so fresh and new as the first time.
This is the train of a never ending trip where a lot of people climb up and others descend from it, but the most important part of it is the trip itself, not the destination.
Thursday, July 23, 2009
ORA-00600: [LibraryCacheNotEmptyOnClose]
Googling around I found that this errors is due to a bug (Bug 4483084 OERI[LibraryCacheNotEmptyOnClose] on shutdown), and it is harmless, so this can be ignored. There are people who have never seen this error but they started facing it after migration to 64 bit platforms.
According to Shervin Sheidaei, he stated that purging the memory region prior to the shutdown process using a shutdown event trigger the problem can be worked around.
Code taken from his blog:
CREATE or replace TRIGGER flush_shared_pool
BEFORE SHUTDOWN ON DATABASE
BEGIN
execute immediate 'ALTER SYSTEM FLUSH SHARED_POOL';
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR (num => -20000, msg => 'Error flushing pool');
END;
Packt Publishing Press Release
Oracle 10g/11g Data and Database Management Utilities is a new book from Packt that helps Oracle professionals improve performance and manageability using the advanced features of Oracle Utilities. Written by Hector R. Madrid, a certified DBA and Java curriculum instructor for the Oracle University, this book helps users to master the utilities to optimize the efficiency, management, and performance of their daily database tasks.
Database interaction is a part of the daily routine for all database professionals, and by using Oracle Utility tools such as Oracle Data Pump and Oracle SQL*Loader, users can benefit from improved maintenance windows related to data management tasks, optimized backups, faster data transfers, and more reliable security, thereby allowing them to do more with the same amount of time and resources.
Using the advanced features of direct export or import utilities, readers will learn to improve performance and manageability of different databases. Readers will make use of the Oracle Scheduler to specify maintenance windows, assign priorities, configure job classes and many more features. With the help of the Oracle Universal Installer tool, the installation tasks becomes more efficient, and allows users to execute effective default and comprehensive database creations.
Readers will also learn about the Oracle Wallet Manager and how it is used to increase the security in an Oracle environment, protect the backups, and manage its certificates. Using OPatch, users will be able to manage software updates related to Critical Patch Updates (CPU) or individual patches and perform installations in batch environments. They will also learn to use DBCA to create and configure a database and manage it in an ASM environment.
Oracle professionals interested in working with several powerful tools to help improve performance and manageability of utilities among different databases will find this book useful. This book is out now and is available from Packt. Fore more information, please visit http://www.packtpub.com/oracle-10g-11g-data-and-database-management-utilities/book
Does your database look complicated? Are you finding it difficult to interact with it? Database interaction is a part of the daily routine for all database professionals. Using Oracle Utilities the user can benefit from improved maintenance windows, optimized backups, faster data transfers, and more reliable security and in general can do more with the same time and resources.
"Oracle 10g/11g Data and Database Management Utilities" is written using a practical approach that guides you through different practical scenarios. It provides a brief introduction to the topics; this way you can quickly get to know the main features, start being productive with the tool, and grow with it at a fast pace. If you wish to read through the book extract, please feel free to click here: Book Extract
Wednesday, July 22, 2009
My recently published Book

Yet another CRS-0223: Resource 'ResourceName' has placement error
First I checked the alert.log file related to the cluster operation. It reported nothing unusual, everything seemed to be normal.
Next I took a look at the output of the command:
crsctl check crs
This command reported everything was working just as normal. Definitely it had to do with the syncronization at startup time. It is pretty weired since a normal node reboot should not lead to such inconsistency. I must point out that the environment used was 10gR2 (10.2.0.1.0) on RHEL4 (Red Hat Enterprise Linux AS release 4 (Nahant Update 3) 2.6.16 xenU (32-bit)), this was a scenario faced while I was teaching the RAC 10g course for Oracle. Since this environment is not patched at the start of the course, I would not be surprised to find out that this is due to an already filed bug.
The procedure was to kill (as root) all crsd.bin process on all participating nodes, then a simple crs_stop -all / crs_start -all was just enough to put everything back to normal.
Sunday, May 17, 2009
Setting up ASM in a Windows environment
ASM Setup
There is a procedure to prepare raw disks to be used in a ASM environment in a Window platform. I should point out that you didn't specified the actual windows version. The following procedure applies to a Windows 2003 O.S.Disk Layout
At least a raw partition is available.the DISKPART utility should be used (Win2K3) or Disk Manager (Win2K & Win2k3).
Windows does not automatically mount raw disks and make them visible. You must enable automounting. Using Diskpart at the Diskpart, at the Diskpart prompt type:
DISKPART> automount enable
At the Command Prompt type diskmgmt.msc this will start the Disk Management windows utility.
In case the disk is in dynamic mode, change it to Basic mode.
Create a new partition on the empty disk and select an extended partition. Select the partition size to fill the disk. Once the wizard is ready it will create the extended partition.
Logical Partitions
Once the extended partition is created, next step is to create the logical partitions. Being in the disk management utility, you should be able to see the extended partition created. Right click on the extended partition and create as many logical partitions as required. Make sure you don't assign a drive letter to the partition. One more thing, considering this partition MUST remain as a raw partition, do not format the logical partitions; the assistant displays the option, ensure no format is performed on the raw disk.At this point you should be able to see the logical partition created.
Repeat these steps for as many logical partitions as required.
Setup ASM
Once you are ready with the logical partitions, the next phase is to setup the ASM environment. Once in the Configure ASM assistant, define the Disk Group Name (DATA for example) click on the Stamp Disks, since there are currently no disk labeled, the asmtool performs the disk labeling. At the asmtool you should be able to see the partitions, there you can see the disk status, if the flag is 'Candidate devivce' then it ca be selected and labeled. The disk name format is something like \Device\Harddisk1\Partition_N. Once they are labeled they will appear as candidate disks, you should be able to see them as a candidate disk back in the ASM assistant, there you should be able to see the candidate raw device in the format similar to this:\\.\ORCLDISKDATA_N
In the final step you should be able to see the candidate disks, just compose the ASM disk groups as required and you are done with the ASM setup procedure.
Tuesday, November 11, 2008
What Happens during a hot backup?
Myth #1: The hot backup generates "a lot" of redo information
Myth #2: The archivelog mode "dramatically slows down" the database
Myth #3: When a hot backup is in progress the target datafile is frozen.
There are two ways to generate a hot backup, the first one is by a user managed backup and the second one with recovery manager. The database is required to be in archivelog mode for it to be able to perform an online backup. Both ways to perform an online backup work in a similar way, as I will further explain later, rman is more efficient than the user managed backup.
User managed backup
alter tablespace ts_name begin backup;
When the command is issued, at this point in time a checkpoint is performed against the target tablespace; then the datafile header is frozen, so no more updates are allowed on it (the datafile header), this is for the database to know which was the last time the tablespace had a consistent image of the data.
The datafiles with the backup in progress will still allow read/write operations just as a regular datafile, I/O activity is not frozen.
Each time a row is modified, not only the row, but the complete block is recorded to the redo log file, this will only happen the first time the block is modified, subsequent transactions on the block will only record the transaction just as normal.
During the user managed backup process the "fractured block" event may be present. Let's remember that the oracle block is the minimum IO unit, and an oracle block is made out of several OS blocks; let's assume a block size of 8K and an OS block of 512b, this will give 16 OS blocks. If during the backup process of a block there is a write operation on the block then the backup will contain a before image and an after image of the oracle block, the complete block in the backup media will be corrupt. This is normal, consistency is not guaranteed on the backup, that is why the header must be frozen to mark the point where the recovery process will have to start, and that is why oracle record a complete block image on the redo log file.
At the time the alter tablespace ts_name end backup; command is issued then the backup process is finished and the datafile header resumes its regular IO activity.
Recovery manager backup
The same process happens when a rman backup takes place, the only difference is that rman better handles the fractured block issue, it doesn't write block fragments or partial blocks to the backup, it writes the complete consistent block image to the backup media. So recovery manager doesn't need to record the complete block to the redo log file.
Some further comments on the rman case, rman doesn't freeze the datafile header, it continues to checkpoint just as regular, but it does perform a checkpoint to the tablespace.
From my perspective, the user managed backup (UMB) is a backup method that is less frequently seen on production environments, since Oracle 9i Rel 2 most DBA's considered rman as part of the regular backup/recover strategy, it performs better that the UMB, it is able to perform a block level backup, meanwhile in the UMB the whole datafile must be backup even if a lot of clean blocks are present.
Some advices for the people who still use UMB, don't let the BEGIN BACKUP run for long periods of time, it is very likely that the more time it takes to perform the backup, the more blocks are likely to change, which may generate more blocks contents to be written to the redo log files.
Monday, November 10, 2008
libawt.so: libXp.so.6: cannot open shared object file
There are two libraries which are not installed by default in OEL5, libXp-1.0.0 and compat-db, these files are found on Disk3 in OEL 5.2.
The command used to install the required RPM's on OEL 5.2 is:
rpm -ivh compat-db-4.2.52-5.1.i386.rpm compat-libstdc++-296-2.96-138.i386.rpm compat-libstdc++-33-3.2.3-61.i386.rpm gcc-4.1.2-42.el5.i386.rpm gcc-c++-4.1.2-42.el5.i386.rpm glibc-devel-2.5-24.i386.rpm glibc-headers-2.5-24.i386.rpm libgomp-4.1.2-42.el5.i386.rpm libstdc++-devel-4.1.2-42.el5.i386.rpm libXpm-devel-3.5.5-3.i386.rpm
done libXp-1.0.0-8.1.el5.i386.rpm
This assumes all RPM's are present on a stage area.
