Re: removal of Java from existing databases

  • From: Adric Norris <landstander668@xxxxxxxxx>
  • To: laimutis.nedzinskas@xxxxxxxxxxxxxxxxxxxxx
  • Date: Wed, 21 Oct 2015 14:24:18 -0500

We're definitely using network ACLs (mostly for use by utl_mail), so this
is certainly concerning. I thought the ACL functionality just relied on XML
being installed, however, rather than requiring Java as well. I'll
definitely have to dig deeper, and perform some serious testing on this
front.

Thanx for the info, that's very helpful to know! (-;



On Tue, Oct 20, 2015 at 10:11 AM, Laimutis Nedzinskas <
laimutis.nedzinskas@xxxxxxxxxxxxxxxxxxxxx> wrote:

Hi



Did that on 10.2.0.4 before migrating into 11g.

Used metalink notes to check for dependencies and removal instructions,
just like you do.

Keep in mind, that 11g has network ACL’s for utl_tcp/utl_http, etc. I
haven’t find a way around XML/Java packages for that functionality, meaning
for one database which used HTTP to send some data out of the database I
had to leave java/xml.



Brgds,

Laimis N









*From:* oracle-l-bounce@xxxxxxxxxxxxx [mailto:
oracle-l-bounce@xxxxxxxxxxxxx] *On Behalf Of *Adric Norris
*Sent:* Monday, October 19, 2015 8:07 PM
*To:* oracle-l
*Subject:* removal of Java from existing databases



We have a number of databases, primarily 11.2.0.4 64-bit on Linux and
Solaris, which unnecessarily have Java installed (among other components).
Since the quarterly Java PSU can't be applied in a rolling manner, and we
aren't really using Java anyway, we're strongly considering taking a
one-time outage to deinstall the JavaVM and CATJAVA components from all of
our environments. Ideally we want to eliminate all traces, so that the
databases behave as if the Java subsystem had never been installed in the
first place.



The plan is to follow step 2 (Remove the JVM) from MOS document 1112983.1
(How to Reload the JVM in 11.2.0.x). Basically, this comes down to the
following:



-- Start of File full_rmjvm.sql
spool full_rmjvm.log
set echo on
connect / as sysdba
startup mount
alter system set "_system_trig_enabled" = false scope=memory;
alter system enable restricted session;
alter database open;
@?/rdbms/admin/catnoexf.sql
@?/rdbms/admin/catnojav.sql
@?/xdk/admin/rmxml.sql
@?/javavm/install/rmjvm.sql
truncate table java$jvm$status;
select * from obj$ where obj#=0 and type#=0;
delete from obj$ where obj#=0 and type#=0;
commit;
select owner, count(*) from all_objects
where object_type like '%JAVA%' group by owner;
select obj#, name from obj$
where type#=28 or type#=29 or type#=30 or namespace=32;
select o1.name from obj$ o1,obj$ o2
where o1.type#=5 and o1.owner#=1 and o1.name=o2.name and o2.type#=29;
shutdown immediate
set echo off
spool off
exit
-- End of File full_rmjvm.sql



Once complete, we would then followup by removing of any of the following
components which are found to be present.

- Oracle Multimedia (ORDSYS, ORDIM)
- Oracle Ultra Search (WKSYS)
- Oracle Data Mining (DMSYS)
- Oracle Spatial (MDSYS)
- Oracle Rules Manager and Expression Filter (EXFSYS)
- Oracle Warehouse Builder (OWBSYS)
- OLAP

Has anyone gone through a similar exercise? And if so, did you encounter
any "gotchas" which I should be watching out for? Some of these
environments are using GoldenGate for Oracle-to-Oracle data replication...
not sure if this complicates matters or not.



Thanx!



--

"In the beginning the Universe was created. This has made a lot of people
very angry and been widely regarded as a bad move." -Douglas Adams




--
"In the beginning the Universe was created. This has made a lot of people
very angry and been widely regarded as a bad move." -Douglas Adams

Other related posts: