MINI MINI MANI MO
Rem
Rem $Header: sdo/admin/sdounloadj.sql /main/15 2017/05/26 16:34:19 rjanders Exp $
Rem
Rem sdounloadj.sql
Rem
Rem Copyright (c) 2007, 2017, Oracle and/or its affiliates.
Rem All rights reserved.
Rem
Rem NAME
Rem sdounloadj.sql - <one-line expansion of the name>
Rem
Rem DESCRIPTION
Rem <short description of component this file declares/defines>
Rem
Rem NOTES
Rem <other useful comments, qualifications, etc.>
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: sdo/admin/sdounloadj.sql
Rem SQL_SHIPPED_FILE: md/admin/sdounloadj.sql
Rem SQL_PHASE: DOWNGRADE
Rem SQL_STARTUP_MODE: NORMAL
Rem SQL_IGNORABLE_ERRORS: NONE
Rem SQL_CALLING_FILE: NONE
Rem END SQL_FILE_METADATA
Rem
Rem MODIFIED (MM/DD/YY)
Rem rjanders 05/10/17 - #26037683: Raise 'when other' exceptions
Rem rjanders 04/27/17 - Correct "SQL_PHASE" metadata values
Rem rjanders 04/17/17 - More 'exception when others' changes
Rem rjanders 03/23/17 - #25437999: Remove 'when others then NULL'
Rem handlers
Rem rjanders 03/09/17 - Add missing SQL_FILE_METADATA information
Rem sravada 01/11/17 - bug 25370681
Rem sravada 06/17/15 - drop synonyms
Rem begeorge 05/28/15 - drop sdondmappsdata.jar
Rem sravada 04/17/15 - drop sdondmapps.jar
Rem sravada 04/19/13 - drop public synonyms as well
Rem rjanders 03/15/13 - #16473696: Start/End _ORACLE_SCRIPT
Rem initialization
Rem sravada 09/29/10 - bug 10119184
Rem alwu 02/22/08 - comment out dropjava for sdordf.jar
Rem sravada 05/13/07 - Created
Rem
Rem ********************************************************************
Rem #16473696: Indicate Oracle-Supplied object
@@?/rdbms/admin/sqlsessstart.sql
Rem ********************************************************************
ALTER SESSION SET CURRENT_SCHEMA = SYS;
-- drop sdonm.jar
call dbms_java.grant_permission('SYSTEM', 'java.io.FilePermission',
'<<ALL FILES>>', 'read');
call dbms_java.grant_permission('MDSYS', 'SYS:java.io.FilePermission',
'md/jlib/*', 'read');
call dbms_java.grant_permission('MDSYS', 'SYS:java.lang.RuntimePermission',
'getClassLoader', null);
call dbms_java.grant_permission('ORDSYS', 'SYS:java.lang.RuntimePermission',
'getClassLoader', null);
call dbms_java.dropjava('-force -synonym -schema MDSYS md/jlib/sdonm.jar');
call dbms_java.dropjava('-force -synonym -schema MDSYS md/jlib/sdoapi.jar');
call dbms_java.dropjava('-force -synonym -schema MDSYS md/jlib/sdotopo.jar');
call dbms_java.dropjava('-force -synonym -schema MDSYS md/jlib/sdoutl.jar');
call dbms_java.dropjava('-force -synonym -schema MDSYS md/jlib/sdogr.jar');
call dbms_java.dropjava('-force -synonym -schema MDSYS md/jlib/sdogcdr.jar');
call dbms_java.dropjava('-force -synonym -schema MDSYS md/jlib/routepartition.jar');
call dbms_java.dropjava('-force -synonym -schema MDSYS md/jlib/sdondmappsdata.jar');
-- drop sdotype.jar
call dbms_java.dropjava('-force -synonym -schema MDSYS md/jlib/sdotype.jar');
-- 10.2 version
declare
stmt varchar2(400);
javac varchar2(300);
obj_name varchar2(300);
type cursor_type is REF CURSOR;
query_crs cursor_type ;
synonym_not_found exception;
pragma exception_init(synonym_not_found, -01432);
begin
stmt := ' select NAME from all_java_classes ' ||
' where owner=''MDSYS'' ';
OPEN query_crs FOR stmt;
LOOP
BEGIN
fetch query_crs into javac;
EXIT when query_crs%NOTFOUND ;
javac := SYS.DBMS_ASSERT.ENQUOTE_NAME(javac,false);
begin
EXECUTE immediate ' drop java class MDSYS.'||javac;
EXCEPTION
WHEN OTHERS THEN
SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
'EXCEPTION[sdounloadj.sql(' || $$PLSQL_LINE || ')1]: ' || SQLERRM); RAISE;
end;
end;
END LOOP;
close query_crs;
-- drop public synonyms for Java classes
stmt := ' select SYNONYM_NAME from all_synonyms ' ||
' where OWNER = ''PUBLIC'' and TABLE_OWNER = ''MDSYS'' ' ||
' and SYNONYM_NAME like ''%/%'' ';
OPEN query_crs FOR stmt;
LOOP
BEGIN
fetch query_crs into javac;
EXIT when query_crs%NOTFOUND ;
javac := SYS.DBMS_ASSERT.ENQUOTE_NAME(javac,false);
begin
EXECUTE immediate ' drop public synonym '||javac;
EXCEPTION
WHEN synonym_not_found THEN NULL;
WHEN OTHERS THEN
SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
'EXCEPTION[sdounloadj.sql(' || $$PLSQL_LINE || ')2]: ' || SQLERRM); RAISE;
end;
end;
END LOOP;
close query_crs;
-- PUBLIC SYNONYM for JAVA CLASSES
stmt := ' select OBJECT_NAME from SYS.all_objects ' ||
' where OWNER = ''PUBLIC'' and ' ||
' OBJECT_NAME like ''oracle/spatial%'' ';
OPEN query_crs FOR stmt;
LOOP
BEGIN
fetch query_crs into obj_name;
EXIT when query_crs%NOTFOUND ;
obj_name := sys.dbms_assert.enquote_name(obj_name, false);
begin
EXECUTE immediate ' drop public synonym '||
obj_name;
end;
end;
END LOOP;
close query_crs;
end;
/
-- drop RDF jar.
-- Seems that this script is only invoked as part of loce111.sql
-- RDF/OWL cannot drop this jar because if this jar is dropped, then in the
-- case that downgrade is followed by upgrade, we no longer have this jar.
-- call dbms_java.dropjava('-force -synonym -schema MDSYS md/jlib/sdordf.jar');
call dbms_java.revoke_permission('MDSYS','SYS:java.io.FilePermission',
'md/jlib/*','read');
Rem ********************************************************************
Rem #16473696: Indicate Oracle-Supplied object
@?/rdbms/admin/sqlsessend.sql
Rem ********************************************************************
OHA YOOOO