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 エージェントのリソース プールへの割り当て

どのアップグレード パスでもアップグレードの完了後

通知配信登録の再有効化

アップグレードが完了したら、次の手順に従って配信登録を再び有効にします。

配信登録を再び有効にするには

  1. Operations Manager 管理グループの System Center 2012 – Operations Manager 管理者ロールのメンバーであるアカウントを使用して、オペレーション コンソールを開きます。

  2. オペレーション コンソールのナビゲーション ウィンドウで、[管理] ボタンをクリックします。

    [!メモ]

    管理サーバーではないコンピューターでオペレーション コンソールを実行すると、[サーバーに接続] ダイアログ ボックスが表示されます。[サーバー名] テキスト ボックスに、接続先の System Center 2012 – Operations Manager 管理サーバーの名前を入力します。

  3. [管理] ウィンドウの [通知] で、[サブスクリプション] をクリックします。

  4. [アクション] ウィンドウに一覧表示された各サブスクリプションで [有効にする] をクリックします。

コネクタ サービスの再開または再有効化

インストールされているサードパーティ製コネクタのドキュメントを参照し、コネクタが System Center 2012 – Operations Manager でサポートされているかどうか確認します。

コネクタ サービスを再開するには

  1. タスクバーで、[開始][管理ツール][サービス] の順にクリックします。

  2. [名前] 列で、再起動するコネクタを右クリックし、[開始] をクリックします。

古い RMS のアンインストール

RMS が System Center 2012 – Operations Manager でサポートされる構成要件を満たさないため、System Center 2012 – Operations Manager をセカンダリ管理サーバーからアップグレードした場合は、アップグレード中に管理グループから RMS が削除されます。 その後、古いルート管理サーバー (RMS) をアンインストールします。

[!メモ]

セカンダリ管理サーバーからアップグレードした場合は、新しい管理サーバーを指定するように構成設定を変更する代わりに、古い RMS と同じ Windows コンピューター名で新しい管理サーバーを作成できます。

古い RMS をアンインストールするには

  1. ローカル管理者のアクセス許可のあるアカウントを使用して、RMS をホストしているコンピューターにログオンします。

  2. タスクバーで、[スタート][コントロール パネル] の順にクリックし、[プログラムと機能] を実行します。

  3. Operations Manager 2007 R2 を右クリックし、[アンインストール] をクリックします。

  4. [プログラムと機能] ダイアログ ボックスで、[はい] をクリックし、アンインストールを確定します。

上書きの更新

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 (リソース プールを作成する方法)」を参照してください。

  1. om12short 管理グループの Operations Manager 管理者ロールのメンバーであるアカウントを使用して、オペレーション コンソールを開きます。

  2. オペレーション コンソールのナビゲーション ウィンドウで、[管理] ボタンをクリックします。

  3. [管理] ウィンドウの [デバイスの管理] で、[UNIX/Linux コンピューター] をクリックします。

  4. UNIX/Linux コンピューターを選択してリソース プールを割り当て、[アクション] ウィンドウで [リソース プールの変更] をクリックします。

  5. [リソース プールの変更] ウィザードを実行し、選択したリソース プールにコンピューターを割り当てます。