Re: Oracle internal flaws?

From: Guillermo Alan Bort <cicciuxdba_at_gmail.com>
Date: Tue, 15 Mar 2011 13:32:43 -0300
Message-ID: <AANLkTi=D2DmdvvJkAqxSKn4BJr6YRtf+Tkd84m6HQwy-_at_mail.gmail.com>



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.-

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Mar 15 2011 - 11:32:43 CDT

Original text of this message