RE: My 10 Commandments of Database Administration...

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: "Oracle-L" <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 23 Sep 2004 11:16:33 -0400

Knowing that the fnd_login session is no longer valid does not give you a
valid value to shove in there. Your uncertainty would be the frequency of
such checking.

Again, it is your interpretation that NULL means current session that is
incorrect. All it means is that the time of ending the session is not known.

Perhaps you're proposing a new column "detected_as_no_longer_valid" that
could be unambiguously defined, but that is different than the definition of
end_date, which is either the actual time of a graceful logout or unknown.
NULL is just the right value for that, but attempting to use that column for
any other meaning is just wrong. So if someone tries to tell you that the
count of fnd_logins with NULL for end_date is the number of current
applications sessions, then they are barking up the wrong tree. If they tell
you it is the ceiling for that value, they are correct. If you wanted to
subtract off the ones that don't map, that would work, but I'm not clear
that is faster than the join to show the NULL valued end_date fnd_login
tuples that do correspond to active sessions.

As I noted before "I'm not sure what value you'd like to stuff in there."

mwf

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]On Behalf Of Nelson, Allan
Sent: Thursday, September 23, 2004 9:38 AM
To: mwf@xxxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: RE: My 10 Commandments of Database Administration...


Not so fast.  The state for all records in fnd_login that have no
corresponding record in v$session and v$process and end_date is null are
both known and incorrect.  Just because something was validly null at
one point in time does not mean that it is true forever and this is the
problem for leaving the nulls there when the user is not connected.

Allan

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Mark W. Farnham
Sent: Thursday, September 23, 2004 8:15 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: My 10 Commandments of Database Administration...


Hmm. The end_date of a login is an unknown value when the login is not
yet ended. That sounds right to me. The end_date of a login is probably
also unknown to Applications in the event of an abrupt termination. (And
maybe the database too, if the abrupt event was a crash. Even if the
database stays up, I'm not sure what value you'd like to stuff in
there.) So a NULL in end_date correctly describes the information that
the end_date of the login is unknown.

I think this illustrates that attempting to ASCRIBE MEANING to a NULL
value other than it is unknown is the problem.

I think you're the one who gets to start cooking for Nuno. (Also
possibly someone in documentation at Oracle if they wrote that a NULL
end_date in fnd_login means anything other than it is unknown when that
login ended.)

Slight amendment to Ryan's #11: Thou shalt feed me whatever I want
if.... (and usually it's gonna be pizza and beer, but I'm not ruling out
Chinese.)

mwf

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]On Behalf Of Nelson, Allan
Sent: Thursday, September 23, 2004 8:42 AM
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: My 10 Commandments of Database Administration...


Dear God!  Oracle Financials uses NULL in end_date on fnd_login to
indicate either the current login or an abrupt termination of the user
session neatly making your point and potentially providing with an
enourmous number of cooks!

Allan

-----Original Message-----
=3D46rom: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Nuno Pinto do Souto
Sent: Wednesday, September 22, 2004 7:41 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: Re: My 10 Commandments of Database Administration...


Quoting from AUTHOR ryan gaffuri:
> 11. Thou shalt feed me if I have to work late to fix something =
you=3D20=20
> broke.
>
> I'm a single guy...


Nuno's design corollary #1:

Thou shall not use end_date =3D3D NULL to mean "current row" of =
ANYTHING!
NULL has NO MEANING whatsoever: it does NOT mean "current"!

Under penalty of having to cook for Nuno (and I'm a heavy bloke)...





--
//www.freelists.org/webpage/oracle-l


________________________________________________________________________
___=3D
___
This email is intended solely for the person or entity to which it is =
=3D
addressed and may contain confidential and/or privileged information.  =
=3D
Copying, forwarding or distributing this message by persons or entities
=3D other than the addressee is prohibited. If you have received this
email in =3D error, please contact the sender immediately and delete the
material from =3D any computer.  This email may have been monitored for
policy compliance.  =3D [021216]

--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l

Other related posts: