Visited Germany’s first Spatial Database, Size 26 kiloStones

Last week, I had the chance to visit Bavaria’s (and so also Germany’s) oldest Spatial Database. It’s buried deep below Munich, and contains all the geo information about Bavaria in scale 1:5000 and some in 1:2500. It was introduced in 1808 and was in use until 1950. That’s also the current state of the data.

Each of the 26,000 official maps is painted in oil and mirror-invertedly on polished lime sand brick. Each “page” is 1m x 1m (3.2ft x 3.2ft) in size, 4-6cm (2-3in) thick and the weight of each stone “disk” is approximately 70kg (154lbs). That makes it 26 Kilostones in size, with a dump size of 1,820,000 kg or 3,968,000 lbs.

Read more…



New German Linux Forum (forum.linux-talk.de)

In the last weeks, some folks were busy to build a new German Linux Forum “forum.linux-talk.de”, since the predecessor was systematically ruined by the commercial owners.

Especially Jean (wdp) and Hendrik (Nilpferd) invested much time and money into building the new environment. So the new forum is completely free of ads and commercials, and the content is QA’ed by a team of experienced Linux admins as moderators.

Please hang out there, and help us to (re)build a cool community.

Cheers
Martin Klier (Usn)



Performance is rarely an accident (Deutsch)

Some time ago, I saw a great presentation of Cary Millsap: „Thinking clearly about performance”. It was obviously relevant for our internal developers, so he unhesistantly granted me permission to reproduce some of his ideas for us. Cary, thank you very much!

Here you can see, what I made out of the topic, mostly for visualization purposes.

preview

preview2

Martin-Klier-Performance_rarely_Accident.pdf

As I said, the intention was to show development teams, how beneficial it would be to think about performance at all, and that you’d need code instrumentation (=runtime meta information about application behavior) to get better.

I hope you enjoy the slide deck.
Martin Klier



Oracle 12c InMemory – don’t stop thinking about performance

Oracle has released its new database version 12.1.0.2 that includes the famous in-memory column store. InMemory option  promises a big advantage for OLAP-like work loads by keeping table contents in a columnar in-memory structure. InMemory is not new, they did that for decades, but the interesting part is “columnar”. There’s much writing about that on the net and in the Oracle Concepts Guide, no need to reproduce that here.

But though the new feature is very young, we already can see a “you can stop using your brain, we have a new catch-them-all feature” thinking, at least such a marketing sound. But it’s quite easy to show that this is not real. As for many other features we got over the years, using Oracle InMemory still needs a concept, done by an architect knowing the ups and downs.

What I can see from playing with Oracle Inmemory is, that it’s only beneficial when all data you (might) have to query from is already in the columnar cache (Oracle term is “populated”). If not, query response times don’t improve much. Let me show you my test case.

Read more…



Oracle 12.1.0.2 with In Memory Option available for Linux

As of today, the Oracle Database 12.1.0.2 with InMemory Columnar Store is available at https://edelivery.oracle.com.

12102

According to the price list of July 10th, it will be sold as an option for Enterprise Edition (Exadata NOT mandatory), for US$ 23,000 per CPU (calculation like EE).

Hope it will do well, beta demos were extremely impressive.

Yours
Martin



Oracle Core für Einsteiger: Datenbank I/O at DOAG 2014

Proud to announce, that DOAG accepted my tech talk “Oracle Core für Einsteiger: Datenbank I/O” for DOAG Conference 2014 in Nuremberg. It’s my next contribution to DOAGs thread aiming at beginners and part-time database people.

2014_06_30-DOAG_2014_Konferenz-Banner_Klettern-468x180

The talk will be in German, here comes its abstract:

Oracle Core für Einsteiger: Datenbank I/O
Wir kennen verschiedene I/O-Typen, die die Datenbank benutzt um ihre Aufgaben zu erfüllen. Der Vortrag zeigt anschaulich wie sie sich unterscheiden, und erklärt, welche Vorteile die einzelnen Methoden bieten. Behandelt werden Zugriffe auf Tablespaces, Online/Archived Redo Logs und verschiedene Dateitypen, die mit der Instanz in Verbindung stehen. Eingeschlossen ist eine kurze Wiederholung der jeweiligen Funktion im RDBMS; ebenfalls enthalten ist ein “Crashkurs” zum Automatic Storage Management “ASM”.

Das Ziel des Vortrags ist, Einsteigern das Verständnis von Massenspeicheroperationen näher zu bringen und Hintergrundwissen für ein kompetentes Storage-Sizing zu vermitteln.

I’m also very happy to announce, that my business partner Benedikt Nahlovsky‘s presentation “Kostenlos aber effektiv: Performanceanalyse mit Statspack und SQL*” also was accepted. It’s all about doing professional performance analysis with STATSPACK and SQL* tools.

So Performing Databases is present with two sessions, we really appreciate it!

Looking forward to seeing you all at CCN East, Nuremberg Trade Fair, 18th-20th November 2014!

Stay safe
Martin Klier



Status Blog

Hello,

long time no see? Many things have changed here, so my time for blogging was limited.

  • Together with Benedikt Nahlovsky, I founded “Performing Databases“, a company to offer top-class database know-how combined with flexibility and agility. Doing all the formal requirements, and pushing business into life absorbed much of my free brain space.
    performing databases logo gif
  • In June, my daughter and second child, Rebecca, was born. Private life will never be the same again, but she’s a new bright star in my favorite constellation. Like it!
  • My latest employer, Klug GmbH integrierte Systeme became bankrupt and was purchased by TGW Logistics Group. That made lots of uncertainty and I had to change many of my priorities. Now a new era has begun, and we all are busy integrating a mid-size family shop into a big family shop (1700+300=2000 employees). In the end, we hope to become “TGW Software Services GmbH
    TGW_Logo_URL

But now I’m mounted again, and hope to fulfill my old promise of one blog per month again (if quality assurance allows it).

Wow, just out of curiosity I checked my webstat’s output: 2500 “visits” per day on average, that’s overwhelming! A good reason to say “Thanks for reading here!” today.

visits-usn-it

CU soon
Martin Klier



Oracle SQL Developer: New window, new session. Bad behavior?

Yay, it’s there. SQL Developer 4 is usable. It brings a new session for a new window (“unshared worksheet” in Oracle terms) – I was told lately SQL Developer 3 already had this. Did you know? Now we are kind of stable in 4: The 4.0.2 build 1521 (hehe) works good, so it’s time to see how “Unshared Worksheet” works here. That’s what we alwas had – one sheet, one session:

That's what we alwas had: One sheet, one session

 

Read more…



Oracle 11.2 PSU2 Grid Infrastructure stack start … failed to complete at crsconfig_lib.pm line 11814

Oh, sometimes it’s just (own or close-people’s) PEBKAC that costs you time and gray hair… Patching 11.2.0.4.x to PSU2 on Linux was such an issue.

Problem

“opatch auto” with all comfort worked well, applied the patch, but re-starting the clusterware failed with:

Starting CRS... 
Installing Trace File Analyzer 
CRS-4123: Oracle High Availability Services has been started. 
Oracle Grid Infrastructure stack start initiated but failed to complete at 
/u01/app/11.2.0/grid_2/crs/install/crsconfig_lib.pm line 11814.

What happens here? OHASD tries to start up CRSD, but it fails with an exception: permission check failed. Mh, might come from most $GRID_HOME/bin/*.bin files have no executable (“x”) flags set. WTF?
So what.. who’s the culprit? Spent a whole weekend on investigating and re-trying, just to learn that the scripts in the PSU won’t change a flag in bin directory. What do the file parameters look like in the unzipped patch directory. The same. Grml.

Wait… The PSU2 README.html says: “unzip the patch as the grid home owner”. How did the patch directory get to the server…? Oh yes, it was unzipped on the downloading machine (automatically). Woe …

Solution

  1. Download the PSU in zipped format
  2. Copy the ZIP container to the system you’d like to patch
  3. “Unzip the patch as the grid home owner”
  4. Don’t find a “failed to complete at crsconfig_lib.pm line 11814″ in your console output
  5. Have an early beer for reading correctly, and not a late one for finding your own mistakes

Be an extremely careful reader and stay safe
Martin



Oracle on Linux: How to hide your password when using a wrapper script

Sometimes, a DBA has to write an externally called wrapper script for various Oracle-supplied commands accepting password inputs. A prominent and simple example is SQL*plus (sqlplus).

The Problem

The process list shows all parameters of a command that’s currently executed.

wrapper1.sh

Accepts all connection infos on the command line:

#!/bin/bash
 cmdstring="sqlplus ${1}/${2}@${3}"
 echo "Executed command: $cmdstring"
 sleep 999

Called by:

$ ./wrapper1.sh system manager mydb
 Executed command: sqlplus system/manager@mydb

But now, the password is visible in the process list:

$ ps aux | grep wrapper1.sh | grep -v grep
 1000     20769  0.0  0.0  13808  1444 pts/1    S+   15:19   0:00 /bin/bash ./wrapper1.sh system manager mydb Read more...