Thursday, March 08, 2007

My blog has moved to wordpress

I have moved my blog to a new location.
Now you can find me here:

Pls spread the news,
google has kicked me out now!

Monday, March 05, 2007

Automatic Memory Management in Oracle 11g

Since quite a few days I had the chance to look at parts of the beta documentation for the Oracle 11g database and since a few days I also have the beta software.

One of the new features coming up is the enhencement of automatic memory management.

The whole automatic memory thing had already started with the release Oracle 9i where the parameter SGA_MAX_SIZE was introduced, to limit the maximum memory Oracle can use for the SGA. Within SGA_MAX_SIZE a number of caches were dynamically, but still manually adjustable. These caches included the
JAVA POOL and the

In those days the DBA had to check statistics in v$views in order to find out if the caches needed manual adjustment.

Starting with Oracle 10gR1 the new parameter SGA_TARGET was introduced which allowed us to limit the amount of SGA_MAX_SIZE which can be used by Oracle.
If you set SGA_TARGET to a value other than 0 (zero) then Automatic Shared Memory Management (ASMM) is enbaled in 10g. This meens that we allow Oracle to adjust these caches as the workload needs it. We can increase this value dynamically, but manually by adjusting SGA_TARGET up to SGA_MAX_SIZE. In most cases it does not make sense to set SGA_TARGET to a value different from SGA_MAX_SIZE. This is only for systems like a SUN FIRE which allow the dynamic reconfiguration of the server (adding memory boards while the server is running).
Within SGA_TARGET a number of caches are autotuned, including the
LARGE POOL and starting from 10gR2 also the new in 10gR1
At startup time SGA_TARGET is allocated and first of all the non dynamically adjustable caches get their catch. Afterwards the others, the automatically tunable caches get their share.
SGA_MAX_SIZE is reserved for ORACLE at startup time, but as long as it is not touched it is not used.
As of Oracle 11g we will have one parameter which we can use to allow Oracle not only to adjust these five caches in the SGA but also we allow Oracle to shrink and grow the entire SGA memory in order to hand over memory to the PGAs (process memory) and vice versa.
This parameter is called MEMORY_TARGET. With this we can specify how much memory we want to allow ORACLE to use all over, including SGA and PGAs.
MEMORY_TARGET is a dynamic parameter and can be changed with an ALTER SYSTEM SET... statement. It can be adjusted up to the value of MEMORY_MAX_TARGET. Now we do not only have Automatic Shared Memory Mamangement but Automatic Memory Management (system memory plus process memory).
Here is what the reference says:
MEMORY_TARGET specifies the Oracle system-wide usable memory. The database tunes memory to the the MEMORY_TARGET value, reducing or enlarging the SGA and PGA as needed. In a text initialization parameter file, if you omit the line for MEMORY_MAX_TARGET and include a value for MEMORY_TARGET, the database automatically sets MEMORY_MAX_TARGET to the value of MEMORY_TARGET. If you omit the line for MEMORY_TARGET and include a value for MEMORY_MAX_TARGET, the MEMORY_TARGET parameter defaults to zero. After startup, you can then dynamically change MEMORY_TARGET to a non-zero value, provided that it does not exceed the value of MEMORY_MAX_TARGET.

This is a feature we had expected to come up since a long time and I hope that it will work fine for at least most of the systems.
But I would suggest to first test it thoroughly before using it in production because all these new features which have AUTOMATIC in their names can have their issues at least in the first releases. And this is why they never are the default right away.

Friday, March 02, 2007

DBA course under special conditions

This week I have delivered a 10g DBA course in Baden which was very special.
1. The course was in English which is not a problem
2. I had customers from three different nationalites which was very interesting

There was an Parminder, an Indian

and a Palestinean, and an Israeli.
It made me very happy to see the Hazim and Tsachi
sitting next to each other discussing techincal things
and even political and religious topics peacefully and having fun with each other.

3. The Baden Oracle plant is undergoing reconstruction
at the moment and it was not easy to keep up business as normal.
This picture show Barbara Haller wearing a dust mask because behing the reception there was heavy work going on.

Does anybody recognize the training room from last week?

Sunday, February 25, 2007


This week I have delivered my INSIDE ORACLE special seminar for the first time.
The seminar is a two day event which deals with Oracle 10g key features and upgrade issues.
I had 18 delegates with different backgrounds who were highly interested in memory management, new performance tuning techniques and backup strategies.
In between the paticipants had the opportunity to test some of the features hands on in the seminar room where we had a munber of system instaled with Oracle 10g database.
I have received a number of emails with very positive feedback in the meentime.
This seminar is available internationnally from now on and I already have the first bookings for it.
In May I will be delivering in Germany and Turkey and Greece hopefully as well.
And there are other talks going on in the background at the moment.

Tuesday, February 20, 2007

statistics_level translated

I just found my blog translated into another language:

Can anybody tell me which language this is?

Enterprise Manager Packages Petition

Today I received a comment on my post about licensing of the Enterprise Manager packages.
Edgar pointed out a petition which has already been signed by 140 people.
This petition requests that Oracle Corporation should make all of its Enterprise Manager management packs available to all of its customers at the same price, regardless of the edition of the Oracle product that they have purchased.

I am not sure if this will be successfull but it is worth a try, don't you think so?

Thursday, February 15, 2007

new OCPs and OCAs

This week I have deliverd a specially condensed 10g New Features with Exam course for Oracle Partners.
After 4 days of exam cram three of the delegates have managed to pass the examinatin tests in teh Oracle University testing center in Baden.
Here you can see the two new OCPs Klaus and Martin as well as the new OCA Renato.

Enterprise Manager Packages Licensing Information Part II

A few weeks ago I have already posted about the licensing agreements for the Oracle 10g Enterprise Manager Packages.
I have pointed out that you use these packages implicitly if you even do not use Enterprise Manager at all, but only
- run certain scripts from $ORACLE_HOME/rdbms/admin/
- call certain procedures from certain packages
and so on
Pls see my first post about this for a detailed list of functionalities which use these packages implictily..

Just recently I received a comment on this post by Russel who asked about ADDM in Standard Edition, which made me wonder..
First of all I looked up the licensing information in the Online Ducumentation where I found the Table 1-1 Feature Availability for Oracle Database Editions which shows me:

Feature/Option SE1 SE EE Notes


Oracle Change Management Pack




Extra cost option

Oracle Configuration Management Pack




Extra cost option

Oracle Diagnostic Pack




Extra cost option

Oracle Tuning Pack




Extra cost option, also requires the Diagnostic Pack

Duplexed backup sets




Database Resource Manager




The Documentations explains to us the following about Table 1-1:
Table 1-1 lists feature availability for Oracle Database Standard Edition One (SE1), Standard Edition (SE), and Enterprise Edition (EE). The Y value in a column means that the feature is available in the specified release; N means that it is unavailable. This table can help you understand the difference between the editions and determine whether you require Enterprise Edition (or Personal Edition for a single-user environment).

Russel had asked in his comment about addmrpt.sql script for Standard Edition.
So I have installed SE under Linux and found out to my surprise that all the Enterprise functionalites where there ADDM, AWR, all the Enterprise Manager Packages which are not available, as the docu says. They were all in place and functionable in SE!
So I called Oracle support and here is what I was told:

SE has the same code base as EE, and all the EE-functionalities are also working in SE, they are even used by ORACLE internally for self tuning ,
you are not allowed to use them.

And now you maybe should look at my first post again in order to find out what is not allowed and what brings you in danger od needing even not only an additional license for the packages but, also you might need a license for Enterprise Edition on top because the packages which are not available as of the Docu, but which are in place and functionable, and are implicitly used if you just klick to one little link in the browser or call just one procedure or run only the wrong skript from $ORACLE_HOME/rdbms/admin, are not combinable with an SE license.

The nice new functionality called database usage statistics high water marks will let you and everyone who can look at it know, which feature was used in the past and how often and so forth:
Haved a look at DBA_FEATURE_USAGE_STATISTICS and you will know if you already need a license for Enterprise Edition.

Thanks a lot for asking Russel!!!!
I was not aware of this.

Sunday, February 11, 2007

Brand new book on RMAN Backup & Recovery out!

Finally it has been published:
the ultimat RMAN book for Oracle 10g
by M. Hart & R. Freeman!

I have been waiting for the 10g version of the book since quite a while already.
It was one of the very good books for Oracle 9i and I can tell you that the new one is as good.

ISBN: 0072263172 / 9780072263176
What I like most about the book:
- It contains a number of workshop for advanced recovery scenarios and
points out all these RMAN functionalities which are much too less used and know like BLOCK RECOVERY, PROACTIVE CHECKING FOR CORRUPT BLOCKS and so on.
- it has good index
- it contains info about memory utilization of RMAN for tuning

The book also covers new 10g features, such as Flashback, Transportable Tablespaces Cross Platform ...

It is a must for everybody who needs to know how RMAN works and how to utilize it to the max.

Table of contents
Part I: Getting Started with RMAN in Oracle Database 10g
Chapter 1: Oracle Database 10g Backup and Recovery Architecture Tour
Chapter 2: Introduction to the RMAN Architecture
Part II: Setup Principles and Practices
Chapter 3: RMAN Setup and Configuration
Chapter 4: Media Management Considerations Chapter
5: Oracle Secure Backup
Chapter 6: Enhancing RMAN with VERITAS NetBackup for Oracle Chapter
7: Configuring EMC NetWorker Module for Oracle Chapter
8: RMAN and Tivoli Storage Manager
Part III: Using RMAN Effectively Chapter
9: RMAN Backups Chapter
10: RMAN Restore and Recovery Chapter
11: Using Oracle Enterprise Manager for Backup and Recovery Chapter
12: RMAN Advanced Recovery Topics Chapter
13: Surviving User Errors: Flashback Technologies Chapter
14: Maintaining RMAN Chapter
15: Monitoring and Reporting on RMAN Chapter
16: Performance Tuning RMAN Backup and Recovery Operations
Part IV: RMAN in the Oracle Ecosystem
Chapter 17: Duplication: Cloning the Target Database
Chapter 18: RMAN and Data Guard
Chapter 19: RMAN and Real Application Clusters
Chapter 20: RMAN in Sync and Split Technology
Chapter 21: RMAN in the Workplace: Case Studies
Part V: Appendixes
Appendix A: RMAN Syntax Reference Guide
Appendix B: Exploring the Recovery Catalog
Appendix C: Setting Up an RMAN Test Environment


Saturday, February 10, 2007

Oracle Database 10g Real Application Clusters Handbook

I have just received the recent new book (FEB. 2007!)
by K. Gopalakrishnan
Oracle Database 10g Real Application Clusters Handbook

Gopalakrishnan is a Senior Principal Consultant in Oracle Corporation and was avarded "Oracle Author of the year 2005" by Oracle Magazine in for his 2005 published book "Oracle Wait Interface", which was one of the few books of the last year about Oracle which were really worth their money. Pls see my post about this book also.

After having a first glance at the new book I am very enthusiastic about it, because it contains large chapters about cache fusion (36 pages!) and the Global Resource Directory GRD (>20 pages) explained from scratch , amoung other intereseting chapters about troubleshooting RAC, RAC deployment...
Again we find the high quality we already have enjoyed in Gopalakrishnan´s Wait Interface book, and I bet it will be a success story as well.

Table of contents

Part I: High Availability Architecture and Clusters
Chapter 1: Introduction to High Availability and Scalability
Chapter 2: Clustering Basics and History
Chapter 3: RAC Architecture
Part II: Installation, Configuration, and Storage
Chapter 4: RAC Preinstallation
Chapter 5: RAC Installation
Chapter 6: Automatic Storage Management
Part III: RAC Administration and Management
Chapter 7: RAC Basic Administration
Chapter 8: RAC Advanced Administration
Chapter 9: RAC Backup and Recovery
Chapter 10: RAC Performance Management
Part IV: Advanced Concepts in RAC
Chapter 11: Global Resource Directory
Chapter 12: A Closer Look at Cache Fusion
Chapter 13: Workload and Connection Management
Chapter 14: RAC Troubleshooting
Part V: Deploying RAC
Chapter 15: RAC Extensions
Chapter 16: Developing Applications for RAC

ISBN 007146509X / 9780071465090

Paperback, 421 pages

Sunday, February 04, 2007

INSIDE ORACLE 10g special seminar

At the moment I am preparing a special two day seminar about Oracle 10g.
I have entirely created it on my own.

Its title will be INSIDE ORACLE 10g
and I will deliver it for the first time on
February 19th./20th. in Zurich.

on the first day of seminar I deal with the following topics:
- Memory Management:
- manual & automatic Shared Memory management
- manual & automatic Process Memory management
- temporary tablespace usage
- managing optimizer statistics and upgrade issues

On the second day I will talk about:
- New Performance Tuning Approach in 10g
- New RMAN Features and how they work
- The new ORACLE recommended backup strategy
- FLASHBACK Functionalities in 10g

The seminar will take place at Digicomp Academy in Zurich
and is handled by Oracle University.
The number of seats is limited to 30.
The prise is 1700 CHF for the two days.
There are already several bookings placed.

If you are interested in attentding you can book simply
through my company sysdba database consulting GmbH
by cutting and pasting the below lines, filling them in with your data and sending them to
sysdba database consulting GmbH by FAX
under the following number: +41 56 470 2264

Order Form for the two day seminar INSIDE ORACLE 10g
on February 19th./20th. 2007 in Zurich:

Yes, I want to enroll

LAST NAME...............................................................
FIRST NAME.............................................................
Number of Seats.........................................................
Telefone Number:......................................................
FAX Number..............................................................



Certifying CERN again

This week I am in Geneva again,
delivering a special certification event for Oracle University.
Again a bunch of DBAs want to get certified for Oracle 10g.
We compress a pensum of 10 normal education days into 5.
I guess that again this will be no problem for these guyes -
they are CERN!
I am looking foreward to these delicious Sushis in the basement of Cornavin Station.

Wednesday, January 31, 2007

Oracle ACE award

Yesterday I received my Oracle ACE reward from Oracle Technology Network.
The picture shows me with Ralph Bellinghausen from Oracle University Switzerland.

OTN sent me a plaque with my name and a pullover.

Thanks OTN!

Monday, January 15, 2007

New Demos on 10gR2 RAC available on OTN

There is a series about Oracle 10gR2 in Oracle By Example on OTN which provides us with a large number of really brilliant mini lessons in the form of little java viewlets which you can run in your browser.
Specially the RAC demos appletts are very handy.

The man behind this is Jean-Francois Verrier. He works as a course developer for Oracle University and puts a lot of effort into this series.
Here is a list of this brilliant collection on OTN which has been updated just recently with a number of new demos.
It is worth checking it out definitely!

This is what you can find there at the moment for Oracle Database 10g Release 2 and especially Oracle 10g RAC:


Using SQL Baselines

Using Metric Baselines

Transport a tablespace version to another database

Automatic Storage Management (ASM):

Install ASM single instance in its own home

Install ASM single instance in the same home

Migrate a database to ASM

Setup XML DB to access ASM

Access ASM files using ASMCMD

Real Application Clusters (RAC)

RAC Deployment Series (Beta):

Setting Up RAC Storage

Setting Up Openfiler Storage

Setting Up iSCSI On Client Side

Using fdisk to Partition Storage

Setting Up Multipathing On Client Side

Installing and Configuring ASMLib

Setting Up Storage Permissions On Client Side

Installing Oracle Clusterware

Installing Real Application Clusters

Configuring ASM Storage

Installing Oracle Database Single Instance Software (Part I)
Installing Oracle Database Single Instance Software (Part II)

Creating Single Instance Database

Protecting Single Instance Database Using Oracle Clusterware

Converting Single Instance Database to RAC Database

Adding a Node to Your Cluster

Extending Oracle Clusterware to Third Node

Extending RAC Software to Third Node

Extending RAC Database to Third Node

Rolling Upgrade Your Entire Cluster

Creating a RAC Physical Standby Database

Installing and Configuring OCFS2

Setting Up RAC Primary Database in Archivelog Mode

Backing Up RAC Primary Database

Configuring Oracle Network Services on Clustered Standby Site

Creating RAC Physical Standby Database Using OCFS2 Storage

Checking RAC Physical to RAC Standby databases Communication

Converting RAC Physical Standby Database to RAC Logical Standby Database

Rolling Upgrade Oracle Clusterware

Rolling Upgrade Oracle Clusterware on Clustered Primary Site ( to

Rolling Upgrade Oracle Clusterware on Clustered Standby Site ( to

Upgrading your RAC Standby Site

Upgrading RAC Standby Database From to (Part I)

Upgrading RAC Standby Database From to (Part II)

Switching Primary and Standby Databases Roles

Upgrading your old RAC Primary Site

Upgrading RAC Old Primary Database From to (Part I)

Upgrading RAC Old Primary Database From to (Part II)

Switching Back Primary and Standby Databases Roles


RAC scale example

RAC speedup example

Use Transparent Application Failover (TAF) with SELECT statements

Oracle Clusterware:

Use Oracle Clusterware to protect the apache application

Use Oracle Clusterware to protect the Xclock application

RAC Voting Disk Multiplexing

Patch Oracle Clusterware in a Rolling Fashion

CSS Diagnostic Case Study

RAC OCR Mirroring


Runtime Connection Load Balancing example

Basic use of services in your RAC environment

Installs and Enterprise Manager:

Install ASM in its own home in a RAC environment

Convert a single-instance database to a RAC database using Grid Control

Push Management Agent software using Grid Control

Clone Oracle Clusterware to extend your cluster using Grid Control

Clone ASM home to extend your cluster using Grid Control

Clone database home to extend your cluster using Grid Control

Add a database instance to your RAC database using Grid Control

RAC Concepts:

RAC VIP Concepts

RAC Object Affinity Concepts

Rolling Release Upgrade (Beta): to

Upgrading your Standby Site

Upgrading RAC Standby Database From to (Part I)

Upgrading RAC Standby Database From to (Part II)

Switching Primary and Standby Databases Roles

Upgrading your old Primary Site

Upgrading RAC Old Primary Database From to (Part I)

Upgrading RAC Old Primary Database From to (Part II)

Switching Back Primary and Standby Databases Roles

Sunday, January 14, 2007

Oracle DBA Toolbar

Sorry, do not install the Oracle DBA toolbar!!!
It seems to have problems with the up to date internet explorer!!! (see comments!!!)

A few weeks ago there was a download link on OTN for the
ORACLE DBA toolbar, a little plugin for Microsoft Internet Explorer.

After I got a new maschine I had to search for a while to find it again:
I like this little tool very much. so I got it again.
It is an .exe file you download of 880 k size, which installs th toolbar into the browser.

After the installation you have links in the browser which you can use to access the software downloads from OTN, Metalink, your local SQL*PLUS and a little collection of favorites and other usefull links.

I hope that it will be fixed and available for firefox soon!!!


Friday, January 12, 2007

Got the I-Pod with an Oracle course

tzerland to find out
Today one of my customers received a 4GB i-Pod nano
since he had booked two Oracle courses in Switzerland
between Dec. 1st. 2006 and Feb. 28th. 2007.

This is a really cool promo!
And it is still running!
You can contact the toll free number
0844 844 822 in Switzerland to find out more about it.
Or ask per email:,
or use this link

Wednesday, December 13, 2006

Licensing Oracle Clusterware?

Recently I have posted about how to protect a single instance database with Oracle Clusterware and have received a number of comments and requests concerning licensing information for this feature.
So I have just asked Oracle PreSales about this and here we are with the details:
The good news is:
You do not need an additional license to use the Oracle Clusterware, even with single instance database!
But!: the emphasis is on additional!
You need to have at least one license for at least one standard edition database in the cluster if you want to use the clusterware to protect your single instance database!

Friday, December 08, 2006

Steven Feuerstein coming to Zurich

The PL/SQL guru and Oracle ACE Steven Feuerstein will be in Zurich on March next year.

These seminars are an absolute MUST for a PL/SQL-programmer!

He will deliver special seminars on programming techniques at the Sonnenberg Convention Center:
This is a summary contents for the seminars:
  • Overview:
    Over its lifetime, PL/SQL has grown increasingly robust and complex. Many programmers are barely aware of the new capabilities of PL/SQL, much less fully understand the implications for their programs. And virtually all PL/SQL developers are too pressured by deadlines to have the time to think through the best way to apply PL/SQL's many features.

    This two-day seminar, created specially for Oracle UK, teaches attendees about the most important features of the PL/SQL language, focusing on the major advances in Oracle 9i Database and Oracle Database 10g. Steven then takes you beyond the basics to show you how to apply these features in the context of best practices, so that you write highly optimized and easily maintained and enhanced applications.

  • Prereqs :
    You should have a working knowledge of PL/SQL and at least a year's worth of experience with the language. All developers, from beginner to expert, will benefit from Steven's ideas and examples.

    Steven will demonstrate techniques and principles that apply to all versions of Oracle, but will also showcase new features in Oracle Database 10g that can dramatically improve the quality and performance of code that you write.

  • Objectives:
    To improve query and DML performance
    Use "six simple steps to unit testing happiness" to test your PL/SQL subprograms
    Optimize SQL statements in PL/SQL programs
    Use modular, reusable code

  • Topics:
    Improve query and DML performance Unit test your PL/SQL subprograms using "six simple steps to unit testing happiness"
    Optimize the construction of your SQL statements in PL/SQL programs
    Build modular, reusable code
    Manage errors by following a standard, consistent process
    Apply collections (a critical but under-utilized data structure)
    Take advantage of both forms of dynamic SQL in PL/SQL

For more information and booking you can also contact .

Thursday, December 07, 2006

How to use Oracle Clusterware to protect a single instance database

In Oracle 10g it is possible to use the Oracle Clustersoftware to protect single instance databases as well as cluster databases.

There is a new set of code samples on OTN and a brilliant white paper by the authors Philip Newlan and Roland Knapp, which shows how to protect a Single Instance Oracle Database with Oracle Clusterware.

It is packed into a .zip file and contains the white paper plus a number of little perl scripts:
- a script to start / stop / check the Oracle Listener in a cold failover configuration.
- a script for start / stop / check the Oracle Instance in a cold failover configuration.
- a script for start / stop / check the Oracle ASM Instance in a cold failover configuration

The white paper covers three different case studies:
(here is an excerpt from the white paper)

- Case 1 No Oracle Software installed on either node
- Case 2 Oracle with datafiles installed into a local instance of ASM
- Case 3 Oracle with datafiles installed onto a local filesystem

The ‘ending case’ configuration for each of these is as follows:
- Case 1 Oracle Clusterware installed onto both nodes, Clustered ASM installed onto both nodes in the cluster, Single Instance Database Home on each node. In this case Oracle Clusterware automatically protects the ASM instance (by default). This section discusses scripts to protect the single Instance database.
- Case 2 Oracle Clusterware installed onto both nodes, ASM instance ready to be started on new node. New database home on 2nd node, . This paper discusses scripts to protect the Listener, ASM and single Instance database. In this case the
ASM instance is non-clustered.
- Case 3 Oracle Clusterware installed onto both nodes, OCFS 2 installed as a
common shared filesystem for the datafiles. Local Oracle Homes on each node. This paper discusses scripts to protect the listener and single Instance database.

Nice one!!

Thursday, November 30, 2006

It's not easy to become an Oracle Certified Master

Last week I was to take the Oracle 10g OCM exam in Berlin.
It is the second time that I had registered for this challenge this year
and it is the second time that the event was cancelled by
Oracle University Germany.

I had already booked my flight, made reservations for acommodation,
even taken a few days off of work, not to speak about all the prep efforts I had put into it again.

It is a pity that the next possible date is December 1st. in London.
I will be speaking in Parma at the Italian Usergroup Meeting at that time.

I think I will not try it a third time this year.
Hopefully the chances for such an event to actually take place will be better next year.

New special last week was the rental car I had rented at the airport.
It was a nice little Alfa Romeo, only that its software was a little buggy obviousely.
I all of a sudden could not close the windows on teh drivers side any more.
So I had to drive about 100 km across the highway with an open window.

It was not my week obviousely.

Tuesday, November 21, 2006

Oracle ACE awarded

Today I received an email with the following text:
... I am pleased to inform you that you have been nominated by XXX to receive the Oracle ACE award. You have been chosen based on your significant contribution and activity in the Oracle technical community. Like your fellow Oracle ACEs, you have demonstrated a proficiency in Oracle technology as well as a willingness to share your knowledge and experiences with the community....

This makes me feel very proud and I would like to thank all those people who have encouraged me to keep on blogging and writing on Oracle New Features in variouse tech mags.

I'll stay in touch with you!

Friday, November 17, 2006

The best Sushi in Geneva

Today I went for lunch to a little Sushi Take Away Restaurant in Geneva
with my group from CERN.

It is located under the train station of Cornavin.
Here are the contact data:
Zim Zun
Metro Shopping Gare Cornavin
Tel.: 022 7310182

They have this very huge variety of freshly made Sushies of all kinds

and the prices are really reasonable.
You pay between CHF 2 and 3,80 per piece

And the women who sell the stuff, there are only women working,
are so lovely!

... and they even sell other asian specialities from the wok.

I really want to recommend this restaurant!!

Teaching CERN how to pump the data

This week I deliver a special training in Geneva for a bunch of DBAs from the CERN.
These guyes are really special.

They are always a few steps ahead with their questions.
Very advanced students! They really give me a hard time.
And we have a lot of fun.
Of course they are more interested in the internals and the background than in GUIs, which makes it more challenging and more fun to teach them.

They told me that CERN is stiil in the testing phase and their large databases are in the terabytes at the moment.

Once they will go life with the experiments they will have databases in the petabytes range.
Of course they use ASM for the storage because they have periodes of very high high volume throughput. They also use Grid Control and of course everything is clustered at the CERN. Only RAC databases with 6 nodes for each cluster.
Today I will demonstrate the datapump and ASM and how to migrate a database into an ASM storage with RMAN.

30000 th pageload this year

I reached the 30000 th poageload this year with my blog.

The tendency is clear!
Thanks for reading my blog!

Page Loads Unique Visitors First Time Visitors Returning Visitors
Total 30,256 21,641 17,501 4,140
Average 2,751 1,967 1,591 376

Month Page Loads Unique Visitors First Time Visitors Returning Visitors
Nov 2006 2,712 2,081 1,674 407
Oct 2006 5,618 4,193 3,369 824
Sep 2006 3,608 2,691 2,125 566
Aug 2006 4,709 3,320 2,784 536
Jul 2006 3,770 2,766 2,211 555
Jun 2006 3,459 2,376 1,870 506
May 2006 3,504 2,355 1,913 442
Apr 2006 1,713 1,234 1,066 168
Mar 2006 704 431 360 71
Feb 2006 160 86 66 20
Jan 2006 299 108 63 45

Friday, November 10, 2006

Raising my own business

After six years of being an Oracle employee
I have decided to leave the company and
raise my own business.

Starting from January 2007
I will be available for the following projects :
- Oracle consulting projects

- Oracle coaching

- Oracle trainings

It was a great pleasure for me to deliver courses for Oracle University.
Therefore I will continue to deliver courses for Oracle University Switzerland and its partners.

Also I am available for projects internationally
and still have free capacitie for the first weeks of 2007.

If you are interesting in booking me,
pls use my email contact in my profile here for now.
I will have a new website for my company soon with a new contact
and will publish it here also.

I have been an instructor for Oracle 8i, 9i and 10g core courses and have delivered
in Switzerland, Germany, Great Britain and the U.S.A. the following courses:
- Database Administration,
- New Features,
- Performance Tuning,
- Advanced Backup & Recovery with RMAN,
- Database Programming with PL/SQL,
- Technical Overviews

I have delivered special courses and events like:
- Oracle Expert night (Zurich , Geneva)
- New Features Workshop 10gR2 (New York, Chicago, New Jersey, London)
- Performance Tuning Workshop - Memory Management Oracle 10g
- The new Oracle 10gR2 suggested Backup Strategy (Swiss Oracle Usergroup)

I am still working on upcoming special events about:
- Oracle 11g New Features Overview
- RAC 10gR2 overview
- Oracle Data Guard

Thursday, November 09, 2006

DBMS_SERVICE and net service names

Oracle 10gR1 was the first release to come with the package DBMS_SERVICE.
This package can be used to manage services for single instances.
There are procedures for creation , activation, deactivation, and removing of services.
We can measure workloads and limit resources through services and there are more and more concepts which are using services.
A RAC has the capability of managing services across instances.

The package contains a number of constants, exceptions and subprogramms.

Here is an example for the creation of a service on a single instance:

PL/SQL procedure successfully completed.

SQL> exec dbms_service.START_SERVICE('HALLO')
SQL> show parameter service
------------------------------------ ----------- ------------------------------
service_names string OTTO

The confusing thing here is that the parameter NETWORK_NAME is in fact the value returned in the initialization parameter SERVICE_NAMES!

And the parameter
SERVICE_NAME is the values used for the net service name in tnsnames.ora!!

This is crazy I think! How confusing and misleading this is!

Therefore you should use the same value for both parameters in the call of the procedure!

Thursday, November 02, 2006

I will present @ Italian Oracle User Group in Parma

On December 1st. I will deliver a presentation of
Oracle's new recommended backup strategy
at the annual meeting of the Italian Oracle User Group in Parma.

I will use two ASM diskgroups,
and migrate a database from file system into the ASM storage using RMAN.

Then I will demonstrate how we can get around a full restore
by switching to an image copy of the database in the
flash recovery area, which I have incrementally updated.

Looking foreward to Parma!

Friday, October 27, 2006

Oracle Enterprise Linux available

In his Oracle OpenWorld keynote on October 25th, Larry Ellison announced Oracle Unbreakable Linux Support Program, a support program that provides enterprises with industry-leading, global support for Linux.
Oracle has been talking about even having its own Linux since quite a while now.
I had asked Tom Kyte about Oracle's ambitions in becoming kind of an OS itself and he said that it could definitely happen in the near future because it would make sense definitely very much.
Please see also unbreacable linux @ OTN
and Sergio Leunissen's Oracle Blog on Oracle's Linux project.
He is a member of Oracle's Linux Team.

It is already possible to download ISOs for Oracle's enterprise linux!

Thursday, October 26, 2006

11g new features

I just listened to an interview Tom Kyte gave at the Oracle Open World today in San Francisco.
It is available on OTN for download.
He talks about some interesting new features which will be available in Oracle 11g.
It looks as if there are a number of really interesting new functionalities comming soon.

My perfomance tuning workshop

Today I have delivered a specially tailored workshop in Zurich.
A few weeks ago Tom Kyte had delivered a Q&A session for a bunch of DBAs when he was in Zurich. I was booked for today to deliver a follow up as a workshop in order to discuss some details on memory management in Oracle database 10g.
We had a close look at ASMM (Automatic Shared Memory Management), Automatic PGA Management and the use of temporary tablespaces and temporary tablespace groups in Oracle 10g.
I had compiled specially tailored courseware from different Oracle University courses, such as the New Features for 10g Adminstrator, 10g Performance Tuning and some white papers and metalink notes.
I was teaching a group of about 15 DBAs who are very experienced and deal with very large systems of sizes in the 10s of terabytes.
We also had some very interesting discussions on some features which can cause headaches when upgrading to Oracle 10g, such as bind variable peeking, system statistics, and automatic statistics gathering and its possible effects.

Thursday, October 19, 2006

Tablespace 101% full!

Today I had a strange effect in my DBA class:
I filled up my UNDO TABLESPACE which has only one non autoextensible datafile and waited for the alert to show up in DATABASE CONTROL console.
And it did.
See what it showed: => tablespace 101% full.
How can this be?
This is funny, eh!

Sunday, October 08, 2006

How to use rlwrap to get a command history in sql*plus

sql*plus does not have a command history function under Linux and Unix.
Lately I listened to Tom Kyte at one of his seminars he delivered in September in Zurich. He used a virtual Linux machine and had a command history for his sql*plus obviousely.
He told us that he used a utility called rlwrap for this.

rlwrap is a readline wrapper for shell commands which uses input from the controlling terminal.
It adds a persistent input history for each command and supports user-defined completion.

I simply had to get it!
And I think that this is worth sharing it.
Here is how it works and how you can get it too.

You can download the sources for the rpm for rlwrap from
. The most recent version I could find is version 0.26.
There you also find a README and the manpage for rlwrap.

After downloading and unpacking the tar.gz I ran as root (#)
make check
make install

and that was it.

Now I could call sqlplus this way:
$ rlwrap sqlplus user/password@sid.

Finally I create an alias
alias sqlp ="rlwrap sqlplus"
(pls see Laurent Schneider's comment on this post about alias sqlplus!)
Now I can simply call sqlplus as I always have done
and have a commend history with the and keys on my keyboard.

This will put an end to the stoneage habits we have all got used to too much!

SOUG Newsletter 4/2006 shipping

The Newsletter 4/2006 of Swiss Oracle User Group is shipping since last week.
I have an article about the Active Session History in Oracle Database 10g published in it.
You can find it here on my blog as well.

Tuesday, September 26, 2006

Interview with Tom Kyte

This is an interview which I made with Tom Kyte in Zurich in September 2006

L.H.: Mr. Kyte, you are Vice President of the world's largest database software company and you also are the man behind the website.

Since more than 6 year you have provided kind of support to the Oracle community for their every day problems in your forum.
Judging from your experience, what are the most common mistakes made about database applications?

T.K.: This is a timely question, I just finished my "Worst Practices" material for some upcoming conferences (Oracle Open World included).

The worst practices I see out in the field are:

1) Blindly believing everything just because it is printed. I cannot even guess what percentage of technical material about Oracle published on the Internet is wrong. During the construction of my material for this Worst Practices talk - it took me about 10 minutes to find 10 really "good" (meaning really bad) examples of technically incorrect information. I used to search for "Oracle Tuning Tips" and found some really bad material quickly.

2) Not using bind variables! Developers for whatever reason make this common mistake time and time and time again. Not using bind variables in most applications will cause 4 things to happen:
a) they will run slower in single user mode, a large percentage of the program run time will be spent parsing SQL, not executing it.
b) they will use memory entirely inefficiently, the shared pool will be a point of contention.
c) their applications will not scale as users are added - hard parsing is a point of much serialization in the database.
d) their application will be subject to SQL injection issues (put SQL Injection into the search box on and see how many articles you get back on that).

So, by not using bind variables - the developers help to ensure they will have a slow running program that creates memory issues in the shared pool, that cannot scale and will be a huge security risk.

3) Implementing very generic data base designs. Generic code can be useful, in some rare cases - however, if you want something maintainable, understandable and performant - you will actually design your system, from day one.

4) Not having a credible test environment. For example - not testing to scale (if you are going to support 100 concurrent transactions, you need to be able to test that you can do that - and then test it!). Or - testing against an empty database; that will not give you any indication that your developed application will actually perform in real life.

L.H.: After 14 year of work with Oracle Database, what is the feature to your mind today which makes Oracle Database unique among other database providers?


My favorite feature - Oracle's concurrency model.

L.H.: The average database of today is by far larger than what has been considered a Very Large Database only a few years ago.
What are the most challenging task for a database administrator today?

T.K.: Keeping up with the technology! Many of the things we used to spend a lot of time doing manually are much more automated than they were a decade ago. And there are hundreds of new features to learn about. In the last decade we've gone from having a 1 Terabyte database be considered "huge" to being considered just "average" in size. Many things we did not use or need to use a decade ago - such as partitioning (did not exist) - are things we need to have mastery over today. Therefore, the working set of knowledge a DBA needs today is very much different from the working set of knowledge they had to have 10 years ago. We need to "forget" about some of the things that were automated (such as undo management - I'm glad I don't have to figure out exactly how many rollback segments of what size I need anymore) and keep up with all of the new tools we have to manage data such as partitioning, data guard, streams and so on.

L.H.: The trend of the Oracle Database Server goes clearly into the direction of self management and self maintenance.
Will there be a need for database administrators for the database of the future and what will be their main tasks?

T.K.: Absolutely - see the points above. Every time we automate something - 3 or 4 other "new things" are added. Sure - we automated PGA memory management in 9i, but we added Streams and Change Data Capture. The list of things DBAs do is not necessarily shrinking, but it is ever changing.

L.H.: Will the database server of the future be able to also kind of auto-tune the application?

T.K.: This is why I say "tuning is not dead", but how we tune has to change. In the past - we would tune by tuning SQL. Nowadays the database is pretty good at tuning SQL - with SQL profiles, an ever smarter optimizer, the index advisor, the materialized view advisor, the SQL advisor and so on - tuning SQL is something we spend less and less time on.

What we have to focus on is how we do things - our algorithms. Maybe far far out in the future, the database can detect what an application is doing and "fix it", but for the time being - only we can.

For example, the datab ase will not turn logic such as:

for x in (select * from t1)
insert into t2 values X;
end loop;
insert /*+ APPEND */
into t2 select * from t1;

That is our job and will be for the immediate future.

L.H.: Oracle already has its own logical volume manager (Automatic Storage Management) its own cluster file system and since March 2006 also its own media management server (Oracle Secure Backup), which can be used to not only backup the database but also the entire Oracle software stack including application servers, the collaboration suite as well as OS-files.
Will Oracle be kind of an operating system some day?

T.K.: We tried that once before actually, a thing called "Raw Iron"

It was not widely adopted - maybe it was before its time. I can certainly see the usefulness of such a thing - I personally already consider Oracle to be my operating system in many cases. I'm not saying Oracle is working on it (I have no knowledge to that effect), just that I could see it happening sometime in the future. A database appliance, much like you have network attached storage.

L.H.: Thank you very much Mr. Kyte.

Sunday, September 24, 2006


The initialization parameter STATISTICS_LEVEL controls quite a number of functionalities in the Oracle 10g database.
Its default value is TYPICAL.

By setting it to BASIC you switch off functionalities like automatic statistics collection for performance baselines, statistics sampeling for the active session history, table monitoring and a lot of more functionalities. If the parameter is set to BASIC it is still possible to manually set the parameters DB_CACHE_ADVICE, TIMED_STATISTICS and TIMED_OS_STATISTICS.

The parameter can also be set to ALL which causes the collection of additional statistics for timed operating system statistics and for the row source executions.
Oracle strongly recommends to collect the statistics at least at TYPICAL level.

STATISTICS_LEVEL can be set at system as well as at session level. If set on session level the following advisories or statistics get turned on or off, but their systemwide setting is not changed:
- Timed Statistics
- Timed OS Statistics
- Plan Excution Statistics

In order to find out which functionalities are controlled by STATISTICS_LEVEL you can query the dynamic performance view v$statistics_level which displays the status of the statistics/advisories controlled by STATISTICS_LEVEL:

SYS @10gR2 SQL > show parameter statistics_l
------------------------- ----------
statistics_level string TYPICAL

SYS @10gR2 SQL > DESC v$statistics_level
Name Null? Type
----------------------------------------- -------- ----------------------------

2 FROM v$statistics_level;
------------------------ ------------ ---------------------------------------------------- ---
Timed OS Statistics ALL DISABLED YES
Modification Monitoring TYPICAL ENABLED NO
Ultrafast Latch Statistics TYPICAL ENABLED NO
Threshold-based Alerts TYPICAL ENABLED NO
Global Cache Statistics TYPICAL ENABLED NO
Undo Advisor, Alerts and Fast
16 rows selected.

Friday, September 22, 2006

bits and bites with Tom Kyte

I had organized a little dinner for Tom Kyte and some special guests yesterday evening.
We went to a nice Spanish restaurant in the Old City of Zurich.
It was a relaxing evening with lots of fun, paella and good Spanish wine.

Thursday, September 21, 2006

Tom Kyte @ Oracle Education Switzerland

Yesterday Tom Kyte flew into Zurich from Paris.
He will stay for three days to deliver a number of special trainings and lectures.
After a Q&A-session at the UBS bank in Zurich I took him over to Baden where he delivered a lecture about the importance of "instrumentation" of code and the possible methods of instrumenting your code in an Oracle environment both in the database (stored procedures) as well as outside the database (java, C, VB and the like).
The demo I liked best yesterday was about the usage of the package dbms_monitor. With this demo he pointed out how important it is that the devleopers use the possible instruments to hand over client information (through all middle tiers) into the database in order to enable the DBA to trace back (through all middle tiers) who exactely did what (in the browser). This a package I also show in my "Oracle 10g New Features For Administrators" classes.

Today and tomorrow Tom Kyte will
deliver a number of lectures
at a special event of Oracle Education
at the Zurich Development Center.

Thursday, September 14, 2006

10 weeks => 10000 hits

Yesterday my blog encountered its 20000th. pageload since I launched it in November of last year.
There were 10000 visitors since June 30th. !
Thank you very much to all of you blog-readers!

Page Loads Unique Visitors First Time Visitors Returning Visitors
Total 19,816 13,768 11,224 2,544
Average 2,202 1,530 1,247 283
Month Page Loads Unique Visitors First Time Visitors Returning Visitors
Sep 2006 1,498 1,092 891 201
Aug 2006 4,709 3,320 2,784 536
Jul 2006 3,770 2,766 2,211 555
Jun 2006 3,459 2,376 1,870 506
May 2006 3,504 2,355 1,913 442
Apr 2006 1,713 1,234 1,066 168
Mar 2006 704 431 360 71
Feb 2006 160 86 66 20
Jan 2006 299 108 63 45

Thursday, September 07, 2006

crs_stat Utility

I am in Geneva this week, teaching part of a RAC 10g class at the World Trade Center togehter with Tamás Kerepes from Budapest. He is an enormously skilled collegue of mine and I am happy to get to know him.

I have demonstrated the migration of an entire cluster database from OCFS to ASM life in the class yesterday, including all datafiles, redologs, controlfiles, spfile and backups. This was a really thrilling and a little tricky process, but I succeeded at the end!
I will post about the procedure soon.

I came across a nice little option for the crs_stat utility which I was not aware of and which Tamás pointed out to me:
crs_stat -t
gives a short listing of the contents of the cluster registry rather than the long listing of the simply scr_stat without the -f.
This can come in very handy with a large cluster registry!
Look at the difference!
Here is a demo:
[oracle@ed-toraclin9a oracle]$ crs_stat --help
Usage: crs_stat [resource_name [...]] [-v] [-l] [-q] [-c cluster_member]
crs_stat [resource_name [...]] -t [-v] [-q] [-c cluster_member]
crs_stat -p [resource_name [...]] [-q]
crs_stat [-a] application -g
crs_stat [-a] application -r [-c cluster_member]
crs_stat -f [resource_name [...]] [-q] [-c cluster_member]
crs_stat -ls [resource_name [...]] [-q]
[oracle@ed-toraclin9a oracle]$ crs_stat
STATE=ONLINE on ed-toraclin9a

STATE=ONLINE on ed-toraclin9b

STATE=ONLINE on ed-toraclin9b

STATE=ONLINE on ed-toraclin9a


STATE=ONLINE on ed-toraclin9a

STATE=ONLINE on ed-toraclin9a
STATE=ONLINE on ed-toraclin9a

STATE=ONLINE on ed-toraclin9b

STATE=ONLINE on ed-toraclin9b

STATE=ONLINE on ed-toraclin9b

STATE=ONLINE on ed-toraclin9b
STATE=ONLINE on ed-toraclin9b

[oracle@ed-toraclin9a oracle]$ crs_stat -t
Name Type Target State Host
ora....B1.inst application ONLINE ONLINE ed-t...in9a
ora....B2.inst application ONLINE ONLINE ed-t...in9b
ora.RDBB.db application ONLINE ONLINE ed-t...in9b
ora....SM1.asm application ONLINE ONLINE ed-t...in9a
ora....9A.lsnr application ONLINE OFFLINE
ora....n9a.gsd application ONLINE ONLINE ed-t...in9a
ora....n9a.ons application ONLINE ONLINE ed-t...in9a application ONLINE ONLINE ed-t...in9a
ora....SM2.asm application ONLINE ONLINE ed-t...in9b
ora....9B.lsnr application ONLINE ONLINE ed-t...in9b
ora....n9b.gsd application ONLINE ONLINE ed-t...in9b
ora....n9b.ons application ONLINE ONLINE ed-t...in9b application ONLINE ONLINE ed-t...in9b

Monday, August 28, 2006

TOM KYTE is back in Zurich in September

As he had promised before he left last December, Tom Kyte will come back to Zurich on September 21st./22nd. and deliver another two days of his very advanced seminars on database architecture and programming techniques.
After the last seminar in December which was completely sold out, we have booked for a larger room this time, again at the Zurich Development Center, which is a great location to have a seminar at.
Again Tom Kyte will deliver two sets of sessions each of them about 60-90 minutes long.

Tom Kyte will cover the following topics:
"Things you "know"
Many developers and DBAs (not all, but many) approach the database with little or no understanding of how it actually works. Developers approach Oracle assuming it must work just like SQL Server or even worse with the frame of mind that says, "It doesn't matter how it works, I'm using a layer of abstraction to protect me." DBAs approach the server sometimes with a cursory knowledge of how things work, leading them to do things like, "We can skip backing up undo data-it isn't our stuff, we don't need it" or erasing archives because they ran out of space.
This presentation will present some of these foibles and explain how not understanding how the database actually works will lead to disaster. Some examples of things you just might not know about yourself will be explored. Oracle is big and it is a moving target. Understanding it is an ongoing process that we need to continually do.
Advanced analytic functions
Analytic functions are the coolest thing to happen to the SQL language since the introduction of the keyword SELECT . This session explores the use cases for analytic functions, demonstrates how and where you should use them, and explains the (nontrivial) syntax behind them.
Efficient schema design
Based entirely on chapter 7 of Tom's book "Effective Oracle by Design", this session takes you through the fundamentals of physical schema design. It demonstrates the various structures (hash clusters, B*-tree clusters, index-organized tables, ...) and tells when and where you want to use them. The session closes with indexing and compression techniques.
PL/SQL or Java?
Is one language "better" than the other? Or maybe there is room for both? This session explores when you might want to use one over the other SQL Techniques
The presenter will describe common SQL techniques he has encountered and utilizes day to day to tune query performance. Features such as scalar subqueries, using rownum (yes, to 'tune'), analytics, some hints and more will be demonstrated. Emphasis will be on when they work (where the 'trick' applies) as well as when they don't workwhere they do not apply. Care will be taken to show these not as a "top 10 things to do" but rather techniques to keep in mind when looking at problems in general.
Building test cases
When you say "it doesn't work", or "it isn't working right", you will need to build a small, concise, yet 100% complete test case that demonstrates the issue at hand (and removes all of the irrelevant bits). This session walks through how Tom Kyte builds his own test cases -- and how he many times finds his own mistakes in the development of them (such as: it wasn't a database bug in the first place!) - or, even if it turns out to be a problem in the database, how the development of the test case often leads to finding a workable "workaround".
Bits and bytes
This session covers some Oracle 10g features that are really "cool" but not played up in the Oracle marketing messages. Mundane features that make our day to day lives that much nicer. Presented as a top 10 for 10g Release 1 and top ten for 10g Release 2
Versioning of data
A common requirement today is to maintain a complete history of data: every change made to a row over time, for rows in a table or set of tables. This session explores the methods available to do this, from "do it yourself" versioning (via triggers/application code) to letting the database do it for you with workspace management. Key focuses of this session are time to develop, performance, and implementation

Every participant of this seminar will not only get the printed courseware for the sessions of course but also a copy of Tom Kyte's book on Oracle 9i and 10g Database Architecture.
Also there will be the sought-after Tom Kyte-T-Shirt again.

There are still a few seats available!

If you are interested in taking part here are the detail again:
Date: September 21st., 22nd.
Time: 9:00h -16:00h

Location: Zurich Development Center
Price: CHF 1800,-