[Zope] Re: Interest in continued Oracle support in Zope [longish and kind of off-topic]

Dario Lopez-Kästen dario at ita.chalmers.se
Thu Sep 2 03:00:19 EDT 2004


Dieter Maurer wrote:

> This problem does not look like a Zope or DCOracle problem
> but like an Oracle problem.

perhaps - I am starting to suspect Oraxcle 8/9 client problems (on linux)
> 
> When I had to work with Oracle 3 years ago,
> I have been *VERY* disappointed (this was Oracle 8i).
> Despite its high costs (100.000 USD), it was almost
> unfunctional:
> 
>   *  memory corruption inside the Oracle client libraries
>      brought our Zope down within minutes of use
> 
>      This was finally fixed by an alternate open protocol.
> 

Can't comment on this, since I have not your knowlegde on how to 
identify and understand these issues (I do whish I had, though :-)

>   *  the Oracle server died often, non-deterministically, after
>      some amount of work
>
>      we had to regularly close the connection and reopen a new one
>      in order not to let one server do too much work
> 
We had this problem briefly on versions like, for instance Oracle 8.1.6.

Basically from what I remember of those days, the last version of Oracle 
7 (7.3 or so) was rock stable, but we were not using Oracle 7, next 
"stable" version was 8.0.5, which I think was the first version we had 
in serious production. You really wanted to avoid like the plague 
everything before 8.1.5 and 8.1.7. (8.1.5/8.1.7 were pretty good, and we 
  still use a 8.1.7 in production - mostly because we have not had the 
opportunity to upgrade it).

8.1.6 was... let's just say it was very good. :-P

>   *  the Oracle client library caught SIGCHILD making
>      "system" and "popen" unreliable -- this could be fixed
>      with a special configuration option, deeply hidden
>      in the tons of Oracle documentation

jup remember that too :-)

>   *  full-text reindexing after large imports often crashed
>      non-deterministically

Never did that. We never really did consider doing this kind of stuff at 
all, and the tentative plans we had were to use Oracle Context, as it 
was called then. We were in contact with people that were sucessuflly 
using Context to do large scale text indexing , and who where 
investigating the feasability to do stuff doing genome code indexing 
etc, for research purposes. This was in 1998-1999...

>   *  upgrading from one Oracle version to the next Oracle
>      subversion was a nightmare

Wtried that once, as an experiment and I can't remember if it was from 
8.1.5 to 8.1.6 or from 8.1.6 to 8.1.7.

We very quickly decided that, as we suspected, it was much less work to 
install a new instance with the new version and then migrate the data 
and structures to the new instance.

Just like when installing windows :-)

>   *  some combinations of relational and full text subqueries
>      let Oracle forget about its indexes.
>      For example: while a query "Q1 and Q2" took seconds
>      (Oracle recognized that it had indexes) the query
>      "Q1 or Q2" (with the same "Q1" and "Q2") took days (!)
>      (because Oracle had forgotten about the indexes and used
>      full table scans -- which is a bad idea with hundread of
>      millions of records and hundreds of gigabyte of data).
> 
>      The Oracle support was unable to fix this problem within
>      half a year. Oracle recommended to avoid the combination
>      of relational and full text subqueries !

Well, unless you have a personal contact with Oracle support, then it 
basically sucks, even today - though MetaLink has become a bit more 
uable lately.

The thing with oralce is that you have to know how to use it; just the 
sam as with Zope.

In versions 8 and 9, that means that you have to take special care of 
HOW you construct your SQL.

I know this from personal experience, both from personal mistakes, and 
from extensive work trying to fix other peoples code and SQL. I kid you 
not when I say that a very simple rewrite of an sql query can minimize 
the execution time from 5 minutes to less than 5 seconds.

I am at this moment struggling with precisely such an application that 
is very badly desinged.

in newer and latest oracles, the situation for a programmer is mich 
easier. Since the DB automagically calculates things like index 
statistics, and even (If I remember what I've been told) manages it's 
tablespaces automagially.

All in all this means that you have much more freedom in how to write 
your queries than you had before. There are lots of "hidden", or at 
least non-obvious tricks to fully taking advantage of Oracle, but this 
situation is no different than using Zope.

Anyways, we are not going to go away from Oracle any time soon. For one 
ting, we have invested knowlegde on Oracle that we cannot just throw away.

Oracle provides us with services that we feel we cannot be without, such 
as warm backups, replication, etc, that are more or less ready to use 
OOTB, just to name one at random.

I am not debating whether postgress is good or bad, mind. I am just 
expressing my need to have Zope work well in conjuntion with Oracle.

And this is not only to satisfy my own current needs. I think it is good 
for Zope, and indirectly for all of us, if Oracle was on the list of 
things that Zope interacts solidly with.

After all - in the very unlikely event that it would boil down to it 
costing too much to use Zope with Oracle, we are not going to drop 
Oracle... we probably would still be using Zope but not for all the more 
high-profile sites and applications we would be needing to create.

So, I think i'll try to stick with both Oracle and Zope as long as 
possible :-)

/dario

-- 
-- -------------------------------------------------------------------
Dario Lopez-Kästen, IT Systems & Services Chalmers University of Tech.


More information about the Zope mailing list