Forum OpenACS Q&A: Re: Upgrading from OpenACS 4.6.3 on Oracle 8i to 5.1.4 on 9i

Hi Andrew,

I'm posting in some rough notes from the Sloan upgrade below. Feel free to bug me by email or AIM (adaegrumet) if you need anything.

  1. db export/copy/import/viewfix
  2. upgrades run from sqlplus
    • sequencing: all pre-ora9 scripts for all packages must be run first
    • recompiling package bodies and packages as we go
    • fixed upgrade scripts
    • skipped upgrade scripts (two reasons: @ usage points to newer code, or we already had the fix)
  3. copy content-repository-content-files to new server and set permissions
  4. upgrades run from aolserver
    • turn off outbound email (rollout support) and scheduled procs (new UpgradeModeP parameter) before starting the server.
    • zzz-postload.tcl
    • edit dotlrn-master.tcl and site-master.tcl temporarily working around code that breaks before upgrade is complete (lang_admin_p, num_users_online)
    • upgrade all packages in APM, navigate directly to /acs-admin/apm/packages-install
      • upgrade in 4 rounds, a subset of packages at a time, with intervening restarts, starting with the most core packages and working your way out to dotlrn [may not be strictly necessary]
  5. back in sqlplus
    • run a few updates (missing-upgrades.sql) for upgrade scripts
      that should exist but don't
    • analyze tables, recompile broken objects
    • update a few APM parameters
  6. mount localization package at acs-lang (tricky, have to conjure up the right URL, gui options not presented because acs-lang is marked as a service) and import all messages to be sure nothing falls through the cracks (a lot did, which is why we do this)
  7. unedit dotlrn-master.tcl and site-master.tcl
  8. WATCH OUT for new APM parameters -- for example, acs-mail-lite now uses the sendmail binary by default. Since this is controlled by a new parameter, it will get rolled out to your instance of acs-mail-lite with the default value, which means it will call the sendmail binary when your old system was probably using SMTP.
  9. WATCH OUT for changed APM parameters -- for example, file-storage now uses the filesystem for storage by default, when it used to default to the database. When you upgrade in APM, the defaults get overwritten, and all new package instances (e.g. file-storage in classes created post-upgrade) will get the new default if you forget to restore defaults to your old values. This silent overwriting of package value defaults is a bug in OpenACS.
Andrew, as your first step before doing anything else, you exported your 8i data and then imported it into a new 9i instance, correct? How long did that take?

My 8i instance is about 83 GB, so I fear an export/import (particularly the import) might take many days. For testing, I think I'll try using my RMAN physical hot backups to make a copy of the instance. And then eventually upgrade Production in place. Anyone here ever tried that before?

(Most of that 83 GB database is in other tablespaces that have nothing to do with OpenACS, but I still sure don't want to try upgrading them in place to 9i without testing that first on a disposable Dev instance.)