This morning, while testing on a two node 10.2.0.3 EE SLES 10 cluster, I found that using srvctl to remove a service from the clusterware does not necessarily stop the service and de-register it from the listener. I’m not sure…
Month: August 2009
At least one case where rebuilding indexes helps…
We found that after deleting 250 million “lower” rows from a table with a monotonically increasing sequence, our MIN range scans were incredibly slow. Richard Foote describes this much more clearly than I can this morning, so all this post…
Custom repeat_interval for dbms_scheduler
Nothing fancy today, just a simple test case regarding the subject line 🙂 create or replace function mytime return date as begin return sysdate + 5 / 1440; end; / create table foo (c date); create or replace procedure test_interval…
Poor man’s parallel DML
We were recently required to get rid of 250 million rows in a partitioned audit table. While the table is partitioned, we have global indexes that would be rendered unusable after dropping or truncating a partition. The UPDATE GLOBAL INDEXES…
How does connection re-direction occur in RAC? (Part 1)
I have always been curious as to how a connection request is redirected in a RAC. In other words, let’s assume we have a two node cluster with a given service that only runs on one of the nodes. In…
Port checker
This was useful when we testing a migration between database servers. import socket import sys for i in range(1,5): try: HOST = “foo” + str(i) PORT = 2484 print HOST + ” ” + str(PORT) sock = socket.socket() sock.connect((HOST, int(PORT)))…
Are you actually *using* Oracle partitioning?
Partitioning is sometimes sold as the panacea to all performance problems. Anyone who has added local indexes on a column other than the one on which the table was partitioned quickly finds out this isn’t always the case. Keep in…