Finding new featuresSeptember 11th, 2007 — ddelmoli
Links to 2 things here. I recently had an opportunity to throw an idea into a debate/quiz going on at Howard Rogers’ site. I always find Howard’s quizzes to be provocative in that the debate is more interesting than either the question or the answer. My interpretation of Howard’s question was: “Is there a single metric you can get from an Oracle database that will tell you the general well-being of the server hosting the database?” — no O/S tools allowed, SQL only, with a preference for a point-in-time number not requiring sampling.
Another way to say this is “a quick-and-dirty” answer
Clearly, responsible adults are debating whether or not it’s a good idea to purport to hold up a single, non-sampled metric as the only thing you’ll ever need. It’s not a good idea. But if someone only allows you one command, what would you run?
Since Howard asked for the status of the server (not just the database), we need something that looks at the O/S from within Oracle. We know that Oracle can do that — where do you think it gets sysdate from anyway?
So, how do you find out if Oracle exposes monitoring statistics from the O/S? I just read the reference manual, with an eye on the V$ views. Gee, V$OSSTAT looks interesting, doesn’t it? Oh well — how about:
select value from v$osstat where stat_name = ‘LOAD’;
Simple, and a reasonable thing to look at — as long as you know how many CPUs are on the box (and cpu_count is probably good enough for that).
Most people hadn’t heard of the v$osstat view… It’s “new”. Which brings me to an excellent podcast from Tom Kyte – in it he talks about “new features”. He also talks about how people look for the “best” new feature. Which always depends on their specific needs.
How do I find new features? I re-read the Concepts Guide and I always, always re-read the Reference guide (specifically the V$ views). Here’s the thing, any cool new feature generally has a way to be monitored. And if it doesn’t then I don’t want to use it :-) So I can usually reverse back to a new feature by understanding the ways the Oracle engineers have exposed ways to monitor it.
(There are many exceptions to this — especially in the ways that Oracle extends SQL and PL/SQL — for those I look at the SQL Guide with special attention to the functions section, and also the PL/SQL Guide with special attention to the table of contents, and finally the Supplied Packages Guide — lotsa goodies in there).