MINI MINI MANI MO
Rem
Rem ime112.sql
Rem
Rem Copyright (c) 2009, 2016, Oracle and/or its affiliates.
Rem All rights reserved.
Rem
Rem NAME
Rem ime112.sql
Rem
Rem DESCRIPTION
Rem runs as ORDSYS
Rem
Rem Internal downgrade script for Oracle Multimedia to 11.2
Rem
Rem NOTES
Rem This script deletes all objects and types that have been added
Rem between 12.1 and 11.2. After all downgrade scripts are run, the
Rem imrelod.sql script is run to reload 11.2 Oracle Multimedia in the
Rem downgraded database.
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: ordim/admin/ime112.sql
Rem SQL_SHIPPED_FILE: ord/im/admin/ime112.sql
Rem SQL_PHASE: CATDWGRD
Rem SQL_STARTUP_MODE: DOWNGRADE
Rem SQL_IGNORABLE_ERRORS: NONE
Rem SQL_CALLING_FILE: ordim/admin/imdwgrd.sql
Rem END SQL_FILE_METADATA
Rem
Rem
Rem MODIFIED (MM/DD/YY)
Rem smavris 12/13/16 - Remove locator invocation - bug 25114828
Rem smavris 03/07/16 - Add comment
Rem smavris 12/06/15 - Move immisc to sys
Rem smavris 04/27/15 - Add comments so we remember locator patch set
Rem upgrade
Rem smavris 08/07/13 - Remove sets, increate script_name varchar lengths
Rem smavris 07/30/13 - Add downgrade for 12.1
Rem
@@?/rdbms/admin/sqlsessstart.sql
REM Invoke 12.1 script to go from 12.2 to 12.1
@@ime121.sql
alter session set current_schema="ORDSYS";
execute sys.dbms_registry.downgrading('ORDIM', 'Oracle Multimedia');
---- drop ORD_DICOM_PROTOCOL package created in 12.1
drop package ORDSYS.ORD_DICOM_PROTOCOL;
drop public synonym ORD_DICOM_PROTOCOL;
---- drop ORDIMDPCallOuts package created in 12.1
drop package ORDSYS.ORDIMDPCallOuts;
---
--- Delete all user docs of type DICOM_PROTOCOL
---
exec ordsys.ord_dicom_admin.editDataModel();
declare
ty_id number;
begin
select doc_type_id into ty_id from ORDDATA.ORDDCM_DOC_TYPES where DOC_TYPE='DICOM_PROTOCOL';
for cur in (select DOC_NAME, DOC_ID from ORDDATA.ORDDCM_DOCS where DOC_TYPE_ID=ty_id order by DOC_ID asc)
loop
ordsys.ord_dicom_admin.deleteDocument(cur.doc_name);
end loop;
exception when others then
ordsys.ord_dicom_admin.rollbackDataModel();
raise;
end;
/
exec ordsys.ord_dicom_admin.publishDataModel();
---
--- Drop all DICOM_PROTOCOL configuration tables & remove the DICOM_PROTOCOL
--- document type
---
begin
EXECUTE IMMEDIATE 'drop sequence ORDDATA.ORDDCM_PROTOCOL_VERSION_SEQ';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PROTOCOL_ATTR_CONFIG';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PROTOCOL_ATTR_CONFIG';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PROTOCOL_VERSION_CONFIG';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PROTOCOL_VERSION_CONFIG';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PROTOCOL_DICOM_CONFIG';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PROTOCOL_DICOM_CONFIG';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PROTOCOL_PRVW_CONFIG';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PROTOCOL_PRVW_CONFIG';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PROTOCOL_WADO_CONFIG';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PROTOCOL_WADO_CONFIG';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PROTOCOL_XML_CONFIG';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PROTOCOL_XML_CONFIG';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PROTOCOL_SPECIAL_TAG';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PROTOCOL_SPECIAL_TAG';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PROTOCOL_ADMIN_DOCS';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PROTOCOL_ADMIN_DOCS';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PR_ATTR_CONFIG_WRK';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PR_ATTR_CONFIG_WRK';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PR_VERSION_CONFIG_WRK';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PR_VERSION_CONFIG_WRK';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PR_DICOM_CONFIG_WRK';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PR_DICOM_CONFIG_WRK';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PR_PRVW_CONFIG_WRK';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PR_PRVW_CONFIG_WRK';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PR_WADO_CONFIG_WRK';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PR_WADO_CONFIG_WRK';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PR_XML_CONFIG_WRK';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PR_XML_CONFIG_WRK';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PR_SPECIAL_TAG_WRK';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PR_SPECIAL_TAG_WRK';
EXECUTE IMMEDIATE 'truncate table ORDDATA.ORDDCM_PR_ADMIN_DOCS_WRK';
EXECUTE IMMEDIATE 'drop table ORDDATA.ORDDCM_PR_ADMIN_DOCS_WRK';
EXECUTE IMMEDIATE 'delete from ORDDATA.ORDDCM_DOC_TYPES where DOC_TYPE=''DICOM_PROTOCOL''';
exception when others then
null;
end;
/
-- DROP DICOM_PROTOCOL schema
-- http://xmlns.oracle.com/ord/dicom/protocol_1_0
-- It is ok to use force option during downgrade
declare
ex exception;
--ignore ORA-31000: Resource '..' not an XDB schema document
pragma exception_init( ex, -31000 );
BEGIN
DBMS_XMLSCHEMA.DELETESCHEMA(
'http://xmlns.oracle.com/ord/dicom/protocol_1_0',
DBMS_XMLSCHEMA.DELETE_CASCADE_FORCE );
EXCEPTION
--ignore ORA-31000: Resource '..' not an XDB schema document
when ex then
null;
END;
/
-- change max value of XML_SKIP_ATTR
alter session set current_schema=ORDDATA;
update ORDDATA.orddcm_prefs_lookup
set max_val=32767 where param_name='XML_SKIP_ATTR';
-- Revoke privs needed to load native library
-- enable SYS
alter session set current_schema="SYS";
call dbms_java.grant_permission
('SYS',
'SYS:oracle.aurora.rdbms.security.PolicyTablePermission',
'0:java.lang.RuntimePermission#loadLibrary.ordim12',
null);
call dbms_java.grant_permission
('SYS',
'SYS:oracle.aurora.rdbms.security.PolicyTablePermission',
'0:java.lang.RuntimePermission#loadLibrary.oraordim12',
null);
-- revoke from ORDSYS
call dbms_java.revoke_permission
('ORDSYS', 'SYS:java.lang.RuntimePermission',
'loadLibrary.ordim12', '');
call dbms_java.revoke_permission
('ORDSYS', 'SYS:java.lang.RuntimePermission',
'loadLibrary.oraordim12', '');
call dbms_java.revoke_permission
('ORDSYS', 'SYS:java.util.logging.LoggingPermission',
'control','');
--revoke from SYS
call dbms_java.revoke_permission
('SYS',
'SYS:oracle.aurora.rdbms.security.PolicyTablePermission',
'0:java.lang.RuntimePermission#loadLibrary.ordim12',
null);
call dbms_java.revoke_permission
('SYS',
'SYS:oracle.aurora.rdbms.security.PolicyTablePermission',
'0:java.lang.RuntimePermission#loadLibrary.oraordim12',
null);
-- remove permission on clib_jiio
call dbms_java.grant_permission
('SYS',
'SYS:oracle.aurora.rdbms.security.PolicyTablePermission',
'0:java.lang.RuntimePermission#loadLibrary.clib_jiio',
null);
-- revoke from ORDSYS
call dbms_java.revoke_permission
('ORDSYS', 'SYS:java.lang.RuntimePermission',
'loadLibrary.clib_jiio', '');
--revoke from SYS
call dbms_java.revoke_permission
('SYS',
'SYS:oracle.aurora.rdbms.security.PolicyTablePermission',
'0:java.lang.RuntimePermission#loadLibrary.clib_jiio',
null);
-- revoke the write permissions on java.io.tmpdir to ORDSYS
-- which is needed by jp2 codec
CREATE OR REPLACE FUNCTION ordGetJavaProp (propname varchar2)
RETURN varchar2
AS LANGUAGE JAVA
NAME 'java.lang.System.getProperty(java.lang.String) return java.lang.String';
/
BEGIN
dbms_java.revoke_permission
('ORDSYS',
'SYS:java.io.FilePermission',
ordGetJavaProp('java.io.tmpdir') || ordGetJavaProp('file.separator') || '*',
'read,write,delete');
END;
/
DROP FUNCTION ordGetJavaProp;
-- revoke imageio access permission granted to ordsys
-- which is needed in processcopy
call dbms_java.revoke_permission(
'ORDSYS',
'SYS:java.lang.RuntimePermission',
'accessClassInPackage.com.sun.imageio.plugins.jpeg', '');
alter session set current_schema="ORDSYS";
--
-- We need java classes in this script to drop Data model documents. Now
-- Drop all Oracle Multimedia java classes
--
@@imclnjav
-- The following should be at the end of the ORDIM part of the file
-- executed as ORDSYS
EXECUTE sys.dbms_registry.downgraded('ORDIM', '11.2.0');
alter session set current_schema="SYS";
@?/rdbms/admin/sqlsessend.sql
OHA YOOOO