And this is what every user has to do to benefit from detailed mailings:
Last days, I had an interesting issue with a customer’s test database. The DB crashed, after manually but unintentionally corrupting the SYS schema (dropping an unknown number of objects). Restarting the instance (open) ended with:
ORA-00600: internal error code,
arguments: [kokiasg1], , , , , , , , , , , 
Our quick fix was to restore/recover (PITR) to a point in time before causing havoc on the SYS schema. But as a spin-off, the Oracle Support SR I did start in parallel, analyzed the cause of the ORA-600 [kokiasg1]. I did not find anything reliable on the web, but this is what my support engineer suggested, if a PITR like in my case would not be possible due to business data requirements:
ORA-600 [kokiasg1] error can also occur if the sequence IDGEN1$ is missing, not only AUDSES$. The sequence IDGEN1$ is created when the database is created. The ddl is also in script migrate.bsq.
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!
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. :)
The other picture is my teammate Benedikt as Maxi’s cushion. :)
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.
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:
- It’s useless, since the SQL Dev. does not display any information about reachable/non-reachable databases. I simply can’t see any benefit.
- It’s waste of network resources
- 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?
Modify your sqldeveloper.conf:
to disable this behavior.
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.
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.
Here comes the presentation: Oracle Datenbank Architektur – nicht nur für Einsteiger
Thank you very much for attending!!
Just a quick note: if you plan to apply PSU 5 on top of 188.8.131.52 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 184.108.40.206), but I don’t know the background yet.
The known issue is:
Bug 16268804 : GI STACK NOT STARTING ON POST APPLY OF 220.127.116.11.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
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)
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!
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)?
- 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…?
“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!
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 18.104.22.168)
- 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!