Rem drv:
Rem
Rem $Header: availability_schema_downgrade.sql 19-jul-2005.13:21:59 chyu Exp $
Rem
Rem availability_schema_downgrade.sql
Rem
Rem Copyright (c) 2005, Oracle. All rights reserved.
Rem
Rem NAME
Rem availability_schema_downgrade.sql -
Rem
Rem DESCRIPTION
Rem
Rem
Rem NOTES
Rem
Rem
Rem MODIFIED (MM/DD/YY)
Rem chyu 07/19/05 - modifying the new rep manager header
Rem rpinnama 05/16/05 - Remove max_avail_sev_ts column from
Rem mgmt_availability_marker
Rem scgrover 02/07/05 - scgrover_bug-4169595
Rem scgrover 02/07/05 - Created
Rem
CREATE TABLE MGMT_CURRENT_AVAILABILITY_INT
(target_guid RAW(16) NOT NULL,
severity_guid RAW(16) DEFAULT NULL,
current_status NUMBER NOT NULL,
start_collection_timestamp DATE NOT NULL,
CONSTRAINT MGMT_CURRENT_AVAIL_PK_INT PRIMARY KEY (target_guid)
) MONITORING;
Rem redefine the table to be an regular
DECLARE
no_errors NUMBER := 0;
BEGIN
BEGIN
DBMS_REDEFINITION.START_REDEF_TABLE('&&EM_REPOS_USER', 'MGMT_CURRENT_AVAILABILITY', 'MGMT_CURRENT_AVAILABILITY_INT');
DBMS_REDEFINITION.FINISH_REDEF_TABLE('&&EM_REPOS_USER', 'MGMT_CURRENT_AVAILABILITY', 'MGMT_CURRENT_AVAILABILITY_INT');
no_errors := 1;
EXCEPTION
WHEN OTHERS THEN
DBMS_REDEFINITION.ABORT_REDEF_TABLE('&&EM_REPOS_USER', 'MGMT_CURRENT_AVAILABILITY', 'MGMT_CURRENT_AVAILABILITY_INT');
END;
EXECUTE IMMEDIATE 'DROP TABLE MGMT_CURRENT_AVAILABILITY_INT';
IF no_errors = 1 THEN
EXECUTE IMMEDIATE 'ALTER TABLE MGMT_CURRENT_AVAILABILITY RENAME CONSTRAINT MGMT_CURRENT_AVAIL_PK_INT TO CUR_AVAIL_PRIMARY_KEY';
EXECUTE IMMEDIATE 'ALTER INDEX MGMT_CURRENT_AVAIL_PK_INT RENAME TO MGMT_CURRENT_AVAIL_PK';
END IF;
END;
/
Rem redefine MGMT_AVAILABILITY_MARKER as a regular table
CREATE TABLE MGMT_AVAILABILITY_MARKER_INT
(target_guid RAW(16) NOT NULL,
marker_timestamp DATE NOT NULL,
marker_avail_status NUMBER NOT NULL,
CONSTRAINT MGMT_AVAIL_MARKER_PK_INT PRIMARY KEY (target_guid)
) MONITORING;
DECLARE
no_errors NUMBER := 0;
BEGIN
BEGIN
DBMS_REDEFINITION.START_REDEF_TABLE('&&EM_REPOS_USER', 'MGMT_AVAILABILITY_MARKER', 'MGMT_AVAILABILITY_MARKER_INT');
DBMS_REDEFINITION.FINISH_REDEF_TABLE('&&EM_REPOS_USER', 'MGMT_AVAILABILITY_MARKER', 'MGMT_AVAILABILITY_MARKER_INT');
no_errors := 1;
EXCEPTION
WHEN OTHERS THEN
DBMS_REDEFINITION.ABORT_REDEF_TABLE('&&EM_REPOS_USER', 'MGMT_AVAILABILITY_MARKER', 'MGMT_AVAILABILITY_MARKER_INT');
END;
EXECUTE IMMEDIATE 'DROP TABLE MGMT_AVAILABILITY_MARKER_INT';
IF no_errors = 1 THEN
EXECUTE IMMEDIATE 'ALTER TABLE MGMT_AVAILABILITY_MARKER RENAME CONSTRAINT MGMT_AVAIL_MARKER_PK_INT TO MGMT_AVAIL_MARKER_PK';
EXECUTE IMMEDIATE 'ALTER INDEX MGMT_AVAIL_MARKER_PK_INT RENAME TO MGMT_AVAIL_MARKER_PK';
END IF;
END;
/