Rem drv: Rem Rem $Header: notification_data_upgrade.sql 02-sep-2005.13:55:29 yaofeng Exp $ Rem Rem notification_data_upgrade.sql Rem Rem Copyright (c) 2005, Oracle. All rights reserved. Rem Rem NAME Rem notification_data_upgrade.sql - Rem Rem DESCRIPTION Rem Rem Rem NOTES Rem Rem Rem MODIFIED (MM/DD/YY) Rem yaofeng 08/31/05 - target type change Rem dcawley 07/14/05 - Created Rem @@&&EM_SQL_ROOT/core/v102020/notification_init.sql -- upgrade the rules with metric "Targets not providing data" BEGIN DECLARE l_count NUMBER; l_rule_names SMP_EMD_STRING_ARRAY; l_owners SMP_EMD_STRING_ARRAY; BEGIN -- get all rules with this metric SELECT DISTINCT rule_name, owner BULK COLLECT INTO l_rule_names, l_owners FROM MGMT_NOTIFY_RULE_CONFIGS WHERE target_type = mgmt_global.G_REPOSITORY_TARGET_TYPE AND metric_name = 'Targets_not_uploading' AND metric_column = 'targets'; FOR i IN 1..l_rule_names.COUNT LOOP -- check how many metrics this rule has SELECT count(*) INTO l_count FROM MGMT_NOTIFY_RULE_CONFIGS WHERE rule_name = l_rule_names(i) AND owner = l_owners(i); IF (l_count = 1) THEN -- simple case -> change the target type and name UPDATE MGMT_NOTIFY_RULE_CONFIGS SET target_type = mgmt_global.G_AGENT_TARGET_TYPE, target_name = '%', metric_name = 'Targets_not_uploading', metric_column = 'count' WHERE rule_name = l_rule_names(i) AND owner = l_owners(i); ELSE -- multiple metrics -> remove this metric DELETE FROM MGMT_NOTIFY_RULE_CONFIGS WHERE rule_name = l_rule_names(i) AND owner = l_owners(i) AND metric_name = 'Targets_not_uploading' AND metric_column = 'targets'; END IF; END LOOP; COMMIT; EXCEPTION WHEN OTHERS THEN NULL; END; END; /