Operations Manager 2007 R2 からのアップグレード後のタスク
適用対象: System Center 2012 R2 Operations Manager,System Center 2012 - Operations Manager,System Center 2012 SP1 - Operations Manager
System Center 2012 – Operations Manager のアップグレード プロセスの完了後、一連のアップグレード後のタスクを実行する必要があります。
アップグレード後のタスク
次の表には、System Center 2012 – Operations Manager のアップグレード後に実行する必要のあるタスクを示してあります。 また、各タスクを実行するタイミングも記載されています。
タスク |
タスクを実行するタイミング |
---|---|
通知配信登録の再有効化 |
どのアップグレード パスでもアップグレードの完了後 |
コネクタ サービスの再開または再有効化 |
コネクタ サービスがインストールされている場合のみ、どのアップグレード パスでもアップグレードの完了後 |
古い RMS のアンインストール |
セカンダリ管理サーバーの管理グループをアップグレードする場合のみ |
上書きの更新 |
管理グループのアップグレード後 |
アップグレードが成功状況の確認 |
どのアップグレード パスでもアップグレードの完了後 |
各管理グループでの SQL クエリの実行 |
各管理グループで SQL クエリを実行して、Localizedtext テーブルと Publishmessage テーブルをクリーンアップする |
UNIX/Linux エージェントのリソース プールへの割り当て |
どのアップグレード パスでもアップグレードの完了後 |
通知配信登録の再有効化
アップグレードが完了したら、次の手順に従って配信登録を再び有効にします。
配信登録を再び有効にするには
-
Operations Manager 管理グループの System Center 2012 – Operations Manager 管理者ロールのメンバーであるアカウントを使用して、オペレーション コンソールを開きます。
-
オペレーション コンソールのナビゲーション ウィンドウで、[管理] ボタンをクリックします。
[!メモ]
管理サーバーではないコンピューターでオペレーション コンソールを実行すると、[サーバーに接続] ダイアログ ボックスが表示されます。[サーバー名] テキスト ボックスに、接続先の System Center 2012 – Operations Manager 管理サーバーの名前を入力します。
-
[管理] ウィンドウの [通知] で、[サブスクリプション] をクリックします。
-
[アクション] ウィンドウに一覧表示された各サブスクリプションで [有効にする] をクリックします。
コネクタ サービスの再開または再有効化
インストールされているサードパーティ製コネクタのドキュメントを参照し、コネクタが System Center 2012 – Operations Manager でサポートされているかどうか確認します。
コネクタ サービスを再開するには
-
タスクバーで、[開始]、[管理ツール]、[サービス] の順にクリックします。
-
[名前] 列で、再起動するコネクタを右クリックし、[開始] をクリックします。
古い RMS のアンインストール
RMS が System Center 2012 – Operations Manager でサポートされる構成要件を満たさないため、System Center 2012 – Operations Manager をセカンダリ管理サーバーからアップグレードした場合は、アップグレード中に管理グループから RMS が削除されます。 その後、古いルート管理サーバー (RMS) をアンインストールします。
[!メモ]
セカンダリ管理サーバーからアップグレードした場合は、新しい管理サーバーを指定するように構成設定を変更する代わりに、古い RMS と同じ Windows コンピューター名で新しい管理サーバーを作成できます。
古い RMS をアンインストールするには
-
ローカル管理者のアクセス許可のあるアカウントを使用して、RMS をホストしているコンピューターにログオンします。
-
タスクバーで、[スタート]、[コントロール パネル] の順にクリックし、[プログラムと機能] を実行します。
-
Operations Manager 2007 R2 を右クリックし、[アンインストール] をクリックします。
-
[プログラムと機能] ダイアログ ボックスで、[はい] をクリックし、アンインストールを確定します。
上書きの更新
Active Directory 統合ルールの上書きを作成した場合は、管理グループのアップグレードの完了後に再び作成する必要があります。 古い上書きを削除してから、Active Directory 割り当てリソース プールをターゲットとして、対応する上書きを新規に作成します。
アップグレードが成功状況の確認
アップグレードが成功したことを確認するには、次のタスクを実行します。
ヘルス サービス監視の状態ビューで、管理サーバーとエージェントのヘルス状態を確認します。 オペレーション コンソールの [管理] ワークスペースで、管理サーバーとエージェントが健全であることを確認します。[監視] ワークスペースで、管理グループのヘルスに関連するアラートがあるか確認します。
すべての管理サーバーのイベント ログで新しいエラーを確認します。
最終変更日時列を基準にアラートを並べ替えて、新しいアラートを確認します。
データベース サーバーの CPU 使用率と I/O をチェックして、正常に動作しているかどうか確認します。
レポート機能がインストールされている場合は、[レポート] をクリックし、一般パフォーマンス レポートを実行してレポート機能が正しく動作していることを確認します。
アップグレード プロセス中にアンインストールしたすべてのエージェントを再展開します。
各管理グループでの SQL クエリの実行
各管理グループのオペレーション データベースで次の SQL クエリを実行して、Localizedtext テーブルと Publishmessage テーブルをクリーンアップします。
-- Create a temporary table to quickly find a PublisherId when you know the MessageId.
BEGIN TRY
CREATE TABLE #PublisherMessageReverseIndex(MessageStringId UNIQUEIDENTIFIER,
MessageId INT)
CREATE CLUSTERED INDEX #PublisherMessageReverseIndex_CI ON #PublisherMessageReverseIndex(MessageStringId)
INSERT INTO #PublisherMessageReverseIndex (MessageStringId, MessageId)
SELECT MessageStringId, MessageId
FROM dbo.PublisherMessages
-- Create a temporary table of message lengths, message IDs, and message hashes with the
-- MessageStringId to quickly determine whether a message is duplicated. Index the table.
CREATE TABLE #LTHashStrings (MessageStringId UNIQUEIDENTIFIER,
LTValueLen INT,
LTValueHash VARBINARY(32),
MessageId INT NULL)
CREATE CLUSTERED INDEX #LTHashStrings_CI ON #LTHashStrings(MessageStringId)
CREATE NONCLUSTERED INDEX #LTHashStrings_NCI1 ON #LTHashStrings(LTValueLen, MessageId, LTValueHash)
-- Create a temporary table for the orphaned PublisherStrings that you find. Orphaned PublisherStrings
-- are rows in PublisherMessages whose corresponding events have already been groomed. They still
-- have corresponding rows in LocalizedText. Do not add rows for PublisherMessages; they are not
-- for duplicated messages.
CREATE TABLE #OrphanedPublisherStrings (PublisherId UNIQUEIDENTIFIER,
MessageStringId UNIQUEIDENTIFIER)
CREATE CLUSTERED INDEX #OrphanedPublisherStrings_CI ON #OrphanedPublisherStrings(MessageStringId)
-- Create a temporary table so that you can determine whether a PublisherMessages row still
-- has a corresponding event. These events do not have an index on the PublisherId, so do
-- not query the EventAllView. If a PublisherId occurs multiple times in the event tables,
-- it is only needed one time in the temp table; therefore, the unique clustered index
-- must contain IGNORE_DUP_KEY. This keeps the temporary table relatively small and saves
-- time when you want to see the orphaned PublisherMessages.
CREATE TABLE #EventAllPublishers (PublisherId UNIQUEIDENTIFIER)
CREATE UNIQUE CLUSTERED INDEX #EventAllPublishers_CI ON #EventAllPublishers (PublisherId)
WITH (IGNORE_DUP_KEY = ON)
-- Populate the temporary table by scanning EventAllView one time.
INSERT INTO #EventAllPublishers(PublisherId)
SELECT PublisherId
FROM EventAllView
-- Populate the first temporary table to determine which messages are duplicated.
INSERT INTO #LTHashStrings (MessageStringId, LTValueLen, LTValueHash, MessageId)
SELECT LTStringId, len(LTValue), HashBytes('SHA1', LTValue), MessageId
FROM dbo.LocalizedText LT
JOIN #PublisherMessageReverseIndex PM ON PM.MessageStringId = LTStringId
-- Create the second table to determine which messages are duplicated.
CREATE TABLE #LTCountByMessage( LTValueLen INT,
MessageId INT,
LTValueHash VARBINARY(32),
MsgCount INT)
CREATE CLUSTERED INDEX #LTCountByMessage_CI ON #LTCountByMessage(LTValueLen, MessageId, LTValueHash)
-- Populate second message for duplicate message detection by scanning the INDEX of
-- the first one and by doing a grouped count.
INSERT INTO #LTCountByMessage (LTValueLen, MessageId, LTValueHash, MsgCount)
SELECT LTValueLen, MessageId, LTValueHash, COUNT(1)
FROM #LTHashStrings
GROUP BY LTValueLen, MessageId, LTValueHash
-- You are now set up to detect both orphaned PublisherStrings and duplicated messages
-- by joining to our relatively small (and correctly indexed) temporary tables.
-- Determine the OrphanedPublisherStrings that have duplicate messages.
INSERT INTO #OrphanedPublisherStrings (PublisherId, MessageStringId)
SELECT PM.PublisherId, PM.MessageStringId
FROM dbo.PublisherMessages PM
JOIN #LTHashStrings LTS ON (LTS.MessageStringId = PM.MessageStringId AND LTS.MessageId = PM.MessageId)
JOIN #LTCountByMessage LTC ON (LTC.LTValueLen = LTS.LTValueLen AND
LTC.MessageId = LTS.MessageId AND LTC.LTValueHash = LTS.LTValueHash)
WHERE PM.PublisherId NOT IN (SELECT PublisherId FROM #EventAllPublishers) AND
LTC.MsgCount > 1
-- Deleting all the OrphanedPublisherStrings and all the corresponding LocalizedText rows
-- at one time may be too large for the transaction log to handle. Create a numbered
-- or ordered table so that you can delete them in relatively small batches and not
-- overtax the transaction log.
CREATE TABLE #NumberOrphanPublisherStrings(OrphanNum INT IDENTITY,
PublisherId UNIQUEIDENTIFIER,
MessageStringId UNIQUEIDENTIFIER)
CREATE CLUSTERED INDEX #NumberOrphanPublisherStrings_CI on #NumberOrphanPublisherStrings(OrphanNum)
-- Populate the numbered table.
INSERT INTO #NumberOrphanPublisherStrings (PublisherId, MessageStringId)
SELECT PublisherId, MessageStringId FROM #OrphanedPublisherStrings
END TRY
BEGIN CATCH
GOTO Error
END CATCH
-- Set up variables so that you can delete the orphaned rows.
-- If the transaction log fills up, try to reduce the @OrphanIncrement value,
-- which controls the number of rows that are delete at the same time.
DECLARE @OrphanNum INT
DECLARE @OrphanIncrement INT
DECLARE @OrphanLimit INT
SET @OrphanNum = 0
SET @OrphanIncrement = 10000
SELECT @OrphanLimit = MAX(OrphanNum) FROM #NumberOrphanPublisherStrings
BEGIN TRY
WHILE @OrphanNum < @OrphanLimit
BEGIN
DELETE dbo.LocalizedText FROM
#NumberOrphanPublisherStrings OPS JOIN dbo.LocalizedText LT
ON LT.LTStringId = OPS.MessageStringId
WHERE OPS.OrphanNum >= @OrphanNum AND OPS.OrphanNum < @OrphanNum + @OrphanIncrement
DELETE dbo.PublisherMessages FROM
#NumberOrphanPublisherStrings OPS JOIN dbo.PublisherMessages PM
ON PM.PublisherId = OPS.PublisherId
WHERE OPS.OrphanNum >= @OrphanNum AND OPS.OrphanNum < @OrphanNum + @OrphanIncrement
SET @OrphanNum = @OrphanNum + @OrphanIncrement
END
END TRY
BEGIN CATCH
GOTO Error
END CATCH
Error:
IF @@ERROR <> 0
SELECT
ERROR_NUMBER() AS ErrorNumber,
ERROR_MESSAGE() AS ErrorMessage;
-- Try to drop all the temporary tables
BEGIN TRY
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#PublisherMessage%')
DROP TABLE #PublisherMessageReverseIndex
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#OrphanedPublisherStrings%')
DROP TABLE #OrphanedPublisherStrings
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#LTHashStrings%')
DROP TABLE #LTHashStrings
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#EventAllPublishers%')
DROP TABLE #EventAllPublishers
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#LTCountByMessage%')
DROP TABLE #LTCountByMessage
IF EXISTS (SELECT 1 FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#NumberOrphanPublisherStrings%')
DROP TABLE #NumberOrphanPublisherStrings
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber,
ERROR_MESSAGE() AS ErrorMessage;
END CATCH
UNIX/Linux エージェントのリソース プールへの割り当て
アップグレードの完了後、高可用性の監視とエージェント管理を有効にするには、UNIX/Linux エージェントをリソース プールに割り当てる必要があります。 リソース プールの作成の詳細については、「How to Create a Resource Pool (リソース プールを作成する方法)」を参照してください。
-
om12short 管理グループの Operations Manager 管理者ロールのメンバーであるアカウントを使用して、オペレーション コンソールを開きます。
-
オペレーション コンソールのナビゲーション ウィンドウで、[管理] ボタンをクリックします。
-
[管理] ウィンドウの [デバイスの管理] で、[UNIX/Linux コンピューター] をクリックします。
-
UNIX/Linux コンピューターを選択してリソース プールを割り当て、[アクション] ウィンドウで [リソース プールの変更] をクリックします。
-
[リソース プールの変更] ウィザードを実行し、選択したリソース プールにコンピューターを割り当てます。