MINI MINI MANI MO
Rem
Rem $Header: ordim/admin/imdwgrd.sql /main/3 2017/06/11 18:01:53 smavris Exp $
Rem
Rem imdwgrd.sql
Rem
Rem Copyright (c) 2016, 2017, Oracle and/or its affiliates.
Rem All rights reserved.
Rem
Rem NAME
Rem imdwgrd.sql - Top level ORDIM downgrade script
Rem
Rem DESCRIPTION
Rem This file controls the downgrade of Oracle Multimedia (ORDIM)
Rem
Rem NOTES
Rem
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: ordim/admin/imdwgrd.sql
Rem SQL_SHIPPED_FILE:ord/im/admin/imdwgrd.sql
Rem SQL_PHASE: CATDWGRD
Rem SQL_STARTUP_MODE: DOWNGRADE
Rem SQL_IGNORABLE_ERRORS: NONE
Rem SQL_CALLING_FILE:rdbms/admin/catdwgrd.sql
Rem END SQL_FILE_METADATA
Rem
Rem MODIFIED (MM/DD/YY)
Rem smavris 06/07/17 - Correct downgrading, downgraded calls
Rem smavris 12/13/16 - Add locator downgrade - bug 25114828
Rem smavris 11/14/16 - ORDIM downgrade script - bug 25035523
Rem smavris 11/14/16 - Created
Rem
@@?/rdbms/admin/sqlsessstart.sql
WHENEVER SQLERROR EXIT
execute sys.dbms_registry.check_server_instance;
REM
REM Make sure Oracle Multimedia schemas exist.
REM
REM Note - it is forbidden to exit in a downgrade script.
REM However, it is an assumed impossible condition that we exist in the
REM registry (which is the only way this script should be called) and our
REM schemas don't exist. Therefore, we will exit here if our schemas don't
REM exist so we can figure out how we got in this situation.
REM
@@imchksch.sql
WHENEVER SQLERROR CONTINUE;
set errorlogging on identifier 'ORDIM';
select sys.dbms_registry_sys.time_stamp_display('ORDIM')
as timestamp from sys.dual;
Rem
Rem ===========================================
Rem Load miscellaneous install package
Rem ===========================================
@@immisc.sql
alter session set current_schema="ORDSYS";
Rem
Rem Setup component script filename variable
Rem
column :script_name new_value comp_file noprint
variable script_name varchar2(256)
Rem
Rem Select downgrade script to run based on previous component version
Rem
declare
version sys.registry$.version%type;
p_version sys.registry$.prv_version%type;
begin
p_version := substr(sys.dbms_registry.prev_version('ORDIM'),1,6);
if p_version='11.2.0' then
:script_name := '@ime112.sql';
elsif p_version='12.1.0' then
:script_name := '@ime121.sql';
elsif p_version='12.2.0' then
:script_name := '@ime122.sql';
else
:script_name := sys.dbms_registry.nothing_script;
end if;
end;
/
Rem
Rem Invoke version specific downgrade script
Rem
select :script_name from sys.dual;
@&comp_file
Rem
Rem Invoke locator downgrade
Rem
alter session set current_schema="SYS";
COLUMN :script_name NEW_VALUE comp_file NOPRINT
Variable script_name varchar2(256)
declare
sdo_installed BOOLEAN := FALSE;
begin
-- Check whether SDO is installed.
-- If not, Do not downgrade Locator
-- Bug 22092616
-- Always set check_linked_on to FALSE. According to
-- Siva this is a useless check. The Spatial library
-- should always be linked in because even Locator uses
-- it.
sdo_installed := sys.immisc.isSDOInstalled(FALSE);
if (not sdo_installed) then
:script_name := '?/md/admin/locdwgrd.sql';
else
:script_name := sys.dbms_registry.nothing_script;
end if;
end;
/
REM Invoke Locator downgrade script
select :script_name from dual;
@&comp_file
Rem
Rem Alter schema back to sys
Rem
alter session set current_schema="SYS";
drop package sys.immisc;
@?/rdbms/admin/sqlsessend.sql
OHA YOOOO