Deinstallation of Oracle Enterprise Manager 13c


This article is very simple & straight forward no extra theory here just practical.
If anyone faces any type of difficulties please do comment or email me at toahsansharif@gmail.com


Step-1 : Running below script to deinstall automatically.


Copy EMDeinstall.pl script from /U01/oracle/PROD/db/tech_st/12.1.0/middleware/sysman/install/ & paste it on some temporary directory as mentioned below.


[oradb@uptest ~]$ /U01/oracle/PROD/db/tech_st/12.1.0/middleware/perl/bin/perl /home/oradb/EMDeinstall.pl -mwHome /U01/oracle/PROD/db/tech_st/12.1.0/middleware/ -stageLoc /home/oradb


* Below steps are the manual deinstallation of oem 13c.

Step-2 : Drop Users & synonyms.


sqlplus / as sysdba

drop user MGMT_VIEW cascade ;
drop user SYSMAN cascade ;
drop user SYSMAN_APM cascade  ;
drop user SYSMAN_MDS cascade ;
drop user SYSMAN_OPSS cascade ;
drop user SYSMAN_RO cascade ;
drop synonym DBSNMP.MGMT_EMREP_OOB_MONITORING;
drop tablespace mgmt_ecm_depot_ts including contents and datafiles cascade constraints;
drop tablespace mgmt_tablespace including contents and datafiles cascade constraints;
drop tablespace mgmt_ad4j_ts including contents and datafiles cascade constraints;
DROP TABLESPACE mgmt_ecm_depot_ts INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
DROP TABLESPACE mgmt_tablespace   INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
DROP TABLESPACE mgmt_ad4j_ts      INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
drop user SYSMAN_BIPLATFORM cascade;
drop user SYSMAN_STB cascade;
drop user EUS_ENGINE_USER cascade;
drop user CLOUD_SWLIB_USER cascade;
drop user CLOUD_ENGINE_USER cascade;
drop user SYSMAN_TYPES cascade;
DROP USER SYSMAN CASCADE; 
DROP USER SYSMAN_OPSS CASCADE;
DROP USER SYSMAN_MDS CASCADE;
DROP USER SYSMAN_APM CASCADE;
DROP USER SYSMAN_RO CASCADE;
DROP USER mgmt_view CASCADE;

Step-3 : Remove public synonyms.


DECLARE
  CURSOR l_syn_csr IS
    SELECT 'DROP ' ||
      CASE owner
        WHEN 'PUBLIC'
          THEN 'PUBLIC SYNONYM '
        ELSE 'SYNONYM ' || owner || '.'
      END ||
      synonym_name AS cmd
    FROM
      dba_synonyms 
    WHERE
      table_owner IN (
        'SYSMAN',
        'SYSMAN_MDS',
        'MGMT_VIEW',
        'SYSMAN_BIP',
        'SYSMAN_APM',
        'BIP',
        'SYSMAN_OPSS',
        'SYSMAN_RO'
      );
BEGIN
  FOR l_syn_rec IN l_syn_csr LOOP
    BEGIN
      EXECUTE IMMEDIATE l_syn_rec.cmd;
    EXCEPTION
      WHEN OTHERS THEN
        dbms_output.put_line( '===> ' || l_syn_rec.cmd );
        dbms_output.put_line( sqlerrm );
    END;
  END LOOP;
END;
/



Step-4 : Remove entries from registry.



delete from SCHEMA_VERSION_REGISTRY where COMP_NAME='Metadata Services';
delete from SCHEMA_VERSION_REGISTRY where COMP_NAME='Authorization Policy Manager';
delete from SCHEMA_VERSION_REGISTRY where COMP_NAME='Oracle Platform Security Services';
commit;

Step-5 : Remove entries from registry same as step-4 but for the safe side we should run it.


DELETE
  FROM
    schema_version_registry
  WHERE
    (comp_name,owner) IN (
      ('Authorization Policy Manager','SYSMAN_APM'),
      ('Metadata Services','SYSMAN_MDS'),
      ('Oracle Platform Security Services','SYSMAN_OPSS')
    );
commit;



Step-6 : (check if found invalid objects that are related to sysman schema otherwise it's Optional)


GENERATE script. (OPTIONAL)
SQL> spool /tmp/drop_synonyms.sql
SQL> select 'drop '||owner||'.'||OBJECT_TYPE||' '||OBJECT_NAME ||';' from dba_objects where status='INVALID' and 

object_type='SYNONYM' order by 1 ;
SQL> spool off
SQL> @/tmp/drop_synonyms.sql



Step-7 : Remove Directories


FOR OPERATING SYSTEM directories:

$ rm -rf $ORACLE_BASE/Middleware/oms11g
$ rm -rf $ORACLE_BASE/Middleware/oracle_common
$ rm -rf $ORACLE_BASE/Middleware/Oracle_WT
$ rm -rf $ORACLE_BASE/Middleware/agent11g
$ rm -rf $ORACLE_BASE/Middleware/.gcinstall_temp
$ rm -rf $ORACLE_BASE/gc12cinst





If this article is useful & facing any issue regarding it please do comment.