I have already blogged about it in the Pythian blog but I can’t refrain from mentioning it here in case you, my dear reader, didn’t get the message.
The names of the speakers (except maybe one whose last name starts with “G”) will tell you everything about quality of the content. However, you should not miss another part (and arguably the best) of this gathering. Hint - it has something to do with consumption of fine quality liquids.
Ta-da-a-a-a:
<drum-roll>

</drum-roll>
Unfortunately, I’m too slow to blog about news and can never make it first. Today is no exception and Doug Burns has already posted about “one of the best Oracle Conferences of all times”:

I can tell you - I’m so excited to see all those bright people presenting. It’s especially a pleasure to see that Doug (who recently joined my team here at Pythian) is presenting there. Surprisingly, even your humble servant is going to speak there and make all efforts to deliver something at least half as good as the rest of the content.
Be sure you don’t wait too long to register - the event is limited to 100 people including speakers. Very interesting is the social part of the event and I, personally, can’t even say what is more appealing to me. ;-)
I’ll see you guys there!
The weather was excellent last weekend. I was on-call but, fortunately, the world is not without nice people. My colleague Virgil was very kind to cover me for couple hours so that we could enjoy our first skating experience in Ottawa.
There were impressive number of people:

Read more…
If you are like me and somehow missed it at that time…
Must see.
Click on Bajillio screen-cast.
Oh… make sure your browser is AJAX-y enough!
I can’t stop… I can’t stop…
sqlplus /nolog @oracloid_web_site.sql
Oracle CRS 10.2.0.3 patchset brings long awaited removal of previously required dependencies of databases and ASM instances on a VIP. Actually, 10.2.0.2 patchset lifted the requirement for dependency between ASM instance and VIP but not for database instances. In 10.2.0.2 this dependency wasn’t removed by default.
For those who don’t know that - in case public interface(s) fail(s) (or whatever the case when VIP failure detected) and VIP relocated to another node, CRS shutdowns ASM instance and ALL database instance on the node with failed VIP. When I was working for another good company, we had a lengthy argument with Oracle about supported way of removal for this dependency - there is a way to remove it manually but this wasn’t supported and, particularly, FAN (Fast Application Notification) functionality was not guarantied to work properly in this case.
There are several reasons why one wouldn’t want to have database and ASM instances to be dependent on the VIP.
Several interfaces
There might be more than single interface used to connect to the database instances by different applications. VIP failover followed by shutdown of all database instances would terminate all services even though they might still be available over other interfaces. Large data-centers often have dedicated networks for certain types of traffic and/or different applications.
Recovery time
It takes time to start ASM and database instances back when VIP is returned to its original node. Recovery from network failure would take only few seconds without shutting ASM and database instances down.
Non-RAC database hosted on the same cluster
You wouldn’t want to use VIP to connect to a non-RAC database anyway and wouldn’t want this database to go down on VIP failure.
I hope Oracle will come up with multiple VIPs at some point so that we don’t need to poke around with user VIPs to use multiple interfaces.
Just a small thought to share.
Oracle doesn’t really comply to the rule 11 of Codd’s 12 rules. It does have database links and tables can be grouped in different locations (databases) but it’s not possible to distribute a table transparently across several locations. MySQL Cluster, on the other hand, distributes rows of a table over different data nodes using hash function on the primary key and it’s transparent to the client so it conforms to the Rule 11 as opposed to Oracle.
By the way, if you are interested on MySQL Cluster, keep an eye on Pythian Goodies — one of the last topics was on MySQL Cluster and I believe it should be posted soon.
This is a follow up on my previous post about SYSDBA keeping invoker rights when calling PL/SQL procedure. There was no direct privilege escalation but I mentioned that you need to craft your code so that it gets called by a SYSDBA user. This is what we are going to do now and here is the fun part starts.
Working on the previous test case a bit more I figured that the same anomaly is observed with triggers. So here is one way to get your PL/SQL code called by a SYSDBA. In this case you need to be able to create trigger on database, i. e. need privileges ADMINISTER DATABASE TRIGGER and CREATE TRIGGER.
(more…)
My son Alex is a hero. He spent couple hours outside and by the time I could finally force him to go home the temperature went down to -15 with light breeze and somewhat high humidity. According to the local weather network it felt like 25 below zero.
Read more…
I.e. like SQL Server, for example. Set SERIALIZABLE parameter to TRUE and you get readers blocking writers. Dream of any Oracle DBA.
It seems that this parameter was documented in Oracle 7 documentation. Oracle 8i and 9i migration manuals say that it should not be used anymore and setting it to true is not supported. However, the parameter is still there in 9i and should still work.
10g has finally moved it to underscore parameter _serializable.
Oracle CRS 10.2.0.3 patchset changed the logging of missed heartbeats by CSS.
Here is example how heartbeats misses are logged in ocssd.log in 10.2.0.3:
[ CSSD]2007-02-02 14:41:06.867 [1199618400] >WARNING: clssnmPollingThread: node node1 (1) at 50% heartbeat fatal, eviction in 29.440 seconds
[ CSSD]2007-02-02 14:41:21.865 [1199618400] >WARNING: clssnmPollingThread: node node1 (1) at 75% heartbeat fatal, eviction in 14.440 seconds
[ CSSD]2007-02-02 14:41:30.864 [1199618400] >WARNING: clssnmPollingThread: node node1 (1) at 90% heartbeat fatal, eviction in 5.440 seconds
[ CSSD]2007-02-02 14:41:31.866 [1199618400] >WARNING: clssnmPollingThread: node node1 (1) at 90% heartbeat fatal, eviction in 4.440 seconds
[ CSSD]2007-02-02 14:41:32.868 [1199618400] >TRACE: clssnmPollingThread: node node1 (1) is impending reconfig
[ CSSD]2007-02-02 14:41:32.868 [1199618400] >WARNING: clssnmPollingThread: node node1 (1) at 90% heartbeat fatal, eviction in 3.440 seconds
[ CSSD]2007-02-02 14:41:32.868 [1199618400] >TRACE: clssnmPollingThread: diskTimeout set to (57000)ms impending reconfig status(1)
[ CSSD]2007-02-02 14:41:33.870 [1199618400] >TRACE: clssnmPollingThread: node node1 (1) is impending reconfig
[ CSSD]2007-02-02 14:41:33.870 [1199618400] >WARNING: clssnmPollingThread: node node1 (1) at 90% heartbeat fatal, eviction in 2.430 seconds
[ CSSD]2007-02-02 14:41:34.862 [1199618400] >TRACE: clssnmPollingThread: node node1 (1) is impending reconfig
[ CSSD]2007-02-02 14:41:34.862 [1199618400] >WARNING: clssnmPollingThread: node node1 (1) at 90% heartbeat fatal, eviction in 1.440 seconds
[ CSSD]2007-02-02 14:41:35.864 [1199618400] >TRACE: clssnmPollingThread: node node1 (1) is impending reconfig
[ CSSD]2007-02-02 14:41:35.864 [1199618400] >WARNING: clssnmPollingThread: node node1 (1) at 90% heartbeat fatal, eviction in 0.440 seconds
[ CSSD]2007-02-02 14:41:36.306 [1199618400] >TRACE: clssnmPollingThread: node node1 (1) is impending reconfig
[ CSSD]2007-02-02 14:41:36.306 [1199618400] >TRACE: clssnmPollingThread: Eviction started for node node1 (1), flags 0x000f, state 3, wt4c 0
Note that 10.2.0.2 would start logging each heartbeat miss from the second miss:
[ CSSD]2006-11-07 22:15:59.420 [1107360096] >TRACE: clssnmPollingThread: node node1 (1) missed(2) checkin(s)
[ CSSD]2006-11-07 22:16:00.422 [1107360096] >TRACE: clssnmPollingThread: node node1 (1) missed(3) checkin(s)
[ CSSD]2006-11-07 22:16:01.424 [1107360096] >TRACE: clssnmPollingThread: node node1 (1) missed(4) checkin(s)
[ CSSD]2006-11-07 22:16:02.426 [1107360096] >TRACE: clssnmPollingThread: node node1 (1) missed(5) checkin(s)
[ CSSD]2006-11-07 22:16:03.428 [1107360096] >TRACE: clssnmPollingThread: node node1 (1) missed(6) checkin(s)
[ CSSD]2006-11-07 22:16:04.430 [1107360096] >TRACE: clssnmPollingThread: node node1 (1) missed(7) checkin(s)
10.2.0.3 has somewhat more user-friendly format and tells you when potential eviction would occur but starts logging only after 50% of heartbeats are missed. This means that you won’t be aware of “short” interconnect instability if there are any. I would prefer something like "missed i checking out of n“.
The output above is from Linux platform. It might be different on other operating systems. For Linux even with 10g you should have installed hangcheck-timer but this is another topic and I might blog about it soon.
Recent Comments