Wednesday, December 7, 2011

Needed to install Oracle Application Express today. It was not installed with the database creation so I had to do it manually.

Step 1: created a tablespace for the APEX data:

conn / as sysdba
Connected.
create tablespace apex_data datafile '+DATA1';

exit

Step 2: ran APEX install script from $ORACLE_HOME/apex:

cd $ORACLE_HOME/apex
sqlplus / as sysdba

@apexins password apex_data apex_data temp /i/


Install went pretty well but I found that in the end, DBA_REGISTRY showed Application Express as INVALID.

Checked DBA_ERRORS and found the following:

OWNER NAME TYPE SEQUENCE LINE POSITION TEXT ATTRIBUTE
----------- --------------- --------------- ---------- ---------- ---------- -------------------------------------------------- ----------
MESSAGE_NUMBER
--------------
APEX_030200 WWV_FLOW_HELP PACKAGE BODY 16 884 9 PL/SQL: Statement ignored ERROR
0

APEX_030200 WWV_FLOW_HELP PACKAGE BODY 15 884 9 PLS-00201: identifier 'CTX_DDL' must be declared ERROR


I searched that error on Metalink and found this document: 1312938.1

Basically, to get APEX valid, you have to:

SQL> conn ctxsys
Enter password:
Connected.
SQL> grant execute on ctx_ddl to APEX_030200;

Grant succeeded.

SQL> grant execute on ctx_doc to APEX_030200;

Grant succeeded.

SQL> connect / as sysdba

SQL> alter package APEX_030200.WWV_FLOW_HELP compile;

Package altered.

SQL> alter package APEX_030200.WWV_FLOW_HELP compile body;

Package body altered.

SQL> conn / as sysdba
Connected.
SQL> @?/rdbms/admin/utlrp

That seemed to fix my issue just fine!

No comments: