Archive for the 'Oracle' Category

Oracle Real World Performance Tour 2014 with Tom Kyte and friends in München (Munich)

The German Oracle User Group (DOAG Deutsche Oracle Anwendergruppe) announced Munich as a location of the Real World Performance Tour 2014 with

  • Tom Kyte, Senior Technical Architect ORACLE Server Technology Division, ORACLE Vice President
  • Graham Wood, Architect Server Technologies
  • Andrew Holdsworth, Senior Director Real World Performance Server Technologies

Location: Munich (Details coming soon)
Date: February 19th 2014
Time: 9am – 5pm
Cost: EUR 130,- (Early Bird)

Link to the DOAG event page: http://www.doag.org/termine/termine.php?tid=460483

Looking forward to meeting you there!
Martin Klier

 



Upcoming DBA in Team Oracle Germany? :)

I’m no fan of preselecting kid’s ways of life. But I couldn’t resist bringing a T-Shirt from OpenWorld back to Germany. Now since it fits Maxi, I’m just loving it. :)

IMG-20130416-00111

 

 

 

 

 

 
The other picture is my teammate Benedikt as Maxi’s cushion. :)

IMG-20130425-00117

 

 

 

 

 
Please: Let your kid choose their own way. I had this choice, and I’m very happy with a job my parents didn’t even know.

Take care
Martin



Oracle SQL Developer connection storm at startup

Oracle SQL Developer (tested with version 3.2.20.09) does some unwanted network connection testing against all configured connections (by TNSPING).

We noticed that it causes a kind of unwanted “inverse” connection storm to all configured databases, when we start the SQL Developer. It’s not restoring aborted connections or stuff like that, all was quit before stopping the SQL Dev., and nevertheless each and every configured connection is “tested” at start up.

In my example, it’s doing the following for all configured connections (tested with version 3.2.20.09):

TNS connect:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ww.xx.yy.zz)(PORT=1521))
(CONNECT_DATA=(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))
(SERVICE_NAME=xyz)(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))))

and gets back:
(DESCRIPTION=(TMP=)(VSNNUM=186647296)(ERR=12514)(ERROR_STACK=
(ERROR=(CODE=12514)(EMFI=4))))

I’m having multiple problems with this behavior:

  1. It’s useless, since the SQL Dev. does not display any information about reachable/non-reachable databases. I simply can’t see any benefit.
  2. It’s waste of network resources
  3. It’s most unwanted since your network can see what you have configured (for example in a public WLAN, and in worst case a IDS might feel like you are doing something nasty in the (for example, customer’s) network)

Does somebody know why they are doing this, and why are they doing it
THIS very way?

Regards
Martin

EDIT:
Modify your sqldeveloper.conf:
AddVMOption -Dsqldev.tnsping=false
to disable this behavior.



DOAG Webinar: ORACLE Datenbank Architektur – nicht nur für Einsteiger (German Language)

On Friday, 08/03/2013, I’ll present an online lecture about Oracle Architecture for the DOAG (Deutsche Oracle Anwendergruppe, German Oracle User’s Group) and the DOAG SIG Database.

doag_logo

 

 

Link: http://www.doag.org/termine/termine.php?tid=454245

The lesson will contain (excerpt from TOC):

  • Oracle Datenbank-Architektur
    • Verbindung, Namespace(s) und Abschottung
    • Instanz und Datenbank
    • Alles Blöcke, oder was?
    • Redo, Undo und was man damit macht
  • Stets das Ziel: „Das Konzept dahinter“ verstehen
  • Primär für Einsteiger = Vertiefung für Erfahrene

 

It’s free for members, so I hope to welcome you there.
Martin Klier

Here comes the presentation: Oracle Datenbank Architektur – nicht nur für Einsteiger
Thank you very much for attending!!



Oracle Grid Infrastructure: 11.2.0.3.5 PSU on AIX: gipchaLowerRecv: invalid message header hdr

Just a quick note: if you plan to apply PSU 5 on top of 11.2.0.3 on AIX 6.1 or 7.1 – it has a known issue.

CSSD will not start on the second node (depending on the order how you start OHASD in the cluster) and ocssd.log will show “gipchaLowerRecv: invalid message header hdr” with broken multicast headers. It’s a little bit strange, because it could use broadcast as well (since 11.2.0.3), but I don’t know the background yet.

The known issue is:
Bug 16268804 : GI STACK NOT STARTING ON POST APPLY OF 11.2.0.3.5 PSU

So just be careful and look at this bug before you start. Up to now there’s no progress, the official workaround today is “Go for PSU 4 instead”.

Salute the brave
Martin



Oracle Grid Infrastructure / ASM – ERROR: failed to update diskgroup resource ora.DATA.dg

Recently, when installing a database on a grid infrastructure, dbca failed with the message that it wasn’t able to establish the dependency between the database and the corresponding grid infrastructure resource of the DATA ASM disk group I was using for my data files. Its name would have been “ora.DATA.dg”. (ERROR: failed to establish dependency between database MYDB and diskgroup resource ora.DATA.dg)

The Problem

When looking up

crsctl stat res -t

showed me , that there was no “ora.DATA.dg”, so no wonder. But a SELECT on v$asm_diskgroup confirmed that the diskgroup WAS there, it was even mounted!

Exploring possibilities

Okay, whatever might have been wrong when creating the diskgroup, just let’s create the resource, and off we would go. But Oracle refused to cooperate. SRVCTL only knows operations such as START, STOP, STATUS, ENABLE, DISABLE and REMOVE a diskgroup. I was not able to find something in the official documentations, that describes definitely how a resource for a diskgroup is created. All sources pointed to something automagic. When testing with GI and ASM on my test cluster, it became clear that the resource ora.DATA.dg is added to the resource list when the disk group DATA is mounted by ASM for the very first time. (Some folks on the net indicating that this would happen when the RDBMS is using this DG for the first time are mistaken, and are maybe confused by the experience that the DB access triggers ASM to mount this diskgroup.) But knowing this was no help for a start, because on my new production box this DID NOT happen, and nobody seemed to know why.

This was my manual mount command:

(+ASM1)$ sqlplus / as sysasm
<...>
SQL> alter diskgroup DATA mount;
Diskgroup altered.
SQL>

No error, but as expected, no such disk group resource in crsctl. Now let’s look into the alert log of my first ASM instance ( alert_+ASM1.log):

(+ASM1)$ tail -1000f $ORACLE_BASE/diag/+asm/+ASM1/trace/alert_+ASM1.log
<...>
NOTE: diskgroup resource ora.DATA.dg is online
ERROR: failed to update diskgroup resource ora.DATA.dg

Ah, here we go. But no trace file enlighted the darkness, in fact a grep on ora.DATA.dg in my trace directory found zero results. But this error message leaves two options open for consideration: a) ASM tried to switch an existing resource and fails, because it’s not there or b) ASM tries to create a resource and fails for an unknown reason. But option a) is a thought loop, so what about b)?

A Theory

Facts:

  • All ASM resources depend on ASM, and ASM depends on a listener and a listener depends on network. Oracle Grid Infrastructure usually checks for possibly failing dependencies BEFORE doing anything to avoid creating outages in vain.
  • All ASM processes are running as OS user ORACLE (here).
  • My manually created admin VIP “admin.vip1.res” was created by root (to bring along enough permissions for ifconfig) and oracle has no rights there (not even READ).
    (+ASM1)$ crsctl getperm resource admin.vip1.res
    Name: admin.vip1.res
    owner:root:rwx,pgrp:root:r-x,other::r--,user:root:r-x

Maybe GI tries to look up something and can’t…?

Read more…



Oracle: DOAG Konferenz 2012 presentation – Child cursors / Mutex Waits

 

“Resolving Child Cursor Issues Resulting in Mutex Waits”: Here are my presentation and the white paper about child cursor related mutex waits. The white paper is also available as an article in the IOUG SELECT Journal 3rd Quarter 2012 (Vol. 19, Number 3).

Thanks a lot to all attendees – it was great fun to speak there and to get this overwhelming feedback – to hear “best talk so far” multiple times on a third day is really awesome.Thank you very much!

Yours
Martin



Oracle: DOAG Konferenz 2012 – Look at’s

Hi there,

as usual, here are my personal notes from DOAG Konferenz 2012 (annual conference of the German Oracle User’s Group). I was there for two days, not three, on account of workload. But it was really good there, and again the event was a great mixture of technology and people/networking.

Ok, here’s the list. Look at:

  • V$SQL_CS_SELECTIVITY, V$SQL_CS_STATISTICS and V$SQL_CS_HISTOGRAM to see a summary how often we are using child cursors
  • the BIND_AWARE hint and its opposite (starting with 11.1.0.7)
  • Adaptive Cursor Sharing works with up to 8 bind variables
  • There will be Cardinality Feedback for Join Cardinalities in Oracle Database 12c (Christian Antognini)
  • SQL reoptimization in 12c (V$SQL.IS_REOPTIMIZABLE), a new term for Cardinality Feedback
  • dbms_xplan format=’all_dyn_plan’ to display 12c dynamic plans (Keyword: Inflection point)
  • Cloning pluggable databases within a container DB is only possible with “open read only” of the source, so what about live cloning?

Yeah, a short list this year, but I did a lot of technical testing stuff there and thus, forgot to write down the one or other thing.

Another compliment to the DOAG staff: Inviting Sascha Lobo for a keynote was a great idea, and also to make the boring usual, ever-skipped Q&A session really fun this year. Carry on!

Regards
Martin



OakTableWorld TED Talk: The Connectivity Issue

It was a great OakTableWorld this year. Thanks to the organization team around Kyle Hailey! There have been many speakers worth listening to, just to mention the best in my opinion: Cary Millsap, Jonathan Lewis, Tanel Põder, Alex Gorbachev, Connor McDonald and John Hurley.

OakTableWorld: Jonathan Lewis in action

OakTableWorld: Jonathan Lewis in action

I had the chance to have a TED Talk of 10 minutes, to explain why you never should change server hardware without a DBA and an oscilloscope on site. :) Here are my three slides on that.

Thanks a lot for everything
Martin



Oracle Database 12c announced for 2013

Oracle’s CEO Larry Ellison announced Oracle Database 12c, with a focus on its Pluggable Database feature.Oracle Database 12c will become available in 2013.

Ellison Announces 12c
Mr. Ellison pointed out, that in consolidation cases, saving the overhead for processes and memory structures gives the product an advantage over competitors.

There have been more announcements: Oracle Cloud, Oracle Private Cloud (behind our own firewalls) and Exadata X3. The newest generation of Exadata will cost the same as X2 did, but will have 26TB of semiconductor memory: 4TB of DRAM and 22TB of Flash. Exadata X3 will be available as 1/8 rack for the first time, costing below $200.000, plus licensing costs.

Some other folks told me, that Exadata appliances will allow double mirroring for the first time (not forcing to triple mirror any more).

Have fun and do not make purchase decisions based on this blog entry. :)
Martin Klier




You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.