Re: Oracle internal flaws?

  • From: Guillermo Alan Bort <cicciuxdba@xxxxxxxxx>
  • To: Richard.Goulet@xxxxxxxxxxx
  • Date: Tue, 15 Mar 2011 13:32:43 -0300

I'd like to break this down and answer bit by bit:*
*

*
*

*“*Oracle does not have a true server architecture (others have it).

Technically depends on the OS. In Windows it works as a single process with
multiple threads. This is because multithreading is cheaper than
multiprocessing in Windows. On Unix it's the other way... so... "let's use
what works best in each OS" seems like a good approach to me.

Rather than performing classic server tasks, such as multi-threading,
caching of data pages, parallel processing (split a query across many
devices) etc. within itself, it uses the o/s to do all that.

Oh, really? so all that complex stuff about how processes and memory
structures are designed in Oracle that we have to learn for the OCP are just
lies? Again, why add the overhead of doing something the OS already does and
with a far greater power on the resources? Also, not entirely true. SGA has
a cache (know as DB_CACHE?) of blocks... I'm not sure what he means by
'pages', oracle doesn't work with pages, it works on row level and table
level, and block level. Pages sounds something you'd have in SQL Server...
and old versions at that. (think locking). So, his point here is that Oracle
is different from other Databases... which in and of itself says nothing as
to whether he think it's good or bad.

That means for each user process (PL/SQL connection) there is one unix
process; 1000 users means 1000 unix processes, all competing for the same
resources.
Unless, you know, you use shared servers... which lowers the number of
processes and lets user sessions share processes... oh, wait, that has
crappy performance... so this is actually an argument in FAVOR of using
multiprocessing. Also, what on earth is a PL/SQL connection? In 'dedicated
server' structure you have a 1 to 1 map of sessions-server process... PL/SQL
has nothing to do here... for what it's worth you could be running Java or
plain old SQL... so... stop throwing buzz words around and hope nobody
notices!

Especially noteworthy, because it uses file system files (not raw
partitions), and the "caching" is outside, it relies heavily on (and is very
sensitive to) the file system cache that you have set up. likewise, Oracle
needs a massive amount of memory for these processes.*”*

Yes, except when you use RAW devices... or ASM (which has nothing to do with
the traditional filesystems and caching is done by... wait for it... YES! an
Oracle ASM instance! Anyway, he has a point, Oracle is trying to desupport
RAW devices for database storage in favor of ASM... And I'd like to see a
database that stores its files on a FS that isn't sensitive to cache
settings... I think Oracel worked around that by creating ASM... which also
works as a cluster filesystem btw...

I'm not gonna speak as to the memory issues... since he's right, Oracle does
use a lot of memory... you can limit it, though... if you know the least
about what parameters are for... :-P

Oh, and to close up I'd like to point everyone to a meme which works pretty
well here:

"Haters gonna hate..."

Oh, and Dick, nice analysis... really tells you something about the guy...

I have a lot of fun reading rants in this list, but they are mostly from
people that have a deep understanding of how Oracle works, and they are
mostly about the quality of Support (specially metalink)... I really hate it
when people start ranting about something they don't understand...

cheers
Alan.-

Other related posts: