Oracle's Response (6)
21. This is incorrect. I just did it in 9i.
Go to Fractal Site
In 8i, I could not create a read-only view in schema B which was composed of tables owned by user A, even when A had granted read permission to B. Perhaps this has gone away in 9i.

22. It's hard to dispute numbers when you don't provide a test case. Views based on views are usually the result of poor database design.
Mr. Conway is referring to my comments on nested views with large tables. I said that Oracle is rotten at processing them, and in my experience, cannot even do them. I did not give a test case because one could duplicate it only with monumental effort. Nonetheless, Engage, Inc. in the course of migrating one schema to another, needed a script to compute a new table based on computations derived from another. In order to arrive at the result table, I needed 4 intermediate views, one based on the other.

The database design, while not perfect, was the same schema for Sybase as it was for Oracle. That includes tables, indexes, constraints, tablespaces, and up-to-date statistics. While Sybase finished writing into the new table in 45 minutes, Oracle could not figure it out, even after 6 days.

When I asked AdKnowledge's (then a subsidiary of Engage) Oracle DBAs about this performance problem, they told me to "stay away from nested views because Oracle is terrible at them." I deferred to the knowledge of the company's Oracle experts. I saw first hand why. I had to change my Oracle migration script to use temporary tables instead. That worked, but that was what I was trying to avoid.
Go to Oracle
23. This is incorrect. You need to read up on CHAR, VARCHAR, and VARCHAR2 definitions.
Like most Oracle people, Mr. Conway does not know the first lesson in set theory: Null is the empty set. This is a mathematical definition. It is immutable. Mr. Conway's referral that I should review the definitions of varchar, etc, demonstrate that he doesn't know what I am talking about. To Oracle people, the null set is not empty, but contains zero-length strings. This incorrect definition of the null set cripples the behavior of primary keys, changes the results returned by SQL statements, and removes the distinction between values not entered and values entered but equal to blank. This one missed concept changes the way one programs everything. It forces one to introduce error at every comparison for nullness or blankness.

By definition, null != "", just as π != 3. Oracle doesn't understand that. CIO, know this. Oracle's missed concept is so fundamental, that you would be justified to not buy Oracle based solely on this. Would you buy a car if the manufacturer insisted that steel is an alloy of cardboard? The mistake affects everything.

24. Oracle has a multi-threaded server, and supports thread-safe client-side code.
While Mr. Conway is speaking the truth, Oracle's implementation is an after-thought and falls short. What I am referring to in the Fact's page, is that Oracle's 6 processes plus 1 process per connection per instance, is a legacy of architecture prior to the days of multithreading. Pre 1988. All of Oracle's six+ processes should be combined into a one multithreaded server. As it is, Oracle runs the same way now as it did in 1987. That was when I first used Oracle. Oracle still hordes 90% of the computer's resources and remains a mouse trap of separately moving pieces.

25. Sybase has a database corruption checker. It has to be run all the time or you can't trust that your data is correct and has integrity.
Mr. Conway is attacking Sybase on account of its ability to check itself and make itself better. It is customary to run dbcc about once a week to check data consistency. It is rare when data actually becomes inconsistent. When that happens, Sybase's dbcc fixes the data. Power outages, disk head glitches, such things beyond Sybase's control . . . those things are what dbcc is meant for.

Oracle has no such checker or fixer. Instead, Oracle has directories dedicated to core dumps for all the different Oracle programs that routinely fault. Instead of being able to check itself and make itself better, Oracle simply dies. I have also seen such deaths result in the irrecoverability of tablespaces and servers.

It is rare for Sybase to core dump. I think I have seen one, possibly two data servers core in 11 years. From Oracle, I have seen several core dumps per month. Listeners disappear as a habit. The reason why a user rarely notices, is because it is normal for Oracle and Oracle users to ignore errors.

© 2010 Talus Software. All Rights Reserved.

Home | Buy Software | Privacy