This is an APEX patch, not an upgrade!

June 27, 2008  |  apex, dba, security

Today I tried to upgrade APEX 3.1.0 running on 11g like a rookie 🙂 May be I woke up blind or just lazy… Every upgrade I made before was made with these steps:

  1. download and unzip apex_release.zip
  2. shutdown and startup database keeping listener down…
  3. logon as sys (/) and start patching
  4. load apex images
  5. finally startup listener again
oracle@beyondoracle> lsnrctl stop
oracle@beyondoracle> sqlplus "/ as sysdba"
sqlplus> shutdown immediate;
sqlplus> startup;
sqlplus> @apexins SYSAUX SYSAUX TEMP /i/
sqlplus> @apxldimg /dir_where_i_unpacked_apex
oracle@beyondoracle> lsnrctl start

But, 3.1.1 is a patch relative to 3.1.0 and not an upgrade… So I haven’t thougth about that. I tried to upgrade it 🙂 … hhhhuuuuu! 🙂 behaving like a rookie I know, even that I’ve patched software thousands times before!

I was trying to upgrade APEX instead of patching it… and the error I was getting was:

III.   I N S T A L L   F L O W   P A C K A G E   S P E C S
wwv_flow_plsql_editor.sql

Pacote criado.
wwv_flow_model_api.sql
Pacote criado.
...wwv_flow_f4000_util
Pacote criado.
Sem erros.
...wwv_flow_image_generator
Pacote criado.
Sem erros.
Installing Application Migration Workshop objects
 create table wwv_mig_projects
              *
ERRO na linha 1:
ORA-00955: o nome já está a ser utilizado por um objecto existente

.
That’s what happen when you’re sleeping and your mind is not at your desk! What I had to do was downloading from metalink the patch 7032837 for Oracle 11g (file: p7032837_111060_GENERIC.zip) and follow the patch process described in it’s documentation.

So this is what I and you have to do if you’re patching 3.1.0 with 3.1.1 patch:

oracle@beyondoracle> lsnrctl stop
oracle@beyondoracle> sqlplus "/ as sysdba"
sqlplus> shutdown immediate;
sqlplus> startup;
sqlplus> @apxpatch.sql
sqlplus> @apxldimg /dir_where_i_unpacked_my_patch
oracle@beyondoracle> lsnrctl start

So don’t act like me… like a rookie today 🙂 The red highlighted numbers are not innocent … they mean something! 😉


Leave a Reply