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