Rem drv: Rem Rem $Header: availability_schema_upgrade.sql 25-jul-2005.13:45:41 chyu Exp $ Rem Rem availability_schema_upgrade.sql Rem Rem Copyright (c) 2005, Oracle. All rights reserved. Rem Rem NAME Rem availability_schema_upgrade.sql - Rem Rem DESCRIPTION Rem Rem Rem NOTES Rem Rem Rem MODIFIED (MM/DD/YY) Rem chyu 07/25/05 - modifying the upgrade header Rem chyu 07/18/05 - adding the header Rem rpinnama 05/16/05 - Remove max_avail_sev_ts column Rem rpinnama 05/16/05 - Add max_avail_sev_ts column to Rem mgmt_availability_marker table Rem jsadras 03/30/05 - Bug:3952025, convert mgmt_availability to IOT Rem eujang 03/03/05 - remove the extra pk indexes that was already Rem renamed Rem eujang 03/03/05 - add the MGMT_CURRENT_AVAILABILITY_PK index Rem scgrover 02/07/05 - fix upgrade Rem scgrover 01/27/05 - add table Rem scgrover 01/26/05 - scgrover_bug-4092276 Rem scgrover 01/26/05 - add index rename Rem scgrover 01/26/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) ) ORGANIZATION INDEX MONITORING; Rem redefine the table to be an IOT 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_AVAILABILITY_PK'; END IF; END; / Rem redefine MGMT_AVAILABILITY_MARKER as an iot 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) ) ORGANIZATION INDEX 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; / Rem redefine mgmt_availability as IOT CREATE TABLE MGMT_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, end_collection_timestamp DATE DEFAULT NULL, CONSTRAINT availability_primary_key_int PRIMARY KEY (target_guid, start_collection_timestamp, current_status)) ORGANIZATION INDEX COMPRESS 1 STORAGE (FREELISTS 4) INITRANS 2 MONITORING / DECLARE no_errors NUMBER := 0; BEGIN BEGIN DBMS_REDEFINITION.START_REDEF_TABLE('&&EM_REPOS_USER', 'MGMT_AVAILABILITY', 'MGMT_AVAILABILITY_INT'); DBMS_REDEFINITION.FINISH_REDEF_TABLE('&&EM_REPOS_USER', 'MGMT_AVAILABILITY', 'MGMT_AVAILABILITY_INT'); no_errors := 1; EXCEPTION WHEN OTHERS THEN DBMS_REDEFINITION.ABORT_REDEF_TABLE('&&EM_REPOS_USER', 'MGMT_AVAILABILITY', 'MGMT_AVAILABILITY_INT'); END; EXECUTE IMMEDIATE 'DROP TABLE MGMT_AVAILABILITY_INT'; IF no_errors = 1 THEN EXECUTE IMMEDIATE 'ALTER TABLE MGMT_AVAILABILITY RENAME CONSTRAINT availability_primary_key_int TO availability_primary_key'; EXECUTE IMMEDIATE 'ALTER INDEX availability_primary_key_int RENAME TO availability_primary_key'; END IF; END; /