MINI MINI MANI MO
Rem
Rem $Header: ordim/admin/imclnjav.sql /main/14 2017/01/25 11:11:43 smavris Exp $
Rem
Rem imclnjav.sql
Rem
Rem Copyright (c) 2004, 2017, Oracle and/or its affiliates.
Rem All rights reserved.
Rem
Rem NAME
Rem imclnjav.sql - Oracle Multimedia java cleanup script
Rem
Rem DESCRIPTION
Rem Clean up previous Java objects and synonyms belonging to ORDSYS
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: ordim/admin/imclnjav.sql
Rem SQL_SHIPPED_FILE: ord/im/admin/imclnjav.sql
Rem SQL_PHASE: ORDIMUPGRD
Rem SQL_STARTUP_MODE: UPGRADE
Rem SQL_IGNORABLE_ERRORS: NONE
Rem SQL_CALLING_FILE: ord/im/admin/imupgrd.sql; ord/im/admin/impatch.sql;ord/im/admin/ime121.sql; ord/im/admin/ime112.sql
Rem END SQL_FILE_METADATA
Rem
Rem MODIFIED (MM/DD/YY)
Rem smavris 01/23/17 - Schema qualify
Rem smavris 02/12/16 - Fix script to handle synonyms in PDBs
Rem jiezhan 10/22/15 - clean all java stuff
Rem smavris 02/19/15 - bug 20567600 - long identifiers
Rem smavris 03/26/13 - XbranchMerge smavris_bug-16473669 from
Rem st_ordim_12.1.0
Rem smavris 03/15/13 - Common start and end scripts
Rem smavris 06/09/07 - interMedia to Multimedia
Rem dolin 02/27/07 - bug 5439195
Rem dolin 02/23/07 - cleanup dicom java, bug 5597325
Rem rabbott 06/29/05 - bug 4460896
Rem alamb 05/05/04 - bug 3587451 (fix rollback errors)
Rem alamb 04/02/04 - bug 3551052 (drop java synonyms -> ORDSYS)
Rem alamb 02/24/04 - bug 3230212 (increase speed)
Rem smavris 06/20/03 -
Rem trowell 05/14/03 - creation
Rem
@@?/rdbms/admin/sqlsessstart.sql
--
-- drop OrdSourceServer class in ORDPLUGINS schema if present
--
declare
cnt number;
begin
select count(object_name) into cnt
from sys.all_objects,sys.javasnm
where owner = 'ORDPLUGINS' and
object_type = 'JAVA CLASS' and
short(+) = object_name and
nvl(longname, object_name) = 'oracle/ord/media/source/OrdSourceSvr';
if cnt > 0 then
execute immediate 'drop java class ORDPLUGINS."oracle/ord/media/source/OrdSourceSvr"';
end if;
end;
/
declare
--
-- drop all public synonyms to java objects that point to ORDSYS schema by
-- querying all_synonyms.
--.
cursor syn_curs1 is
select a.object_name
from sys.all_objects a,
sys.javasnm j,
sys.all_synonyms s
where j.short(+) = a.object_name and
a.object_name = s.synonym_name and
a.owner = 'ORDSYS' and
s.owner = 'PUBLIC' and
s.table_owner = 'ORDSYS' and
a.object_type like 'JAVA%';
--
-- drop all public synonyms to java objects that point to ORDSYS schema. In
-- order to work in PDB mode, we need to also query the all_dependencies view.
--
cursor syn_curs2 is
select name from sys.all_dependencies
where owner = 'PUBLIC' and
referenced_owner = 'ORDSYS' and
type = 'SYNONYM' and
referenced_type like 'JAVA%';
-- Java sources are dropped first to avoid dropping derived java classes
cursor src_curs is
select object_name
from sys.all_objects,sys.javasnm
where owner = 'ORDSYS' and
object_type = 'JAVA SOURCE' and
short(+) = object_name;
cursor cls_curs is
select object_name
from sys.all_objects,sys.javasnm
where owner = 'ORDSYS' and
object_type = 'JAVA CLASS' and
short(+) = object_name;
cursor res_curs is
select object_name
from sys.all_objects,sys.javasnm
where owner = 'ORDSYS' and
object_type = 'JAVA RESOURCE' and
short(+) = object_name;
objname varchar2(128);
undo_ex exception;
pragma exception_init( undo_ex, -1555 );
begin
---------------------------------------------------------------
-- Drop public synonyms to ORDSYS java class using all_synonyms
---------------------------------------------------------------
open syn_curs1;
loop
begin
fetch syn_curs1 into objname;
exit when syn_curs1%NOTFOUND;
execute immediate 'drop public synonym "' || objname || '"';
exception
-- extended processing sometimes results in a rollback error (ORA-01555)
when undo_ex then
close syn_curs1;
open syn_curs1;
-- avoid looping forever when other exceptions occur
when others then
objname := '';
exit;
end;
end loop;
-------------------------------------------------------------------
-- Drop public synonyms to ORDSYS java class using all_dependencies
-------------------------------------------------------------------
open syn_curs2;
loop
begin
fetch syn_curs2 into objname;
exit when syn_curs2%NOTFOUND;
execute immediate 'drop public synonym "' || objname || '"';
exception
-- extended processing sometimes results in a rollback error (ORA-01555)
when undo_ex then
close syn_curs2;
open syn_curs2;
-- avoid looping forever when other exceptions occur
when others then
objname := '';
exit;
end;
end loop;
----------------------------------------------
-- Drop java source files
----------------------------------------------
open src_curs;
loop
begin
fetch src_curs into objname;
exit when src_curs%NOTFOUND;
execute immediate 'drop java source ORDSYS."' || objname || '"';
exception
-- extended processing sometimes results in a rollback error (ORA-01555)
when undo_ex then
close src_curs;
open src_curs;
-- avoid looping forever when other exceptions occur
when others then
exit;
end;
end loop;
close src_curs;
commit;
----------------------------------------------
-- Drop java class files
----------------------------------------------
open cls_curs;
loop
begin
fetch cls_curs into objname;
exit when cls_curs%NOTFOUND;
execute immediate 'drop java class ORDSYS."' || objname || '"';
exception
--extended processing sometimes results in a rollback error
when undo_ex then
close cls_curs;
open cls_curs;
-- avoid looping forever when other exceptions occur
when others then
exit;
end;
end loop;
close cls_curs;
commit;
----------------------------------------------
-- Drop java resources
----------------------------------------------
open res_curs;
loop
begin
fetch res_curs into objname;
exit when res_curs%NOTFOUND;
execute immediate 'drop java resource ORDSYS."' || objname || '"';
exception
--extended processing sometimes results in a rollback error
when undo_ex then
close res_curs;
open res_curs;
-- avoid looping forever when other exceptions occur
when others then
exit;
end;
end loop;
close res_curs;
commit;
end;
/
@?/rdbms/admin/sqlsessend.sql
OHA YOOOO