Forum OpenACS Q&A: Copenhagen - Oracle 9i (informal)


Participants

Don Baccus, Hazi Gharagozlou, Michael Hinds, Mohan Pakkurti, and others that I missed

State of affaires:

All participants recognized that Oracle 9i port needs to be addressed as soon as possible.

I have an OpenACS 4.6 server running on Oracle 9i, but haven't tested fully. Michael Hinds has received my changes and will test them on his system once he gets the version running (they are using the head), Mohan is going on vacation for two weeks and will put in testing efforts once he gets back to Stockholm. Mohan also will commit to CVS the efforts of the group. I am hoping for version 4.7.

W/o some of the below changes, OpenACS will not load into Oracle 9i database.

Things done and to do

  • Reserved Words (Delete/Rename)
  • Oracle 9i allows delete word to be used on a package definition. However it will complain if delete is called from another package. In another words, one can create a function "delete" in acs_objects package, calling acs_objects.delete from another package is not allowed (va savoir)

    I have gone through all kernel packages and I have renamed delete to del. I have also modified a few xql files.

  • Java
  • To get rid of "Regexp-oracle.sqlj" error I downloaded latest sdk (1.4)from Sun and modified JAVA_HOME to point to the new version.

    Don mentioned that with the new kernel version (I assume 4.6.2) all Java is out. So no need to sdk for a vanilla install, however I suspect that with the old workflow Java still will be needed.

  • Views
  • Originally I thought that the problem with views was not explicitly using column names, so I went through all the views and changed ".*" to actual columns (good practice anyway). As it turn out the problem was the NULL = NULL equality of rel_contstraints_violated views.

    I am going to test the views this week.

  • Driver compile
  • I compiled the driver with the Oracle 9i libs and it is stable

  • Oracle Dates
  • I found that on Suse 8.1 I had to define NSL_DATE_FORMAT="YYYY-MM-DD" in nsd-oracle file in aolserver/bin directory as well as the .profile. No need to change the initora9 script.

  • Dummy table dual
  • Mohan mentioned that dual does not work. I tested "select sysdate from dual" and it works as expected.

  • Installation documents
  • Some items on documentation is obsolete. We need to go through it and changed it accordingly.

When Mohan gets back I will give Mohan access to my 9i server and hoefully we will hev something well tested before 15th of May.

Collapse
Posted by Dave Bauer on
If the functions for delete are renamed, all the places that generate dynbamic pl/sql code in the Tcl API need to be fixed.

One example is relation_remove. https://openacs.org/api-doc/proc-view?proc=relation_remove&source_p=1

I just wanted to mention this somewhere.

Collapse
Posted by Hazi Gharagozlou on
I have changed the "xql" files. For the moment I have not changed any of the "tcl" files. From my understanding the pl/sql code in "tcl" files don't get called if there is a corresponding "xql" file.
Collapse
Posted by Michael Hinds on
Yes, if there's an xql file with a statement name corresponding to the one in the tcl file, this will be used. These days the statement names are referred to by fully qualified names, i.e. proc name from root namespace.statement name. Personally, I think it causes more harm than good to have the SQL in the tcl. I'd prefer to see {} if there's a corresponding xql file.
Collapse
Posted by Don Baccus on
Dave's talking about a few places in Tcl that generate dynamic data.  For instance the Tcl proc that generates calls to package_key.new() automatically from PG or Oracle metadata stored in the DB.  This dynamic stuff's not in .xql files nor can one really do so.  The amount of code that might be affected is low ...
Collapse
6: Oracle 9i (response to 1)
Posted by Oscar Bonilla on
Hazi, I can help test the Oracle 9i port. I have an OpenACS from CVS HEAD connected to an Oracle 9i database. If you let me have your patches I could try to integrate them and give you feedback.

Regards,

-Oscar

Collapse
Posted by Hazi Gharagozlou on
I will send you and Michael Hinds all my modified files.
Collapse
Posted by C. R. Oldham on
Greetings,

What are the compelling reasons for an enterprise to move to 9i from 8.1.7?  And what are the pitfalls (more hardware needed, etc)?  One really big advantage AFAIK is RAC--it seems that clustering is a lot easier in 9i than 8i...

Collapse
Posted by Dirk Gomez on
Oracle 8.1.7 will be desupported end of this year.
There are quite a few threads from the past on SE vs. EE:
https://openacs.org/forums/message-view?message_id=44864
https://openacs.org/forums/message-view?message_id=20297
https://openacs.org/forums/message-view?message_id=23808

So which version of 9i is OpenACS going to be supporting officially ?