I mentioned some time ago that I was pushing my current company to move much of their gear on to VMware, mostly because of poor resource utilization on many of the servers. That process is still under way.
One thing I wanted to mention specifically was our use of Cloud Control 12cR3. Up until recently, we were using physical kit for this. We had an 11.2 database on HP-UX, With HA provided by HP Service Guard. We had two management servers on physical kit running RHEL5 pointing at this Service Guard package to give us some resiliency in of the OMS. It worked, but it was over complicated and I was never really happy with it for a number of reasons:
It probably won’t surprise many people to hear me say that the decode() function can be a bit of a nuisance; and I’ll bet that quite a lot of people have had trouble occasionally trying to get function-based indexes that use this function to behave properly. So (to put it all together and support the general directives that case is probably a better choice than decode() and that the cast() operator is an important thing to learn) here’s an example of how function-based indexes don’t always allow you to work around bad design/code. (Note: this is a model of a problem I picked up at a client site, stripped to a minimum – you have to pretend that I’m not allowed to fix the problem by changing code).
First we create some data and indexes, and gather all relevant stats:
SQL Developer 4 EA2 includes a performance node in the DBA tree.
You can use this to view ADDM, AWR and ASH reports directly from SQL Developer. I know I can get these from Cloud Control, but previously I tended to pull these out from the command line on the server. This is a much better approach IMHO.
You have to download the 3rd party JDBC driver and point SQL Developer to it. You can read how to do it here.
Update: My colleague just told me this.
“If you at any point decide to use Windows authentication to connect (like I just did), you might hit this error:
Status : Failure -I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.
So I tried to finish out some of my OOW posts, but I ended up talking about this with a friend and thought I would share how I became Facebook friends with Larry Ellison instead….
Oracle OpenWorld was fantastic, as usual. The best show in San Francisco. This is the seventh year in a row that I’m attending – 3 times as HP employee, 3 times as Pythian employee, and now as a Clouderan. My life changes, but the event and people are always fantastic.
There will be a separate blogpost about what I learned at the event, new exciting products and my thoughts of them. But first, let me follow up on what I taught.
Tired of tracking down all the users in the database to deactivate them when they cease to exist, or change roles, or fulfill their temporary need to the database? Or, tracking down privileges you granted to existing users at the end of their requested period? The solution is to think out of the box - developing a system that allows you to create a database user account with an expiration date. This fire-and-forget method allows you to create users with the assurance that they will be expired (locked or dropped) at the expiration date automatically, without your intervention. Interested? Read on how I developed such a system--along with source code for you to try.
What is a database user? In my opinion, there are two kinds of users:
A recent question on the Oracle-L list server described a problem with data coming in from SQL Server and an oddity with referential integrity failing on Oracle because (for example) a child row was in lower case while the parent was in upper.
This raised a few comments on how you might handle referential integrity while allowed case to differ. No doubt it’s been done before – by Tom Kyte if no-one else – but the first thought that crossed my mind was to use virtual columns:
I’m back home from my 8th Oracle OpenWorld. Here are the posts I wrote during the event.
Just before I left for OpenWorld I started a competition to win 5 vouchers for an OCP beta exam, kindly donated by Oracle Certification. I’ve just got back, so it’s time to announce the winners.
(1) In first place comes Steve Karam, with not one, not two, but three entries, including one to the tune of Fresh Prince of Bel-Air. I met Steve at OOW2013 and he kindly offered to forgo the prize if I felt someone else was more deserving, but he was head and shoulders above the rest, so he simply must get a prize!