cd $ORACLE_HOME/apex sqlplus / as sysdba @apxremov.sql drop public synonym htmldb_system; drop PACKAGE HTMLDB_SYSTEM;
If you have older APEX installations, they may be left in the database, but not registred in the dba_registry.
I had an old APEX schema called APEX_030200, with several invalid objects:
| OWNER | OBJECT_TYPE | COUNT(*) |
|---|---|---|
| PUBLIC | SYNONYM | 3 |
| APEX_030200 | PACKAGE | 2 |
| APEX_030200 | PACKAGE BODY | 114 |
| APEX_030200 | PROCEDURE | 3 |
This means that the script above won't work. You will get this output when attempting to remove the installation:
sqlplus / as sysdba @apxremov.sql ... Error: You can only use this script to remove Application Express
I found some useful information about these situations at this blog
Basically, you can simply drop the old schema directly.
Check first:
SELECT username, 'drop user ' || username || ' cascade;' AS remove_statement
FROM dba_users
WHERE (username LIKE 'FLOWS_%' OR username LIKE 'APEX_%')
AND username NOT IN ('FLOWS_FILES',
'APEX_PUBLIC_USER',
'APEX_LISTENER',
'APEX_REST_PUBLIC_USER',
'APEX_INSTANCE_ADMIN_USER')
AND username NOT IN (SELECT schema s
FROM dba_registry
WHERE comp_id = 'APEX');
So cleaning up can be done as easily as this:
drop user APEX_030200 cascade;
No comments:
Post a Comment